Quantum-Vulnerable Public Key (RSA / DSA)
Severity: HIGH
RSA and DSA rest on integer factorization and discrete logarithms, both broken by Shor's algorithm on a sufficiently large quantum computer. The Go AST scanner flags crypto/rsa and crypto/dsa imports (PQC-GO-AST-002/008) and extracts literal RSA key-size arguments from supported rsa.GenerateKey call sites, flagging values of 3072 bits or less (PQC-GO-AST-007). Per-language regex rules in the same family (for example PQC-JAVA-002, PQC-PYTHON-002, PQC-JAVASCRIPT-002, PQC-CPP-002) flag the equivalent APIs in the other scanned languages. The paid fips-140-3 and nist-sp-800-56b compliance profiles add PKCS#1 v1.5 encryption/transport and low-public-exponent findings (PQC-FIPS-002/003, PQC-56B-001/002) with verbatim NIST citations.
Remediation checklist
- Inventory every RSA/DSA signature, key-transport, and key-generation site the scan reports.
- Plan signature migration to ML-DSA (FIPS 204) and key establishment to ML-KEM (FIPS 203).
- Where RSA must remain during migration, avoid PKCS#1 v1.5 encryption/key transport and public exponents below 65,537 — both are flagged under the compliance profiles.
Code examples
Vulnerable — RSA-2048 key generation (flagged by PQC-GO-AST-007)
// RSA moduli <= 3072 bits are flagged with the extracted key size key, _ := rsa.GenerateKey(rand.Reader, 2048)
Migration direction — ML-KEM-768 (FIPS 203), Go 1.24+ crypto/mlkem
// Post-quantum key encapsulation from the Go standard library dk, _ := mlkem.GenerateKey768() sharedKey, ciphertext := dk.EncapsulationKey().Encapsulate()
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