Sie sind auf Seite 1von 26

KV Kryptographie Zusammenfassung

1. Grundlagen der Kryptographie


1.1 historische Entwicklung
Erste Phase: per Hand verschlüsselt, zweite Phase (1920-1970) mit speziellen Maschinen und in der
dritten Phase übernimmt der Computer die zentrale Rolle

Altertum: Hieroglyphen, Skytale (Holzstab mit Band), Cäsar-Chiffre (Monoalphabetische Substitution)


Mittelalter: in Klöstern betrieben, ab 15. Jhdt. Blühende Wissenschaft, 1587 Babington-Komplott
17. Jhdt.: „Schwarze Kammern“: wichtige Postsendungen wurden an schwarze Kammern umgeleitet
und innerhalb weniger Stunden kopiert, neu versiegelt und weitergeleitet – Behörde war somit nicht
sichtbar – Zwang dazu, polyalphabetische Verschlüsselungen zu nutzen!
19. Jhdt.: Beale Chiffre (1822/1885), weist angeblich zu Schatz ($ 20 Mio.) – es wurde erst die zweite
von 3 Chiffren gelöst.

Zeitalter der Kryptomaschinen (Wheatstone, Jefferson, Enigma)


ENIGMA:

Entschlüsselung der Enigma:


1931 gelangen Enigmapläne nach Frankreich und Polen.
1939 Aufbau von Bletchley Park (GB), bis zu 7.000 Beschäftigte, A. Turing kommt zum Team, nach
Kriegsende Geheimhaltung bis 1974

Kryptographie nach dem 2. Weltkrieg


Nur im militärischen Bereich. 1973: Standard für sichere Kommunikation soll entwickelt werden.
1977: Veröffentlichung des DES

1.2 Grundbegriffe & elementare Techniken


Steganographie
verdecktes Schreiben – es wird die Kommunikation, nicht der Inhalt, versucht geheim zu
halten (Bsp.: Wachs von Tafeln abschaben, Sklaven Kopf rasieren, unsichtbare Tinte)
Wird die Kommunikation entdeckt, ist die Sicherheit verloren! Lösung:
Kryptographie
Inhalt der Kommunikation selbst wird verschlüsselt
Transpositions-Chiffren
Klartext bleibt an sich erhalten, Zeichen werden lediglich permutiert (Sicherheit enorm: bei
Klartext der Länge n sind n! verschiedene Transpositionen möglich)
Monoalphabetische Substitution
Ersetze jedes Zeichen im Klartext durch ein anderes Zeichen im Chiffrat. In Europa im 1.
Jahrtausend absolut dominante Technik. Im 9. Jhdt. das erste Mal von arabischem Gelehrten
durch Häufigkeitsanalyse gebrochen

Vorlagenfolien: Dr. Josef Scharinger Seite 1 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Polyalphabetische Substitution
Nutze 2 oder mehrere Geheimtextalphabete – Vigenere (1586) Verschlüsselung nutzt 26
Geheimtextalphabete. Mit Häufigkeitsanalyse nicht zu brechen. 1860 von Babbage und
Kasiski gebrochen.

Aufgaben:
- Geheimhaltung/Vertraulichkeit: kein unbefugtes Mitlesen möglich
- Integrität/Änderungsschutz: unbemerktes Ändern der Nachricht nicht möglich
- Authentifizierung/Fälschungsschutz: eindeutige Herkunft der Nachricht muss überprüfbar sein
- Verbindlichkeit: Sender kann das Abschicken der Nachricht später nicht leugnen

Gebiete:
- Kryptographie (Absicherung von Nachrichten)
- Kryptanalyse (Aufbrechen von Chiffren)
- Kryptologie (Zweig der Mathematik, der Kryptographie und Kryptanalyse umfasst)

Begriffe:
- M (Message): Klartext
- E (Encryption): Verschlüsseln
- C (Chiffrat): verschlüsselte Nachricht
- D (Decryption): Entschlüsseln
Kryptographischer Algorithmus besteht aus 2 mathematischen Funktionen, welche E und D
realisieren. Diese werden in der modernen Kryptologie meist öffentlich bekannt angenommen
Sicherheit durch Verwendung von Schlüsseln KE und KD aus mächtigem Schlüsselraum gegeben

Klassen von Kryptosystemen: (Kryptosystem besteht aus Algorithmus, allen möglichen Klartexten,
Chiffretexten und Schlüsseln)
- symmetrische Kryptosysteme: K=KE=KD, private-key-Systeme, K ist geheim zu halten!
Unterteilung in Block- und Stromchiffren
- asymmetrische Kryptosysteme: KE≠KD, public-key-Systeme, KE ist öffentlich, KD geheim

Kryptoanalyse:
- Annahme: Angreifer kennt Algorithmus und Kommunikation
- Gesucht: Klartext, Schlüssel oder Weg um Klartext in Zukunft lesen zu können
- Angriffsszenarien:
o Ciphertext-only: Über den Inhalt des verschlüsselten Textes ist nichts bekannt
o Known-plaintext: Teile des Inhaltes und der Verschlüsselung sind bekannt
o Chosen-plaintext: Angreifer hat beliebige Klartexte zur Verfügung
o Adaptive chosen-plaintext

1.3 perfekte Sicherheit


Sicherheit von Algorithmen:
- uneingeschränkt sicher: M auch dann nicht ermittelbar, wenn C beliebig verfügbar ist (nur
One-Time-Pads genügen diesem Anspruch)
- alle anderen Algorithmen sind prinzipiell mit brute-force Angriffen zu brechen
- starke Algorithmen sind mit derzeitigen und künftig absehbaren Ressourcen (Daten, Zeit,
Speicher) nicht zu brechen

One-Time-Pads (das perfekte Verschlüsselungskonzept – 1917 entdeckt)


- verwende sehr lange (mind. Länge Klartext) Folge von zufällig gewählten
Schlüsselbuchstaben und addiere diese (modulo) zum Klartext
- wichtig: Zufallsfolge darf nur einmal verwendet werden
- Zufälligkeit: Addition der zufällig gewählten Schlüsselsequenz zum Klartext generiert völlig
willkürliches Chiffrat und garantiert Sicherheit des Systems. (Probleme sind die Zufallsfolge
sowie Schlüsselweitergabe und Synchronisation von Sender und Empfänger)
- Bietet höchste Sicherheit bei niedrigster Bandbreite

1.4 Sicherheit in der Praxis


Sichere Verfahren mit n-Bit langen Schlüsseln haben Sicherheit der Ordnung 2n. Algorithmus gilt als
gebrochen, wenn Aufwand für Angriff signifikant weniger als 2 n beträgt.

Vorlagenfolien: Dr. Josef Scharinger Seite 2 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

2. Symmetrische Blockchiffren
2.1 DES - Data Encryption Standard
historische Entstehung
Anfang der 70er: militärische (NSA) Kryptologie auf hohem Niveau, zivil jedoch kaum
öffentliche Erkenntnisse. 1973 Ausschreibung – keine passenden Einsendungen.
1974 2. Ausschreibung. Vorschlag von IBM, basierend auf LUCIFER (Horst Feistel). Viel Kritik
wegen Mitwirkung der NSA. 1977 offizielle Freigabe des DES als Standard. Tripple DES als
nützliche Übergangslösung, 1997: AES Projekt startet

Beschreibung
DES beruht auf LUCIFER (IBM, Horst Feistel – Deutscher der nach Amerika emigrierte).
Grundstruktur: Symmetrischer Blockchiffrierer auf 64 Bit große Datenblöcke, Schlüssel
56+8=64 Bit, Sicherheit beruht auf geheimem Schlüssel. 16 Runden Permutation und
Substitution
Eingangspermutation: Erfolgt vor erster Verschlüsselungsrunde, hat keine Auswirkung auf
Sicherheit, wird nach Abarbeiten der 16 Runden invertiert.
Eine Permutationsrunde: zerlege Datenblock Bi-1 in linke (Li-1) und rechte (Ri-1) Hälfte. Eine
Runde liefert dann Li = Ri-1 bzw. Ri = L i-1 ⊕ f(R i-1, K i). Funktion f: Permutation und Substitution
Key-Schedule: vor der Verschlüsselung wird der 64 Bit Schlüssel auf einen 56 Bit Schlüssel
reduziert (8 Parity/Kontroll-Bits einfach weglassen). Während Verschlüsselung: pro Runde ein
zyklischer Shift der beiden 28 Bit Hälften um 1 oder 2 Stellen
Expansion der rechten Hälfte: Expandiert Ri-1 von 32 auf 48 Bit (Expansionspermutation). Das
erste und vierte Bit jeder 4-Bit Eingabegruppe wird doppelt in den Ausgabeblock
übernommen. Nötig, um expandierte Hälfte per XOR zum komprimierten Schlüssel addieren
zu können. Nach XOR: Input von 48 Bit für nachfolgende S-Box.
S-Boxen: Prinzip: Substitution erfolgt in 8 S-Boxen, von denen jede 6 Bit Input in einen 4 Bit
Output transformiert. Ist wichtigste Phase im DES. Ergebnis: 8 mal 4 Bit = 32 Bit Block.
Arbeitsweise: S-Box besteht aus 4 Zeilen und 16 Spalten. Jeder Input hat 6 Bit, davon werden
das erste und letzte zur Indizierung der Zeile und die mittleren 4 Bit als Referenz auf die
Spalte interpretiert. Als Output wird der angesprochene Wert als 4 Bit Binärzahl geliefert.
P-Box (Permutationsbox): Transportiert den 32 Bit Output der S-Boxen. Kein Bit wird
mehrfach verwendet und keines wird ignoriert (=Permutation). Das Ergebnis wird
anschließend noch mit der linken Hälfte Li-1 XOR verknüpft, dann werden linke und rechte
Hälfte vertauscht und eine neue Runde kann beginnen.
Entschlüsselung: Trotz Komplexität kann man mit gleichem Algorithmus ver- und
entschlüsseln. Rundenschlüssel müssen vom Key-Schedule in umgekehrter Reihenfolge zur
Verfügung gestellt werden. Trivial, da die zyklischen Links-Shifts durch entsprechende
Rechts-Shifts zu ersetzen sind.

