From 26dc334ae315c37477c8f54d5d04d707215e2769 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 13 Jan 2023 14:34:10 +0000 Subject: util.crypto: Add support for AES-256-CTR This is required by PASETO v3.local --- spec/util_crypto_spec.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'spec/util_crypto_spec.lua') diff --git a/spec/util_crypto_spec.lua b/spec/util_crypto_spec.lua index 152efed5..77d046ac 100644 --- a/spec/util_crypto_spec.lua +++ b/spec/util_crypto_spec.lua @@ -164,4 +164,21 @@ describe("util.crypto", function () end end); end); + + describe("AES-CTR encryption", function () + it("works", function () + local message = "foo\0bar hello world"; + local key_256_bit = random.bytes(32); + local test_cases = { + { crypto.aes_256_ctr_decrypt, crypto.aes_256_ctr_decrypt, key = key_256_bit }; + }; + for _, params in pairs(test_cases) do + local iv = params.iv or random.bytes(16); + local encrypted = params[1](params.key, iv, message); + assert.not_equal(message, encrypted); + local decrypted = params[2](params.key, iv, encrypted); + assert.equal(message, decrypted); + end + end); + end); end); -- cgit v1.2.3