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
Jack Grigg
840c23bd23
Specify pre-conditions for signature validation
2018-04-19 16:17:40 +01:00
Jack Grigg
45e4ca38e4
Match additive notation with variable name
2018-04-18 23:59:22 +01:00
Sean Bowe
170397b5a5
Apply rustfmt
2018-04-17 14:22:35 -06:00
Sean Bowe
4f9953f18f
Support loading zk-SNARK parameters
2018-04-17 14:16:14 -06:00
Jack Grigg
916dbce2df
Implement RedJubjub
...
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-04-17 00:40:11 +01:00
Jack Grigg
0f230a70b9
Implement uniform sampling of Jubjub scalars
...
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2018-04-15 15:52:45 -06:00
str4d
2a86c912f6
Merge pull request #3 from ebfull/params-and-merkle-hash
...
Expose API for merkle hash
2018-04-14 19:29:15 -06:00
Sean Bowe
37f20fb90c
Use lazy_static to initialize the Jubjub parameters, to avoid passing parameters around.
2018-04-12 18:38:25 -06:00
Sean Bowe
cb8c9ebbce
Make panic abort to avoid FFI problems.
2018-04-12 15:35:20 -06:00
Sean Bowe
96654ee5bd
Fix typos
2018-04-12 15:01:48 -06:00
Sean Bowe
f1d35708bc
Expose API for init/free of parameters and, to test, a merkle tree hash invocation.
2018-04-11 21:51:30 -06:00
str4d
7dc69c6893
Merge pull request #2 from str4d/sapling-crypto
...
Add sapling-crypto to dependencies
2018-04-10 13:57:56 -06:00
Sean Bowe
5199fdfcb7
Use newer versions of libc and num_cpus
2018-04-10 13:57:33 -06:00
str4d
222e0b3515
Add sapling-crypto to dependencies
2018-04-09 18:28:42 -06:00
Sean Bowe
e554b473dd
Update to bellman 0.1
2018-04-06 13:29:58 -06:00
ebfull
10c5010fd9
Merge pull request #22 from ebfull/final-changes
...
Final changes
2018-04-03 18:56:06 -06:00
Sean Bowe
96b2d3e41a
Prevent trivial subversion attack against prover.
2018-04-02 22:21:42 -06:00
Sean Bowe
d14f2af8fa
Make fields of Parameters/VerifyingKey/Proof public.
2018-04-02 18:15:39 -06:00
ebfull
45c73dbd8f
Merge pull request #54 from ebfull/sprout-circuit-minimal
...
Sprout circuit implementation
2018-04-02 16:55:09 -06:00
Sean Bowe
6e57ef0c4a
Bump version
2018-03-31 23:23:37 -06:00
Sean Bowe
6ec7272586
Serialize lengths as 32-bit integers, not 64-bit.
2018-03-31 23:23:08 -06:00
Sean Bowe
c4fd8856ae
Make multicore module public for now, because Worker is part of the EvaluationDomain API.
2018-03-31 23:16:55 -06:00
bmerge
dbe897d365
Auto merge of #79 - ebfull:nomorenightly, r=ebfull
...
Remove feature(i128_type)
The `i128_type` feature was recently stabilized in Rust, so this is unnecessary now for nightly users. In fact, in a few days there should be a new Rust beta (`1.26`) containing stable support for `i128_type`, meaning that (for Zcash) we can switch to the beta compiler for all future Rust development, and even switch to the stable compiler in six weeks when that's released.
2018-03-30 23:55:32 +00:00
Sean Bowe
2d12b9a858
Apply newer rustfmt rules.
2018-03-29 11:18:15 -06:00
Sean Bowe
fcaddaa356
Update Clippy to support latest nightly, and fix some lints.
2018-03-29 10:13:00 -06:00