Pratyush Mishra
0b57cdd736
Add a pre-commit hook for rustfmt ( #102 )
* add a pre-commit hook for rustfmt
* make printing sccache stats optional
* fixup! add a pre-commit hook for rustfmt
4 years ago
Pratyush Mishra
50c0511ba3
Merge branch 'master' of https://github.com/scipr-lab/zexe
4 years ago
Pascal Berrang
b4b4e5553d
Implement CanonicalSerialize/Deserialize improvements ( #109 )
* Implement CanonicalSerialize/Deserialize improvements
* Improve code readability by using cursor
* Add tests for uncompressed serialization
* Improve serialization size (do not require full u64 limbs to be serialised)
* Change Flags to enum types
* Split up serialization with and without flags.
* Implement simple derive macro
* Derive traits for Groth16 and GM17 keys and proofs
4 years ago
ValarDragon
78e08aed97
Fix lint
4 years ago
ValarDragon
cba74c09d9
Fix error
4 years ago
ValarDragon
3cb1ed06d6
Fix linter errors
4 years ago
Pratyush Mishra
77837b4a1b
Fix ns issue
4 years ago
ValarDragon
cb1bcb1cbf
Fix ns
4 years ago
ValarDragon
b63d255ea3
Update to use bit iterator
4 years ago
ValarDragon
8cce6501b8
Add exponentiation by constant to Fp
4 years ago
Pratyush Mishra
7adcc69799
Generalize FFT infrastructure to work with group elements as well
4 years ago
Pratyush Mishra
faf179c43d
Export `algebra-core::error`
4 years ago
Pratyush Mishra
2298df2e78
Make benchmarks compile, and check them in CI
4 years ago
Pratyush Mishra
8bf042a029
Refactor `algebra` API, split into `algebra` and `algebra-core`. ( #100 )
4 years ago
Marek Kotewicz
d4896ade47
crypto-primitives no-std ( #96 )
4 years ago
howardwu
02e6b32d7d
Cargo fmt
4 years ago
howardwu
2949c0ef9d
Adds NIZK benchmarking, updates crypto-primitives benchmarks
4 years ago
Pratyush Mishra
bd501440cf
Add new additive and multiplcative ops for fields
4 years ago
Marek Kotewicz
9621bd34a4
r1cs-std works with no-std ( #92 )
4 years ago
Marek Kotewicz
a77972bf9a
no_std for algebra and r1cs-core ( #76 )
4 years ago
ValarDragon
5e57ac5621
Fix blake2s table alighnments
4 years ago
François Garillot
df6e235445
Add badge from deps.rs
4 years ago
François Garillot
a4a8116f1d
Update dependencies
4 years ago
François Garillot
b26867f267
Runs rustfmt on the repo
4 years ago
Pratyush Mishra
a3e1cd6cf2
Make libraries compile
4 years ago
Pratyush Mishra
762793ccbd
Update Cargo.toml
4 years ago
Pratyush Mishra
40cf13b7b8
num_traits:: -> algebra::
4 years ago
François Garillot
722a901ae7
[RFC] Convert identity functions in Field, Group, and {Projective,Affine}Curve traits with One/Zero traits from num_traits.
- contributes to #50 ,
- depends on #53 and builds on it,
- due to coherence & requirements of `num_traits::{Zero, One}` to implement `std::ops::Add<Self, ..>` and (resp.) `std::ops::Mul<Self, ..>`, I've had to replace the afferent `impl<'a, P: ..> (Add|Mul)<&'a Self> for Group(Affine|Projective)<P>` by direct implementations on `Self`,
- I did not have to fight the borrow checker for this conversion => I think this hints arithmetic operations are called in contexts where the operand is owned,
- hence should this end up on a merge track, we may want to open an issue to convert the `impl<'a, P:..> (Neg|Sub|..)<&'a Self> for ..<P>` trait usage to direct `impl<P:..> (Neg|Sub|..)<Self> for ..<P>`
- the `impl AddAssign for GroupAffine<P>` in curves/models/short_weierstrass_jacobian.rs is provided to fit trait bounds, and without any guarantee of suitability for any particular purpose
- and that, even though I don't think it's used.
5 years ago
Kobi Gurkan
b8a81b5dcb
r1cs-std: makes extension field to_bits create namespaces for the individual elements
5 years ago
Pratyush Mishra
2a8974e442
Boolean conditional select
5 years ago
François Garillot
ab65b01478
Clean up a few loop bounds
5 years ago
François Garillot
f1d8b122fc
Use operator syntax
eliminate a few redundant references
5 years ago
François Garillot
b42d5f8d36
Simplify a few "if" structures
5 years ago
François Garillot
53a51eb4dc
Use built-in iteration functions more
5 years ago
François Garillot
c42c7dd98a
Remove a few unnecessary clones
5 years ago
François Garillot
d71bc5a675
Prefer to return error rather than ? them,
avoid return when it cant be early (in a simple if-else)
5 years ago
François Garillot
10c6e85c1a
Remove a few unnecessary `.into_iter()` explicit calls, and some cloning.
See https://rust-lang.github.io/rust-clippy/master/#explicit_into_iter_loop
5 years ago
Kobi Gurkan
581f3df55f
Adds Bowe-Hopwood hash
5 years ago
Pratyush Mishra
19856bd9b6
Add Groth16 to Readme
5 years ago
Kobi Gurkan
da0de7c7f2
Adds license files as links
5 years ago
Kobi Gurkan
d292f637aa
Update crypto-primitives/src/nizk/groth16/mod.rs
Co-Authored-By: Pratyush Mishra <pratyushmishra@berkeley.edu>
5 years ago
Kobi Gurkan
e3d2ff1c04
Update crypto-primitives/src/nizk/groth16/mod.rs
Co-Authored-By: Pratyush Mishra <pratyushmishra@berkeley.edu>
5 years ago
Kobi Gurkan
7c5271a212
Update crypto-primitives/src/nizk/groth16/mod.rs
Co-Authored-By: Pratyush Mishra <pratyushmishra@berkeley.edu>
5 years ago
Kobi Gurkan
fb87c421e7
Runs cargo fmt
5 years ago
Kobi Gurkan
98416f6b2e
Adds Groth16
5 years ago
Pratyush Mishra
2a86b59138
Merkle Tree name refactors
5 years ago
Pratyush Mishra
25e35a25d0
Update README with new directory structure and publication information
5 years ago
Pratyush Mishra
42893ee3b6
Remove unused file
5 years ago
Pratyush Mishra
cb2ff3b412
Add ToConstraintField impls for some primitives
5 years ago
Pratyush Mishra
1b6f681cdb
Fix Blake2s gadget test
5 years ago