Files
libsodium/test/default/ipcrypt.exp
T
2025-12-30 01:35:44 +01:00

75 lines
2.5 KiB
Plaintext

crypto_ipcrypt_BYTES: 16
crypto_ipcrypt_KEYBYTES: 16
crypto_ipcrypt_ND_KEYBYTES: 16
crypto_ipcrypt_ND_TWEAKBYTES: 8
crypto_ipcrypt_ND_INPUTBYTES: 16
crypto_ipcrypt_ND_OUTPUTBYTES: 24
crypto_ipcrypt_NDX_KEYBYTES: 32
crypto_ipcrypt_NDX_TWEAKBYTES: 16
crypto_ipcrypt_NDX_INPUTBYTES: 16
crypto_ipcrypt_NDX_OUTPUTBYTES: 32
crypto_ipcrypt_PFX_KEYBYTES: 32
crypto_ipcrypt_PFX_BYTES: 16
Test 1: Format-preserving encryption
Key: 0102030405060708090a0b0c0d0e0f10
Input: 00000000000000000000ffffc0000201
Encrypted: 574549939d262d3dc317324ac05a8d59
Decrypted: 00000000000000000000ffffc0000201
OK: Round-trip successful
Test 2: Non-deterministic encryption (ND mode)
Tweak: aabbccddeeff1122
ND Encrypted: aabbccddeeff1122377e9a17198d908604f3261d45fd639a
ND Decrypted: 00000000000000000000ffffc0000201
OK: ND round-trip successful
Test 3: Non-deterministic encryption (NDX mode with 16-byte tweak)
NDX Key: 0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
NDX Tweak: aaabacadaeafb0b1b2b3b4b5b6b7b8b9
NDX Encrypted: aaabacadaeafb0b1b2b3b4b5b6b7b8b97df52c417f76ef314bbe7bea5b30bcea
NDX Decrypted: 00000000000000000000ffffc0000201
OK: NDX round-trip successful
Test 4: Key generation
Random key generated (skipped in output)
Random NDX key generated (skipped in output)
Test 5: Different inputs produce different outputs
Input[0]: 00000000000000000000ffff00000000
05406dbec71c4163c3033a3a76b9ebad
Input[1]: 00000000000000000000ffff00000001
1672fc1d4626d0db668088eb5b54a40e
Input[2]: 00000000000000000000ffff00000002
748c9d664ca12e3669ae344a280202c8
Input[3]: 00000000000000000000ffff00000003
524ca1315033ea4509bbaabf93c3ec80
Test 6: Verify deterministic encryption
OK: Deterministic encryption verified
Test 7: In-place encryption and decryption
OK: In-place round-trip successful
Test 8: Prefix-preserving encryption (PFX mode)
PFX Key: 0123456789abcdeffedcba98765432101032547698badcfeefcdab8967452301
Input (0.0.0.0): 00000000000000000000ffff00000000
PFX Encrypted: 00000000000000000000ffff97529b86
PFX Decrypted: 00000000000000000000ffff00000000
OK: PFX round-trip successful
Test 9: Verify prefix preservation
10.0.0.47 encrypted: 00000000000000000000ffff13d6d2f4
10.0.0.129 encrypted: 00000000000000000000ffff13d6d250
OK: /24 prefix preserved
Test 10: PFX key generation
Random PFX key generated (skipped in output)
Test 11: IPv6 prefix-preserving encryption
2001:db8::1 encrypted: 7cec702c12430f70d5ff5bae0021b09b
2001:db8::2 encrypted: 7cec702c12430f70d5ff5bae0021b098
OK: IPv6 /64 prefix preserved
All tests passed!