crypto: sha512 - implement base layer for SHA-512
commitb84a2a0b4ec214fc5d4ba1d3d5b26d4f88733dba
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 9 Apr 2015 10:55:35 +0000 (9 12:55 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 10 Apr 2015 13:39:39 +0000 (10 21:39 +0800)
tree8bbffc62667996c42660b7582f923284d1fd4ada
parent11b8d5ef91388162103bf28f2e9d6dfd400d192d
crypto: sha512 - implement base layer for SHA-512

To reduce the number of copies of boilerplate code throughout
the tree, this patch implements generic glue for the SHA-512
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 (sha512_block_fn)(struct sha512_state *sst, u8 const *src, int blocks)

and pass it to the SHA-512 base functions. For easy casting between the
prototype above and existing block functions that take a 'u64 state[]'
as their first argument, the 'state' member of struct sha512_state is
moved to the base of the struct.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
include/crypto/sha.h
include/crypto/sha512_base.h [new file with mode: 0644]