hax_engine_names/
crypto_abstractions.rs

1use hax_lib_protocol::crypto::*;
2
3fn crypto_abstractions() {
4    let bytes = vec![0u8; 32];
5    let iv = AEADIV::from_bytes(&bytes);
6    let key = AEADKey::from_bytes(AEADAlgorithm::Chacha20Poly1305, &bytes);
7
8    let (cipher_text, _tag) = aead_encrypt(key, iv, &bytes, &bytes);
9    let iv = AEADIV::from_bytes(&bytes);
10    let key = AEADKey::from_bytes(AEADAlgorithm::Chacha20Poly1305, &bytes);
11    let _ = aead_decrypt(key, iv, &bytes, &cipher_text, AEADTag::from_bytes(&bytes));
12
13    let p = DHElement::from_bytes(&bytes);
14    let s = DHScalar::from_bytes(&bytes);
15    dh_scalar_multiply(DHGroup::X25519, s.clone(), p);
16    dh_scalar_multiply_base(DHGroup::X25519, s);
17
18    let _ = hmac(HMACAlgorithm::Sha256, &bytes, &bytes);
19
20    let _ = 1u64.to_le_bytes();
21    let slice = &bytes[0..1];
22    let _ = slice.len();
23    let _ = slice.to_vec();
24    let _ = [slice, slice].concat();
25    let mut v = vec![0];
26    v.extend_from_slice(slice);
27    v.truncate(1);
28
29    let _ = hash(HashAlgorithm::Sha256, &bytes);
30    let _ = cipher_text.clone();
31}