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.
Configuration for EccChip.
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.