5 #ifndef OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_SHA2_SHA256_H_
6 #define OPENTITAN_SW_DEVICE_LIB_CRYPTO_IMPL_SHA2_SHA256_H_
10 #include "sw/device/lib/crypto/drivers/otbn.h"
20 kSha256MessageBlockBits = 512,
24 kSha256MessageBlockBytes = kSha256MessageBlockBits / 8,
28 kSha256MessageBlockWords = kSha256MessageBlockBytes /
sizeof(uint32_t),
32 kSha256StateBits = 256,
36 kSha256StateBytes = kSha256StateBits / 8,
40 kSha256StateWords = kSha256StateBytes /
sizeof(uint32_t),
44 kSha256DigestBits = 256,
48 kSha256DigestBytes = kSha256DigestBits / 8,
52 kSha256DigestWords = kSha256DigestBytes /
sizeof(uint32_t),
66 uint32_t
H[kSha256StateWords];
93 status_t sha256(
const uint8_t *msg,
const size_t msg_len, uint32_t *digest);
124 const size_t msg_len);