• Eric Biggers's avatar
    crypto: x86/aes-xts - add AES-XTS assembly macro for modern CPUs · d6371688
    Eric Biggers authored
    Add an assembly file aes-xts-avx-x86_64.S which contains a macro that
    expands into AES-XTS implementations for x86_64 CPUs that support at
    least AES-NI and AVX, optionally also taking advantage of VAES,
    VPCLMULQDQ, and AVX512 or AVX10.
    
    This patch doesn't expand the macro at all.  Later patches will do so,
    adding each implementation individually so that the motivation and use
    case for each individual implementation can be fully presented.
    
    The file also provides a function aes_xts_encrypt_iv() which handles the
    encryption of the IV (tweak), using AES-NI and AVX.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    d6371688
aes-xts-avx-x86_64.S 23.5 KB