1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-20 03:53:49 +01:00

Merge pull request #20461 from Einhornhool/pr/run-ecdsa-functions-with-secure-elements

examples/psa_crypto: Fix modules to run ECDSA on SEs
This commit is contained in:
Teufelchen 2024-03-12 16:34:21 +00:00 committed by GitHub
commit 21875ef18a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -27,7 +27,8 @@ extern psa_status_t example_cipher_aes_128(void);
#if IS_USED(MODULE_PSA_MAC) #if IS_USED(MODULE_PSA_MAC)
extern psa_status_t example_hmac_sha256(void); extern psa_status_t example_hmac_sha256(void);
#endif #endif
#if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_P256R1) #if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_P256R1) || \
IS_USED(MODULE_PSA_SECURE_ELEMENT_ATECCX08A_ECC_P256)
extern psa_status_t example_ecdsa_p256(void); extern psa_status_t example_ecdsa_p256(void);
#endif #endif
#if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_ED25519) #if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_ED25519)
@ -43,7 +44,7 @@ extern psa_status_t example_cipher_aes_128_sec_se(void);
#if IS_USED(MODULE_PSA_MAC) #if IS_USED(MODULE_PSA_MAC)
extern psa_status_t example_hmac_sha256_sec_se(void); extern psa_status_t example_hmac_sha256_sec_se(void);
#endif /* MODULE_PSA_MAC */ #endif /* MODULE_PSA_MAC */
#if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_P256R1) #if IS_USED(MODULE_PSA_SECURE_ELEMENT_ATECCX08A_ECC_P256)
extern psa_status_t example_ecdsa_p256_sec_se(void); extern psa_status_t example_ecdsa_p256_sec_se(void);
#endif /* MODULE_PSA_ASYMMETRIC_ECC_P256R1 */ #endif /* MODULE_PSA_ASYMMETRIC_ECC_P256R1 */
#endif /* MULTIPLE_SE */ #endif /* MULTIPLE_SE */
@ -81,7 +82,8 @@ int main(void)
} }
#endif #endif
#if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_P256R1) #if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_P256R1) || \
IS_USED(MODULE_PSA_SECURE_ELEMENT_ATECCX08A_ECC_P256)
start = ztimer_now(ZTIMER_USEC); start = ztimer_now(ZTIMER_USEC);
status = example_ecdsa_p256(); status = example_ecdsa_p256();
printf("ECDSA took %d us\n", (int)(ztimer_now(ZTIMER_USEC) - start)); printf("ECDSA took %d us\n", (int)(ztimer_now(ZTIMER_USEC) - start));
@ -122,7 +124,7 @@ int main(void)
} }
#endif /* MODULE_PSA_CIPHER */ #endif /* MODULE_PSA_CIPHER */
#if IS_USED(MODULE_PSA_ASYMMETRIC_ECC_P256R1) #if IS_USED(MODULE_PSA_SECURE_ELEMENT_ATECCX08A_ECC_P256)
start = ztimer_now(ZTIMER_USEC); start = ztimer_now(ZTIMER_USEC);
status = example_ecdsa_p256_sec_se(); status = example_ecdsa_p256_sec_se();
printf("ECDSA took %d us\n", (int)(ztimer_now(ZTIMER_USEC) - start)); printf("ECDSA took %d us\n", (int)(ztimer_now(ZTIMER_USEC) - start));
@ -130,7 +132,7 @@ int main(void)
failed = true; failed = true;
printf("ECDSA failed: %s\n", psa_status_to_humanly_readable(status)); printf("ECDSA failed: %s\n", psa_status_to_humanly_readable(status));
} }
#endif /* MODULE_PSA_ASYMMETRIC_ECC_P256R1 */ #endif /* MODULE_PSA_SECURE_ELEMENT_ATECCX08A_ECC_P256 */
#endif /* MULTIPLE_SE */ #endif /* MULTIPLE_SE */
ztimer_release(ZTIMER_USEC); ztimer_release(ZTIMER_USEC);