commit 3368b0cd5db37549a4637d5a9f342f8119f11edb
parent 0addb20f4af5d12633df53fa9719100328f1ef9a
Author: Casaburi Johannes <johannes.casaburi@students.bfh.ch>
Date: Tue, 17 Oct 2023 13:21:11 +0200
[doc] some adjustments
Diffstat:
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/doc/flows/main.tex b/doc/flows/main.tex
@@ -21,21 +21,23 @@
\section{Definitions}
\begin{itemize}
- \item \textbf{Cryptographic Hash Function} $H$
+ \item \textbf{Cryptographic Hash Function} $H(m)$ where $m$ is a message.
- \item \textbf{Signing Function} $Sign$
+ \item \textbf{Signing Function} $Sign(m,k)$ where $m$ is a message and $k$ is the key used to sign the message.
- \item \textbf{Signature} $S$
+ \item \textbf{Blinding Function} $Blind(m,b)$ where $m$ is a message and $b$ is the blinding factor used to blind the message.
+
+ \item \textbf{Unblinding Function} $Unlind(s,b)$ where $s$ is a blind signature and $b$ is the blinding factor.
- \item \textbf{Blind Signature} $BS$
+ \item \textbf{Signature} $S$
- \item \textbf{Blinding Factor} $b$
+ \item \textbf{Blind Signature} $S^b$
\item \textbf{Donation Unit} $DU = (K_{pub}, K_{priv})$: Smallest structure representing a donation confirmation unit. Consists of a Public key $K_{pub}$ and Private key $K_{priv}$. Equivalent in Taler is "denomination".
\item \textbf{Unique Donor Identifier} $UDI = \langle H(TAXID, SALT), NONCE \rangle$
- \item \textbf{Blinded Unique Donor Identifier} $BUDI = \langle B_{UDI}, H(K_{pub}) \rangle$, blinded to protect the privacy of the donor
+ \item \textbf{Blinded Unique Donor Identifier} $BUDI = \langle S^b_{UDI}, H(K_{pub}) \rangle$, blinded to protect the privacy of the donor
\item \textbf{Donation Receipt} $DR = \langle UDI, S_{UDI}, H(K_{pub}) \rangle$
@@ -67,8 +69,7 @@
\item The donor blinds the $UDI$'s using a \textbf{different} blinding factor $b$ for every $UDI$.
\begin{align}
- B_{UDI} &= blind(b,UDI, K_{pub}) \\
- BUDI &= \langle B_{UDI}, H(K_{priv}) \rangle
+ BUDI &= \langle Blind(\langle UDI, K_{pub} \rangle, b), H(K_{pub}) \rangle
\end{align}
\item The donor sends the $BUDI$'s as well as the corresponding payment to the charity.
@@ -81,27 +82,27 @@
\item The charity signs (using EdDSA) a structure containing all unsigned $BUDI$'s coming from the donor.
\begin{align}
- S_C = Sign(\langle BUDI_1, BDUI_2, .. \rangle, C_{priv})
+ S_{C} = Sign(\langle BUDI_1, BDUI_2, .. \rangle, C_{priv})
\end{align}
- \item The charity sends this structure and the signature $S_C$ to the Donau.
+ \item The charity sends this structure $\langle BUDI_1, BDUI_2, .. \rangle$ and the signature $S_{C}$ to the Donau.
\end{enumerate}
\subsubsection{Donau sends back the blind signed $UDI$'s to charity}
\begin{enumerate}
\item The Donau:
\begin{enumerate}
- \item verifies the signature $S_C$ on the structure.
+ \item verifies the signature $S_{C}$ on the structure.
\item increments the current amount of donations received per year of the charity. This value is increased by the total amount of the $BUDI$'s, if the increment does not exceed the annual limit.
- \item blind signs all the $BUDI$'s using the $DU$ private keys $K_{priv}$ matching the public keys used in $H(K_{pub})$.
+ \item signs all the $BUDI$'s using the $DU$ private keys $K_{priv}$ matching the public keys $H(K_{pub})$ used in the $BUDI$.
\begin{align}
- BS_D = Sign(BUDI, K_{priv})
+ S^b_{K} = Sign(BUDI, K_{priv})
\end{align}
- \item sends back the blind signatures ($S_D$'s) to the charity.
+ \item sends back the blind signatures ($S^b_{K}$'s) to the charity.
\end{enumerate}
\item The charity transmits the blind signatures to the donor.
@@ -109,7 +110,7 @@
\item The donor unblinds the $BUDI$'s to get the signed $UDI$'s. This results in the \textbf{Donation Receipt} $DR$ consisting of the $UDI$, the signature $S_{UDI}$ and the Hash of the $DU$ public key $H(K_{pub})$.
\begin{align}
- S_{UDI} &= unblind(BS_D, b) \\
+ S_{UDI} &= Unblind(S^b_{K}, b) \\
DR &= \langle UDI, S_{UDI}, H(K_{pub}) \rangle
\end{align}
\end{enumerate}
@@ -129,10 +130,10 @@
\end{itemize}
\item The Donau signs over the total amount,
- year and $H(TAXID, SALT)$ and sends the signature and the total amount so far back to the donor. This results in the \textbf{Donation Statement} $DS$.
+ year and $H(TAXID, SALT)$ and sends the signature and the total amount so far back to the donor. This results in a final signature called the \textbf{Donation Statement} $DS$.
\begin{align}
- DS = Sign(\langle AMOUNT_{Total}, YEAR, H(TAXID, SALT) \rangle)
+ DS = Sign(\langle AMOUNT_{Total}, YEAR, H(TAXID, SALT) \rangle, D_{priv})
\end{align}
\end{enumerate}
@@ -140,7 +141,7 @@
\begin{enumerate}
\item The donor generates a QR code:
\begin{align}
- QR = \langle TAXID, SALT, DS, YEAR, AMOUNT \rangle
+ QR = \langle TAXID, SALT, DS, YEAR, AMOUNT \rangle %version?
\end{align}
\item The validator scans the QR code and verifies the signature in the $DS$.