Module linear_relation

Source
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§

GroupMap
Ordered mapping of GroupVar to group elements assignments.
GroupVar
A wrapper representing an index for a group element (point).
LinearMap
A LinearMap represents a list of linear combinations over group elements.
LinearRelation
A wrapper struct coupling a LinearMap with the corresponding expected output (image) elements.
ScalarVar
A wrapper representing an index for a scalar variable.
Sum
Term
A term in a linear combination, representing scalar * elem.
Weighted

Enums§

ScalarTerm

Functions§

msm_pr
Perform a simple multi-scalar multiplication (MSM) over scalars and points.

Type Aliases§

LinearCombination
Represents a sparse linear combination of scalars and group elements.