aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/mceliece
diff options
context:
space:
mode:
authorRoy Seitz <roy.seitz@ost.ch>2021-09-09 09:11:08 +0200
committerRoy Seitz <roy.seitz@ost.ch>2021-09-09 09:11:08 +0200
commit61e38c4688746920c0b73f4ced0742ef48993f6e (patch)
tree707ba7725505353977977480a895e4f3858c0657 /buch/papers/mceliece
parentMerge branch 'fabioviecelli-master' (diff)
parentmore page headers (diff)
downloadSeminarMatrizen-61e38c4688746920c0b73f4ced0742ef48993f6e.tar.gz
SeminarMatrizen-61e38c4688746920c0b73f4ced0742ef48993f6e.zip
Merge branch 'master' of github.com:AndreasFMueller/SeminarMatrizen
Diffstat (limited to '')
-rw-r--r--buch/papers/mceliece/fazit.tex2
-rw-r--r--buch/papers/mceliece/funktionsweise.tex59
2 files changed, 30 insertions, 31 deletions
diff --git a/buch/papers/mceliece/fazit.tex b/buch/papers/mceliece/fazit.tex
index b53328f..3714d31 100644
--- a/buch/papers/mceliece/fazit.tex
+++ b/buch/papers/mceliece/fazit.tex
@@ -5,7 +5,6 @@
%
\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.
@@ -16,6 +15,7 @@ wird Redundanz benötigt,
weshalb dessen Kanalefizienz (Nutzbits/Übertragungsbits) sinkt.
\index{Kanaleffizienz}%
+\rhead{Fazit}
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.
\index{Schlüsselgrösse}%
Das McEliece-System benötigt dafür weniger Rechenaufwand beim Verschlüsseln/Entschlüsseln,
diff --git a/buch/papers/mceliece/funktionsweise.tex b/buch/papers/mceliece/funktionsweise.tex
index 4d6c18d..4a8a71f 100644
--- a/buch/papers/mceliece/funktionsweise.tex
+++ b/buch/papers/mceliece/funktionsweise.tex
@@ -86,8 +86,8 @@ Die Verschlüsselung soll mittels eines numerischen Beispiels demonstriert werde
Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four} beschrieben.
\begin{itemize}
\item Daten- und Fehlervektor
- \begin{itemize}
- \item[]
+% \begin{itemize}
+% \item[]
\[d_4=
\begin{pmatrix}
1\\
@@ -107,11 +107,12 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
0
\end{pmatrix}.
\]
- \end{itemize}
+% \end{itemize}
\item Private Matrizen:
- \begin{itemize}
- \item[]
- \[S_4=
+\begin{gather*}
+% \begin{itemize}
+% \item[]
+ S_4=
\begin{pmatrix}
0 & 0 & 1 & 1\\
0 & 0 & 0 & 1\\
@@ -125,9 +126,8 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
1 & 1 & 0 & 0\\
0 & 1 & 0 & 0\\
\end{pmatrix},
- \]
- \item[]
- \[
+ \\
+% \item[]
G_{7,4}=
\begin{pmatrix}
1 & 0 & 0 & 0\\
@@ -138,9 +138,8 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
0 & 0 & 1 & 0\\
0 & 0 & 0 & 1
\end{pmatrix},
- \]
- \item[]
- \[
+ \\
+% \item[]
P_7=
\begin{pmatrix}
0 & 1 & 0 & 0 & 0 & 0 & 0\\
@@ -162,13 +161,14 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
0 & 0 & 1 & 0 & 0 & 0 & 0\\
0 & 1 & 0 & 0 & 0 & 0 & 0
\end{pmatrix}.
- \]
- \end{itemize}
+ \\
+% \end{itemize}
+\end{gather*}
\item Öffentlicher Schlüssel:
\index{Schlüssel, öffentlicher}%
\index{öffentlicher Schlüssel}%
- \begin{itemize}
- \item[]
+% \begin{itemize}
+% \item[]
\begin{align*}
K_{7,4}&=P_{7}\cdot G_{7,4}\cdot S_{4}=\\
\begin{pmatrix} %k
@@ -209,10 +209,10 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
\end{pmatrix}
.
\end{align*}
- \end{itemize}
+% \end{itemize}
\item Verschlüsselung:
- \begin{itemize}
- \item[]
+% \begin{itemize}
+% \item[]
\begin{align*}
c_7&=K_{7,4}\cdot d_4 + e_7=\\
\begin{pmatrix} %c
@@ -253,10 +253,10 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
\end{pmatrix}
.
\end{align*}
- \end{itemize}
+% \end{itemize}
\item Entschlüsselung (Permutation rückgängig machen):
- \begin{itemize}
- \item[]
+% \begin{itemize}
+% \item[]
\begin{align*}
c_{7}''&=P_7^{-1}\cdot c_7=\\
\begin{pmatrix} %c''
@@ -290,10 +290,10 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
\end{pmatrix}
.
\end{align*}
- \end{itemize}
+% \end{itemize}
\item Entschlüsselung (Bitfehlerkorrektur mit Linearcode):
- \begin{itemize}
- \item[]
+% \begin{itemize}
+% \item[]
\begin{align*}
c_{7}'&=\text{Linear-Code-Decoder($c''_7$)}=\\
\begin{pmatrix} %c'
@@ -315,10 +315,10 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
\text{)}
.
\end{align*}
- \end{itemize}
+% \end{itemize}
\item Entschlüsselung (Umkehrung des $S_4$-Matrix-Effekts):
- \begin{itemize}
- \item[]
+% \begin{itemize}
+% \item[]
\begin{align*}
d'_{4}&=S_{4}^{-1} \cdot c'_4 \,(= d_4)\\
\begin{pmatrix}
@@ -343,7 +343,7 @@ Der verwendete Linear-Code wird im Abschnitt \ref{mceliece:subsection:seven_four
\end{pmatrix}
.
\end{align*}
- \end{itemize}
+% \end{itemize}
\end{itemize}
\subsection{7/4-Code
@@ -368,7 +368,6 @@ Damit diese Multiplikation mit Matrizen ausgeführt werden kann, werden die Poly
Auch das Datenpolynom wird mit einem Vektor dargestellt: $P_d = d_0 \cdot x^0 + d_1 \cdot x^1 + d_2 \cdot x^2 + d_3 \cdot x^3 \implies [d_0, d_1, d_2, d_3] = d_4$.
Der Vektor $g_4$ wird nun in die sogenannte Generatormatrix $G_{7,4}$ gepackt,
sodass die Polynommultiplikation mit $d_4$ mittels Matrixmultiplikation realisiert werden kann:
-
\[
c_7=G_{7,4} \cdot d_4=
\begin{pmatrix}