commit 02d6199b8cc42f42b847bc7e19010d9dda18887e parent d6dca140c5d9e971893cabcc6427219c4491b0df Author: Matyja Lukas Adam <lukas.matyja@students.bfh.ch> Date: Wed, 17 Apr 2024 23:19:42 +0200 [doc] some changes on thesis Diffstat:
17 files changed, 447 insertions(+), 201 deletions(-)
diff --git a/doc/bachelor_thesis/content/introduction.tex b/doc/bachelor_thesis/content/introduction.tex @@ -1,4 +1,12 @@ +\section{Motivation} +Donations can often be deducted from taxes. To do so, donors must submit donation receipts to the tax authorities. Nowadays, donation receipts can only be checked with disproportionate effort. This is the reason why receipts for small amounts are often not checked at all. Furthermore, donations are sensitive data that should be anonymized as much as possible. Even towards the tax authorities. For example, a donation to an AIDS aid organization can lead to conclusions that could be unpleasant for the donor.\\ + +\section{Goals} +The project description is as follows: +The goal of this project is to add anonymous donation receipts to Taler. Someone donating to a +charitable organization may wish to do so anonymously, but still want to deduce that amount of +their tax. This can be done by reusing cryptography present in Taler. +A great part of the project will be specifying the details, as well as implementing the Donau +(Donation authority). Furthermore, the Taler merchant part and the wallet will have to be +developed/adapted. Optionally, a small Android donation verification app will also be provided. -The Donau is a Taler extension which should make it possible to make donations anonymously, but the amount of the donation should be able to be proven to the tax authorities. Similar to the Taler exchange, the Donau has the Donation Authority (or Donau for short). The Donau blindly signs the charity's donation receipts request. For submission to the tax authorities, the donor must submit the donation receipts to the Donau, whereupon the donor receives the donation statement (signature), which is made available to the tax authorities. -\\ -This concept, which has not yet been finalized, is discussed in more detail in the following pages. The API definition, written by us, can be found under this link: \url{https://docs.taler.net/core/api-donau.html}. diff --git a/doc/bachelor_thesis/content/main.tex b/doc/bachelor_thesis/content/main.tex @@ -28,9 +28,11 @@ % \input{definitions.tex} \section{Overview} -%\includegraphics[width=\textwidth]{overview} +\subsection{Donation: spend and get donation receipt} +\includegraphics[width=\textwidth]{02-donate} -%\input{diagrams.tex} +\subsection{Get donation statement for taxes after tax period} +\includegraphics[width=\textwidth]{03-donation-statement} \newpage \section{Protocol Detail} diff --git a/doc/bachelor_thesis/diagrams/00-overview.drawio b/doc/bachelor_thesis/diagrams/00-overview.drawio @@ -0,0 +1,113 @@ +<mxfile host="Electron" modified="2023-10-09T10:20:15.216Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.0.2 Chrome/114.0.5735.289 Electron/25.8.4 Safari/537.36" etag="CmJ2KfCnykEhxYLA5XA6" version="22.0.2" type="device"> + <diagram name="Page-1" id="14ZIEaCrJvZK9EeKxkln"> + <mxGraphModel dx="794" dy="1238" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="PeqiyIPKsWgejE-jhFCT-1" value="donor" style="ellipse;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1"> + <mxGeometry x="110" y="160" width="120" height="80" as="geometry" /> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-2" value="charity" style="ellipse;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1"> + <mxGeometry x="610" y="160" width="120" height="80" as="geometry" /> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-3" value="DONAU" style="ellipse;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1"> + <mxGeometry x="365" y="295" width="120" height="80" as="geometry" /> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-4" value="validator<br style="font-size: 16px;">(tax office)" style="ellipse;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1"> + <mxGeometry x="365" y="412" width="120" height="80" as="geometry" /> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-7" value="" style="endArrow=classic;html=1;rounded=0;sourcePerimeterSpacing=10;targetPerimeterSpacing=10;startSize=0;" parent="1" edge="1" target="PeqiyIPKsWgejE-jhFCT-3" source="PeqiyIPKsWgejE-jhFCT-1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="240" y="220" as="sourcePoint" /> + <mxPoint x="410" y="260" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-2" value="<font style="font-size: 12px;"><b>2.1</b> donation receipts,<br>year<br></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=30;" vertex="1" connectable="0" parent="PeqiyIPKsWgejE-jhFCT-7"> + <mxGeometry x="0.3668" relative="1" as="geometry"> + <mxPoint x="-5" y="-22" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-13" value="" style="endArrow=classic;html=1;rounded=0;sourcePerimeterSpacing=10;targetPerimeterSpacing=10;" parent="1" edge="1" target="PeqiyIPKsWgejE-jhFCT-2" source="PeqiyIPKsWgejE-jhFCT-1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="221" y="179" as="sourcePoint" /> + <mxPoint x="611.0000000000014" y="179" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="KFT5oE16Zw0vZIVpkbdU-6" value="<font style="font-size: 12px;"><b style="border-color: var(--border-color); background-color: rgb(251, 251, 251);">1.1</b>&nbsp;donate: pay (with Taler), BDIDs</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PeqiyIPKsWgejE-jhFCT-13" vertex="1" connectable="0"> + <mxGeometry x="0.3657" y="4" relative="1" as="geometry"> + <mxPoint x="-49" y="-8" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-16" value="" style="endArrow=classic;html=1;rounded=0;sourcePerimeterSpacing=10;targetPerimeterSpacing=10;exitX=-0.003;exitY=0.631;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.963;entryY=0.652;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1" target="PeqiyIPKsWgejE-jhFCT-1" source="PeqiyIPKsWgejE-jhFCT-2"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="600.0000000000014" y="189" as="sourcePoint" /> + <mxPoint x="240.0000000000001" y="189" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="KFT5oE16Zw0vZIVpkbdU-5" value="<font style="font-size: 12px;"><b style="border-color: var(--border-color); background-color: rgb(251, 251, 251);">1.3</b>&nbsp;blind signatures</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PeqiyIPKsWgejE-jhFCT-16" vertex="1" connectable="0"> + <mxGeometry x="-0.1886" y="3" relative="1" as="geometry"> + <mxPoint x="-24" y="9" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-19" value="" style="endArrow=open;html=1;rounded=0;dashed=1;dashPattern=1 4;strokeColor=default;endFill=0;edgeStyle=orthogonalEdgeStyle;exitX=0.025;exitY=0.421;exitDx=0;exitDy=0;entryX=0.282;entryY=1.027;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" parent="1" edge="1" target="PeqiyIPKsWgejE-jhFCT-1" source="PeqiyIPKsWgejE-jhFCT-4"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="365" y="447.2" as="sourcePoint" /> + <mxPoint x="146" y="250" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-10" value="<font style="font-size: 12px;">final tax assessment, <br>out of scope of Taler/Donau</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=0;" vertex="1" connectable="0" parent="PeqiyIPKsWgejE-jhFCT-19"> + <mxGeometry x="-0.6785" relative="1" as="geometry"> + <mxPoint x="-44" y="20" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="PeqiyIPKsWgejE-jhFCT-28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.983;exitY=0.34;exitDx=0;exitDy=0;targetPerimeterSpacing=200;sourcePerimeterSpacing=20;endSize=6;exitPerimeter=0;entryX=0.213;entryY=0.975;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" edge="1" target="PeqiyIPKsWgejE-jhFCT-2" source="PeqiyIPKsWgejE-jhFCT-3"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="498" y="307" as="sourcePoint" /> + <mxPoint x="645" y="231" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="KFT5oE16Zw0vZIVpkbdU-4" value="<font style="font-size: 12px;"><b style="">1.3</b>&nbsp;blind signatures</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=331;fontSize=12;" parent="PeqiyIPKsWgejE-jhFCT-28" vertex="1" connectable="0"> + <mxGeometry x="-0.4576" y="7" relative="1" as="geometry"> + <mxPoint x="45" y="-4" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-14" value="" style="endArrow=classic;html=1;rounded=0;sourcePerimeterSpacing=0;targetPerimeterSpacing=10;startSize=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=0.988;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="PeqiyIPKsWgejE-jhFCT-3" target="PeqiyIPKsWgejE-jhFCT-1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="360" y="330" as="sourcePoint" /> + <mxPoint x="234" y="242" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-15" value="<font style="font-size: 12px;"><b>2.2</b>&nbsp;donation statement,<br>total<br></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=30;" vertex="1" connectable="0" parent="-sgfXUvIWXVv4-Q9ZXnx-14"> + <mxGeometry x="0.3668" relative="1" as="geometry"> + <mxPoint x="32" y="40" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-16" value="" style="endArrow=classic;html=1;rounded=0;targetPerimeterSpacing=20;sourcePerimeterSpacing=20;endSize=6;" edge="1" parent="1" source="PeqiyIPKsWgejE-jhFCT-2" target="PeqiyIPKsWgejE-jhFCT-3"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="605.5255797046889" y="276.52062969973167" as="sourcePoint" /> + <mxPoint x="489.4705450312747" y="340.4754139623585" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-17" value="<font style="font-size: 12px;"><b style="">1.2</b>&nbsp;signed BDID array</font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=331;fontSize=12;" vertex="1" connectable="0" parent="-sgfXUvIWXVv4-Q9ZXnx-16"> + <mxGeometry x="-0.4576" y="7" relative="1" as="geometry"> + <mxPoint x="-37" y="-2" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-27" value="" style="endArrow=classic;html=1;rounded=0;sourcePerimeterSpacing=10;targetPerimeterSpacing=10;startSize=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" source="PeqiyIPKsWgejE-jhFCT-1" target="PeqiyIPKsWgejE-jhFCT-4"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="236" y="240" as="sourcePoint" /> + <mxPoint x="379" y="315" as="targetPoint" /> + <Array as="points"> + <mxPoint x="170" y="430" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="-sgfXUvIWXVv4-Q9ZXnx-28" value="<font style="font-size: 12px;"><b>3 </b>donation receipts, year<br></font>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=0;" vertex="1" connectable="0" parent="-sgfXUvIWXVv4-Q9ZXnx-27"> + <mxGeometry x="0.3668" relative="1" as="geometry"> + <mxPoint x="24" y="-16" as="offset" /> + </mxGeometry> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/doc/bachelor_thesis/diagrams/00-overview.png b/doc/bachelor_thesis/diagrams/00-overview.png Binary files differ. diff --git a/doc/bachelor_thesis/diagrams/01-setup-keys.plantuml b/doc/bachelor_thesis/diagrams/01-setup-keys.plantuml @@ -0,0 +1,25 @@ +@startuml +left to right direction + +' scale elements so that latex becomes proportionally smaller +skinparam CardFontSize 20 +skinparam ArrowThickness 2 + +note as leg +<latex>$\overline{b} = blinded ...$</latex> +<latex>$\mu = \langle \overline{b}, H(K^{pub}_x) \rangle$</latex> +<latex>$\overline{\beta} = \text{blind signature}$</latex> +end note + +card Donor as donor +card Charity as charity +card Donau as donau + +donor --> charity : <latex>$\text{donation money} + \vec{\mu}$</latex> +charity --> donau : <latex>$\vec{\mu}_s$</latex> + +donau --> charity : <latex>$\overline{\beta}_1,..., \overline{\beta}_n$</latex> +charity --> donor : <latex>$\overline{\beta}_1,..., \overline{\beta}_n$</latex> + + +@enduml diff --git a/doc/bachelor_thesis/diagrams/02-donate-light.plantuml b/doc/bachelor_thesis/diagrams/02-donate-light.plantuml @@ -0,0 +1,24 @@ +@startuml +'left to right direction + +' scale elements so that latex becomes proportionally smaller +skinparam CardFontSize 25 +skinparam ArrowThickness 2 +' rectangular shaped arrow lines +skinparam linetype ortho + +card Donor as donor +card Charity as charity +card Donau as donau + +donor "<latex>$\text{1. donation money,}$\\$\text{\bigl[ \bigr] \langle}\text{blinded(donor id + nonce),} K_x^{pub} \rangle$</latex>" -> charity +charity "<latex>$\text{ 2.}$\\$\text{ \bigl[ \bigr] \langle}\text{blinded(donor id + nonce),} K_x^{pub} \rangle$\\$\text{ charity signature}$</latex>" --> donau + +donau --> charity : <latex>$\text{3. \bigl[ \bigr] blind signatures^*}$</latex> +charity --> donor : <latex>$\text{4. \bigl[ \bigr] blind signatures^*}$</latex> + +note as D #white +<latex>$\text{* array of blind signatures,}$\\$\text{one per blinded(donor id+nonce)}$</latex> +end note + +@enduml diff --git a/doc/bachelor_thesis/diagrams/02-donate-light.png b/doc/bachelor_thesis/diagrams/02-donate-light.png Binary files differ. diff --git a/doc/bachelor_thesis/diagrams/02-donate.plantuml b/doc/bachelor_thesis/diagrams/02-donate.plantuml @@ -0,0 +1,26 @@ +@startuml +'left to right direction + +' scale elements so that latex becomes proportionally smaller +skinparam CardFontSize 25 +skinparam ArrowThickness 2 +' rectangular shaped arrow lines +skinparam linetype ortho + +card Donor as donor +card Charity as charity +card Donau as donau + +donor "<latex>$\text{ 1. }\vec\mu,$\\$\text{ donation money}$</latex>" -> charity +charity "<latex>$\text{2. }\sigma_c\text{ }$$</latex>" -> donau + +donau --> charity : <latex>$\text{3. }\overline\beta_1, ..., \overline\beta_n$</latex> +charity --> donor : <latex>$\text{4. }\overline\beta_1, ..., \overline\beta_n$</latex> + +note as leg #white +<latex>$\vec{u} = \text{blinded unique donor identifiers}$</latex> +<latex>$\mu = \langle \overline{u}, H(K^{pub}_x) \rangle$</latex> +<latex>$\sigma_c = \text{sign(\vec{\mu}, C^{priv})}$</latex> +<latex>$\overline{\beta} = \text{blind signature}$</latex> +end note +@enduml diff --git a/doc/bachelor_thesis/diagrams/02-donate.png b/doc/bachelor_thesis/diagrams/02-donate.png Binary files differ. diff --git a/doc/bachelor_thesis/diagrams/03-donation-statement-light.plantuml b/doc/bachelor_thesis/diagrams/03-donation-statement-light.plantuml @@ -0,0 +1,22 @@ +@startuml +'left to right direction + +' scale elements so that latex becomes proportionally smaller +skinparam CardFontSize 25 +skinparam ArrowThickness 2 +' rectangular shaped arrow lines +skinparam linetype ortho + +card "Validator(Tax office)" as validator +card Donor as donor +card Donau as donau + +donor "<latex>$\text{ 1. donation receipts, year}$</latex>" -> donau +donau --> donor : <latex>$\text{2. signed donation statement,}$\\$\text{total for year}$</latex> +donor -> validator : <latex>$\text{3. donation statement, year}$</latex> + +'note as D +'<latex>$\text{* array of blind signatures, one per blinded(donor id+nonce)}$</latex> +'end note + +@enduml diff --git a/doc/bachelor_thesis/diagrams/03-donation-statement-light.png b/doc/bachelor_thesis/diagrams/03-donation-statement-light.png Binary files differ. diff --git a/doc/bachelor_thesis/diagrams/03-donation-statement.plantuml b/doc/bachelor_thesis/diagrams/03-donation-statement.plantuml @@ -0,0 +1,26 @@ +@startuml +'left to right direction + +' scale elements so that latex becomes proportionally smaller +skinparam CardFontSize 25 +skinparam ArrowThickness 2 +' rectangular shaped arrow lines +skinparam linetype ortho + +card "Validator(Tax office)" as validator +card Donor as donor +card Donau as donau + +donor "<latex>$\text{ 1. }\vec{r}\text{, year}$</latex>" -> donau +donau --> donor : <latex>$\text{2. }\sigma_s$, \texttt{amount}_{Total}</latex> +donor -> validator : <latex>$\text{3. }QR$</latex> + +note as leg #white +<latex>\vec{r} = \text{donation receipts}</latex> +<latex>$s = \text{random salt}$</latex> +<latex>$i := H(\texttt{taxid}, s)$</latex> +<latex>\sigma_s = sign(\langle i, \texttt{amount}_{Total}, \texttt{year}) \rangle, D^{priv})</latex> +<latex>\texttt{QR} = \langle \texttt{taxid}, \texttt{salt}, \texttt{year}, \texttt{amount}, \text{$\sigma_s$} \rangle</latex> +end note + +@enduml diff --git a/doc/bachelor_thesis/diagrams/03-donation-statement.png b/doc/bachelor_thesis/diagrams/03-donation-statement.png Binary files differ. diff --git a/doc/bachelor_thesis/donau-thesis.pdf b/doc/bachelor_thesis/donau-thesis.pdf Binary files differ. diff --git a/doc/bachelor_thesis/donau-thesis.tex b/doc/bachelor_thesis/donau-thesis.tex @@ -0,0 +1,196 @@ +%============================ MAIN DOCUMENT ================================ +% define document class +\PassOptionsToPackage{table}{xcolor} +\documentclass[ + a4paper, + BCOR=15mm, % Binding correction + twoside, +% openright, +% headings=openright, + bibliography=totoc, % If enabled add bibliography to TOC + listof=totoc, % If enabled add lists to TOC + monolingual, +% bilingual, + invert-title, +]{bfhthesis} + +\LoadBFHModule{listings,terminal,boxes} +%--------------------------------------------------------------------------- +% Documents paths +%--------------------------------------------------------------------------- +\makeatletter +\def\input@path{{content/}} +%or: \def\input@path{{/path/to/folder/}{/path/to/other/folder/}} +\makeatother +%----------------- Base packages -------------------------------------- +% Include Packages +\usepackage[french,ngerman,main=english]{babel} % https://www.namsu.de/Extra/pakete/Babel.html + +\usepackage{amsmath} % various features to facilitate writing math formulas +\usepackage{amsthm} % enhanced version of latex's newtheorem +\usepackage{amsfonts} % set of miscellaneous TeX fonts that augment the standard CM +\usepackage{amssymb} % mathematical special characters + +\usepackage{siunitx} + +\usepackage{graphicx} % integration of images +\usepackage{float} % floating objects + +\usepackage{caption} % for captions of figures and tables +\usepackage{subcaption} % for subcaptions in subfigures +\usepackage{cite} % use bibtex +\usepackage{wrapfig} + +\usepackage{exscale} % mathematical size corresponds to textsize +\usepackage{multirow} % multirow emables combining rows in tables +\usepackage{multicol} + +\usepackage{longtable} + +\usepackage{parskip} + +%--------------------------------------------------------------------------- +% Graphics paths +%--------------------------------------------------------------------------- +\graphicspath{{pictures/}{figures/}{diagrams/}} +%--------------------------------------------------------------------------- +% Blind text -> for dummy text +%--------------------------------------------------------------------------- +\usepackage{blindtext} +\usepackage{letltxmacro} +\LetLtxMacro{\blindtextblindtext}{\blindtext} + +\RenewDocumentCommand{\blindtext}{O{\value{blindtext}}}{ + \begingroup\color{BFH-Gray}\blindtextblindtext[#1]\endgroup +} +%--------------------------------------------------------------------------- +% Glossary Package +%--------------------------------------------------------------------------- +% the glossaries package uses makeindex +% if you use TeXnicCenter do the following steps: +% - Goto "Ausgabeprofile definieren" (ctrl + F7) +% - Select the profile "LaTeX => PDF" +% - Add in register "Nachbearbeitung" a new "Postprozessoren" point named Glossar +% - Select makeindex.exe in the field "Anwendung" ( ..\MiKTeX x.x\miktex\bin\makeindex.exe ) +% - Add this [ -s "%tm.ist" -t "%tmx.glg" -o "%tm.gls" "%tm.glo" ] in the field "Argumente" +% +% for futher informations go to http://ewus.de/tipp-1029.html +%--------------------------------------------------------------------------- +\usepackage[nonumberlist]{glossaries-extra} +\makeglossaries +\input{content/glossary} +%--------------------------------------------------------------------------- +% Makeindex Package +%--------------------------------------------------------------------------- +\usepackage{makeidx} +\makeindex +%\usepackage{imakeidx} % To produce index +%\makeindex[columns=2,intoc] % Index-Initialisation +%\makeindex[columns=3,columnseprule,columnsep,intoc] +%--------------------------------------------------------------------------- +% Hyperref Package (Create links in a pdf) +%--------------------------------------------------------------------------- +\usepackage[ + ,bookmarks + ,plainpages=false + ,pdfpagelabels + ,pdfusetitle + ,backref = {false} % No index backreference + ,colorlinks = {true} % Color links in a PDF + ,hypertexnames = {true} % no failures "same page(i)" + ,bookmarksopen = {true} % opens the bar on the left side + ,bookmarksopenlevel = {0} % depth of opened bookmarks + ,linkcolor=. + ,filecolor=. + ,urlcolor=. + ,citecolor=. +]{hyperref} +%--------------------------------------------------------------------------- + +%% %% Customize Footer and Headers in Document +%% \KOMAoptions{headsepline,plainheadsepline,footsepline,plainfootsepline}% +%% \setkomafont{headsepline}{\color{BFH-DarkBlue}}% BFH-DarkBlue required bfhcolors +%% \setkomafont{footsepline}{\color{BFH-DarkBlue}}% +%% \lehead*{lehead} % the * character does replace the header on the first chapter page as well +%% \cehead*{cehead} +%% \rehead*{rehead} +%% \lohead*{lohead} +%% \cohead*{cohead} +%% \rohead*{rohead} + +%% \lefoot*{lefoot} +%% \cefoot*{cefoot} +%% \refoot*{refoot} +%% \lofoot*{lofoot} +%% \cofoot*{cofoot} +%% \rofoot*{rofoot} +%--------------------------------------------------------------------------- +\begin{document} + +%------------ START FRONT PART ------------ +\frontmatter + +\title{DONAU} +\subtitle{Tax-deductable Donations for GNU Taler} +\author{Johannes Casaburi \and Lukas Matyja} +\institution{Bern University of Applied Sciences} +\department{Technik und Informatik} +\institute{Mikro- und Medizintechnik} +\version{1.0} +\titlegraphic*{\includegraphics{somePicture}} +\advisor{Prof. Dr. Christian Grothoff} +\coadvisor{Prof. Dr. Emmanuel Benoist} +\degreeprogram{Bachelor of Science in Computer Science} +\setupSignature{ + A. Muster={\includegraphics[width=.5\linewidth]{sig_muster}}, + C. Example={\includegraphics[width=.5\linewidth]{sig_example}} +} + + +%---------------- BFH tile page ----------------------------------------- +\maketitle +%------------ ABSTRACT ---------------- +%\addchap{Abstract} +%\input{content/abstract} + +%------------ TABLEOFCONTENTS ---------------- +\tableofcontents + +%------------ START MAIN PART ------------ +\mainmatter + +\chapter{Introduction} +\input{content/introduction} + +\chapter{Protocol} +\input{content/definitions.tex} +\input{content/main.tex} + +%------------ Authorship declaration translated to main language ------------ +\declarationOfAuthorship + +%----------- Bibliography ---------------- +\clearpage +\bibliographystyle{unsrt} +\bibliography{project} % the project.bib file gets loaded + +%------------ List of Figures ------------ +\listoffigures + +%------------ List of Tables ------------- +\listoftables + +%------------ List of Listings ----------- +\lstlistoflistings + +%------------ Glossary ------------------- +\printglossary + +%------------ Index ---------------------- +\clearpage +\printindex +%------------ Appendix ---------------- +\appendix +\chapter{First Appendix Chapter} + +\end{document} diff --git a/doc/bachelor_thesis/donau_report_project2.pdf b/doc/bachelor_thesis/donau_report_project2.pdf Binary files differ. diff --git a/doc/bachelor_thesis/donau_report_project2.tex b/doc/bachelor_thesis/donau_report_project2.tex @@ -1,196 +0,0 @@ -%============================ MAIN DOCUMENT ================================ -% define document class -\PassOptionsToPackage{table}{xcolor} -\documentclass[ - a4paper, - BCOR=15mm, % Binding correction - twoside, -% openright, -% headings=openright, - bibliography=totoc, % If enabled add bibliography to TOC - listof=totoc, % If enabled add lists to TOC - monolingual, -% bilingual, - invert-title, -]{bfhthesis} - -\LoadBFHModule{listings,terminal,boxes} -%--------------------------------------------------------------------------- -% Documents paths -%--------------------------------------------------------------------------- -\makeatletter -\def\input@path{{content/}} -%or: \def\input@path{{/path/to/folder/}{/path/to/other/folder/}} -\makeatother -%----------------- Base packages -------------------------------------- -% Include Packages -\usepackage[french,ngerman,main=english]{babel} % https://www.namsu.de/Extra/pakete/Babel.html - -\usepackage{amsmath} % various features to facilitate writing math formulas -\usepackage{amsthm} % enhanced version of latex's newtheorem -\usepackage{amsfonts} % set of miscellaneous TeX fonts that augment the standard CM -\usepackage{amssymb} % mathematical special characters - -\usepackage{siunitx} - -\usepackage{graphicx} % integration of images -\usepackage{float} % floating objects - -\usepackage{caption} % for captions of figures and tables -\usepackage{subcaption} % for subcaptions in subfigures -\usepackage{cite} % use bibtex -\usepackage{wrapfig} - -\usepackage{exscale} % mathematical size corresponds to textsize -\usepackage{multirow} % multirow emables combining rows in tables -\usepackage{multicol} - -\usepackage{longtable} - -\usepackage{parskip} - -%--------------------------------------------------------------------------- -% Graphics paths -%--------------------------------------------------------------------------- -\graphicspath{{pictures/}{figures/}} -%--------------------------------------------------------------------------- -% Blind text -> for dummy text -%--------------------------------------------------------------------------- -\usepackage{blindtext} -\usepackage{letltxmacro} -\LetLtxMacro{\blindtextblindtext}{\blindtext} - -\RenewDocumentCommand{\blindtext}{O{\value{blindtext}}}{ - \begingroup\color{BFH-Gray}\blindtextblindtext[#1]\endgroup -} -%--------------------------------------------------------------------------- -% Glossary Package -%--------------------------------------------------------------------------- -% the glossaries package uses makeindex -% if you use TeXnicCenter do the following steps: -% - Goto "Ausgabeprofile definieren" (ctrl + F7) -% - Select the profile "LaTeX => PDF" -% - Add in register "Nachbearbeitung" a new "Postprozessoren" point named Glossar -% - Select makeindex.exe in the field "Anwendung" ( ..\MiKTeX x.x\miktex\bin\makeindex.exe ) -% - Add this [ -s "%tm.ist" -t "%tmx.glg" -o "%tm.gls" "%tm.glo" ] in the field "Argumente" -% -% for futher informations go to http://ewus.de/tipp-1029.html -%--------------------------------------------------------------------------- -\usepackage[nonumberlist]{glossaries-extra} -\makeglossaries -\input{content/glossary} -%--------------------------------------------------------------------------- -% Makeindex Package -%--------------------------------------------------------------------------- -\usepackage{makeidx} -\makeindex -%\usepackage{imakeidx} % To produce index -%\makeindex[columns=2,intoc] % Index-Initialisation -%\makeindex[columns=3,columnseprule,columnsep,intoc] -%--------------------------------------------------------------------------- -% Hyperref Package (Create links in a pdf) -%--------------------------------------------------------------------------- -\usepackage[ - ,bookmarks - ,plainpages=false - ,pdfpagelabels - ,pdfusetitle - ,backref = {false} % No index backreference - ,colorlinks = {true} % Color links in a PDF - ,hypertexnames = {true} % no failures "same page(i)" - ,bookmarksopen = {true} % opens the bar on the left side - ,bookmarksopenlevel = {0} % depth of opened bookmarks - ,linkcolor=. - ,filecolor=. - ,urlcolor=. - ,citecolor=. -]{hyperref} -%--------------------------------------------------------------------------- - -%% %% Customize Footer and Headers in Document -%% \KOMAoptions{headsepline,plainheadsepline,footsepline,plainfootsepline}% -%% \setkomafont{headsepline}{\color{BFH-DarkBlue}}% BFH-DarkBlue required bfhcolors -%% \setkomafont{footsepline}{\color{BFH-DarkBlue}}% -%% \lehead*{lehead} % the * character does replace the header on the first chapter page as well -%% \cehead*{cehead} -%% \rehead*{rehead} -%% \lohead*{lohead} -%% \cohead*{cohead} -%% \rohead*{rohead} - -%% \lefoot*{lefoot} -%% \cefoot*{cefoot} -%% \refoot*{refoot} -%% \lofoot*{lofoot} -%% \cofoot*{cofoot} -%% \rofoot*{rofoot} -%--------------------------------------------------------------------------- -\begin{document} - -%------------ START FRONT PART ------------ -\frontmatter - -\title{DONAU} -\subtitle{A Donation Authority for Taler} -\author{Johannes Casaburi \and Lukas Matyja} -\institution{Bern University of Applied Sciences} -\department{Technik und Informatik} -\institute{Mikro- und Medizintechnik} -\version{1.0} -\titlegraphic*{\includegraphics{somePicture}} -\advisor{Prof. Dr. Christian Grothoff} -\coadvisor{Prof. Dr. Emmanuel Benoist} -\degreeprogram{Bachelor of Science in Computer Science} -\setupSignature{ - A. Muster={\includegraphics[width=.5\linewidth]{sig_muster}}, - C. Example={\includegraphics[width=.5\linewidth]{sig_example}} -} - - -%---------------- BFH tile page ----------------------------------------- -\maketitle -%------------ ABSTRACT ---------------- -%\addchap{Abstract} -%\input{content/abstract} - -%------------ TABLEOFCONTENTS ---------------- -\tableofcontents - -%------------ START MAIN PART ------------ -\mainmatter - -\chapter{Introduction} -\input{content/introduction} - -\chapter{Protocol} -\input{content/definitions.tex} -\input{content/main.tex} - -%------------ Authorship declaration translated to main language ------------ -\declarationOfAuthorship - -%----------- Bibliography ---------------- -\clearpage -\bibliographystyle{unsrt} -\bibliography{project} % the project.bib file gets loaded - -%------------ List of Figures ------------ -\listoffigures - -%------------ List of Tables ------------- -\listoftables - -%------------ List of Listings ----------- -\lstlistoflistings - -%------------ Glossary ------------------- -\printglossary - -%------------ Index ---------------------- -\clearpage -\printindex -%------------ Appendix ---------------- -\appendix -\chapter{First Appendix Chapter} - -\end{document}