Jack Grigg
eba6f417fe
zcash_note_encryption: Doc fixes
2021-05-29 00:15:25 +01:00
Jack Grigg
362838c3fa
zcash_note_encryption: Fix array size in Domain::extract_{esk, pk_d}
...
Decrypted output size is `OUT_PLAINTEXT_BYTES`, which the decryptor
can always provide (either by decrypting into the correct size array
as now, or truncating the buffer before passing it to the domain).
2021-05-28 23:48:03 +01:00
Jack Grigg
f6705f23c3
zcash_note_encryption: Add ovk recovery API
2021-05-28 23:45:23 +01:00
Jack Grigg
ae43e6c074
zcash_note_encryption: Pass cmstar_bytes to Domain::derive_ock
...
PRF^ock in the spec takes cm* as a byte array.
2021-05-28 23:41:13 +01:00
Jack Grigg
ee2b96c82d
zcash_note_encryption: s/TryFrom/From on ExtractedCommitmentBytes bound
...
This was left over from an earlier refactor where we could call a domain
API to extract cmstar from a note commitment (which could fail for
Orchard). This part of extraction was subsequently refactored into the
domain logic (and is rejected earlier for Orchard). The resulting bound
is wrong because it's always possible to serialize a scalar.
2021-05-28 22:57:48 +01:00
Jack Grigg
16627b4569
zcash_note_encryption: Enforce ZIP 212 check on esk from outPlaintext
...
It needs to equal the esk derived from the note (for v2 note plaintexts).
2021-05-28 22:33:00 +01:00
str4d
d9a3b98120
Merge pull request #377 from adityapk00/builder_progress
...
Report Sapling Tx Builder Progress
2021-05-26 21:52:38 +01:00
str4d
d50bb12a97
Merge pull request #334 from str4d/dependency-updates
...
Dependency updates
2021-05-20 17:48:52 +01:00
str4d
6fab0c82a7
Merge pull request #383 from nuttycom/feature/f4jumble
...
Implement F4Jumble
2021-05-20 14:53:13 +01:00
str4d
35dadc7f6c
f4jumble: Test both directions against test vectors
2021-05-20 14:16:39 +01:00
Jack Grigg
49d946fb5a
Remove wasm32-unknown-unknown from build checks
...
By default `getrandom` 0.2 does not compile on unsupported targets; it
is necessary to enable its `js` feature flag specifically when targeting
`wasm32-unknown-unknown`. Since we don't expose that flag ourselves
(instead relying on the downstream user to do this) we can't directly
test this ourselves. `wasm32-wasi` is fully-supported, so we continue to
test builds against that target to ensure we retain WASM compatibility.
2021-05-19 18:29:37 +01:00
Jack Grigg
9a80ae5cd1
bitvec 0.20
2021-05-19 18:29:37 +01:00
Jack Grigg
5623e02a7c
Migrate to ff 0.9 et al.
2021-05-19 18:29:37 +01:00
Kris Nuttycombe
1dcba34167
Add checks against f4jumble test vectors.
2021-05-19 08:50:50 -06:00
Kris Nuttycombe
774d166fff
Use VALID_LENGTH constant for f4jumble proptest generation.
2021-05-19 08:29:10 -06:00
Kris Nuttycombe
4346ca9e50
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-05-19 08:29:10 -06:00
Kris Nuttycombe
69ce777dd1
Use macros for personalization & iterator for g function.
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-05-19 08:29:01 -06:00
Kris Nuttycombe
08a3fb9639
Implement F4Jumble
2021-05-19 08:28:58 -06:00
str4d
1b0f2060dd
Improve documentation of builder::Progress
2021-05-18 13:45:48 +01:00
Aditya Kulkarni
f3aded9c84
Send builder progress
2021-05-17 09:44:42 -07:00
str4d
05bd98b796
Merge pull request #380 from narodnik/jubjub_fr_random
...
Replace redundant code with call to Field::random() which does the same as the code.
2021-05-04 04:33:37 +01:00
Daira Hopwood
da431a0eb2
rustfmt fix
2021-05-03 14:08:06 +01:00
narodnik
618a6165c7
Replace redundant code with call to Field::random() which does the same as the code.
2021-05-03 13:34:13 +02:00
str4d
3b02c8b26e
Merge pull request #358 from nuttycom/refactor/component_modules_2
...
Generalize Sapling note encryption to allow reuse with Orchard notes.
2021-04-16 04:17:57 +01:00
Jack Grigg
28a45028ab
cargo fmt
2021-04-16 14:03:55 +12:00
Daira Hopwood
dc0f6e7115
Update comment about which case is covered by example code
2021-04-16 00:10:05 +01:00
Kris Nuttycombe
3434cc8b6a
Add a note about canonicity of ephemeral public keys.
2021-04-15 15:32:45 -06:00
Kris Nuttycombe
b2b3efd4c2
Fix naming cmstar -> cmstar_bytes and cm -> cmstar
2021-04-15 15:24:45 -06:00
Kris Nuttycombe
00d04de547
Make cmstar check follow the spec more closely.
2021-04-14 15:38:58 -06:00
Kris Nuttycombe
12cb8265d8
Fix formatting.
2021-04-12 18:47:45 -06:00
Kris Nuttycombe
389e6ca6a3
Minor comment on epk canonicity.
2021-04-12 18:43:21 -06:00
Kris Nuttycombe
fae1a1517a
Simplify try_sapling_output_recovery.
2021-04-12 18:40:17 -06:00
Kris Nuttycombe
f34e87884a
Update documentation for note encryption traits.
2021-04-12 17:41:06 -06:00
Kris Nuttycombe
6fc1d1d1c0
Use ephemeral_key bytes instead of the epk abstract point where specified.
2021-04-12 16:19:50 -06:00
Kris Nuttycombe
324fc36521
Use ShieldedOutput trait for note encryption/decryption.
...
This change modifies note encryption and decryption functions
to treat a shielded output as a single value instead of handling
the parts of an output as independent arguments.
2021-04-12 12:59:06 -06:00
Kris Nuttycombe
4f22f1d578
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-04-12 09:18:51 -06:00
Kris Nuttycombe
e654cc4ce6
Use constant-time equality for EphemeralKeyBytes.
...
Fixes #370
2021-04-12 09:13:04 -06:00
Kris Nuttycombe
cfdbafe2e3
Add myself to crate contributors.
2021-04-08 10:13:04 -06:00
Kris Nuttycombe
24e62d3a7b
Update comments describing COMPACT_NOTE_SIZE components.
...
Co-authored-by: ebfull <ewillbefull@gmail.com>
2021-04-08 10:08:58 -06:00
Kris Nuttycombe
a560101bb2
Remove spurious mut references.
2021-04-08 10:08:00 -06:00
Kris Nuttycombe
879eea863a
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-04-08 08:20:23 -06:00
Kris Nuttycombe
dad8663c55
Fix zcash_note_encryption doctests.
2021-04-08 08:20:23 -06:00
Kris Nuttycombe
213cd6cce9
Fix Clippy complaints.
2021-04-08 08:20:23 -06:00
Kris Nuttycombe
be225daabf
Update zcash_primitives dev dependency for zcash_note_encryption
2021-04-08 08:20:23 -06:00
Kris Nuttycombe
5b13bb3a1e
Add try_output_recovery_with_ovk to shared note encryption code.
2021-04-08 08:20:23 -06:00
Kris Nuttycombe
266285b536
Move generalized note encryption functionality to zcash_note_encryption crate.
2021-04-08 08:20:21 -06:00
Kris Nuttycombe
e77839232d
Generalize note encryption and decryption.
...
This commit introduces a `Domain` trait which defines the types
and operations that are shared between Sapling and Orchard note
encryption and decryption processes.
2021-04-08 08:19:10 -06:00
Kris Nuttycombe
5baccdf052
Move note_encryption into the sapling module.
2021-04-08 08:19:10 -06:00
str4d
1b4aab0b76
Merge pull request #366 from str4d/lint-fixes
...
Lint fixes
2021-04-02 11:04:53 +13:00
Jack Grigg
2f3847638d
zcash_primitives: Revert to SproutProof::PHGR
...
Unlike regular acronyms or abbreviations, this is author initials, which
we've decided to keep capitalised.
2021-04-02 10:39:25 +13:00