Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
secp256r1_fixed_base_mul_ultra.fuzzer.cpp File Reference

Differential fuzzer for the secp256r1 fixed-base ROM-table multiplication. More...

Go to the source code of this file.

Typedefs

using Builder = bb::UltraCircuitBuilder
 
using Curve = bb::stdlib::secp256r1< Builder >
 
using element_ct = typename Curve::Group
 
using scalar_ct = typename Curve::ScalarField
 
using fr_native = typename Curve::ScalarFieldNative
 
using g1_native = typename Curve::GroupNative
 
using affine_native = typename g1_native::affine_element
 

Functions

int LLVMFuzzerTestOneInput (const uint8_t *Data, size_t Size)
 

Detailed Description

Differential fuzzer for the secp256r1 fixed-base ROM-table multiplication.

Builds a fresh UltraCircuitBuilder per fuzz iteration, witnesses a random scalar u, computes R = u · G (in-circuit) via element::secp256r1_fixed_base_mul, and compares against the native multiplication. Also asserts the circuit is satisfied.

Covers the 7-bit + short-tail Pedersen-style window construction, the lo/hi plookup chain, and the total-offset subtraction (including the u = 0 → infinity edge case).

Definition in file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.

Typedef Documentation

◆ affine_native

using affine_native = typename g1_native::affine_element

Definition at line 38 of file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.

◆ Builder

◆ Curve

◆ element_ct

using element_ct = typename Curve::Group

Definition at line 34 of file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.

◆ fr_native

using fr_native = typename Curve::ScalarFieldNative

Definition at line 36 of file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.

◆ g1_native

using g1_native = typename Curve::GroupNative

Definition at line 37 of file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.

◆ scalar_ct

using scalar_ct = typename Curve::ScalarField

Definition at line 35 of file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.

Function Documentation

◆ LLVMFuzzerTestOneInput()

int LLVMFuzzerTestOneInput ( const uint8_t *  Data,
size_t  Size 
)

Definition at line 40 of file secp256r1_fixed_base_mul_ultra.fuzzer.cpp.