aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/mceliece
diff options
context:
space:
mode:
authorAyexor <9105454+Ayexor@users.noreply.github.com>2021-08-27 18:09:54 +0200
committerGitHub <noreply@github.com>2021-08-27 18:09:54 +0200
commit2b2c5daa139aec08d091b658ad6191d6e57024ef (patch)
tree2c8f3fc7017394746d8e4f92a358e2a11015e072 /buch/papers/mceliece
parentAnpassungen nach Mail (diff)
parentnew image: tetraeder (diff)
downloadSeminarMatrizen-2b2c5daa139aec08d091b658ad6191d6e57024ef.tar.gz
SeminarMatrizen-2b2c5daa139aec08d091b658ad6191d6e57024ef.zip
Merge branch 'master' into master
Diffstat (limited to 'buch/papers/mceliece')
-rw-r--r--buch/papers/mceliece/Makefile.inc8
-rw-r--r--buch/papers/mceliece/aufbau.tex161
-rw-r--r--buch/papers/mceliece/einleitung.tex16
-rw-r--r--buch/papers/mceliece/fazit.tex57
-rw-r--r--buch/papers/mceliece/funktionsweise.tex83
-rw-r--r--buch/papers/mceliece/main.tex27
-rw-r--r--buch/papers/mceliece/references.bib59
-rw-r--r--buch/papers/mceliece/teil0.tex22
-rw-r--r--buch/papers/mceliece/teil1.tex55
-rw-r--r--buch/papers/mceliece/teil2.tex40
-rw-r--r--buch/papers/mceliece/teil3.tex40
11 files changed, 361 insertions, 207 deletions
diff --git a/buch/papers/mceliece/Makefile.inc b/buch/papers/mceliece/Makefile.inc
index ed1affa..53ecf7a 100644
--- a/buch/papers/mceliece/Makefile.inc
+++ b/buch/papers/mceliece/Makefile.inc
@@ -7,8 +7,8 @@ dependencies-mceliece = \
papers/mceliece/packages.tex \
papers/mceliece/main.tex \
papers/mceliece/references.bib \
- papers/mceliece/teil0.tex \
- papers/mceliece/teil1.tex \
- papers/mceliece/teil2.tex \
- papers/mceliece/teil3.tex
+ papers/mceliece/einleitung.tex \
+ papers/mceliece/aufbau.tex \
+ papers/mceliece/funktionsweise.tex \
+ papers/mceliece/fazit.tex
diff --git a/buch/papers/mceliece/aufbau.tex b/buch/papers/mceliece/aufbau.tex
new file mode 100644
index 0000000..200cb7b
--- /dev/null
+++ b/buch/papers/mceliece/aufbau.tex
@@ -0,0 +1,161 @@
+%
+% einleitung.tex -- Beispiel-File für die Einleitung
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Aufbau\label{mceliece:section:Aufbau}}
+\rhead{Aufbau}
+Das McEliece-Kryptosystem besteht aus folgenden Elementen:
+
+\subsection{Datenvektor $d_k$
+\label{mceliece:subsection:d_k}}
+In diesem Vektor der Länge $k$ sind die zu verschlüsselnden Daten enthalten.
+
+Beispiel:
+\[d_4=
+\begin{pmatrix}
+ 1\\
+ 1\\
+ 1\\
+ 0
+\end{pmatrix}
+\]
+
+\subsection{Binäre Zufallsmatrix $S_k$
+\label{mceliece:subsection:s_k}}
+$S_k$ ist eine Binäre Zufallsmatrix der Grösse $k \times k$.
+Auch muss diese Matrix in $\mathbb{F}_2$ invertierbar sein.
+Für kleine Matrizen kann durchaus jedes Matrizenelement zufällig generiert werden,
+wobei danach mithilfe des Gauss-Algorithmus deren Inverse bestimmt werden kann.
+Da eine solche Matrix möglicherweise singulär ist, muss in diesem Fall eine neue Zufallsmatrix erzeugt werden.
+Für grössere Matrizen existieren bessere Methoden, auf welche hier nicht weiter eingegangen wird \cite{mceliece:GenerationRandMatrix}.
+
+Beispiel:
+\[S_4=
+ \begin{pmatrix}
+ 0 & 0 & 1 & 1\\
+ 0 & 0 & 0 & 1\\
+ 0 & 1 & 0 & 1\\
+ 1 & 0 & 0 & 1
+ \end{pmatrix}
+\]
+
+\[
+ S_4^{-1}=
+ \begin{pmatrix}
+ 0 & 1 & 0 & 1\\
+ 0 & 1 & 1 & 0\\
+ 1 & 1 & 0 & 0\\
+ 0 & 1 & 0 & 0\\
+ \end{pmatrix}
+\]
+
+\subsection{Linear-Code-Generatormatrix $G_{n,k}$
+\label{mceliece:subsection:g_nk}}
+Das wichtigste Element des McEliece-Systems ist ein fehlerkorrigierender Code,
+der in der Lage ist, $t$ Fehler zu korrigieren.
+Im Zusammenhang mit McEliece werden dabei meist binäre Goppa-Codes \cite{mceliece:goppa} verwendet,
+es können prinzipiell auch andere Codes wie beispielsweise Reed-Solomon verwendet werden,
+jedoch besitzen einige (unter anderem auch Reed-Solomon) Codes Schwachstellen \cite{mceliece:lorenz}.
+Das Codieren mit diesem linearen Code kann mithilfe dessen Generatormatrix $G_{n,k}$ erfolgen.
+Da es sich um einen fehlerkorrigierenden Code handelt,
+wird das Codewort länger als das Datenwort,
+es wird also Redundanz hinzugefügt,
+um die Fehlerkorrektur möglich zu machen.
+
+Beispiel
+\[
+ G_{7,4}=
+ \begin{pmatrix}
+ 1 & 0 & 0 & 0\\
+ 1 & 1 & 0 & 0\\
+ 0 & 1 & 1 & 0\\
+ 1 & 0 & 1 & 1\\
+ 0 & 1 & 0 & 1\\
+ 0 & 0 & 1 & 0\\
+ 0 & 0 & 0 & 1
+ \end{pmatrix}
+\]
+
+\subsection{Permutations-Matrix $P_n$
+\label{mceliece:subsection:p_n}}
+Mit der zufällig generierten Permutationsmatrix $P_n$ wird die Reihenfolge der Bits geändert.
+Mit der Inversen $P_n^{-1}$ kann die Bitvertauschung rückgängig gemacht werden.
+
+Beispiel
+\[
+ P_7=
+ \begin{pmatrix}
+ 0 & 1 & 0 & 0 & 0 & 0 & 0\\
+ 0 & 0 & 0 & 0 & 0 & 0 & 1\\
+ 0 & 0 & 0 & 0 & 0 & 1 & 0\\
+ 0 & 0 & 1 & 0 & 0 & 0 & 0\\
+ 0 & 0 & 0 & 1 & 0 & 0 & 0\\
+ 1 & 0 & 0 & 0 & 0 & 0 & 0\\
+ 0 & 0 & 0 & 0 & 1 & 0 & 0
+ \end{pmatrix}
+\]
+,
+\[
+ P_7^{-1}=P_7^t=
+ \begin{pmatrix}
+ 0 & 0 & 0 & 0 & 0 & 1 & 0\\
+ 1 & 0 & 0 & 0 & 0 & 0 & 0\\
+ 0 & 0 & 0 & 1 & 0 & 0 & 0\\
+ 0 & 0 & 0 & 0 & 1 & 0 & 0\\
+ 0 & 0 & 0 & 0 & 0 & 0 & 1\\
+ 0 & 0 & 1 & 0 & 0 & 0 & 0\\
+ 0 & 1 & 0 & 0 & 0 & 0 & 0
+ \end{pmatrix}
+\]
+
+\subsection{Public-Key $K_{n,k}$
+\label{mceliece:subsection:k_nk}}
+Der öffentliche Schlüssel, welcher zum Verschlüsseln verwendet wird,
+berechnet sich aus den bereits bekannten Matrizen wiefolgt:
+\[
+ K_{n,k}=P_{n}\cdot G_{n,k}\cdot S_{k}\,.
+\]
+
+Beispiel
+\[
+ K_{7,4}=
+ \begin{pmatrix}
+ 0 & 0 & 1 & 0\\
+ 1 & 0 & 0 & 1\\
+ 0 & 0 & 1 & 1\\
+ 1 & 1 & 1 & 1\\
+ 0 & 1 & 0 & 1\\
+ 0 & 1 & 0 & 0\\
+ 1 & 0 & 0 & 0
+ \end{pmatrix}
+\]
+
+\subsection{Fehler-Vektor $e_n$
+\label{mceliece:subsection:e_n}}
+Dieser Vektor der Länge $n$ besteht aus $t$ Einsen, welche zufällig innerhalb des Vektors angeordnet sind,
+alle anderen Einträge sind Null.
+Dieser Fehlervektor besitzt also gleich viele Einer,
+wie die Anzahl Fehler, die der Linearcode der Generatormatrix $G_{n,k}$ zu korrigieren vermag.
+
+Beispiel
+\[
+ E_7=
+ \begin{pmatrix}
+ 0\\
+ 0\\
+ 1\\
+ 0\\
+ 0\\
+ 0\\
+ 0
+ \end{pmatrix}
+\]
+
+\subsection{Daten-Vektor $d_k$
+\label{mceliece:subsection:d_k}}
+In diesem Vektor der länge $k$ ist die Nachricht (oder einen Teil davon) enthalten.
+
+\subsection{Code-Vektor $c_n$
+\label{mceliece:subsection:c_n}}
+In diesem Vektor der länge $n$ ist die verschlüsselte Nachricht (oder einen Teil davon) enthalten. \ No newline at end of file
diff --git a/buch/papers/mceliece/einleitung.tex b/buch/papers/mceliece/einleitung.tex
new file mode 100644
index 0000000..cebb8ed
--- /dev/null
+++ b/buch/papers/mceliece/einleitung.tex
@@ -0,0 +1,16 @@
+%
+% teil1.tex -- Beispiel-File für das Paper
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Einleitung
+\label{mceliece:section:einleitung}}
+\rhead{Einleitung}
+Beim McEliece-Kryptosystem handelt es sich um ein asymetrisches Verschlüsselungsverfahren, welches erlaubt,
+Daten verschlüsselt über ein Netzwerk zu übermitteln, ohne dass vorab ein gemeinsamer,
+geheimer Schlüssel unter den Teilnehmern ausgetauscht werden müsste.
+Eine andere, bereits erläuterte Variante einer asymetrischen Verschlüsselung ist das Diffie-Hellman-Verfahren \ref{buch:subsection:diffie-hellman}.
+Im Gegensatz zu Diffie-Hellman gilt das McEliece-System als Quantencomputerresistent
+und das Verschlüsseln/Entschlüsseln von Nachrichten wird hauptsächlich mit Matrizenoperationen durchgeführt.
+
+
diff --git a/buch/papers/mceliece/fazit.tex b/buch/papers/mceliece/fazit.tex
new file mode 100644
index 0000000..186708b
--- /dev/null
+++ b/buch/papers/mceliece/fazit.tex
@@ -0,0 +1,57 @@
+%
+% teil3.tex -- Beispiel-File für Teil 3
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Fazit
+\label{mceliece:section:fazit}}
+\rhead{Fazit}
+Ein kurzer Vergleich des McEliece-Systems
+mit dem oft verwendeten RSA-System soll zeigen, wo dessen Vor- und Nachteile liegen.
+
+\subsection{Resourcen}
+Eine Eigenheit des McEliece-Systems ist das hinzufügen von Rauschen (mit Fehlervektor $e_n$).
+Damit diese mit dem Lienarcode-Decoder wieder entfernt werden können,
+wird Redundanz benötigt,
+weshalb dessen Kanalefizienz (Nutzbits/Übertragungsbits) sinkt.
+Die Schlüsselgrösse des McEliece-Systems ist deshalb so riesig, weil es sich um eine zweidimensionale Matrix handelt, währenddem RSA mit nur zwei Skalaren auskommt.
+Das McEliece-System benötigt dafür weniger Rechenaufwand beim Verschlüsseln/Entschlüsseln, da die meisten Operationen mit Matrixmultiplikationen ausgeführt werden können (Aufwand ist in binären Operationen pro Informationsbit)\cite{mceliece:CodeBasedCrypto}.
+Beim Rechenaufwand sei noch erwähnt,
+dass asymetrische Verschlüsselungen meist nur dazu verwendet werden,
+um einen Schlüssel für eine symetrische Verschlüsselung auszutauschen.
+\begin{center}
+\begin{tabular}{c|c|c}
+ &McEliece (n=2048, k=1718, t = 30) &RSA (2048, e = 216 + 1)\\
+ \hline
+ Schlüssegrösse: (Public) &429.5 KByte &0.5 KByte \\
+ Kanaleffizienz: &83.9 \% &100 \% \\
+ Verschlüsselungsaufwand: &1025 &40555 \\
+ Entschlüsselungsaufwand: &2311 &6557176, 5
+\end{tabular}
+\end{center}
+
+\subsection{Sicherheit}
+Grosse unterschiede zwischen den beiden Kryptosystemen gibt es jedoch bei der Sicherheit.
+Der Kern der RSA-Verschlüsselung beruht auf dem Problem, eine grosse Zahl in ihre beiden Primfaktoren zu zerlegen.
+Bei genügend grossen Zahlen ist diese Zerlegung auch mit den heute besten verfügbaren Computern kaum innerhalb vernünftiger Zeit zu lösen.
+Weiter ist aber bekannt,
+dass mithilfe des sogenannten Shor-Algorithmus \cite{mceliece:shor} und einem Quantencomputer auch diese Zerlegung zügig realisiert werden könnte,
+was zur Folge hätte, dass die Verschlüsselung von RSA unwirksam würde.
+Zurzeit sind die Quantencomputer jedoch noch bei weitem nicht in der Lage, grosse Zahlen mithilfe dieses Algorithmuses zu zerlegen.
+Das McEliece-System hingegen beruht auf dem Problem des ``Syndrome decoding'' (Korrektur von Bitfehlern eines Codewortes, das mit einem entsprechenden Linearcode codiert wurde).
+Für das ``Syndrome decoding'' sind bis heute keine Methoden bekannt,
+welche nennenswerte Vorteile gegenüber dem Durchprobieren (brute-force) bringen,
+auch nicht mithilfe eines Quantencomputers.
+\begin{center}
+\begin{tabular}{c|c|c}
+ &McEliece &RSA \\
+\hline
+ Grundlage Verschlüsselung &Syndrome decoding &Integer factoring\\
+ Aufwand (gewöhnliche CPU) &exponential &< exponential \\
+ Aufwand (Quantencomputer) &> polynomial &$\mathcal{O}(\log(N)^3)$
+\end{tabular}
+\end{center}
+Die Verbreitung des McEliece-Kryptosystems ist zurzeit äusserst gering.
+Das liegt einerseits an der immensen Grösse des öffentlichen Schlüssels,
+andererseits wird aber auch in naher Zukunft nicht mit einem genügend starken Quantencomputer gerechnet,
+welcher andere asymetrische Verschlüsselungen gefährden würde.
diff --git a/buch/papers/mceliece/funktionsweise.tex b/buch/papers/mceliece/funktionsweise.tex
new file mode 100644
index 0000000..7c69b13
--- /dev/null
+++ b/buch/papers/mceliece/funktionsweise.tex
@@ -0,0 +1,83 @@
+%
+% teil2.tex -- Beispiel-File für teil2
+%
+% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Funktionsweise
+\label{mceliece:section:funktionsweise}}
+\rhead{Funktionsweise}
+Um den Ablauf des Datenaustausches mittels McEliece-Verschlüsselung zu erläutern,
+wird ein Szenario verwendet,
+bei dem Bob an Alice eine verschlüsselte Nachticht über ein öffentliches Netzwerk zukommen lässt.
+
+\subsection{Vorbereitung
+\label{mceliece:section:vorbereitung}}
+Damit der Nachrichtenaustausch stattfinden kann, muss Alice (Empfängerin)
+zuerst ein Schlüsselpaar definieren.
+Dazu erstellt sie die einzelnen Matrizen $S_k$, $G_{n,k}$ und $P_n$.
+Diese drei einzelnen Matrizen bilden den privaten Schlüssel von Alice
+und sollen geheim bleiben.
+Der öffentliche Schlüssel $K_{n,k}$ hingegen berechnet sich
+aus der Multiplikation der privaten Matrizen (Abschnitt \ref{mceliece:subsection:k_nk})
+und wird anschliessend Bob zugestellt.
+
+\subsection{Verschlüsselung
+\label{mceliece:section:verschl}}
+Bob berechnet nun die verschlüsselte Nachricht $c_n$, indem er seine Daten $d_k$
+mit dem öffentlichen Schlüssel $K_{n,k}$ von Alice multipliziert
+und anschliessend durch eine Addition mit einem Fehlervektor $e_n$ einige Bitfehler hinzufügt.
+\[
+ c_n\,=\,K_{n,k}\cdot d_k + e_n\,.
+\]
+Dabei wird für jede Nachricht (oder für jedes Nachrichtenfragment)
+einen neuen, zufälligen Fehlervektor generiert.
+Die verschlüsselte Nachricht $c_n$ wird anschliessend Alice zugestellt.
+
+\subsection{Entschlüsselung
+\label{mceliece:section:entschl}}
+Alice entschlüsselt die erhaltene Nachricht in mehreren einzelnen Schritten.
+Um etwas Transparenz in diese Prozedur zu bringen, wird der öffentliche Schlüssel $K_{n,k}$ mit seinen Ursprungsmatrizen dargestellt.
+\begin{align*}
+ c_n\,&=\,K_{n,k}\cdot d_k + e_n \\
+ &= P_{n}\cdot G_{n,k}\cdot S_{k}\cdot d_k + e_n
+\end{align*}
+Zuerst wird der Effekt der Permutationsmatrix rückgängig gemacht,
+indem das Codewort mit dessen Inversen $P_n^{-1}$ multipliziert wird.
+\begin{align*}
+ c_{n}''\,=\,P_n^{-1}\cdot c_n\,&= P_n^{-1}\cdot P_{n}\cdot G_{n,k}\cdot S_{k}\cdot d_k + P_n^{-1}\cdot e_n \\
+ &= G_{n,k}\cdot S_{k}\cdot d_k + P_n^{-1}\cdot e_n \\
+\end{align*}
+Eine weitere Vereinfachung ist nun möglich,
+weil $P_n^{-1}$ einerseits auch eine gewöhnliche Permutationsmatrix ist
+und andererseits ein zufälliger Fehlervektor $e_n$ multipliziert mit einer Permutationsmatrix
+wiederum einen gleichwertigen, zufälligen Fehlervektor $e_n'$ ergibt.
+\begin{align*}
+ c_{n}''\,&=\,G_{n,k}\cdot S_{k}\cdot d_k + P_n^{-1}\cdot e_n \\
+ &=\,G_{n,k}\cdot S_{k}\cdot d_k + e'_n\quad \quad \quad | \,
+ e'_n\,=\,P_n^{-1}\cdot e_n
+\end{align*}
+Dank des fehlerkorrigierenden Codes, der durch die implizite Multiplikation mittels $G_{n,k}$ auf die Daten angewendet wurde,
+können nun die Bitfehler, verursacht durch den Fehlervektor $e'_n$,
+entfernt werden.
+Da es sich bei diesem Schritt nicht um eine einfache Matrixmultiplikation handelt,
+wird die Operation durch eine Funktion dargestellt.
+Wie dieser Decoder genau aufgebaut ist,
+hängt vom verwendeten Linearcode ab.
+\begin{align*}
+ c_{k}'\,&=\text{Linear-Code-Decoder($c''_n$)}\\
+ &=\text{Linear-Code-Decoder($G_{n,k}\cdot S_{k}\cdot d_k + e'_n$)}\\
+ &=S_{k}\cdot d_k
+\end{align*}
+Zum Schluss wird das inzwischen fast entschlüsselte Codewort $c'_k$ mit der inversen der zufälligen Binärmatrix $S^{-1}$ multipliziert,
+womit der Inhalt der ursprünglichen Nachricht nun wiederhergestellt wurde.
+\begin{align*}
+ c_{k}'\,&=S_{k}\cdot d_k \quad | \cdot S_k^{-1}\\
+ d'_{k}\,=\,S_{k}^{-1} \cdot c'_k&=S_{k}^{-1} \cdot S_{k}\cdot d_k\\
+ &=d_k
+\end{align*}
+
+\subsection{Beispiel}
+
+TODO:
+-alle Beispielmatrizen- und Vektoren hierhin zügeln, numerisches Beispiel kreieren\\
+-erläutern des 7/4-codes (ja/nein)? \ No newline at end of file
diff --git a/buch/papers/mceliece/main.tex b/buch/papers/mceliece/main.tex
index dbbaaac..352a6be 100644
--- a/buch/papers/mceliece/main.tex
+++ b/buch/papers/mceliece/main.tex
@@ -8,29 +8,10 @@
\begin{refsection}
\chapterauthor{Reto Fritsche}
-Ein paar Hinweise für die korrekte Formatierung des Textes
-\begin{itemize}
-\item
-Absätze werden gebildet, indem man eine Leerzeile einfügt.
-Die Verwendung von \verb+\\+ ist nur in Tabellen und Arrays gestattet.
-\item
-Die explizite Platzierung von Bildern ist nicht erlaubt, entsprechende
-Optionen werden gelöscht.
-Verwenden Sie Labels und Verweise, um auf Bilder hinzuweisen.
-\item
-Beginnen Sie jeden Satz auf einer neuen Zeile.
-Damit ermöglichen Sie dem Versionsverwaltungssysteme, Änderungen
-in verschiedenen Sätzen von verschiedenen Autoren ohne Konflikt
-anzuwenden.
-\item
-Bilden Sie auch für Formeln kurze Zeilen, einerseits der besseren
-Übersicht wegen, aber auch um GIT die Arbeit zu erleichtern.
-\end{itemize}
-
-\input{papers/mceliece/teil0.tex}
-\input{papers/mceliece/teil1.tex}
-\input{papers/mceliece/teil2.tex}
-\input{papers/mceliece/teil3.tex}
+\input{papers/mceliece/einleitung.tex}
+\input{papers/mceliece/aufbau.tex}
+\input{papers/mceliece/funktionsweise.tex}
+\input{papers/mceliece/fazit.tex}
\printbibliography[heading=subbibliography]
\end{refsection}
diff --git a/buch/papers/mceliece/references.bib b/buch/papers/mceliece/references.bib
index 47798d3..0388ff4 100644
--- a/buch/papers/mceliece/references.bib
+++ b/buch/papers/mceliece/references.bib
@@ -4,32 +4,45 @@
% (c) 2020 Autor, Hochschule Rapperswil
%
-@online{mceliece:bibtex,
- title = {BibTeX},
- url = {https://de.wikipedia.org/wiki/BibTeX},
- date = {2020-02-06},
- year = {2020},
- month = {2},
- day = {6}
+@online{mceliece:GenerationRandMatrix,
+ title = {Efficient Generation of Random Nonsingular Matrices},
+ url = {https://www.researchgate.net/publication/2729950_Efficient_Generation_of_Random_Nonsingular_Matrices},
+ date = {Januar 1993},
+ year = {2021},
+ month = {7},
+ day = {29}
}
-@book{mceliece:numerical-analysis,
- title = {Numerical Analysis},
- author = {David Kincaid and Ward Cheney},
- publisher = {American Mathematical Society},
- year = {2002},
- isbn = {978-8-8218-4788-6},
- inseries = {Pure and applied undegraduate texts},
- volume = {2}
+@online{mceliece:lorenz,
+ title = {Cryptography based on error correcting codes},
+ url = {https://algo.epfl.ch/_media/en/projects/lorenz_thesis.pdf},
+ date = {2007-07-27},
+ year = {2021},
+ month = {7},
+ day = {29}
}
-@article{mceliece:mendezmueller,
- author = { Tabea Méndez and Andreas Müller },
- title = { Noncommutative harmonic analysis and image registration },
- journal = { Appl. Comput. Harmon. Anal.},
- year = 2019,
- volume = 47,
- pages = {607--627},
- url = {https://doi.org/10.1016/j.acha.2017.11.004}
+@online{mceliece:shor,
+ title = {Shor's algorithm},
+ url = {https://en.wikipedia.org/wiki/Shor%27s_algorithm},
+ year = {2021},
+ month = {8},
+ day = {9}
}
+@online{mceliece:CodeBasedCrypto,
+ title = {Code based cryptography and steganography},
+ url = {https://www.researchgate.net/publication/268009418_Code_Based_Cryptography_and_Steganography},
+ date = {2013-05-30},
+ year = {2021},
+ month = {8},
+ day = {9}
+}
+
+@online{mceliece:goppa,
+ title = {Binary Goppa code},
+ url = {https://en.m.wikipedia.org/wiki/Binary_Goppa_code},
+ year = {2021},
+ month = {8},
+ day = {10}
+} \ No newline at end of file
diff --git a/buch/papers/mceliece/teil0.tex b/buch/papers/mceliece/teil0.tex
deleted file mode 100644
index b98f8be..0000000
--- a/buch/papers/mceliece/teil0.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-%
-% einleitung.tex -- Beispiel-File für die Einleitung
-%
-% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
-%
-\section{Teil 0\label{mceliece:section:teil0}}
-\rhead{Teil 0}
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
-nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
-erat, sed diam voluptua \cite{mceliece:bibtex}.
-At vero eos et accusam et justo duo dolores et ea rebum.
-Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
-dolor sit amet.
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
-nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
-erat, sed diam voluptua.
-At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
-kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit
-amet.
-
-
diff --git a/buch/papers/mceliece/teil1.tex b/buch/papers/mceliece/teil1.tex
deleted file mode 100644
index 06035a6..0000000
--- a/buch/papers/mceliece/teil1.tex
+++ /dev/null
@@ -1,55 +0,0 @@
-%
-% teil1.tex -- Beispiel-File für das Paper
-%
-% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
-%
-\section{Teil 1
-\label{mceliece:section:teil1}}
-\rhead{Problemstellung}
-Sed ut perspiciatis unde omnis iste natus error sit voluptatem
-accusantium doloremque laudantium, totam rem aperiam, eaque ipsa
-quae ab illo inventore veritatis et quasi architecto beatae vitae
-dicta sunt explicabo.
-Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit
-aut fugit, sed quia consequuntur magni dolores eos qui ratione
-voluptatem sequi nesciunt
-\begin{equation}
-\int_a^b x^2\, dx
-=
-\left[ \frac13 x^3 \right]_a^b
-=
-\frac{b^3-a^3}3.
-\label{mceliece:equation1}
-\end{equation}
-Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet,
-consectetur, adipisci velit, sed quia non numquam eius modi tempora
-incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
-
-Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis
-suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?
-Quis autem vel eum iure reprehenderit qui in ea voluptate velit
-esse quam nihil molestiae consequatur, vel illum qui dolorem eum
-fugiat quo voluptas nulla pariatur?
-
-\subsection{De finibus bonorum et malorum
-\label{mceliece:subsection:finibus}}
-At vero eos et accusamus et iusto odio dignissimos ducimus qui
-blanditiis praesentium voluptatum deleniti atque corrupti quos
-dolores et quas molestias excepturi sint occaecati cupiditate non
-provident, similique sunt in culpa qui officia deserunt mollitia
-animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}.
-
-Et harum quidem rerum facilis est et expedita distinctio
-\ref{mceliece:section:loesung}.
-Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
-impedit quo minus id quod maxime placeat facere possimus, omnis
-voluptas assumenda est, omnis dolor repellendus
-\ref{mceliece:section:folgerung}.
-Temporibus autem quibusdam et aut officiis debitis aut rerum
-necessitatibus saepe eveniet ut et voluptates repudiandae sint et
-molestiae non recusandae.
-Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis
-voluptatibus maiores alias consequatur aut perferendis doloribus
-asperiores repellat.
-
-
diff --git a/buch/papers/mceliece/teil2.tex b/buch/papers/mceliece/teil2.tex
deleted file mode 100644
index fd247c7..0000000
--- a/buch/papers/mceliece/teil2.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-%
-% teil2.tex -- Beispiel-File für teil2
-%
-% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
-%
-\section{Teil 2
-\label{mceliece:section:teil2}}
-\rhead{Teil 2}
-Sed ut perspiciatis unde omnis iste natus error sit voluptatem
-accusantium doloremque laudantium, totam rem aperiam, eaque ipsa
-quae ab illo inventore veritatis et quasi architecto beatae vitae
-dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit
-aspernatur aut odit aut fugit, sed quia consequuntur magni dolores
-eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam
-est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci
-velit, sed quia non numquam eius modi tempora incidunt ut labore
-et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima
-veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam,
-nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure
-reprehenderit qui in ea voluptate velit esse quam nihil molestiae
-consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla
-pariatur?
-
-\subsection{De finibus bonorum et malorum
-\label{mceliece:subsection:bonorum}}
-At vero eos et accusamus et iusto odio dignissimos ducimus qui
-blanditiis praesentium voluptatum deleniti atque corrupti quos
-dolores et quas molestias excepturi sint occaecati cupiditate non
-provident, similique sunt in culpa qui officia deserunt mollitia
-animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis
-est et expedita distinctio. Nam libero tempore, cum soluta nobis
-est eligendi optio cumque nihil impedit quo minus id quod maxime
-placeat facere possimus, omnis voluptas assumenda est, omnis dolor
-repellendus. Temporibus autem quibusdam et aut officiis debitis aut
-rerum necessitatibus saepe eveniet ut et voluptates repudiandae
-sint et molestiae non recusandae. Itaque earum rerum hic tenetur a
-sapiente delectus, ut aut reiciendis voluptatibus maiores alias
-consequatur aut perferendis doloribus asperiores repellat.
-
-
diff --git a/buch/papers/mceliece/teil3.tex b/buch/papers/mceliece/teil3.tex
deleted file mode 100644
index 421b331..0000000
--- a/buch/papers/mceliece/teil3.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-%
-% teil3.tex -- Beispiel-File für Teil 3
-%
-% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil
-%
-\section{Teil 3
-\label{mceliece:section:teil3}}
-\rhead{Teil 3}
-Sed ut perspiciatis unde omnis iste natus error sit voluptatem
-accusantium doloremque laudantium, totam rem aperiam, eaque ipsa
-quae ab illo inventore veritatis et quasi architecto beatae vitae
-dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit
-aspernatur aut odit aut fugit, sed quia consequuntur magni dolores
-eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam
-est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci
-velit, sed quia non numquam eius modi tempora incidunt ut labore
-et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima
-veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam,
-nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure
-reprehenderit qui in ea voluptate velit esse quam nihil molestiae
-consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla
-pariatur?
-
-\subsection{De finibus bonorum et malorum
-\label{mceliece:subsection:malorum}}
-At vero eos et accusamus et iusto odio dignissimos ducimus qui
-blanditiis praesentium voluptatum deleniti atque corrupti quos
-dolores et quas molestias excepturi sint occaecati cupiditate non
-provident, similique sunt in culpa qui officia deserunt mollitia
-animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis
-est et expedita distinctio. Nam libero tempore, cum soluta nobis
-est eligendi optio cumque nihil impedit quo minus id quod maxime
-placeat facere possimus, omnis voluptas assumenda est, omnis dolor
-repellendus. Temporibus autem quibusdam et aut officiis debitis aut
-rerum necessitatibus saepe eveniet ut et voluptates repudiandae
-sint et molestiae non recusandae. Itaque earum rerum hic tenetur a
-sapiente delectus, ut aut reiciendis voluptatibus maiores alias
-consequatur aut perferendis doloribus asperiores repellat.
-
-