Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/ZK-Garage/plonk
/ functions
Functions
420 in github.com/ZK-Garage/plonk
⨍
Functions
420
◇
Types & classes
64
↓ 2 callers
Method
conditional_point_neg
Adds to the circuit description the conditional negation of a point: bit == 1 => -value, bit == 0 => value, # Note The `bit` used as input which is a
plonk-core/src/constraint_system/ecc/mod.rs:165
↓ 2 callers
Method
conditional_point_select
Adds to the circuit description the conditional selection of the a point between two of them: ```text bit == 1 => point_1, bit == 0 => point_0, ```
plonk-core/src/constraint_system/ecc/mod.rs:145
↓ 2 callers
Method
eliminate
Assumes matrix is partially reduced to upper triangular. `column` is the column to eliminate from all rows. Returns `None` if either: - no non-zero pi
plonk-hashing/src/poseidon/matrix.rs:247
↓ 2 callers
Function
inner_product
(a: &[F], b: &[F])
plonk-hashing/src/poseidon/matrix.rs:363
↓ 2 callers
Method
is_eq_with_output
A gate which outputs a variable whose value is 1 if the two input variables have equal values and whose value is 0 otherwise.
plonk-core/src/constraint_system/composer.rs:403
↓ 2 callers
Method
key_transcript
Keys the [`Transcript`] with additional seed information Wrapper around [`Transcript::append_message`]. [`Transcript`]: merlin::Transcript [`Transcri
plonk-core/src/proof_system/prover.rs:155
↓ 2 callers
Method
logic_gate
Performs a logical AND or XOR op between the inputs provided for the specified number of bits. Each logic gate adds `(num_bits / 2) + 1` gates to the
plonk-core/src/constraint_system/logic.rs:36
↓ 2 callers
Function
n_sboxes
The number of S-boxes (also called the "cost") given by equation (14) in the Poseidon paper: `cost = t * R_F + R_P`.
plonk-hashing/src/poseidon/round_numbers.rs:15
↓ 2 callers
Method
output_hash
Output the hash
plonk-hashing/src/poseidon/zprize_constraints.rs:82
↓ 2 callers
Method
pad
Pads the circuit to the next power of two. # Note `diff` is the difference between circuit size and next power of two.
plonk-core/src/proof_system/preprocess.rs:64
↓ 2 callers
Function
powers_of
(scalar: F)
plonk-core/src/util.rs:16
↓ 2 callers
Method
preprocess_prover
These are the parts of preprocessing that the prover must compute Although the prover does not need the verification key, he must compute the commitme
plonk-core/src/proof_system/preprocess.rs:162
↓ 2 callers
Method
preprocess_shared
FIXME: Add struct for prover side (last two tuple items).
plonk-core/src/proof_system/preprocess.rs:318
↓ 2 callers
Method
push
Pushes a row to the `LookupTable` vector.
plonk-core/src/lookup/lookup_table.rs:37
↓ 2 callers
Method
reduce_to_identity
Perform row operations to reduce `self` to the identity matrix. `self` must be upper triangular. All operations are performed also on `shadow` to tra
plonk-hashing/src/poseidon/matrix.rs:324
↓ 2 callers
Function
test_correct_permutation_poly
( n: usize, mut perm: Permutation, domain: &GeneralEvaluationDomain<F>, w_l: V
plonk-core/src/permutation/mod.rs:1243
↓ 2 callers
Method
to_polynomial
Treats each element in the multiset as evaluation points Computes IFFT of the set of evaluation points and returns the coefficients as a Polynomial da
plonk-core/src/lookup/multiset.rs:194
↓ 2 callers
Method
transpose
(&self)
plonk-hashing/src/poseidon/matrix.rs:46
↓ 2 callers
Method
verify
Performs the verification of a [`Proof`] returning a boolean result.
plonk-core/src/proof_system/proof.rs:123
↓ 1 callers
Function
K1
()
plonk-core/src/permutation/constants.rs:12
↓ 1 callers
Function
K2
()
plonk-core/src/permutation/constants.rs:16
↓ 1 callers
Function
K3
()
plonk-core/src/permutation/constants.rs:20
↓ 1 callers
Method
add
( c: &mut StandardComposer<F, P>, x: &Self::Field, y: &Self::Field, )
plonk-hashing/src/poseidon/zprize_constraints.rs:277
↓ 1 callers
Method
add_blinding_factors
This function is used to add a blinding factors to the witness and permutation polynomials. All gate selectors are turned off to guarantee the constra
plonk-core/src/constraint_system/composer.rs:604
↓ 1 callers
Method
add_dummy_constraints
This function adds two dummy gates to the circuit description which are guaranteed to always satisfy the gate equation. This function is only used in
plonk-core/src/constraint_system/composer.rs:509
↓ 1 callers
Method
add_dummy_lookup_table
Adds 3 dummy rows to the lookup table The first rows match the witness values used for `add_dummy_constraint` This function is only used for benchmark
plonk-core/src/constraint_system/composer.rs:577
↓ 1 callers
Method
and_gate
Adds a logical AND gate that performs the bitwise AND between two values for the specified first `num_bits` returning a [`Variable`] holding the resul
plonk-core/src/constraint_system/logic.rs:349
↓ 1 callers
Method
build
(&mut self)
plonk-core/src/constraint_system/arithmetic.rs:92
↓ 1 callers
Function
check_bit_consistency
Ensures that the bit is either `+1`, `-1`, or `0`.
plonk-core/src/proof_system/widget/ecc/fixed_base_scalar_mul.rs:150
↓ 1 callers
Method
check_poly_same_len
Checks that all of the wires of the composer have the same length.
plonk-core/src/proof_system/preprocess.rs:101
↓ 1 callers
Method
circuit_domain_sep
(&mut self, n: u64)
plonk-core/src/transcript.rs:46
↓ 1 callers
Function
classical_point_addition
Adds two curve points together using the classical point addition algorithm. This method is slower than WNAF and is just meant to be the source of tru
plonk-core/src/constraint_system/ecc/curve_addition/variable_base_gate.rs:113
↓ 1 callers
Method
compile
( &mut self, u_params: &PC::UniversalParams, )
plonk-core/src/circuit.rs:226
↓ 1 callers
Function
compress_round_constants
- Compress constants by pushing them back through linear layers and through the identity components of partial layers. - As a result, constants need o
plonk-hashing/src/poseidon/preprocessing.rs:10
↓ 1 callers
Function
compute_barycentric_eval
( evaluations: &[F], point: F, domain: &GeneralEvaluationDomain<F>, )
plonk-core/src/proof_system/proof.rs:660
↓ 1 callers
Method
compute_lineariser_check_is_one
Computes the lineariser check.
plonk-core/src/proof_system/permutation.rs:285
↓ 1 callers
Method
compute_lineariser_copy_range_check
Computes the following: ```text -(a_eval + beta * sigma_1 + gamma)(b_eval + beta * sigma_2 + gamma) (c_eval + beta * sigma_3 + gamma) * beta *z_eval
plonk-core/src/proof_system/permutation.rs:246
↓ 1 callers
Method
compute_lineariser_identity_range_check
Computes the following: ```text (a_eval + beta * z_challenge + gamma)(b_eval + beta * K1 * z_challenge + gamma)(c_eval + beta * K2 * z_challenge + ga
plonk-core/src/proof_system/permutation.rs:201
↓ 1 callers
Method
compute_lookup_permutation_poly
( &self, domain: &GeneralEvaluationDomain<F>, f: &[F], t: &[F], h_1: &
plonk-core/src/permutation/mod.rs:754
↓ 1 callers
Method
compute_lookup_quotient_term
Compute lookup portion of quotient polynomial
plonk-core/src/proof_system/widget/lookup.rs:42
↓ 1 callers
Method
compute_quotient_copy_range_check_i
Computes the following: ```text (a(x) + beta* Sigma1(X) + gamma) (b(X) + beta * Sigma2(X) + gamma) (c(X) + beta * Sigma3(X) + gamma)(d(X) + beta * Si
plonk-core/src/proof_system/permutation.rs:120
↓ 1 callers
Method
compute_quotient_i
Compute evals of lookup portion of quotient polynomial
plonk-core/src/proof_system/widget/lookup.rs:97
↓ 1 callers
Method
compute_quotient_identity_range_check_i
Computes the following: ```text (a(x) + beta * X + gamma) (b(X) + beta * k1 * X + gamma) (c(X) + beta k2 * X + gamma)(d(X) + beta * k3 * X + gamma)z(
plonk-core/src/proof_system/permutation.rs:92
↓ 1 callers
Method
compute_quotient_term_check_one_i
(&self, z_i: F, l1_alpha_sq: F)
plonk-core/src/proof_system/permutation.rs:151
↓ 1 callers
Method
compute_r0
( &self, domain: &GeneralEvaluationDomain<F>, pub_inputs: &[F], alpha: F,
plonk-core/src/proof_system/proof.rs:444
↓ 1 callers
Method
compute_slow_permutation_poly
( &self, domain: &GeneralEvaluationDomain<F>, w_l: I, w_r: I, w_o: I,
plonk-core/src/permutation/mod.rs:216
↓ 1 callers
Function
compute_vanishing_poly_over_coset
Given that the domain size is `D` This function computes the `D` evaluation points for the vanishing polynomial of degree `n` over a coset
plonk-core/src/proof_system/preprocess.rs:498
↓ 1 callers
Function
compute_wnaf_point_multiples
( base_point: TEGroupProjective<P>, )
plonk-core/src/constraint_system/ecc/scalar_mul/fixed_base.rs:19
↓ 1 callers
Method
conditional_select_identity
Adds to the circuit description the conditional selection of the identity point: ```text bit == 1 => point, bit == 0 => 1, ``` # Note The `bit` use
plonk-core/src/constraint_system/ecc/mod.rs:197
↓ 1 callers
Method
conditional_select_one
Adds the polynomial f(x) = 1 - x + xa to the circuit description where `x = bit`. If: bit == 1 => value, bit == 0 => 1, # Note The `bit` used as inpu
plonk-core/src/constraint_system/composer.rs:480
↓ 1 callers
Method
conditional_select_zero
Adds the polynomial f(x) = x * a to the circuit description where `x = bit`. If: bit == 1 => value, bit == 0 => 0, # Note The `bit` used as input whi
plonk-core/src/constraint_system/composer.rs:460
↓ 1 callers
Method
contains
Checks if an element is in the MultiSet
plonk-core/src/lookup/multiset.rs:187
↓ 1 callers
Function
delta_xor_and
(a: F, b: F, w: F, c: F, q_c: F)
plonk-core/src/proof_system/widget/logic.rs:114
↓ 1 callers
Function
extract_bit
Extracts the bit value from the accumulated bit.
plonk-core/src/proof_system/widget/ecc/fixed_base_scalar_mul.rs:142
↓ 1 callers
Function
factor_to_sparse_matrixes
( base_matrix: Matrix<F>, n: usize, )
plonk-hashing/src/poseidon/mds.rs:160
↓ 1 callers
Method
fixed_group_add
Fixed group addition of a point.
plonk-core/src/constraint_system/ecc/curve_addition/fixed_base_gate.rs:77
↓ 1 callers
Method
from_wire_values
This allows the witness table to be filled directly without taking any values, or the results, from the lookup table. If the values do no exist in the
plonk-core/src/lookup/witness_table.rs:38
↓ 1 callers
Function
generate_constants
From the paper THe parameter describes the initial state of constant generation (80-bits) `field`: description of field. b0, b1 `sbox`: description of
plonk-hashing/src/poseidon/round_constant.rs:12
↓ 1 callers
Method
get_next_bytes
(&mut self, result: &mut [u8])
plonk-hashing/src/poseidon/round_constant.rs:137
↓ 1 callers
Method
group_gen_inv
(&self)
plonk-core/src/util.rs:75
↓ 1 callers
Method
insert_add_row
Insert a new row for an addition operation. This function needs to know the upper bound of the amount of addition operations that will be done in the
plonk-core/src/lookup/lookup_table.rs:51
↓ 1 callers
Method
insert_and_row
Insert a new row for an AND operation. This function needs to know the upper bound of the amount of AND operations that will be done in the plookup t
plonk-core/src/lookup/lookup_table.rs:81
↓ 1 callers
Method
insert_mul_row
Insert a new row for a multiplication operation. This function needs to know the upper bound of the amount of multiplication operations that will be
plonk-core/src/lookup/lookup_table.rs:61
↓ 1 callers
Method
insert_multi_mul
Function builds a table from mutiple operations. If, for example, we are using lookup tables for both XOR and mul operataions, we can create a table w
plonk-core/src/lookup/lookup_table.rs:111
↓ 1 callers
Method
into_dense_poly
Returns the public inputs as a vector of `n` evaluations. The provided `n` must be a power of 2.
plonk-core/src/proof_system/pi.rs:112
↓ 1 callers
Method
is_identity
(&self)
plonk-hashing/src/poseidon/matrix.rs:92
↓ 1 callers
Function
kronecker_delta
(i: usize, j: usize)
plonk-hashing/src/poseidon/matrix.rs:404
↓ 1 callers
Method
lookup
Attempts to find an output value, given two input values, by querying the lookup table. The final wire holds the index of the table. The element must
plonk-core/src/lookup/lookup_table.rs:172
↓ 1 callers
Method
mul_by_scalar
(&self, scalar: F)
plonk-hashing/src/poseidon/matrix.rs:111
↓ 1 callers
Method
mul_col_vec
return `self @ vec`, treating `vec` as a column vector.
plonk-hashing/src/poseidon/matrix.rs:129
↓ 1 callers
Method
mul_row_vec_at_left
return `vec @ self`, treating `vec` as a row vector.
plonk-hashing/src/poseidon/matrix.rs:163
↓ 1 callers
Method
out
(&mut self, q_o: F)
plonk-core/src/constraint_system/arithmetic.rs:77
↓ 1 callers
Method
pad
Extends the length of the multiset to n elements The `n` will be the size of the arithmetic circuit. This will extend the vectors to the size
plonk-core/src/lookup/multiset.rs:70
↓ 1 callers
Method
position
Returns the position of the element in the Multiset. Returns None if the element is not found.
plonk-core/src/lookup/multiset.rs:112
↓ 1 callers
Method
preprocess_verifier
The verifier only requires the commitments in order to verify a [`Proof`](super::Proof) We can therefore speed up preprocessing for the verifier by sk
plonk-core/src/proof_system/preprocess.rs:299
↓ 1 callers
Method
prove_with_preprocessed
Creates a [`Proof]` that demonstrates that a circuit is satisfied. # Note If you intend to construct multiple [`Proof`]s with different witnesses, aft
plonk-core/src/proof_system/prover.rs:165
↓ 1 callers
Function
round_numbers_are_secure
Returns `true` if the provided round numbers satisfy the security inequalities specified in the Poseidon paper.
plonk-hashing/src/poseidon/round_numbers.rs:82
↓ 1 callers
Function
round_numbers_base
(arity: usize)
plonk-hashing/src/poseidon/round_numbers.rs:21
↓ 1 callers
Method
scalar_decomposition
( &mut self, witness_var: Variable, witness_scalar: F, )
plonk-core/src/constraint_system/ecc/scalar_mul/variable_base.rs:56
↓ 1 callers
Method
seed_transcript
Adds the circuit description to the transcript.
plonk-core/src/proof_system/widget/mod.rs:258
↓ 1 callers
Function
shift_poly_by_one
shifts the polynomials by one root of unity
plonk-core/src/permutation/mod.rs:1236
↓ 1 callers
Method
size
(&self)
plonk-hashing/src/poseidon/mds.rs:141
↓ 1 callers
Method
size_inv
(&self)
plonk-core/src/util.rs:59
↓ 1 callers
Method
split_tx_poly
NOTE: This is an ok type for internal use.
plonk-core/src/proof_system/prover.rs:107
↓ 1 callers
Function
test_mds_matrices_creation_aux
(width: usize)
plonk-hashing/src/poseidon/mds.rs:193
↓ 1 callers
Function
test_swapping_aux
(width: usize)
plonk-hashing/src/poseidon/mds.rs:225
↓ 1 callers
Method
total_size
Returns the length of the circuit that can accommodate the lookup table.
plonk-core/src/constraint_system/composer.rs:139
↓ 1 callers
Method
v_h_coset_8n
(&self)
plonk-core/src/proof_system/widget/mod.rs:343
↓ 1 callers
Method
variable_base_scalar_mul
Adds a variable-base scalar multiplication to the circuit description. # Note If you're planning to multiply always by the generator of the scalar f
plonk-core/src/constraint_system/ecc/scalar_mul/variable_base.rs:27
↓ 1 callers
Method
vec_to_multiset
Takes in a table, which is a vector of slices containing 4 elements, and turns them into 4 distinct multisets for a, b, c and d.
plonk-core/src/lookup/lookup_table.rs:157
Function
_multiset_compression_input
TODO Delete if not used
plonk-core/src/lookup/multiset.rs:394
Method
add
Add evaluation of poly at point if the label is not already in the set of evaluations
plonk-core/src/proof_system/linearisation_poly.rs:133
Method
add
(self, other: Self)
plonk-core/src/lookup/multiset.rs:246
Method
add_affine_to_circuit_description
Add the provided affine point as a circuit description and return its constrained witness value
plonk-core/src/constraint_system/ecc/mod.rs:97
Method
add_public_affine
Converts an embeded curve point into a constraint system Point without constraining the values
plonk-core/src/constraint_system/ecc/mod.rs:88
Method
add_round_constants
( c: &mut COM, state: &mut [Self::Field; WIDTH], constants: &PoseidonConstants<Self::P
plonk-hashing/src/poseidon/poseidon_ref.rs:59
Method
add_table
Creates an addition table for addends from the lower bound up to the upper bound 2^n
plonk-core/src/lookup/lookup_table.rs:184
Method
addi
( c: &mut StandardComposer<F, P>, a: &Self::Field, b: &Self::ParameterField, )
plonk-hashing/src/poseidon/zprize_constraints.rs:285
Method
addi
( _c: &mut (), a: &Self::Field, b: &Self::ParameterField, )
plonk-hashing/src/poseidon/poseidon_ref.rs:263
Function
aggregate_polynomials
Aggregate polynomials
plonk-core/src/commitment.rs:119
← previous
next →
101–200 of 420, ranked by callers