MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / generateKeyPair

Function generateKeyPair

vmm/src/x25519.js:1645–1664  ·  view source on GitHub ↗

* Generates a new key pair from the given 32-byte secret seed (which should be generated with a CSPRNG) and returns it as object. * * The returned keys can be used for signing and key agreement. * * @export * @param {Uint8Array} seed required * @returns

(seed)

Source from the content-addressed store, hash-verified

1643 * @returns
1644 */
1645 function generateKeyPair(seed) {
1646 checkArrayTypes(seed);
1647 if (seed.length !== 32)
1648 throw new Error('wrong seed length');
1649 var sk = new Uint8Array(32);
1650 var pk = new Uint8Array(32);
1651 for (var i = 0; i < 32; i++)
1652 sk[i] = seed[i];
1653 crypto_scalarmult_base(pk, sk);
1654 // Turn secret key into the correct format.
1655 sk[0] &= 248;
1656 sk[31] &= 127;
1657 sk[31] |= 64;
1658 // Remove sign bit from public key.
1659 pk[31] &= 127;
1660 return {
1661 public: pk,
1662 private: sk,
1663 };
1664 }
1665
1666 globalThis.x25519 = {
1667 sharedKey,

Callers

nothing calls this directly

Calls 2

checkArrayTypesFunction · 0.70
crypto_scalarmult_baseFunction · 0.70

Tested by

no test coverage detected