fixed bug in MPIN.js
Project: http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/commit/cd3086fb Tree: http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/tree/cd3086fb Diff: http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/diff/cd3086fb Branch: refs/heads/master Commit: cd3086fb8a103a6d9c549157f4c8d4141c288206 Parents: 8843aac Author: Kealan McCusker <[email protected]> Authored: Thu Nov 24 11:54:12 2016 +0000 Committer: Kealan McCusker <[email protected]> Committed: Thu Nov 24 11:54:12 2016 +0000 ---------------------------------------------------------------------- js/MPIN.js | 10 +- js/MPINAuth.js | 1 - js/ROM.js | 38 +- js/tests/BNCX.json | 1 + js/tests/BNCXOnePass.json | 1 + js/tests/MPIN.js | 799 ----------------------------------- js/tests/README.md | 25 ++ js/tests/README.txt | 111 ----- js/tests/TestMPIN.js | 151 ------- js/tests/TestMPINAuth.js | 161 ------- js/tests/TestMPINAuthOnePass.js | 149 ------- js/tests/config.js | 20 + js/tests/config.js_local | 41 -- js/tests/config.js_qa | 41 -- js/tests/genVectorFixed.py | 260 ------------ js/tests/genVectors.py | 416 ------------------ js/tests/genVectorsOnePass.py | 412 ------------------ js/tests/getClientSecret.js | 112 ----- js/tests/getTimePermit.js | 115 ----- js/tests/run_headless_tests.sh | 63 --- js/tests/run_js_tests.sh | 69 --- js/tests/run_test.sh | 63 +++ js/tests/test_add_shares.js | 3 - js/tests/test_bad_PIN_AJAX.js | 388 ----------------- js/tests/test_bad_PIN_WS.js | 326 -------------- js/tests/test_good_PIN_AJAX.js | 387 ----------------- js/tests/test_good_PIN_WS.js | 325 -------------- js/tests/test_onepass.js | 5 +- js/tests/test_pass1.js | 3 - js/tests/test_pass2.js | 3 - js/tests/test_randomX.js | 2 - js/tests/test_sha256.js | 2 - js/tests/test_token.js | 3 - 33 files changed, 150 insertions(+), 4356 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/blob/cd3086fb/js/MPIN.js ---------------------------------------------------------------------- diff --git a/js/MPIN.js b/js/MPIN.js index 5a3d825..837b4fd 100755 --- a/js/MPIN.js +++ b/js/MPIN.js @@ -633,12 +633,18 @@ var MPIN = { SERVER: function(date,HID,HTID,Y,SST,xID,xCID,mSEC,E,F,CID,TimeValue) { var rtn=0; + var pID; + if (date == 0) { + pID = xID; + } else { + pID = xCID; + } this.SERVER_1(date,CID,HID,HTID); - this.GET_Y(TimeValue,xCID,Y); + this.GET_Y(TimeValue,pID,Y); - rtn = this.SERVER_2(date,HID,HTID,Y,SST,xID,xCID,SEC,E,F); + rtn = this.SERVER_2(date,HID,HTID,Y,SST,xID,xCID,mSEC,E,F); if (rtn != 0) return rtn; http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/blob/cd3086fb/js/MPINAuth.js ---------------------------------------------------------------------- diff --git a/js/MPINAuth.js b/js/MPINAuth.js index 1733fe6..7cacb65 100755 --- a/js/MPINAuth.js +++ b/js/MPINAuth.js @@ -291,7 +291,6 @@ MPINAuth.pass1Request = function (mpin_id_hex, token_hex, timePermit_hex, PIN, e token_bytes = MPINAuth.hextobytes(token_hex); timePermit_bytes = MPINAuth.hextobytes(timePermit_hex); - if (MPINAuth.DEBUG) {console.log("MPINAuth.pass1Request date: " + date); } error_code = MPIN.CLIENT_1(epoch_days, mpin_id_bytes, MPINAuth.rng, MPINAuth.X, PIN, token_bytes, MPINAuth.SEC, U, UT, timePermit_bytes); if (error_code !== 0) { console.log("MPINAuth.pass1Request error_code: " + error_code); http://git-wip-us.apache.org/repos/asf/incubator-milagro-crypto/blob/cd3086fb/js/ROM.js ---------------------------------------------------------------------- diff --git a/js/ROM.js b/js/ROM.js index 575cc5a..7a91844 100755 --- a/js/ROM.js +++ b/js/ROM.js @@ -36,10 +36,10 @@ var ROM={ EDWARDS: 1, MONTGOMERY: 2, - USE_GLV: true, - USE_GS_G2: true, + USE_GLV: false, + USE_GS_G2: false, USE_GS_GT: true, - GT_STRONG: true, + GT_STRONG: false, /* Finite field support - for RSA, DH etc. */ FF_BITS: 2048, /* Finite Field Size in bits - must be 256.2^n */ @@ -297,10 +297,34 @@ var ROM={ CURVE_Pyb:[0x98EE9D,0x4B2288,0xEBED90,0x69D2ED,0x864EA5,0x3461C2,0x512D8D,0x35C6E4,0xC4C090,0xC39EC,0x616], CURVE_Gx :[0x1B55B2,0x23EF5C,0xE1BE66,0x18093E,0x3FD6EE,0x66D324,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], CURVE_Gy :[0x1], - CURVE_W:[[0x2FEB83,0x634916,0x120054,0xB4038,0x0,0x60],[0x802561,0x7,0x8000]], - CURVE_SB:[[[0xB010E4,0x63491D,0x128054,0xB4038,0x0,0x60],[0x802561,0x7,0x8000]],[[0x802561,0x7,0x8000],[0xBB33EA,0x5D5D20,0xBCBDBD,0x188CE,0x3FD6EE,0x66D264,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400]]], - CURVE_WB:[[0x7A84B0,0x211856,0xB0401C,0x3C012,0x0,0x20],[0x220475,0xF995BE,0x9A36CD,0xA8CA7F,0x7E94ED,0x2A0DC0,0x870,0x300000],[0xF10B93,0xFCCAE0,0xCD3B66,0xD4653F,0x3F4A76,0x1506E0,0x438,0x180000],[0xFAAA11,0x21185D,0xB0C01C,0x3C012,0x0,0x20]], - CURVE_BB:[[[0x2B0CBD,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400],[0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400],[0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400],[0x802562,0x7,0x8000]],[[0x802561,0x7,0x8000],[0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400],[0x2B0CBD,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400],[0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400]],[[0x802562,0x7,0x8000],[0x802561,0x7,0x8000],[0x802561,0x7,0x8000],[0x802561,0x7,0x8000]],[[0xC012B2,0x3,0x4000],[0x4AC2,0xF,0x10000],[0x6AFA0A,0xC0A62F,0xCE3E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400],[0xC012B2,0x3,0x4000]]], + +// Arrays must be padded! + + CURVE_W:[[0x2FEB83,0x634916,0x120054,0xB4038,0x0,0x60,0x0,0x0,0x0,0x0,0x0],[0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]], + CURVE_SB:[[[0xB010E4,0x63491D,0x128054,0xB4038,0x0,0x60,0x0,0x0,0x0,0x0,0x0], + [0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]], + [[0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0xBB33EA,0x5D5D20,0xBCBDBD,0x188CE,0x3FD6EE,0x66D264,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400]]], + CURVE_WB:[[0x7A84B0,0x211856,0xB0401C,0x3C012,0x0,0x20,0x0,0x0,0x0,0x0,0x0], + [0x220475,0xF995BE,0x9A36CD,0xA8CA7F,0x7E94ED,0x2A0DC0,0x870,0x300000,0x0,0x0,0x0], + [0xF10B93,0xFCCAE0,0xCD3B66,0xD4653F,0x3F4A76,0x1506E0,0x438,0x180000,0x0,0x0,0x0], + [0xFAAA11,0x21185D,0xB0C01C,0x3C012,0x0,0x20,0x0,0x0,0x0,0x0,0x0]], + CURVE_BB:[[[0x2B0CBD,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], + [0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], + [0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], + [0x802562,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]], + [[0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], + [0x2B0CBD,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], + [0x2B0CBC,0xC0A633,0xCE7E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400]], + [[0x802562,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0x802561,0x7,0x8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]], + [[0xC012B2,0x3,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0x4AC2,0xF,0x10000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0], + [0x6AFA0A,0xC0A62F,0xCE3E11,0xCC906,0x3FD6EE,0x66D2C4,0x647A63,0xB0BDDF,0x702A0D,0x8,0x2400], + [0xC012B2,0x3,0x4000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0]]], /* BNT Curve */ /*
