"""Fixtura: criptografie in Python. Fisierul nu se executa; e doar text pentru scaner.""" import hashlib import hmac import ssl from cryptography.hazmat.primitives.asymmetric import rsa, ec, ed25519, padding from cryptography.hazmat.primitives import hashes from Crypto.Cipher import AES, DES3 from ecdsa import SigningKey, SECP256k1 import jwt import oqs DIGEST = "sha256" def exemple(data, key, alg_din_parametru): k1 = rsa.generate_private_key(public_exponent=65537, key_size=1024) # EXPECT: RSA-1024 | weak-now k2 = ec.generate_private_key(ec.SECP384R1()) # EXPECT: EC-secp384r1 | quantum-vulnerable k3 = ed25519.Ed25519PrivateKey.generate() # EXPECT: Ed25519 | quantum-vulnerable sig = k2.sign(data, ec.ECDSA(hashes.SHA256())) # EXPECT: ECDSA | quantum-vulnerable ; SHA-256 | quantum-safe ct = k1.public_key().encrypt(data, padding.OAEP(mgf=padding.MGF1(hashes.SHA256()), algorithm=hashes.SHA256(), label=None)) # EXPECT: RSA | quantum-vulnerable ; SHA-256 | quantum-safe h1 = hashlib.md5(data).hexdigest() # EXPECT: MD5 | weak-now h2 = hashlib.new(DIGEST) # EXPECT: SHA-256 | quantum-safe h3 = hashlib.new(alg_din_parametru) # EXPECT: hashlib.new | unknown mac = hmac.new(key, data, digestmod="sha1") # EXPECT: HMAC-SHA-1 | weak-now c1 = AES.new(key, AES.MODE_ECB) # EXPECT: AES-ECB | weak-now c2 = DES3.new(key, DES3.MODE_CBC) # EXPECT: 3DES-CBC | weak-now sk = SigningKey.generate(curve=SECP256k1) # EXPECT: ECDSA-secp256k1 | quantum-vulnerable tok = jwt.encode({"a": 1}, key, algorithm="ES256K") # EXPECT: JWS ES256K | quantum-vulnerable kem = oqs.KeyEncapsulation("ML-KEM-768") # EXPECT: ML-KEM-768 | quantum-safe ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT) # EXPECT: TLS (negotiated) | unknown ctx.minimum_version = ssl.TLSVersion.TLSv1_2 # EXPECT: TLSv1.2 | quantum-vulnerable return [k3, sig, ct, h1, h2, h3, mac, c1, c2, sk, tok, kem]