summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/aead-vectors.js37
-rw-r--r--test/parallel/test-crypto-authenticated.js3
2 files changed, 39 insertions, 1 deletions
diff --git a/test/fixtures/aead-vectors.js b/test/fixtures/aead-vectors.js
index 14933bb0cc..6b1d169b2a 100644
--- a/test/fixtures/aead-vectors.js
+++ b/test/fixtures/aead-vectors.js
@@ -662,5 +662,42 @@ module.exports = [
'481529c76b6a',
tag: 'd0c515f4d1cdd4fdac4f02ab',
tampered: true
+ },
+
+ // Test case from rfc7539 section 2.8.2
+ { algo: 'chacha20-poly1305',
+ key: '808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f',
+ iv: '070000004041424344454647',
+ plain: '4c616469657320616e642047656e746c656d656e206f662074686520636c6173' +
+ '73206f66202739393a204966204920636f756c64206f6666657220796f75206f' +
+ '6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73' +
+ '637265656e20776f756c642062652069742e',
+ plainIsHex: true,
+ aad: '50515253c0c1c2c3c4c5c6c7',
+ ct: 'd31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5' +
+ 'a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e06' +
+ '0b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fa' +
+ 'b324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d265' +
+ '86cec64b6116',
+ tag: '1ae10b594f09e26a7e902ecbd0600691',
+ tampered: false
+ },
+
+ { algo: 'chacha20-poly1305',
+ key: '808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f',
+ iv: '070000004041424344454647',
+ plain: '4c616469657320616e642047656e746c656d656e206f662074686520636c6173' +
+ '73206f66202739393a204966204920636f756c64206f6666657220796f75206f' +
+ '6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73' +
+ '637265656e20776f756c642062652069742e',
+ plainIsHex: true,
+ aad: '50515253c0c1c2c3c4c5c6c7',
+ ct: 'd31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5' +
+ 'a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e06' +
+ '0b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fa' +
+ 'b324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d265' +
+ '86cec64b6116',
+ tag: '1ae10b594f09e26a7e902ecbd0600692',
+ tampered: true
}
];
diff --git a/test/parallel/test-crypto-authenticated.js b/test/parallel/test-crypto-authenticated.js
index ec5c05cb12..01ce1d9996 100644
--- a/test/parallel/test-crypto-authenticated.js
+++ b/test/parallel/test-crypto-authenticated.js
@@ -94,9 +94,10 @@ for (const test of TEST_CASES) {
const isCCM = /^aes-(128|192|256)-ccm$/.test(test.algo);
const isOCB = /^aes-(128|192|256)-ocb$/.test(test.algo);
+ const isChacha20Poly1305 = test.algo === 'chacha20-poly1305';
let options;
- if (isCCM || isOCB)
+ if (isCCM || isOCB || isChacha20Poly1305)
options = { authTagLength: test.tag.length / 2 };
const inputEncoding = test.plainIsHex ? 'hex' : 'ascii';