Modified Pointcheval-Sanders blind signature used in Coconut.

Hierarchy (view full)

Constructors

Properties

value: Uint8Array

Accessors

  • get bytes(): Uint8Array
  • Return the wrapped bytearray

    Returns Uint8Array

  • get hex(): string
  • Return the hex representation of the wrapped bytearray

    Returns string

  • get length(): number
  • Return the length of the wrapped bytearray

    Returns number

Methods

  • Generates a blind signature over the commitment of unrevealed messages and revealed messages

    Parameters

    • messages: Iterable<PSCommitmentOrMessage>

      Iterator producing blinded messages (commitments) or revealed messages

    • secretKey: PSSecretKey
    • h: Uint8Array

    Returns PSBlindSignature

  • Generate blinding for creating the commitment used in the request for blind signature

    Parameters

    • Optionalseed: Uint8Array

      Optional seed to serve as entropy for the blinding.

    Returns Uint8Array

  • Generate a request for a blind signature

    Parameters

    • messagesToBlind: Map<number, Uint8Array>

      messages the requester wants to hide from the signer. The key of the map is the index of the message as per the params.

    • params: PSSignatureParams
    • h: Uint8Array
    • blindings: Map<number, Uint8Array>

      If no blinding is provided for a message, a random blinding will be generated for each message and written to this map

    • blinding: Uint8Array = ...
    • revealedMessages: Map<number, Uint8Array> = ...

      Any messages that the requester wishes to inform the signer about. This is for informational purpose only and has no cryptographic use.

    Returns [Uint8Array, PSBlindSignatureRequest]