Commit Graph

1757 Commits

Author SHA1 Message Date
str4d 0b862c9d52
Merge pull request #1 from zcash/eh-is-valid
Equihash validator
2018-05-26 09:19:57 +12:00
Eirik Ogilvie-Wigley 9a5fc3c9f6
Refactor: extract common code 2018-05-24 16:31:22 +12:00
str4d d7a93a03e6
Use a fixed-width stack-allocated array to prepare Equihash indices for hashing 2018-05-24 16:30:56 +12:00
str4d 8b8ece69cd
Use Vec::with_capacity() to allocate new indices vector 2018-05-24 16:30:56 +12:00
str4d b693e56ead
Remove unused lifetime 2018-05-24 16:30:56 +12:00
str4d ce87be1688
Add (and use) a faster recursive Equihash validator 2018-05-24 16:30:56 +12:00
str4d 94c38fa853
Oxidise the Equihash validator 2018-05-24 16:30:56 +12:00
str4d d19c9b5645
Implement Equihash validator
Follows Zcash implementation as closely as possible.
2018-05-24 16:30:56 +12:00
ebfull 36d7acf3f3
Merge pull request #12 from ebfull/little-endian
Switch to little endian encoding for everything
2018-05-18 13:25:41 -06:00
str4d da31c3388a Test note commitment in key component test vectors 2018-05-19 07:19:33 +12:00
str4d fdf27743ea Test ivk in key components 2018-05-19 06:50:09 +12:00
Sean Bowe f8f8954608 Update sapling-crypto 2018-05-18 12:47:35 -06:00
ebfull 6abfcca25a
Merge pull request #74 from ebfull/ivk-pub
Make ivk pub
2018-05-18 12:45:38 -06:00
Sean Bowe 89f47ef5c2
Make ivk pub 2018-05-18 12:42:26 -06:00
str4d 8be09647b6 Add tests of Sapling key components 2018-05-19 06:31:13 +12:00
str4d 02a898b521 Add test vectors for RedJubjub 2018-05-18 20:37:25 +12:00
str4d ca66568111 Add test vectors for Sapling generators 2018-05-18 19:59:23 +12:00
Sean Bowe d14b12aae4 Switch to little endian encoding for everything. 2018-05-17 16:06:31 -06:00
ebfull eb409fa3cf
Merge pull request #72 from ebfull/little-endian
Switch to little endian
2018-05-17 14:03:43 -06:00
Sean Bowe 2ff318eecb
Use little endian for everything in Sapling. 2018-05-17 13:01:31 -06:00
Sean Bowe f491e02b56
Correctly interpret BLAKE2s inputs and outputs as little endian. 2018-05-17 13:01:31 -06:00
Sean Bowe 87c62e2248
Update to the latest pairing crate version. 2018-05-17 13:01:29 -06:00
bmerge 09b6e6f921 Auto merge of #82 - str4d:read-write-le, r=ebfull
Add read_le and write_le to PrimeFieldRepr
2018-05-17 17:55:18 +00:00
Sean Bowe da5f1d3e37
Update to latest rustfmt 2018-05-17 11:59:20 -06:00
Sean Bowe e4143a4bbc
Apply rustfmt to benchmarks 2018-05-17 10:50:56 -06:00
Sean Bowe 97bdd1655f
Update clippy 2018-05-17 10:44:28 -06:00
str4d 2a28b61468 Bump version 2018-05-17 16:52:19 +12:00
str4d 98bab6877a Add read_le and write_le to PrimeFieldRepr 2018-05-17 16:50:40 +12:00
ebfull a64c850e6d
Merge pull request #10 from ebfull/small-order-checks
Check epk/rk/cv are not small order
2018-05-14 16:26:40 -06:00
Sean Bowe 63730f3846 Check epk/rk/cv are not small order. 2018-05-14 16:23:34 -06:00
str4d b12276e63c
Merge pull request #6 from ebfull/sprout-proofs
Sprout proofs
2018-05-10 23:40:39 -04:00
Sean Bowe fefa46b4c4
Implementation of Sprout proving and verifying 2018-05-10 14:29:02 -06:00
ebfull 5e220695e5
Merge pull request #7 from ebfull/sapling-verification
Sapling verification
2018-05-07 23:37:11 -06:00
Sean Bowe 313e45cc01 Implementation of Sapling transaction verification. 2018-05-07 19:22:07 -06:00
ebfull ef676eff50
Merge pull request #8 from ebfull/minor-changes
Minor changes
2018-05-07 18:50:54 -06:00
Sean Bowe e9f8c88c95 Use little endian encoding for Pedersen hash digest output. 2018-05-07 18:06:53 -06:00
Sean Bowe d73044896e Update sapling-crypto dependency. 2018-05-07 17:52:44 -06:00
ebfull 7beeb52730
Merge pull request #69 from ebfull/make-util-pub
Make util module public
2018-05-07 17:47:31 -06:00
Sean Bowe 36cd38e239
Make util module public. 2018-05-07 17:47:04 -06:00
Sean Bowe 5f233ef989 Initialize Jubjub parameters up front 2018-05-07 17:41:49 -06:00
ebfull 3b8246f3eb
Merge pull request #68 from ebfull/redjubjub-final-work
Make PublicKey inner Point public so that we can use it during zk-SNARK verification
2018-05-07 14:21:49 -06:00
Sean Bowe 5687acfaf8
Make PublicKey inner Point public so that we can use it during zk-SNARK verification. 2018-05-01 15:23:34 -06:00
ebfull 347666705c
Merge pull request #67 from str4d/redjubjub-serialisation
RedJubjub serialisation
2018-04-30 08:50:03 -06:00
Jack Grigg b27dc2914b
Remove redundant signature check
E::Fs guarantees its representation is in the field, implicitly enforcing
that S < order(G).
2018-04-30 13:55:41 +01:00
ebfull 6e08a5a22b
Merge pull request #66 from str4d/fix-spend-nf-comment
Fix comment
2018-04-29 13:08:10 -06:00
Jack Grigg e94dbf2523
Parameterize the generator in RedJubjub
Per the specification, the generator is different between BindingSig and
SpendAuthSig.
2018-04-26 22:42:54 +01:00
Jack Grigg 4eab1fc68a
Implement RedJubjub serialization
Also alters the Signature struct to store Rbar and Sbar instead of R and S,
to more closely match the specification.
2018-04-26 22:42:20 +01:00
Jack Grigg f54feda94f
Fix comment
h/t omershlo from Zcash Community Chat for spotting it!
2018-04-26 12:30:08 +01:00
ebfull e4175d81e9
Merge pull request #64 from str4d/redjubjub
RedJubjub
2018-04-19 12:44:39 -06:00
ebfull 6cc1813ae3
Merge pull request #4 from ebfull/zksnark-param-loading
Support loading zk-SNARK parameters
2018-04-19 10:53:12 -06:00