Symmetrische Kryptographie
Symmetrische Kryptographie
Symmetrische Kryptographie
Verwandeln Sie Ihre PDFs in ePaper und steigern Sie Ihre Umsätze!
Nutzen Sie SEO-optimierte ePaper, starke Backlinks und multimediale Inhalte, um Ihre Produkte professionell zu präsentieren und Ihre Reichweite signifikant zu maximieren.
<strong>Symmetrische</strong><br />
<strong>Kryptographie</strong><br />
Daniel Kawaletz
Übersicht<br />
i. Einleitung<br />
ii. Allg. Funktionsweise<br />
iii. Schlüsselaustauschproblem<br />
iv. Arten von Sym. Verschlüsselung<br />
v. DES / 3DES<br />
vi. AES<br />
vii.Praxis: TrueCrypt
i. Einleitung<br />
• Begriff <strong>Kryptographie</strong><br />
• griech. kryptós: verborgen, geheim<br />
griech. gráphein: schreiben<br />
• verborgen schreiben, Geheimschrift<br />
• <strong>Kryptographie</strong> und Kryptoanalyse bilden<br />
zusammen die Kryptologie<br />
• Wissenschaft der Ver- und Entschlüsselung<br />
1<br />
21
i. Einleitung<br />
• Anfänge der <strong>Kryptographie</strong> liegen im Altertum<br />
(4000 v. Chr. – 700 v. Ch.)<br />
• Spartaner benutzten die Skytale (ca. 2500 v. Chr.)<br />
• Römer den Caesar-Code: Jeder Buchstabe wird<br />
durch den drittnächsten ersetzt<br />
• Verschlüsselung militärischer Nachrichten<br />
Quelle: en.wikipedia.org<br />
Quelle: en.wikipedia.org<br />
2<br />
21
ii. Allg. Funktionsweise<br />
3<br />
21
ii. Allg. Funktionsweise<br />
Leichte<br />
Implementierung<br />
Schnelle Ver- und<br />
Entschlüsselung<br />
Zeitpunkt des<br />
Schlüsselaustausches<br />
frei wählbar<br />
Schlüsselaustausch<br />
4<br />
21
iii. Schlüsselaustauschproblem<br />
• Sender und Empfänger müssen beide über<br />
den selben Schlüssel verfügen<br />
• Der Schlüssel muss vorher ausgetauscht<br />
werden<br />
• Dafür wird z.B die asynchrone<br />
Verschlüsselung angewandt<br />
• Beispiel:<br />
Diffie-Hellman-Schlüsselaustausch 5<br />
21
iii. Schlüsselaustauschproblem<br />
Diffie-Hellman-Schlüsselaustausch<br />
bekannt:<br />
- P, Pr, Y A, Y B<br />
geheim:<br />
-a, b,<br />
Schlüssel<br />
Durchführbar da:<br />
Y B a mod p = (Pr b ) a mod P<br />
=<br />
Y A b mod p = (Pr a ) b mod P<br />
6<br />
21
iv. Arten der sym. <strong>Kryptographie</strong><br />
Stromverschlüsselung<br />
• Klartext wird bitweise verschlüsselt<br />
• Verknüpfung eines Schlüsselstroms mittels<br />
XOR mit der Klartextnachricht<br />
7<br />
21
iv. Arten der sym. <strong>Kryptographie</strong><br />
Blockverschlüsselung<br />
• Klartext wird in gleichgroße Blöcke<br />
aufgeteilt und unabhängig voneinander<br />
ver- und entschlüsselt<br />
• Letzter Block wird aufgefüllt<br />
• Typische Werte für die Schlüssellänge<br />
moderner Verfahren sind 128 Bit, 168 Bit,<br />
192 Bit oder 256 Bit<br />
8<br />
21
v. Data Encryption Standard DES<br />
• von IBM entwickelt und 1974 beim The National<br />
Bureau of Standards(NBS - heute NIST)<br />
eingereicht und 1976 als US-Bundesstandard<br />
anerkannt<br />
• Blockgröße von 64 Bit und Schlüsselgröße von<br />
56 Bit<br />
• Feistelchiffre<br />
• 16 Runden pro Ver- bzw. Entschlüsselung eines<br />
Blocks 9<br />
21
v. Data Encryption Standard DES<br />
Quelle: de.wikipedia.org<br />
- Eingangspermutation<br />
- Aufteilung in zwei 32 Bit Blöcke<br />
- L-Block unverändert<br />
- R-Block wird expandiert(4Bit zu 6<br />
Bit)<br />
- XOR mit Rundenschlüssel<br />
- S-Box substituiert 6 Bit zu 4Bit mit<br />
Hilfe von Tabellen<br />
- Ausgangspermutation<br />
- R-Block neuer L-Block und L-Block<br />
XOR Feistelrchiffre neuer R-Block<br />
- Rundenschlüssel:<br />
- Nach jeder Runde Linksshift<br />
- Aufteilung in 2 Blöcke á 28 Bit<br />
- Durch Permutationstabelle<br />
Auswahl von 48 Bit Schlüssel<br />
10<br />
21
v. DES / 3DES<br />
• 3DES Erweiterung von DES<br />
• Aufgrund der kurzen Schlüssellänge von<br />
DES entwickelt worden<br />
• Führt drei DES Operationen durch<br />
Verschlüsseln K 1 – Entschlüsseln K 2 –<br />
Verschlüsseln K 1<br />
• Schlüssellänge 112 Bit<br />
11<br />
21
vi. Advanced Encryption Standard<br />
• Kurz AES<br />
• Im Oktober 2000 vom National Institute of<br />
Standards and Technology (NIST) als<br />
Standard bekannt gegeben nach<br />
öffentlicher Ausschreibung (Rijndael)<br />
• Arbeitet mit einer festen Blockgröße von<br />
128 Bit<br />
• Die Schlüssellängen kann 128 Bit(10<br />
Runden), 192 Bit(12) oder 256 Bit (14)<br />
betragen<br />
12<br />
21
vi. Advanced Encryption Standard<br />
* Schlüsselexpansion<br />
* Vorrunde<br />
Ablauf<br />
o KeyAddition (Rundenschlüssel[0])<br />
* Verschlüsselungsrunden (wiederhole solange Runde < R)<br />
o SubBytes()<br />
o ShiftRow()<br />
o MixColumn()<br />
o KeyAddition(Rundenschlüssel[runde])<br />
* Schlussrunde<br />
o SubBytes()<br />
o ShiftRow()<br />
o KeyAddition(Rundenschlüssel[R])<br />
13<br />
21
vi. Advanced Encryption Standard<br />
Schlüsselexpansion<br />
• Hierzu wird der geheime Schlüssel des Anwenders expandiert,<br />
indem rekursiv abgeleitete 4-Byte-Wörter an diesen<br />
Anwenderschlüssel angehängt werden<br />
Quelle: de.wikipedia.org<br />
14<br />
21
vi. Advanced Encryption Standard<br />
KeyAddition()<br />
• Bitweise XOR-Verknüpfung zwischen dem Block und dem<br />
aktuellen Rundenschlüssel<br />
Quelle: de.wikipedia.org<br />
15<br />
21
vi. Advanced Encryption Standard<br />
SubBytes()<br />
• Im ersten Schritt jeder Runde wird für jedes Byte im<br />
Block ein Äquivalent in der S-Box gesucht.<br />
• Basiert auf mathematischen Operationen<br />
• Implementierung effizienter als Berechnung<br />
Quelle: de.wikipedia.org<br />
16<br />
21
vi. Advanced Encryption Standard<br />
ShiftRow()<br />
In diesem Schritt werden die Zellen um eine bestimmte<br />
Anzahl von Spalten nach links verschoben. Überlaufende<br />
Zellen werden von rechts fortgesetzt<br />
Quelle: de.wikipedia.org<br />
17<br />
21
vi. Advanced Encryption Standard<br />
MixColumn()<br />
• Schließlich werden die Spalten vermischt. Es wird<br />
zunächst jede Zelle einer Spalte mit einer Konstanten<br />
multipliziert und anschließend die Ergebnisse XOR<br />
verknüpft.<br />
Quelle: de.wikipedia.org<br />
18<br />
21
vi. Advanced Encryption Standard<br />
* Schlüsselexpansion<br />
* Vorrunde<br />
Ablauf<br />
o KeyAddition (Rundenschlüssel[0])<br />
* Verschlüsselungsrunden (wiederhole solange Runde < R)<br />
o SubBytes()<br />
o ShiftRow()<br />
o MixColumn()<br />
o KeyAddition(Rundenschlüssel[runde])<br />
* Schlussrunde<br />
o SubBytes()<br />
o ShiftRow()<br />
o KeyAddition(Rundenschlüssel[R])<br />
19<br />
21
vii. Praxis: TrueCrypt<br />
• TrueCrypt ist ein kostenloses Open-Source-Programm zum sicheren<br />
Verschlüsseln einzelner Daten oder des ganzen Systems.<br />
• download: http://www.truecrypt.org/<br />
• Für Windows 7/Vista/XP, Mac OS X und Linux<br />
• akt. Version 6.3a<br />
20<br />
21
Quellenverzeichnis<br />
Bücher:<br />
• Kryptologie - Albrecht Beutelspacher<br />
• <strong>Kryptographie</strong> in Theorie und Praxis - A. Beutelspacher, H. B.<br />
Neumann, T. Schwarzpaul<br />
• Einführung in die <strong>Kryptographie</strong> - Buchmann<br />
• Sichere Netzwerkkommunikation - R. Bless, S. Mink, E.-O. Blass, M.<br />
Conrad, H.-J. Hof, K. Kutzner, M. Schöller<br />
• <strong>Kryptographie</strong> - Dietmar Wätjen<br />
• IT-Sicherheit - C. Eckert<br />
Internet:<br />
• de.wikipdeia.org<br />
• en.wikipedia.org<br />
21<br />
21