• Ard Biesheuvel's avatar
    crypto: sha256 - implement base layer for SHA-256 · 11b8d5ef
    Ard Biesheuvel authored
    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: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    11b8d5ef
sha256_base.h 3.03 KB