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().