18 lines
591 B
Python
18 lines
591 B
Python
import oqs
|
|
|
|
# ── Generate Kyber-1024 keypair ──
|
|
# ML-KEM-1024 gives ~256-bit post-quantum security
|
|
kem = oqs.KeyEncapsulation("Kyber1024")
|
|
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("kyber.pub", "wb") as f:
|
|
f.write(public_key)
|
|
with open("kyber.sec", "wb") as f:
|
|
f.write(secret_key)
|
|
|
|
print(f"Public key size: {len(public_key)} bytes") # 1568 for Kyber-1024
|
|
print(f"Secret key size: {len(secret_key)} bytes") # 3168 for Kyber-1024
|
|
|