Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80572 views
1
var assert = require('assert');
2
var BN = require('../../').BN;
3
var fixtures = require('../fixtures');
4
5
describe('BN.js/Slow DH test', function() {
6
var groups = fixtures.dhGroups;
7
Object.keys(groups).forEach(function(name) {
8
it('should match public key for ' + name + ' group', function() {
9
var group = groups[name];
10
11
this.timeout(3600 * 1000);
12
13
var base = new BN(2);
14
var mont = BN.red(new BN(group.prime, 16));
15
var priv = new BN(group.priv, 16);
16
var multed = base.toRed(mont).redPow(priv).fromRed();
17
var actual = new Buffer(multed.toArray());
18
assert.equal(actual.toString('hex'), group.pub);
19
});
20
});
21
});
22
23