Skip to main content

Crate hopr_protocol_pix

Crate hopr_protocol_pix 

Source

Modules§

ack_verify
Common acknowledgement verification helper shared by acknowledgement processors.
errors
generator 🔒
params 🔒
reconstructor 🔒
traits 🔒
types 🔒

Structs§

EncryptedPartialSsaShare
Contains an encrypted partial Session Stealth Address (SSA) share.
GeneratedShare
Contains a generated share from a specific previously committed SSA.
PartialSsaShare
Share of a polynomial used to reconstruct a portion of the Session Stealth Address (SSA).
PixParams
Everything about PIX two nodes must agree on for a Session, and the only encoding of it: three dimensions and the curve suite they are dimensions of.
RecoveredSsa
Contains the already recovered secret scalar corresponding to a specific SSA.
SsaCommitment
Contains commitment to a specific SSA and corresponding verifier.
SsaCommitmentGuard
Ownership of an Exit SSA commitment, released when dropped.
SsaCommitmentProof
Proof that whoever published an SsaCommitment knows its discrete logarithm.
SsaCommitmentState
Represents the current state of a specific SSA commitment on an Exit node.
SsaGeneratorConfig
Configuration for the SsaShareGenerator.
SsaId
Uniquely identifies a Session Stealth Address (SSA).
SsaPartCommitment
Commitment to the constant term of the polynomial with the given SsaPolynomialId.
SsaPolynomialId
Uniquely identifies a polynomial that allows forming a Session Stealth Address (SSA) corresponding to a specific Session.
SsaReconstructor
Allows server-side reconstruction of SSAs.
SsaReconstructorConfig
Configuration for the SSA reconstructor.
SsaRecoveryProgress
Absolute recovery progress for a single SSA cycle.
SsaShareGenerator
Generator for Session Stealth Address (SSA) shares distributed over Single Use Reply Blocks (SURBs).
TaggedEncryptedPartialSsaShare
This is a wrapped EncryptedPartialSsaShare extracted from a specific SURB (presumably along with the associated AcknowledgementChallenge).

Enums§

InvalidPixParams
Why a PixParams quadruple was rejected.
PixSuite
The elliptic curve a PIX deployment instantiates PixSpec over.
ShareResolution
Possible resolutions of a received acknowledgement that might be bound to decrypt an encrypted PIX share.

Constants§

AWAITING_ACK_ENTRY_BYTES
Live heap one entry in the awaiting-acknowledgement buffer costs, in bytes.
CONSTANT_TERM_COEFFICIENT
Coefficient index of the polynomial constant term.
DEFAULT_POLYS_PER_SSA
Number of polynomials per SSA.
DEFAULT_POLY_THRESHOLD
Minimum number of shares needed to recover one polynomial of an SSA.
DEFAULT_SURPLUS_SHARES
Shares emitted per polynomial beyond DEFAULT_POLY_THRESHOLD, to absorb losses.
MAX_DEFERRED_ACKS_PER_CYCLE
Cap on deferred acknowledgements held across all polynomials of one cycle.
MAX_DEFERRED_ACKS_PER_POLYNOMIAL
Cap on deferred acknowledgements held for a single polynomial.
MAX_POLYS_PER_SSA
Maximum number of polynomials per SSA supported by the SsaReconstructor.
MAX_POLY_THRESHOLD
Maximum SSA polynomial threshold supported by the SsaReconstructor.
MIN_POLY_THRESHOLD
Minimum SSA polynomial threshold.
SHARE_EMISSION_WINDOW
Number of polynomials the generator emits shares for concurrently.
SURPLUS_LOSS_TOLERANCE_DIVISOR 🔒
Share loss a polynomial’s surplus is sized to absorb, as a reciprocal: 1/5 is 20 %.

Traits§

CofactorGroup
This trait represents an element of a cryptographic group with a large prime-order subgroup and a comparatively-small cofactor.
EntryShareGenerator
ExitAcknowledgementShareProcessor
Allows reconstruction of SSAs at the Exit node.
Field
This trait represents an element of a field.
Group
This trait represents an element of a cryptographic group.
GroupEncoding
PixSpec
Specification of the Protocol for Incentivization of eXits (PIX) instantiation.

Functions§

default_surplus_for
Shares to emit per polynomial beyond threshold, to absorb losses.
into_completed_share 🔒

Type Aliases§

CoefficientIndex
Type used to index coefficients in a polynomial.
CompletedShare 🔒
PixDigest
Digest used for hashing operations.
PixGroup
Elliptic curve point used to represent the polynomial coefficient commitments.
PixGroupRepr
Serializable representation of the polynomial coefficient commitments.
PixScalar
Finite field used to represent the polynomial coefficients.
PolynomialIndex
Type used to index polynomials that reconstruct parts of a Session Stealth Addresses (SSA).
RawSsaIndex
Raw zeroable SSA Index.
SsaIndex
Type used to index Session Stealth Addresses (SSA).
SsaPolyIndexPrefixSize
Size of the SsaIndex and PolynomialIndex prefix prepended to the encrypted share.