• Eric Biggers's avatar
    crypto: testmgr - convert aead testing to use testvec_configs · ed96804f
    Eric Biggers authored
    Convert alg_test_aead() to use the new test framework, using the same
    list of testvec_configs that skcipher testing uses.
    
    This significantly improves AEAD test coverage mainly because previously
    there was only very limited test coverage of the possible data layouts.
    Now the data layouts to test are listed in one place for all algorithms
    and optionally are also randomly generated.  In fact, only one AEAD
    algorithm (AES-GCM) even had a chunked test case before.
    
    This already found bugs in all the AEGIS and MORUS implementations, the
    x86 AES-GCM implementation, and the arm64 AES-CCM implementation.
    
    I removed the AEAD chunked test vectors that were the same as
    non-chunked ones, but left the ones that were unique.
    
    Note: the rewritten test code allocates an aead_request just once per
    algorithm rather than once per encryption/decryption, but some AEAD
    algorithms incorrectly change the tfm pointer in the request.  It's
    nontrivial to fix these, so to move forward I'm temporarily working
    around it by resetting the tfm pointer.  But they'll need to be fixed.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    ed96804f
testmgr.h 1.07 MB