eipsi2024 init

This commit is contained in:
Özgür Kesim 2024-05-29 18:35:13 +02:00
parent 31b41a2fe6
commit e3bff6b326
12 changed files with 1312 additions and 0 deletions

18
eipsi2024/README.md Normal file
View 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
View 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

File diff suppressed because it is too large Load Diff

32
eipsi2024/gnu.tex Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

24
eipsi2024/loop.sh Executable file
View 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