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


Dependency
None


Development
COMPLETED

URL: NA

Development Timeline

Q4 2023


Upstreaming

COMPLETED

Upstream Version
Linux-6.8


ContactsClement Leger (Rivos)


Updates

  • Project reported as priority for 2H23

2 Comments

  1. 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?

  2. "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