• Eric Biggers's avatar
    crypto: arm64/cbcmac - handle empty messages in same way as template · f6e9af87
    Eric Biggers authored
    My patches to make testmgr fuzz algorithms against their generic
    implementation detected that the arm64 implementations of "cbcmac(aes)"
    handle empty messages differently from the cbcmac template.  Namely, the
    arm64 implementations return the encrypted initial value, but the cbcmac
    template returns the initial value directly.
    
    This isn't actually a meaningful case because any user of cbcmac needs
    to prepend the message length, as CCM does; otherwise it's insecure.
    However, we should keep the behavior consistent; at the very least this
    makes testing easier.
    
    Do it the easy way, which is to change the arm64 implementations to have
    the same behavior as the cbcmac template.
    
    For what it's worth, ghash does things essentially the same way: it
    returns its initial value when given an empty message, even though in
    practice ghash is never passed an empty message.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    f6e9af87
aes-glue.c 22.4 KB