function generatePrimeSync
Usage in Deno
import { generatePrimeSync } from "node:crypto";
generatePrimeSync(size: number): ArrayBuffer
Generates a pseudorandom prime of size bits.
If options.safe is true, the prime will be a safe prime -- that is,(prime - 1) / 2 will also be a prime.
The options.add and options.rem parameters can be used to enforce additional
requirements, e.g., for Diffie-Hellman:
- If
options.addandoptions.remare both set, the prime will satisfy the condition thatprime % add = rem. - If only
options.addis set andoptions.safeis nottrue, the prime will satisfy the condition thatprime % add = 1. - If only
options.addis set andoptions.safeis set totrue, the prime will instead satisfy the condition thatprime % add = 3. This is necessary becauseprime % add = 1foroptions.add > 2would contradict the condition enforced byoptions.safe. options.remis ignored ifoptions.addis not given.
Both options.add and options.rem must be encoded as big-endian sequences
if given as an ArrayBuffer, SharedArrayBuffer, TypedArray, Buffer, orDataView.
By default, the prime is encoded as a big-endian sequence of octets
in an ArrayBuffer. If the bigint option is true, then a
bigint is provided.
ArrayBuffer
generatePrimeSync(size: number,options: GeneratePrimeOptionsBigInt,): bigint
options: GeneratePrimeOptionsBigInt
bigint
generatePrimeSync(size: number,options: GeneratePrimeOptionsArrayBuffer,): ArrayBuffer
options: GeneratePrimeOptionsArrayBuffer
ArrayBuffer
generatePrimeSync(size: number,options: GeneratePrimeOptions,): ArrayBuffer | bigint
options: GeneratePrimeOptions
ArrayBuffer | bigint