Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80559 views
1
var assert = require('assert');
2
var elliptic = require('../');
3
var hash = require('hash.js');
4
5
describe('ECDH', function() {
6
function test(name) {
7
it('should work with ' + name + ' curve', function() {
8
var ecdh = new elliptic.ec(name);
9
var s1 = ecdh.genKeyPair();
10
var s2 = ecdh.genKeyPair();
11
var sh1 = s1.derive(s2.getPublic());
12
var sh2 = s2.derive(s1.getPublic());
13
14
assert.equal(sh1.toString(16), sh2.toString(16));
15
16
var sh1 = s1.derive(ecdh.keyFromPublic(s2.getPublic('hex'), 'hex')
17
.getPublic());
18
var sh2 = s2.derive(ecdh.keyFromPublic(s1.getPublic('hex'), 'hex')
19
.getPublic());
20
assert.equal(sh1.toString(16), sh2.toString(16));
21
});
22
}
23
24
test('curve25519');
25
test('ed25519');
26
test('secp256k1');
27
});
28
29