The size (in bits) of the prime to generate.
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:
options.add
and options.rem
are both set, the prime will satisfy the
condition that prime % add = rem
.options.add
is set and options.safe
is not true
, the prime will
satisfy the condition that prime % add = 1
.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
, 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.
The size (in bits) of the prime to generate.
Generated using TypeDoc
Generates a pseudorandom prime of
size
bits.If
options.safe
istrue
, the prime will be a safe prime -- that is,(prime - 1) / 2
will also be a prime.The
options.add
andoptions.rem
parameters can be used to enforce additional requirements, e.g., for Diffie-Hellman:options.add
andoptions.rem
are both set, the prime will satisfy the condition thatprime % add = rem
.options.add
is set andoptions.safe
is nottrue
, the prime will satisfy the condition thatprime % add = 1
.options.add
is set andoptions.safe
is set totrue
, the prime will instead satisfy the condition thatprime % add = 3
. This is necessary becauseprime % add = 1
foroptions.add > 2
would contradict the condition enforced byoptions.safe
.options.rem
is ignored ifoptions.add
is not given.Both
options.add
andoptions.rem
must be encoded as big-endian sequences if given as anArrayBuffer
,SharedArrayBuffer
,TypedArray
,Buffer
, orDataView
.By default, the prime is encoded as a big-endian sequence of octets in an ArrayBuffer. If the
bigint
option istrue
, then a bigint is provided.