code: function diffieHellman(prime) {
    var dhObj = null;
    var wrapper = {};
  
    if(!!prime)
      dhObj = crypto.createDiffieHellman(prime, 'base64');
    else
      dhObj = crypto.createDiffieHellman(64);
  
    wrapper.prime = dhObj.getPrime('base64');
    wrapper.publicKey = dhObj.generateKeys('base64');
  
    wrapper.computeSecret = function(remotePublicKey) {
      return dhObj.computeSecret(remotePublicKey.toString(), 'base64', 'base64');
    };
  
    return wrapper;
  }
docs: /*
  returns a wrapper over crypto.DiffieHellman
  @param prime {String}: a prime number to initialize with (optional)
  @return {Object}