code: function keygen (k) {
          var P = [];
          var s = [];
          k = k || [];
          clamp(k);
          core(P, s, k, null);
  
          return { p: P, s: s, k: k };
      }
docs: /* Key-pair generation
  P  [out] your public key
  s  [out] your private key for signing
  k  [out] your private key for key agreement
  k  [in]  32 random bytes
  s may be NULL if you don't care
  
  WARNING: if s is not NULL, this function has data-dependent timing