SHA224/SHA256¶
Macros¶
-
CF_SHA224_HASHSZ
¶ The output size of SHA224: 28 bytes.
-
CF_SHA224_BLOCKSZ
¶ The block size of SHA224: 64 bytes.
-
CF_SHA256_HASHSZ
¶ The output size of SHA256: 32 bytes.
-
CF_SHA256_BLOCKSZ
¶ The block size of SHA256: 64 bytes.
Types¶
Functions¶
-
void
cf_sha256_init
(cf_sha256_context *ctx)¶ Sets up ctx ready to hash a new message.
-
void
cf_sha256_update
(cf_sha256_context *ctx, const void *data, size_t nbytes)¶ Hashes nbytes at data. Copies the data if there isn’t enough to make a full block.
-
void
cf_sha256_digest
(const cf_sha256_context *ctx, uint8_t hash[CF_SHA256_HASHSZ])¶ Finishes the hash operation, writing CF_SHA256_HASHSZ bytes to hash.
This leaves ctx unchanged.
-
void
cf_sha256_digest_final
(cf_sha256_context *ctx, uint8_t hash[CF_SHA256_HASHSZ])¶ Finishes the hash operation, writing CF_SHA256_HASHSZ bytes to hash.
This destroys ctx, but uses less stack than
cf_sha256_digest()
.
-
void
cf_sha224_init
(cf_sha256_context *ctx)¶ Sets up ctx ready to hash a new message.
nb. SHA224 uses SHA256’s underlying types.
-
void
cf_sha224_update
(cf_sha256_context *ctx, const void *data, size_t nbytes)¶ Hashes nbytes at data. Copies the data if there isn’t enough to make a full block.
-
void
cf_sha224_digest
(const cf_sha256_context *ctx, uint8_t hash[CF_SHA224_HASHSZ])¶ Finishes the hash operation, writing CF_SHA224_HASHSZ bytes to hash.
This leaves ctx unchanged.
-
void
cf_sha224_digest_final
(cf_sha256_context *ctx, uint8_t hash[CF_SHA224_HASHSZ])¶ Finishes the hash operation, writing CF_SHA224_HASHSZ bytes to hash.
This destroys ctx, but uses less stack than
cf_sha224_digest()
.
SHA384/SHA512¶
Macros¶
-
CF_SHA384_HASHSZ
¶ The output size of SHA384: 48 bytes.
-
CF_SHA384_BLOCKSZ
¶ The block size of SHA384: 128 bytes.
-
CF_SHA512_HASHSZ
¶ The output size of SHA512: 64 bytes.
-
CF_SHA512_BLOCKSZ
¶ The block size of SHA512: 128 bytes.
Types¶
Functions¶
-
void
cf_sha512_init
(cf_sha512_context *ctx)¶ Sets up ctx ready to hash a new message.
-
void
cf_sha512_update
(cf_sha512_context *ctx, const void *data, size_t nbytes)¶ Hashes nbytes at data. Copies the data if there isn’t enough to make a full block.
-
void
cf_sha512_digest
(const cf_sha512_context *ctx, uint8_t hash[CF_SHA512_HASHSZ])¶ Finishes the hash operation, writing CF_SHA512_HASHSZ bytes to hash.
This leaves ctx unchanged.
-
void
cf_sha512_digest_final
(cf_sha512_context *ctx, uint8_t hash[CF_SHA512_HASHSZ])¶ Finishes the hash operation, writing CF_SHA512_HASHSZ bytes to hash.
This destroys ctx, but uses less stack than
cf_sha512_digest()
.
-
void
cf_sha384_init
(cf_sha512_context *ctx)¶ Sets up ctx ready to hash a new message.
nb. SHA384 uses SHA512’s underlying types.
-
void
cf_sha384_update
(cf_sha512_context *ctx, const void *data, size_t nbytes)¶ Hashes nbytes at data. Copies the data if there isn’t enough to make a full block.
-
void
cf_sha384_digest
(const cf_sha512_context *ctx, uint8_t hash[CF_SHA384_HASHSZ])¶ Finishes the hash operation, writing CF_SHA384_HASHSZ bytes to hash.
This leaves ctx unchanged.
-
void
cf_sha384_digest_final
(cf_sha512_context *ctx, uint8_t hash[CF_SHA384_HASHSZ])¶ Finishes the hash operation, writing CF_SHA384_HASHSZ bytes to hash.
This destroys ctx, but uses less stack than
cf_sha384_digest()
.