5 #ifndef OPENTITAN_SW_DEVICE_SCA_OTBN_VERTICAL_ECC256_KEYGEN_SERIAL_H_
6 #define OPENTITAN_SW_DEVICE_SCA_OTBN_VERTICAL_ECC256_KEYGEN_SERIAL_H_
8 #include "sw/device/lib/crypto/drivers/otbn.h"
23 extern const otbn_app_t kOtbnAppP256KeyFromSeed;
25 static const otbn_addr_t kOtbnVarMode;
26 static const otbn_addr_t kOtbnVarSeed0;
27 static const otbn_addr_t kOtbnVarSeed1;
28 static const otbn_addr_t kOtbnVarD0;
29 static const otbn_addr_t kOtbnVarD1;
30 static const otbn_addr_t kOtbnVarX;
31 static const otbn_addr_t kOtbnVarY;
41 void ecc256_en_masks(
const uint8_t *enable,
size_t enable_len);
51 void ecc256_set_seed(
const uint8_t *seed,
size_t seed_len);
61 void ecc256_set_c(
const uint8_t *C,
size_t len);
77 void ecc256_ecdsa_keygen_fvsr_key_batch(
const uint8_t *data,
size_t data_len);
92 void ecc256_ecdsa_keygen_fvsr_seed_batch(
const uint8_t *data,
size_t data_len);
106 void ecc256_ecdsa_secret_keygen(
const uint8_t *mask,
size_t mask_len);
120 void ecc256_ecdsa_gen_keypair(
const uint8_t *mask,
size_t mask_len);