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

Usage in Deno

```typescript import { generatePrime } from "node:node__crypto.d.ts"; ```
generatePrime(
size: number,
callback: (
err: Error | null,
prime: ArrayBuffer,
) => void
,
): void
> [!WARNING] Deno compatibility > The `safe`, `add` and `rem` option is not supported. 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.
callback: (
err: Error | null,
prime: ArrayBuffer,
) => void

Return Type

void
generatePrime(
size: number,
callback: (
err: Error | null,
prime: bigint,
) => void
,
): void
> [!WARNING] Deno compatibility > The `safe`, `add` and `rem` option is not supported.

Parameters

size: number
callback: (
err: Error | null,
prime: bigint,
) => void

Return Type

void
generatePrime(
size: number,
callback: (
err: Error | null,
prime: ArrayBuffer,
) => void
,
): void
> [!WARNING] Deno compatibility > The `safe`, `add` and `rem` option is not supported.

Parameters

size: number
callback: (
err: Error | null,
prime: ArrayBuffer,
) => void

Return Type

void
generatePrime(
size: number,
callback: (
err: Error | null,
prime: ArrayBuffer | bigint,
) => void
,
): void
> [!WARNING] Deno compatibility > The `safe`, `add` and `rem` option is not supported.

Parameters

size: number
callback: (
err: Error | null,
prime: ArrayBuffer | bigint,
) => void

Return Type

void