diff --git a/src/core/utils/x25519.ts b/src/core/utils/x25519.ts index 2729d80a..7e69f339 100644 --- a/src/core/utils/x25519.ts +++ b/src/core/utils/x25519.ts @@ -3,6 +3,8 @@ import { x25519 } from "@noble/curves/ed25519"; export function getX25519PrivateKey(): Uint8Array { const key = x25519.utils.randomPrivateKey(); + // scalar clamping for curve25519, according to + // https://www.rfc-editor.org/rfc/rfc7748#section-5 key[0] &= 248; key[31] &= 127; key[31] |= 64;