Feistel-Struktur DES

Vorlagenfolien: Dr. Josef Scharinger Seite 3 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Sicherheit
Sicherheitsbedenken: Rolle der NSA bei der Entwicklung, geringe Schlüssellänge, Anzahl
Runden, Design der S-Boxen (Hintertüren?)
Sicherheitsfakten: Hat allen Angriffen langen Zeitraum standgehalten. Angriffe: Brute-Force

Varianten & Betriebsmodi


ECB – Electronic Code Book: Klartextblöcke werden unabhängig voneinander verschlüsselt.
Gleiche Inputblöcke ergeben gleiche Outputblocks (=Muster erkennbar), was Angriffe
erleichtert. Ver- und Entschlüsselung parallelisierbar.
CBC – Cipher Block Chaining: Jeder Klartextblock wird vor Verschlüsselung mit dem
vorhergehenden Chiffratblock XOR verknüpft -> keine Muster im Chiffrat. Entschlüsselung
parallelisierbar (Verschlüsselung nicht)
CFB – Cipher Feedback: vorhergehender Chiffratblock wird verschlüsselt und mit aktuellem
Block XOR zum Chiffrat verknüpft. Muster werden verborgen. Entschlüsselung parallelisierbar,
Verschlüsselung nicht.
OFB – Output Feedback: Sequenz Si wird durch i-fache Verschlüsselung aus s0 (unabhängig
von M oder C) generiert und XOR zum Klartext addiert. Muster werden verborgen, minimiert
Auswirkungen von Übertragungsfehlern. Schwer parallelisierbar.

ECB CBC CFB OFB

Welcher ist der beste Modus?


ECB einfach und schnell, aber unsicher. OFB für Hochgeschwindigkeitsverbindungen.
CBC als einziger im Bankenbereich für alle Aufgaben zertifiziert.
Nachfolger
Tripple-DES: Höhere Sicherheit als DES, da DES keine Gruppe. 3 unabhängige Schlüssel
erhöhen die Komplexität eines Angriffes nicht auf 2168!
DES2000++ das AES Projekt

2.2 Vom DES zum AES


IDEA (von James Massey)
Blockgröße 64 Bit, Schlüssellänge 128 Bit. Designziele: Konfusion & Diffusion. Konzept dazu:
mischen von Operationen aus verschiedenen algebraischen Gruppen (XOR, modulo)
Detail: 8 Runden inkl. Ausgabetransformation. Jede Runde wendet ADD, MULT und XOR auf
16 Bit Blöcke an. Key-Schedule: 52 Teilschlüssel zu 16 Bit werden aus 128 Bit Schlüsseln im
Wesentlichen durch zyklische Verschiebung um 25 Stellen generiert. Entschlüsselung gleich
(bis auf Key-Schedule).
Sicherheit: 128 Bit Schlüssel: Brute-Force Angriffe würden zu lange dauern. Weak-Keys zu
geringe Wahrscheinlichkeit. 3-fach Verschlüsselung würde Sicherheit nochmals signifikant
erhöhen -> derzeit keine Sicherheitsbedenken

SKIPJACK (von der NSA)


Seit 1993 Sicherheit des Algorithmus bestätigt. Seit 1998 Details veröffentlicht. Skipjack ist
Teil von Clipper & Capstone. Kann mit richterlicher Vollmacht von Justiz abegehört werden.
Symmetrischer 64 Bit Blockverschlüsselungsalgorithmus mit 80 Bit Schlüssel. (OFB, CFB und
CBC verwendbar). Struktur im Wesentlichen ein 4 Runden Feistel-Netzwerk, Vgl. S-Boxen
beim DES

AES (der Advanced Encryption Standard als offizieller DES Nachfolger)


Ziele: Entwicklung eines Krypto-Standards, der Schutz sensibler Informationen über ein
Jahrzehnt lang halten soll. Verwendung militärisch als auch privat. Öffentlicher lizenzfreier
Algorithmus. Symmetrischer Blockchiffrierer mit 128 Bit Blöcken und 128, 192 und 256 Bit
Schlüsseln. Entwicklung von 1997 – 2002 bis zur effektiven Inkrafttretung
Nach Ausschreibung: Gewinner ist Rijndael: Kombination von Substitutionen und linearen
Transformationen in 10, 12 oder 14 Runden. Datenblock in 4-zeiliges Byte-Feld zerlegen. Alle

Vorlagenfolien: Dr. Josef Scharinger Seite 4 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Operationen Byte-orientiert. 4
Ebenen pro Runde (S-Box
Substitution, lineares
Durchmischen in Ebenen 2 und
3, Addition von
Rundenschlüsseln zum
Datenblock)

Teiloperationen einer AES Runde

Vorlagenfolien: Dr. Josef Scharinger Seite 5 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

3. Symmetrische Stromchiffren
3.1 Arbeitsweise

PRNG = Pseudo-Random Number Generator. In Abhängigkeit von einem geheimen Schlüssel K wird
ein Bit-Strom (Schlüsselstrom ki) erzeugt und mit Klartext Bit-/Byteweise per XOR verknüpft

3 Unterschiede zu Blockchiffren
Blockchiffren bearbeiten Daten mit fester Transformation und behandeln immer große Blöcke
Stromchiffren arbeiten mit zeitabhängigen Transformationen und behandeln Text bit/byteweise
Beachte bei Stromchiffren:
Schlüssel K darf nie mehrmals verwendet werden, denn wenn C1i und P1i bekannt (oder zu
erraten) sind, dann liefert C1i XOR P1i = (P1i XOR Ki) XOR P1i = Ki
Und: XOR von 2 Chiffraten eliminiert Ki, gibt also XOR von zwei Klartexten, woraus 2 Klartexte
leicht ablesbar sind!

3.2 Erzeugung von Pseudo-Zufallszahlen


PRNS = Pseudo-Random Number Sequence, Folge von Pseudo-Zufallszahlen, werden bei
Stromchiffren per XOR zum Klartext addiert.
Anforderungen an PRNS: gute Gleichverteilung der Werte, sehr lange Periode und keine Möglichkeit,
den Starzustand (K) aus der Folge zu ermitteln
2 Ansätze: LCG (Lineare Kongruenzgeneratoren) und LFSR (rückgekoppelte lineare Schieberegister).
Beide Ansätze in ihrer primitiven Form kryptologisch unsicher
- LCG
Formel Xn+1 = (aXn+b) mod m. bei geeigneter Wahl des Multiplikators a, des Inkrements b und
des Moduls m ist maximale Periode m erreichbar. Gute Statistik und schnell implementierbar.
LCG ist aber unsicher, auch quadratische und kubische Generatoren
- FSR (Feedback Shift Registers)
Bausteine aus der Urzeit der Elektronik. Viele Chiffren basieren auf FSR. Besteht aus
Schieberegister und
Rückkopplungsfunktion

3.3 Lineare Schieberegister-Generatoren


Rückkopplungsfunktion ist linear. Einfach die XOR
Verknüpfung bestimmter Bits des Schieberegisters. Tap
Sequence: Liste der Bit, welche in das XOR
(=Rückkopplungsfunktion des LFSR) eingehen

Maximal-periodische LFSR
Die Periode eines n-Bit Schieberegisters (SR) ist die minimale Zeit, bis ein interner Zustand
erneut auftritt. (max. Periode bei n-Bit LFSR liegt bei 2n-1).

