RSA Quantum-vulnerable Recorded traffic 12 places See details
RSA through the BouncyCastle low-level API
A BouncyCastle RSA engine or key-pair generator. These classes bypass the JCA algorithm strings, so they are invisible to a scan that only reads `getInstance()` arguments.
A quantum computer of sufficient size breaks this completely. It has to be replaced, not tuned. Broken by Shor's algorithm on a cryptographically relevant quantum computer.
What to do. ML-KEM-768 for encryption, ML-DSA-65 for signatures.
-
src/goryachev/crypto/APublicKey.java:13
public APublicKey(RSAKeyParameters key) -
src/goryachev/crypto/Crypto.java:174
public static RSAPublicKey toRSAPublicKey(RSAKeyParameters k) throws Exception -
src/goryachev/crypto/Crypto.java:180
public static byte[] toByteArray(RSAKeyParameters spec) throws Exception -
src/goryachev/crypto/Crypto.java:230
return new APublicKey(new RSAKeyParameters(false, k.getModulus(), k.getPublicExponent())); -
src/goryachev/crypto/Crypto.java:271
else if(x instanceof RSAKeyParameters) -
src/goryachev/crypto/Crypto.java:273
return toByteArray((RSAKeyParameters)x); -
src/goryachev/crypto/Crypto.java:294
RSAKeyPairGenerator g = new RSAKeyPairGenerator(); -
src/goryachev/crypto/Crypto.java:299
RSAKeyParameters pub = (RSAKeyParameters)kp.getPublic(); -
src/goryachev/crypto/Crypto.java:308
RSADigestSigner signer = new RSADigestSigner(new SHA256Digest()); -
src/goryachev/crypto/Crypto.java:321
RSADigestSigner signer = new RSADigestSigner(new SHA256Digest()); -
src/goryachev/crypto/Crypto.java:330
PKCS1Encoding rsa = new PKCS1Encoding(new RSAEngine()); -
src/goryachev/crypto/Crypto.java:348
PKCS1Encoding rsa = new PKCS1Encoding(new RSAEngine());