I am working on a project with a nRF52833 using SDK V 17.1.0 which needs
ECDH (ECC based Diffie Hellman)
ECC (ECC crypto)
HKDF (HMAC based Key Diversification)
After Compiling for the oberon backend, then I get linker errors for
ocrypto_ecdh_p256_public_key,
crypto_curve25519_scalarmult_base,
crypto_ed25519_public_key,
ocrypto_ecdh_p256_common_secret,
ocrypto_curve25519_scalarmult,
crypto_hmac_sha256_final,
crypto_hmac_sha256_update,
ocrypto_hmac_sha256_init
implying that the linker cannot fin these functions
when I search all files in the SDK for crypto_hmac_sha256_final, I find this call in "oberon_backend_hmac.c" .. but no definition of the API am i missing a library.o in my project ???
ocrypto_hmac_sha256_final(&p_ctx->oberon_ctx, p_digest);
====================
Now I change the backend to micro_ECC
After Compiling for the mico ECC backend, then I get linker errors for
g_nrf_crypto_hmac_sha256_info this is referenced by my code that calls nrf_crypto_hkdf_calculate()
this const is present in cc310, mbedtls and oberon, but not in micro_ecc backend... hence code won't link
====================
Now I change the backend to mbedtls
After Compiling for the mbedtls backend, then I get linker errors for
when I search all files in the SDK for mbedtls_ecp_gen_keypair, I find this call in "mbedtls_backend_ecc.c" .. but no definition of the API am i missing a library.o in my project ???
mbedtls_ecp_group_init
mbedtls_ecp_group_load
mbedtls_ecp_point_init
mbedtls_mpi_init
mbedtls_ecp_gen_keypair
mbedtls_mpi_read_binary
mbedtls_ecdh_compute_shared
nrf_malloc
nrf_free
mbedtls_mpi_free
mbedtls_ecp_group_free
===============
Any help appreciated
Ray