Browse Source

Fix formatting and warnings.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
558.crypto-box.1
Daira Hopwood 8 years ago
parent
commit
c3646a4cd4
  1. BIN
      protocol/protocol.pdf
  2. 15
      protocol/protocol.tex
  3. 16
      protocol/zcash.bib

BIN
protocol/protocol.pdf

Binary file not shown.

15
protocol/protocol.tex

@ -1,4 +1,4 @@
\documentclass[8pt]{article}
\documentclass{article}
\RequirePackage{amsmath}
\RequirePackage{bytefield}
\RequirePackage{graphicx}
@ -7,6 +7,7 @@
\RequirePackage{xspace}
\RequirePackage{url}
\RequirePackage{changepage}
\RequirePackage{lmodern}
\setlength{\oddsidemargin}{-0.25in} % Left margin of 1 in + 0 in = 1 in
\setlength{\textwidth}{7in} % Right margin of 8.5 in - 1 in - 6.5 in = 1 in
@ -315,7 +316,7 @@ $\CoinCommitRand$ are tokens randomly generated by the sender. Only a hash of
these values is disclosed publicly, which allows these random tokens to blind the
value and recipient \emph{except} to those who possess these tokens.
\subparagraph{In-band secret distribution}
\subsubsection{In-band secret distribution}
In order to transmit the secret $\Value$, $\CoinAddressRand$, and $\CoinCommitRand$
(necessary for the recipient to later spend) and also a \memo to the recipient
@ -337,8 +338,12 @@ $\CryptoBoxSpecific$) \cite{cryptobox} as follows.
\end{bytefield}
\end{lrbox}
Define $\Nonce(i, \EphemeralPublic, \TransmitPublicNew{i}) =
Define:
\begin{itemize}
\item[] $\Nonce(i, \EphemeralPublic, \TransmitPublicNew{i}) =
\CryptoBoxSealHashbox{\noncebox}$.
\end{itemize}
Let $\TransmitPublicNew{1..\NNew}$ be the Curve25519 public keys for the intended
recipient addresses of each new \coin, and let $\Plaintext{1..\NNew}$ be their
@ -376,7 +381,7 @@ given \PourDescription, and with the nonce for each ciphertext component dependi
on the index $i$. Also, $\CryptoBoxSealHash$ (the full hash, not the compression
function) is used instead of $\mathsf{blake2b}$.
\subparagraph{Coin Commitments}
\subsubsection{Coin Commitments}
The underlying $\Value$ and $\SpendAuthorityPublic$ are blinded with $\CoinAddressRand$
and $\CoinCommitRand$ using the collision-resistant hash function $\CRH$ in a
@ -415,7 +420,7 @@ multi-layered process. The resulting hash $\cm = \CoinCommitment{\Coin}$.
\end{aligned}
\end{equation*}
\subparagraph{Serials}
\subsubsection{Serial numbers}
A \serialNumber (denoted $\sn$) equals
$\PRFsn{\SpendAuthorityPrivate}(\CoinAddressRand)$. A \coin is spent by proving

16
protocol/zcash.bib

@ -8,21 +8,26 @@
}
@misc{Base58Check,
key={Base58Check},
title={Base58{C}heck encoding},
howpublished={\url{https://en.bitcoin.it/wiki/Base58Check_encoding}},
note={Accessed: 2016-01-26}
note={\mbox{Accessed: 2016-01-26}}
}
@inproceedings{Curve25519,
author={Daniel Bernstein},
title={Curve25519: new {D}iffie-{H}ellman speed records},
booktitle={Proceedings of PKC 2006},
note={Document ID: 4230efdfa673480fc079449d90f322c0. Date: 2006-02-09.
booktitle={Public Key Cryptography - PKC 2006. Proceedings of the 9th International Conference on Theory and Practice in Public-Key Cryptography, New York, NY, USA, April 24-26},
year={2006},
publisher={Springer-Verlag},
note={Document ID: 4230efdfa673480fc079449d90f322c0. \mbox{Date: 2006-02-09.}
\url{http://cr.yp.to/papers.html#curve25519}}
}
@book{Unicode,
author={The Unicode Consortium},
publisher={The Unicode Consortium},
year={2015},
title={The Unicode Standard},
note={\url{http://www.unicode.org/versions/latest/}}
}
@ -31,13 +36,14 @@
author={Daniel Bernstein},
title={Cryptography in {N}a{C}l},
howpublished={\url{https://nacl.cr.yp.to/valid.html}},
note={Accessed: 2016-02-01}
note={\mbox{Accessed: 2016-02-01}}
}
@misc{cryptoboxseal,
key={libsodium},
title={libsodium documentation: Sealed boxes},
howpublished={\url{https://download.libsodium.org/doc/public-key_cryptography/sealed_boxes.html}},
note={Accessed: 2016-02-01}
note={\mbox{Accessed: 2016-02-01}}
}
@misc{sha256,

Loading…
Cancel
Save