Common functionality of the BBS+ and BBS threshold signer

Hierarchy (view full)

Constructors

  • Parameters

    • id: number

      id of this participant

    • others: Set<number>

      ids of all other participant

    • threshold: number

      the threshold for this signature

    • sigBatchSize: number

      the number of signatures that will be produced with on the completion of this protocol.

    • protocolId: Uint8Array

      unique id

    Returns ThresholdBbsPlusSigner

Properties

comms?: Commitments
commsForZero?: Map<number, CommitmentsForZeroSharing>
id: number
msg1s?: Map<number, Message1>
msg2s?: Map<number, Message2>
others: Set<number>
protocolId: Uint8Array
recvCommFrom?: Set<number>
recvSharesFrom?: Set<number>
round1Output?: Uint8Array
round2Output?: Uint8Array
sigBatchSize: number
threshold: number

Methods

  • Returns ((phase1: Uint8Array, secretKey: Uint8Array) => Uint8Array)

      • (phase1, secretKey): Uint8Array
      • Parameters

        • phase1: Uint8Array
        • secretKey: Uint8Array

        Returns Uint8Array

  • Returns ((phase1: Uint8Array, otherId: number) => [Uint8Array, Uint8Array])

      • (phase1, otherId): [Uint8Array, Uint8Array]
      • Parameters

        • phase1: Uint8Array
        • otherId: number

        Returns [Uint8Array, Uint8Array]

  • Returns ((phase1: Uint8Array, otherIds: number[]) => [Uint8Array, Uint8Array][])

      • (phase1, otherIds): [Uint8Array, Uint8Array][]
      • Parameters

        • phase1: Uint8Array
        • otherIds: number[]

        Returns [Uint8Array, Uint8Array][]

  • Returns ((phase1: Uint8Array, senderId: number, commitments: Uint8Array, commitmentsZeroShare: Uint8Array) => Uint8Array)

      • (phase1, senderId, commitments, commitmentsZeroShare): Uint8Array
      • Parameters

        • phase1: Uint8Array
        • senderId: number
        • commitments: Uint8Array
        • commitmentsZeroShare: Uint8Array

        Returns Uint8Array

  • Returns ((phase1: Uint8Array, senderId: number, shares: Uint8Array, zeroShares: Uint8Array) => Uint8Array)

      • (phase1, senderId, shares, zeroShares): Uint8Array
      • Parameters

        • phase1: Uint8Array
        • senderId: number
        • shares: Uint8Array
        • zeroShares: Uint8Array

        Returns Uint8Array

  • Returns ((phase2: Uint8Array, senderId: number, message: Uint8Array, gadgetVector: Uint8Array) => [Uint8Array, Uint8Array])

      • (phase2, senderId, message, gadgetVector): [Uint8Array, Uint8Array]
      • Parameters

        • phase2: Uint8Array
        • senderId: number
        • message: Uint8Array
        • gadgetVector: Uint8Array

        Returns [Uint8Array, Uint8Array]

  • Returns ((phase2: Uint8Array, senderId: number, message: Uint8Array, gadgetVector: Uint8Array) => Uint8Array)

      • (phase2, senderId, message, gadgetVector): Uint8Array
      • Parameters

        • phase2: Uint8Array
        • senderId: number
        • message: Uint8Array
        • gadgetVector: Uint8Array

        Returns Uint8Array

  • Returns ((sigBatchSize: number, participantId: number, others: Set<number>, protocolId: Uint8Array) => [Uint8Array, Uint8Array, Map<number, Uint8Array>])

      • (sigBatchSize, participantId, others, protocolId): [Uint8Array, Uint8Array, Map<number, Uint8Array>]
      • Parameters

        • sigBatchSize: number
        • participantId: number
        • others: Set<number>
        • protocolId: Uint8Array

        Returns [Uint8Array, Uint8Array, Map<number, Uint8Array>]

  • Returns ((participantId: number, others: Set<number>, phase1Output: Uint8Array, baseOTOutput: Uint8Array, gadgetVector: Uint8Array) => [Uint8Array, Map<number, Uint8Array>])

      • (participantId, others, phase1Output, baseOTOutput, gadgetVector): [Uint8Array, Map<number, Uint8Array>]
      • Parameters

        • participantId: number
        • others: Set<number>
        • phase1Output: Uint8Array
        • baseOTOutput: Uint8Array
        • gadgetVector: Uint8Array

        Returns [Uint8Array, Map<number, Uint8Array>]