Skip to main content
generatePrimeSync - node__crypto.d.ts - Node documentation
function generatePrimeSync

Usage in Deno

```typescript import { generatePrimeSync } from "node:node__crypto.d.ts"; ```
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.add` and `options.rem` are both set, the prime will satisfy the condition that `prime % add = rem`. * If only `options.add` is set and `options.safe` is not `true`, the prime will satisfy the condition that `prime % add = 1`. * If only `options.add` is set and `options.safe` is set to `true`, the prime will instead satisfy the condition that `prime % add = 3`. This is necessary because `prime % add = 1` for `options.add > 2` would contradict the condition enforced by `options.safe`. * `options.rem` is ignored if `options.add` is not given. Both `options.add` and `options.rem` must be encoded as big-endian sequences if given as an `ArrayBuffer`, `SharedArrayBuffer`, `TypedArray`, `Buffer`, or `DataView`. By default, the prime is encoded as a big-endian sequence of octets in an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). If the `bigint` option is `true`, then a [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) is provided.

Parameters

size: number
The size (in bits) of the prime to generate.

Return Type

ArrayBuffer
generatePrimeSync(
size: number,
): bigint

Parameters

size: number

Return Type

bigint
generatePrimeSync(
size: number,
): ArrayBuffer

Parameters

size: number

Return Type

ArrayBuffer
generatePrimeSync(
size: number,
): ArrayBuffer | bigint

Parameters

size: number

Return Type

ArrayBuffer | bigint