code: function getA(params, a_num) {
    assertIsBigInteger(a_num);
    if (Math.ceil(a_num.toString(16).length / 2) < 32) {
      console.warn("getA: client key length", a_num.bitLength(), "is less than the recommended 256 bits");
    }
    return padToN(params.g.modPow(a_num, params.N), params);
  }
docs: /*
  The client key exchange message carries the client's public value
  (A).  The client calculates this value as A = g^a % N, where a is a
  random number that SHOULD be at least 256 bits in length.
  
  Note: for this implementation, we take that to mean 256/8 bytes.
  
  params:
  params (obj)     group parameters, with .N, .g, .hash
  a (bignum)       client secret exponent
  
  returns A (bignum)       the client public message