| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | var test = require('tape')var crypto = require('diffie-hellman/browser')test('diffie-hellman mod groups', function (t) {  [    'modp1', 'modp2', 'modp5', 'modp14', 'modp15', 'modp16'  ].forEach(function (mod) {    t.test(mod, function (t) {      t.plan(3)      var dh1 = crypto.getDiffieHellman(mod)      var p1 = dh1.getPrime().toString('hex')      dh1.generateKeys()      var dh2 = crypto.getDiffieHellman(mod)      var p2 = dh2.getPrime().toString('hex')      dh2.generateKeys()      t.equals(p1, p2, 'equal primes')      var pubk1 = dh1.getPublicKey()      var pubk2 = dh2.getPublicKey()      t.notEquals(pubk1, pubk2, 'diff public keys')      var pub1 = dh1.computeSecret(pubk2).toString('hex')      var pub2 = dh2.computeSecret(dh1.getPublicKey()).toString('hex')      t.equals(pub1, pub2, 'equal secrets')    })  })})test('diffie-hellman key lengths', function (t) {  [    64, 65, 192  ].forEach(function (len) {    t.test('' + len, function (t) {      t.plan(3)      var dh2 = crypto.createDiffieHellman(len)      var prime2 = dh2.getPrime()      var p2 = prime2.toString('hex')      var dh1 = crypto.createDiffieHellman(prime2)      var p1 = dh1.getPrime().toString('hex')      dh1.generateKeys()      dh2.generateKeys()      t.equals(p1, p2, 'equal primes')      var pubk1 = dh1.getPublicKey()      var pubk2 = dh2.getPublicKey()      t.notEquals(pubk1, pubk2, 'diff public keys')      var pub1 = dh1.computeSecret(pubk2).toString('hex')      var pub2 = dh2.computeSecret(dh1.getPublicKey()).toString('hex')      t.equals(pub1, pub2, 'equal secrets')    })  })})
 |