gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-marketing] branch master updated: presentation and poster for cla


From: gnunet
Subject: [taler-marketing] branch master updated: presentation and poster for clause schnorr implementation
Date: Sun, 13 Feb 2022 22:40:58 +0100

This is an automated email from the git hooks/post-receive script.

gian-demarmels pushed a commit to branch master
in repository marketing.

The following commit(s) were added to refs/heads/master by this push:
     new c37b69d  presentation and poster for clause schnorr implementation
     new 5094724  Merge branch 'master' of ssh://git.taler.net/marketing
c37b69d is described below

commit c37b69df4521bdbb2c0f23ab3b11fdf88e38543f
Author: Gian Demarmels <gian@demarmels.org>
AuthorDate: Sun Feb 13 22:40:40 2022 +0100

    presentation and poster for clause schnorr implementation
---
 .../2022-cs/content/1-goals-projectmgmt.tex        |  54 ++
 presentations/2022-cs/content/2-preliminaries.tex  | 591 +++++++++++++++++++++
 .../2022-cs/content/3-protocol-redesign.tex        | 162 ++++++
 presentations/2022-cs/content/4-implementation.tex | 451 ++++++++++++++++
 presentations/2022-cs/content/5-results.tex        | 150 ++++++
 .../2022-cs/images/architecture-exchange.jpg       | Bin 0 -> 156215 bytes
 presentations/2022-cs/images/blind-coin.png        | Bin 0 -> 46246 bytes
 presentations/2022-cs/images/blind-sign.png        | Bin 0 -> 42301 bytes
 presentations/2022-cs/images/coins.jpg             | Bin 0 -> 3473569 bytes
 presentations/2022-cs/images/curve25519.png        | Bin 0 -> 19747 bytes
 presentations/2022-cs/images/cutandchose.png       | Bin 0 -> 36172 bytes
 presentations/2022-cs/images/dh-lock.png           | Bin 0 -> 30442 bytes
 presentations/2022-cs/images/diagram-simple.png    | Bin 0 -> 94255 bytes
 presentations/2022-cs/images/final.JPG             | Bin 0 -> 6356992 bytes
 presentations/2022-cs/images/gnunet-logo.png       | Bin 0 -> 27941 bytes
 presentations/2022-cs/images/logo-2021.png         | Bin 0 -> 40095 bytes
 presentations/2022-cs/images/planchet.png          | Bin 0 -> 43808 bytes
 .../2022-cs/images/refresh-derive-rsa.png          | Bin 0 -> 96819 bytes
 presentations/2022-cs/images/refresh-derive.png    | Bin 0 -> 111423 bytes
 presentations/2022-cs/images/stock1s.jpg           | Bin 0 -> 75595 bytes
 presentations/2022-cs/images/taler-pki.png         | Bin 0 -> 79910 bytes
 presentations/2022-cs/images/unblind-coin.png      | Bin 0 -> 41342 bytes
 presentations/2022-cs/images/withdraw1.png         | Bin 0 -> 122407 bytes
 presentations/2022-cs/images/withdraw2.png         | Bin 0 -> 130780 bytes
 .../2022-cs/poster/Plakat Bachelorthesis.pdf       | Bin 0 -> 374605 bytes
 .../2022-cs/poster/Plakat Bachelorthesis.pptx      | Bin 0 -> 3799589 bytes
 presentations/2022-cs/presentation.pdf             | Bin 0 -> 11137047 bytes
 presentations/2022-cs/presentation.tex             |  99 ++++
 28 files changed, 1507 insertions(+)

