summaryrefslogtreecommitdiffstats
path: root/lib/chacha20.c
Commit message (Collapse)AuthorAgeFilesLines
* crypto: chacha20 - use rol32() macro from bitops.hEric Biggers2018-01-121-37/+32
| | | | | | | | For chacha20_block(), use the existing 32-bit left-rotate function instead of defining one ourselves. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* crypto: chacha20 - Fix keystream alignment for chacha20_block()Eric Biggers2017-11-291-1/+1
| | | | | | | | | | | | | | | When chacha20_block() outputs the keystream block, it uses 'u32' stores directly. However, the callers (crypto/chacha20_generic.c and drivers/char/random.c) declare the keystream buffer as a 'u8' array, which is not guaranteed to have the needed alignment. Fix it by having both callers declare the keystream as a 'u32' array. For now this is preferable to switching over to the unaligned access macros because chacha20_block() is only being used in cases where we can easily control the alignment (stack buffers). Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* random: replace non-blocking pool with a Chacha20-based CRNGTheodore Ts'o2016-07-031-0/+79
The CRNG is faster, and we don't pretend to track entropy usage in the CRNG any more. Signed-off-by: Theodore Ts'o <tytso@mit.edu>