Vorlagenfolien: Dr. Josef Scharinger Seite 6 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Primitivpolynome
Definition: ein irreduzibles Polynom P(x) vom Grad n, welches xm+1 mit m=2n-1 teilt.
Teilbarkeit gilt jedoch für kein kleineres m
Informell: ein Primitivpolynom ist gleichsam eine Primzahl unter den Polynomen, ist also durch
kein anderes Polynom teilbar.
Auffinden: teste Kandidaten probabilistisch und finde Polynome, die mit sehr hoher
Wahrscheinlichkeit Primitivpolynome sind. Praxis: umfangreiche Standardtabellen

Das zugehörige MLFSR (modulare lineare Feedback Shift Register)


Gegeben: Primitivpolynom P(x) vom Grad n. n bezeichnet die Länge des Schieberegisters
Nummeriere zunächst die Bits im LFSR von n-1 bis 0 von links nach rechts abfallend durch
Die Koeffizienten ai bei den Potenzen von xi (inklusive a0) liefern dann die tap-sequence

Angriffe gegen LFSR


- Lineare Komplexität einer Pseudo-Zufallsfolge: Lineare Komplexität bezeichnet Länge des
kürzesten LFSR, welches die Ausgabe des Generators simuliert. Faktum: wenn lineare
Komplexität gleich n ist, dann kann mittels Massey-Berlekamp Algorithmus aus 2n Ausgabebit
der Starzustand errechnet werden. Bei einem einzelnen LFSR der Länge n ist die lineare
Komplexität <= n, einzelnes LFSR also leicht brechbar
- Korrelations-Attacken: Angreifer sucht dabei Korrelationen zwischen der Ausgabe und den
Werten einer internen Komponente. Bei einem einzelnen LFSR ist dies sehr leicht möglich
- Konsequenz: einzelnes LFSR ist unsicher. Wichtig also: Wahl einer guten Combiner-Funktion

Kombination von LFSR


Sind die Längen der einzelnen LFSR zueinander relativ prim gewählt, so kann der Generator
maximale Periode haben. Schlüssel: Anfangszustände der einzelnen LFSR. Kunst bei dieser
Anordnung: nicht-lineare Kombination von einigen Bit der einzelnen LFSR zum tatsächlichen
Ausgabe-Bit

Geffe Generatoren
Nicht-lineare Kombination von Ausgabewerten der verschiedenen LFSRs durch Selektion
über LFSR-1. Enorme Periode bei guter Wahl der einzelnen FSR. Mittels Korrelations-Attacke
durchaus zu brechen. Intelligentere Wahl der Combiner-Funktion gefragt

Stop-And-Go Generatoren
Benutzen die Ausgabe von LFSR-1, um den Takt von anderen LFSR zu steuern; diese ändern
ihren inneren Zustand nur, wenn der Takt Eins ist. große Periode und hohe lineare
Komplexität. Eventuell Probleme bei Korrelations-Angriffen

3.4 RC4 (RSAInc, Netscape)


Wegen seiner Schnelligkeit, Kompaktheit und Sicherheit weit verbreitet (Netscape, Apple, Oracle).
Problem: Exportbeschränkungen der USA schränkten in der Vergangenheit die erlaubte
Schlüssellänge massiv (zB auf 40 Bit) ein.

Arbeitsweise
i = (i+1) mod 256
j = (j + Si) mod 256
vertausche Si und Sj
t = (Si + Sj) mod 256
K = St
Seien die Si Einträge einer S-Box, welche eine Permutation der Werte zwischen 0 und 255 enthält
i, j sind mit Null initialisiert; zum Verschlüsseln (und Entschlüsseln) wird jeweils ein Zufallsbyte K
generiert und mittels XOR zum Klartext addiert

Key-Schedule
Für i = 0 bis 255:
j = (j + Si + Ki) mod 256, vertausche Si und Sj
Schlüssellänge ist variabel und kann bis zu 2047 Bit betragen. Fülle zunächst die S-Box S linear,
S0=0,…,S255=255 und ein Feld K gleicher Größe durch periodische Wiederholung des Schlüssels.
Anschließend setze j=0 und führe obige Schleife durch. Damit ist die S-Box initialisiert, die sich im
Laufe der Zeit dann langsam aber stetig verändert

Vorlagenfolien: Dr. Josef Scharinger Seite 7 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Sicherheit
Besitzt 21700 verschiedene Zustände, wobei angeblich kein Zyklus kleiner als 10100 ist. Soweit bekannt
und untersucht, sicher gegen lineare und differentielle Kryptoanalyse. Probleme treten auf, wenn
Schlüssel in großen Teilen über längere Zeit konstant bleibt oder die ersten Output Bytes (1-3 KB)
nicht verworfen werden (stark mit Schlüssel korreliert).

3.5 SEAL (IBM) (Software-Optimized Encryption Algorithm)


Neues Konzept: schlüsselabhängige Familie von Zufallsfunktionen fn(a), wobei a der Schlüssel und n
der Index der Funktion ist. Generiere damit gewünschte (n-te) Zufallsfolge der Länge L und addiere
diese per XOR zum Klartext. Vorteile: Verschlüsselung Sektorweise möglich. Decodieren nur ab
Sektoranfang nötig (damit bei Bedarf rascherer Zugriff auf das i-te Bit im Datenstrom)

Bedeutung von Tabellen in SEAL


Designprinzip: Tabellengesteuerter Ansatz führt zu leichter entwickelbaren und extrem schnellen
Chiffren (nur 5 CPU Operationen je Byte). Schlüssel a geht nur in Tabellenerstellung ein. Tabellen
benötigen in Summe etwa 3K und werden im Wesentlichen mittels SHA-1 mit Werten befüllt.
„Runden-Index“ (läuft bis genug Zufallsbits generiert wurden) und Funktions-Index n steuern nach
erfolgter Tabellenerstellung in Kooperation mit Tabellen die Generierung des Schlüsselstroms
(Schlüssel a fliesst hier nicht mehr direkt ein!)

Zusammenfassung
Entwicklung begann 1992. In aktueller Version 3.0 wurde SHA durch SHA-1 ersetzt und SEAL weiter
gegen Angriffe (Chi-Quadrat Attacke) gestärkt. Derzeit wichtigste bekannte Schwäche: Angriff kann
SEAL-Output von echter Zufallsfolge unterscheiden; dies stellt aber momentan keine akute Gefahr
dar. SEAL ist für 32 Bit Prozessoren optimiert; nach erfolgter Initialisierung (Tabellengenerierung)
können Daten mit durchschnittlich 4-5 CPU Instruktionen pro Byte verschlüsselt werden. Einer der
schnellsten und sichersten Algorithmen

3.6 A5 (GSM)
4 Algorithmen:
- A5/2 (Export, nur 16 Bit Schlüssel)
- A5/1 (Europa, 64 Bit Schlüssel, angeblich stark)
- A3 & A8 für Authentifizierung und Schlüsselerzeugung

Prinzip: basiert auf 3 LFSR mit den Längen 19, 22 und 23, was 64 Bit Schlüssel ergibt. Sind durch 3
Primitivpolynome bestimmt

Arbeitsweise:

Stop/go: Register werden abhängig von ihrem mittleren Bit und invertiertem Schwellenwert getaktet
Mechanismus so gewählt, dass immer mind. 2 der 3 Register in jedem Takt tatsächlich Go-Impuls
bekommen

Vorlagenfolien: Dr. Josef Scharinger Seite 8 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Zusammenfassung
Ist in HW sehr schneller Stromchiffrierer und besteht alle statistischen Standardtests. Aber: massive
Sicherheitsbedenken: Register reichlich kurz, Polynome eher dünn besetzt, Implementierungen
setzen 10 Bit einfach Null, Brute-force Angriffe damit durchaus denkbar
Aktueller Stand: A5/2 angeblich in 5 Taktzyklen zu brechen. A5/1 in weniger als 1 Sekunde
Nachfolger: A5/3: soll den UMTS Blockchiffrierer KASUMI verwenden, der auf japanischem MISTY
Algorithmus beruht!

3.7 Generierung echter Zufallsfolgen


- Echte Zufallsfolgen haben geforderte statistische Eigenschaften und sind nicht reproduzierbar
- Zufälliges Rauschen in der Physik
- Verwendung von Computeruhr (nur sinnvoll, wenn Interrupts passieren)
- Messung von Tastaturverzögerungen
- Destillieren mittels Hashfunktionen aus CPU-Auslastung, Mausbewegungen, Tastendruck, etc.

Vorlagenfolien: Dr. Josef Scharinger Seite 9 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

