• Ard Biesheuvel's avatar
    crypto: chacha - move existing library code into lib/crypto · 5fb8ef25
    Ard Biesheuvel authored
    Currently, our generic ChaCha implementation consists of a permute
    function in lib/chacha.c that operates on the 64-byte ChaCha state
    directly [and which is always included into the core kernel since it
    is used by the /dev/random driver], and the crypto API plumbing to
    expose it as a skcipher.
    
    In order to support in-kernel users that need the ChaCha streamcipher
    but have no need [or tolerance] for going through the abstractions of
    the crypto API, let's expose the streamcipher bits via a library API
    as well, in a way that permits the implementation to be superseded by
    an architecture specific one if provided.
    
    So move the streamcipher code into a separate module in lib/crypto,
    and expose the init() and crypt() routines to users of the library.
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    5fb8ef25
chacha.c 3.74 KB