Commit Graph

880 Commits

Author SHA1 Message Date
Daira Hopwood c19f1d1523 Change bit ordering.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 14:27:43 +01:00
Daira Hopwood e95fee5ce7 Add lead byte to note plaintext.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 03:47:57 +01:00
Daira Hopwood 5b0c01d6d0 Clarify that we're using the IETF definition of AEAD_CHACHA20_POLY1305,
and that hSig is an input to the KDF.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 03:32:28 +01:00
Daira Hopwood fb2492d7e5 Switch to Blake2b for KDF and hSig.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 03:28:01 +01:00
Daira Hopwood 674c5614f2 \serialNumber -> \nullifier and related macro changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 01:36:34 +01:00
Daira Hopwood 6897bebfe6 Reserve non-UTF-8 lead bytes in memo field.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 15:08:15 +01:00
Daira Hopwood 9397a606b9 Change memos from 64 to 128 bytes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 03:21:50 +01:00
Daira Hopwood 6f0f88c9de Change r from 192 to 256 bits.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 03:15:08 +01:00
Daira Hopwood 3dffb0d9c7 Pour/Xfer -> JoinSplit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 02:28:50 +01:00
Daira Hopwood 263122966a coin -> note in macro names.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 02:28:07 +01:00
Daira Hopwood 819eb1dac9 transaction -> \transaction
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:19:34 +01:00
Daira Hopwood 4036a5d6e4 Make t 8 bits.
(This is not a protocol change, it's just simpler because it avoids endianness issues.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:18:53 +01:00
Daira Hopwood fedfc3c315 Fix an endianness bug.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:17:36 +01:00
Daira Hopwood 6f049a2c8d Add restriction that either vpubOld or vpubNew is zero.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:16:06 +01:00
Daira Hopwood c338fd141b Pour descriptions go in transactions, and only indirectly in blocks. fixes #20
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 00:40:09 +01:00
Daira Hopwood 5bf271d993 ephemeralKey is a change from Zerocash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 00:31:11 +01:00
Daira Hopwood 31ce718464 Fix endianness bug in an example.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-23 13:28:17 +00:00
Daira Hopwood 8b5c20cd38 Change i to be the first argument to KDF for consistency with other functions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-22 20:40:52 +00:00
Daira Hopwood d4e95b73f6 Change KDF to SHA-512 and add hSig input.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-22 17:41:57 +00:00
Daira Hopwood 8b9851a431 Remove a_pk from note plaintexts. This also fixes a bug where the recipient
would incorrectly use the decrypted a_pk to check the coin commitment, rather
than its own a_pk.

(The length of encCiphertexts was already computed assuming this change.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 23:36:54 +00:00
Daira Hopwood 5bbbb0bde6 Use standard AEAD_CHACHA20_POLY1305.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 23:32:01 +00:00
Daira Hopwood d98c941429 Switch to little-endian encoding, consistent with Bitcoin serialization.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 23:19:38 +00:00
Daira Hopwood 350c5ae598 DecryptCoin -> DecryptNote.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 20:37:43 +00:00
Daira Hopwood c55489fa2d Fix some macro uses, and rename rn to nf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 20:29:42 +00:00
Daira Hopwood 5e408580c1 Remove "map" terminology; the spent nullifiers are a set at this level of abstraction.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 20:26:37 +00:00
Daira Hopwood d60fda0e3d Rename remnant (serial number) -> nullifier.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 19:48:19 +00:00
Daira Hopwood 0b0295e29e Fix some cases where macros were not used consistently.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 19:46:19 +00:00
Daira Hopwood 08e25a8b21 WIP - new terminology.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-18 21:09:24 +00:00
Daira Hopwood 0e6953a6eb WIP: Define types for serialized fields.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-18 01:20:44 +00:00
Daira Hopwood 5ebe7b31e0 Specify precisely the data to be signed. This includes a design change
to use a single signature covering all of the transaction except
pourPubKey and pubSig.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-16 01:36:37 +00:00
Daira Hopwood a5096c755a Bibliography: cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-16 01:34:45 +00:00
Daira Hopwood 57d94a0bf9 Specify precise encoding of ECDSA public key. Also improve description
of how the public key is bound to the Pour statement.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-16 00:06:01 +00:00
Daira Hopwood 5d3b31b15f Cosmetics, re-render PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:23:38 +00:00
Daira Hopwood 1bd4e4cfdb Make some subparagraphs into subsections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:23:05 +00:00
Daira Hopwood 5a78817989 Reference libsnark for encoding of proofs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:22:22 +00:00
Daira Hopwood 245c52036c randomSeed must be chosen independently at random for each Pour description.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:21:41 +00:00
Daira Hopwood 223f7d2e1e Be more precise about Pour transfers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:20:46 +00:00
Daira Hopwood 87c502ffd3 Enforce canonical ECDSA signatures, and specify encodings (WIP).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:20:17 +00:00
Daira Hopwood 23e66ae090 Change 'script*' variables to 'pour*', and add references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:17:14 +00:00
Daira Hopwood 28b38b5eb9 Fix 'make clean'.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 23:13:51 +00:00
Daira Hopwood 10ac791004 Remove viewing keys (except for sk_enc) for now.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-13 02:16:30 +00:00
Daira Hopwood 42954ecdac Fill in more sections of "Differences from Zerocash".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-13 01:23:04 +00:00
Daira Hopwood 3d04c384f1 Add Nathan Wilcox to authors.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-09 00:40:08 +00:00
Daira Hopwood 1b1e1f8456 Add lead byte to KDF input.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 21:08:14 +00:00
Daira Hopwood 95e6fc42cd Seriously, LaTeX, this paragraph is just fine.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 21:06:23 +00:00
Daira Hopwood a8ff6110e6 Adjust list spacing. (I'm picky about things like that.)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 21:05:45 +00:00
Daira Hopwood e15a4fc0a4 Clarify that the nonce to AEAD_CHACHA20_POLY1305 is 96 bits, and the key 256 bits.
fixes zips/#19

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 17:00:31 +00:00
Daira Hopwood c57d295a38 Fix definitions of a_vk and a_pk in Pour statement. fixes zips#18
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 16:52:15 +00:00
Daira Hopwood 64c91164ab Descriptions of scriptSig and scriptPubKey were the wrong way round. fixes zips#17
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 04:53:02 +00:00
Daira Hopwood 2fac159404 Fix index error in computation of hSig.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-07 04:38:51 +00:00