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
.