RSAES-PKCS1v15 Already broken Recorded traffic Renamed import 80 places See details
PKCS#1 v1.5 padding
`padding.PKCS1v15()`. For encryption this is vulnerable to Bleichenbacher-style padding oracles today; for signatures it is acceptable but the key is still RSA.
This is already unsafe today, with no quantum computer involved. PKCS#1 v1.5 encryption padding is vulnerable to Bleichenbacher oracles today, and the underlying RSA is broken by Shor.
What to do. For encryption, OAEP immediately and ML-KEM-768 as the destination.
-
src/cryptography/hazmat/primitives/serialization/pkcs7.py:202
if not ossl.rsa_encryption_supported(padding=padding.PKCS1v15()): -
src/cryptography/hazmat/primitives/serialization/ssh.py:1014
padding.PKCS1v15(), -
src/cryptography/hazmat/primitives/serialization/ssh.py:1608
f.tobytes(), padding.PKCS1v15(), hashes.SHA512() -
tests/hazmat/backends/test_openssl.py:127
test path
assert backend.rsa_padding_supported(padding.PKCS1v15()) is True -
tests/hazmat/primitives/test_pkcs7.py:680
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_pkcs7.py:746
test path
cert, key, hashes.SHA512(), rsa_padding=padding.PKCS1v15() -
tests/hazmat/primitives/test_pkcs7.py:916
test path
padding.PKCS1v15() -
tests/hazmat/primitives/test_pkcs7.py:1148
test path
padding.PKCS1v15() -
tests/hazmat/primitives/test_pkcs7.py:1467
test path
public_key.encrypt(b"A" * 15, padding.PKCS1v15()), -
tests/hazmat/primitives/test_pkcs7.py:1468
test path
public_key.encrypt(b"A" * 17, padding.PKCS1v15()), -
tests/hazmat/primitives/test_pkcs7.py:1469
test path
public_key.encrypt(b"A" * 32, padding.PKCS1v15()), -
tests/hazmat/primitives/test_pkcs7.py:1471
test path
public_key.encrypt(b"A" * 16, padding.PKCS1v15()), -
tests/hazmat/primitives/test_pkcs7.py:1574
test path
not backend.rsa_encryption_supported(padding.PKCS1v15()) -
tests/hazmat/primitives/test_pkcs7.py:1586
test path
not backend.rsa_encryption_supported(padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:270
test path
signature = key.sign(b"whatever", padding.PKCS1v15(), hashes.SHA224()) -
tests/hazmat/primitives/test_rsa.py:272
test path
signature, b"whatever", padding.PKCS1v15(), hashes.SHA224() -
tests/hazmat/primitives/test_rsa.py:288
test path
b"badsig", b"whatever", padding.PKCS1v15(), hashes.SHA256() -
tests/hazmat/primitives/test_rsa.py:398
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:440
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:712
test path
b"failure coming", padding.PKCS1v15(), hashes.SHA512() -
tests/hazmat/primitives/test_rsa.py:720
test path
private_key.sign(b"no failure", padding.PKCS1v15(), hashes.SHA512()) -
tests/hazmat/primitives/test_rsa.py:731
test path
pkcs = padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:827
test path
b"sign me", padding.PKCS1v15(), hashes.SHA256() -
tests/hazmat/primitives/test_rsa.py:833
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:866
test path
signature, message, padding.PKCS1v15(), hashes.SHA1() -
tests/hazmat/primitives/test_rsa.py:874
test path
signature, padding.PKCS1v15(), hashes.SHA1() -
tests/hazmat/primitives/test_rsa.py:881
test path
signature, padding.PKCS1v15(), asym_utils.NoDigestInfo() -
tests/hazmat/primitives/test_rsa.py:892
test path
b"sign me", padding.PKCS1v15(), hashes.SHA256() -
tests/hazmat/primitives/test_rsa.py:898
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:908
test path
b"sign me", padding.PKCS1v15(), hashes.SHA256() -
tests/hazmat/primitives/test_rsa.py:912
test path
signature, padding.PKCS1v15(), hashes.SHA512() -
tests/hazmat/primitives/test_rsa.py:947
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:960
test path
signature = private_key.sign(msg, padding.PKCS1v15(), hashes.SHA256()) -
tests/hazmat/primitives/test_rsa.py:963
test path
signature, msg, padding.PKCS1v15(), hashes.SHA256() -
tests/hazmat/primitives/test_rsa.py:1278
test path
pkcs = padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1291
test path
pkcs = padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1303
test path
pkcs = padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1454
test path
and backend.rsa_padding_supported(padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:1467
test path
lambda params, hash_alg: padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:1481
test path
lambda params, hash_alg: padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:1494
test path
lambda params, hash_alg: padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:1506
test path
lambda params, hash_alg: padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:1518
test path
lambda params, hash_alg: padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:1530
test path
lambda params, hash_alg: padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:1536
test path
assert padding.PKCS1v15() == padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1537
test path
assert padding.PKCS1v15() != padding.PSS( -
tests/hazmat/primitives/test_rsa.py:1540
test path
assert padding.PKCS1v15() != object() -
tests/hazmat/primitives/test_rsa.py:1737
test path
assert oaep != padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1744
test path
padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1770
test path
message = skey.decrypt(ciphertext, padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:1780
test path
backend.rsa_encryption_supported(padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:1788
test path
private_key.decrypt(b"\x00" * 256, padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:1792
test path
padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1801
test path
private_key.decrypt(b"\x00" * 257, padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:1805
test path
padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:1818
test path
private_key.decrypt(ct, padding.PKCS1v15()) -
tests/hazmat/primitives/test_rsa.py:2076
test path
padding.PKCS1v15() -
tests/hazmat/primitives/test_rsa.py:2096
test path
[padding.PKCS1v15()], -
tests/hazmat/primitives/test_rsa.py:2133
test path
padding.PKCS1v15(), -
tests/hazmat/primitives/test_rsa.py:2160
test path
rsa_key_512.sign(b"somedata", padding.PKCS1v15(), hashes.SHA512()) -
tests/test_doubles.py:56
test path
key.decrypt(b"ciphertext", padding.PKCS1v15()) -
tests/test_doubles.py:71
test path
key.sign(b"data", padding.PKCS1v15(), hashes.SHA256()) -
tests/wycheproof/test_rsa.py:88
test path
padding.PKCS1v15(), -
tests/wycheproof/test_rsa.py:96
test path
padding.PKCS1v15(), -
tests/wycheproof/test_rsa.py:132
test path
padding.PKCS1v15(), -
tests/wycheproof/test_rsa.py:268
test path
padding.PKCS1v15() -
tests/wycheproof/test_rsa.py:290
test path
binascii.unhexlify(wycheproof.testcase["ct"]), padding.PKCS1v15() -
tests/wycheproof/test_rsa.py:297
test path
padding.PKCS1v15(), -
tests/wycheproof/test_rsa.py:306
test path
padding.PKCS1v15(), -
tests/x509/test_ocsp.py:1332
test path
PKCS1v15(), -
tests/x509/test_x509.py:492
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:1173
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:2303
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:2957
test path
eckey, hashes.SHA256(), rsa_padding=padding.PKCS1v15() -
tests/x509/test_x509.py:3918
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:4023
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:4232
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:4294
test path
padding.PKCS1v15(), -
tests/x509/test_x509.py:5878
test path
eckey, hashes.SHA256(), rsa_padding=padding.PKCS1v15() -
tests/x509/test_x509_crlbuilder.py:245
test path
eckey, hashes.SHA256(), rsa_padding=padding.PKCS1v15()