| var generatePrime = require('./lib/generatePrime') | 
| var primes = require('./lib/primes.json') | 
|   | 
| var DH = require('./lib/dh') | 
|   | 
| function getDiffieHellman (mod) { | 
|   var prime = new Buffer(primes[mod].prime, 'hex') | 
|   var gen = new Buffer(primes[mod].gen, 'hex') | 
|   | 
|   return new DH(prime, gen) | 
| } | 
|   | 
| var ENCODINGS = { | 
|   'binary': true, 'hex': true, 'base64': true | 
| } | 
|   | 
| function createDiffieHellman (prime, enc, generator, genc) { | 
|   if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) { | 
|     return createDiffieHellman(prime, 'binary', enc, generator) | 
|   } | 
|   | 
|   enc = enc || 'binary' | 
|   genc = genc || 'binary' | 
|   generator = generator || new Buffer([2]) | 
|   | 
|   if (!Buffer.isBuffer(generator)) { | 
|     generator = new Buffer(generator, genc) | 
|   } | 
|   | 
|   if (typeof prime === 'number') { | 
|     return new DH(generatePrime(prime, generator), generator, true) | 
|   } | 
|   | 
|   if (!Buffer.isBuffer(prime)) { | 
|     prime = new Buffer(prime, enc) | 
|   } | 
|   | 
|   return new DH(prime, generator, true) | 
| } | 
|   | 
| exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman | 
| exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman |