Академический Документы
Профессиональный Документы
Культура Документы
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
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
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)
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!
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
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
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).
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!
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!
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
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.
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
Teilnehmer erhält e und n als öffentliche und d als geheimen Schlüssel zugewiesen
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
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
Ablauf
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
(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-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
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
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!
Vorlagenfolien: Dr. Josef Scharinger Seite 17 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung
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
Vorlagenfolien: Dr. Josef Scharinger Seite 18 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung
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!
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
Hybride Verschlüsselung
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
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.
Vorlagenfolien: Dr. Josef Scharinger Seite 21 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung
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.
Zulässige Chiffren in SSL: DES, DAS, KEA, MD5, RC2 & RC4, RSA, SHA-1, SKIPJACK, Triple-DES
Vorlagenfolien: Dr. Josef Scharinger Seite 23 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung
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
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
Vorlagenfolien: Dr. Josef Scharinger Seite 25 von 26 Jäger, Ritt, Proksch, Wöß
KV Kryptographie Zusammenfassung
Vorlagenfolien: Dr. Josef Scharinger Seite 26 von 26 Jäger, Ritt, Proksch, Wöß