This repository contains the KATs for Module-Lattice-Based Digital Signature Standard generated from the reference implementation: https://github.com/pq-crystals/dilithium/tree/cf998be4ade0014565305d3635a7b8317f2d4bd0.
Hardware implementation of Dilithium 3.1 is available in the link https://github.com/GMUCERG/Dilithium. For design verificaiton, it consists of testbanches which takes various files as input. The files are generated by splitting KAT output from reference implementation.
This design is updated as per ML-DSA standard (This repository only contains updated KATs to verify the updated design).
Same for all category:
- Seed: z_2.txt, z_3.txt, z_5.txt
- Message length: mlen_2.txt, mlen_3.txt, mlen_5.txt
- Message : m_2.txt, m_3.txt, m_5.txt
Key Genertion:
- s1: s1_2.txt, s1_3.txt, s1_5.txt
- s2: s2_2.txt, s2_3.txt, s2_5.txt
- t0: t0_2.txt, t0_3.txt, t0_5.txt
- t1: t1_2.txt, t1_3.txt, t1_5.txt
- K: k_2.txt, k_3.txt, k_5.txt
- rho: rho_2.txt, rho_3.txt, rho_5.txt
- tr: tr_2.txt, tr_3.txt, tr_5.txt
Signature Generation
- signature z: zs_2.txt, zs_3.txt, zs_5.txt
- hint: h_2.txt, h_3.txt, h_5.txt
- challenge: c_2.txt, c_3.txt, c_5.txt
Improved ML-DSA Hardware Implementation With First Order Masking Countermeasure https://eprint.iacr.org/2024/1817