mirror of
https://github.com/github/codeql.git
synced 2025-12-18 09:43:15 +01:00
74 lines
1.8 KiB
Python
74 lines
1.8 KiB
Python
from cryptography.hazmat import backends
|
|
from cryptography.hazmat.primitives.asymmetric import ec, dsa, rsa
|
|
|
|
#Crypto and Cryptodome have same API
|
|
if random():
|
|
from Crypto.PublicKey import DSA
|
|
from Crypto.PublicKey import RSA
|
|
else:
|
|
from Cryptodome.PublicKey import DSA
|
|
from Cryptodome.PublicKey import RSA
|
|
|
|
RSA_WEAK = 1024
|
|
RSA_OK = 2048
|
|
RSA_STRONG = 3076
|
|
BIG = 10000
|
|
|
|
class FakeWeakEllipticCurve:
|
|
name = "fake"
|
|
key_size = 160
|
|
|
|
EC_WEAK = FakeWeakEllipticCurve()
|
|
EC_OK = ec.SECP224R1()
|
|
EC_STRONG = ec.SECP384R1()
|
|
EC_BIG = ec.SECT571R1()
|
|
|
|
dsa_gen_key = dsa.generate_private_key
|
|
ec_gen_key = ec.generate_private_key
|
|
rsa_gen_key = rsa.generate_private_key
|
|
|
|
default = backends.default_backend()
|
|
|
|
#Strong and OK keys.
|
|
|
|
dsa_gen_key(key_size=RSA_OK, backend=default)
|
|
dsa_gen_key(key_size=RSA_STRONG, backend=default)
|
|
dsa_gen_key(key_size=BIG, backend=default)
|
|
ec_gen_key(key_size=EC_OK, backend=default)
|
|
ec_gen_key(key_size=EC_STRONG, backend=default)
|
|
ec_gen_key(key_size=EC_BIG, backend=default)
|
|
rsa_gen_key(public_exponent=65537, key_size=RSA_OK, backend=default)
|
|
rsa_gen_key(public_exponent=65537, key_size=RSA_STRONG, backend=default)
|
|
rsa_gen_key(public_exponent=65537, key_size=BIG, backend=default)
|
|
|
|
DSA.generate(bits=RSA_OK)
|
|
DSA.generate(bits=RSA_STRONG)
|
|
RSA.generate(bits=RSA_OK)
|
|
RSA.generate(bits=RSA_STRONG)
|
|
|
|
dsa_gen_key(RSA_OK, default)
|
|
dsa_gen_key(RSA_STRONG, default)
|
|
dsa_gen_key(BIG, default)
|
|
ec_gen_key(EC_OK, default)
|
|
ec_gen_key(EC_STRONG, default)
|
|
ec_gen_key(EC_BIG, default)
|
|
rsa_gen_key(65537, RSA_OK, default)
|
|
rsa_gen_key(65537, RSA_STRONG, default)
|
|
rsa_gen_key(65537, BIG, default)
|
|
|
|
DSA.generate(RSA_OK)
|
|
DSA.generate(RSA_STRONG)
|
|
RSA.generate(RSA_OK)
|
|
RSA.generate(RSA_STRONG)
|
|
|
|
|
|
# Weak keys
|
|
|
|
dsa_gen_key(RSA_WEAK, default)
|
|
ec_gen_key(EC_WEAK, default)
|
|
rsa_gen_key(65537, RSA_WEAK, default)
|
|
|
|
DSA.generate(RSA_WEAK)
|
|
RSA.generate(RSA_WEAK)
|
|
|