summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAzul <azul@riseup.net>2013-07-12 12:10:29 +0200
committerAzul <azul@riseup.net>2013-07-12 12:18:10 +0200
commit90611d3d29bc1b290e98f2fcd50a5d70de70a111 (patch)
tree9345a9205b917cd6444ee2e134c340b004928652 /src
parent933567499fa4c46e42d45de6066064559cfded09 (diff)
prefix incoming B too
Diffstat (limited to 'src')
-rw-r--r--src/srp_calculate.js5
-rw-r--r--src/srp_session.js2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/srp_calculate.js b/src/srp_calculate.js
index 9196e0c..a1cbe51 100644
--- a/src/srp_calculate.js
+++ b/src/srp_calculate.js
@@ -73,10 +73,13 @@ srp.Calculate = function() {
// some 16 byte random number
this.randomSalt = function() {
- salt = new BigInteger(64, rng);
+ var salt = new BigInteger(64, rng);
return zeroPrefix(salt.toString(16));
}
+ // expose zeroPrefix for received values.
+ this.zeroPrefix = zeroPrefix;
+
function hex2a(hex) {
var str = '';
if(hex.length % 2) {
diff --git a/src/srp_session.js b/src/srp_session.js
index 0648959..0b0e4c6 100644
--- a/src/srp_session.js
+++ b/src/srp_session.js
@@ -52,7 +52,7 @@ srp.Session = function(account, calculate) {
this.calculations = function(salt, ephemeral)
{
//S -> C: s | B
- var B = ephemeral;
+ var B = calculate.zeroPrefix(ephemeral);
var x = calculate.X(account.login(), account.password(), salt);
S = calculate.S(a, A, B, x);
K = calculate.K(S);