• David Sterba's avatar
    crypto: blake2b - add blake2b generic implementation · 91d68933
    David Sterba authored
    The patch brings support of several BLAKE2 variants (2b with various
    digest lengths).  The keyed digest is supported, using tfm->setkey call.
    The in-tree user will be btrfs (for checksumming), we're going to use
    the BLAKE2b-256 variant.
    
    The code is reference implementation taken from the official sources and
    modified in terms of kernel coding style (whitespace, comments, uintXX_t
    -> uXX types, removed unused prototypes and #ifdefs, removed testing
    code, changed secure_zero_memory -> memzero_explicit, used own helpers
    for unaligned reads/writes and rotations).
    
    Further changes removed sanity checks of key length or output size,
    these values are verified in the crypto API callbacks or hardcoded in
    shash_alg and not exposed to users.
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    91d68933
Kconfig 53.6 KB