Sean Bowe
fefa46b4c4
Implementation of Sprout proving and verifying
6 years ago
ebfull
5e220695e5
Merge pull request #7 from ebfull/sapling-verification
Sapling verification
6 years ago
Sean Bowe
313e45cc01
Implementation of Sapling transaction verification.
6 years ago
ebfull
ef676eff50
Merge pull request #8 from ebfull/minor-changes
Minor changes
6 years ago
Sean Bowe
e9f8c88c95
Use little endian encoding for Pedersen hash digest output.
6 years ago
Sean Bowe
d73044896e
Update sapling-crypto dependency.
6 years ago
ebfull
7beeb52730
Merge pull request #69 from ebfull/make-util-pub
Make util module public
6 years ago
Sean Bowe
36cd38e239
Make util module public.
6 years ago
Sean Bowe
5f233ef989
Initialize Jubjub parameters up front
6 years ago
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
6 years ago
Sean Bowe
5687acfaf8
Make PublicKey inner Point public so that we can use it during zk-SNARK verification.
6 years ago
ebfull
347666705c
Merge pull request #67 from str4d/redjubjub-serialisation
RedJubjub serialisation
6 years ago
Jack Grigg
b27dc2914b
Remove redundant signature check
E::Fs guarantees its representation is in the field, implicitly enforcing
that S < order(G).
6 years ago
ebfull
6e08a5a22b
Merge pull request #66 from str4d/fix-spend-nf-comment
Fix comment
6 years ago
Jack Grigg
e94dbf2523
Parameterize the generator in RedJubjub
Per the specification, the generator is different between BindingSig and
SpendAuthSig.
6 years ago
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.
6 years ago
Jack Grigg
f54feda94f
Fix comment
h/t omershlo from Zcash Community Chat for spotting it!
6 years ago
ebfull
e4175d81e9
Merge pull request #64 from str4d/redjubjub
RedJubjub
6 years ago
ebfull
6cc1813ae3
Merge pull request #4 from ebfull/zksnark-param-loading
Support loading zk-SNARK parameters
6 years ago
Jack Grigg
840c23bd23
Specify pre-conditions for signature validation
6 years ago
Jack Grigg
45e4ca38e4
Match additive notation with variable name
6 years ago
Sean Bowe
170397b5a5
Apply rustfmt
6 years ago
Sean Bowe
4f9953f18f
Support loading zk-SNARK parameters
6 years ago
Jack Grigg
916dbce2df
Implement RedJubjub
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
6 years ago
Jack Grigg
0f230a70b9
Implement uniform sampling of Jubjub scalars
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
6 years ago
str4d
2a86c912f6
Merge pull request #3 from ebfull/params-and-merkle-hash
Expose API for merkle hash
6 years ago
Sean Bowe
37f20fb90c
Use lazy_static to initialize the Jubjub parameters, to avoid passing parameters around.
6 years ago
Sean Bowe
cb8c9ebbce
Make panic abort to avoid FFI problems.
6 years ago
Sean Bowe
96654ee5bd
Fix typos
6 years ago
Sean Bowe
f1d35708bc
Expose API for init/free of parameters and, to test, a merkle tree hash invocation.
6 years ago
str4d
7dc69c6893
Merge pull request #2 from str4d/sapling-crypto
Add sapling-crypto to dependencies
6 years ago
Sean Bowe
5199fdfcb7
Use newer versions of libc and num_cpus
6 years ago
str4d
222e0b3515
Add sapling-crypto to dependencies
6 years ago
Sean Bowe
e554b473dd
Update to bellman 0.1
6 years ago
ebfull
10c5010fd9
Merge pull request #22 from ebfull/final-changes
Final changes
6 years ago
Sean Bowe
96b2d3e41a
Prevent trivial subversion attack against prover.
6 years ago
Sean Bowe
d14f2af8fa
Make fields of Parameters/VerifyingKey/Proof public.
6 years ago
ebfull
45c73dbd8f
Merge pull request #54 from ebfull/sprout-circuit-minimal
Sprout circuit implementation
6 years ago
Sean Bowe
6e57ef0c4a
Bump version
6 years ago
Sean Bowe
6ec7272586
Serialize lengths as 32-bit integers, not 64-bit.
6 years ago
Sean Bowe
c4fd8856ae
Make multicore module public for now, because Worker is part of the EvaluationDomain API.
6 years ago
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.
6 years ago
Sean Bowe
2d12b9a858
Apply newer rustfmt rules.
6 years ago
Sean Bowe
fcaddaa356
Update Clippy to support latest nightly, and fix some lints.
6 years ago
Sean Bowe
bcc8379a7f
Version bump.
6 years ago
Sean Bowe
4cf5a534ec
i128_type feature has been stabilized in Rust.
6 years ago
ebfull
1026e92194
Merge pull request #63 from ebfull/gh
First block of GH invocation using random beacon output
6 years ago
Sean Bowe
9f24b68b3a
Update constraint system hashes.
6 years ago
Sean Bowe
3704b2422e
Fix benchmark due to anchor change in witness.
6 years ago
Sean Bowe
9418001d0e
First block of GH invocation using random beacon output.
6 years ago