4. Asymmetrische Kryptosysteme
4.1 Allgemein
Negative Aspekte von Symmetrischen Kryptosystemen:
− gesamte Sicherheit beruht auf geheimen Schlüssel den Sender und Empfänger kennen, sonst
niemand
− Schlüsselaustausch muss über sicheren Kanal erfolgen
− verschiedene Schlüssel für alle Partner notwendig
− n Teilnehmer erfordern n(n-1)/2 also O(n2) Schritte beim Schlüsselaustausch

Asymmetrische Lösung:
− Es gibt nicht einen geheimen Schlüssel zum Ver-/Entschlüsseln der Nachricht sondern
− Schlüsselpaar KE (Verschlüsseln, öffentlich)und KD (Entschlüsseln, geheim)

Anforderungen:
− Schlüssel müssen sich in Ihrer Wirkung invertieren
− Mit KE darf KD nicht berechenbar sein
Vorteile:
− Schlüsselverteilung über unsichere Kanäle möglich
− Es wird nur 1 Schlüsselpaar für alle Partner verwendet

Einwegfunktionen:
Funktion ist praktisch nur mit der Kenntnis eines zusätzlichen Geheimnisses umkehrbar
Beispiele für Einwegfunktionen:
Diskretes Logarithmusproblem
− Potenzieren großer Zahlen in endlichen Körpern ist relativ einfach, aber die Berechnung von
Logarithmen in diesen Körpern ist sehr schwierig
− Berechnung von X = gx mod n ist einfach, wenn g,x,n gegeben sind, aber das finden von x
wenn g,X,n gegeben sind, ist sehr schwierig
Faktorisierungsproblem
− Multiplikation großer Zahlen ist relativ einfach, aber das Faktorisieren (Zerlegung in
multiplikative Faktoren) einer großen Zahl ist schwierig
− Berechnung von N = p*q ist einfach, aber das Finden von p und q wenn N gegeben ist, ist
schwierig

4.2 Rucksackproblem
Gegeben sei eine Reihe von Objekten mit unterschiedlichen Gewichten; kann durch Auswahl von
passenden Objekten ein Rucksack mit vorgegebenem Gewicht gepackt werden?

Bsp:
Gegeben: M1,M2;M3....Mn und eine Summe S
Gesucht: bj, sodass S = b1M1+b2M2+ … + bnMn

− Die Idee besteht darin, eine zu sichernde Nachricht als Lösung eines Rucksackproblems zu
codieren. Blockgröße gleich der Länge der Liste von Objekten
− Klartext-Bit entsprechen den Werten bi des Rucksackproblems; Die Summe ist das Chiffrat →
sicher, da Rucksack-Problem NP-vollständig ist
− Codierung mit Rucksäcken extrem sicher, aber wie kann man vernünftig decodieren?

Lösung: führt über ein „leichtes“ Rucksack-Problem, welches in einen „schweren“ Rucksack
transformiert werden kann
öffentlicher Schlüssel: schweres Problem, mit dem aber leicht codiert werden kann
privater Schlüssel: einfaches Rucksack-Problem, das leicht zu entschlüsseln ist
− Rucksack-Problem wird dann trivial, wenn die Liste der Objekte „superincreasing“ ist
− jedes Element ist größer als die Summe aller Vorgänger; z.B. (1, 3, 6, 13, 27, 55)

Vorlagenfolien: Dr. Josef Scharinger Seite 10 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Lösung:
beginne mit größtem Element; hat es Platz, so gib es in den Rucksack, sonst nicht;
gehe weiter zum nächst kleineren Objekt und verfahre analog - terminiert in jedem Fall in linearer Zeit!

Umwandlung eines leichten Rucksacks in einen schweren Rucksack mittels mod

Der leichte Rucksack dient als privater Schlüssel, aus diesem wird der schwere Rucksack generiert,
welcher als öffentlicher Schlüssel zum Verschlüsseln dient

öffentlicher Rucksack: 62, 93, 81, 88, 102, 37 und hat 6 Elemente, kann somit Datenblöcke der Länge
6 verarbeiten. Das Chiffrat dieses Klartextes wäre 174, 280, 333.
Als privater Schlüssel dient der Multiplikator a = 31, der Modul m = 105 und der leicht zu
handhabende (weil superincreasing (jedes Element größer als die Summer der Vorgänger)) Rucksack
(2, 3, 6, 13, 27, 52).
Inversion von a modulo m gibt zunächst a-1 = 61

Entschlüsselung erfolgt also durch Multiplikation mit a-1 mod m und anschließende Darstellung dieses
Wertes mit dem privaten leichten Rucksack.

Rucksack Zusammenfassung
Erste Idee zur Public Key Verschlüsselung.
Stärke: NP-Vollständiges Problem; Sichere Realisierung erfordert rechnen mit Zahlen die 100-te Bit
lang sind. Umwandlung zwischen öffentlichen und privaten Schlüssel kryptoanalytisch zu schwach.

4.3 Diffie-Hellman
Funktionsweise:
− Erster sicherer Public-Key Algorithmus
− Ermöglicht Kommunikationspartnern Schlüsselaustausch über unsichere Leitung
− Ver-/Entschlüsselung nicht möglich
− ist sicher weil die Berechnung von Logarithmen in endlichen Körpern als hartes Problem gilt

1) Beide Partner einigen sich auf eine große Primzahl n und ein Zahl g
2) Erster Partner wählt zufällig x und sendet X = gx mod n
3) Zweiter Partner wählt zufällig y und sendet Y = gy mod n
4) Beide Partner potenzieren mit dem erhaltenen Wert und erhalten den Schlüssel
K = gxy mod n

Vorlagenfolien: Dr. Josef Scharinger Seite 11 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Warum funktioniert DH?


Partner 1 berechnet K1 = Yx mod n = gyx mod n,
Partner 2 berechnet K2= Xy mod n= gxy mod n;
offensichtlich ist K1= K2

Angreifer, der den Kanal abhört, belauscht nur g, n, X und Y, kann aber x oder y nicht ermitteln
(diskretes Logarithmus-Problem)
K = gxy mod n stellt somit den geheimen Schlüssel für eine gesicherte Sitzung mit symmetrischer
Kryptographie dar

4.4 ElGamal
Kann für Ver-/Entschlüsselung verwendet werden, sowie für digitale Unterschriften. Sicherheit beruht
auf Logarithmen in endlichen Körpern. Wird als Verallgemeinerung von DH gesehen.

p... Primzahl (kann von mehreren Benutzern verwendet werden)


g < p (kann von mehreren Benutzern verwendet werden)
y = gx mod p

Privater Schlüssel: x < p (Schlüsselvereinbarung in einem Durchgang)

Verschlüsselung
k relativ prim zu p-1
a (Chiffretext) = gk mod p
b (Chiffretext) = yk M mod p

Entschlüsselung
M(Klartext) = b/ax mod p

Euklid´scher Algorithmus
In der Kryptographie ist vor allem der erweiterte Euklid´sche Algorithmus von Bedeutung.
− Findet modulo einem Modul m passablen effizient das inverse Element bezüglich der
Multiplikation modulo m zu einer Zahl x
− wenn gegeben Zahl x und Modul m
− dann finde ein x-1, sodass x*x-1 = 1 mod m

4.5 Schlüsselvergabe bei RSA:


Schlüsselvergabestelle wählt zwei große Primzahlen p, q und bildet Produkt n = pq, sodann berechnet
sie Φ(n) = (p-1)(q-1). Schließlich sucht sie zwei Zahlen e, d mit der Eigenschaft: ed mod Φ(n) = 1

Teilnehmer erhält e und n als öffentliche und d als geheimen Schlüssel zugewiesen

Angriff: Um d zu finden ist n zu faktorisieren


Sei m der Klartext, dann ergibt sich das Chiffrat c durch c = me mod n
Entschlüsselung: m = cd mod n

RSA Zusammenfassung
Sicherheit
man geht davon aus, dass der beste Angriff gegen RSA durch Faktorisieren von n in p und q
realisierbar ist
Mai 2005: RSA200 (200 Dezimalstellen = 663 Bit) zerlegt; man beachte Fortschritte, die auf RSA
Website publiziert (und von RSA Inc. gefördert) werden!

Performance
Faktor 100-1000 langsamer als symmetrische Verfahren; daher meist hybride Systeme mit RSA für
Schlüsselaustausch und Signaturen, aber symmetrische Methoden für Massendaten

Vorlagenfolien: Dr. Josef Scharinger Seite 12 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

5. Digitale Signaturen
ZIEL: Digitale Signatur soll die handschriftliche
Unterschrift ersetzen

→ Verträge in einer Weise signieren, dass


Authentizität und Integrität gesichert sind und
Unterschriften nicht geleugnet werden können
In der Praxis sind asymmetrische Systeme
vorherrschend. Digitale Signaturen wären
auch über symmetrische Systeme realisierbar,
allerdings erfolgt dann die Erzeugung und
Überprüfung nur innerhalb geschlossener
Gruppen

