diff options
author | Quinn Slack <sqs@cs.stanford.edu> | 2011-04-19 05:14:28 -0700 |
---|---|---|
committer | Quinn Slack <sqs@cs.stanford.edu> | 2011-04-19 05:14:28 -0700 |
commit | 5fdfb69a7b773e37ab919970bc9877377183a40b (patch) | |
tree | 20a44318b5520f04e51e845a791e126bd39ff547 | |
parent | 3d9bf6ed796e7c976186fb7117b3f4b995d50526 (diff) | |
download | sjcl-5fdfb69a7b773e37ab919970bc9877377183a40b.zip sjcl-5fdfb69a7b773e37ab919970bc9877377183a40b.tar.gz sjcl-5fdfb69a7b773e37ab919970bc9877377183a40b.tar.bz2 |
test srp x and v
-rw-r--r-- | test/srp_test.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/test/srp_test.js b/test/srp_test.js index bbbd928..d5219e7 100644 --- a/test/srp_test.js +++ b/test/srp_test.js @@ -5,15 +5,18 @@ new sjcl.test.TestCase("SRP known-answer (RFC 5054) tests", function (cb) { return; } - var i, kat = sjcl.test.vector.srp, tv, N, g, v; + var i, kat = sjcl.test.vector.srp, tv, N, g, v, x; for (i=0; i<kat.length; i++) { tv = kat[i]; - N = sjcl.keyexchange.srp.knownGroups[tv.known_group_size].N; - g = sjcl.keyexchange.srp.knownGroups[tv.known_group_size].g; - v = sjcl.keyexchange.srp.makeVerifier(tv.I, tv.P, tv.s, N, g) - print("-> v = " + v); - this.require(sjcl.bitArray.equal(v, tv.v), "srpv #"+i); + N = sjcl.keyexchange.srp.knownGroup(tv.known_group_size).N; + g = sjcl.keyexchange.srp.knownGroup(tv.known_group_size).g; + tv.s = sjcl.codec.hex.toBits(tv.s); + x = sjcl.keyexchange.srp.makeX(tv.I, tv.P, tv.s); + this.require(sjcl.codec.hex.fromBits(x).toUpperCase() === tv.x, "srpx #"+i); + + v = sjcl.keyexchange.srp.makeVerifier(tv.I, tv.P, tv.s, N, g); + this.require(v.equals(new sjcl.bn(tv.v)), "srpv #"+i); } cb && cb(); }); |