Skip to main content

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
EccProverExt
P256_MODULUS
P256_ORDER
Rv32WeierstrassBuilder
Rv32WeierstrassConfig
Rv32WeierstrassCpuBuilder
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