-
Type:
Sub-task
-
Resolution: Delivered
-
Priority:
P4
-
Affects Version/s: 27
-
Component/s: security-libs
-
Fix Understood
-
x86_64
-
generic
SHA-3 intrinsics have been optimized in this release for x86_64 systems that support AVX-512. The ML-KEM and ML-DSA algorithms extensively use SHA-3. This has resulted in noticeable performance improvements for ML-KEM in key generation, decapsulation, and encapsulation, and ML-DSA key generation, signing, and verification as follows:
- AVX-512
- `ML-KEM` key generation: +48%
- `ML-KEM` decapsulation: +47%
- `ML-KEM` encapsulation: +46%
- `ML-DSA` key generation: +60%
- `ML-DSA` signing: +38%
- `ML-DSA` verification: +74%
The following benchmarks were used to measure performance:
- `micro:org.openjdk.bench.javax.crypto.full.KeyPairGeneratorBench.MLKEM`
- `micro:org.openjdk.bench.javax.crypto.full.KEMBench.MLKEM`
- `micro:org.openjdk.bench.javax.crypto.full.KeyPairGeneratorBench.MLDSA`
- `micro:org.openjdk.bench.javax.crypto.full.SignatureBench.MLDSA`
- AVX-512
- `ML-KEM` key generation: +48%
- `ML-KEM` decapsulation: +47%
- `ML-KEM` encapsulation: +46%
- `ML-DSA` key generation: +60%
- `ML-DSA` signing: +38%
- `ML-DSA` verification: +74%
The following benchmarks were used to measure performance:
- `micro:org.openjdk.bench.javax.crypto.full.KeyPairGeneratorBench.MLKEM`
- `micro:org.openjdk.bench.javax.crypto.full.KEMBench.MLKEM`
- `micro:org.openjdk.bench.javax.crypto.full.KeyPairGeneratorBench.MLDSA`
- `micro:org.openjdk.bench.javax.crypto.full.SignatureBench.MLDSA`