Software /
code /
prosody
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);