Function generatePrime

  • 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, 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.

    Parameters

    • size: number

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

    • callback: ((err: Error, prime: ArrayBuffer) => void)
        • (err: Error, prime: ArrayBuffer): void
        • Parameters

          • err: Error
          • prime: ArrayBuffer

          Returns void

    Returns void

  • Parameters

    • size: number
    • options: "crypto".GeneratePrimeOptionsBigInt
    • callback: ((err: Error, prime: bigint) => void)
        • (err: Error, prime: bigint): void
        • Parameters

          • err: Error
          • prime: bigint

          Returns void

    Returns void

  • Parameters

    • size: number
    • options: "crypto".GeneratePrimeOptionsArrayBuffer
    • callback: ((err: Error, prime: ArrayBuffer) => void)
        • (err: Error, prime: ArrayBuffer): void
        • Parameters

          • err: Error
          • prime: ArrayBuffer

          Returns void

    Returns void

  • Parameters

    • size: number
    • options: "crypto".GeneratePrimeOptions
    • callback: ((err: Error, prime: bigint | ArrayBuffer) => void)
        • (err: Error, prime: bigint | ArrayBuffer): void
        • Parameters

          • err: Error
          • prime: bigint | ArrayBuffer

          Returns void

    Returns void

  • 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, 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.

    Parameters

    • size: number

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

    • callback: ((err: Error, prime: ArrayBuffer) => void)
        • (err: Error, prime: ArrayBuffer): void
        • Parameters

          • err: Error
          • prime: ArrayBuffer

          Returns void

    Returns void

  • Parameters

    • size: number
    • options: "crypto".GeneratePrimeOptionsBigInt
    • callback: ((err: Error, prime: bigint) => void)
        • (err: Error, prime: bigint): void
        • Parameters

          • err: Error
          • prime: bigint

          Returns void

    Returns void

  • Parameters

    • size: number
    • options: "crypto".GeneratePrimeOptionsArrayBuffer
    • callback: ((err: Error, prime: ArrayBuffer) => void)
        • (err: Error, prime: ArrayBuffer): void
        • Parameters

          • err: Error
          • prime: ArrayBuffer

          Returns void

    Returns void

  • Parameters

    • size: number
    • options: "crypto".GeneratePrimeOptions
    • callback: ((err: Error, prime: bigint | ArrayBuffer) => void)
        • (err: Error, prime: bigint | ArrayBuffer): void
        • Parameters

          • err: Error
          • prime: bigint | ArrayBuffer

          Returns void

    Returns void

Generated using TypeDoc