SHA-256 digest (FIPS 180-4).
More...
SHA-256 digest (FIPS 180-4).
Runs of at least CONFIG_CRYPTO_SHA256_HW_MIN_LEN bytes of whole blocks are hashed by a hardware accelerator when a driver provides one (see Crypto), the rest in software.
Digest state.
Definition sha256.h:43
#define PBL_SHA256_DIGEST_SIZE
Size of a digest, in bytes.
Definition sha256.h:37
void pbl_sha256_update(struct pbl_sha256_ctx *ctx, const void *data, size_t len)
Hash data.
void pbl_sha256_final(struct pbl_sha256_ctx *ctx, uint8_t digest[PBL_SHA256_DIGEST_SIZE])
Finish a digest.
void pbl_sha256_init(struct pbl_sha256_ctx *ctx)
Start a digest.
◆ pbl_sha256_ctx
| Data Fields |
|
uint8_t |
buf[PBL_SHA256_BLOCK_SIZE] |
Pending partial block. |
|
uint64_t |
count |
Number of bytes hashed. |
|
uint32_t |
state[8] |
Chaining value. |
◆ PBL_SHA256_BLOCK_SIZE
| #define PBL_SHA256_BLOCK_SIZE 64U |
Size of a block, in bytes.
◆ PBL_SHA256_DIGEST_SIZE
| #define PBL_SHA256_DIGEST_SIZE 32U |
Size of a digest, in bytes.
◆ pbl_sha256()
| void pbl_sha256 |
( |
const void * |
data, |
|
|
size_t |
len, |
|
|
uint8_t |
digest[PBL_SHA256_DIGEST_SIZE] |
|
) |
| |
Digest of a single buffer.
- Parameters
-
| data | Data to hash. |
| len | Length of data in bytes. |
| [out] | digest | Digest. |
◆ pbl_sha256_blocks_generic()
| void pbl_sha256_blocks_generic |
( |
uint32_t |
state[8], |
|
|
const void * |
data, |
|
|
size_t |
nblocks |
|
) |
| |
Compress whole blocks in software.
Bypasses any accelerator, to check drivers against.
- Parameters
-
| [in,out] | state | Chaining value, H0 to H7. |
| data | Blocks to hash. |
| nblocks | Number of blocks in data. |
◆ pbl_sha256_final()
| void pbl_sha256_final |
( |
struct pbl_sha256_ctx * |
ctx, |
|
|
uint8_t |
digest[PBL_SHA256_DIGEST_SIZE] |
|
) |
| |
Finish a digest.
The state is cleared, and must be started again before reuse.
- Parameters
-
◆ pbl_sha256_init()
Start a digest.
- Parameters
-
◆ pbl_sha256_update()
| void pbl_sha256_update |
( |
struct pbl_sha256_ctx * |
ctx, |
|
|
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
Hash data.
- Parameters
-
| ctx | Digest state. |
| data | Data to hash. |
| len | Length of data in bytes. |