This repository contains Python-based implementations of Post-Quantum Cryptographic algorithms: ML-KEM (Kyber) and ML-DSA, aligned with NIST’s standardisation efforts.
With the rise of quantum computing, traditional cryptographic schemes are at risk. This project demonstrates practical implementations of lattice-based cryptographic primitives that are believed to be quantum-resistant.
- ML-KEM (Kyber): A Key Encapsulation Mechanism (KEM).
- ML-DSA: A digital signature scheme.
- SLH-DSA: Stateless hash-based DSA.
PQC/
├── core/ # Core logic for ML-KEM and ML-DSA
├── main.py # Entry point and testing
- Python 3.10+
- NumPy
git clone https://git.1-hub.cnRaghavendraRQ/PQC.git
cd PQC
pip install -r requirements.txt
python main.py
- Key generation
- Encapsulation/decapsulation (ML-KEM)
- Signature generation and verification (ML-DSA)
- Basic testing hooks (via
main.py
)
- Add performance benchmarks
- Expand tests using
pytest
- Support for NTRU or Dilithium
- Integrate with OpenSSL for hybrid testing
- NIST PQC Project
- Kyber Specification: https://pq-crystals.org/kyber/