Skip to content
Snippets Groups Projects
  • Ard Biesheuvel's avatar
    9ea17007
    target/riscv: Use existing lookup tables for MixColumns · 9ea17007
    Ard Biesheuvel authored
    
    The AES MixColumns and InvMixColumns operations are relatively
    expensive 4x4 matrix multiplications in GF(2^8), which is why C
    implementations usually rely on precomputed lookup tables rather than
    performing the calculations on demand.
    
    Given that we already carry those tables in QEMU, we can just grab the
    right value in the implementation of the RISC-V AES32 instructions. Note
    that the tables in question are permuted according to the respective
    Sbox, so we can omit the Sbox lookup as well in this case.
    
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
    Cc: Zewen Ye <lustrew@foxmail.com>
    Cc: Weiwei Li <liweiwei@iscas.ac.cn>
    Cc: Junqiang Wang <wangjunqiang@iscas.ac.cn>
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Message-ID: <20230731084043.1791984-1-ardb@kernel.org>
    Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    9ea17007
    History
    target/riscv: Use existing lookup tables for MixColumns
    Ard Biesheuvel authored
    
    The AES MixColumns and InvMixColumns operations are relatively
    expensive 4x4 matrix multiplications in GF(2^8), which is why C
    implementations usually rely on precomputed lookup tables rather than
    performing the calculations on demand.
    
    Given that we already carry those tables in QEMU, we can just grab the
    right value in the implementation of the RISC-V AES32 instructions. Note
    that the tables in question are permuted according to the respective
    Sbox, so we can omit the Sbox lookup as well in this case.
    
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
    Cc: Zewen Ye <lustrew@foxmail.com>
    Cc: Weiwei Li <liweiwei@iscas.ac.cn>
    Cc: Junqiang Wang <wangjunqiang@iscas.ac.cn>
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Message-ID: <20230731084043.1791984-1-ardb@kernel.org>
    Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>