package
0.1.19
Repository: https://github.com/shutter-network/shutter.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

ComputeEonPublicKey computes the combined eon public key from the set of eon public key shares.
ComputeEonPublicKeyShare computes the eon public key share of the given keyper.
ComputeEonSecretKeyShare computes the keyper's secret key share from the set of poly evals received from the other keypers.
ComputeEpochID computes the id of the given epoch.
ComputeEpochSecretKey computes the epoch secret key from a set of shares.
ComputeEpochSecretKeyShare computes a keyper's epoch sk share.
No description provided by the author
DegreeFromThreshold returns the degree polynomials should have for the given threshold.
Encrypt encrypts a message for the epoch given by its id.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IdentifyVersion reads the version identifier byte from the given (marshaled) EncryptedMessage.
KeyperX computes the x value assigned to the keyper identified by its index.
NewLagrangeCoeffs computes the lagrange coefficients for the given array of keypers.
NewPolynomial creates a new polynomial from the given coefficients.
No description provided by the author
PadMessage pads a message and returns it as a sequence of blocks.
RandomPolynomial generates a random polynomial of given degree.
RandomSigma returns a random value to be used during encryption.
Shuffle shuffles the order of the transactions using the epoch secret key as a source of randomness.
No description provided by the author
UnpadMessage returns the message provided in padded form as a sequence of blocks.
ValidEval checks if the given value is a valid polynomial evaluation, i.e., if it is in Z_q.
VerifyEpochSecretKey checks that an epoch secret key is the correct key for an epoch given the eon public key.
VerifyEpochSecretKeyDeterministic checks that an epoch secret key is the correct key for an epoch given the eon public key and random inputs for sigma and message.
VerifyEpochSecretKeyShare checks that an epoch sk share published by a keyper is correct.
VerifyPolyEval checks that the evaluation of a polynomial is consistent with the public gammas.
XORBlocks xors the two blocks and returns the result.
ZeroGammas returns the zero value for gammas.

# Constants

BlockSize is the size in bytes of the blocks into which a message is split up before encryption.
No description provided by the author
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

EncryptedMessage represents the full output of the encryption procedure.
LagrangeCoeffs stores the lagrange coefficients that are needed to compute an epoch secret key for a certain array of keypers.
No description provided by the author

# Type aliases

Block represents a block of data.
EonPublicKey represents the combined eon public key.
EonPublicKeyShare represents a share of the eon public key.
EonSecretKeyShare represents a share of the eon secret key.
EpochID is the identifier of an epoch.
EpochSecretKey represents an epoch secret key.
EpochSecretKeyShare represents a keyper's share of the epoch sk key.
Gammas is a sequence of G2 points based on a polynomial.
Polynomial represents a polynomial over Z_q.