Annotate

spec/util_hashes_spec.lua @ 11936:3f49c35607ca

mod_smacks: Fix timer lifetimes to follow session instead of module module:add_timer() creates a timer that stops working after the module is reloaded or unloaded, in order to prevent leaks. However, when the timers control vital session behavior, breakage occurs after reload. E.g. sessions would stop requesting acks and stop responding to acks.
author Kim Alvefur <zash@zash.se>
date Wed, 24 Nov 2021 21:27:45 +0100
parent 10748:93293891709b
child 12355:a0ff5c438e9d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9964
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 -- Test vectors from RFC 6070
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local hashes = require "util.hashes";
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 local hex = require "util.hex";
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 -- Also see spec for util.hmac where HMAC test cases reside
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
10747
63a89b876407 util.hashes: Use generic name of PBKDF2-HMAC-SHA1 function in tests
Kim Alvefur <zash@zash.se>
parents: 9970
diff changeset
7 describe("PBKDF2-HMAC-SHA1", function ()
9964
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 it("test vector 1", function ()
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 local P = "password"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 local S = "salt"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 local c = 1
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 local DK = "0c60c80f961f0e71f3a9b524af6012062fe037a6";
10747
63a89b876407 util.hashes: Use generic name of PBKDF2-HMAC-SHA1 function in tests
Kim Alvefur <zash@zash.se>
parents: 9970
diff changeset
13 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
9964
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 end);
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 it("test vector 2", function ()
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 local P = "password"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 local S = "salt"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 local c = 2
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 local DK = "ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957";
10747
63a89b876407 util.hashes: Use generic name of PBKDF2-HMAC-SHA1 function in tests
Kim Alvefur <zash@zash.se>
parents: 9970
diff changeset
20 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
9964
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 end);
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 it("test vector 3", function ()
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 local P = "password"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 local S = "salt"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 local c = 4096
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 local DK = "4b007901b765489abead49d926f721d065a429c1";
10747
63a89b876407 util.hashes: Use generic name of PBKDF2-HMAC-SHA1 function in tests
Kim Alvefur <zash@zash.se>
parents: 9970
diff changeset
27 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
9964
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 end);
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 it("test vector 4 #SLOW", function ()
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 local P = "password"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 local S = "salt"
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 local c = 16777216
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 local DK = "eefe3d61cd4da4e4e9945b3d6ba2158c2634e984";
10747
63a89b876407 util.hashes: Use generic name of PBKDF2-HMAC-SHA1 function in tests
Kim Alvefur <zash@zash.se>
parents: 9970
diff changeset
34 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha1(P, S, c)));
9964
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 end);
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 end);
f299d4917dd8 util.hashes: Add test vectors from RFC 6070 for PBKDF2 (aka SCRAM Hi())
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37
10748
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
38 describe("PBKDF2-HMAC-SHA256", function ()
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
39 it("test vector 1", function ()
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
40 local P = "password";
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
41 local S = "salt";
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
42 local c = 1
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
43 local DK = "120fb6cffcf8b32c43e7225256c4f837a86548c92ccc35480805987cb70be17b";
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
44 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha256(P, S, c)));
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
45 end);
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
46 it("test vector 2", function ()
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
47 local P = "password";
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
48 local S = "salt";
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
49 local c = 2
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
50 local DK = "ae4d0c95af6b46d32d0adff928f06dd02a303f8ef3c251dfd6e2d85a95474c43";
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
51 assert.equal(DK, hex.to(hashes.pbkdf2_hmac_sha256(P, S, c)));
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
52 end);
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
53 end);
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
54
93293891709b util.hashes: Fix output length of PBKDF2-HMAC-SHA256
Kim Alvefur <zash@zash.se>
parents: 10747
diff changeset
55