Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

crypto backend

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

Parents Reply Children
No Data
Related