Quantum-Vulnerable Elliptic Curves (ECC)
Severity: HIGH
Elliptic-curve cryptography (ECDSA, ECDH, curves such as P-256, secp256k1, Curve25519) is approved today under FIPS 186-5 and SP 800-56A, but its discrete-log problem falls to Shor's algorithm, so CNSA 2.0 requires migration to ML-KEM and ML-DSA for national security systems. The Go AST scanner flags crypto/ecdsa, crypto/ecdh, and crypto/elliptic imports (PQC-GO-AST-003); IaC rules flag ECDHE cipher-suite configuration (PQC-IAC-003); WebCrypto usage is flagged by PQC-TYPESCRIPT-002; and per-language regex rules (for example PQC-JAVA-003, PQC-PYTHON-006, PQC-CPP-006) flag curve names and EC key generation elsewhere. These findings are reported as planned-migration items, not as broken cryptography.
Remediation checklist
- Plan key-establishment migration to ML-KEM-768 or ML-KEM-1024 (FIPS 203).
- For TLS, deploy the hybrid X25519MLKEM768 key exchange so classical and post-quantum security hold simultaneously.
Code examples
Vulnerable — classical ECDH curve preference
// P-256 key agreement falls to Shor's algorithm
config.CurvePreferences = []tls.CurveID{
tls.CurveP256,
}Migration direction — hybrid X25519 + ML-KEM-768 (Go 1.24+)
// Hybrid handshake keeps classical + PQC security
config.CurvePreferences = []tls.CurveID{
tls.X25519MLKEM768,
}Preview remediation proposals
Preview proposed changes free with ciphermap fix --dry-run. Narrow MD5/SHA-1-to-SHA-256 proposals cover supported Go, Python, and Node ESM call shapes. RSA, protocol, persisted-digest, and unsupported migrations are declined with a reason. Proposal preview is Free. Production source publication remains disabled until the isolated Gate 2 transaction and recovery evidence are promoted; a Tier B licence does not enable apply actions in this release.
View DevSecOps pricing