Commit Graph

173 Commits

Author SHA1 Message Date
Kris Nuttycombe 503a57bcbb Add test vectors for unified address encodings.
This copies in the reference implementation of bech32m,
so that we can remove the 90 character length limitation.
2021-06-12 17:09:21 -06:00
str4d 0b97f47e7c
Merge pull request #35 from zcash-hackworks/fix-orchard-note-enc-output
Fix output for Orchard note encryption test vectors
2021-06-10 19:44:27 +01:00
Jack Grigg 3179b97362 Fix output for Orchard note encryption test vectors
The test vectors were being generated correctly, but the output was
still Sapling-specific (rather than including Orchard components).
2021-06-10 19:26:38 +01:00
str4d 23f3d09f03
Merge pull request #34 from zcash-hackworks/33-zip-244-auth-digest
Add ZIP 244 auth digest test vectors
2021-06-08 19:07:08 +01:00
Jack Grigg 95b3a130df Add ZIP 244 auth digest test vectors 2021-06-08 17:46:45 +01:00
str4d cd50b88703
Merge pull request #20 from zcash-hackworks/tx-v5
Test vectors for ZIP 225 and ZIP 244
2021-06-04 18:13:27 +01:00
str4d 351f6cfc5f
Merge pull request #30 from zcash-hackworks/orchard-notes
Orchard note encryption
2021-05-30 21:40:49 +01:00
str4d 62a176014a
orchard_note_encryption: Use ephemeral_key local 2021-05-30 21:40:42 +01:00
str4d 41925bb669
Merge pull request #32 from zcash-hackworks/orchard-key-components-fix
Fix Orchard key components test vectors
2021-05-30 21:37:47 +01:00
therealyingtong d25805a893 Address review comments
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-05-28 23:37:49 +08:00
ying tong 70ccff9bd9
Store v as integer instead of Scalar in NotePlaintext
Co-authored-by: str4d <jack@z.cash>
2021-05-28 23:28:01 +08:00
Jack Grigg fea2456bef Fix Orchard key components test vectors
- Removed `note_r` (scalar copied from Sapling)
- Added `note_rseed` (bytes)
- `note_psi` needs to be derived from `note_rseed`
- missing `dk`, `note_rho` from output
2021-05-28 11:51:57 +01:00
therealyingtong f44fce557e Set cm_star = cm.extract() instead of the point cm
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-27 13:02:29 +08:00
therealyingtong 8410648f87 Check esk using np.rseed in decrypt_using_ovk()
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-27 13:02:16 +08:00
ying tong 83074b2628
Document decoding of ephemeral_key from epk
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-27 12:53:27 +08:00
ying tong 2120658d5d Check 'is None' instead of boolean false
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-27 12:51:54 +08:00
ying tong dbf772b00d Call rcm() and psi() using self.rho()
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-27 12:51:50 +08:00
Jack Grigg 445c2602f4 Rename header() to version_bytes()
Now that the v5 transaction format has an actual header region, this
old naming makes less sense.
2021-05-26 18:12:16 +01:00
Jack Grigg bc75d044a1 Use specific tx formats compatible with sighash algorithms
ZIP 244 is only defined for v5 transactions, so use the TransactionV5
type directly; likewise use LegacyTransaction with the ZIP 143 and
ZIP 243 APIs.
2021-05-26 18:01:00 +01:00
str4d a5a7340290
Remove unnecessary txin parameters
These were leftover from an earlier version of the PR.

Co-authored-by: ying tong <yingtong@z.cash>
2021-05-26 17:50:50 +01:00
Jack Grigg da4e9b22dc Test vectors for ZIP 244 2021-05-26 17:46:54 +01:00
Jack Grigg b9ce8224b6 Implement structural generator for v5 transaction format (ZIP 225) 2021-05-26 17:46:53 +01:00
Daira Hopwood c056ec5dc0
Merge pull request #29 from zcash-hackworks/orchard-key-components
Orchard key components
2021-05-26 11:05:19 +01:00
therealyingtong cbf2e840b9 Remove bytes() coercion for OrchardNotePlaintext.rseed
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-05-26 14:32:28 +08:00
therealyingtong c182edabd4 Address review comments.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-05-26 14:26:08 +08:00
therealyingtong 406747099a Test decryption using ivk and fvk 2021-05-26 14:10:36 +08:00
therealyingtong 11ad2d4f95 Add orchard_note_encryption.py 2021-05-26 14:10:36 +08:00
therealyingtong 6f395a5750 Add orchard_note.py 2021-05-26 14:10:36 +08:00
therealyingtong 63a1e76fb9 Add orchard_utils.py 2021-05-26 14:10:36 +08:00
therealyingtong e50da335f5 Use randomness in test and address review comments 2021-05-26 13:30:52 +08:00
therealyingtong 646ff15777 Use ff1 for default diversifier 2021-05-26 13:29:59 +08:00
ying tong 12a07b4f61
Merge pull request #28 from zcash-hackworks/orchard-commitments
Add Orchard commitments
2021-05-26 11:38:36 +08:00
Kris Nuttycombe 5e1e5498f7
Merge pull request #31 from zcash-hackworks/f4jumble
Test vector generator for F4Jumble
2021-05-19 09:02:44 -06:00
therealyingtong f1342994dd Case ivk as Scalar in default_pkd() 2021-05-14 11:16:34 +08:00
therealyingtong 04587ac9ba Fix Scalar typecasting
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-14 11:16:34 +08:00
therealyingtong d5a8927316 Remove unnecessary to_base()
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-14 11:16:34 +08:00
therealyingtong 77f1299d9b Add derive_nullifier() method 2021-05-14 11:16:34 +08:00
Daira Hopwood 8ce3cfb8d9 Add orchard_key_components.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-05-14 11:16:34 +08:00
ying tong 99e7184038
Remove whitespace in note_commit and commit_ivk personalisations
Co-authored-by: str4d <jack@z.cash>
2021-05-13 12:57:07 +08:00
str4d 232aaa3474
Update f4jumble.py
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-05-12 13:06:52 +01:00
Jack Grigg bd1eef9c16 Test vector generator for F4Jumble 2021-05-12 08:16:06 +08:00
therealyingtong e0b8fd639a Return base field element from commit_ivk()
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-05-11 20:06:32 +08:00
ying tong fb08eeeb39 Pass rand instead of randbytes
Co-authored-by: str4d <jack@z.cash>
2021-05-09 12:46:09 +08:00
Daira Hopwood af04017407 orchard_pallas.py: add constants for Scalar.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-05-09 12:44:40 +08:00
Daira Hopwood 29c40dc885 orchard_commitments.py and orchard_group_hash.py: type fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-05-09 12:44:40 +08:00
Daira Hopwood 929692ecdc Rename sapling_utils.py to utils.py.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-05-09 12:44:39 +08:00
Daira Hopwood a7a1e5b217 Use rejection sampling to implement `random` for `Fp` and `Scalar`.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-05-09 12:41:18 +08:00
therealyingtong 72cae20b61 Add Orchard commitments
HomomorphicPedersenCommit -> ValueCommit
SinsemillaCommit -> NoteCommit
SinsemillaShortCommit -> CommitIvk
2021-05-09 12:41:18 +08:00
ying tong bd7c367590 Apply suggestions from code review
Co-authored-by: str4d <jack@z.cash>
2021-05-09 12:41:18 +08:00
therealyingtong 43de24d88c Add Orchard generators 2021-05-09 12:41:18 +08:00