7 #include "sw/device/lib/crypto/drivers/otbn.h"
10 #include "sw/device/lib/testing/entropy_testutils.h"
12 #include "sw/device/lib/testing/test_framework/ottf_test_config.h"
15 #include "sw/device/sca/otbn_vertical/ecc256_keygen_serial.h"
16 #include "sw/device/sca/otbn_vertical/ecc256_modinv_serial.h"
17 #include "sw/device/tests/penetrationtests/firmware/lib/pentest_lib.h"
20 #include "otbn_regs.h"
38 OTTF_DEFINE_TEST_CONFIG();
48 static void ecc256_app_select(
const uint8_t *app_cmd,
size_t app_cmd_len) {
53 }
else if (*app_cmd == 1) {
65 static void simple_serial_main(
void) {
68 pentest_init(kPentestTriggerSourceOtbn,
69 kPentestPeripheralEntropy | kPentestPeripheralIoDiv4 |
70 kPentestPeripheralOtbn | kPentestPeripheralCsrng |
71 kPentestPeripheralEdn | kPentestPeripheralHmac);
74 LOG_INFO(
"Initializing simple serial interface to capture board.");
78 'b', ecc256_ecdsa_keygen_fvsr_seed_batch) == kSimpleSerialOk);
80 'e', ecc256_ecdsa_keygen_fvsr_key_batch) == kSimpleSerialOk);
97 LOG_INFO(
"Load p256 keygen from seed app into OTBN");
100 LOG_INFO(
"Starting simple serial packet handling.");
107 simple_serial_main();