Mercurial > prosody-hg
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 |
| parents | 924bc1c8d0d9 |
| children | 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);
