5 #ifndef OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_ECC_P384_COMMON_H_
6 #define OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_ECC_P384_COMMON_H_
11 #include "sw/device/lib/crypto/drivers/otbn.h"
12 #include "sw/device/lib/crypto/impl/status.h"
26 kP384CoordBytes = kP384CoordBits / 8,
30 kP384CoordWords = kP384CoordBytes /
sizeof(uint32_t),
34 kP384ScalarBits = 384,
38 kP384ScalarBytes = kP384ScalarBits / 8,
42 kP384ScalarWords = kP384ScalarBytes /
sizeof(uint32_t),
48 kP384MaskedScalarShareBits = kP384ScalarBits + 64,
52 kP384MaskedScalarShareBytes = kP384MaskedScalarShareBits / 8,
56 kP384MaskedScalarShareWords = kP384MaskedScalarShareBytes /
sizeof(uint32_t),
71 uint32_t
share0[kP384MaskedScalarShareWords];
75 uint32_t
share1[kP384MaskedScalarShareWords];
85 uint32_t
x[kP384CoordWords];
89 uint32_t
y[kP384CoordWords];
98 uint32_t r[kP384ScalarWords];
99 uint32_t s[kP384ScalarWords];
116 const otbn_addr_t share0_addr,
117 const otbn_addr_t share1_addr);
129 status_t set_message_digest(
const uint32_t digest[kP384ScalarWords],
130 const otbn_addr_t kOtbnVarEcdsaMsg);
134 #endif // __cplusplus
136 #endif // OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_ECC_P384_COMMON_H_