From e7ad03ac527866b0b19e0d23d3aa400f3343fbc3 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Fri, 26 Feb 2016 01:56:04 +0000 Subject: [PATCH] The nonce input to the AEAD isn't long enough, so derive K^disclose_i using a PRF instead. Signed-off-by: Daira Hopwood --- protocol/protocol.pdf | Bin 624592 -> 623013 bytes protocol/protocol.tex | 96 +++++++++++++++++++++--------------------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/protocol/protocol.pdf b/protocol/protocol.pdf index 127d19ea14836f3deb5e3f78eb896b2cde8bc884..3b65dcf68d9218b0aef34b40c9ad57bc234a85b1 100644 GIT binary patch delta 65176 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 delta 66641 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

8EmXi7mt97w|(ceBo17+XQj&e_rL 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 diff --git a/protocol/protocol.tex b/protocol/protocol.tex index a1c06e48..dc58c6fd 100644 --- a/protocol/protocol.tex +++ b/protocol/protocol.tex @@ -142,20 +142,17 @@ \newcommand{\Plaintext}{\mathbf{P}} \newcommand{\Ciphertext}{\mathbf{C}} \newcommand{\Key}{\mathsf{K}} -\newcommand{\Nonce}{\mathsf{nonce}} -\newcommand{\Empty}{\varnothing} \newcommand{\RandomSeed}{\mathsf{randomSeed}} \newcommand{\TransmitPlaintext}[1]{\Plaintext^\enc_{#1}} \newcommand{\TransmitCiphertext}[1]{\Ciphertext^\enc_{#1}} \newcommand{\TransmitKey}[1]{\Key^\enc_{#1}} \newcommand{\TransmitKeyCompare}[1]{\Key^*_{#1}} +\newcommand{\DerivedKey}[1]{\Key^\disclose_{#1}} \newcommand{\DiscloseCiphertext}[1]{\Ciphertext^\disclose_{#1}} \newcommand{\SharedPlaintext}[1]{\Plaintext^\shared_{#1}} \newcommand{\SharedCiphertext}{\Ciphertext^\shared} \newcommand{\SharedKey}[1]{\Key^\shared_{#1}} \newcommand{\KDF}{\mathsf{KDF}} -\newcommand{\Prenonce}{\mathsf{prenonce}} -\newcommand{\PkEncrypt}[1]{\mathsf{PkEncrypt}_{#1}} \newcommand{\SymEncrypt}[1]{\mathsf{SymEncrypt}_{#1}} \newcommand{\SymDecrypt}[1]{\mathsf{SymDecrypt}_{#1}} \newcommand{\SymSpecific}{\mathsf{AEAD\_CHACHA20\_POLY1305}} @@ -170,6 +167,7 @@ \newcommand{\PRFsn}[1]{\PRF{#1}{sn}} \newcommand{\PRFpk}[1]{\PRF{#1}{pk}} \newcommand{\PRFrho}[1]{\PRF{#1}{\CoinAddressRand}} +\newcommand{\PRFdk}[1]{\PRF{#1}{dk}} \newcommand{\SHA}{\mathtt{SHA256Compress}} \newcommand{\SHAName}{\term{SHA-256 compression}} \newcommand{\SHAOrig}{\term{SHA-256}} @@ -296,8 +294,6 @@ with indices $1$ through $\mathrm{N}$ inclusive. For example, $\AuthPublicNew{\mathrm{1}..\NNew}$ means the sequence $[\AuthPublicNew{\mathrm{1}}, \AuthPublicNew{\mathrm{2}}, ...\;\AuthPublicNew{\NNew}]$. -$\Empty$ denotes an empty byte sequence. - \subsection{Cryptographic Functions} $\CRH$ is a collision-resistant hash function. In \Zcash, the $\SHAName$ function @@ -305,18 +301,21 @@ is used which takes a 512-bit block and produces a 256-bit hash. This is different from the $\SHAOrig$ function, which hashes arbitrary-length strings. \cite{sha256} -$\PRF{x}{}$ is a pseudo-random function seeded by $x$. \changed{Four} \emph{independent} +$\PRF{x}{}$ is a pseudo-random function seeded by $x$. \changed{Five} \emph{independent} $\PRF{x}{}$ are needed in our scheme: $\PRFaddr{x}$, $\PRFsn{x}$, $\PRFpk{x}$\changed{, -and $\PRFrho{x}$}. It is required that $\PRFsn{x}$ \changed{and $\PRFrho{x}$} be -collision-resistant across all $x$ --- i.e. it should not be feasible to find -$(x, y) \neq (x', y')$ such that $\PRFsn{x}(y) = \PRFsn{x'}(y')$\changed{, and similarly -for $\PRFrho{}$}. +$\PRFrho{x}$, and $\PRFdk{x}$}. + +It is required that $\PRFsn{x}$ \changed{and $\PRFrho{x}$} be collision-resistant +across all $x$ --- i.e. it should not be feasible to find $(x, y) \neq (x', y')$ +such that $\PRFsn{x}(y) = \PRFsn{x'}(y')$\changed{, and similarly for $\PRFrho{}$}. In \Zcash, the $\SHAName$ function is used to construct all four of these functions. The bits $\mathtt{00}$, $\mathtt{01}$, $\mathtt{10}$\changed{, and $\mathtt{11}$} are included (respectively) within the blocks that are hashed, ensuring that the functions are independent. +\todo{Fix domain separation for $\PRFdk{x}$.} + \newcommand{\iminusone}{\hspace{0.3pt}\scriptsize{$i$\hspace{0.6pt}-1}} \newsavebox{\addrbox} @@ -364,6 +363,18 @@ ensuring that the functions are independent. \end{bytefield} \end{lrbox} +\newsavebox{\dkbox} +\begin{lrbox}{\dkbox} +\setchanged +\begin{bytefield}[bitwidth=0.065em]{512} + \bitbox{242}{256 bit $\DiscloseKey$} & + \bitbox{18}{?} & + \bitbox{18}{?} & + \bitbox{18}{\iminusone} & + \bitbox{204}{$\Leading{253}(\hSig)$} +\end{bytefield} +\end{lrbox} + \nathan{Note: If we change input or output arity (i.e. $\NOld$ or $\NNew$), we need to be aware of how it is associated with this bit-packing.} @@ -373,12 +384,13 @@ need to be aware of how it is associated with this bit-packing.} \sn =\;& \PRFsn{\AuthPrivate}(\CoinAddressRand) &:= \CRHbox{\snbox} \\ \h{i} =\;& \PRFpk{\AuthPrivate}(i, \hSig) &:= \CRHbox{\pkbox} \\ \setchanged \CoinAddressRandNew{i} =\;&\setchanged \PRFrho{\CoinAddressPreRand}(i, \hSig) -&\setchanged := \CRHbox{\rhobox} +&\setchanged := \CRHbox{\rhobox} \\ +\setchanged \DerivedKey{i} =\;&\setchanged \PRFdk{\DiscloseKey}(i, \hSig) +&\setchanged := \CRHbox{\dkbox} \end{aligned} \end{equation*} -\daira{Should we instead define $\CoinAddressRand$ to be 254 bits and $\hSig$ to be -253 bits?} +\daira{Truncate the left-hand sides rather than the right-hand sides.} \section{Concepts} @@ -745,7 +757,7 @@ there exists a witness of \term{auxiliary input}: \begin{itemize} \item[] $(\treepath{1..\NOld}, \cOld{1..\NOld}, \AuthPrivateOld{\mathrm{1}..\NOld}, \changed{\DiscloseKeyOld{\mathrm{1}..\NOld}, \cpNew{1..\NNew}, -\CoinAddressPreRand, \SharedKey{}, \TransmitKey{1..\NOld}})$ +\CoinAddressPreRand, \TransmitKey{1..\NNew}, \DerivedKey{1..\NOld}, \SharedKey{}})$ \end{itemize} where: @@ -786,33 +798,34 @@ $\AuthPublicOld{i} = \PRFaddr{\DiscloseKeyOld{i}}(1)$. \subparagraph{Non-malleability} for each $i \in \{1..\NOld\}$: -$\h{i} = \PRFpk{\AuthPrivateOld{i}}(i, \hSig)$ +$\h{i} = \PRFpk{\AuthPrivateOld{i}}(i, \hSig)$. \changed{ \subparagraph{Uniqueness of $\CoinAddressRandNew{i}$} for each $i \in \{1..\NNew\}$: -$\CoinAddressRandNew{i} = \PRFrho{\CoinAddressPreRand}(i, \hSig)$ +$\CoinAddressRandNew{i} = \PRFrho{\CoinAddressPreRand}(i, \hSig)$. } \subparagraph{Commitment integrity} -for each $i \in \{1..\NNew\}$: $\cmNew{i}$ = $\CoinCommitment(\cNew{i})$ +for each $i \in \{1..\NNew\}$: $\cmNew{i}$ = $\CoinCommitment(\cNew{i})$. \changed{ \subparagraph{$\TransmitCiphertext{}$ integrity} for each $i \in \{1..\NNew\}$: -$\TransmitCiphertext{i} = \SymEncrypt{\TransmitKey{i}}(\TransmitPlaintext{i}, \Empty)$. +$\TransmitCiphertext{i} = \SymEncrypt{\TransmitKey{i}}(\TransmitPlaintext{i})$. \subparagraph{$\DiscloseCiphertext{}$ integrity} for each $i \in \{1..\NOld\}$: -$\DiscloseCiphertext{i} = \SymEncrypt{\DiscloseKeyOld{i}}(\SharedKey{}, \Nonce(\hSig, i))$ +$\DiscloseCiphertext{i} = \SymEncrypt{\DerivedKey{i}}(\SharedKey{})$ +and $\DerivedKey{i} = \PRFdk{\DiscloseKeyOld{i}}(i, \hSig)$. \subparagraph{$\SharedCiphertext$ integrity} -$\SharedCiphertext = \SymEncrypt{\SharedKey{}}(\SharedPlaintext{}, \Empty)$ +$\SharedCiphertext = \SymEncrypt{\SharedKey{}}(\SharedPlaintext{})$. } \section{In-band secret distribution} @@ -842,15 +855,6 @@ All of the resulting ciphertexts are combined to form a \coinsCiphertext. \end{bytefield} \end{lrbox} -\newsavebox{\noncebox} -\begin{lrbox}{\noncebox} -\setchanged -\begin{bytefield}[bitwidth=0.032em]{8} - \bitbox{256}{256 bit $\hSig$} - \bitbox{160}{8 bit $i-1$} -\end{bytefield} -\end{lrbox} - \newsavebox{\sharedbox} \begin{lrbox}{\sharedbox} \setchanged @@ -868,20 +872,18 @@ All of the resulting ciphertexts are combined to form a \coinsCiphertext. \subsection{Encryption} \changed{ -Let $\SymEncrypt{\Key}(\Plaintext, \Nonce)$ be the $\SymSpecific$ \cite{rfc7539} -encryption of plaintext $\Plaintext$ with empty ``additional data", nonce $\Nonce$, +Let $\SymEncrypt{\Key}(\Plaintext)$ be the $\SymSpecific$ \cite{rfc7539} +encryption of plaintext $\Plaintext$ with empty ``additional data", all-zero nonce, and key $\Key$. -Similarly, let $\SymDecrypt{\Key}(\Ciphertext, \Nonce)$ be the $\SymSpecific$ -decryption of ciphertext $\Ciphertext$ with empty ``additional data", -nonce $\Nonce$, and key $\Key$. The result is either the plaintext byte sequence, +Similarly, let $\SymDecrypt{\Key}(\Ciphertext)$ be the $\SymSpecific$ +decryption of ciphertext $\Ciphertext$ with empty ``additional data", all-zero +nonce, and key $\Key$. The result is either the plaintext byte sequence, or $\bot$ indicating failure to decrypt. Define: $\KDF(\DHSecret{i}, \EphemeralPublic, \TransmitPublicNew{i}, i) := \FullHashbox{\kdfbox}$. - -$\Nonce(\hSig, i) := \Justthebox{\noncebox}{-1.3ex}$. } Let $\TransmitPublicNew{\mathrm{1}..\NNew}$ be the \changed{Curve25519} public keys @@ -905,14 +907,14 @@ $(\EphemeralPublic, \EphemeralPrivate)$, and a new $\SymSpecific$ key $\SharedKe \item Let $\TransmitKey{i} := \KDF(\DHSecret{i}, \EphemeralPublic, \TransmitPublicNew{i}, i)$. \item Let $\TransmitCiphertext{i} := -\SymEncrypt{\TransmitKey{i}}(\TransmitPlaintext{i}, \Empty)$. +\SymEncrypt{\TransmitKey{i}}(\TransmitPlaintext{i})$. \end{itemize} \item For $i$ in $\{1..\NOld\}$, \begin{itemize} - \item Let $\DiscloseCiphertext{i} := -\SymEncrypt{\DiscloseKeyOld{i}}(\SharedKey{}, \Nonce(\hSig, i))$. + \item Let $\DerivedKey{i} := \PRFdk{\DiscloseKeyOld{i}}(i, \hSig)$. + \item Let $\DiscloseCiphertext{i} := \SymEncrypt{\DerivedKey{i}}(\SharedKey{})$. \end{itemize} - \item Let $\SharedCiphertext := \SymEncrypt{\SharedKey{}}(\SharedPlaintext{}, \Empty)$. + \item Let $\SharedCiphertext := \SymEncrypt{\SharedKey{}}(\SharedPlaintext{})$. } \end{itemize} @@ -939,7 +941,7 @@ $\DecryptCoin(\TransmitKey{i}, \TransmitCiphertext{i}, \cmNew{i})$ is defined as \begin{itemize} \item Let $\TransmitPlaintext{i} := -\SymDecrypt{\TransmitKey{i}}(\TransmitCiphertext{i}, \Empty)$. +\SymDecrypt{\TransmitKey{i}}(\TransmitCiphertext{i})$. \item If $\TransmitPlaintext{i} = \bot$, return $\bot$. \item Extract $\CoinPlaintext{i} = (\AuthPublicNew{i}, \ValueNew{i}, \CoinAddressRandNew{i}, \CoinCommitRandNew{i}, \Memo_i)$ from $\TransmitPlaintext{i}$. @@ -972,11 +974,10 @@ will attempt to decrypt the corresponding \coinsCiphertext as follows: \item Set $\SharedPlaintext{} := \bot$. \item For $i$ in $\{1..\NNew\}$, \begin{itemize} - \item Let $\SharedKey{i} := -\SymDecrypt{\DiscloseKey{}}(\DiscloseCiphertext{i}, \Nonce(\hSig, i))$. + \item Let $\DerivedKey{i} := \PRFdk{\DiscloseKey{}}(i, \hSig)$. + \item Let $\SharedKey{i} := \SymDecrypt{\DerivedKey{i}}(\DiscloseCiphertext{i})$. \item If $\SharedKey{i} = \bot$ then continue with the next $i$. - \item Let $\SharedPlaintext{i} := -\SymDecrypt{\SharedKey{i}}(\SharedCiphertext, \Empty)$. + \item Let $\SharedPlaintext{i} := \SymDecrypt{\SharedKey{i}}(\SharedCiphertext)$. \item If $\SharedPlaintext{i} = \bot$ then continue with the next $i$. \item Set $\SharedPlaintext{} := \SharedPlaintext{i}$ and exit the loop. \end{itemize} @@ -1018,8 +1019,7 @@ Note that: in a given \PourDescription. \item In addition to the Diffie-Hellman secret, the KDF takes as input the public keys of both parties, and the index $i$. - \item The nonce parameter to $\SymSpecific$ is not used for the public key - encryption. + \item The nonce parameter to $\SymSpecific$ is not used. \item The ephemeral secret $\EphemeralPrivate$ is included together with the \transmitKeypair public keys of the recipients, symmetrically encrypted to the \discloseKey.