Signaturbildung
Die zu signierenden Daten werden erst mit
einer kryptographischen Hashfunktion zu
einem Fingerabdruck komprimiert und
anschließend mit einem privaten Schlüssel
signiert.

Signaturüberprüfung
Signatur (gemeinsam mit den
unterschriebenen Daten übertragen) -Prüfung,
wobei der Empfänger Authentizität und
Integrität der Nachricht verifiziert und
Absender das Signieren der Daten nicht
leugnen kann.

Zertifikatsstellen
Zertifikate stellen sicher, dass niemand
Schlüssel unter falschem Namen veröffentlicht

Vorlagenfolien: Dr. Josef Scharinger Seite 13 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Schlüsselgenerierung für Zertifikatsstelle


− Zertifizierungsstelle (ZS) erzeugt ein Schlüsselpaar, welches mit dem gewählten
Signaturverfahren korrespondiert
− dieses Paar wird für Zertifizierung der öffentlichen Schlüssel der Teilnehmer benötigt
− Schlüsselerzeugung für Zertifizierungsstelle (ZS) muss in sicherer Umgebung innerhalb der
ZS erfolgen
− Sicherstellung nötig, die unautorisierten Zugriff auf privaten Schlüssel verhindert

Ablauf

Schlüsselgenerierung für Teilnehmer (TN):


− Verfügt der Teilnehmer (TN) nicht über ein selbst generiertes Schlüsselpaar, so ist von der
Zertifizierungsstelle (ZS) ein solches für den Teilnehmer zu generieren
− privater Schlüssel dient zum Generieren von Signaturen
− öffentlicher Schlüssel zum Verifizieren
− WICHTIG: privater Schlüssel muss nach der Übergabe an den Teilnehmer (TN) in der
Zertifizierungsstelle (ZS) vernichtet werden
− authentische Zuordnung von Teilnehmer (TN) und Schlüsselpaar

Identitätsfeststellung – RA
− Inkludiert Registrierung der Teilnehmer (TN)
− Teilnehmer (TN) müssen sich gegenüber einem vertrauenswürdigen Dritten (ZS) ausweisen
− positive Identifizierung zieht Zuweisung eines eindeutigen Namens nach sich, unter dem
dieser Signaturen erzeugen kann.
− Zuweisung eines Pseudonyms auf Antrag des Teilnehmers möglich

Zertifizierung – CA
− Für jeden Teilnehmer (TN) ist von der Zertifizierungsstelle (ZS) ein Zertifikat (zB nach X.509)
zu erzeugen, das ua. ein Identifizierungsmerkmal, den öffentlichen Schlüssel und einen
Gültigkeitszeitraum beinhaltet
− diese Inhalte werden authentisch und unverfälschbar durch die digitale Signatur, die mit dem
privaten Schlüssel der Zertifizierungsstelle (ZS) gebildet wird, miteinander verknüpft

Personalisierung – PS
− privater Schlüssel des Teilnehmers (TN) ist auf einer geeigneten Signierkomponente (zB
Chipkarte) zu speichern (Personalisierung)
− inkludiert Aktivierung der Benutzer-Authentifizierung der Signierkomponente
(biometrische Erkennung, Passwort, etc.)
− öffentliche Schlüssel können ebenfalls auf der Signierkomponente abgelegt werden

Verzeichnisdienst – DIR
− Verzeichnis muss authentisch und integer alle Schlüsselzertifikate der Teilnehmer enthalten
− gesperrte Zertifikate müssen in der Sperrliste abgelegt sein
− Auskunft über Zeitpunkt der Sperrung muss möglich sein
− Die Sperrinformation muss jederzeit für jeden abrufbar sein
− Zertifikate selbst bzw. Informationen daraus dürfen nur mit Erlaubnis des Teilnehmers für
Dritte zugänglich gemacht werden

Vorlagenfolien: Dr. Josef Scharinger Seite 14 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Zeitstempeldienst – TSS
− In bestimmten Fällen ist es notwendig, digitale Daten authentisch mit einem bestimmten
Zeitpunkt zu verknüpfen
− diese Daten werden mit der vom Zeitstempeldienst (TSS - TimeStampService) anzubietenden
vertrauenswürdigen Zeit digital verknüpft, vom Zeitstempeldienst (TSS) signiert und
unterschrieben an den Teilnehmer retourniert

Kryptographische Hashfunktion
− H(M) verarbeitet beliebig lange Nachrichten M und erzeugt Hashwert h mit fixer Länge n
− H(M) berechnet also den Fingerabdruck von M
− Oft auch als Message Digest (message digest = Extrakt der Nachricht) Funktion bezeichnet
− Kryptographische Hashfunktionen müssen spezielle Sicherheitsanforderungen erfüllen
− Sind essentiell für das digitale Signaturverfahren sowie zu Schutz/Prüfung von Passworten

Wichtigste Anforderungen
Preimage resistance (~Einweg-Eigenschaft):
− h ist leicht aus M berechenbar, aber gegeben ein fixes h, so ist es schwer, ein M zu finden , so
dass H(M) = h
− erfüllt, wenn der Aufwand dazu bei etwa 2n liegt

Second preimage resistance


− gegeben ein fixes M, dann ist es schwer ein M' zu finden, so dass H(M) = H(M') gilt
− erfüllt, wenn der Aufwand dazu bei etwa 2n liegt

(Starke) Kollisionresistenz
− es ist schwer, beliebige M, M' mit H(M) = H(M') zu finden
− erfüllt, wenn der Aufwand dazu bei etwa 2n/2 liegt

SHA-2 (SHA-256, -384, und -512)


− Ältere Verfahren (MD5, SHA-1) bieten maximale Sicherheit der Ordnung 264 bzw. 280
− AES dagegen hat bis zu 256 Bit Sicherheit
− MD Funktionen nötig, die 128, 192 bzw. 256 Bit Sicherheit haben(256, 384, 512 Bit Mds)
− SHA-256, -384 und -512 im Jahre 2000 entwickelt, seit 2001 als FIPS verfügbar
− abgesehen von Wortlänge gleiche Architektur für SHA-256 und SHA-512;
− SHA-384 leicht als Abschneiden von SHA-512 Mds zu berechnen.

SHA-256
− eingehende Nachrichten M werden
− in 512 Bit Nachrichtenblöcke M(1), M(2), … ,M(N) zerteilt
− dies erfordert ein Auffüllen des letzten Blocks M(N)
− Bei diesem Auffüllen wird insbesondere in den letzten 64Bits die Länge der zu
verarbeitenden Nachricht M eingetragen
ausgehend von Startwert H(0) werden dann iterativ Nachrichtenblöcke M(i) gemäß H(i)=H(i-1)+CM(i)
(H(i-1)) verarbeitet, wobei Addition + mod 232 zu sehen ist
beachte: Kompressionsfunktion C ist von zentraler Bedeutung für die Sicherheit des Verfahrens
Ende: H(N) bezeichnet den Hashwert von M

Signaturen mit RSA


Die eigentliche Signaturvorschrift, die aus einem gegebenen Text m eine Signatur S berechnet, ist
eine Exponentialfunktion und lautet: S = md mod n

Bemerkung: m ist die Zahlenrepräsentation der zu signierenden Nachricht. M muß dabei immer
kleiner als n sein. Dies wird zB durch die Anwendung von Hashfunktionen erreicht.

Verifizieren kann man durch m' = Se mod n. Ist nun m' gleich m, ist die Signatur gültig.
Die Signatur wird mit privatem Schlüssel d erzeugt und mit öffentlichem Schlüssel e und n geprüft

Vorlagenfolien: Dr. Josef Scharinger Seite 15 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

6. ECC – Kryptographie mit elliptischen Kurven


als Alternative zu etablierten asymmetrischen Kryptosystemen (DH, DSA, ElGamal) in
beschränkten Umgebungen (Smartcards, PDAs, Handys etc.)

Rückblick: Asymmetrische Kryptosysteme


Schlüsselaustausch über unsichere Kanäle und Erzeugung/Prüfung von Signaturen
− DH: nur zum Schlüsseltausch geeignet
− DSA: zur Erzeugung von Signaturen entworfen
− RSA, ElGamal: für Verschlüsselung (also auch Schlüsseltausch) und für Signaturen geeignet
Sicherheit dieser Systeme basiert auf der angenommenen Schwierigkeit, das diskrete Logarithmus-
Problem bzw. das Faktorisierungs-Problem zu lösen.

Diskretes Logarithmus-Problem: Zusammenhang ; gegeben X, g, n; gesucht x


Faktorisierungsproblem: Zusammenhang ; gegeben n; gesucht p, q

Motivation: Elliptische Kurven (EC)


