Diff

spec/util_crypto_spec.lua @ 12837:d3ae47d8a7a7

util.crypto: Add support for AES-256-CTR This is required by PASETO v3.local
author Matthew Wild <mwild1@gmail.com>
date Fri, 13 Jan 2023 14:34:10 +0000
parent 12737:924bc1c8d0d9
child 13537:fb970df95374
line wrap: on
line diff
--- a/spec/util_crypto_spec.lua	Fri Jan 13 14:29:08 2023 +0000
+++ b/spec/util_crypto_spec.lua	Fri Jan 13 14:34:10 2023 +0000
@@ -164,4 +164,21 @@
 			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);