Kryptographie
(Katharina Deuse)
Griech.: Krypto ( ich verberge ) und graphe ( das Schriftstück )
Kryptographie (=Verschlüsselung) wird mit Krypotanalyse (=Entschlüsselung) unter dem Überbegriff Kryptologie zusammengefasst.
- sensible Daten in der Wissenschaft
- Abwicklung von Geschäftsvorgängen
- Vertrauliche Informationen im Privatleben
- Vertraulichkeit: Schutz vor fremden Augen
- Integrität: Schutz vor Manipulation
- Authentizität: Schutz vor falschen Absendern
Kombination aller drei Ziele zur Gewährleistung der bestmöglichsten/sichersten Verschlüsselung
Erklärungen:
Schlüssel: Parameter, der bei Verschlüsselung in die Operationen einfließt und das
Ergebnis wesentlich verändert
Symmetrisches Verfahren: Schlüssel und Gegenschlüssel sind identisch
Asymmetrisches Verfahren: Schlüssel und Gegenschlüssel unterscheiden sich
Konfusion: Verschleierung des Zusammenhangs zwischen Klartext und Geheimtext mit
einfachen Regeln
Diffusion: Regelmäßigkeiten in den Klartextzeichen werden über mehrere Zeichen
hinweg verteilt, so dass sie schwerer aufzufinden sind
Beispiel:
2 0 . 0 8
. 9 9 2 1 . 0 8.
9 9
KLM9G3AM
KGM9G3AM (Konfusion, „08.99“
entspricht jeweils der gleichen Zeichenfolge)
R 2D 208 1 5 4 7 11C3 PO (Diffusion)
- Spiegelschrift
-
Caesar-Chiffrierung:
Verschiebung des lat. Alphabets um z.B. 3 Stellen nach rechts (hier: Zahl „3“ bzw. „C“ ist der Schlüssel)
Vorteile: Schlüssel ist kurz und leicht zu merken bzw. zu übertragen, Verschiebung ist leicht zu berechnen
Nachteile: Schlüsselübermittlung muss geheim erfolgen; wenig Schlüssel => schnelle und leichte Möglichkeit alle Schlüssel durchzuprobieren; Buchstabenhäufigkeit
-
Vigenère-Verschlüsselung
Polyalphabetische Verschlüsselung, d.h. ein Wort (hier: TAPIR) wird als Schlüssel eingefügt und das Alphabet wird jeweils umsortiert.
O R
E I
L L Y I S
T S P I T
Z E Originaltext
T A P I R T A P I R T A P I R T Schlüsselwort
20 1 16 9 18 20 1 16 9 18 20 1 16 9 18 20 zur jeweiligen Caesar-Chiffrierung gehörende Zahl
I S U R D F Z Y B L M Q Y C R Y Verschlüsselter Text
- Die Enigma
Mehrere Rotorscheiben hintereinander, die mit unterschiedlicher “Schlüsselzahl” rotiert werden; Ergebnis ist entscheidend
Vorteile: bei 3 Rotorscheiben schon 26³ = 17.576 Schlüsselmöglichkeiten
- One-Time-Pad
Jeder Schlüssel wird nur einmal verwendet
- große Mengen von Schlüsseln werden gebraucht
Eingabeblock und Schlüssel in mehrere kleine Blöcke eingeteilt; Operationen
der Verschlüsselung werden auf die einzelnen Eingabeblöcke angewendet und
später durch XOR miteinander verknüpft; 16 solcher Runden werden ausgeführt
DES > Eingabeblock in 2 Hälften, Schlüssellänge von nur 64 Bytes (>Sicherheit zu gering) =>
Triple DES > 2 Schlüssel zu je 56 Bytes; Text wird zuerst mit dem ersten Schlüssel verschlüsselt, dann nocheinmal mit dem zweiten => mehr Sicherheit
IDEA > Eingabeblock zuerst in Blöcke von 64 Bytes, dann in 4 Teilstücke zu 16 Bytes eingeteilt; Schlüsselbits (Länge 128 Bit) in 52 Teilschlüssel zu 16 Bit eingeteilt => Sicherheit
BLOWFISH > Blöcke mit 64 Bit Länge, Schlüssel mit beliebiger Länge bis zu 448 Bit => schnelles und sicheres Verfahren
AES > symmetr. Blockverschlüsselung mit 128 Bytes Blocklänge und 128, 192 und 256 Bit Schlüssellänge
Nachteile
symmetrischer Verfahren:
- Schwierigkeit für Kommunikationspartner Schlüssel miteinander auszumachen
- Angreifer können falsche Schlüssel unterschieben
- Starr gegen Modifikationen => bei erhöhtem Sicherheitsbedarf wird aufwendige Neuentwicklung nötig
Ein Kommunikationspartner wählt ein Schlüsselpaar aus (enge formelmäßige Beziehung zw. beiden Schlüsseln); einer der Schlüssel wird veröffentlicht ( > Public – Key) = Verschlüsselung der Texte; der andere wird einbehalten als Geheimschlüssel zur Entschlüsselung der Geheimtexte
- nur noch ein Schlüsselpaar nötig
- keine Möglichkeit für Fremde mitzulesen, da
Geheimschlüssel zur Entschlüsselung nötig
- Verfahren zu komplex, um den Geheimschlüssel
nachzurechnen/auszurechnen
RSA (Primzahlen-
und Restklassenalgorithmus)
Zufällig zwei Primzahlen auswählen z..B. p = 29 , q = 37 ; nur werden n = p q = 1073 und r = (p – 1) (q – 1) berechnet; beliebige Zahl e , die zu r teilerfremd ist auswählen, z.B. e = 17;
e und n sind die öffentlichen Schlüssel; d (geheimer Schlüssel) = e modulo r mit Rest 1;
p , q , r werden nicht mehr gebraucht > müssen gelöscht werden, da sonst d berechnet werden kann.
Verschlüsselung:
424 711 081 520 081
965
---- . ---- . ---- . ---- . ---- . ---- => mi e
modulo n =
Rest
m1 m2 m3 m4 m5 m6
Entschlüsselung:
Resti d modulo n =
Rest = mi
Resti d
--------- => Rest = mi
N
El Gamal
(Primzahlen- und Restklassenalgorithmus)
y = g x modulo p g (gegebene Basis) zufällig ausgewählt
p (selbst ausgesuchte Primzahl); so gewählt, dass auch (p – 1)/2 prim
y, x (gesucht); x muss geheim gehalten werden/zufällig ausgewählt
g, y, x natürliche Zahlen zwischen 1 und p – 1
p, g, y öffentlicher Schlüssel
=> diskreter Logarithmus
Verschlüsselung:
Blockeinteilung mi (wenn Nachricht größer als p ); Absender wählt beliebige Zahl k , teilerfremd zu p – 1, berechnet die Werte a = g k modulo p und b = y k ∙ mi modulo p und sendet Geheimtext an Empfänger; k löschen, da sonst aus b, y, k m konstruiert werden kann
Entschlüsselung:
b
--------------------- modulo mi = Klartext
a x modulo
mi
Vorteile (Public - Key - Verfahren):
- genug Primzahlen
- ein einziges Schlüsselpaar
- Unmöglichkeit, aus Geheimtext ohne Geheimschlüssel Klartext abzuleiten
- Skalierbarkeit (bei Fortschritt durch schnellere Computer, Möglichkeit größere Schlüssel zu entwerfen)
Nachteile (Public - Key - Verfahren):
- Geheimtext wesentlich länger als Klartext
- Berechnungen Sehr zeitaufwändig
- Veröffentlichten Schlüssel zurückzurufen schwierig, da öffentlicher Schlüssel überall gespeichert
- Möglichkeit der Listenerstellung bei zu kurzen Nachrichten
Hybridsysteme (Kombination der Stärken beider Arten von Systemen, z.B. RSA und IDEA)
Empfänger erzeugt Schlüsselpaar und gibt den öffentlichen Schlüssel bekannt; Absender kodiert Klartext mit zufällig erzeugtem IDEA - Schlüssel (=Sitzungsschlüssel), kodiert dann Sitzungsschlüssel mit öffentlichem RSA - Schlüssel und schickt Geheimtext an Empfänger
Vorteile:
- Public – Key – Verfahren stellt abhörsicheren Kanal, auf dem Schlüssel des symmetrischen Verfahrens ausgetauscht werden kann, zur Verfügung
- Schnellere Übertragung Keine Struktur im Sitzungsschlüssel => kaum Angriff möglich
Nachteil:
- Komplexität des Gesamtsystems deutlich höher
- Electric Codebook (ECB):
Jeder Block wird unabhängig verschlüsselt und am Ende mit den ansderen verknüpft
- Cipher - Block - Chaining (CBC):
Mitlesen und Block - Replay - Angriff durch Verkettung des Geheimtextes mit dem Klartext erschwert;Wiederholungen im Klartext sollen im Geheimtext vermieden werden
- Komprimierung:
Wiederholungen im Klartext lassen sich durch Komprimierung vor der Verschlüsselung vermindern => verringerte Datenmenge lässt sich schneller verschlüsseln und übertragen
Hashfunktion
Prüfsummen (XOR – Wert aller Bytes) werden berechnet, an das Datenpaket
angeschlossen und übermittelt; empfangendes Programm führt dieselbe Berechnung
aus; Übereinstimmung => mit hoher Wahrscheinlichkeit korrekt übertragen;
keine Übereinstimmung => fehlerhaft; Lange der Nachricht muß in den Hashwert
miteingebaut werden, damit Angreifer den Text in der Länge nicht zu verändern
können, so daß gleicher Hashwert und sinnvoller Text mit anderer Länge
herauskommen
Vorteil:
- Prüfsummen (Message Digits) für beliebig lange Nachrichten einfach und schnell berechenbar
- Stets kurze Zahl fester Länge um Zeitaufwand bei Übermittlung gering zu halten
- für jedermann leicht zu berechnen
- praktisch ausgeschlossen für vorgegebenen Hashwert Nachricht mit gleichem Hashwert zu konstruieren
Nachteile:
- Kollisionsgefahr (Paare von Nachrichten mit gleichem Hashwert)
- Prüfsummen müssen über anderes Medium übermittelt werden
MAC’s (Message
Authentication Codes)
Absender berechnet Hashwert der Nachricht und lässt den geheimen Schlüssel
miteinfliessen => Angreifer kann Nachricht nicht so lang weitermodifizieren,
bis gleicher Hashwert herauskommt, weil er den geheimen Schlüssel und damit den
Hashwert des Blocks mit dem Schlüssel nicht kennt.
Vorteil:
Kein Dritter kann Nachricht fälschen
Nachteil:
Absender kann jederzeit behaupten, das Dokument sei vom Empfänger erstellt
- Trust Center mit Funktion eines Notars zwischen geschaltet
Alice vereinbart Schlüssel mit Trust Center (nur TCT und Alice bekannt), verschlüsselt Nachricht mit Schlüssel und schickt Geheimtext an Trust Center; TC entschlüsselt Nachricht, verschlüsselt sie wieder mit Schlüssel, der mit Bob ausgemacht würde und schickt sie zussammen mit Geheimtext von Alice an Bob; Bob entschlüsselt Geheimtext und speichert Alices Geheimtext (als Beweis, da er damit nichts anfangen kann)
=> Teuer wegen Kosten für Verschlüsselung und für Gewährleistung der Sicherheit
- Public – Key –
Verfahren
Alice verschlüsselt mit eigenem geheimen Schlüssel und schickt Geheimtext an Bob; dieser entschlüsselt Nachricht mit Alices öffentlichem Schlüssel => Authentizität gesichert
- Hashverfahren
Alice berechnet Hashwert der Nachricht, verschlüsselt diesen mit eigenen geheimen Schlüssel und schickt ihn zusammen mit Nachricht an Bob => Authentizität / Integrität gesichert
Quelle: Kryptographie, Gisbert W. Selke