Jack Grigg
232f0a50b8
ff: Rework BitIterator to work with both u8 and u64 limb sizes
...
This enables BitIterator to be used with both the byte encoding and limb
representation of scalars.
2020-04-23 16:23:24 +12:00
Jack Grigg
fd79de5408
ff: Add PrimeField: From<u64> constraint
2020-04-23 16:23:24 +12:00
Jack Grigg
b6457a905b
ff: Move pow_vartime into a trait that is generic over the limb size
...
The trait is implemented by default for u8 and u64, allowing pow_vartime
to be used with both the byte encoding and limb representation of field
elements.
2020-03-28 00:27:59 +13:00
Jack Grigg
69c60530d4
group: Rewrite wNAF to remove dependency on ff::PrimeFieldRepr
...
Adapted from Scalar::non_adjacent_form in curve25519-dalek.
2020-03-26 22:32:17 +13:00
Jack Grigg
6e53cf3c4c
group: Take scalar by reference in CurveProjective::recommended_wnaf_for_scalar
2020-03-26 19:00:46 +13:00
Jack Grigg
2df2a2b2f2
Merge branch 'develop'
2020-03-14 10:36:58 +13:00
Sean Bowe
100878cd14
Version bump of all crates (except librustzcash)
2020-03-12 15:59:19 -06:00
Sean Bowe
f3f8964001
Remove Sized for RngCore
...
Co-authored-by: Weiliang Li <to.be.impressive@gmail.com>
2020-03-12 15:32:44 -06:00
Sean Bowe
b52e4aac3a
Fix Field::random method declarations.
2020-03-03 17:47:29 -07:00
Sean Bowe
c49aaceb5d
Merge commit 'f337eb1f5c67d9305b1fb4fb35507bb50817259b' into depends-updates-2
2020-03-03 17:46:59 -07:00
Sean Bowe
f337eb1f5c
Squashed 'bellman/' changes from 4272cfa..2279da4
...
2279da4
Merge pull request #38 from debris/docs
2e57190
Remove documentation entry from Cargo.toml
346d540
bellman 0.2.0
8d79665
Merge pull request #93 from defuse/qed-it-lrz
f50079f
Crate docs
701cb2b
Update READMEs
ccf1ee9
CI: Check intra-doc links
ddd390a
Add READMEs to Cargo.toml files
54d3122
Add missing cs.is_satisfied() to bellman test
52bf23c
Fix build warnings
581ad35
boolean: adds tests for alloc_conditionally
0403396
blake2s: adds test vectors from go-jubjub
9f24e47
Fix blake2s test data length assertion.
42d5b3b
Add blake2s test vectors for varying sizes from go-jubjub
b2597de
pedersen_hash: removes debug prints
c903fad
pedersen hashes: example of size limit bug
bc697c1
bellman: Fix compile errors without multicore feature
a4e5df9
Upgrade to hex-literal 0.2
c063509
Migrate bellman to crossbeam 0.7
1775843
Take self directly in into_* functions
614d784
Rename into_ -> to_ where &self is used.
08664b1
Address various clippy warnings/errors in bellman
bb11ef2
cargo fmt
cff2e2f
cargo fix --edition-idioms for bellman
dc2a280
Add edition = 2018
1a2bc19
cargo fmt
ad37878
cargo fix --edition for bellman
e73d1a2
cargo fmt bellman
dfb86fc
Move generic circuit gadgets into bellman
9b3d766
Migrate to rand 0.7
055280f
Migrate ff, group, pairing, and bellman to rand 0.6
533d586
Migrate bellman to rand 0.5
bfa9aaf
Merge pull request #61 from rex4539/fix-typos
3dd8490
Place bellman multicore operations behind a (default) feature flag
955e679
Merge pull request #46 from str4d/ff-traits
d4ddaa9
Fix typos
12f93f2
Add ff and group crates to Cargo workspace
2e35a32
Update sapling-crypto crate to use ff crate
2019e63
Update workspace after pulling in external crates
git-subtree-dir: bellman
git-subtree-split: 2279da422c
2020-03-03 17:46:04 -07:00
François Garillot
865275e2a2
Correcting some trivial Rust option/iterator warts
2020-01-29 13:53:05 -08:00
Jack Grigg
9c485cc97e
Move from CurveProjective::add_assign_mixed to traits
2020-01-13 21:20:46 -05:00
Jack Grigg
1a8ec21c03
Move from Curve*::negate to Neg operator
2020-01-13 21:19:33 -05:00
Jack Grigg
8193324986
Move additive CurveProjective operators to traits
2020-01-13 21:19:33 -05:00
Jack Grigg
ec2c304efd
no_std support for ff crate
2019-12-14 12:55:34 +00:00
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.
2019-12-14 12:27:48 +00:00
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.
2019-12-13 20:13:30 +00:00
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.
2019-12-13 19:46:04 +00:00
Jack Grigg
662be3551f
impl ConditionallySelectable for Field
2019-12-12 23:15:48 +00:00
Jack Grigg
cded08b0c5
Make Field::square take &self and return Self
2019-12-12 23:09:28 +00:00
Jack Grigg
9dac748224
Make Field::double take &self and return Self
2019-12-12 22:59:18 +00:00
Jack Grigg
91c32f1c7c
Move from Field::negate to Neg operator
2019-12-12 22:52:17 +00:00
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.
2019-12-12 21:19:46 +00:00
Jack Grigg
7fda177da8
Doc link fixes
2019-11-07 17:33:22 +00:00
str4d
40d22ea2cc
Merge pull request #135 from NikVolf/extern-purge
...
Remove unneeded "extern crate"
2019-10-31 17:12:26 +00:00
NikVolf
7844394364
Remove unneeded extern crate
2019-10-08 16:12:14 +03:00
Jack Grigg
25558893ab
bellman 0.2.0
2019-10-08 17:43:33 +13:00
str4d
2399d9f3e3
Merge pull request #93 from defuse/qed-it-lrz
...
Bring in QED-it Tests
2019-10-08 13:47:36 +13:00
Jack Grigg
4ad3988e43
Crate docs
2019-09-24 14:23:59 +01:00
Jack Grigg
7f3036d2c8
Update READMEs
2019-09-24 14:23:55 +01:00
Jack Grigg
d9a0b9c83f
CI: Check intra-doc links
...
Credit: https://twitter.com/tomaka17/status/1176017851410526208
2019-09-24 10:35:12 +01:00
Jack Grigg
1d02363752
Add READMEs to Cargo.toml files
...
This will cause crates.io to render each crate's README as its
information page.
2019-09-23 14:42:38 +01:00
Jack Grigg
39a73c8eda
Add missing cs.is_satisfied() to bellman test
2019-09-17 00:16:33 +01:00
Taylor Hornby
caab37c336
Fix build warnings
2019-09-16 23:06:48 +01:00
Kobi Gurkan
f3533e291f
boolean: adds tests for alloc_conditionally
2019-09-16 22:08:30 +01:00
Kobi Gurkan
2ee7b108af
blake2s: adds test vectors from go-jubjub
2019-09-16 20:34:21 +01:00
Taylor Hornby
cc2a41d86c
Fix blake2s test data length assertion.
2019-09-16 20:24:31 +01:00
Kobi Gurkan
804f4cba67
Add blake2s test vectors for varying sizes from go-jubjub
2019-09-16 20:23:09 +01:00
Kobi Gurkan
43496857c9
pedersen_hash: removes debug prints
2019-09-16 20:20:03 +01:00
Kobi Gurkan
15633ad434
pedersen hashes: example of size limit bug
2019-09-16 20:17:50 +01:00
Jack Grigg
28dcc1c346
bellman: Fix compile errors without multicore feature
2019-09-12 19:38:52 +01:00
Jack Grigg
0a3b0a9341
Upgrade to hex-literal 0.2
2019-09-12 19:38:51 +01:00
Jack Grigg
89dad572ef
Migrate bellman to crossbeam 0.7
2019-09-12 19:38:50 +01:00
Jack Grigg
9016548698
Take self directly in into_* functions
2019-08-24 00:39:55 +01:00
Jack Grigg
fe93f2ff6b
Rename into_ -> to_ where &self is used.
2019-08-24 00:39:54 +01:00
Jack Grigg
d65fe2cda9
Address various clippy warnings/errors in bellman
2019-08-24 00:38:32 +01:00
Eirik Ogilvie-Wigley
76795a9014
cargo fmt
2019-08-20 22:22:03 -06:00
Eirik Ogilvie-Wigley
a5f25c5058
cargo fix --edition-idioms for bellman
2019-08-20 22:07:24 -06:00
Eirik Ogilvie-Wigley
09882c6d08
Add edition = 2018
2019-08-20 18:31:20 -06:00
Eirik Ogilvie-Wigley
f523ac285d
cargo fmt
2019-08-20 17:17:21 -06:00
Eirik Ogilvie-Wigley
4991e53f48
cargo fix --edition for bellman
2019-08-20 16:45:10 -06:00
Eirik Ogilvie-Wigley
9a4f6812f1
cargo fmt bellman
2019-08-15 10:38:41 -06:00
Jack Grigg
b8af749b40
Move generic circuit gadgets into bellman
2019-08-14 10:45:58 +01:00
Jack Grigg
6f9083b5ab
Migrate to rand 0.7
2019-07-19 00:47:40 +02:00
Jack Grigg
83e1af104e
Migrate ff, group, pairing, and bellman to rand 0.6
2019-07-19 00:42:39 +02:00
Jack Grigg
4606a0cefb
Migrate bellman to rand 0.5
2019-07-19 00:35:06 +02:00
str4d
0ee1e81f5d
Merge pull request #61 from rex4539/fix-typos
...
Fix typos
2019-05-29 17:38:30 +01:00
Sean Bowe
8c5cd4e4f6
Place bellman multicore operations behind a (default) feature flag
...
Co-authored-by: Jack Grigg <jack@z.cash>
2019-04-10 06:01:24 -07:00
Dimitris Apostolou
63be3c9470
Fix typos
2019-02-18 13:17:49 +02:00
Jack Grigg
482bef87f0
Add ff and group crates to Cargo workspace
2019-01-06 09:50:07 +00:00
Jack Grigg
76cd0d92bb
Merge commit '4272cfa5b0dceac471bef115955e1534be84a018' into ff-traits
...
git-subtree-dir: bellman
git-subtree-split: 4272cfa5b0
2019-01-06 09:21:44 +00:00
Jack Grigg
a9059c9372
Update workspace after pulling in external crates
2018-08-28 23:06:15 +01:00
Jack Grigg
9f748554d0
Add 'bellman/' from commit '10c5010fd9c2ca69442dc9775ea271e286e776d8'
...
git-subtree-dir: bellman
git-subtree-mainline: e924247e73
git-subtree-split: 10c5010fd9
2018-08-28 23:03:52 +01:00