You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: main.tex
+74-27Lines changed: 74 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -13,9 +13,6 @@
13
13
\linespread{1.25} %gleich wie 1.5 in word
14
14
\pagestyle{headings}
15
15
16
-
\newcommand*{\quelle}{%
17
-
\footnotesize Quelle:
18
-
}
19
16
20
17
\addbibresource{ref.bib}
21
18
@@ -28,9 +25,7 @@
28
25
\vskip 2em
29
26
Oberstufenjahrgang 2023/2024
30
27
\vskip 2em
31
-
Seminar: Die Welt der Mathematik \\
32
-
- \\
33
-
die Mathematik in der Welt
28
+
Seminar: \\ Die Welt der Mathematik - die Mathematik in der Welt
34
29
\vskip 1em
35
30
Leitfach: Mathematik
36
31
@@ -47,7 +42,7 @@
47
42
\vskip 4.5em
48
43
49
44
\end{center}
50
-
Verfasser:Julian Thanner
45
+
Verfasser:\hspace{1cm} Julian Thanner
51
46
\vskip 0.5em
52
47
Seminarleiterin: StDin Birgit Gregor
53
48
\vskip 2em
@@ -67,7 +62,10 @@ \section{Einleitung}
67
62
\subsection{Die symmetrischen Verschlüsselung}
68
63
69
64
Bei symmetrischen Verschlüsselungsverfahren gibt es, anders als bei asymmetrischen Verfahren (auch: Public Key Verfahren), nur einen Schlüssel für die Ent- und Verschlüsselung. Diese bieten viele Vorteile, wie zum Beispiel eine kurze Schlüssellänge oder auch eine deutlich kleinere Verschlüsselungszeit. Allerdings kommt die symmetrische Verschlüsselung auch mit einigen Nachteilen, unteranderem "setzt [sie] voraus, dass Sender und Empfänger einer Nachricht, und nur diese beiden ein gemeinsames
70
-
Geheimnis den sogenannten Schlüssel, besitzen." \cite[S. 7]{schwenk2010sicherheit}. Das stellt aber in der Praxis als ein Problem dar, weil es nicht immer möglich ist sich vor der ersten verschlüsselten Kommunikation persönlich zu treffen, dies aber für eine symmetrische Verschlüsselung nötig ist. Dafür wird eine andere Verschlüsselungsmethode benötigt, ein sogenanntes Public Key Verfahren. Hier liegt der Vorteil darin, das es einen öffentlichen und einen privaten Schlüssel gibt. Die Nachricht kann dann mit dem öffentlichen Schlüssel einer Person verschlüsselt und dann nur mit dem privaten Schlüssel wieder entschlüsselt werden. Ein Algorithmus dafür ist der RSAßAlgorithmus, den ich im folgenden erklären möchte.
65
+
Geheimnis den sogenannten Schlüssel, besitzen." \cite[S. 7]{schwenk2010sicherheit}. Das stellt aber in der Praxis als ein Problem dar, weil es nicht immer möglich ist sich vor der ersten verschlüsselten Kommunikation persönlich zu treffen, dies aber für eine symmetrische Verschlüsselung nötig ist. Dafür wird eine andere Verschlüsselungsmethode benötigt, ein sogenanntes Public Key Verfahren. Hier liegt der Vorteil darin, das es einen öffentlichen und einen privaten Schlüssel gibt. Die Nachricht kann dann mit dem öffentlichen Schlüssel einer Person verschlüsselt und dann nur mit dem privaten Schlüssel wieder entschlüsselt werden. Ein Algorithmus dafür ist der RSA-Algorithmus, den ich im folgenden erklären möchte.
66
+
67
+
\pagebreak
68
+
71
69
72
70
\section{Begriffserklärungen}
73
71
\subsection{Modulo Operation} %Notwendigkeit?
@@ -76,8 +74,13 @@ \section{Begriffserklärungen}
76
74
$$ {16 \bmod 3 = 1} $$
77
75
78
76
\subsection{Multiplikatives Inverses}
79
-
"Das multiplikativ inverse Element $a^{-1}$ eines Elements a in der Gruppe $\mathbb{Z}_n ^*$ ist das eindeutig bestimmte Element, für das gilt $${a^{-1} * a = a * a^{-1} = 1}$$ wobei 1 das neutrale Element der Gruppe ist."\cite{hwlang}
77
+
"Das multiplikativ inverse Element $a^{-1}$ eines Elements a in der Gruppe $\mathbb{Z}_n ^*$ ist das eindeutig bestimmte Element, für das gilt $${a^{-1} * a = a * a^{-1} = 1}$$ wobei 1 das neutrale Element der Gruppe ist."\cite{hwlang} \\
78
+
79
+
So ist zum Beispiel das multiplikative Inverse $a$ von 3, $a=2$, weil: \\
80
+
${3 * 2 = 6 = 1 \bmod 5}$\\
80
81
82
+
Für das Beispiel ${5 * a = 1 \bmod 5}$ wäre $a=5$, weil \\
83
+
${5 * 5 = 25 = 1 \bmod 5}$\\
81
84
82
85
\subsection{Einwegverschlüsselungsverfahren}
83
86
Mithilfe eines Einwegverschlüsselungsverfahrens (auch Hashfunktion) kann anhand eines beliebig großem Quelltext eine Prüfsumme erzeugt werden, welche in der Regel eine fest definierte Länge hat. Man könnte eine Hashfunktion auch mit einem Fingerabdruck vergleichen. Ein gutes Beispiel für eine Einwegfunktion, wäre die Modulo-Operation, da sich hier aus dem Ergebnis nicht feststellen lässt, aus welchen Zahlen das Ergebnis berechnet wurde. \\
Die Schwierigkeit, ganze Texte zu verschlüsseln, liegt darin, dass die Nachricht $m$ nicht großer als $n - 1$ sein darf. Eine Möglichkeit dieses Problem zu umgehen ist es die Nachricht in verschiedene kleine Blöcke zu unterteilen und dann jeden Block einzeln zuverschlüsseln. Das hat aber immer noch den Nachteil, dass der RSA Algorithmus sehr langsam ist, und deshalb für eine große Nachricht $m$, auch wenn sie in kleine Blöcke unterteilt ist, sehr lange brauchen würde. Eine sinnvollere, und auch weit aus verbreitete Lösung ist es mit dem RSA Algorithmus einen symmetrischen Schlüssel zu verschlüsseln, mehr dazu in Kapitel \ref{cha:hybrid}.
Aktuell wird ein Schlüssel mit mehr als 3000 Bits als sicher angesehen. \cite[29]{bsireco}
172
177
%TODO erklärung bit größe
173
178
174
-
\subsection{Monoalphabetisch}
175
-
\subsection{Die Wahl der Primzahlen}
176
-
\label{chap:primnumberselection}
179
+
\subsection{Monoalphabetische Verschlüsselung}
180
+
Sehr einfachen Kryptosystem, wie z.B. die Caesar-Verschlüsselung, setzen oftmals auf eine Monoalphabetische Verschlüsselung, das heißt es wird jedem Buchstaben ein anderer Buchstabe zugeordnet. Wenn man immer einzelne Buchstaben mit dem RSA-Algorithmus verschlüsselt, hat man das Problem, das diese immer dem gleichen verschlüsselten Buchstaben zugeordnet werden. (Wie in Grafik \ref{fig:figure4} bei A und B zu sehen). Dadurch ist die Verschlüsselung dann nicht mehr sicher und kann sehr einfach mit Hilfe von statistischen Tabellen über die Häufigkeit eines Buchstabens geknackt werden. \footnote{Für mehr Infos dazu siehe \cite{mono}}
181
+
182
+
Um diese Schwachstelle zu beseitigen, kann man anstatt einzelne Buchstaben zu verschlüsseln, ganze Blöcke an Buchstaben verschlüsseln. Hierbei ist zu beachten, dass jeder Block, umgerechnet in eine Zahl, kleiner als \textit{n} sein muss. Jetzt ist es nicht mehr möglich Rückschlüsse auf die verwendeten Buchstaben zu machen, z.B. wurden bei den unteren beiden Beispielen in Abbildung \ref{fig:figure4} nur A und B getauscht und es kommt eine ganz andere Zahl raus.
183
+
184
+
185
+
\begin{figure}
186
+
\includegraphics[scale=0.45]{rsa_mono} \\
187
+
\caption{Verschlüsselung verschiedener Buchstaben mithilfe des ASCII Standards und des RSA-Algorithmus}
188
+
\label{fig:figure4}
189
+
\end{figure}
190
+
191
+
\subsection{Die Wahl der Primzahlen}
192
+
193
+
194
+
\label{chap:primnumberselection}
177
195
\pagebreak
178
196
179
197
\section{Anwendungsbereiche in der IT - Sicherheit}
180
198
\subsection{Digitale Nachrichten}
181
-
Um Nachrichten mit einem Computer verarbeiten zu können, müssen diese erst in Zahlen umgewandelt werden. Dafür existiert der ~ASCII~ Standard, mit dem Computer Buchstaben in Zahlen umwandeln können. Jede Nachricht \textit{m} muss kleiner sein als \textit{n}. In der Realität spielt das allerdings keine Rolle, da normalerweise Werte für \textit{n} mit mehr als 100 Stellen verwendet werden und der normale ASCII Standard 7-Bit Werte und der erweiterte ASCII Standard 8-Bit Werte verwendet.\footnote{7-Bit hat Zahlen bis 128, 8-Bit bis 256}
199
+
Um eine Nachricht, hier genannt \textit{m}, mit einem Computer verarbeiten zu können, muss diese erst in Zahlen umgewandelt werden. Dafür existiert der ~ASCII~ Standard, mit dem Computer Buchstaben in Zahlen umwandeln können. Jede Nachricht \textit{m} muss kleiner sein als \textit{n}. In der Realität spielt das allerdings keine Rolle, da normalerweise Werte für \textit{n} mit mehr als 100 Stellen verwendet werden und der normale ASCII Standard 7-Bit Werte und der erweiterte ASCII Standard 8-Bit Werte verwendet.\footnote{7-Bit hat Zahlen bis 128, 8-Bit bis 256}
182
200
183
201
\subsection{Digitale Signatur}
184
-
Der RSA-Algorithmus kann auch genutzt werden, um Nachrichten zu signieren. Durch das signieren von z.B. Emails kann der Empfänger sicherstellen, dass die Nachricht von dem Besitzer des zugehörigen privaten Schlüssels verschickt wurde. Diese Funktion der Signatur wird auch genutzt, um die Fälschungssicherheit und Originalität von Dokumenten sicherzustellen. Um bei einer Signatur nicht die Länge der Nachricht zu verdoppeln, wird diese mithilfe einer Einwegfunktion auf eine vordefinierte Länge gebracht.\footnote{Siehe Kapitel \ref{ch:einweg} auf Seite \pageref{ch:einweg}}\\
202
+
Der RSA-Algorithmus kann auch genutzt werden, um Nachrichten zu signieren. Durch das Signieren von z.B. Emails kann der Empfänger sicherstellen, dass die Nachricht von dem Besitzer des zugehörigen privaten Schlüssels verschickt wurde. Diese Funktion der Signatur wird auch genutzt, um die Fälschungssicherheit und Originalität von Dokumenten sicherzustellen. Um bei einer Signatur nicht die Länge der Nachricht zu verdoppeln, wird diese mithilfe einer Einwegfunktion auf eine vordefinierte Länge gebracht.\footnote{Siehe Kapitel \ref{ch:einweg} auf Seite \pageref{ch:einweg}}\\
185
203
186
-
Als erstes wandelt man die Nachricht mithilfe eines Standards zum umwandeln von Buchstaben in Zahlen um. Meistens wird hierbei der (erweiterte) ASCII Standard verwendet. %TODO footnote zur oberen footnote
187
-
Mithilfe des Hash-Algorithmus wird nun ein Hash-Wert mithilfe einer der zu signierenden Nachricht berechnet. Dieser Wert wird dann mit dem privaten Schlüssel, dem Encryption-Key, der normalerweise der öffentliche Schlüssel ist, verschlüsselt. %Schöner formulieren
204
+
Als erstes wandelt man die Nachricht mithilfe eines Standards in Zahlen um. Mithilfe eines Hashing-Algorithmus wird nun der Hash-Wert der zu signierenden Nachricht berechnet. Dieser Wert wird dann mit dem privaten Schlüssel, dem Encryption-Key, der normalerweise der öffentliche Schlüssel ist, verschlüsselt. %Schöner formulieren
188
205
Der Decryption-Key wird dann, anders als wenn man eine geheime Nachricht versenden will, veröffentlicht.\\
189
206
Die originale Nachricht wird dann zusammen mit der digitalen Signatur verschickt und der Empfänger entschlüsselt diese dann mithilfe des öffentlichen Schlüssels wie folgt:\\
190
207
Als erstes generiert der Empfänger mithilfe des Hash-Algorithmus einen Hash-Wert von der Nachricht, die auf ihre Echtheit überprüft werden soll. Dann wird mit dem öffentlichen Schlüssel des Senders der, an die Nachricht angehängte, verschlüsselte Hash-Wert des Senders entschlüsselt. \\
191
208
Wenn der generierte und der entschlüsselte Hash-Wert übereinstimmen, kann sicher festgestellt werden, dass die Nachricht nicht verändert wurde. \\
192
-
Wenn z.B. jetzt eine dritte Person die Nachricht abändern würde, würde ein anderer Hash-Wert beim Empfänger für diese Nachricht herauskommen, da der Hash-Algorithmus schon bei der Änderung eines einzelnen Bits einen anderen Hash-Wert ausgibt. Wenn dieser dann mit dem verschlüsselten Hash-Wert verglichen wird, kann festgestellt werden, dass die Nachricht verändert wurde.
209
+
Wenn z.B. jetzt eine dritte Person die Nachricht abändern würde, würde ein anderer Hash-Wert beim Empfänger für diese Nachricht herauskommen, da der Hash-Algorithmus schon bei der Änderung eines einzelnen Bits einen anderen Hash-Wert ausgibt. Wenn dieser dann mit dem verschlüsselten Hash-Wert verglichen wird, kann festgestellt werden, ob die Nachricht im Original vorliegt, denn wenn dem nicht so ist stimmen die Hash-Werte nicht mehr überein.\\
\caption{Ein DOkument digital signieren (aus \cite{digitalsignature})}
216
+
\caption{Ein Dokument digital signieren (aus \cite{digitalsignature})}
198
217
\label{fig:figure3}
199
218
\end{figure}
200
219
220
+
Das ganze funktioniert dann wie folgt:
201
221
202
222
Als erstes berechnet man den Hash-Wert mithilfe einer Einwegfunktion:
203
223
$$ {h = e(m)} $$
204
224
205
225
Dann berechnet man mit dem RSA-Algorithmus die Signatur \textit{s}
206
-
$$ {s = h^d\bmod n} $$
226
+
$$ {s = h^e\bmod n} $$
207
227
208
-
Zum überprüfen der Signatur wird erneut h bestimmt und mit dem empfangenen \textit{h} verglichen
209
-
$$ {h = s^e \bmod n} $$
228
+
Diese Signatur wird dann an die Nachricht angehängt und dann wird diese veröffentlicht.
229
+
Der Empfänger kann dann mit den folgenden Schritten die Integrität der Nachricht sicherstellen:
210
230
211
-
Beispiel: Die digitale Signatur von \textit{m} = 8:\\
231
+
Als erster wird erneut h von der empfangenen Nachricht $m$ bestimmt:
232
+
$${h_{empfangen} = e(m) }$$
233
+
Dann muss die Signatur wieder entschlüsselt werden:
234
+
$$ {h_{entschluesselt} = s^d \bmod n} $$
235
+
Anschließend werden diese beiden Hashwerte verglichen und wenn diese gleich sind, kann man davon ausgehen, dass die Nachricht nicht verändert wurde. \\
212
236
237
+
238
+
Beispiel: Die digitale Signatur von \textit{m} = 8:\\
213
239
Angenommen:
214
240
$${ \textit{m} = 8 }$$
215
241
$${ \textit{n} = 187 }$$
@@ -221,10 +247,31 @@ \section{Anwendungsbereiche in der IT - Sicherheit}
221
247
$$ {16 = e(8)} $$
222
248
223
249
...und dann mit der RSA-Funktion verschlüsselt: %richtige Formulierung?
224
-
$$ {s = 16^d \bmod n} $$
250
+
$$ {152 = 16^19 \bmod 187} $$
251
+
252
+
Um jetzt sicherzustellen, dass die Nachricht nicht verändert wurde, wird erneut der Hash Wert berechnet:
253
+
$$ {16 = e(8)} $$
254
+
und dann die Signatur $s$ entschlüsselt:
255
+
$$ {16 = 152^59 \bmod 187} $$
256
+
257
+
Und jetzt werden diese Beiden wieder verglichen und es wird ersichtlich, das $m$ nicht verändert wurde.
258
+
225
259
226
260
227
261
\subsection{Hybride Verschlüsselung}
262
+
\label{cha:hybrid}
263
+
\begin{figure}
264
+
265
+
\includegraphics[scale=0.45]{rsa_time} \\
266
+
\caption{Decryption time vs. File size for DES, 3DES, AES, Blowfish and RSA (aus \cite{rsatime})}
267
+
\label{fig:figure5}
268
+
\end{figure}
269
+
270
+
Wenn man große Texte bzw. Dateien verschlüsseln möchte, brauchen verschieden Algorithmen unterschiedlich lange. Bei der Verschlüsselung mit dem RSA-Algorithmus entsteht das große Problem, dass dieser für immer größer werdende Texte immer länger braucht, wie in Abbildung \ref{fig:figure5} zu sehen ist.
271
+
272
+
Hierfür kann dann das Konzept der hybriden Verschlüsselung genutzt werden. Dabei kombiniert man eine asymmetrisches und eines symmetrisches Verschlüsselungsverfahren. Diese bringt den Vorteil mit sich, dass die Vorteile beider Verfahren kombiniert werden können. Das ganze hat aber auch einige Nachteile z.B. muss man dafür beide Verfahren implementieren und die Sicherheit der hybriden Verschlüsselung ist jetzt abhängig von zwei verschiedenen Verschlüsselungsalgorithmen. \\
273
+
Um nun eine Nachricht verschlüsselt versenden zu können, ohne lange auf die Verschlüsselung warten zu müssen, wird als erstes ein symmetrischer Schlüssel zufällig generiert werden. Mit diesem wird dann die Nachricht verschlüsselt. Dann wird der asymmetrisch verschlüsselte symmetrische Schlüssel zusammen mit der verschlüsselten Nachricht versendet.
0 commit comments