Crate openvm_ecc_circuit

Crate openvm_ecc_circuit 

Source

Structs§

CurveConfig
EcAddNeExecutor
BLOCK_SIZE: how many cells do we read at a time, must be a power of 2. BLOCKS: how many blocks do we need to represent one input or output For example, for bls12_381, BLOCK_SIZE = 16, each element has 3 blocks and with two elements per input AffinePoint, BLOCKS = 6. For secp256k1, BLOCK_SIZE = 32, BLOCKS = 2.
EcDoubleExecutor
BLOCK_SIZE: how many cells do we read at a time, must be a power of 2. BLOCKS: how many blocks do we need to represent one input or output For example, for bls12_381, BLOCK_SIZE = 16, each element has 3 blocks and with two elements per input AffinePoint, BLOCKS = 6. For secp256k1, BLOCK_SIZE = 32, BLOCKS = 2.
EccCpuProverExt
EccHybridProverExt
EccProverExt
HybridWeierstrassChip
P256_MODULUS
P256_ORDER
Rv32WeierstrassBuilder
This builder will do tracegen for the RV32IM extensions on GPU but the modular and ecc extensions on CPU.
Rv32WeierstrassConfig
Rv32WeierstrassCpuBuilder
Rv32WeierstrassHybridBuilder
This builder will do tracegen for the RV32IM extensions on GPU but the modular and ecc extensions on CPU.
SECP256K1_MODULUS
SECP256K1_ORDER
WeierstrassExtension

Enums§

CurveType
Rv32WeierstrassConfigExecutor
WeierstrassExtensionExecutor

Constants§

ECC_BLOCKS_32
Blocks for ECC with 32-limb coordinates: 2 * (32 / 4) = 16 blocks
ECC_BLOCKS_48
Blocks for ECC with 48-limb coordinates: 2 * (48 / 4) = 24 blocks
NUM_LIMBS_32
Number of limbs for 256-bit (32-byte) moduli
NUM_LIMBS_48
Number of limbs for 384-bit (48-byte) moduli
P256_ECC_STRUCT_NAME
SECP256K1_ECC_STRUCT_NAME

Statics§

P256_CONFIG
SECP256K1_CONFIG

Functions§

ec_add_ne_expr
ec_double_ne_expr
get_ec_addne_air
get_ec_addne_chip
get_ec_addne_executor
get_ec_double_air
get_ec_double_chip
get_ec_double_executor

Type Aliases§

WeierstrassAir
WeierstrassChip