[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-donau] branch master updated: [doc] work on notation & definition
From: |
gnunet |
Subject: |
[taler-donau] branch master updated: [doc] work on notation & definitions |
Date: |
Mon, 30 Oct 2023 19:46:21 +0100 |
This is an automated email from the git hooks/post-receive script.
pius-loosli pushed a commit to branch master
in repository donau.
The following commit(s) were added to refs/heads/master by this push:
new e019ec8 [doc] work on notation & definitions
e019ec8 is described below
commit e019ec800cb41d7626cf574c74573f78439f19b5
Author: Pius Loosli <loosp2@bfh.ch>
AuthorDate: Mon Oct 30 19:46:39 2023 +0100
[doc] work on notation & definitions
---
doc/flows/main.tex | 42 ++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)
diff --git a/doc/flows/main.tex b/doc/flows/main.tex
index c036a95..fa06efb 100644
--- a/doc/flows/main.tex
+++ b/doc/flows/main.tex
@@ -19,50 +19,64 @@
\begin{document}
\maketitle
-\section{Definitions}
+\newpage
+\section{Notation \& Definitions }
+\subsection{Notation}
+\begin{itemize}
+ \item $\langle a, b, ... \rangle$ : Pair/tuple
+\end{itemize}
+
+\subsection{Definitions}
\begin{itemize}
\item \textbf{Cryptographic Hash Function} $H(m) = h$ where $m$ is a message
and $h$ the resulting hash.
+
+ \item \textbf{Blinding function} $blind(m, b)$ where $m$ is the message to
blind and $b$ the blinding factor to apply. The blinding can be done with
either the RSA blind signature scheme or the Blinded Clause-Schnorr signature
scheme.
+
+ \item \textbf{Keygen} TODO
\item \textbf{Signing}
\begin{itemize}
\item \textbf{Classic/lightweight signing (e.g. EdDSA):}
\begin{align}
- \fbox{$\Sigma(m,k) = \sigma$}
+ \fbox{$\sigma := sign(m,k)$}
\end{align}
where $m$ is a message and $k$ is the private key used to sign the
message.\\
Applications:
\begin{itemize}
- \item A charity signs a collection of $BKP$ before transfering them to
the Donau to issue $Donation Receipt$s
- \item The Donau computes the \emph{donation statement} signature for a
donor for a specific year
+ \item A charity signs a collection of \emph{BUDI-key-pair} before
transfering them to the Donau to issue \emph{Donation Receipts}
+ \item The Donau computes the \emph{donation statement signature} for a
donor for a specific year
\end{itemize}
\item \textbf{Blind signing(e.g. RSA/CS):}
\begin{align}
- \fbox{${B}(\overline{m},k) = \overline{\beta}$}
+ \fbox{$\overline{\beta} := blind\_sign(\overline{m},k)$}
\end{align}
where $\overline{m}$ is a blinded message and $k$ is the private key
used to blind sign the message.\\
Application:
\begin{itemize}
- \item The Donau blind signs \emph{BUDI}s received from the charity
with the private key matching the public key in the received \emph{BKP}
+ \item The Donau blind signs \emph{Blinded Unique Donor Identifier}s
received from the charity with the private key matching the public key in the
received \emph{BUDI-key-pair}
\end{itemize}
\end{itemize}
- \item \textbf{Donation Unit} $DU = (K_x^{pub}, K_x^{priv})$ where $x$ is the
associated value (e.g. 2EUR):
+ \item \textbf{Donation Unit} $ = (K_x^{pub}, K_x^{priv})$ where $x$ is the
associated value (e.g. 2EUR):
Smallest structure representing a donation confirmation unit.
Consists of a Public key $K_x^{pub}$ and Private key $K_x^{priv}$.
Equivalent in Taler is "denomination".
- \item \textbf{Unique Donor Identifier} $m := \langle H(\texttt{TAXID},
\texttt{SALT}), \texttt{NONCE} \rangle$
+ \item \textbf{Donor Identifier} $i = H(\texttt{taxid}, \texttt{salt})$
+
+ \item \textbf{Unique Donor Identifier} $u := \langle i, \texttt{nonce}
\rangle$
+ where \texttt{nonce} ...%TODO
- \item \textbf{Blinded Unique Donor Identifier} $\overline{m} := blind(m)$,
blinded to protect the privacy of the donor
+ \item \textbf{Blinded Unique Donor Identifier} $\overline{u} := blind(u)$,
blinded to protect the privacy of the donor
\begin{itemize}
- \item \textbf{BUDI-key-pair} $\mu := \langle \overline{m}, H(K_x^{pub})
\rangle$
+ \item \textbf{BUDI-key-pair} $\mu := \langle \overline{u}, H(K_x^{pub})
\rangle$ where $H(K_x^{pub})$ indicates which donation unit key should be used
by the Donau to sign the resulting donation receipt. Thus, this hash carries
the information about the exact value the final donation receipt should carry.
\end{itemize}
- \item \textbf{Donation Receipt} $DR = \langle UDI, \beta, H(K_x^{pub})
\rangle$ where $\beta$ is the unblinded signature: Sent to the Donau to get the
donation Statement.
+ \item \textbf{Donation Receipt} $r = \langle u, \beta, H(K_x^{pub}) \rangle$
where $\beta$ is the unblinded signature: Sent to the Donau to get the donation
Statement.
- \item \textbf{Donation Statement} $DS = \Sigma(\langle
\texttt{AMOUNT}_{Total}, \texttt{YEAR}, H(\texttt{TAXID}, \texttt{SALT})
\rangle, D^{priv})$ where $D^{priv}$ is the private key from the Donau:
Signature to attest the amount donated in a particular year by a specific donor.
+ \item \textbf{Donation Statement} $\sigma_s = sign(\langle i,
\texttt{amount}_{total}, \texttt{year} \rangle, D^{priv})$ where $D^{priv}$ is
the private key from the Donau: Signature to attest the amount donated in a
particular year by a specific donor.
\end{itemize}
@@ -73,9 +87,9 @@
\begin{enumerate}
\item The Donau generates a public key $D^{pub}$ and private key $D^{priv}$.
- \item The Donau generates the donation units ($DU$'s) consisting of
$K_x^{pub}$ and $K_x^{priv}$ where $x$ is the associated value.
+ \item The Donau generates the \emph{donation units} consisting of
$K_x^{pub}$ and $K_x^{priv}$ where $x$ is the associated value.
- \item The charity generates the key pair $(C^{pub}, C^{priv})$ and downloads
the $DU's$ from the donau.
+ \item The charity generates the key pair $(C^{pub}, C^{priv})$ and downloads
the \emph{donation units} from the donau.
\item The Donau administrator registers the public key $C_{pub}$ and sets
the yearly donation limit for the charities.
\end{enumerate}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-donau] branch master updated: [doc] work on notation & definitions,
gnunet <=