From 11b8d5ef91388162103bf28f2e9d6dfd400d192d Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 9 Apr 2015 12:55:34 +0200 Subject: crypto: sha256 - implement base layer for SHA-256 To reduce the number of copies of boilerplate code throughout the tree, this patch implements generic glue for the SHA-256 algorithm. This allows a specific arch or hardware implementation to only implement the special handling that it needs. The users need to supply an implementation of void (sha256_block_fn)(struct sha256_state *sst, u8 const *src, int blocks) and pass it to the SHA-256 base functions. For easy casting between the prototype above and existing block functions that take a 'u32 state[]' as their first argument, the 'state' member of struct sha256_state is moved to the base of the struct. Signed-off-by: Ard Biesheuvel Signed-off-by: Herbert Xu --- include/crypto/sha.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/crypto/sha.h') diff --git a/include/crypto/sha.h b/include/crypto/sha.h index a9aad8e63f43..a75bc80cc776 100644 --- a/include/crypto/sha.h +++ b/include/crypto/sha.h @@ -71,8 +71,8 @@ struct sha1_state { }; struct sha256_state { - u64 count; u32 state[SHA256_DIGEST_SIZE / 4]; + u64 count; u8 buf[SHA256_BLOCK_SIZE]; }; -- cgit v1.2.3-59-g8ed1b