Fakt: etablierte asymmetrische Systeme (DH, DSA, RSA) benötigen Sicherheitsparameter mit
tausenden Bits Länge.
EC: kein Algorithmus bekannt, der das zugrundeliegende harte Problem (diskretes Logarithmus
Problem für EC, ECDLP) in sub-exponentieller Zeit lösen könnte.
ECDLP: Zusammenhang ; geg. dabei Punkte auf elliptischer Kurve; ges. die Zahl
Konsequenz: im Vergleich zu DH, DSA, RSA, etc. können bei EC signifikant kürzere Schlüssel
verwendet werden um gleiches Sicherheitsniveau zu gewährleisten. EC daher interessante Alternative
in beschränkten Umgebungen (Pagers, PDAs, Handys, Smartcards)

Geschichte und Idee der EC Kryptographie (ECC)


ECC arbeitet nicht einfach auf Elementen in einem Restklassenkörper (RSA,...), sondern auf der
Gruppe der Punkte auf einer elliptischen Kurve, welche über einem endlichen Körper definiert ist
essentiell: Wahl geeigneter Kurven sowie geeigneter Körper, auf denen die Kurven definiert sind
Körper: , (p eine spezielle Primzahl) bzw.
Kurven: wo für Punkte P effizient berechenbar

Das algebraische System einer Gruppe


Gruppe: ist ein algebraisches System bestehend aus einer Menge G und einer auf der Menge G
definierten binären Operation mit den folgenden Axiomen:
− Abgeschlossenheit: für alle ist
− Assoziativität: für alle gilt =
− neutrales Element: es existiert ein e ∈ G, sodass für alle x ∈ G
− inverses Element: für alle existiert ein , sodass
Kommutativität: erfüllt des weiteren die Eigenschaft: für alle gilt , dann spricht
man von einer Abel’schen Gruppe.

Das algebraische System eines endlichen Körpers


endlicher Körper: algebraisches System bestehend aus einer endlichen Menge F und zwei auf F
definierten binären Operationen + und × mit folgenden Axiomen:
− F ist eine Abel’sche Gruppe bezüglich +
− F \ {0} ist eine Abel’sche Gruppe bezüglich ×
− Distributivität: für alle x,y,z ∈ F gilt x × (y + z) = (x × y) + (x × z) und (x + y) × z = (x × z) + (y × z)
Ordnung des Körpers: Zahl der Elemente des Körpers
Fakt: es existiert genau dann ein endlicher Körper der Ordnung q, wenn q eine Primzahlpotenz ist
Praxis der ECC: q eine grosse Primzahl p oder

Der endliche Körper


− sei p eine (meist große, ungerade) Primzahl
− der endliche Körper besteht dann aus der Menge der ganzen Zahlen {0,1,2,...,p-1} zusammen
mit folgenden beiden binären Operationen:
ƒ Addition: wenn ; dann ist a + b = r, wobei r der Rest bei der Division von a+b durch p
ist und gilt; diese Operation wird Addition modulo p genannt.

Vorlagenfolien: Dr. Josef Scharinger Seite 16 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

ƒ Multiplikation: wenn dann ist , wobei s der Rest bei der Division von
durch ist und gilt; diese Operation wird Multiplikation modulo p genannt.
− betrachtet man den Aufwand für die Durchführung dieser Operationen, so wird klar, dass die
Reduktion modulo p dabei den dominierenden Kostenfaktor darstellt!
− für gewisse spezielle Primzahlen p kann die Reduktion modulo p effizient realisiert werden
ƒ Familie der sogenannten verallgemeinerten Mersene Zahlen
ƒ für ganze Reihe weiterer Primzahlen sind ebenso effiziente Reduktionsverfahren modulo
dieser Zahlen bekannt!

Der endliche Körper


− der endliche Körper besitzt die mathematisch und implementierungstechnisch gesehen
vorteilhafte Struktur eines m-dimensionalen Vektorraums über
− es existiert also stets eine Menge mit m Elementen, sodass jedes
Körperelement a als mit dargestellt werden kann
− jedes Körperelement kann also als binärer Vektor dargestellt werden
− die Menge wird als Basis des Vektorraums bezeichnet
− essentiell ist also die Wahl einer geeigneten Basis
− besonders populär: Polynombasen, Normalbasen

Elliptische Kurven über


− sei eine (meist sehr große) ungerade Primzahl
− seien des weiteren so gewählt, dass (modulo p) gelte
− die Elliptische Kurve über , definiert durch die Parameter , besteht dann aus
ƒ den Punkten mit , für welche die Gleichung gilt
ƒ zusammen mit dem Punkt O, dem Punkt im Unendlichen
− obige Gleichung wird Weierstrass Gleichung der elliptischen Kurve genannt
− für jeden Punkt bezeichnet die x-Koordinate, die y-Koordinate des Punktes P
− es ist nun möglich eine Addition + auf der Menge der Punkte zu definieren, sodass
zusammen mit O als neutralem Element eine abel’sche Gruppe bildet

Elliptische Kurven über


− seien so gewählt, dass gelte
− die (nicht super-singulare) Elliptische Kurve über , definiert durch die Parameter ,
besteht dann aus
ƒ den Punkten mit , für welche die Glg. gilt
ƒ zusammen mit dem Punkt O, dem Punkt im Unendlichen
− analog zur Menge der Punkte ist es ebenso möglich eine Addition + auf der Menge der
Punkte zu definieren, sodass zusammen mit O als neutralem Element eine
abel’sche Gruppe bildet

Wichtige Eigenschaften elliptischer Kurven


− wir betrachten im Folgenden eine elliptische Kurve , wobei q auch eine Potenz von 2 sein
kann
− elliptische skalare Multiplikation : gegeben sei eine ganze Zahl k und ein Punkt ;
ist dann das Ergebnis, wenn man P k-mal zu sich selbst addiert
− Ordnung eines Punktes : jene kleinste positive ganze Zahl , sodass
− Ordnung einer Kurve : bezeichnet die Zahl der Punkte auf der Kurve und wird mit
bezeichnet
− Fakt zur Kurvenordnung: die Zahl der Punkte auf hat in etwa die Größenordnung von q

Vorlagenfolien: Dr. Josef Scharinger Seite 17 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Parametrierung eines ECCs


ein ECC ist durch folgende Parameter definiert:
− q: Primzahl q = p oder 2er Potenz
− FR: Flag, welches die verwendete Repräsentation der Elemente im endlichen Körper festlegt
− : legen Glg. der elliptischen Kurve (durch od. )
fest
− : Basispunkt auf Kurve
− : Primzahl, Ordnung des Punktes G
− : Kofaktor, gegeben durch
− wesentlicher Sicherheitsparameter: ; Sicherheitslevel des einen ECC wird durch Bitlänge von
angegeben

Schlüssellängen im Vergleich
Bei ECC kann im Gegensatz zu anderen klassischen asymmetrischen Systemen (RSA/DSA) mit
wesentlich kürzeren Schlüsseln gearbeitet werden. Um ein in etwa gleiches Sicherheitsniveau zu
erreichen, sind folgende Schlüssellängen angemessen (Stand der Technik, Sicherheit gegen zur Zeit
bekannte Angriffe):
symmetrisch Beispiel ECC DSA/RSA
80 SKIPJACK 160 1024
112 3DES 224 2048
128 128-Bit AES 256 3072
192 192-Bit AES 384 7680
256 256-Bit AES 512 15360

Beispiel: Kryptographie in biometrischen Reisepässen


− die Kryptographie in biometrischen Reisepässen basiert auf symmetrischer Kryptographie für die
Geheimhaltung und asymmetrischer Kryptographie für die Datensignierung
− dazu bekommt jedes Land von der ICAO ein Country Signing Key Pair (CSK), jede Pass-
Ausstellungsbehörde ihrerseits ein Document Signer Key Pair (DSK)
− des weiteren kann optional aktive Authentifizierung (AAK) mittels eines Challenge Response
Protokolls erfolgen
− da Pässe mind. 10 Jahre gültig sein sollen, sind ganz konkret folgende Sicherheitslevels
vorgeschrieben:
Verfahren CSK DSK AAK
RSA 3072 Bit 2048 Bit 1024 Bit
DSA 3072 Bit 2048 Bit 1024 Bit
EC DSA 256 Bit 224 Bit 160 Bit

Elliptische Kurven Kryptoprotokolle


− asymmetrische ECC nutzt die Prinzipien bekannter asymmetrischer Protokolle (DH, ElGamal,
DSA), setzt diese jedoch mittels elliptischer Kurven um
− adäquate Sicherheit mit kürzeren Schlüsseln erreichbar
− von praktischer Bedeutung sind vor allem zwei Protokolle:
ƒ ECDH: Elliptic Curve Diffie-Hellman, stellt die EC Variante der bekannten Methode zur
Schlüsselvereinbarung über unsichere Kanäle nach Diffie-Hellman dar
ƒ ECDSA: Elliptic Curve Digital Signature Algorithm, Analogon des DSA, realisiert mit
elliptischen Kurven

