| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
| ef:kryptographie [2023/08/23 15:24] – lehmannr | ef:kryptographie [2023/08/23 17:20] (aktuell) – lehmannr |
|---|
| |
| ===== 1. Grundlagen ===== | ===== 1. Grundlagen ===== |
| Kryptographie ist die Wissenschaft der Verschlüsselung und Entschlüsselung von Informationen, um sie vor unbefugtem Zugriff zu schützen. Diese Disziplin hat eine lange und faszinierende Geschichte. Schon in der Antike wurde die Cäsarverschlüsselung verwendet, bei der Buchstaben um eine bestimmte Anzahl Positionen im Alphabet verschoben wurden, um Nachrichten zu verschleiern. Im 16. Jahrhundert nutzte Maria Stuart eine [[https://kryptografie.de/kryptografie/chiffre/maria-stuart.htm|Nomenklatur]], um wichtige Informationen durch den Ersatz von Wörtern zu schützen. Im Laufe der Zeit entwickelte sich die polyalphabetische Verschlüsselung, bei der verschiedene Verschiebungen innerhalb einer Nachricht angewendet wurden, was die Entschlüsselung erschwerte. Während des Zweiten Weltkriegs wurde die deutsche Enigma-Maschine verwendet, um komplexe Verschlüsselungen zu erzeugen, die von den Alliierten jedoch erfolgreich entschlüsselt wurden. Diese historischen Meilensteine legten den Grundstein für die moderne Kryptographie, die heute eine entscheidende Rolle im Schutz digitaler Kommunikation und Daten spielt. | Kryptographie ist die Wissenschaft der Verschlüsselung und Entschlüsselung von Informationen, um sie vor unbefugtem Zugriff zu schützen. Diese Disziplin hat eine lange und faszinierende Geschichte. Schon in der Antike wurde die Cäsarverschlüsselung verwendet, bei der Buchstaben um eine bestimmte Anzahl Positionen im Alphabet verschoben wurden, um Nachrichten zu verschleiern. Im 16. Jahrhundert nutzte Maria Stuart eine [[https://kryptografie.de/kryptografie/chiffre/maria-stuart.htm|Nomenklatur]], um wichtige Informationen durch den Ersatz von Wörtern zu schützen. Im Laufe der Zeit entwickelte sich die polyalphabetische Verschlüsselung, bei der verschiedene Verschiebungen innerhalb einer Nachricht angewendet wurden, was die Entschlüsselung erschwerte. Während des Zweiten Weltkriegs wurde die deutsche [[https://de.euronews.com/2017/07/12/weltkriegs-enigma-versteigert|Enigma Maschine]] verwendet, um komplexe Verschlüsselungen zu erzeugen, die von den Alliierten jedoch erfolgreich entschlüsselt wurden. Diese historischen Meilensteine legten den Grundstein für die moderne Kryptographie, die heute eine entscheidende Rolle im Schutz digitaler Kommunikation und Daten spielt. |
| |
| Alle oben erwähnten Verfahren haben etwas gemeinsam: es handelt sich um **symmetrische Verfahren**, d.h. die Nachricht wird mithilfe **eines bestimmten Schlüssels** verändert und sie kann dann mithilfe desselben Schlüssels wieder entschlüsselt werden (indem man die Schritte der Verschlüsselung rückgängig macht). | Alle oben erwähnten Verfahren haben etwas gemeinsam: es handelt sich um **symmetrische Verfahren**, d.h. die Nachricht wird mithilfe **eines bestimmten Schlüssels** verändert und sie kann dann mithilfe desselben Schlüssels wieder entschlüsselt werden (indem man die Schritte der Verschlüsselung rückgängig macht). |
| </WRAP> | </WRAP> |
| |
| Diese ersten Rechenmaschinen funktionierten natürlich rein mechanisch und sie basierten auf dem uns bekannten Zehnersystem. | Die Kryptograpie besteht aus einem immer wiederkehrenden Kreislauf: neue Methoden werden entwickelt, diese sind eine Zeit lang sicher und werden dann aber schliesslich geknackt, sodass wieder neue Methoden erfunden werden müssen. So ist es nicht verwunderlich, dass alle erwähnten Verfahren durch das clevere Ausnutzen von Schwachstellen und durch die Anwendung von statistischen Verfahren geknackt wurden. |
| Obwohl der geniale Mathematiker und Philosoph Gottfried Wilhelm Leibniz bereits 1679 das Binärsystem "erfunden" hatte und zeigte, dass man mit diesem jegliche Zahl darstellen und jede Rechnung durchführen kann, dauerte es sehr lange, bis die Rechenmaschinen auf das Binärsystem setzten. Leibniz selbst hat 1685 eine Rechenmaschine konstruiert, die viel leistungsfähiger war als die Pascaline und die alle vier Grundrechenarten beherrschte. | |
| Diese Rechenmaschinen wurden über die Jahrzehnte stetig weiterentwickelt und konnten schliesslich die vier Grundrechenarten, sowie das Wurzelziehen und Quadrieren. | |
| |
| Siehe dir die ersten fünf Minuten [[https://youtu.be/hTXTB8xSyDc|dieses Videos]] an, um einen Eindruck davon zu bekommen, wie mit diesen mechanischen Rechenmaschinen umgegangen wurde. | ===== 2. Moderne symmetrische Verfahren ===== |
| | In der binär digitalisierten Welt bestehen die zu verschlüsselnden Daten aus einem Datenstrom, der aus lauter Einsern und Nullen besteht. Man unterscheidet grundsätzlich zwei Verfahren: **Stromchiffren** und **Blockchiffren**. Blockchiffren unterteilen die Meldung in gleich grosse Blöcke (z.B. 32, 64 128 Bit) und verschlüsseln dann jeden Block für sich. **Stromchiffren** chiffrieren einen Datenstrom direkt Bit für mit mit Hilfe von xOr-Verknüpfungen (mit einem nicht endenden Schlüssel und mit Hash-Tricks, damit sie nicht geknackt werden können). Wir werden uns im Folgenden auf **Blockchiffren** konzentrieren. |
| | |
| | ==== Feistel-Chiffre (Feistel-Netzwerk) ==== |
| | Die Feistel-Chiffre ist nicht eine eigentliche Verschlüsselung, sondern ein Prinzip, welches es erlaubt eine Verschlüsselung für einen Block (z.B. für 128 Bit) zu definieren. Dieses Prinzip wurde vom IBM-Mitarbeiter Horst Feisel in den 1970er-Jahren definiert und viele aktuelle Verschlüsselungsverfahren basieren darauf. |
| | |
| | In Worten beschrieben läuft eine Runde der Feistel-Chiffre folgendermassen: |
| | - Der Block wird in zwei gleich grosse Teile zerlegt (L und R) |
| | - Der rechte Teil wird durch eine (beliebige) Verschlüsselungsfunktion F verschlüsselt |
| | - Der verschlüsselte rechte Teil wird mit dem linken Teil xOr-Verknüpft und wird zum neuen rechten Teil. |
| | - Der ursprüngliche rechte Teil wird zum neuen linken Teil |
| | |
| | Nun wird der oben beschriebene Ablauf mit einer neuen Verschlüsselungsfunktion wiederholt. |
| | |
| | Das verblüffende bei diesem Feistel-Prinzip ist, dass die Entschlüsselung sehr einfach abläuft: man macht genau dasselbe, wobei man jedoch die Verschlüsselungsfunktionen umkehrt. |
| |
| <WRAP nicebox green> | |
| ** Zusatzfrage ** | |
| Wie funktioniert der gezeigte Algorithmus von August Toepler zur Berechnung der Wurzel einer Zahl? | |
| </WRAP> | |
| |
| Es dauerte bis ins Jahr 1938 als Konrad Zuse die erste mechanische Rechenmaschine Z1 baute, die auf binären Zahlen basiert. Relativ schnell erkannte Zuse, dass es viel effizienter sein könnte, wenn man die mechanischen Vorgänge durch elektromagnetische ersetzen würde. Er entwickelte die Z3, die als erster Computer gilt. In diesen Pioniertagen wurden für binäre Symbole Relais oder Elektronenröhren eingesetzt. Erst viel später wurden Transistoren verwendet, die heute zu Milliarden in den Computerchips stecken. | |