• Ard Biesheuvel's avatar
    crypto: chacha20 - fix handling of chunked input · 4de43726
    Ard Biesheuvel authored
    Commit 9ae433bc ("crypto: chacha20 - convert generic and x86 versions
    to skcipher") ported the existing chacha20 code to use the new skcipher
    API, and introduced a bug along the way. Unfortunately, the tcrypt tests
    did not catch the error, and it was only found recently by Tobias.
    
    Stefan kindly diagnosed the error, and proposed a fix which is similar
    to the one below, with the exception that 'walk.stride' is used rather
    than the hardcoded block size. This does not actually matter in this
    case, but it's a better example of how to use the skcipher walk API.
    
    Fixes: 9ae433bc ("crypto: chacha20 - convert generic and x86 ...")
    Cc: <stable@vger.kernel.org> # v4.11+
    Cc: Steffen Klassert <steffen.klassert@secunet.com>
    Reported-by: default avatarTobias Brunner <tobias@strongswan.org>
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    4de43726
chacha20_generic.c 3.64 KB