Schlüsselerzeugung bei ECC


− vor der eigentlichen Schlüsselerzeugung sind zunächst die dem ECC zugrundeliegenden
Parameter festzulegen
− Schlüsselerzeugung für eine Person A dann wie folgt
ƒ wähle Zufallszahl d im Bereich
ƒ berechne
ƒ A’s öffentlicher Schlüssel ist
ƒ A’s privater Schlüssel ist
− sicher, da die Berechnung von auch bei Kenntnis der Punkte und ein sehr schweres
Problem darstellt (Diskretes Logarithmus Problem bei elliptischen Kurven)

Vorlagenfolien: Dr. Josef Scharinger Seite 18 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Elliptic Curve Diffie-Hellman (ECDH)


Ziel: Teilnehmer A, B wollen über unsicheren Kanal gemeinsamen geheimen Schlüssel vereinbaren
Voraussetzung: beide haben sich auf ECC Parameter geeinigt; A besitzt
öffentl. Schlüssel und privaten Schlüssel , B analog dazu öffentlichen Schlüssel und privaten
Schlüssel
− A berechnet − B berechnet
− gemeinsamer Schlüssel: − gemeinsamer Schlüssel

ECDH klappt, wenn A und B gleiches P berechnen


Teilnehmer A:
Teilnehmer B:
offensichtlich gleich (Körper-Multiplikation kommutativ!)

Sicherheit: über unsichere Leitung gehen folgende Daten: die ECC Parameter
sowie die öffentlichen Schlüssel und
Angriff: um die privaten Schlüssel aus den öffentlichen Schlüsseln herzuleiten, müsste
der Angreifer das ECDLP lösen können, was als sehr hart gilt!

EC Digital Signature Algorithm (ECDSA)


Voraussetzung: Signator A hat ECC Domain Parameter und öffentlichen
Schlüssel ; Prüfer B hat authentische Kopien von D und ; weiters sei: eine (standardkonforme)
Hashfunktion

A signiert nach: B verifiziert nach:


− wähle − berechne
− berechne und − berechne
− berechne und
− berechne

− berechne
− berechne
− berechne − Signatur OK, wenn
− Signatur für ist

Elliptic Curve Discrete Logarithm Problem (ECDLP)


− Sicherheit der ECC basiert auf der Härte des ECDLP
− gegeben beim ECDLP: eine elliptische Kurve , ein Punkt der Ordnung und ein
Punkt
− gesucht: die ganze Zahl , sodass
− abgesehen von Spezialfällen, wo die elliptische Kurve ungünstig gewählt ist und die sich leicht
vermeiden lassen, wächst der Aufwand des ECDLP exponentiell mit
− derzeit kein Algorithmus bekannt, der das ECDLP im allg. Fall in sub-exponentieller Komplexität
löst!

Vorlagenfolien: Dr. Josef Scharinger Seite 19 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

7. Anwendungen
7.1 PGP – Pretty Good Privacy

Geschichte
1991 erste Version
1993 Verfahren wegen Verstoß gegen Waffenexportgesetz
1996 Verfahren eingestellt

Ablauf

1. PGP erzeugt einen zufälligen Session-


Key und verschlüsselt mit diesem die
Nachricht (von Plaintext zu Ciphertext)

2. PGP verschlüsselt den Session-Key mit


dem Public-Key des Empfängers

3. Der Ciphertext und der verschlüsselte


Session-Key werden an den Empfänger
übermittelt

4. Der Empfänger entschlüsselt mit seinem Private-


Key den Session-Key, mit diesem wiederum
entschlüsselt er den Ciphertext wieder zu Plaintext

Hybride Verschlüsselung

Arten von Schlüsseln


Schlüssel werden in privaten bzw öffentlichen Schlüsselbünden abgelegt. Private-Key: muss lese-
und änderungssicher gelagert werden, muss mit pass-phrase gesichert und verschlüsselt sein
Public-Key: können beliebig veröffentlicht werden, durch Zertifikate/Web-of-Trust Herkunft
sicherstellen; meist als *.asc Datei verbreitet/exportiert
Session-Key (temporär, für Benutzer nicht relevant)
Sicherheit ist abhängig von der Schlüssellänge (512Bit unsicher, 768Bit bedingt sicher, 1024Bit sicher,
2048Bit sehr sicher)

Vorlagenfolien: Dr. Josef Scharinger Seite 20 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Web-of-Trust
Bei PGP existiert keine zentrale CA, daher wird ein dezentrales Web-of-Trust aufgebaut.
Benutzer zertifiziert öffentlich den Public-Key eines anderen Benutzers:
1. Hans signiert Sepp
2. Sepp signiert Anton
3. Also vertraut Hans Anton
In PGP 3 Stufen des Vertrauens (voll, begrenzt, keines), durch Nähe zu Vertrauenspersonen oä. Wird
das Vertrauen in die Echtheit des Public-Keys eingestuft

7.2 SSL/TLS – Secure Sockets Layer


Protokoll zur sicheren Datenübertragung im Internet (Client-Server Kommunikation)
Einleitung
SSL stellt sichere Verbindung zu einem WWW-Server her, ist also Sicherheitsprotokoll, welches
private Kommunikation über Internet ermöglicht. Client/Server Applikationen können in einer Form
kommunizieren, sodass unbefugtes Abhören sowie Fälschen einer Nachricht unterbunden werden.
Von Netscape entwickelt, heute in allen gängigen Browsern eingebaut. (Erkennung an https statt http,
Meldung des Browsers oder Vorhängeschlosssymbol). Verwenden von Online-Shops und Banken
Verbindung ist privat (kann nicht abgehört werden), Verbindung ist verlässlich (Integrität kann geprüft
werden), Identität des Partners kann auf Authentizität geprüft werden, Vereinbarung des
gemeinsamen Sitzungsschlüssels erfolgt geheim und verlässlich

Ziele bei der Entwicklung


Kryptographische Sicherheit: SSL ermöglicht Kommunikationspartnern sichere Verbindung
Interoperabilität: Anwendungen können ohne Wissen über Code-Details kommunizieren
Erweiterbarkeit: neue symmetrische und asymmetrische Verfahren sind leicht einzubinden
Relative Effizienz: minimiere Aufwand für public-key und Netzwerk-Operationen

Das SSL Protokoll


Liegt zwischen
Anwendungsprotokoll und
Verbindungsprotokoll. Protokolle
der Anwendungsebene nutzen
SSL, dieses nutzt Dienste der
Verbindungsebene (TCP/IP).

Hybride Struktur:
Handshake-Protokoll: mittels asymmetrischer Kryptographie
werden Zertifikate ausgetauscht und ein geheimer Session-Key
verhandelt.
Record-Protokoll: eigentliche Datenübertragung unter Verwendung
von symmetrischen Verfahren.

SSL Record Protokoll


Arbeitet in mehrere Schichten.
Senderseite: Fragmentierung der
Nachricht in Blöcke, Kompression,
Berechnen der
Schlüsselabhängigen Prüfsumme
(HMAC), Verschlüsselung &
Übermittlung
Empfängerseite: Entschlüsseln,
Verifikation, Dekompression und
Zusammensetzen der Blöcke zur
Nachricht.
Record: Header mit 2/3 Byte, Daten-
Teil (MAC-Teil, Daten, Padding) –
nur Datenteil wird verschlüsselt

Vorlagenfolien: Dr. Josef Scharinger Seite 21 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Zustand einer SSL Verbindung


Ist die Arbeitsumgebung, in welcher das SSL Record-Protokoll die Blöcke bearbeitet. Logisch
betrachtet gibt es 4 Zustände (aktuelle Schreib-/Lese- und schwebende Schreib-/Lese-Zustände).
Spezifiziert Algorithmen zur Kompression, Verschlüsselung und Signatur mittels MAC. Diese
Sicherheitsparameter werden über das Handshake-Protokoll vereinbart.
Fragmentierung: im Record-Layer werden Nachrichten beliebiger Länge in Blöcke zerlegt.
Block Komponenten: Type, Version, Length, Fragment (Anwender-Daten)
Kompression: jeder Block wird mit jenem Kompressionsverfahren komprimiert, das im aktuellen
Verbindungszustand spezifiziert ist. Kompression verlustlos.

Sicherung der Datenblöcke


