About
The vector crypto extensions allow accelerate cryptographic applications using V-extension. This includes following extensions:
Zvk - Vector Crypto (rollup of all of the following extensions)
Zvbb - Vector Bit-manipulation used in Cryptography
Zvbc - Vector Carryless Multiplication
Zvkg - Vector GCM/GMAC
Zvkned - NIST Suite: Vector AES Block Cipher
Zvknha - NIST Suite: Vector SHA-2 Secure Hash: SHA-256
Zvknhb - NIST Suite: Vector SHA-2 Secure Hash: SHA-512 and SHA-256
Zvksed - ShangMi Suite: SM4 Block Cipher
Zvksh - ShangMi Suite: SM3 Secure Hash
Zvkn - NIST Algorithm Suite
Zvknc - NIST Algorithm Suite with carryless multiply
Zvkng - NIST Algorithm Suite with GCM
Zvks - ShangMi Algorithm Suite
Zvksc - ShangMi Algorithm Suite with carryless multiplication
Zvksg - ShangMi Algorithm Suite with GCM
Zvkt - Vector Data-Independent Execution Latency
- Zvkb
- Zvkg
- Zvkned
- Zvknh[ab]
- Zvksed
- Zvksh
- Zvkn
- Zvknc
- Zvkng
- Zvks
- Zvksc
- Zvksg
- Zvkt
This extension is part of the Unprivileged Specification.
These extensions are described in the PDF spec available at: https://github.com/riscv/riscv-crypto/releases
Status
Updates
- Project reported as priority for 2H23
2 Comments
Elliott Hughes
do we mean "support" here in the sense of "enablement", or in the sense of "use"? i thought there was no need for the former (beyond existing V enablement), so i'm assuming this is really about "use" inside the kernel?
Anup Patel
"support" here means two things: 1) Allow user-space to discover vector crypto extensions using hwprobe, and 2) Add RISC-V vector crypto support for Linux crypto framework