kyb/gen_keys.py
2026-08-08 17:27:56 +00:00

17 lines
603 B
Python

import oqs
# ── Generate ML-KEM-1024 keypair ──
# ML-KEM-1024 gives ~256-bit post-quantum security
kem = oqs.KeyEncapsulation("ML-KEM-1024")
public_key = kem.generate_keypair() # bytes
secret_key = kem.export_secret_key() # bytes
kem.free()
# ── Save to disk (PEM-like, but just raw bytes is fine) ──
with open("mlkem1024.pub", "wb") as f:
f.write(public_key)
with open("mlkem1024.sec", "wb") as f:
f.write(secret_key)
print(f"Public key size: {len(public_key)} bytes") # 1568 for ML-KEM-1024
print(f"Secret key size: {len(secret_key)} bytes") # 3168 for ML-KEM-1024