ginger-lib icon indicating copy to clipboard operation
ginger-lib copied to clipboard

Ginger-lib is a general purpose zk-SNARK library that supports recursive proof composition

Results 49 ginger-lib issues
Sort by recently updated
recently updated
newest added

This PR adds a gadget for the succinct verification in circuit of a Coboundary Marlin proof

This PR addresses issues #149 and #150. It defines a new trait `UIntGadget` which defines the functions available for small unsigned integers (up to 128 bits). In particular, the `UIntGadget`...

The comparison functions for `FpGadget` only accepts operands in the range [0, (p-1)/2] for a prime field Fp. In case equality between the input operands x,y must be also checked...

This PR addressed the [issue #148](https://github.com/HorizenOfficial/ginger-lib/issues/148) by adding the functions `to_bits_le` and `from_bits_le` to the `ToBitsGadget` and `FromBitsGadget`, respectively. These functions allow to serialize/deserialize for the types implementing such gadgets...

Imported from arkworks: - enforce_smaller_equal_than_le() gadget for Vec and modified previous implementation of enforce_in_field(); - conditionally_add and conditionally_select gadgets for UInt64; - comparison gadgets for FpGadget; - added conditionally_add function...

This PR introduces several macros to generate concrete algebraic and crypto-primitive type bindings and functions for (a subset of) curves defined in ginger-lib, via specific compilation flags. This is done...

This PR contains the refactored algebra module and adjustments for this refactoring in other modules. The details of this refactoring are described in document "Refactoring ginger-lib". Key changes: - Group...

PR is huge due to some refactoring and new constants added in the density optimized Poseidon Hash Gadget affecting around +20000 -9000 lines of code.

[Aztek has implemented a GLV-variant of Pippenger](https://github.com/AztecProtocol/barretenberg/blob/f45c27ecd70a3c5607cf30ad5e36bcb4b7385b6d/barretenberg/src/aztec/ecc/fields/field.hpp). In short, the GLV method makes use of the endomorphism (having equivalent scalar `lambda`) by decomposing a scalar `k` into `k = k1...

optimization