Documentation ¶
Overview ¶
Package mpcsetup provides tools for multiparty setup ceremonies for various protocols, based on the MMPORPG paper https://eprint.iacr.org/2017/1050.pdf
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BeaconContributions ¶
BeaconContributions provides a reproducible slice of field elements used for the final update in a multiparty setup ceremony. beaconChallenge is a publicly checkable value at time t, of moderate entropy to any party before time t.
func SameRatioMany ¶
SameRatioMany proves that all input slices are geometric sequences with the same ratio. All slices must be of length at least 2. There must be slices in each group 𝔾₁, 𝔾₂. Caller must ensure that in one group, there is a slice with a non-penultimate non-zero element and in the other, there is a slice with a non-zero element
func UpdateMonomialsG1 ¶
UpdateMonomialsG1 A[i] <- r^i.A[i]
Types ¶
type UpdateProof ¶
type UpdateProof struct {
// contains filtered or unexported fields
}
func UpdateValues ¶
func UpdateValues(contributionValue *fr.Element, challenge []byte, dst byte, representations ...any) UpdateProof
UpdateValues scales g1 and g2 representations by the given contribution value and provides a proof of update correctness. If the provided contribution value is zero, it will be randomized.
func (*UpdateProof) ReadFrom ¶
func (x *UpdateProof) ReadFrom(reader io.Reader) (n int64, err error)
ReadFrom implements io.ReaderFrom
func (*UpdateProof) Verify ¶
func (x *UpdateProof) Verify(challenge []byte, dst byte, representations ...ValueUpdate) error
Verify that the updates to representations are consistent with the contribution in x. Verify does not subgroup check the representations.
type ValueUpdate ¶
type ValueUpdate struct {
Previous, Next any
}