DDB
DDB
Currently, for our IOP protocols (Marlin/PC) we explicitly sample 128 bits challenges. We should templatize IOP structs with a const generic in order to generalize the amount of bits of...
When it comes to complete addition gadgets, I expect that we can do better than the "naive" approach using the infinity flag of the `AffineGadget`. Let us investigate efficient complete...
Depends on #149 . Actually, for our applications, in which we compare only small numbers (usually max 64 bits in length), we can do better by defining the comparison directly...
arkworks generates the UInt gadget (from Uint16 up to UInt128) using macros (as the code is basically the same): https://github.com/arkworks-rs/r1cs-std/blob/master/src/bits/uint.rs Let us adopt the same procedure, and let's define and...
Currently: - All the primitive/gadget functions dealing with serialization to/from bytes, will output LE bytes; - All the primitive/gadget functions dealing with serialization to/from bits, will output BE bits. This...
Currently, the FieldBasedHash trait `init `function allows to initialize an implementor with a personalization array of FieldElement. The FieldBasedHashGadget instead doesn't allow this. The result of primitive and gadget it's...
Currently we have 3 ways of serializing/deserializing structs in ginger-lib: - ToBytes/FromBytes/FromBytesChecked/ToBits/FromBits/ToCompressedBits/FromCompressedBits; - CanonicalSerialize/CanonicalDeserialize; - serde derive macros For sure this situation is highly confusing and error prone, so I...
We should add more regression tests (hardcode expected relevant data, recompute it inside the test and compare) on: - [ ] Cryptographic primitives; - [ ] Bit/Byte serialization