Technical specification for HSKG's implementation of Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) and Module-Lattice-Based Digital Signature Algorithm (ML-DSA).
FORMERLY KYBER
Ind-CCA2 secure key encapsulation mechanism based on the hardness of the Module Learning With Errors (ML-LWE) problem.
| Parameter Set | NIST Level | Public Key (Bytes) | Ciphertext (Bytes) |
|---|---|---|---|
| ML-KEM-512 | 1 (AES-128) | 800 | 768 |
| ML-KEM-768 | 3 (AES-192) | 1,184 | 1,088 |
| ML-KEM-1024 * | 5 (AES-256) | 1,568 | 1,568 |
* HSKG Default Implementation
FORMERLY DILITHIUM
EuF-CMA secure digital signature scheme based on the hardness of the Module Short Integer Solution (ML-SIS) and ML-LWE problems.
| Parameter Set | NIST Level | Public Key (Bytes) | Signature (Bytes) |
|---|---|---|---|
| ML-DSA-44 | 2 (SHA-256) | 1,312 | 2,420 |
| ML-DSA-65 * | 3 (AES-192) | 1,952 | 3,293 |
| ML-DSA-87 | 5 (AES-256) | 2,592 | 4,595 |
* HSKG Default Implementation
Polynomial multiplication in R_q is accelerated from O(n²) to O(n log n) using NTT.
Discards low-order bits to reduce ciphertext size and add noise for LWE security.
| Algorithm | KeyGen (Cycles) | Encaps/Sign (Cycles) | Decaps/Verify (Cycles) | Status |
|---|---|---|---|---|
| ML-KEM-512 | 34,520 | 42,110 | 38,940 | VERIFIED |
| ML-KEM-768 | 58,230 | 69,440 | 61,200 | VERIFIED |
| ML-KEM-1024 | 89,100 | 98,550 | 92,330 | PRODUCTION |
| ML-DSA-65 | 120,440 | 350,220 | 140,110 | PRODUCTION |
* Benchmarks run on Intel Core i9-13900K @ 3.0GHz (Single Core), AVX2 instructions enabled.