Module halo2_gadgets::ecc::chip
source · [−]Expand description
Chip implementations for the ECC gadgets.
Re-exports
pub use constants::*;
Modules
Constants required for the ECC chip.
Structs
An EccInstructions
chip that uses 10 advice columns.
A curve point represented in affine (x, y) coordinates, or the identity represented as (0, 0). Each coordinate is assigned to a cell.
A full-width scalar used for fixed-base scalar multiplication.
This is decomposed into 85 3-bit windows in little-endian order,
i.e. windows
= [k_0, k_1, …, k_84] (for a 255-bit scalar)
where scalar = k_0 + k_1 * (2^3) + ... + k_84 * (2^3)^84
and
each k_i
is in the range [0..2^3).
A signed short scalar used for fixed-base scalar multiplication.
A short scalar must have magnitude in the range [0..2^64), with
a sign of either 1 or -1.
This is decomposed into 3-bit windows in little-endian order
using a running sum z
, where z_{i+1} = (z_i - a_i) / (2^3)
for element α = a_0 + (2^3) a_1 + … + (2^{3(n-1)}) a_{n-1}.
Each a_i
is in the range [0..2^3).
A non-identity point represented in affine (x, y) coordinates. Each coordinate is assigned to a cell.
Enums
Type marker representing a base field element being used as a scalar in fixed-base scalar multiplication.
Type marker representing a full-width scalar for use in fixed-base scalar multiplication.
An enumeration of the possible types of scalars used in variable-base multiplication.
Type marker representing a signed 64-bit scalar for use in fixed-base scalar multiplication.
Traits
Returns information about a fixed point that is required by EccChip
.
A trait representing the kind of scalar used with a particular FixedPoint
.