unit test aead

This commit is contained in:
Sam Hadow 2025-03-06 21:18:12 +01:00
parent b43894b58f
commit 0c80e915f3

View File

@ -1,5 +1,6 @@
const aead = require('../src/aead');
const crypto = require('crypto');
const stringutils = require('../src/stringutils');
function generateRandomUint8Array(length = 16) {
const randomArray = new Uint8Array(length);
@ -10,16 +11,19 @@ function generateRandomUint8Array(length = 16) {
describe('aead.js functions', () => {
it('encrypt and decrypt', () => {
let msg = generateRandomUint8Array(28);
console.log(msg);
let ad = generateRandomUint8Array(12);
let msg = generateRandomUint8Array(117);
let msg_hex = stringutils.arrayToHex(msg);
let ad = generateRandomUint8Array(83);
let iv = generateRandomUint8Array();
let key = generateRandomUint8Array();
let result = aead.keccakAEAD.encrypt(key, msg, iv, ad);
console.log(result.tag);
console.log(result.cipher);
let tag_encrypt_hex = stringutils.arrayToHex(result.tag);
let cipher_hex = stringutils.arrayToHex(result.cipher);
let result2 = aead.keccakAEAD.decrypt(key, result.cipher, iv, ad);
console.log(result2.tag);
console.log(result2.plaintext);
let tag_decrypt_hex = stringutils.arrayToHex(result2.tag);
let decrypted_hex = stringutils.arrayToHex(result2.plaintext);
expect(decrypted_hex).toBe(msg_hex);
expect(tag_decrypt_hex).toBe(tag_encrypt_hex);
expect(cipher_hex === msg_hex).toBe(false);
});
});