eipsi2024 init
18
eipsi2024/README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Talk _Are you old enough to buy this?_
|
||||||
|
|
||||||
|
Talk for a hacker audience about the inception of age restriction in GNU Taler.
|
||||||
|
|
||||||
|
## Questions from Audience so far
|
||||||
|
|
||||||
|
Here are questions that were asked and should be better answered in the slides
|
||||||
|
|
||||||
|
- [ ] Wouldn't age restriction reduce the anonymity space?
|
||||||
|
- [ ] Couldn't a older child give a younger child coins with higher age restriction?
|
||||||
|
- [ ] How does the coin (with age restriction) transfere from guardian to child really work (in the wallet)?
|
||||||
|
- [ ] Isn't the price for cut&choose more than (uncontrolled) uncertainty?
|
||||||
|
- [ ] How is the order of the public keys guaranteed?
|
||||||
|
- [ ] Couldn't the scheme be used by game studios?
|
||||||
|
- [ ] What is the state of Taler? Is it used anywhere?
|
||||||
|
- [ ] Is RSA for blind signing necessary? Couldn't you use Wagner's variant based on EcDH?
|
||||||
|
|
||||||
|
|
90
eipsi2024/definitions.tex
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
\newcommand{\blue}[1]{{\color{blue}#1}}
|
||||||
|
\newcommand{\red}[1]{{\color{red}#1}}
|
||||||
|
\newcommand{\Guardian}{\mathcal{G}}
|
||||||
|
\newcommand{\Child}{\mathcal{C}}
|
||||||
|
\newcommand{\Customer}{\mathcal{C}}
|
||||||
|
\newcommand{\Merchant}{\mathcal{M}}
|
||||||
|
\newcommand{\Exchange}{\mathcal{E}}
|
||||||
|
|
||||||
|
\newcommand{\Commit}{\mathsf{Commit}}
|
||||||
|
\newcommand{\Attest}{\mathsf{Attest}}
|
||||||
|
\newcommand{\Verify}{\mathsf{Verify}}
|
||||||
|
\newcommand{\Derive}{\mathsf{Derive}}
|
||||||
|
\newcommand{\DeriveCompare}{\mathsf{DeriveCompare_\kappa}}
|
||||||
|
\newcommand{\Compare}{\mathsf{Compare}}
|
||||||
|
\newcommand{\AgeVer}{\mathsf{AgeVer}}
|
||||||
|
|
||||||
|
\newcommand{\HashF}{\mathsf{H}}
|
||||||
|
\newcommand{\Hash}{\mathsf{H}}
|
||||||
|
\newcommand{\Block}{\mathbb{B}}
|
||||||
|
\newcommand{\Pub}{\mathsf{Pub}}
|
||||||
|
\newcommand{\Sign}{\mathsf{Sig}}
|
||||||
|
\newcommand{\Ver}{\mathsf{Ver}}
|
||||||
|
\newcommand{\Encoding}{\mathsf{Encoding}}
|
||||||
|
\newcommand{\ECDSA}{\mathsf{ECDSA}}
|
||||||
|
\newcommand{\Null}{\mathcal{O}}
|
||||||
|
\newcommand{\EC}{\mathrm{ec}}
|
||||||
|
\newcommand{\Curve}{\mathsf{Curve25519}}
|
||||||
|
\newcommand{\SHA}{\mathsf{SHA256}}
|
||||||
|
\newcommand{\SHAF}{\mathsf{SHA252}}
|
||||||
|
\newcommand{\FDH}{\mathsf{FDH}}
|
||||||
|
|
||||||
|
\newcommand{\negl}{\epsilon}
|
||||||
|
|
||||||
|
\newcommand{\rand}{\mathsf{rand}}
|
||||||
|
\newcommand{\age}{\mathsf{a}}
|
||||||
|
\newcommand{\Age}{\mathsf{M}}
|
||||||
|
\newcommand{\bage}{\mathsf{b}}
|
||||||
|
\newcommand{\minage}{\mathsf{m}}
|
||||||
|
\newcommand{\attest}{\mathsf{T}}
|
||||||
|
\newcommand{\commitment}{\mathsf{Q}}
|
||||||
|
\newcommand{\pruf}{\mathsf{P}}
|
||||||
|
\newcommand{\Vcommitment}{\vec{\mathsf{Q}}}
|
||||||
|
\newcommand{\Vpruf}{\vec{\mathsf{P}}}
|
||||||
|
\newcommand{\blinding}{\beta}
|
||||||
|
|
||||||
|
\newcommand{\ZN}{\mathbb{Z}_N}
|
||||||
|
\newcommand{\Z}{\mathbb{Z}}
|
||||||
|
\newcommand{\N}{\mathbb{N}}
|
||||||
|
\newcommand{\A}{\mathbb{A}}
|
||||||
|
\newcommand{\E}{\mathbb{E}}
|
||||||
|
\newcommand{\F}{\mathbb{F}}
|
||||||
|
\newcommand{\seck}{\mathsf{s}}
|
||||||
|
\newcommand{\pubk}{\mathsf{P}}
|
||||||
|
\renewcommand{\H}{\mathbb{H}}
|
||||||
|
\newcommand{\K}{\mathbb{K}}
|
||||||
|
\newcommand{\Proofs}{\mathbb{P}}
|
||||||
|
\newcommand{\Commitments}{\mathbb{O}}
|
||||||
|
\newcommand{\Attests}{\mathbb{T}}
|
||||||
|
\newcommand{\Blindings}{\mathbb{B}}
|
||||||
|
\newcommand{\Nil}{\perp}
|
||||||
|
|
||||||
|
\newcommand{\p}{\mathsf{p}}
|
||||||
|
\newcommand{\com}{\mathsf{com}}
|
||||||
|
\newcommand{\prf}{\mathsf{prf}}
|
||||||
|
|
||||||
|
\newcommand{\Adv}{\mathcal{A}}
|
||||||
|
\newcommand{\PPT}{\mathfrak{A}}
|
||||||
|
\newcommand{\Probability}{\mathrm{Pr}}
|
||||||
|
\newcommand{\Algorithm}{f}
|
||||||
|
\renewcommand{\Game}[1]{G_\Adv^\mathsf{#1}}
|
||||||
|
|
||||||
|
\DeclareMathOperator{\Image}{Im}
|
||||||
|
\DeclareMathOperator{\Mod}{mod}
|
||||||
|
|
||||||
|
\newcommand{\Encode}[1]{\overbracket[0.5pt][2pt]{\,#1\,}}
|
||||||
|
\newcommand{\Decode}[1]{\underbracket[0.5pt][3pt]{\,#1\,}}
|
||||||
|
\newcommand{\FDHg}[1]{[#1]_g\,}
|
||||||
|
\newcommand{\logg}{{\breve{g}}}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand{\drawfrom}{\xleftarrow{\$}}
|
||||||
|
\newcommand\Exists{%
|
||||||
|
\mathop{\lower0.75ex\hbox{\ensuremath{%
|
||||||
|
\mathlarger{\mathlarger{\mathlarger{\mathlarger{\exists}}}}}}}%
|
||||||
|
\limits}
|
||||||
|
|
||||||
|
\newcommand\Forall{%
|
||||||
|
\mathop{\lower0.75ex\hbox{\ensuremath{%
|
||||||
|
\mathlarger{\mathlarger{\mathlarger{\mathlarger{\forall}}}}}}}%
|
||||||
|
\limits}
|
1148
eipsi2024/eipsi2024.tex
Normal file
32
eipsi2024/gnu.tex
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
\subsection{GNU Taler as GNU Software}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{GNU Software {\tiny (\url{https://www.gnu.org/software/software.en.html})}}
|
||||||
|
\hspace*{-0.5cm}\begin{minipage}[scale=1.0]{1.1\textwidth}
|
||||||
|
\tiny
|
||||||
|
\linespread{1.45}\selectfont
|
||||||
|
3dldf 8sync a2ps acct acm adns alive anubis apl archimedes aris artanis aspell auctex autoconf autoconf-archive autogen automake avl ballandpaddle barcode bash bayonne bazaar bc behistun binutils bison bool bpel2owfn c-graph ccaudio ccd2cue ccide ccrtp ccscript cflow cgicc chess cim classpath classpathx clisp combine commoncpp complexity config consensus coreutils cpio cppi cssc cursynth dap datamash dc ddd ddrescue dejagnu denemo dia dico diction diffutils dionysus direvent djgpp dominion dr-geo easejs ed edma electric {emacs} emacs-muse emms enscript epsilon fdisk ferret findutils fisicalab foliot fontopia fontutils freedink freefont freeipmi freetalk fribidi g-golf gama garpd gawk gcal {gcc} gcide gcl gcompris gdb gdbm gengen gengetopt gettext gforth ggradebook ghostscript gift gimp glean gleem glib global glpk glue gmediaserver gmp gnash gnat gnats gnatsweb gneuralnetwork gnome gnowsys gnu-c-manual gnu-crypto gnu-pw-mgr gnuae gnuastro gnubatch gnubg gnubiff gnubik gnucap gnucash gnucobol gnucomm gnudos gnufm gnugo gnuit gnujdoc gnujump gnukart gnulib gnumach gnumed gnumeric gnump3d gnun gnunet gnupg gnupod gnuprologjava gnuradio gnurobots gnuschool gnushogi gnusound gnuspeech gnuspool gnustandards gnustep gnutls gnutrition gnuzilla goptical gorm gpaint gperf gprolog grabcomics greg grep gretl groff grub gsasl gsegrafix gsl gslip gsrc gss gtick gtk+ gtypist guile guile-cv guile-dbi guile-gnome guile-ncurses guile-opengl guile-rpc guile-sdl guix gurgle gv gvpe gwl gxmessage gzip halifax health hello help2man hp2xx html-info httptunnel hurd hyperbole icecat idutils ignuit indent inetutils inklingreader intlfonts jacal jami java-getopt jel jtw jwhois kawa kopi leg less libc libcdio libdbh liberty-eiffel libextractor libffcall libgcrypt libiconv libidn libjit libmatheval libmicrohttpd libredwg librejs libsigsegv libtasn1 libtool libunistring libxmi lightning lilypond lims linux-libre liquidwar6 lispintro lrzsz lsh m4 macchanger mailman mailutils make marst maverik mc mcron mcsim mdk mediagoblin melting mempool mes metaexchange metahtml metalogic-inference mifluz mig miscfiles mit-scheme moe motti mpc mpfr mpria mtools nana nano nano-archimedes ncurses nettle network ocrad octave oleo oo-browser orgadoc osip panorama parallel parted pascal patch paxutils pcb pem pexec phantom\_home pies pipo plotutils poke polyxmass powerguru proxyknife pspp psychosynth pth pyconfigure pythonwebkit qexo quickthreads r radius rcs readline recutils reftex remotecontrol rottlog rpge rush sather scm screen sed serveez sharutils shepherd shishi shmm shtool sipwitch slib smalltalk social solfege spacechart spell sqltutor src-highlite ssw stalkerfs stow stump superopt swbis sysutils taler talkfilters tar termcap termutils teseq teximpatient texinfo texmacs thales time tramp trans-coord trueprint unifont units unrtf userv uucp vc-dwim vcdimager vera vmgen wb wdiff websocket4j webstump wget which womb xaos xboard xlogmaster xmlat xnee xorriso zile
|
||||||
|
\end{minipage}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{GNU Software {\tiny (\url{https://www.gnu.org/software/software.en.html})}}
|
||||||
|
\hspace*{-0.5cm}\begin{minipage}[scale=1]{1.1\textwidth}
|
||||||
|
\tiny
|
||||||
|
\linespread{1.45}\selectfont
|
||||||
|
3dldf 8sync a2ps acct acm adns alive anubis apl archimedes aris artanis aspell auctex autoconf autoconf-archive autogen automake avl ballandpaddle barcode bash bayonne bazaar bc behistun binutils bison bool bpel2owfn c-graph ccaudio ccd2cue ccide ccrtp ccscript cflow cgicc chess cim classpath classpathx clisp combine commoncpp complexity config consensus coreutils cpio cppi cssc cursynth dap datamash dc ddd ddrescue dejagnu denemo dia dico diction diffutils dionysus direvent djgpp dominion dr-geo easejs ed edma electric {\normalsize emacs} emacs-muse emms enscript epsilon fdisk ferret findutils fisicalab foliot fontopia fontutils freedink freefont freeipmi freetalk fribidi g-golf gama garpd gawk gcal {\normalsize gcc} gcide gcl gcompris gdb gdbm gengen gengetopt gettext gforth ggradebook ghostscript gift gimp glean gleem glib global glpk glue gmediaserver gmp gnash gnat gnats gnatsweb gneuralnetwork {\normalsize gnome} gnowsys gnu-c-manual gnu-crypto gnu-pw-mgr gnuae gnuastro gnubatch gnubg gnubiff gnubik gnucap gnucash gnucobol gnucomm gnudos gnufm gnugo gnuit gnujdoc gnujump gnukart gnulib gnumach gnumed gnumeric gnump3d gnun gnunet gnupg gnupod gnuprologjava gnuradio gnurobots gnuschool gnushogi gnusound gnuspeech gnuspool gnustandards gnustep gnutls gnutrition gnuzilla goptical gorm gpaint gperf gprolog grabcomics greg {\normalsize grep} gretl groff grub gsasl gsegrafix gsl gslip gsrc gss gtick gtk+ gtypist guile guile-cv guile-dbi guile-gnome guile-ncurses guile-opengl guile-rpc guile-sdl guix gurgle gv gvpe gwl gxmessage gzip halifax health hello help2man hp2xx html-info httptunnel hurd hyperbole icecat idutils ignuit indent inetutils inklingreader intlfonts jacal jami java-getopt jel jtw jwhois kawa kopi leg less libc libcdio libdbh liberty-eiffel libextractor libffcall libgcrypt libiconv libidn libjit libmatheval libmicrohttpd libredwg librejs libsigsegv libtasn1 libtool libunistring libxmi lightning lilypond lims linux-libre liquidwar6 lispintro lrzsz lsh m4 macchanger mailman mailutils {\normalsize make} marst maverik mc mcron mcsim mdk mediagoblin melting mempool mes metaexchange metahtml metalogic-inference mifluz mig miscfiles mit-scheme moe motti mpc mpfr mpria mtools nana nano nano-archimedes ncurses nettle network ocrad octave oleo oo-browser orgadoc osip panorama parallel parted pascal patch paxutils pcb pem pexec phantom\_home pies pipo plotutils poke polyxmass powerguru proxyknife pspp psychosynth pth pyconfigure pythonwebkit qexo quickthreads r radius rcs readline recutils reftex remotecontrol rottlog rpge rush sather scm screen {\normalsize sed} serveez sharutils shepherd shishi shmm shtool sipwitch slib smalltalk social solfege spacechart spell sqltutor src-highlite ssw stalkerfs stow stump superopt swbis sysutils taler talkfilters tar termcap termutils teseq teximpatient texinfo texmacs thales time tramp trans-coord trueprint unifont units unrtf userv uucp vc-dwim vcdimager vera vmgen wb wdiff websocket4j webstump wget which womb xaos xboard xlogmaster xmlat xnee xorriso zile
|
||||||
|
\end{minipage}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{GNU Software {\tiny (\url{https://www.gnu.org/software/software.en.html})}}
|
||||||
|
\hspace*{-0.5cm}\begin{minipage}[scale=1.0]{1.1\textwidth}
|
||||||
|
\tiny
|
||||||
|
\linespread{1.45}\selectfont
|
||||||
|
3dldf 8sync a2ps acct acm adns alive anubis apl archimedes aris artanis aspell auctex autoconf autoconf-archive autogen automake avl ballandpaddle barcode bash bayonne bazaar bc behistun binutils bison bool bpel2owfn c-graph ccaudio ccd2cue ccide ccrtp ccscript cflow cgicc chess cim classpath classpathx clisp combine commoncpp complexity config consensus coreutils cpio cppi cssc cursynth dap datamash dc ddd ddrescue dejagnu denemo dia dico diction diffutils dionysus direvent djgpp dominion dr-geo easejs ed edma electric emacs emacs-muse emms enscript epsilon fdisk ferret findutils fisicalab foliot fontopia fontutils freedink freefont freeipmi freetalk fribidi g-golf gama garpd gawk gcal gcc gcide gcl gcompris gdb gdbm gengen gengetopt gettext gforth %
|
||||||
|
\setlength{\columnsep}{1pt}
|
||||||
|
\setlength{\intextsep}{0pt}
|
||||||
|
\begin{wrapfigure}{r}{0pt}{\fontsize{40}{2}\selectfont\bf \color{blue}taler}\end{wrapfigure}
|
||||||
|
ggradebook ghostscript gift gimp glean gleem glib global glpk glue gmediaserver gmp gnash gnat gnats gnatsweb gneuralnetwork gnome gnowsys gnu-c-manual gnu-crypto gnu-pw-mgr gnuae gnuastro gnubatch gnubg gnubiff gnubik gnucap gnucash gnucobol gnucomm gnudos gnufm gnugo gnuit gnujdoc gnujump gnukart gnulib gnumach gnumed gnumeric gnump3d gnun gnunet gnupg gnupod gnuprologjava gnuradio gnurobots gnuschool gnushogi gnusound gnuspeech gnuspool gnustandards gnustep gnutls gnutrition gnuzilla goptical gorm gpaint gperf gprolog grabcomics greg grep gretl groff grub gsasl gsegrafix gsl gslip gsrc gss gtick gtk+ gtypist guile guile-cv guile-dbi guile-gnome guile-ncurses guile-opengl guile-rpc guile-sdl guix gurgle gv gvpe gwl gxmessage gzip halifax health hello help2man hp2xx html-info httptunnel hurd hyperbole icecat idutils ignuit indent inetutils inklingreader intlfonts jacal jami java-getopt jel jtw jwhois kawa kopi leg less libc libcdio libdbh liberty-eiffel libextractor libffcall libgcrypt libiconv libidn libjit libmatheval libmicrohttpd libredwg librejs libsigsegv libtasn1 libtool libunistring libxmi lightning lilypond lims linux-libre liquidwar6 lispintro lrzsz lsh m4 macchanger mailman mailutils make marst maverik mc mcron mcsim mdk mediagoblin melting mempool mes metaexchange metahtml metalogic-inference mifluz mig miscfiles mit-scheme moe motti mpc mpfr mpria mtools nana nano nano-archimedes ncurses nettle network ocrad octave oleo oo-browser orgadoc osip panorama parallel parted pascal patch paxutils pcb pem pexec phantom\_home pies pipo plotutils poke polyxmass powerguru proxyknife pspp psychosynth pth pyconfigure pythonwebkit qexo quickthreads r radius rcs readline recutils reftex remotecontrol rottlog rpge rush sather scm screen sed serveez sharutils shepherd shishi shmm shtool sipwitch slib smalltalk social solfege spacechart spell sqltutor src-highlite ssw stalkerfs stow stump superopt swbis sysutils talkfilters tar termcap termutils teseq teximpatient texinfo texmacs thales time tramp trans-coord trueprint unifont units unrtf userv uucp vc-dwim vcdimager vera vmgen wb wdiff websocket4j webstump wget which womb xaos xboard xlogmaster xmlat xnee xorriso zile
|
||||||
|
\end{minipage}
|
||||||
|
\end{frame}
|
BIN
eipsi2024/images/bfh.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
eipsi2024/images/bmbf-english.jpg
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
eipsi2024/images/fraunhofer.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
eipsi2024/images/ngi-ap3.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
eipsi2024/images/taler-logo-2020.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
eipsi2024/images/taler-overview-blue.png
Normal file
After Width: | Height: | Size: 216 KiB |
BIN
eipsi2024/images/wallet-age.png
Normal file
After Width: | Height: | Size: 44 KiB |
24
eipsi2024/loop.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cleanup () {
|
||||||
|
rm -f *.log *.aux *.toc
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
compile () {
|
||||||
|
tectonic $1 || echo
|
||||||
|
}
|
||||||
|
|
||||||
|
trap cleanup HUP TERM INT
|
||||||
|
|
||||||
|
SRC=eipsi2024.tex
|
||||||
|
|
||||||
|
echo -ne "\e[;1H\e[2J"
|
||||||
|
while true; do
|
||||||
|
compile $SRC
|
||||||
|
FILES=$(echo *.tex)
|
||||||
|
while inotifywait $FILES ; do
|
||||||
|
echo -ne "\e[;1H\e[2J"
|
||||||
|
compile $SRC
|
||||||
|
done
|
||||||
|
done
|