Crate openvm_ecc_guest

Source

Re-exports§

pub use halo2curves_axiom as halo2curves;
pub use once_cell;
pub use openvm_algebra_guest as algebra;
pub use openvm_ecc_sw_macros as sw_macros;

Modules§

ecdsa
ECDSA
k256
Types for Secp256k1 curve with intrinsic functions. Implements traits necessary for ECDSA.
p256
a.k.a. Secp256r1
weierstrass
Weierstrass curve traits

Macros§

impl_sw_affine
Macro to generate a newtype wrapper for AffinePoint that implements elliptic curve operations by using the underlying field operations according to the formulas for short Weierstrass curves.
impl_sw_group_ops
Implements Group on $struct_name assuming that $struct_name implements WeierstrassPoint. Assumes that Neg is implemented for &$struct_name.

Structs§

AffinePoint

Enums§

SwBaseFunct7
Short Weierstrass curves are configurable. The funct7 field equals curve_idx * SHORT_WEIERSTRASS_MAX_KINDS + base_funct7.

Constants§

OPCODE
This is custom-1 defined in RISC-V spec document
SW_FUNCT3

Traits§

CyclicGroup
Group

Functions§

msm
Multi-scalar multiplication via Pippenger’s algorithm