02.10.2013 Aufrufe

Symmetrische Kryptographie

Symmetrische Kryptographie

Symmetrische Kryptographie

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!