diff options
author | JODBaer <JODBaer@github.com> | 2021-08-10 11:31:12 +0200 |
---|---|---|
committer | JODBaer <JODBaer@github.com> | 2021-08-10 11:31:12 +0200 |
commit | 4276a5da249c57aaf0b008f9bf8cb584b954f44b (patch) | |
tree | c5d08dc3682fba89a408196df5a469cbf9e02d6f /buch | |
parent | feinheiten (diff) | |
parent | Merge pull request #82 from rfritsche/mceliece (diff) | |
download | SeminarMatrizen-4276a5da249c57aaf0b008f9bf8cb584b954f44b.tar.gz SeminarMatrizen-4276a5da249c57aaf0b008f9bf8cb584b954f44b.zip |
Merge remote-tracking branch 'upstream/master' into Baer
Diffstat (limited to '')
-rw-r--r-- | buch/papers/mceliece/Makefile.inc | 8 | ||||
-rw-r--r-- | buch/papers/mceliece/aufbau.tex | 160 | ||||
-rw-r--r-- | buch/papers/mceliece/einleitung.tex | 16 | ||||
-rw-r--r-- | buch/papers/mceliece/fazit.tex | 57 | ||||
-rw-r--r-- | buch/papers/mceliece/funktionsweise.tex | 83 | ||||
-rw-r--r-- | buch/papers/mceliece/main.tex | 27 | ||||
-rw-r--r-- | buch/papers/mceliece/references.bib | 51 | ||||
-rw-r--r-- | buch/papers/mceliece/teil0.tex | 22 | ||||
-rw-r--r-- | buch/papers/mceliece/teil1.tex | 55 | ||||
-rw-r--r-- | buch/papers/mceliece/teil2.tex | 40 | ||||
-rw-r--r-- | buch/papers/mceliece/teil3.tex | 40 | ||||
-rw-r--r-- | buch/papers/reedsolomon/tikz/fourier.pdf | bin | 59767 -> 59721 bytes | |||
-rw-r--r-- | buch/papers/reedsolomon/tikz/fourier.tex | 8 |
13 files changed, 353 insertions, 214 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..521488d --- /dev/null +++ b/buch/papers/mceliece/aufbau.tex @@ -0,0 +1,160 @@ +% +% 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. +Beispielsweise +\[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-Algorythmusses 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 Goppa-Codes verwendet, +es können prinzipiell auch andere Codes wie beispielsweise Reed-Solomin verwendet werden, +jedoch besitzen einige 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..d618993 --- /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-Algorithmuses \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 dem 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..93bb1c7 --- /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\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 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..52aa166 100644 --- a/buch/papers/mceliece/references.bib +++ b/buch/papers/mceliece/references.bib @@ -4,32 +4,37 @@ % (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} +}
\ 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. - - diff --git a/buch/papers/reedsolomon/tikz/fourier.pdf b/buch/papers/reedsolomon/tikz/fourier.pdf Binary files differindex 25e8d6d..7e0198b 100644 --- a/buch/papers/reedsolomon/tikz/fourier.pdf +++ b/buch/papers/reedsolomon/tikz/fourier.pdf diff --git a/buch/papers/reedsolomon/tikz/fourier.tex b/buch/papers/reedsolomon/tikz/fourier.tex index d151b2b..7b4ccea 100644 --- a/buch/papers/reedsolomon/tikz/fourier.tex +++ b/buch/papers/reedsolomon/tikz/fourier.tex @@ -48,13 +48,7 @@ \end{scope} \begin{scope}[xshift=\xverschiebung,yshift=0cm] - \begin{axis}[axis x line= none, axis y line*=right,ytick={0}, - axis background/.style={fill=white}, - width=\plotwidth,height=\plotheight] - \addplot[color=white] {0}; - \end{axis} - - \begin{axis}[title = {\large Codiert\strut}, axis y line*=left, + \begin{axis}[title = {\large Codiert\strut}, xtick={0,32,64,96}, axis background/.style={fill=white}, width=\plotwidth,height=\plotheight] |