Commit Graph
737 Commits
Author SHA1 Message Date
Jack Grigg 263bbe1207 Use Iterator::all() in place of Iterator::fold() 2019-07-10 13:53:22 -04:00
Jack Grigg 98d7621135 Don't assert when parsing a CommitmentTreeWitness 2019-07-10 13:53:22 -04:00
Jack Grigg 9b4186705a Add serialization APIs to CommitmentTree and IncrementalWitness 2019-07-10 13:53:22 -04:00
Jack Grigg 70a7069058 Helper for serializing Option<T> 2019-07-10 13:53:22 -04:00
Jack Grigg 667d6101c9 Sapling incremental witnesses 2019-07-10 13:53:20 -04:00
Jack Grigg bf74915053 Move CommitmentTreeWitness into zcash_primitives 2019-07-10 13:52:47 -04:00
Jack Grigg f4059a5faa Sapling commitment tree 2019-07-10 13:44:21 -04:00
Jack Grigg 8f3f95ee08 Sapling commitment tree empty roots 2019-07-10 13:44:21 -04:00
Jack Grigg 785f22ca5a Move Sapling commitment tree hash into zcash_primitives 2019-07-10 13:44:19 -04:00
str4d 91c6b0b3f0 Merge pull request #88 from str4d/address-encodings
Sapling address encodings
2019-07-10 07:04:37 -04:00
Jack Grigg a3a9ee2682 Validate PaymentAddress diversifier when decoding 2019-07-02 00:07:48 +01:00
Jack Grigg dd9c9ffa3f Add encodings for ExtendedSpendingKey and ExtendedFullViewingKey 2019-06-27 16:21:32 +01:00
Jack Grigg 17f60a0354 Implement PaymentAddress encoding and decoding 2019-06-27 16:21:00 +01:00
Jack Grigg 81b2b1b554 Wallet spending key derivation path 2019-06-27 16:19:33 +01:00
Jack Grigg f25a8a557e Convert zip32 crate into a module of zcash_primitives 2019-06-27 16:14:24 +01:00
Jack Grigg fae919ec1c Rename zcash_wallet to zcash_client_backend, set to 2018 edition 2019-06-27 16:02:12 +01:00
str4d 3b6f5e3d5e Merge pull request #69 from str4d/sapling-note-encryption
Sapling note encryption
2019-06-06 20:50:17 +01:00
Jack Grigg b65aae9bc1 Test both invalid and incorrect diversifiers 2019-06-06 13:56:06 +01:00
Jack Grigg fdb6e208db Check note plaintext version byte when decrypting 2019-06-06 13:38:34 +01:00
Jack Grigg 060977fe54 Return edwards::Point from sapling_ka_agree
This matches how sapling_ka_agree and kdf_sapling are defined in the
protocol spec. kdf_sapling also now takes ownership of dhsecret to
discourage use of the sapling_ka_agree output elsewhere.
2019-06-06 13:38:33 +01:00
Jack Grigg 9d80be62f9 Simplify Memo::to_utf8 implementation 2019-06-06 13:38:32 +01:00
Jack Grigg 6846ac5f9e Require that ak in FullViewingKey is prime order 2019-06-06 13:38:31 +01:00
Jack Grigg 75bede4bc8 Use fixed-length arrays instead of Vec 2019-06-06 13:38:30 +01:00
Jack Grigg d4fce58019 Tweaks to debug output and function names 2019-06-05 14:19:50 +01:00
Jack Grigg 23aa869bf4 Add comments with specification references 2019-06-05 14:19:33 +01:00
Jack Grigg 6d03b5c1db Replace AeadCipher::seal with AeadCipher::seal_to 2019-06-05 13:55:17 +01:00
str4d 0ee1e81f5d Merge pull request #61 from rex4539/fix-typos
Fix typos
2019-05-29 17:38:30 +01:00
str4d 2d97ccb7b8 Merge pull request #81 from bitcartel/52_wrapped_shr
Closes #52. Fix test error "attempt to shift right with overflow".
2019-05-28 18:55:25 +01:00
str4d c5642f9f5e Merge pull request #70 from rex4539/electric-coin-company
Electric Coin Company
2019-05-23 17:33:38 +01:00
str4d c2d0a7d048 Merge pull request #74 from str4d/bellman-multicore
Place bellman multicore operations behind a (default) feature flag
2019-05-22 21:25:29 +01:00
Simon 437b66d4ee Closes #52. Fix test error "attempt to shift right with overflow".
Use wrapping function to directly disable integer overflow protection.
2019-05-16 20:56:36 -07:00
Dimitris Apostolou 34f762cea2 Electric Coin Company 2019-05-09 20:32:39 +03:00
Jack Grigg edf7bc144d Document note_encryption module 2019-04-11 16:08:32 -07:00
Jack Grigg 34658c4bd3 Raise minimum Rust version to 1.32
The crypto_api_chachapoly uses two new features introduced in 1.32:

- Self struct constructors
- u64::to_le_bytes()
2019-04-11 06:41:22 -07:00
Jack Grigg 6dcb4040af Switch to crypto_api_chachapoly crate
This crate exposes both the ChaCha20Poly1305 IETF construction, and the
underlying ChaCha20 IETF primitive, removing the need for depending on
our own fork of the previous chacha20-poly1305-aead crate.
2019-04-11 06:33:41 -07:00
Sean BoweandJack Grigg 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
Jack Grigg e17e4b1346 Test invalid decryption edge cases 2019-04-05 21:05:05 +01:00
Jack Grigg 9086dd9afb Enforce consistent plaintext and ciphertext lengths 2019-04-05 21:05:05 +01:00
Jack Grigg 899d852c39 Inline empty nonces 2019-04-05 21:05:05 +01:00
Jack Grigg 566db65a91 Use a slice instead of a vector in prf_expand() 2019-04-05 21:05:05 +01:00
Jack Grigg 2b1583d75f Deduplicate Sapling key agreement logic 2019-04-05 21:05:05 +01:00
Jack Grigg 247f3fb038 Impl traits and functions for Memo 2019-04-05 21:05:05 +01:00
Jack Grigg 484330ebd9 Trial Sapling compact note decryption
Part of ZIP 307.
2019-04-05 21:05:05 +01:00
Jack Grigg 8e098d4d72 Trial Sapling output recovery 2019-04-05 21:05:05 +01:00
Jack Grigg 6996853168 Trial Sapling note decryption 2019-04-05 21:05:05 +01:00
Jack Grigg 757316d355 Test prf_ock 2019-04-05 21:05:05 +01:00
Jack Grigg 70caa7d4b0 Sapling note encryption test vectors 2019-04-05 21:05:05 +01:00
George Tankersley 65bbe7daed Implement Sapling note encryption 2019-04-05 21:05:05 +01:00
Jack Grigg 9b455a12cc Move Sapling key structs from zip32 to zcash_primitives 2019-04-05 21:05:03 +01:00
str4d d7ba310294 Merge pull request #66 from str4d/block-header
Block header parsing and transaction ID computation
2019-04-05 20:54:11 +01:00