DDB
DDB
Currently, for many crypto primitives/gadgets, we have as many tests/benches as concrete instantiations; however, the code for them is exactly the same. We should write generic tests/benches, templatizing them with...
Would be nice to have, for this trait: - Derive macros, calling `is_valid()` on each of the members of a given struct; - An additional function that allows checking for...
Would be nice, maybe by exploiting also the Flags trait, when serializing, to serialize a bit too telling whether the serialized struct is in compressed form or not, removing the...
The current Merkle tree implementations don't differentiate between internal nodes and leaf nodes when hashing them. Such Merkle trees lack _second preimage resistance_: given a root **R** and tree **T**,...
Generation scripts of Poseidon parameters at https://extgit.iaik.tugraz.at/krypto/hadeshash/-/tree/master have been recently updated. We should re-execute the scripts for our curves and check if any of the parameters we currently have in...
Like it has been done in upstream, we should introduce a macro (where it may be convenient to parallelize) that selects an iterator or a parallel iterator depending on the...
We can optimize divide_by_vanishing_poly(): the actual algorithm uses generic textbook division, but the vanishing polynomial has a special form (X^N - 1)
Based on the following timings (taken on my CPU 6x2.2GHz (turbo 4.1GHz), 8GB RAM): ``` process_leaves_mnt4_comp --Add 1000 leaves in a tree of height 23: ---Non-Lazy: 91.6s ---Lazy: 0.423s --Remove...