// Fixtura: ce a scapat inventarului pe libsignal (2026-10-18): BoringSSL prin `boring` / `boring-signal` (stiva TLS a lui libsignal, // acelasi API ca openssl), HmacReset din hmac 0.13, tipul de mod adus prin `use cbc::Decryptor`, functia libera x25519(), modulele // kyber ale lui libcrux (Kyber pre-standard) si tiparul Noise hibrid hfs (X25519 + Kyber1024 in aceeasi strangere de mana). use boring_signal::ssl::{SslConnector, SslMethod, SslVersion}; use boring::rsa::Rsa; use boring::hash::MessageDigest; use hmac::{HmacReset, Mac}; use sha2::Sha256; use aes::Aes256; use cbc::Decryptor; use cbc::cipher::KeyIvInit; use x25519_dalek as x25519; use libcrux_ml_kem::kyber1024; use libcrux_ml_kem::mlkem768; use snow::Builder; pub const NOISE_HFS: &str = "Noise_NKhfs_25519+Kyber1024_ChaChaPoly_SHA256"; // EXPECT: X25519+Kyber1024 (Noise hfs) | quantum-safe ; ChaCha20-Poly1305 | quantum-safe ; SHA-256 | quantum-safe pub fn exemple(key: &[u8; 32], iv: &[u8; 16], secret: [u8; 32], randomness: [u8; 64]) { let mut ssl = SslConnector::builder(SslMethod::tls()).unwrap(); // EXPECT: boring-signal SslConnector | unknown ssl.set_min_proto_version(Some(SslVersion::TLS1_3)).unwrap(); // EXPECT: TLSv1.3 | unknown let rsa = Rsa::generate(2048).unwrap(); // EXPECT: RSA-2048 | quantum-vulnerable let md = MessageDigest::sha256(); // EXPECT: SHA-256 | quantum-safe let mac = HmacReset::::new_from_slice(key).unwrap(); // EXPECT: HMAC-SHA-256 | quantum-safe let dec = Decryptor::::new(key.into(), iv.into()); // EXPECT: AES-256-CBC | quantum-safe let pk = x25519::x25519(secret, x25519::X25519_BASEPOINT_BYTES); // EXPECT: X25519 | quantum-vulnerable let kp = kyber1024::generate_key_pair(randomness); // EXPECT: Kyber-1024 | quantum-safe let kp2 = mlkem768::generate_key_pair(randomness); // EXPECT: ML-KEM-768 | quantum-safe let _ = (ssl, rsa, md, mac, dec, pk, kp, kp2, Builder::new(NOISE_HFS.parse().unwrap())); }