24 Mar, 2019

1 commit

  • commit 0f533e67d26f228ea5dfdacc8a4bdeb487af5208 upstream.

    The generic AEGIS implementations all fail the improved AEAD tests
    because they produce the wrong result with some data layouts. The issue
    is that they assume that if the skcipher_walk API gives 'nbytes' not
    aligned to the walksize (a.k.a. walk.stride), then it is the end of the
    data. In fact, this can happen before the end. Fix them.

    Fixes: f606a88e5823 ("crypto: aegis - Add generic AEGIS AEAD implementations")
    Cc: # v4.18+
    Cc: Ondrej Mosnacek
    Signed-off-by: Eric Biggers
    Reviewed-by: Ondrej Mosnacek
    Signed-off-by: Herbert Xu
    Signed-off-by: Greg Kroah-Hartman

    Eric Biggers
     

09 Jul, 2018

1 commit

  • Some aead algorithms set .cra_flags = CRYPTO_ALG_TYPE_AEAD. But this is
    redundant with the C structure type ('struct aead_alg'), and
    crypto_register_aead() already sets the type flag automatically,
    clearing any type flag that was already there. Apparently the useless
    assignment has just been copy+pasted around.

    So, remove the useless assignment from all the aead algorithms.

    This patch shouldn't change any actual behavior.

    Signed-off-by: Eric Biggers
    Signed-off-by: Herbert Xu

    Eric Biggers
     

19 May, 2018

1 commit

  • This patch adds the generic implementation of the AEGIS family of AEAD
    algorithms (AEGIS-128, AEGIS-128L, and AEGIS-256). The original
    authors of AEGIS are Hongjun Wu and Bart Preneel.

    At the time of writing, AEGIS is one of the finalists in CAESAR, an
    open competition intended to select a portfolio of alternatives to
    the problematic AES-GCM:

    https://competitions.cr.yp.to/caesar-submissions.html
    https://competitions.cr.yp.to/round3/aegisv11.pdf

    Signed-off-by: Ondrej Mosnacek
    Signed-off-by: Herbert Xu

    Ondrej Mosnacek