Nach Handshake besitzen beide Partner gemeinsame Schlüssel sowie schlüsselabhängige MAC-
Berechnung (HMAC), HMAC und Verschlüsselung sichern in ihrem Zusammenwirken den Block
gegen potentielle Angriffe. Empfänger berechnet für Block unter Verwendung des gleichen geheimen
Schlüssels mit der gleichen HMAC Funktion wie der Absender seinen eigenen HMAC Wert. Stimmen
beide Werte überein, so kann Empfänger sicher sein, dass Block unverändert übertragen wurde.
Übertragung enthält extra Blocknummer, damit Fehlen oder Hinzufügen von Blöcken erkennbar ist.

Kryptographische Operationen in SSL


Die symmetrische Verschlüsselung (symmetrischer Strom- oder Blockchiffrieralgorithmus) erfolgt stets
nach der Berechnung des MAC und verschlüsselt folglich neben den Daten auch den MAC. Beachte
bei Block-Chiffren: nur CBC Modus erlaubt und Auffüllen (padding) zu ganzen Blöcken nötig.

SSL Handshake-Protokoll
arbeitet eine Ebene über SSL Record-Layer, produziert die relevanten kryptographischen Parameter
für Zustand einer SSL Verbindung. SSL Client und SSL Server starten Kommunikation und einigen
sich auf Protokoll-Version, wählen kryptographischer Algorithmen, etc…

Client-Hello: gibt Infos, welche Algorithmen Client beherrscht. Inhalt im Wesentlichen die Menge der
vom Client unterstützten Krypto-Protokolle und Kompressionsverfahren. Ersucht um Server-
Authentifizierung
Server-Hello: verfügbare Krypto- und Kompressionsverfahren. Auswahl des besten, das beide
verstehen. Im Anschluss sendet Server sein Zertifikat.

Vorlagenfolien: Dr. Josef Scharinger Seite 22 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

SSL Server-Authentifizierung: Client überprüft Zertifikat des Servers. Wenn OK, dann generiert Client
einen zufälligen symmetrischen Schlüssel
SSL Client-Authentifizierung: Client sendet Zertifikat an Server, falls keines vorhanden sendet Client
nur client-key-exchange Nachricht. Client+Server kennen geheimen Schlüssel sowie Krypto- und
Kompressionsalgorithmen. Parameter sind immer nur für eine Sitzung gültig.

Aktivieren der SSL Zustände


Client sendet change-cipher-spec und aktiviert schwebenden Zustand. Client sendet finished unter
Verwendung der aktivierten Sicherheits-Vereinbarungen. Server macht selbiges – damit ist
Handshake abgeschlossen

Zulässige Chiffren in SSL: DES, DAS, KEA, MD5, RC2 & RC4, RSA, SHA-1, SKIPJACK, Triple-DES

Fakten zur Sicherheit von SSL


Direkte Angriffe gegen das Protokoll soweit keine bekannt, jedoch Angriffe unter Nutzung von
Implementierungsschwächen. Seit 2001 starke Versionen für alle zu haben

7.3 Sicheres Bezahlen mit Kredikarten im Internet


Motivation – Eigenheiten von SSL
sehr weit verbreitet, verschlüsselt alle Daten sobald eine sichere Sitzung aufgebaut wird.

Probleme bei SSL


• Kunde muss dem Händler vertrauen, dass dieser die übermittelten Kreditkarten-Infos sicher
verwahrt und zur Annahme autorisiert ist.
• Händler muss darauf vertrauen, dass Kunde in rechtmäßiger Weise die Kreditkarte benutzt.
• Verschlüsselt alle Daten (nicht nur sensitive); Performance-Probleme bei komplexen Web-
Sites

Vorlagenfolien: Dr. Josef Scharinger Seite 23 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Ziele von Eigenschaften von SET


• Sicherheit von Zahlungen
• Vertraulichkeit von Bezahl- (Kreditkarten-) Informationen
• Integrität der Bestell- und Zahl-Information durch Message Digest Algorithmen und digitale
Signaturen
• Authentifizierung von Besteller und Händler durch digitale Signaturen und zugehörige
Zertifikate
• Verbindlichkeit (ebenso über digitale Signaturen)
• Interoperabilität
• zwischen Produkten verschiedener Hersteller
• auf allen HW/SW Kombinationen verfügbar
• global standardisiert verwendbar
• Markt-Akzeptanz
• Effizienz, geringer Aufwand an Änderungen

Elektronischer Einkauf Einzelne Schritte)


• Kunde blättert in (online) Katalog
• Kunde wählt Produkte, die er kaufen will
• Kunde füllt (online) Bestellschein aus
• Kunde wählt Zahlungsmittel (Kreditkarte)
• Kunde sendet dem Händler sowohl seine Bestell- als auch seine Zahlungs-Informationen
• Händler überprüft Zahlungs-Autorisierung
• Händler sendet Auftragsbestätigung
• Händler sendet Ware oder erbringt Dienstleistung
• Händler fordert die Bezahlung ein

Duale Signaturen
Praxis: Bestellung besteht aus order information (OI, was wurde bestellt) und paymentinstruction (PI,
wie wird bezahlt); OI an Händler, PI an Bank gerichtet
2 essentielle Anforderungen dabei: OI und PI müssen untrennbar verbunden werden
Kunde will nicht, dass Händler Details über Zahlinstruktion (Kontonummer,
Kreditkartennummer) in Erfahrung bringt

Lösung: sei H sichere Hashfunktion; duale Signatur bestehe aus


DualSig=SIGNPrivKey(H(H(OI)||H(PI)))
Händler bekommt OI und H(PI), Bank bekommt PI und H(OI); beide können dann (unter Verwendung
von PubKey) Korrektheit der dualen Signatur prüfen!

Vorlagenfolien: Dr. Josef Scharinger Seite 24 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

Gesamtkonzept Verschlüsselung

Elektronisches Bezahlen
Wesentliche Operationen
• Zertifizierung von Kunden und Händlern
• Kaufantrag des Kunden
• Zahlungsermächtigung
• Autorisierung: Händler holt sich OK von Kreditkartenfirma
• Einzug des Geldbetrages
• Händler holt sich über Kreditkartenfirma von Hausbank des Kunden den ihm zustehenden
Geldbetrag für erbrachte Leistung

Die Teilnehmer

Motivation für 3-D Secure


• SET ohne Frage ein „technologisches Meisterwerk“, kaum Akzeptanz und Verbreitung
• Zu komplex in der Umsetzung bei Kunde (muss Wallet, Zertifikat installieren), Händlern
und Banken; dazu zu kostspielig (insbesondere für Banken, Händler)
• Authentifizierung, Geheimhaltung im e-commerce
• Kunde will Geheimhaltung, Gewissheit über Händler
• Händler: keine Streitfälle, garantierte Zahlung, Haftung für Autorisierung soll bei Banken,
Kreditkartenfirmen liegen
• Banken, Kreditkartenfirmen: möglichst geringe Zahl von Rückbuchungen, Effizienz,
geringe Kosten, gutes Image

Vorlagenfolien: Dr. Josef Scharinger Seite 25 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung

MasterCard Secure Code


Bietet 3 mögliche Varianten
• 3D-Secure Lösung: siehe vorhergehende Darstellung!
• CAP: Chip Authentication Program (mit Kartenleser)
• SPA: Secure Payment Application
- Kartenbesitzer muss SPA Applet auf dem Rechner installiert haben (muss im Gegensatz zu
SET kein Zertifikat installieren)
- Dieses Applet wird aktiv, wenn beim Shopping im Internet eine SPA-kompatible Seite
angetroffen wird; ermöglicht Reihe von Zusatzdiensten für Kunden (Ausfüllen von Formularen)
- Bezahlen unter SPA
o Authentifizierung durch SPA Server des Kartenherausgebers
o dieser liefert ein Sicherheits-Token (AAV, Accountholder Authentication Value)
speziell für den aktuellen Einkauf
o dieses Token wird vom Händler an seinen Akquirierer weitergeleitet und zieht
Autorisierung der Zahlung nach sich

Ablauf nach SPA (nach Gpayments)


• Durch Verwendung des SPA Applets kann Shopping für Kunden angenehmer gestaltet und Zahl
der verlassenen Einkaufswägen in Internet-Shops potentiell reduziert werden
• Applet kann sich Infos auch beim Server des Karten-Herausgebers holen (zB Kunde sitzt im
Internet-Kaffee)

Inhalt Seite Ausarbeitung


1. Grundlagen der Kryptografie 1 Jäger
2. Symmetrische Blockchiffren 3 Jäger
3. Symmetrische Stromchiffren 6 Jäger
4. Asymmetrische Kryptosysteme 10 Ritt
5. Digitale Signaturen 13 Ritt
6. ECC 16 Wöß
7. Anwendungen
7.1. PGP 20 Proksch
7.2. SSL/TLS 21 Jäger
7.3. Kreditkarten 23 Ritt

Sonntag, 04. Oktober 2009

Vorlagenfolien: Dr. Josef Scharinger Seite 26 von 26 Jäger, Ritt, Proksch, Wöß