diff --git a/presentations/2022-cs/content/1-goals-projectmgmt.tex 
b/presentations/2022-cs/content/1-goals-projectmgmt.tex
new file mode 100644
index 0000000..e19be26
--- /dev/null
+++ b/presentations/2022-cs/content/1-goals-projectmgmt.tex
@@ -0,0 +1,54 @@
+\section{\faIcon{flag-checkered} Goals \& Project Management}
+
+\begin{frame}{\faIcon{flag-checkered} Motivation}
+    %TODO: Page should be more motivating!!
+    \begin{itemize}
+        \item \faIcon{feather} Elliptic curve cryptography allows smaller keys
+        \item \faIcon{bolt} Leads to huge performance benefits
+        \item \faIcon{lock} Cipher agility % Taler nicht abhängig von einem 
Schema, macht Taler Protokolle stabiler und unabhängiger
+        \item \faIcon{newspaper} Recent topic
+    \end{itemize}
+    % Recent topic - Bitcoin added support for Schnorr signatures in 2021
+\end{frame}
+
+\begin{frame}{\faIcon{flag-checkered} Goals}
+       Our goal is to add support for Schnorr's Blind Signature scheme to GNU 
Taler.\newline
+       \begin{itemize}
+               \item \faIcon{glasses} Analyze current state of research
+               \item \faIcon{pencil-alt} Redesign Taler's protocols
+               \item \faIcon{code} Implementation of redesigned protocols
+               \item \faIcon{eye} Comparison with RSA Blind Signatures
+       \end{itemize}
+\end{frame}
+
+
+\begin{frame}{\faIcon{project-diagram} Project Management}
+    \begin{columns}[T] % align columns
+               \begin{column}{.48 \textwidth}
+                       Project Management:
+            \begin{itemize}
+                \item Waterfall vs. Agile % Explain that we used waterfall on 
a high-level and agile on proposal or on
+                \item Project Analysis % SWOT, requirements
+                \item ClickUp with Kanban-Boards and Gantt-Chart % Git für 
Thesis, deliverables etc.
+                \item Git to manage code and deliverables
+                \item Markdown notes for meetings, thoughts, etc.
+                       \end{itemize}
+               \end{column}%
+               \hfill%
+               \begin{column}{.48\textwidth}
+            Project Phases:
+            \begin{itemize}
+                \item Phase 1: Initiation
+                \item Phase 2: Planning
+                \item Phase 3: Execution
+                \begin{itemize}
+                    \item a) Design Phase
+                    \item b) Specification Phase
+                    \item c) Implementation Phase
+                \end{itemize}
+                \item Phase 4: Discussion
+                \item Phase 5: Closure
+            \end{itemize}
+               \end{column}%
+       \end{columns}
+\end{frame}
diff --git a/presentations/2022-cs/content/2-preliminaries.tex 
b/presentations/2022-cs/content/2-preliminaries.tex
new file mode 100644
index 0000000..877a1ac
--- /dev/null
+++ b/presentations/2022-cs/content/2-preliminaries.tex
@@ -0,0 +1,591 @@
+\section{\faIcon{coins} Preliminaries}
+% Taler Intro, protocols
+
+% abort-idempotency, Blind Signatures, HKDF, CS scheme, ROS problem Chap 3
+\begin{frame}{\faIcon{coins} GNU Taler Overview}
+    \framesubtitle{A privacy-preserving, fast and intuitive payment system}
+    % Protokolle (achtung Flughöhe, Zeit) 
+    \begin{columns}[c] % align columns
+        \begin{column}{.48\textwidth}
+            \includegraphics[width=6.3cm]{images/diagram-simple.png}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            Taler Components
+            \begin{itemize}
+                \item \faIcon{piggy-bank} Exchange \\
+                      Payment service provider between customer and merchant
+                \item \faIcon{shopping-basket} Merchant \\
+                      Accepts payments with Taler in exchange for goods and 
services
+                \item \faIcon{wallet} Wallet \\
+                      A customer holds coins in his electronic wallet
+                \item \faIcon{eye} Auditor \\
+                      The auditors (financial regulators) monitor the 
exchanges behaviour
+            \end{itemize}
+        \end{column}%
+    \end{columns}
+    {\tiny graphics source: \url{https://taler.net/images/diagram-simple.png}}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} GNU Taler properties}
+    % Important because our redesigned protocols need to fulfill all of them!
+    % Income Transparency
+    \begin{columns}[T] % align columns
+        \begin{column}{.48\textwidth}
+            Properties:
+            \begin{itemize}
+                \item \faIcon{hand-holding-heart} Free Software
+                \item \faIcon{user-secret} Buyer Privacy Protection
+                \item \faIcon{coins} Merchant Taxability
+                \item \faIcon{eye} Auditability - Income Transparency % 
Compliant to regulations AML/CFT/KYC
+                \item \faIcon{shield-alt} Prevent payment fraud
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item \faIcon{user-shield} Privacy by design
+                \item \faIcon{user} Easy to use
+                \item \faIcon{bolt} Efficient - Even more efficient with our 
improvements! \faIcon{rocket}
+                \item \faIcon{anchor} Fault-tolerant design
+                \item \faIcon{briefcase} Foster competition
+            \end{itemize}
+        \end{column}
+    \end{columns}
+    \vspace{1cm}
+    {\scriptsize More details on \url{https://taler.net/en/principles.html}}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Abort-Idempotency}
+
+    \begin{itemize}
+        \item \textbf{Idempotency}
+              \\ Idempotency ensures that the state of a system will not 
change, no matter how many times the same request was made.
+              \\In other words: The same request will receive the same 
response.\\
+        \item \textbf{Abort-Idempotency}
+              \\ Abort-Idempotency also ensures Idempotency in every abort 
scenario.
+    \end{itemize}
+\end{frame}
+
+% \begin{frame}{\faIcon{coins} Taler PKI}
+%     \begin{center}
+%         \includegraphics[width=11cm]{images/taler-pki.png}
+%     \end{center}
+%     {\tiny graphics source: 
\url{https://taler.net/papers/thesis-dold-phd-2019.pdf}}
+% \end{frame}
+
+
+\begin{frame}{\faIcon{coins} HKDF RFC5869}
+    %Can be used as PRNG
+    \framesubtitle{The HMAC-based Extract-and-Expand Key Derivation Function}
+    \begin{itemize}
+        \item HKDF can be used as a pseudo-random function, a deterministic 
function whose output appears to be random
+        \item follows the \textbf{extract-then-expand} paradigm
+        \item A fixed-length high-entropy key $K$ is \textbf{extracted} from 
potentially weaker input keying material
+        \item The key $K$ is then \textbf{expanded} to output a 
variable-length, pseudo-random key
+              %\item HKDF makes use of HMAC instantiated with a hash function 
together with a salt, the input keying material, output length and optional info
+    \end{itemize}
+
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Curve25519}
+    \begin{columns}[T] % align columns
+        \begin{column}{.48\textwidth}
+            Curve25519:
+            \begin{itemize}
+                \item Curve25519 is a Montgomery-Curve over prime field 
$2^{255} - 19$
+                \item Provides 128 bits of security
+                \item Well-known and trusted
+                \item Good choice in terms of security \& speed
+            \end{itemize}
+            Alternatives:
+            \begin{itemize}
+                \item Curve448-Goldilocks
+                \item Secp256k1 ("Bitcoin curve")
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            \begin{figure}
+                \includegraphics[width=6.3cm]{images/curve25519.png}
+                \caption{\footnotesize Abbild der elliptischen Kurve $y2 = x3 
+ 486662x2 + x $}
+            \end{figure}
+        \end{column}%
+    \end{columns}
+    {\vspace{1cm}\tiny graphics source: 
\url{https://heise.cloudimg.io/v7/_www-heise-de_/imgs/18/1/4/5/9/6/8/9/curve25519-5b8d94dd2448661c.png}}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} EdDSA}
+    \begin{columns}[c] % align columns
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item The coin is a EdDSA keypair
+                \item Uses Curve25519
+                \item Public key is the planchet to be signed by the exchange
+                \item The coin can be spent by signing a contract with the 
coin's private key
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            \begin{center}
+                \includegraphics[height=4cm]{images/planchet.png}
+            \end{center}
+        \end{column}%
+    \end{columns}
+    {\vspace{1cm}\tiny graphics source: 
\url{https://git.taler.net/marketing.git/plain/presentations/comprehensive/main.pdf}}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Blind Signatures}
+    % Was ist eine blinde Signatur?
+    % Was bringen einem blinde Signaturen?
+    % Zentral für Taler
+    % Privacy preserving
+    \framesubtitle{RSA Blind Signatures in Taler}
+    \begin{columns}[t]
+        \begin{column}{.33\textwidth}
+            \begin{center}
+                Customer:\\
+                \includegraphics[width=2.6cm]{images/blind-coin.png}
+            \end{center}
+        \end{column}
+        \begin{column}{.33\textwidth}
+            \begin{center}
+                Exchange:
+                \includegraphics[width=3cm]{images/blind-sign.png}
+            \end{center}
+        \end{column}
+        \begin{column}{.33\textwidth}
+            \begin{center}
+                Customer:
+                \includegraphics[width=3cm]{images/unblind-coin.png}
+            \end{center}
+        \end{column}
+    \end{columns}
+    \vspace{0.8cm}
+    {\tiny graphics source: 
\url{https://git.taler.net/marketing.git/plain/presentations/comprehensive/main.pdf}}
+    % RSA blind signature scheme (, Nachteile von RSA)
+\end{frame}
+
+\begin{frame}{\faIcon{coins} RSA Blind Signatures}
+    \begin{center}
+        \resizebox{0.8\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{figure}
+                    \begin{equation*}
+                        \begin{array}{ l c l }
+                            \text{Alice} &  & \text{Bob}
+                            \\ \text{knows:} & & \text{knows:}
+                            \\ \text{RSA public key } D_B = e, N & & \text{RSA 
keys } d_B, D_B
+                            \\ \text{message } m & &
+                            \\ & &
+                            \\ f = FDH(m) & &
+                            \\ & &
+                            \\ \text{blind:} & &
+                            \\ r \leftarrow random \in \mathbb{Z}_N^* & &
+                            \\ f' = f*r^{e} \mod N & &
+                            \\ & \xrightarrow[\rule{2.5cm}{0pt}]{f'} &
+                            \\ & & \text{sign:}
+                            \\ & & s' = (f')^{d_B} \mod N
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{s'} &
+                            \\ \text{unblind:}& &
+                            \\ s = s'*r^{-1} & &
+                        \end{array}
+                    \end{equation*}
+                \end{figure}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Schnorr Signature Scheme}
+    \begin{center}
+        \resizebox{0.83\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{figure}
+                    \begin{equation*}
+                        \begin{array}{ l c l }
+                            % preliminaries
+                            \text{User} &  & \text{Signer}
+                            \\ \text{knows:} & \text{public parameters:} & 
\text{knows:}
+                            \\ \text{public key } X & \langle p, \mathbb{G}, 
G, H\rangle & \text{private signing key } x, X := xG
+                            \\ & & r \leftarrow random \in \mathbb{Z}_p
+                            \\ & & R := rG
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{R} &
+                            \\ c := H(R,m)
+                            \\ & \xrightarrow[\rule{2.5cm}{0pt}]{c} &
+                            \\ & & s := r + cx \mod p
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{s} &
+                            \\ \text{check } sG = R + cX
+                            \\ \sigma := \langle R,s \rangle
+                        \end{array}
+                    \end{equation*}
+                \end{figure}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} The (broken) Blind Schnorr Signature Scheme}
+    \begin{center}
+        \resizebox{0.83\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{figure}[htp]
+                    \begin{equation*}
+                        \begin{array}{ l c l }
+                            % preliminaries
+                            \text{User} &  & \text{Signer}
+                            \\ \text{knows:} & \text{public parameters:} & 
\text{knows:}
+                            \\ \text{public key } X & \langle p, \mathbb{G}, 
G, H\rangle & \text{private signing key } x, X := xG
+                            \\ & & r \leftarrow random \in \mathbb{Z}_p
+                            \\ & & R := rG
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{R} &
+                            \\ \alpha, \beta \leftarrow random \in \mathbb{Z}_p
+                            \\ R' := R + \alpha G + \beta X
+                            \\ c' := H(R',m)
+                            \\ c := c' + \beta \mod p
+                            \\ & \xrightarrow[\rule{2.5cm}{0pt}]{c} &
+                            \\ & & s := r+cx \mod p
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{s} &
+                            \\ \text{check } sG = R + cX
+                            \\ s' := s + \alpha \mod p
+                            \\ \sigma := \langle R',s' \rangle
+                        \end{array}
+                    \end{equation*}
+                \end{figure}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} ROS problem - (informally)}
+    \framesubtitle{Random inhomogeneities in an Overdetermined, Solvable 
system of linear
+        equations}
+    \begin{columns}[T] % align columns
+        \begin{column}{.48\textwidth}
+            ROS problem:
+            \begin{itemize}
+                \item ROS depends on group order $p$, parameterized with 
integer $\ell$
+                \item An adversary can produce $\ell + 1$ valid signatures 
after $\ell > \log_2(p)$ parallel sessions by solving a linear equation system
+                \item $ \sum_{j=1}^{\ell} \rho_{i,j} c_j = 
H_{ros}(\overrightarrow{p}_i), i \in [\ell + 1]$
+                \item There exist a polynomial-time attack against $ROS_\ell$ 
when $\ell > \log_2(p)$
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            Modified ROS:
+            \begin{itemize}
+                \item Does not apply to the modified ROS problem
+                \item Queries oracle with two vectors instead of one
+                \item The signer returns a signature by randomly flipping a 
bit $b$
+                \item Only the $c_b$ is signed and returned
+                \item An adversary would need to commit to $c_b$ before 
learning about $b$
+            \end{itemize}
+        \end{column}%
+    \end{columns}
+    \vspace{1cm}
+    {\tiny See: Blind Schnorr Signatures and Signed ElGamal Encryption in the 
Algebraic Group Model} {\tiny (\url{https://eprint.iacr.org/2019/877.pdf})\\}
+    {\tiny See: On the (in)security of ROS }
+    {\tiny (\url{https://eprint.iacr.org/2020/945})}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Clause Blind Schnorr Signature Scheme}
+    \begin{center}
+        \resizebox{0.65\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{figure}
+                    \begin{equation*}
+                        \begin{array}{ l c l }
+                            % preliminaries
+                            \text{User} &  & \text{Signer}
+                            \\ \text{knows:} & \text{public parameters:} & 
\text{knows:}
+                            \\ \text{public key } X & \langle p, \mathbb{G}, 
G, H\rangle & \text{private signing key } x, X := xG
+                            \\ & & r_0, r_1 \leftarrow random \in \mathbb{Z}_p
+                            \\ & & R_0 := r_0G
+                            \\ & & R_1 := r_1G
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{R_0, R_1} &
+                            \\ \alpha_0, \alpha_1, \beta_0, \beta_1 \leftarrow 
random \in \mathbb{Z}_p
+                            \\ R_0' := R_0 + \alpha_0 G + \beta_0 X
+                            \\ R_1' := R_1 + \alpha_1 G + \beta_1 X
+                            \\ c_0' := H(R_0',m)
+                            \\ c_1' := H(R_1',m)
+                            \\ c_0 := c_0' + \beta_0 \mod p
+                            \\ c_1 := c_1' + \beta_1 \mod p
+                            \\ & \xrightarrow[\rule{2.5cm}{0pt}]{c_0, c_1} &
+                            \\ & & b \leftarrow random \in \{ 0,1\}
+                            \\ & & s := r_b+c_bx \mod p
+                            \\ & \xleftarrow[\rule{2.5cm}{0pt}]{b, s} &
+                            \\ \text{check } sG = R + cX
+                            \\ s' := s + \alpha_b \mod p
+                            \\ \sigma := \langle R_b',s' \rangle
+                        \end{array}
+                    \end{equation*}
+                \end{figure}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Taler Protocols}
+    \begin{columns}[T] % align columns
+        \begin{column}{.25\textwidth}
+            Protocols:
+            \begin{itemize}
+                \item \faIcon{money-bill-alt} Withdrawal
+                \item \faIcon{sync-alt} Refresh
+                \item \faIcon{shopping-bag} Spend
+                \item \faIcon{piggy-bank} Deposit
+                \item \faIcon{gift} Tipping
+                \item \faIcon{hand-holding-usd} Payback
+                \item \faIcon{undo} Recoup
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.60\textwidth}
+            \includegraphics[width=6.3cm]{images/diagram-simple.png}
+            {\\\tiny graphics source: 
\url{https://taler.net/images/diagram-simple.png}}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Withdrawal Protocol}
+    \begin{center}
+        \resizebox{0.64\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{figure}[htp]
+                    \begin{equation*}
+                        \resizebox{1.0\textwidth}{!}{$\displaystyle
+                                \begin{array}{ l c l }
+                                    \text{Customer} &  & \text{Exchange}
+                                    \\ \text{reserve keys } w_s, W_p & & 
\text{reserve public key } W_p
+                                    \\ \text{denomination public key } D_p = 
e, N & & \text{denomination keys } d_s, D_p
+                                    \\ & &
+                                    \\\text{generate coin key pair:} & &
+                                    \\ c_s, C_p \leftarrow Ed25519.KeyGen() & &
+                                    \\ \text{blind:} & &
+                                    \\ r \leftarrow random \in \mathbb{Z}_N^* 
& &
+                                    \\ m' = \text{FDH}(N, C_p)*r^{e} \mod N & &
+                                    \\ \text{sign with reserve private key:} & 
&
+                                    \\ \rho_W = D_p, m' & &
+                                    \\ \sigma_W = \text{Ed25519.Sign}(w_s, 
\rho_W) & &
+                                    \\ & \xrightarrow[\rule{2.5cm}{0pt}]{\rho 
= W_p, \sigma_W, \rho_W} &
+                                    \\ & & \text{verify if denomination public 
key}
+                                    \\ & & \text{is valid}
+                                    \\ & & \text{check } 
\text{Ed25519.Verify}(W_p, \rho_W, \sigma_W)
+                                    \\ & & \text{decrease balance if 
sufficient}
+                                    \\ & & \text{sign:}
+                                    \\ & & \sigma'_c = (m')^{d_s} \mod N
+                                    \\ & 
\xleftarrow[\rule{2.5cm}{0pt}]{\sigma'_c} &
+                                    \\ \text{unblind:}& &
+                                    \\ \sigma_c = \sigma'_c*r^{-1} & &
+                                    \\ \text{verify signature:}& &
+                                    \\ \text{check } \sigma_c^{e} = 
\text{FDH}(N, C_p) & &
+                                    \\ \text{resulting coin: } c_s, C_p, 
\sigma_c, D_p & &
+                                \end{array}$
+                        }
+                    \end{equation*}
+                \end{figure}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+
+\begin{frame}{\faIcon{coins} Refresh Protocol - DH-Lock}
+    \begin{columns}[c] % align columns
+        \begin{column}{.48\textwidth}
+            Diffie-Hellman Lock:
+            \begin{itemize}
+                \item keypairs $C = cG$ and $T = tG$
+                \item Both keys can unlock the lock: $k = tC = cT$
+            \end{itemize}
+            \begin{center}
+                \includegraphics[width=2.6cm]{images/dh-lock.png}
+            \end{center}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            \includegraphics[width=5cm]{images/refresh-derive-rsa.png}
+        \end{column}%
+    \end{columns}
+    {\vspace{0.2cm}\tiny graphics source: 
\url{https://git.taler.net/marketing.git/plain/presentations/comprehensive/main.pdf}}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Refresh Protocol - Cut and Choose}
+    \begin{itemize}
+        \item Customer sets up $k$ DH-Locks
+        \item Exchange sends back random $\gamma \in \{1,\dots,k\}$
+        \item Customer reveals transfer private keys, except $t_\gamma$
+        \item Exchange can detect fraud attempts with a probability of $1/k$
+    \end{itemize}
+    \begin{center}
+        \includegraphics[width=7cm]{images/cutandchose.png}
+    \end{center}
+    {\vspace{-0.2cm}\tiny graphics source: 
\url{https://git.taler.net/marketing.git/plain/presentations/comprehensive/main.pdf}}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Refresh Protocol Commit Phase}
+    \begin{columns}[c] % align columns
+        \begin{column}{.43\textwidth}
+            \begin{itemize}
+                \item Customer creates $k$ RefreshDerives (DH-Locks)
+                \item Customer commits by calculating a commit hash \\
+                      $h_T := H(T_1, \dots,T_k)$ \\
+                      $h_{\overline{m}} := H(\overline{m}_1, 
\dots,\overline{m}_k)$ \\
+                      $h_C := H(h_T,h_{\overline{m}} )$
+                \item The exchange answers with a random $\gamma \in 
\{1,\dots,k\}$
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.53\textwidth}
+            \begin{center}
+                \vspace{-1cm}
+                \begin{figure}
+                    \begin{equation*}
+                        \resizebox{1.0\textwidth}{!}{$\displaystyle
+                                \begin{array}{ l c l }
+                                    \text{Customer} &  & \text{Exchange}
+                                    \\ \text{denomination public key } 
D_{p(i)} & & \text{denomination keys } d_{s(i)}, D_{p(i)}
+                                    \\ \text{coin}_0 = \langle D_{p(0)}, 
c_s^{(0)}, C_p^{(0)}, \sigma_c^{(0)} \rangle & &
+                                    % refresh request
+                                    \\ \text{Select} \langle N_t, e_t\rangle 
:= D_{p(t)} \in D_{p(i)}
+                                    \\ \textbf{for } i = 1, \dots, \kappa: % 
generate k derives
+                                    \\ s_i \rightarrow \{0,1\}^{256} % seed 
generation
+                                    \\ X_i := \text{RefreshDerive}(s_i, 
D_{p(t)}, C_p^{(0)})
+                                    \\ (t_i, T_i, x_i, c_s^{(i)}, C_p^{(i)}, 
\overline{m}_i) := X_i
+                                    \\ \textbf{endfor}
+                                    \\ h_T := H(T_1, \dots, T_k)
+                                    \\ h_{\overline{m}} := H(\overline{m}_1, 
\dots, \overline{m}_k)
+                                    \\ h_C := H(h_t, h_{\overline{m}})
+                                    \\ \rho_{RC} := \langle h_C, D_{p(t)}, 
D_{p(0)}, C_p^{(0)}, \sigma_C^{(0)}  \rangle
+                                    \\ \sigma_{RC} := 
\text{Ed25519.Sign}(c_s^{(0), \rho_{RC}})
+                                    \\ \text{Persist refresh-request} \langle 
\rho_{RC}, \sigma_{RC} \rangle
+                                    \\ & 
\xrightarrow[\rule{2.5cm}{0pt}]{\rho_{RC}, \sigma_{RC}} &
+                                    % Exchange checks refresh request
+                                    \\ & & (h_C, D_{p(t)}, D_{p(0)}, 
C_p^{(0)}, \sigma_C^{(0)} = \rho_{RC})
+                                    \\ & & \textbf{check} 
\text{Ed25519.Verify}(C_p^{(0)}, \sigma_{RC}, \rho_{RC})
+                                    \\ & & x \rightarrow 
\text{GetOldRefresh}(\rho_{RC})
+                                    \\ & & \textbf{Comment: 
}\text{GetOldRefresh} \\ &&(\rho_{RC} \mapsto \{\bot,\gamma\})
+                                    \\ & & \pcif x = \bot
+                                    \\ & & v := D(D_{p(t)})
+                                    \\ & & \langle e_0, N_0 \rangle := D_{p(0)}
+                                    \\ & & \textbf{check } 
\text{IsOverspending}(C_p^{(0)}, D_ {p(0)}, v)
+                                    \\ & & \textbf{check } D_{p(t)} \in 
\{D_{p(i)}\}
+                                    \\ & & \textbf{check } \text{FDH}(N_0, 
C_p^{(0)}) \equiv_{N_0} (\sigma_0^{(0)})^{e_0}
+                                    \\ & & 
\text{MarkFractionalSpend}(C_p^{(0)}, v)
+                                    \\ & & \gamma \leftarrow \{1, \dots, 
\kappa\}
+                                    \\ & & \text{Persist refresh-record } 
\langle \rho_{RC},\gamma \rangle
+                                    \\ & & \pcelse
+                                    \\ & & \gamma := x
+                                    \\ & & \textbf{endif}
+                                    \\ & 
\xleftarrow[\rule{2.5cm}{0pt}]{\gamma} &
+                                \end{array}$
+                        }
+                    \end{equation*}
+                \end{figure}
+            \end{center}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Refresh Protocol Reveal Phase}
+    \begin{columns}[c] % align columns
+        \begin{column}{.43\textwidth}
+            \begin{itemize}
+                \item Customer reveals every transfer key (seed), except 
$t_\gamma$
+                \item The exchange now proves if the customer is honest by 
recalculating the RefreshDerives
+                \item If the check succeeds, the exchange returns the 
signature of the new coin
+                \item Fraud attempts are detected with probability of $1/k$
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.53\textwidth}
+            \begin{center}
+                \begin{figure}
+                    \begin{equation*}
+                        \resizebox{1.0\textwidth}{!}{$\displaystyle
+                                \begin{array}{ l c l }
+                                    \\ & 
\xleftarrow[\rule{2.5cm}{0pt}]{\gamma} &
+                                    \\ \textbf{check } 
\text{IsConsistentChallenge}(\rho_{RC}, \gamma)
+                                    \\ \textbf{Comment: } 
\text{IsConsistentChallenge}\\(\rho_{RC}, \gamma) \mapsto \{ \bot,\top \}
+                                    \\
+                                    \\ \text{Persist refresh-challenge} 
\langle \rho_{RC}, \gamma \rangle
+                                    \\ S := \langle s_1, \dots, s_{\gamma-1}, 
s_{\gamma+1}, \dots,s_x \rangle % all seeds without the gamma seed
+                                    \\ \rho_L = \langle C_p^{(0)}, D_{p(t)}, 
T_{\gamma},\overline{m}_\gamma \rangle
+                                    \\ \rho_{RR} = \langle T_\gamma, 
\overline{m}_\gamma, S \rangle
+                                    \\ \sigma_{L} = 
\text{Ed25519.Sign}(c_s^{(0)}, \rho_{L})
+                                    \\ & 
\xrightarrow[\rule{2.5cm}{0pt}]{\rho_{RR},\rho_L, \sigma_{L}} &
+                                    % check revealed msgs and sign coin
+                                    \\ & & \langle T'_\gamma, 
\overline{m}'_\gamma, S \rangle := \rho_{RR}
+                                    \\ & & \langle 
s_1,\dots,s_{\gamma-1},s_{\gamma+1},\dots,s_\kappa \rangle ) := S
+                                    \\ & & \textbf{check } 
\text{Ed25519.Verify}(C_p^{(0)}, \sigma_L, \rho_L)
+                                    \\ & & \pcfor i = 1,\dots, \gamma-1, 
\gamma+1,\dots, \kappa
+                                    \\ & & X_i := \text{RefreshDerive}(s_i, 
D_{p(t)}, C_p^{(0)})
+                                    \\ & & \langle t_i, T_i, x_i, c_s^{(i)}, 
C_p^{(i)}, \overline{m}_i \rangle := X_i
+                                    \\ & & \textbf{endfor}
+                                    \\ & & h_T' = 
H(T_1,\dots,T_{\gamma-1},T'_{\gamma},T_{\gamma+1},\dots,T_\kappa)
+                                    \\ & & h_{\overline{m}}' = 
H(\overline{m}_1,\dots,\overline{m}_{\gamma-1},\overline{m}'_{\gamma},\overline{m}_{\gamma+1},\dots,\overline{m}_\kappa)
+                                    \\ & & h_C' = H(h_T', h_{\overline{m}}')
+                                    \\ & & \textbf{check } h_C = h_C'
+                                    \\ & & \overline{\sigma}_C^{(\gamma)} := 
\overline{m}^{d_{s(t)}}
+                                    \\ & 
\xleftarrow[\rule{2.5cm}{0pt}]{\overline{\sigma}_C^{(\gamma)}} &
+                                    % Check coin signature and persist coin
+                                    \\ \sigma_C^{(\gamma)} := 
r^{-1}\overline{\sigma}_C^{(\gamma)}
+                                    \\ \textbf{check } 
(\sigma_C^{(\gamma)})^{e_t} \equiv_{N_t} C_p^{(\gamma)}
+                                    \\ \text{Persist coin} \langle D_{p(t)}, 
c_s^{(\gamma)}, C_p^{(\gamma)}, \sigma_C^{(\gamma)} \rangle
+                                \end{array}$
+                        }
+                    \end{equation*}
+                \end{figure}
+            \end{center}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Link Protocol}
+    % Money Laundring
+    \begin{columns}[c] % align columns
+        \begin{column}{.43\textwidth}
+            \begin{itemize}
+                \item Threat: An evil customer sends the old coins private key 
to a third party.
+                \item The third party refreshes the coin and receives a new 
coin.
+                \item Solution: re-obtain refreshed coin with link protocol 
from $c_{s(old)}$
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.53\textwidth}
+            \begin{center}
+                \begin{figure}
+                    \begin{equation*}
+                        \resizebox{1.0\textwidth}{!}{$\displaystyle
+                                \begin{array}{ l c l }
+                                    % preliminaries
+                                    \text{Customer} &  & \text{Exchange}
+                                    \\ \text{knows:} & & \text{knows:}
+                                    \\ \text{coin}_0 = \langle D_{p(0)}, 
c_s^{(0)}, C_p^{(0)}, \sigma_{C}^{(0)} \rangle
+                                    \\ & 
\xrightarrow[\rule{2.5cm}{0pt}]{C_{p(0)}} &
+                                    \\ & &  L := \text{LookupLink}(C_{p(0)})
+                                    \\ & &  \textbf{Comment: } 
\text{LookupLink}(C_p) \mapsto \{\langle \rho_L^{(i)},
+                                    \\ & & \sigma_L^{(i)}, 
\overline{\sigma}_C^{(i)} \rangle\}
+                                    \\ & \xleftarrow[\rule{2.5cm}{0pt}]{L} &
+                                    \\ \pcfor \langle \rho_{L}^{(i)}, 
\overline{\sigma}_L^{(i)}, \sigma_C^{(i)} \rangle \in L
+                                    \\ \langle \hat{C}_p^{(i)}, 
D_{p(t)}^{(i)}, T_\gamma^{(i)}, \overline{m}_\gamma^{(i)} \rangle := 
\rho_L^{(i)}
+                                    \\ \langle e_t^{(i)}, N_t^{(i)} \rangle := 
D_{p(t)}^{(i)}
+                                    \\ \textbf{check } \hat{C}_p^{(i)} \equiv  
C_p^{(0)}
+                                    \\ \textbf{check } 
\text{Ed25519.Verify}(C_p^{(0)}, \rho_{L}^{(i)}, \sigma_L^{(i)})
+                                    \\ x_i := \text{ECDH}(c_s^{(0)}, 
T_{\gamma}^{(i)})
+                                    \\ r_i := 
\text{SelectSeeded}(x_i,\mathbb{Z}^*_{N_t})
+                                    \\ c_s^{(i)} := \text{HKDF}(256,x_i,"c")
+                                    \\ C_p^{(i)} := 
\text{Ed25519.GetPub}(c_s^{(i)})
+                                    \\ \sigma_C^{(i)} := (r_i)^{-1} \cdot 
\overline{m}_\gamma^{(i)}
+                                    \\ \textbf{check } 
(\sigma_C^{(i)})^{e_t^{(i)}} \equiv_{N_t^{(i)}} C_p^{(i)}
+                                    \\ \text{(Re-)obtain coin} \langle 
D_{p(t)}^{(i)},c_s^{(i)}, C_p^{(i)}, \sigma_C^{(i)} \rangle
+                                \end{array}$
+                        }
+                    \end{equation*}
+                \end{figure}
+            \end{center}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{coins} Challenges}
+    \begin{itemize}
+        \item \faIcon{hashtag} Two blinding factors
+        \item \faIcon{exchange-alt} Additional request
+        \item \faIcon{calculator} Many calculations are done twice
+        \item \faIcon{dice} Many random elements - What about 
Abort-Idempotency?
+    \end{itemize}
+    \vspace{1cm}
+    How can we redesign Taler's protocols to work with the Clause Blind 
Schnorr signature scheme while still preserving all properties?
+\end{frame}
+
diff --git a/presentations/2022-cs/content/3-protocol-redesign.tex 
b/presentations/2022-cs/content/3-protocol-redesign.tex
new file mode 100644
index 0000000..9bec47a
--- /dev/null
+++ b/presentations/2022-cs/content/3-protocol-redesign.tex
@@ -0,0 +1,162 @@
+\section{\faIcon{clipboard-list} Protocol Redesign}
+
+\begin{frame}{\faIcon{clipboard-list} Protocol Redesign}
+    \begin{itemize}
+        \item \faIcon{eye} Analyze Taler protocols
+        \item \faIcon{user-secret} Integrate where blind signatures are used
+        \item \faIcon{scroll} Proposal
+              % FIXME: begin very early in the thesis
+        \item \faIcon{comments} Rounds of Feedback
+    \end{itemize}
+\end{frame}
+
+% CS R
+\begin{frame}{\faIcon{clipboard-list} CS R}
+    \begin{itemize}
+        \item Additional Request during signature creation
+        \item Introduces complexity
+        \item Challenge regarding abort-idempotency
+        \item Vanilla Clause Blind Schnorr Signature Scheme: \\
+              \begin{itemize}
+                  \item $ r_0 \leftarrow random $
+                  \item $ R_0 := rG $
+              \end{itemize}
+        \item Our Changes: \\
+              \begin{itemize}
+                  \item Introduces Nonce $ n $ used for Derivation
+                  \item Derives R: \\
+                        $ r_0 := \text{HKDF}(256,n || d_s, " \text{r} 0 ") $ \\
+                        $ R_0 := r_0G $
+                  \item Denomination private key as long-term secret
+                        % FIXME: Payback Protocol
+              \end{itemize}
+    \end{itemize}
+\end{frame}
+
+% Withdraw
+\begin{frame}{\faIcon{clipboard-list} Withdraw Protocol}
+    \begin{itemize}
+        \item Signature scheme related operations replaced
+        \item Additional round-trip introduced
+        \item Extensively uses HKDF to achieve abort-idempotency
+        \item Randomness in CS replaced with derivation $ \rightarrow $ 
unpredictable
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{clipboard-list} Withdraw Protocol}
+    \framesubtitle{Protocol Changes}
+    \begin{columns}[c]
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item Withdraw Nonce (Wallet): \\
+                      $ c_s, C_p \leftarrow \text{Ed25519.KeyGen}() $ \\
+                      $ n_w := \text{HKDF}(256, c_s, "\text{n}") $
+                \item Request R
+                \item Derive R (Exchange)
+                \item Derive Blinding Secrets (Wallet): \\
+                      $ b_s := \text{HKDF}(256, c_s || R_0 || 
R_1,"\text{b-seed}") $ \\
+                      $ \alpha_0 := \text{HKDF}(256, b_s, "\text{a}0") $ \\
+                      $ \dots $ \\
+                      $ \beta_1 := \text{HKDF}(256, b_s, "\text{b}1") $
+                      % FIXME: Advantages for Payback
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            \includegraphics[width=6.5cm]{images/withdraw1.png}
+        \end{column}
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{clipboard-list} Withdraw Protocol}
+    \framesubtitle{Protocol Changes}
+    \begin{columns}[c]
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item Derive $b$ (exchange): \\
+                      $ b := \text{HKDF}(1,n_w || d_s, "\text{b}") $
+                \item Re-derive $ r_b $
+                \item Calculate signature scalar
+                \item Unblind, construct signature $ \langle R_b', s' \rangle $
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            \includegraphics[width=6.5cm]{images/withdraw2.png}
+        \end{column}
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{clipboard-list} Withdraw Protocol}
+    \framesubtitle{Nonce Check}
+    \begin{itemize}
+        \item Is this safe? (without nonce reuse check) \\
+              $ r_0 := \text{HKDF}(256,n || d_s, " \text{r} 0 ") $
+        \item (Hint $ \rightarrow $ no):
+              \begin{itemize}
+                  \item $ s_2 - s_1 = d_s (c_1' - c_2') - (r_1 - r_2) $
+                  \item if $ r_1 = r_2 $: \\
+                        $ s_2 - s_1 = d_s (c_1' - c_2') $
+                  \item Allows private key recovery
+                  \item Happened before (Bitcoin, PlayStation 3)
+              \end{itemize}
+        \item Prevent $ r $ reuse $ \rightarrow $ do not allow nonce reuse 
(per denomination)
+        \item Applies to withdraw AND refresh
+    \end{itemize}
+\end{frame}
+
+% Spend
+\begin{frame}{\faIcon{clipboard-list} Deposit Protocol}
+    \begin{itemize}
+        \item Only coin signature verification changes: \\
+              \begin{align*}
+                  s'G & = R' + c' D_p
+                  \\ &= R' + H(R', C_p) D_p
+              \end{align*}
+    \end{itemize}
+\end{frame}
+
+% Refresh
+\begin{frame}{\faIcon{clipboard-list} Refresh and Linking}
+    \begin{columns}[c]
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item Integration similar to withdraw (additional round trip, 
derivation, etc.)
+                \item Introduced new random refresh secret
+                      \begin{itemize}
+                          \item Transfer secret
+                          \item Refresh nonce
+                      \end{itemize}
+                \item Nonce check
+                \item Two commit hashes instead of one
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            \includegraphics[width=4.5cm]{images/refresh-derive.png}
+        \end{column}
+    \end{columns}
+\end{frame}
+
+% Tipping
+\begin{frame}{\faIcon{clipboard-list} Tipping}
+    \begin{itemize}
+        \item Wallet: same changes as Withdraw
+        \item Merchant: Only message signed by merchant's reserve private key 
changes
+    \end{itemize}
+\end{frame}
+
+% Payback
+\begin{frame}{\faIcon{clipboard-list} Payback Protocol}
+    \begin{itemize}
+        \item Three different cases:
+              \begin{itemize}
+                  \item \textbf{Revoked coin has never been seen by exchange}: 
\\
+                        Adjust Withdraw Transcript
+                  \item \textbf{Coin partially spent}: \\
+                        Invoke Refresh Protocol
+                  \item \textbf{Coin resulted from refresh, has never been 
seen}: \\
+                        Adjust refresh transcript
+              \end{itemize}
+    \end{itemize}
+\end{frame}
diff --git a/presentations/2022-cs/content/4-implementation.tex 
b/presentations/2022-cs/content/4-implementation.tex
new file mode 100644
index 0000000..4700725
--- /dev/null
+++ b/presentations/2022-cs/content/4-implementation.tex
@@ -0,0 +1,451 @@
+\section{\faIcon{code} Specification \& Implementation}
+
+\begin{frame}{\faIcon{code} Overview}
+    % Implemented, tested and reviewed -> good state, but needs sec audit
+    \begin{columns}[T]
+        \begin{column}{.48\textwidth}
+            Implemented \& Tested:
+            \begin{itemize}
+                \item Cryptographic routines in GNUnet
+                \item Cryptographic utilities in the Exchange
+                \item Security Module for CS and crypto-helper
+                \item Key Management
+                \item New Endpoint to get $R_0,R_1$
+                \item Withdraw protocol
+                \item Deposit protocol
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            Not Implemented:
+            \begin{itemize}
+                \item Merchant (primarily Spend Protocol)
+                \item Wallet support for two denomination types
+                \item Tipping protocol
+            \end{itemize}
+        \end{column}
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Testing}
+    \begin{itemize}
+        \item Specification and test implementation hand in hand
+        \item Cryptographic routines: unit tests, benchmark, test vectors
+        \item Taler cryptographic utilities: unit tests
+        \item CS security module: functionality tests, benchmark
+        \item Exchange HTTP server: functionality tests (simulate wallet)
+    \end{itemize}
+\end{frame}
+
+
+
+% Übersicht allgemein (was implementiert, wie implementiert, wie getestet)
+% GNUnet
+% Testing, Test vectors, benchmarks
+% API, Data Types, special stuff
+
+% Taler cryptographic utilities
+\begin{frame}{\faIcon{code} Implementation of cryptographic routines}
+    \framesubtitle{Cryptographic routines in GNUnet}
+    % Implementation Signaturschema: GNUnet, free software, libsodium
+    \begin{columns}[T] % align columns
+        \begin{column}{.74\textwidth}
+            \vspace{0.5cm}
+            Cryptographic routines for Clause Blind Schnorr signatures:
+            \begin{itemize}
+                \item Programming language: C
+                \item Implemented as free software in the GNUnet project
+                \item Implemented on Curve25519
+                \item Libsodium is used for group operations
+                \item Implemented including testing, benchmarks and 
test-vector generator
+                \item Other primitives from GNUnet reused
+                      \begin{itemize}
+                          \item HKDF
+                          \item KDF mod
+                          \item Hash functions
+                      \end{itemize}
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.25\textwidth}
+            \vspace{2cm}
+            \includegraphics[height=2cm]{images/gnunet-logo.png}
+        \end{column}%
+    \end{columns}
+    \vspace{0.2cm}
+    {\tiny graphics source: 
https://www.gnunet.org/images/gnunet-logo-dark-no-text.png}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Implementation of cryptographic routines}
+    \framesubtitle{Implementation details}
+    \begin{columns}[T]
+        \begin{column}{.48\textwidth}
+            \resizebox{0.58\textwidth}{!}{\begin{minipage}{\textwidth}
+                    \begin{table}
+                        \colorlet{BFH-table}{BFH-MediumBlue!10}
+                        \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                        \setupBfhTabular
+                        \begin{tabular}{ll}
+                            \rowcolor{BFH-tablehead}
+                            \textbf{Operation}           & \textbf{API}        
                                                          \\\hline
+                            Key Generation               & {\footnotesize 
GNUNET\_CRYPTO\_cs\_private\_key\_generate()}                  \\\hline
+                            Get public key               & {\footnotesize 
GNUNET\_CRYPTO\_cs\_private\_key\_get\_public($sk$)}           \\\hline
+                            Derive $r_0,r_1$             & {\footnotesize 
GNUNET\_CRYPTO\_cs\_derive\_r(nonce, lts, $r$[2])}             \\\hline
+                            Get public $R$               & {\footnotesize 
GNUNET\_CRYPTO\_cs\_r\_get\_public($r$)}                       \\\hline
+                            Derive blinding secrets (bs) & {\footnotesize 
GNUNET\_CRYPTO\_cs\_blinding\_secrets\_derive(seed)}           \\\hline
+                            Calculate blinded $c$        & {\footnotesize 
GNUNET\_CRYPTO\_cs\_calc\_blinded\_c(bs, $R$[2], $pk$, msg)}   \\\hline
+                            Sign and get $b$             & {\footnotesize 
GNUNET\_CRYPTO\_cs\_sign\_derive($sk$, $r$[2], $c$[2], nonce)} \\\hline
+                            Unblind                      & {\footnotesize 
GNUNET\_CRYPTO\_cs\_unblind(blind\_sig, $pk$, msg)}            \\\hline
+                            Verify                       & {\footnotesize 
GNUNET\_CRYPTO\_cs\_verify(sig, $pk$, msg)}                    \\\hline
+                        \end{tabular}
+                    \end{table}
+                    \begin{itemize}
+                        \item {\normalsize API designed to prevent misuse}
+                        \item {\normalsize API includes "Clause" part}
+                        \item {\normalsize Internal functionality: CS-FDH, 
clamping}
+                    \end{itemize}
+                \end{minipage}}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            \hspace{1cm}
+            \resizebox{0.52\textwidth}{!}{\begin{minipage}{\textwidth}
+                    \begin{table}
+                        \colorlet{BFH-table}{BFH-MediumBlue!10}
+                        \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                        \setupBfhTabular
+                        \begin{tabular}{ll}
+                            \rowcolor{BFH-tablehead}
+                            \textbf{Values}                   & \textbf{Data 
Structure}                   \\\hline
+                            Curve25519 Scalar                 & {\small 
GNUNET\_CRYPTO\_Cs25519Scalar}    \\\hline
+                            Curve25519 Point                  & {\small 
GNUNET\_CRYPTO\_Cs25519Point}     \\\hline
+                            Private Key                       & {\small 
GNUNET\_CRYPTO\_CsPrivateKey}     \\\hline
+                            Public Key                        & {\small 
GNUNET\_CRYPTO\_CsPublicKey}      \\\hline
+                            $\alpha, \beta$                   & {\small 
GNUNET\_CRYPTO\_CsBlindingSecret} \\\hline
+                            $r$                               & {\small 
GNUNET\_CRYPTO\_CsRSecret}        \\\hline
+                            $R$                               & {\small 
GNUNET\_CRYPTO\_CsRPublic}        \\\hline
+                            $c$                               & {\small 
GNUNET\_CRYPTO\_CsC}              \\\hline
+                            $s$                               & {\small 
GNUNET\_CRYPTO\_CsBlindS}         \\\hline
+                            $s'$                              & {\small 
GNUNET\_CRYPTO\_CsS}              \\\hline
+                            $\sigma := \langle s',R' \rangle$ & {\small 
GNUNET\_CRYPTO\_CsSignature}      \\\hline
+                            Nonce                             & {\small 
GNUNET\_CRYPTO\_CsNonce}          \\\hline
+                        \end{tabular}
+                    \end{table}
+                \end{minipage}}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Exchange Architecture}
+    % Exchange Architektur
+    \begin{center}
+        \includegraphics[width=8cm]{images/architecture-exchange.jpg}
+    \end{center}
+    {\tiny graphics source: 
\url{https://git.taler.net/marketing.git/plain/presentations/comprehensive/main.pdf}}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Taler cryptographic utilities}
+    \framesubtitle{Cryptographic utilities around crypto routines and 
planchets}
+    \begin{columns}[T] % align columns
+        \begin{column}{.48\textwidth}
+            Cryptographic utilities to use the crypto routines
+            \begin{itemize}
+                \item sign
+                \item blind
+                \item unblind
+                \item key generation
+                \item derive\_r
+                \item various utility functions
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            Utility functions around planchets
+            \begin{itemize}
+                \item derive/generate nonce
+                \item blinding secrets
+                \item planchet setup \& prepare
+                \item planchet to coin
+                \item coin ev hash
+            \end{itemize}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{code} CS Security Module}
+    \framesubtitle{CS Security Module \& corresponding crypto helper}
+    \begin{columns}[T] % align columns
+        \begin{column}{.48\textwidth}
+            CS Security Module:
+            \begin{itemize}
+                \item Standalone process
+                \item The CS Security Module have sole access to the 
denomination private key
+                      %on httpd compromise attacker has no access to priv key
+                      % But can sign arbitrary messages
+                \item All operations requiring the private key are done by the 
secuity module
+                      \begin{itemize}
+                          \item Generate new keypair
+                          \item Sign a message
+                          \item Revoke keys
+                          \item Derive private $r$
+                      \end{itemize}
+                \item API can use fixed-length structs (compared to RSA)
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            CS Crypto Helper:
+            \begin{itemize}
+                \item Talks to the security module for operations requiring 
the denominations private key
+                \item Is part of the httpd service
+                \item Unix Domain Sockets are used for Inter-Process 
Communication with the security module
+            \end{itemize}
+        \end{column}%
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Key Management}
+    \begin{itemize}
+        \item Collect new denominations, security module public key from CS 
security module
+        \item {\color{blue}\texttt{GET /management/keys}}: Offer future keys 
to exchange-offline
+              % FIXME: not yet signed
+        \item {\color{blue}\texttt{POST /management/keys}}: Return signatures 
created with offline-signing key
+        \item {\color{blue}\texttt{GET /keys}}: Make new denominations 
available for wallet:
+        \item Currently requires both RSA and CS security modules to be running
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Endpoint for $ R $}
+    \begin{itemize}
+        \item New endpoint used for withdraw and refresh protocols
+        \item Available under {\color{blue}\texttt{POST /csr}}
+        \item Request: \\
+              \begin{table}[ht]
+                  \hspace{-1.5cm}
+                  \resizebox{0.9\textwidth}{!}{\begin{minipage}{\textwidth}
+                          \colorlet{BFH-table}{BFH-MediumBlue!10}
+                          \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                          \setupBfhTabular
+                          \begin{tabular}{lll}
+                              \rowcolor{BFH-tablehead}
+                              \textbf{Field}   & \textbf{Type} & 
\textbf{Value}                                          \\
+                              nonce            & String        & 32 Bytes 
encoded in Crockford base32 Hex                \\
+                              denom\_pub\_hash & String        & Denomination 
Public Key encoded in Crockford base32 Hex \\
+                          \end{tabular}
+                      \end{minipage}}
+              \end{table}
+        \item Exchange checks denomination (including cipher type)
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Endpoint for $ R $}
+    \begin{itemize}
+        \item Exchange derives $ R $ based on supplied nonce and denomination
+        \item Request passed down to security module
+        \item No persistence necessary
+        \item Response: \\
+              \begin{table}[ht]
+                  \hspace{-1.5cm}
+                  \resizebox{0.9\textwidth}{!}{\begin{minipage}{\textwidth}
+                          \colorlet{BFH-table}{BFH-MediumBlue!10}
+                          \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                          \setupBfhTabular
+                          \begin{tabular}{lll}
+                              \rowcolor{BFH-tablehead}
+                              \textbf{Field} & \textbf{Type} & \textbf{Value}  
                         \\
+                              r\_pub\_0      & String        & 32 Bytes 
encoded in Crockford base32 Hex \\
+                              r\_pub\_1      & String        & 32 Bytes 
encoded in Crockford base32 Hex \\
+                          \end{tabular}
+                      \end{minipage}}
+              \end{table}
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Withdraw Protocol}
+    \begin{columns}[c]
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item Available under {\color{blue}\texttt{POST 
/reserves/[reserve]/withdraw}}
+                \item Request data: \\
+                      \begin{table}[ht]
+                          \hspace{-3cm}
+                          
\resizebox{0.55\textwidth}{!}{\begin{minipage}{\textwidth}
+                                  \colorlet{BFH-table}{BFH-MediumBlue!10}
+                                  \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                                  \setupBfhTabular
+                                  \begin{tabular}{ll}
+                                      \rowcolor{BFH-tablehead}
+                                      \textbf{Field}   & \textbf{Value}        
                                     \\
+                                      denom\_pub\_hash & Denomination Public 
Key                                    \\
+                                      coin\_ev         & RSA blinded coin 
public key                                \\
+                                      reserve\_sig     & Signature over the 
request using the reserve's private key \\
+                                  \end{tabular}
+                              \end{minipage}}
+                      \end{table}
+                \item Adjusted coin\_ev field (RSA): \\
+                      \begin{table}[ht]
+                          \hspace{-3cm}
+                          
\resizebox{0.58\textwidth}{!}{\begin{minipage}{\textwidth}
+                                  \colorlet{BFH-table}{BFH-MediumBlue!10}
+                                  \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                                  \setupBfhTabular
+                                  \begin{tabular}{lll}
+                                      \rowcolor{BFH-tablehead}
+                                      \textbf{Field}         & \textbf{Type} & 
\textbf{Value}                        \\
+                                      cipher                 & Integer       & 
Denomination cipher: 1 stands for RSA \\
+                                      rsa\_blinded\_planchet & String        & 
RSA blinded coin public key           \\
+                                  \end{tabular}
+                              \end{minipage}}
+                      \end{table}
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item CS coin\_ev field: \\
+                      \begin{table}[ht]
+                          \hspace{-3cm}
+                          
\resizebox{0.55\textwidth}{!}{\begin{minipage}{\textwidth}
+                                  \colorlet{BFH-table}{BFH-MediumBlue!10}
+                                  \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                                  \setupBfhTabular
+                                  \begin{tabular}{lll}
+                                      \rowcolor{BFH-tablehead}
+                                      \textbf{Field}  & \textbf{Type} & 
\textbf{Value}                           \\
+                                      cipher          & Integer       & 
Denomination cipher: 2 stands for CS     \\
+                                      cs\_nonce       & String        & 32 
Bytes encoded in Crockford base32 Hex \\
+                                      cs\_blinded\_c0 & String        & 32 
Bytes encoded in Crockford base32 Hex \\
+                                      cs\_blinded\_c1 & String        & 32 
Bytes encoded in Crockford base32 Hex \\
+                                  \end{tabular}
+                              \end{minipage}}
+                      \end{table}
+                \item Response: \\
+                      \begin{table}[ht]
+                          \hspace{-3.5cm}
+                          
\resizebox{0.5\textwidth}{!}{\begin{minipage}{\textwidth}
+                                  \colorlet{BFH-table}{BFH-MediumBlue!10}
+                                  \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                                  \setupBfhTabular
+                                  \begin{tabular}{lll}
+                                      \rowcolor{BFH-tablehead}
+                                      \textbf{Field} & \textbf{Type} & 
\textbf{Value}                                              \\
+                                      cipher         & Integer       & 
Denomination cipher: 2 stands for CS                        \\
+                                      b              & Integer       & CS 
signature session identifier (either 0 or 1)             \\
+                                      s              & String        & 
signature scalar (32 Bytes encoded in Crockford base32 Hex) \\
+                                  \end{tabular}
+                              \end{minipage}}
+                      \end{table}
+            \end{itemize}
+        \end{column}
+    \end{columns}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Withdraw Protocol}
+    \framesubtitle{Implementation details}
+    \begin{itemize}
+        \item Idempotency check - has the coin already been withdrawn?
+              \begin{itemize}
+                  \item RSA: Hash over message (blinded coin)
+                  \item CS: Hash over nonce and denomination public key
+              \end{itemize}
+        \item Additional denomination cipher check
+        \item Various changes related to parsing, persistence and response
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Minor Security Fix}
+    \begin{itemize}
+        \item Recap: RSA idempotency check uses blinded coin hash
+        \item Issue:
+              \begin{itemize}
+                  \item Wallet withdraws a coin
+                  \item Withdraw same coin referencing different denomination
+                  \item Exchange returns signature of first withdraw due to 
idempotency check
+                  \item Invalid signature - open complaint at auditor
+                  \item Auditor is able to disprove
+              \end{itemize}
+        \item Solution: add denomination to coin hash
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{code} Deposit Protocol}
+    \begin{columns}[c]
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item Available under {\color{blue}\texttt{POST /coins/[coin 
public key]/deposit}}
+                \item Request: many fields, only coin\_sig relevant for CS
+                \item Content (RSA): \\
+                      \begin{table}[ht]
+                          \hspace{-2cm}
+                          
\resizebox{0.65\textwidth}{!}{\begin{minipage}{\textwidth}
+                                  \colorlet{BFH-table}{BFH-MediumBlue!10}
+                                  \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                                  \setupBfhTabular
+                                  \begin{tabular}{lll}
+                                      \rowcolor{BFH-tablehead}
+                                      \textbf{Field} & \textbf{Type} & 
\textbf{Value}                        \\
+                                      cipher         & Integer       & 
Denomination cipher: 1 stands for RSA \\
+                                      rsa\_signature & String        & 
Unblinded RSA signature               \\
+                                  \end{tabular}
+                              \end{minipage}}
+                      \end{table}
+            \end{itemize}
+        \end{column}
+        \hfill
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item coin\_sig content for CS: \\
+                      \begin{table}[ht]
+                          \hspace{-3.3cm}
+                          
\resizebox{0.45\textwidth}{!}{\begin{minipage}{\textwidth}
+                                  \colorlet{BFH-table}{BFH-MediumBlue!10}
+                                  \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                                  \setupBfhTabular
+                                  \begin{tabular}{lll}
+                                      \rowcolor{BFH-tablehead}
+                                      \textbf{Field}   & \textbf{Type} & 
\textbf{Value}                                                \\
+                                      cipher           & Integer       & 
Denomination cipher: 2 stands for CS                          \\
+                                      cs\_signature\_r & String        & Curve 
point $ R' $ (32 Bytes encoded in Crockford base32 Hex) \\
+                                      cs\_signature\_s & String        & 
Signature scalar (32 Bytes encoded in Crockford base32 Hex)   \\
+                                  \end{tabular}
+                              \end{minipage}}
+                      \end{table}
+                \item Add denomination cipher check
+                \item Signature verification (CS security module)
+                \item Adjusted persistence
+            \end{itemize}
+        \end{column}
+    \end{columns}
+\end{frame}
+
+
+% TODO: Refresh
+
+
+% Wallet
+\begin{frame}{\faIcon{wallet} {\color{red} \textit{New:} } Wallet 
Cryptographic Routines}
+    \framesubtitle{Wallet Implementation}
+    \begin{columns}[T] % align columns
+        \begin{column}{.48\textwidth}
+            \begin{itemize}
+                \item Programming language: Typescript
+                \item libsodium.js for group operations
+                \item cryptographic routines implemented
+                \item tested with test vectors from C implementation
+            \end{itemize}
+
+            Missing:
+            \begin{itemize}
+                \item Add support for two denomination types (together with 
Taler team)
+                \item integration test with exchange
+            \end{itemize}
+        \end{column}%
+        \hfill%
+        \begin{column}{.48\textwidth}
+            \begin{center}
+                \includegraphics[width=4.8cm]{images/stock1s.jpg}
+            \end{center}
+            {\tiny graphics source: \url{https://taler.net/images/stock1s.jpg}}
+        \end{column}%
+    \end{columns}
+\end{frame}
diff --git a/presentations/2022-cs/content/5-results.tex 
b/presentations/2022-cs/content/5-results.tex
new file mode 100644
index 0000000..555d857
--- /dev/null
+++ b/presentations/2022-cs/content/5-results.tex
@@ -0,0 +1,150 @@
+\section{\faIcon{gem} Results}
+% Discussion
+\begin{frame}{\faIcon{gem} Security Assumptions}
+    \framesubtitle{RSA Blind Signature's \& Clause Blind Schnorr Signature's}
+    Scheme comparison:
+    \begin{itemize}
+        \item \faIcon{hashtag} Number of blinding secrets
+        \item \faIcon{exchange-alt} Number of round trips
+        \item \faIcon{calculator} CS signatures do most computations twice
+    \end{itemize}
+    Security assumptions
+    \begin{itemize}
+        \item Both Schemes are considered \textbf{perfectly blind}
+        \item RSA depends on factoring large numbers being hard.
+        \item Schnorr Signatures depends on computing the discrete logarithm 
being hard
+        \item Clause Blind Schnorr Signatures additionally rely on the 
modified ROS problem being hard
+        \item ROS is a recent research topic, and not as well researched
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{gem} CPU Performance}
+    \begin{center}
+        \resizebox{0.7\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{bfhBox}[BFH-MediumBlue]{Setup}
+                    CPU: 8-core AMD Ryzen 7 PRO 5850U \\
+                    OS: Ubuntu 21.10 Linux 5.13.0-25-generic \\
+                \end{bfhBox}
+            \end{minipage}}
+        \resizebox{0.8\textwidth}{!}{\begin{minipage}{\textwidth}
+                \vspace{0.5cm}
+                \begin{table}[ht]
+                    \centering
+                    \colorlet{BFH-table}{BFH-MediumBlue!10}
+                    \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                    \setupBfhTabular
+                    \begin{tabular}{lrrr}
+                        \rowcolor{BFH-tablehead}
+                        \textbf{Operation} & \textbf{CS} & \textbf{RSA 1024 
bit} & \textbf{RSA 3072 bit} \\\hline
+                        10x key generation & 0.204 ms    & 126 ms              
  & 2684 ms               \\\hline
+                        10x blind          & 3.870 ms    & 1.282 ms            
  & 5 ms                  \\\hline
+                        10x signing        & 0.077 ms    & 7 ms                
  & 86 ms                 \\\hline
+                        10x unblinding     & 0.001 ms    & 2.991 ms            
  & 24 ms                 \\\hline
+                        10x verifying      & 1.358 ms    & 0.876 ms            
  & 3.075 ms              \\\hline
+                    \end{tabular}
+                \end{table}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+\begin{frame}{\faIcon{gem} Disk Space \& Bandwidth}
+    \begin{center}
+        Signatures: {\footnotesize $\langle s,R \rangle$}\\
+
+        \vspace{0.2cm}
+        \resizebox{0.65\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{table}[ht]
+                    \centering
+                    \colorlet{BFH-table}{BFH-MediumBlue!10}
+                    \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                    \setupBfhTabular
+                    \begin{tabular}{lccr}
+                        \rowcolor{BFH-tablehead}
+                        \textbf{Signature Scheme} & \textbf{Disk Space} & 
\textbf{Factor} & \textbf{Disk Space 1M signatures} \\\hline
+                        CS                        & 512 bits            & 1x   
           & 64 MB                             \\\hline
+                        RSA 1024 bit              & 1024 bits           & 2x   
           & 128 MB                            \\\hline
+                        RSA 2048 bit              & 2048 bits           & 4x   
           & 256 MB                            \\\hline
+                        RSA 3072 bit              & 3072 bits           & 6x   
           & 384 MB                            \\\hline
+                        RSA 4096 bit              & 4096 bits           & 8x   
           & 512 MB                            \\\hline
+                    \end{tabular}
+                \end{table}
+            \end{minipage}}
+        \\Wallet disk space: {\footnotesize $\langle c_s,s,R_0,R_1,D_p 
\rangle$}\\
+
+        \vspace{0.2cm}
+        \resizebox{0.65\textwidth}{!}{\begin{minipage}{\textwidth}
+                \begin{table}[ht]
+                    \centering
+                    \colorlet{BFH-table}{BFH-MediumBlue!10}
+                    \colorlet{BFH-tablehead}{BFH-MediumBlue!50}
+                    \setupBfhTabular
+                    \begin{tabular}{lccr}
+                        \rowcolor{BFH-tablehead}
+                        \textbf{Signature Scheme} & \textbf{Disk Space} & 
\textbf{Factor} & \textbf{Disk Space 1M coins} \\\hline
+                        CS 256 bits               & 150 bytes           & 1x   
           & 160 MB                       \\\hline
+                        RSA 1024 bit              & 416 bytes           & 2.6x 
           & 416 MB                       \\\hline
+                        RSA 2048 bit              & 800 bits            & 5x   
           & 800 MB                       \\\hline
+                        RSA 3072 bit              & 1184 bits           & 7.4x 
           & 1184 MB                      \\\hline
+                        RSA 4096 bit              & 1568 bits           & 9.8x 
           & 1568 MB                      \\\hline
+                    \end{tabular}
+                \end{table}
+            \end{minipage}}
+    \end{center}
+\end{frame}
+
+\begin{frame}{\faIcon{gem} Latency}
+    \begin{itemize}
+        \item CS introduces an additional round trip
+        \item A coin should not be spent immediately after withdrawal or 
refresh
+        \item Additional round trip is therefore \textit{negligible}
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{gem} Comparison Conclusion}
+    \begin{itemize}
+        \item \faIcon{bolt} CS has overall better performance regarding speed, 
disk space and bandwidth
+        \item \faIcon{exchange-alt} Additional round-trip is negligible
+        \item \faIcon{calculator} CS has an additional, newer security 
assumption called ROS
+        \item \faIcon{bomb} Risk can be calculated and capped by denomination 
key lifetime
+    \end{itemize}
+    % Risk etc.
+    % better overall
+\end{frame}
+
+\begin{frame}{\faIcon{gem} Acknowledgement}
+    \begin{itemize}
+        \item Christian Grothoff
+        \item Jeffrey Burdges
+        \item Jacob Appelbaum
+        \item Florian Dold
+        \vspace{0.5cm}
+        {\\We would also like to thank Mr. Benoist and Mr. Voisard for the 
guidance during our thesis.}
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{gem} Future Work}
+    \begin{itemize}
+        \item Refresh and other protocols (tipping, deposit, refund, etc.)
+        \item Wallet
+        \item Merchant
+        \item Security Audit
+        \item CS implementation on other curves
+        \item Exchange API documentation
+        \item Exchange operator guideline for when to use CS
+    \end{itemize}
+\end{frame}
+
+\begin{frame}{\faIcon{gem} Personal Conclusion}
+    \begin{itemize}
+        \item \faIcon{sort-amount-down-alt} From high-level down to code
+        \item \faIcon{swimmer} Challenging at times, pushed through with 
persistence
+        \item \faIcon{wind} Motivation grew with every completed step
+        \item \faIcon{code} C:
+              \begin{itemize}
+                  \item Respect from it, but went well (cough macros cough)
+                  \item Well designed APIs
+                  \item Integrate new variables without RSA-counterpart
+              \end{itemize}
+        \item \faIcon{piggy-bank} Hope to pay with own code in the future!
+    \end{itemize}
+\end{frame}
diff --git a/presentations/2022-cs/images/architecture-exchange.jpg 
b/presentations/2022-cs/images/architecture-exchange.jpg
new file mode 100644
index 0000000..7af1f42
Binary files /dev/null and 
b/presentations/2022-cs/images/architecture-exchange.jpg differ
diff --git a/presentations/2022-cs/images/blind-coin.png 
b/presentations/2022-cs/images/blind-coin.png
new file mode 100644
index 0000000..7684099
Binary files /dev/null and b/presentations/2022-cs/images/blind-coin.png differ
diff --git a/presentations/2022-cs/images/blind-sign.png 
b/presentations/2022-cs/images/blind-sign.png
new file mode 100644
index 0000000..900d562
Binary files /dev/null and b/presentations/2022-cs/images/blind-sign.png differ
diff --git a/presentations/2022-cs/images/coins.jpg 
b/presentations/2022-cs/images/coins.jpg
new file mode 100644
index 0000000..9f30384
Binary files /dev/null and b/presentations/2022-cs/images/coins.jpg differ
diff --git a/presentations/2022-cs/images/curve25519.png 
b/presentations/2022-cs/images/curve25519.png
new file mode 100644
index 0000000..f068a53
Binary files /dev/null and b/presentations/2022-cs/images/curve25519.png differ
diff --git a/presentations/2022-cs/images/cutandchose.png 
b/presentations/2022-cs/images/cutandchose.png
new file mode 100644
index 0000000..2ea29ee
Binary files /dev/null and b/presentations/2022-cs/images/cutandchose.png differ
diff --git a/presentations/2022-cs/images/dh-lock.png 
b/presentations/2022-cs/images/dh-lock.png
new file mode 100644
index 0000000..30487ec
Binary files /dev/null and b/presentations/2022-cs/images/dh-lock.png differ
diff --git a/presentations/2022-cs/images/diagram-simple.png 
b/presentations/2022-cs/images/diagram-simple.png
new file mode 100644
index 0000000..d6ad292
Binary files /dev/null and b/presentations/2022-cs/images/diagram-simple.png 
differ
diff --git a/presentations/2022-cs/images/final.JPG 
b/presentations/2022-cs/images/final.JPG
new file mode 100644
index 0000000..811c93b
Binary files /dev/null and b/presentations/2022-cs/images/final.JPG differ
diff --git a/presentations/2022-cs/images/gnunet-logo.png 
b/presentations/2022-cs/images/gnunet-logo.png
new file mode 100644
index 0000000..1658455
Binary files /dev/null and b/presentations/2022-cs/images/gnunet-logo.png differ
diff --git a/presentations/2022-cs/images/logo-2021.png 
b/presentations/2022-cs/images/logo-2021.png
new file mode 100644
index 0000000..da5c7dd
Binary files /dev/null and b/presentations/2022-cs/images/logo-2021.png differ
diff --git a/presentations/2022-cs/images/planchet.png 
b/presentations/2022-cs/images/planchet.png
new file mode 100644
index 0000000..99c2883
Binary files /dev/null and b/presentations/2022-cs/images/planchet.png differ
diff --git a/presentations/2022-cs/images/refresh-derive-rsa.png 
b/presentations/2022-cs/images/refresh-derive-rsa.png
new file mode 100644
index 0000000..adb3092
Binary files /dev/null and 
b/presentations/2022-cs/images/refresh-derive-rsa.png differ
diff --git a/presentations/2022-cs/images/refresh-derive.png 
b/presentations/2022-cs/images/refresh-derive.png
new file mode 100644
index 0000000..d73e738
Binary files /dev/null and b/presentations/2022-cs/images/refresh-derive.png 
differ
diff --git a/presentations/2022-cs/images/stock1s.jpg 
b/presentations/2022-cs/images/stock1s.jpg
new file mode 100644
index 0000000..8a1ec04
Binary files /dev/null and b/presentations/2022-cs/images/stock1s.jpg differ
diff --git a/presentations/2022-cs/images/taler-pki.png 
b/presentations/2022-cs/images/taler-pki.png
new file mode 100644
index 0000000..f72d423
Binary files /dev/null and b/presentations/2022-cs/images/taler-pki.png differ
diff --git a/presentations/2022-cs/images/unblind-coin.png 
b/presentations/2022-cs/images/unblind-coin.png
new file mode 100644
index 0000000..61730c4
Binary files /dev/null and b/presentations/2022-cs/images/unblind-coin.png 
differ
diff --git a/presentations/2022-cs/images/withdraw1.png 
b/presentations/2022-cs/images/withdraw1.png
new file mode 100644
index 0000000..a5f36d5
Binary files /dev/null and b/presentations/2022-cs/images/withdraw1.png differ
diff --git a/presentations/2022-cs/images/withdraw2.png 
b/presentations/2022-cs/images/withdraw2.png
new file mode 100644
index 0000000..c4ee927
Binary files /dev/null and b/presentations/2022-cs/images/withdraw2.png differ
diff --git a/presentations/2022-cs/poster/Plakat Bachelorthesis.pdf 
b/presentations/2022-cs/poster/Plakat Bachelorthesis.pdf
new file mode 100644
index 0000000..898424b
Binary files /dev/null and b/presentations/2022-cs/poster/Plakat 
Bachelorthesis.pdf differ
diff --git a/presentations/2022-cs/poster/Plakat Bachelorthesis.pptx 
b/presentations/2022-cs/poster/Plakat Bachelorthesis.pptx
new file mode 100644
index 0000000..b4a3460
Binary files /dev/null and b/presentations/2022-cs/poster/Plakat 
Bachelorthesis.pptx differ
diff --git a/presentations/2022-cs/presentation.pdf 
b/presentations/2022-cs/presentation.pdf
new file mode 100644
index 0000000..44b2b6f
Binary files /dev/null and b/presentations/2022-cs/presentation.pdf differ
diff --git a/presentations/2022-cs/presentation.tex 
b/presentations/2022-cs/presentation.tex
new file mode 100644
index 0000000..82cd5f3
--- /dev/null
+++ b/presentations/2022-cs/presentation.tex
@@ -0,0 +1,99 @@
+\documentclass[
+       english,%globale Übergabe der Hauptsprache
+       aspectratio=169,%Beamer eigene Option zum Umschalten des Formates
+       % logofile=logo-2021, %Falls die Logo Dateien nicht vorliegen
+       authorontitle=true,
+]{bfhbeamer}
+
+%will also be acessible via option sidebar=true/false
+\useoutertheme{BFH-sidebar}
+
+\version{1.0}
+
+\usepackage[main=ngerman]{babel}
+% To use icons
+\usepackage{fontawesome5}
+
+% Der folgende Block ist nur bei pdfTeX auf Versionen vor April 2018 notwendig
+\usepackage{iftex}
+\ifPDFTeX
+\usepackage[utf8]{inputenc}%kompatibilität mit TeX Versionen vor April 2018
+\fi
+
+%Crypto Grafiken
+\usepackage{cryptocode}
+%\usepackage{amsmath}
+
+%BFH Boxes
+% see BFH example for usage, looks nice!<<
+\LoadBFHModule{listings,terminal,boxes}
+
+\usepackage{tikz}
+%Makros für Formatierungen der Doku
+%Im Allgemeinen nicht notwendig!
+\let\code\texttt
+
+\title{Adding Schnorr’s blind signature in Taler - Defence}
+% \subtitle{}
+\author{Gian Demarmels \and Lucien Heuzeveldt {\tiny\\ Advisor: Prof. Dr. 
Emmanuel Benoist\newline Expert: Elektronikingenieur HTL Daniel Voisard}} 
+\titlegraphic*{\includegraphics{images/logo-2021.png}}%is only used with 
BFH-graphic and BFH-fullgraphic
+
+%Activate the output of a frame number:
+\setbeamertemplate{page number in head/foot}[framenumber]
+\setbeamertemplate{author in sidebar}
+
+% automatisch am Anfang einer Section eine Section-Folie anzeigen
+\AtBeginSection{\sectionpage}
+\setbeamertemplate{section page}[BFH-ruled]
+
+
+\begin{document}
+
+% Aufhänger - Welche der beiden Münzen wollt ihr lieber in eurer Brieftasche 
herumtragen?
+% In den nächsten 15 Minuten erzählen wir euch, wie wir in Taler Unterstützung 
für Clause Blind Schnorr Signaturen eingeführt haben und was das für Taler 
bedeutet.
+% Mit diesen Signaturen erreichen wir unter anderem eine leichtgewichtigere 
Münze
+
+% Zeit: 1min
+
+\setbeamertemplate{title page}[BFH-graphic]
+\maketitle
+
+\begin{frame}{\faIcon{bars} Content}
+       \begin{columns}[c] % align columns
+               \begin{column}{.45 \textwidth}
+                       \begin{itemize}
+                               \item \faIcon{flag-checkered} Goals \& Project 
Management % Chap 1,2
+                               \item \faIcon{coins} Preliminaries % Chap 3
+                               \item \faIcon{clipboard-list} Protocol Redesign 
% Chap 4
+                               \item \faIcon{code} Specification \& 
Implementation % Chap 5,6 
+                               \item \faIcon{gem} Results % Chap 7,8
+                       \end{itemize}
+               \end{column}%
+               \hfill%
+               \begin{column}{.58\textwidth}
+                       \includegraphics[width=6.9cm]{images/coins.jpg}
+               \end{column}%
+       \end{columns}
+\end{frame}
+
+% Gian
+\input{content/1-goals-projectmgmt.tex}
+
+% Gian
+\input{content/2-preliminaries.tex}
+
+% Lucien
+\input{content/3-protocol-redesign.tex}
+
+% beide
+\input{content/4-implementation.tex}
+
+% beide
+\input{content/5-results.tex}
+
+\begin{frame}{\faIcon{comments} Let's talk!}
+       \begin{center}
+               \includegraphics[width=10.5cm]{images/final.JPG}
+       \end{center}
+\end{frame}
+\end{document}

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]