aboutsummaryrefslogtreecommitdiff
path: root/node_modules/bn.js/test/pummel/dh-group-test.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/bn.js/test/pummel/dh-group-test.js
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
node_modules
Diffstat (limited to 'node_modules/bn.js/test/pummel/dh-group-test.js')
-rw-r--r--node_modules/bn.js/test/pummel/dh-group-test.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/node_modules/bn.js/test/pummel/dh-group-test.js b/node_modules/bn.js/test/pummel/dh-group-test.js
new file mode 100644
index 000000000..37a259ffa
--- /dev/null
+++ b/node_modules/bn.js/test/pummel/dh-group-test.js
@@ -0,0 +1,23 @@
+/* global describe, it */
+
+var assert = require('assert');
+var BN = require('../../').BN;
+var fixtures = require('../fixtures');
+
+describe('BN.js/Slow DH test', function () {
+ var groups = fixtures.dhGroups;
+ Object.keys(groups).forEach(function (name) {
+ it('should match public key for ' + name + ' group', function () {
+ var group = groups[name];
+
+ this.timeout(3600 * 1000);
+
+ var base = new BN(2);
+ var mont = BN.red(new BN(group.prime, 16));
+ var priv = new BN(group.priv, 16);
+ var multed = base.toRed(mont).redPow(priv).fromRed();
+ var actual = new Buffer(multed.toArray());
+ assert.equal(actual.toString('hex'), group.pub);
+ });
+ });
+});