Jack Grigg
687fff5ecf
bls12_381: Fix ambiguous operation clippy warnings
5 years ago
Jack Grigg
e15fea2757
bls12_381: Silence clippy::eq_op in tests that trigger it
...
The tests are explicitly checking that the operator implementations work
correctly for equal LHS and RHS.
5 years ago
Jack Grigg
394b6f91a9
bls12_381: Use readable literals
5 years ago
Jack Grigg
6c6772e456
jubjub: Allow too-many-arguments in Fr::montgomery_reduce
5 years ago
Jack Grigg
7a8fe98b27
jubjub: Remove unnecessary references
5 years ago
Jack Grigg
4c9793d001
jubjub: Use readable literals
5 years ago
str4d
049847f1a8
Merge pull request #195 from str4d/criterion-benchmarks
...
Migrate all benchmarks to criterion
5 years ago
Jack Grigg
8f48ded2a1
Move benchmark bitrot linter out of nightly lints
5 years ago
Jack Grigg
6c2c2b58de
Migrate pairing benchmarks to criterion
5 years ago
Jack Grigg
00499b3441
Migrate zcash_primitives benchmarks to criterion
5 years ago
Jack Grigg
7ea1da5d6f
Migrate jubjub benchmarks to criterion
5 years ago
Jack Grigg
f44556d7bf
Upgrade to criterion 0.3
5 years ago
str4d
b5523f610e
Merge pull request #194 from str4d/ct-invert
...
Constant-time field inversion in ff_derive using pow_vartime
5 years ago
Jack Grigg
56999d0f73
Constant-time field inversion in ff_derive using Field::pow_vartime
...
This is around 2.5-3x slower than the non-constant-time inversion. We
can regain some of this speed later by dynamically generating addition
chains.
5 years ago
Jack Grigg
26ef9c9842
Pass modulus to prime_field_constants_and_sqrt by reference
5 years ago
ebfull
f5914fe804
Merge pull request #192 from str4d/ff-pow_vartime-and-no_std
...
ff::Field::pow_vartime and no_std support
5 years ago
Jack Grigg
ec2c304efd
no_std support for ff crate
5 years ago
Jack Grigg
1c9f5742fa
Improve Field::pow API and impl
...
Renamed to Field::pow_vartime to indicate it is still variable time with
respect to the exponent.
5 years ago
str4d
e88e2a9dc2
Merge pull request #191 from str4d/ff-ct-inv-and-sqrt-apis
...
Constant-time APIs for ff::Field::[invert, sqrt]
5 years ago
Jack Grigg
3d2acf48ce
Constant-time field square root
...
WARNING: THIS IS NOT FULLY CONSTANT TIME YET!
This will be fixed once we migrate to the jubjub and bls12_381 crates.
5 years ago
Jack Grigg
40749da9a7
Constant-time field inversion
...
WARNING: THIS IS NOT ACTUALLY CONSTANT TIME YET!
The jubjub and bls12_381 crates will replace our constant-time usages,
but we NEED to fix ff_derive because other users will expect it to
implement the Field trait correctly.
5 years ago
str4d
e85a9f309f
Merge pull request #190 from str4d/ff-more-ops
...
More ff::Field operator refactoring
5 years ago
Jack Grigg
662be3551f
impl ConditionallySelectable for Field
5 years ago
Jack Grigg
cded08b0c5
Make Field::square take &self and return Self
5 years ago
Jack Grigg
9dac748224
Make Field::double take &self and return Self
5 years ago
Jack Grigg
91c32f1c7c
Move from Field::negate to Neg operator
5 years ago
str4d
4a3350bc31
Merge pull request #189 from str4d/ff-std-ops
...
Move Field operations to operator-backed traits
5 years ago
Jack Grigg
27c8f34601
Move Field operations to operator-backed traits
...
The ff_derive, pairing, zcash_primitives::jubjub, and bellman dummy_engine
changes are minimally implemented on top of the existing *_assign()
functions.
5 years ago
str4d
2f7dd6094c
Merge pull request #188 from ebfull/bls12_381_and_jubjub
...
New BLS12-381 and Jubjub implementations
5 years ago
Sean Bowe
6eddfb11ba
Update Travis CI configuration for Rust version
5 years ago
Sean Bowe
96f602e452
cargo fmt
5 years ago
Sean Bowe
a4f7c4eef3
Include jubjub and bls12_381 crates in the workspace.
5 years ago
Sean Bowe
281cfe1912
Merge commit 'd029ddea8396d7a39910028dd5ae436a3bd3e9bb' as 'jubjub'
5 years ago
Sean Bowe
d029ddea83
Squashed 'jubjub/' content from commit 9987ddf
...
git-subtree-dir: jubjub
git-subtree-split: 9987ddf8d17a87bd2b14627665768e4038b657c4
5 years ago
Sean Bowe
f5217b56d7
Merge commit 'dbd9bd1b9b43038e60bda8f14576580e51924ea0' as 'bls12_381'
5 years ago
Sean Bowe
dbd9bd1b9b
Squashed 'bls12_381/' content from commit a9c2c4e
...
git-subtree-dir: bls12_381
git-subtree-split: a9c2c4e27b36c94b91aa37ddbad0e9ff4b2c5dc6
5 years ago
Sean Bowe
01ab2bd3df
Start relying on Rust 1.39.0
5 years ago
str4d
18aceea225
Merge pull request #50 from zancas/mv_tests_extract_data
...
Mv tests extract data
5 years ago
zancas
0aa127d7b1
refactor to manage test code and data in separate modules
5 years ago
str4d
8626cc7f26
Merge pull request #186 from str4d/multicore-feature-flag
...
Pass bellman's multicore feature flag through to zcash_proofs
5 years ago
Jack Grigg
eed7e8199f
Pass bellman's multicore feature flag through to zcash_proofs
...
This enables someone using zcash_proofs to disable multicore.
5 years ago
str4d
c3f9e2d73c
Merge pull request #180 from str4d/mmr-cleanups
...
MMR API cleanups
5 years ago
Jack Grigg
cca1670248
Clarify length of return buffer for appended leaves
5 years ago
Jack Grigg
f1619f896c
Clearer variable names in MMR tests
5 years ago
Jack Grigg
edcd884fe8
Simplify short array copies
5 years ago
Jack Grigg
583a04b4de
Pass array references correctly in MMR tests
5 years ago
Jack Grigg
573510115d
Clean up remainder of MMR code
5 years ago
Jack Grigg
8ad33e50a6
Use explicit sizes for pointers to arrays in FFI
5 years ago
Jack Grigg
fb8c73c950
Use iterators in construct_mmr_tree
5 years ago
Nikolay Volf
9ea0427678
MMR trees API ( #118 )
...
The main design goals of this mmr implementation were
1. Avoid database callbacks. As it is implemented, calling side must just smartly pre-load MMR nodes from the database (about log2(tree length) for append, twice as much for deletion).
2. Reuse as much code/logic between rust and c++ clients.
3. Close to zero memory consumption.
5 years ago