summaryrefslogtreecommitdiffstats
path: root/node_modules/crypto-browserify/test/node/dh.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/crypto-browserify/test/node/dh.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/crypto-browserify/test/node/dh.js')
-rw-r--r--node_modules/crypto-browserify/test/node/dh.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/crypto-browserify/test/node/dh.js b/node_modules/crypto-browserify/test/node/dh.js
new file mode 100644
index 0000000..0b3aa71
--- /dev/null
+++ b/node_modules/crypto-browserify/test/node/dh.js
@@ -0,0 +1,51 @@
+var test = require('tape')
+var cryptoB = require('../../')
+var crypto = require('crypto')
+
+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 = cryptoB.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(pubk1).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 = cryptoB.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')
+ })
+ })
+})