Expand description
§Linear Maps and Relations Handling.
This module provides utilities for describing and manipulating linear group linear maps, supporting sigma protocols over group-based statements (e.g., discrete logarithms, DLEQ proofs). See Maurer09.
It includes:
LinearCombination
: a sparse representation of scalar multiplication relations.LinearMap
: a collection of linear combinations acting on group elements.LinearRelation
: a higher-level structure managing linear maps and their associated images.
Structs§
- Group
Map - Ordered mapping of GroupVar to group elements assignments.
- Group
Var - A wrapper representing an index for a group element (point).
- Linear
Map - A LinearMap represents a list of linear combinations over group elements.
- Linear
Relation - A wrapper struct coupling a
LinearMap
with the corresponding expected output (image) elements. - Scalar
Var - A wrapper representing an index for a scalar variable.
- Sum
- Term
- A term in a linear combination, representing
scalar * elem
. - Weighted
Enums§
Functions§
- msm_pr
- Perform a simple multi-scalar multiplication (MSM) over scalars and points.
Type Aliases§
- Linear
Combination - Represents a sparse linear combination of scalars and group elements.