Einführung in kryptographische Verfahren
Transcription
Einführung in kryptographische Verfahren
Einführung in kryptographische Verfahren Symmetrische Verfahren Kontinuierliche Chiffre Block-Produkt-Chiffren Asymmetrische Verfahren RSA-Algorithmus Einwegfunktionen Hybridverfahren Kryptoanalyse "security by obscurity" (Sicherheit durch Verschleierung/Verdunklung). Neben der Zugriffskontrolle (Firewalls) die einzige Möglichkeit, die Vertraulichkeit von Daten zu wahren, besonders in Rechnernetzen. (auch Sicherheit gegen Super-User/Administrator!). 2 grundlegende Methoden: 1) Steganographie (griechisch „verdecktes Schreiben“): geheime Ausdrucksweise, bei der man die „Verschleierung“ nicht merkt (Vermummung), staatlich (durch Kryptoregulierung) nicht zu greifen. Nachricht wird in unverdächtigen Informationsträgern (Hülldaten) versteckt, ohne diese merklich zu verändern (information hiding). Beispiele: unsichtbare Tinte (Milch, Zitrone, Urin) zwischen Druckzeilen, harmlose Parolen mit versteckten Informationen (DDR-Beispiel: Freiheitssender 904), Akrostichen: Anfangsbuchstaben bzw. -wörter eines Textes (z. B. kritisches Gedicht von Uwe Kolbe in der DDR). Demarates warnt Sparta vor Xerxes auf Holz unter Wachsschicht auf der Wachstafel. Tätowierte Schädel unter Haaren (Antike). Brief von George Sand an de Musset enthält in den ungeraden Zeilen eine Botschaft. Microdots: Mikrofilm in i-Punkten (Nazi-Geheimdienst, durch FBI 1941 geknackt), Überschreibungen in einem digitalen Telefongespräch, Telefongespräche Computer: Grafik-Dateien mit 24-bit-Farbtiefe (16 Mio. Farben) als Träger, Ladungsdatei modifiziert das letzte Bit (niedrigster Wert: LSB = least significant bit); auch das letzte Bit jedes Bytes in WAVE-Dateien denkbar; besser: Modifikation der Frequenzverteilung (speziell JPEG; auch Sound-Dateien). Anwendungen: Urheberschaft (Copyright ) im signifikantesten Bit (Herausrechnen/Entfernen führt zu Entstellungen), digitale Wasserzeichen (watermarking, unsichtbare Markierung) für Nutzungsrechte, z. B. persönliche Kennzeichen nach Kauf ® abspielbar nur mit Spezialsoftware, die Kennzeichen abfragt; auch für Software denkbar (graphentheoretisch), Transport von Signaturen (z. B. in Passbildern), versteckte Verschlüsselungen (um nicht aufzufallen), Steganografische Filesysteme mit versteckten geheimen Daten (z. B. zur Verschlüsselung) Software: EzStego, Jsteg, Steganos, Stegano32, S-Tools, SSS (Steganus Security Suite) Sicherheit: z. Zt. noch wesentlich unsicherer als Kryptographie ® Steganalyse; Man muss eigentlich nur verdächtige Informationen zerstören. Methoden: Addieren von Rauschen, Scannen und wieder Ausdrucken (?), JPEG-Kompression und anschließende Dekompression SETUP (secretly embedded trapdoor with universal protection) 2) Kryptographie Neben Geheimhaltung (Konzelation) wichtigstes Einsatzfeld: Authentikationen jeder Art Chiffrierverfahren beruhen weitgehend auf mathematischen Gesetzen: Ausführung des Algorithmus durch Zuordnen von Zahlen (Restklassen, z. B. mod 26) Kryptologie = Kryptographie + Kryptoanalyse Symmetrische Verfahren (klassische Kryptographie) Kryptosystem Alphabet je nach Zeichenvorrat für Klar- und Schlüsseltext Schon sehr alt: Skytala der Griechen ("Stockziffer") Praktisches Problem: der (geheime) Schlüssel muss vorher (über sichere Kanäle) zwischen Sender und Empfänger ausgetauscht werden Möglichkeiten z. B.: 1) mehrere Schlüsselteile über verschiedene Kanäle (Telefon, eMail, Post) übermitteln 2) Schlüssel mit Generalschlüssel (vorher sicher getauscht) verschlüsseln Transpositionen: nur die Anordnung der Zeichen wird verändert: Permutation Substitutionen: Ersetzen von Zeichen durch andere monoalphabetisch: jedem Klartextzeichen wird immer dasselbe Schlüsseltextzeichen zugeordnet, z. B. o Cäsar (26 Möglichkeiten, Schlüssel gibt an, welche Möglichkeit eingesetzt wird: 1, 2, ...) o Ersetzung durch Buchstabengruppen (viel praktiziert) polyalphabetisch: Vigenere (Diplomat, 1586): je länger der Schlüssel, desto sicherer → Vernam (AT&T 1917, binär!, Lochstreifen), führt schließlich zur Stromchiffre Chiffrierzylinder (homophon: häufig auftretende Zeichen werden durch mehrere unterschiedliche Zeichen ersetzt; kleine Periode) [Periode: Anzahl der verwendeten Substitutionen] Kontinuierliche Chiffre (Stromchiffre): Schlüssellänge = Klartextlänge Schlüssel am besten aus Zufallszahlen (Pseudozufallszahlengeneratoren), praktische Realisierung meist über Schieberegister auch Software, z. B. Zneu = ab x Zalt (mod 106) (die vorderen, über 6 Stellen hinausgehenden Ziffern werden jeweils weggeschnitten), mit guten Werten von a, b, Znull (diese Parameter werden praktisch zum Nutzerschlüssel) Beisp.: Vernam, Richard Sorge (benutzte Buch als Schlüssel) Wichtigste Operation: XOR (Addition mod 2) Block-Produkt-Chiffren: Produkt-Chiffren: Kombination aus mehreren Substitutionen bzw. Transpositionen. Beispiel: Rotormaschinen, jeder Rotor bildet 1 Permutation, z. B. Enigma ("Rätsel"): im Kabinett "Kryptologische Maschinen" im Deutschen Museum München. Schlüssel: Rotor, Ringstellung, Anfangsstellung, Verdrahtung des Steckerbretts, 2x1020 verschiedene Schlüssel bei 3 Rotoren. Blockchiffren: Text wird in Blöcke gleicher Länge zerlegt, jeder Block wird nach demselben Verfahren verschlüsselt; Padding bei Block-Chiffren: Auffüllen des letzten Blockes bis zur erforderlichen Größe, z. B. ISO 9797: L-bit anfügen (immer, als Ende-Markierung für die Entschlüsselung), danach Block mit 0... auffüllen. DES: Block-Produkt-Chiffre Erstes offengelegte Verfahren (theoretische Hintergründe aber geheim). Grundlage: "Lucifer" von IBM (1974), wird zum Industrie-Standard, 1977 offizieller USA-Standard. Ist ein Feistel-Netzwerk (Teilung der Blöcke in gleich große rechte und linke Hälften). Blockgröße 64 bit, Schlüssellänge 56 bit (128 bit von NSA abgelehnt: Hintertür?). S-Boxen stellen Substitutionen dar, P-Boxen Permutationen; die Eingangs-/ Ausgangspermutationen dienen nicht der Sicherheit. Wichtig: Schwache Schlüssel vermeiden! Ziel: jedes Schlüsseltext-bit soll von jedem Klartextbit und jedem Schlüssel-bit abhängen. Nicht besonders gut für Software-Realisierungen geeignet. Modi: ECB (electronic code book): separate Chiffre der Blöcke, identische Blöcke liefern identische Klartextblöcke (liefert Informationen über Klartext und erleichtert Eindringen) CBC (cipher block chaining): Verkettung jedes Eingangsblocks mit dem vorherigen Schlüsseltextblock (Addition mod 2): Cn+1 = DES(Cn + Mn) der erste Block wird mit einem vereinbarten Initialisierungsvektor verkettet; dadurch sind alle Klartextblöcke miteinander verkettet, und es ist keine Manipulation der Blöcke mehr möglich CFB (cipher feedback): jedes Zeichen wird einzeln verschlüsselt und zum nächsten Zeichen mod 2 addiert, gut für kleine Texte (führt zur kontinuierlichen Chiffre) OFB (output feedback) ähnlich Am schnellsten sind Hardware-Lösungen ("security on silicon"), z. B. AMD-Chip, Chip SuperCrypt, auch AT&T u. a. Frühe Anwendungen: Kennwörter der meisten UNIX-Systeme: 24 DES-Runden + salt (4096 DES-Modifikationen), PIN der EC-Karten (hochgeheimer Schlüssel) bis 1998, Kerberos. Verbesserte Verfahren: Triple DES (3 DES-Durchläufe, 2 verschiedene Schlüssel (Länge 112 bit), ab 1998 für PIN auf ec-Karten eingesetzt). IDEA (international data encrytion algorithm) 1990 von Lai und Massey (ETH Zürich), 128 bit Schlüssellänge Skipjack (NSA, lange geheim) 32 Runden, 16 Mio. mal sicherer als DES, 80-bit-Schlüssel, in Clipper-Chip MYK-78 ("Capstone"?) mit Hintertür (Seriennummer wird mitgesendet, Generalschlüssel aus 2 Teilen (in Behörden); Anlaß war Industriespionage, hat sich nicht durchgesetzt, darum später offengelegt. AES (advanced encryption standard) 1997 von NIST als DES-Nachfolger ausgeschrieben: 1999 fünf Anwärter aus 16 Kandidaten (auch Telekom) ausgewählt: MARS (USA), RC6TM (RSA), Rijndael (Belgien), Twofish (USA, Schneier u. a.), Serpent (England/Dänemark/Israel); 2001 Entscheidung und FIPS-Standard (federal information-processing standard): Rijndael (Vincent Rijmen, Joan Daemen): für Software- und Hardware-Lösungen geeignet; kurze schnelle Programme möglich (<500 Zeilen); für 128-, 192-, 256-bit-Schlüssel verwendbar. Ver- und Entschlüsselung nicht völlig symmetrisch; mathematische Grundlage: Galois-Felder. 128-bit-Variante: Generierung von zehn 128-bit-Schlüsseln (zehn 4x4-Matrizen); „State“: die 128-bit-(16-Byte-)Blöcke werden jeweils in einer 4x4-Matrix angeordnet; 10 Runden mit den 10 Schlüsseln führen zum Schlüsseltext des jeweiligen Blocks. 1 Runde: 1) ByteSub (vorgegebene Substitution) 2) ShiftRow (die 4 Zeilen des State rotieren zyklisch um 0 bzw. 1 bzw. 2 bzw. 3 Bytes nach links) 3) MixColumn (komplizierte Substitution der State-Spalten) 4) AddRoundKey (Rundenschlüssel Å State, eigentliche Verschlüsselung) AddRoundKey auch vor 1. Runde; nach letzter Runde kein MixColumn. 192-bit-Variante: 4x6-Matrizen, 12 Runden 256-bit-Variante: 4x8-Matrizen, 14 Runden Weitere symmetrische Verfahren: RC4 (Rons Cipher, RSA, Stromchiffre, in SSL benutzt) RC5 (stärker Software-orientiert: datenabhängige Rotation, Kombinationen XOR und , außerhalb USA nur 40-bit-Schlüssel zugelassen), A5 (Stromchiffre, mit Schlüsseln der Länge 64-8 bit weltweit beim Mobilfunk) Blowfish (Schneier, 64-bit-Schlüssel, Blockchiffre, Schlüsselerweiterung + Datenverschlüsselung, frei zugänglich) CAST (Carlisle Adams / Stafford Tavares, Kanada: Nortel, frei, 64-bit-Schlüssel (bis 256), Blockchiffre, 6 S-Boxen mit 8-bit-input und 32-bit-output, wird u. a. von PGP benutzt), CAST-256 war AES-Anwärter FEAL (Japan, 64-bit-Schlüssel, Blockchiffre) GOST (SU, 256-bit-Schlüssel, 64-bit-Blockchiffre) REDOK (Wood, USA, 160-bit-Schlüssel, 80-bit-Blockchiffre) SEAL (software-optimized encryption algorithm, Stromchiffre für 32-bit-Rechner Weitere AES-Anwärter: CRYPTON, DEAL, DFC (Frankreich), E2 (Japan), FROG, HPC, LOKI97, MAGENTA (Telekom), SAFER+ . RFC-S (recursive function cryptography – symmetric), Schlüssel bis zu 4096 Bit (Supercomputer würden mehr als 100 Mio. Jahre zum Knacken brauchen, wird von NSA benutzt) Freeware TrueCrypt verschlüsselt ganzes Speichermedium mit 256-bit-AES Asymmetrische Verfahren (Public-Key-Verfahren) zuerst (nur theoretisch) Diffie und Hellmann (1976): "New Directions in Cryptography" Prinzip: A und B (Alice und Bob) haben jeweils ein Schlüsselpaar aus öffentlichem (p = public) und geheimem (s = secret) Schlüssel Verschlüsselung c = E(m) mit p von B (Empfänger) Entschlüsselung m = D(c) mit s von B ( E = Encryption , D = Decryption mit geeigneten Verfahren) Voraussetzung: s nicht aus p oder Schlüsseltext berechenbar Vorteile: kein Schlüsselaustausch nötig weniger Schlüssel nötig: 2n gegenüber n x (n-1) / 2 bei symmetrischen Verfahren neue Anwendungen Nachteile: sichere Verfahren sind langsam, Schlüsselverwaltung und besondere Infrastruktur nötig: spezielle Schlüssel-Generierung, Verteilung / Übergabe der öffentlichen Schlüssel Anwendungen: Kennwort-Abfrage (Einwegfunktionen), elektronische Unterschriften (digitale Signaturen) für Authentikationen, Kommunikationsnachweise, Notariatsfunktionen (z. B. Versiegelung von Dateien) RSA-Algorithmus: Ron Rivest, Adi Shamir, Leonard Adleman (1978, US-Patent bis 2000, in Europa nicht rechtzeitig angemeldet) c = me mod n e,n öffentlich m = cd mod n d geheim n = p*q (p,q prim, groß, sonst beliebig, müssen nach Schlüssel-Erzeugung sicher gelöscht werden, können später mit praktikablem Aufwand nicht wieder erzeugt werden: Primfaktorzerlegung großer Zahlen, n z. B. aus 200 Dezimalstellen bis 2048 bit ® 1024-bit-Schlüssel) e<n teilerfremd zu (p-1)x(q-1), sonst beliebig d > max(p,q) prim, d*e = 1 mod ((p-1)(q-1)), sonst beliebig [d ist dann relativ prim zu f(n)] Beschleunigung durch Multiprime-Verfahren: n als Produkt aus mehr als 2 Primzahlen (bei 3 Faktoren 3,35 mal schneller, bei 4 Faktoren 8 x ; günstig bei Mehrprozessorsystemen) Schlüssel-Erzeugung z. B. nach Berlekamp-Algorithmus: Primzahlen p,q,e wählen (Zufallszahlen oder von einem Startwert an alle ungeraden Zahlen, Test auf Prim-Eigenschaft nach probabilistischem Miller-Rabin-Test), d als größter gemeinsamer Teiler nach dem Euklidischen Algorithmus, Hauptgleichungen aus dem Satz von Euler: mF(n) = 1 mod n , wenn m und n teilerfremd, F(n) : Anzahl der zu n teilerfremden Zahlen < n Schlüsselpaar oft aus kleinem d (z. B. Standardwert 1009) und großem e, aber unsicher, wenn d < Wurzel(n); auch umgekehrt: e klein. Gibt es genügend viele Primzahlen? P(x) ~ x / ln x , d. h. x (gilt asymptotisch) | 1000 106 109 2250 P(x) | 168 78498 50847478 1078 (Volumen des beobachtbaren Universums: 1078 qcm) Verschlüsselung: m einen integer-Zahlenwert < n zuordnen, evtl. in Blöcke zerlegen (dann Blockchiffre!) (es bleibt Restwahrscheinlichkeit, daß Prim-Eigenschaften nicht erfüllt sind: dann entstehen Fehler beim Ver/Entschlüsseln) Praktische Probleme: Arithmetik vielstelliger Zahlen Weitere Verfahren: KEA (NSA, offengelegt), ECC: elliptische und hyperelliptische Kurven / diskrete Logarithmen (mit Primärzahlen aus bestimmten Abschnitten), kürzere Schlüssel, 160 bit zur Zeit ausreichend (entspricht 1024 bit bei RSA, aber wesentlich schneller), von SigG anerkannt, für Smartcards geeignet, deutsche Lösungen Quanten-Kryptographie in Arbeit: Übertragung der Schlüssel mittels einzelner quantenmechanisch verschränkter Photonen, jeder Hack-Versuch wird wegen der Heisenbergschen Unschärferelation erkannt (führt zur Zerstörung der quantenmechanischen Verschränkung) Systeme: „Navajo“ (USA, 2003) aus Lichtquelle und Detektor einzelner Photonen. QKD (quantum key distribution): ein Signalgenerator erzeugt 2 verschränkte Photonen (enes für Sender, eines geht zum Empfänger; beide messen die Ausrichtung (Spin) und erkennen 0 oder 1. Einwegfunktionen: Funktionen, die nicht (genauer: äußerst schwer) umzukehren sind. Beispiele: Telefonbuch - Teilnehmer aus vorgegebener Nummer ermitteln, Horner-Schema - Nullstellenbestimmung, Wörterbuch deutsch-englisch zum Suchen englischer Wörter, f(k,m) statt f(m,k), wobei f eine gute Kryptofkunktion ist (z.B. DES), diskrete Exponentialfunktion – diskreter Logarithmus (echt gut!) Anwendungen: Kennwort-Verschlüsselung, digitale Signaturen (Hash-Funktionen, MAC, MDC) zur Authentikation Hybridverfahren: Verschlüsselung symmetrisch, Schlüssel-Austausch asymmetrisch z. B. in PC-Cards realisiert Kryptoanalyse Grundprinzip: Schwachstellen der Kryptoverfahren ausnutzen. Wichtig auch, um Stärken und Schwächen der Verfahren zu erkennen. praktische Sicherheit : Analyse-Aufwand > Wert der verschlüsselten Informationen Analyse-Zeit > Dauer der Brauchbarkeit der Informationen oder: Grundlegende Verfahren: Mathematische Statistik bei symmetrischen Verfahren Zahlentheorie (Primfaktorzerlegung großer Zahlen) bei asymmetrischen Verfahren Häufigkeitsanalysen ergründen leicht Transpositionen und monoalphabetische Substitutionen, auch homophone (bei der Analyse werden zuerst Gesetzmäßigkeiten des Wechsels ergründet). Praktische Analyse: Einteilung in Gruppen, jeweils mit Häufigkeit von ca. 33% (1. e+n, 2. i+s+r+a+t usw.); auch Häufigkeit von Vokalen, z. B. 44% im Französischen; Komprimierung macht die Kryptoanalyse komplizierter, da sie die sprachlichen Gesetzmäßigkeiten abschwächt; aber sie wird durch Baumanalyse geknackt; Mehrfachsubstitution ist im Prinzip nur eine einzige Substitution: z. B. (a + s1) + s2 = a + (s1 + s2) [Cäsar] Polyalphabetische Chiffre: Höhere Sicherheit, wenn jeder Buchstabe nacheinander durch mehrere Zeichen ersetzt wird. Gauß hielt Chiffre für unbrechbar, wenn die Länge dieser Folgen der Buchstabenhäufigkeit entspricht, hat aber Bi/Trigramme nicht beachtet! Häufigkeit ist also nach wie vor noch (stark abgeschwächt) zu erkennen! Polyalphabetische Substitution ist im Prinzip eine positionsabhängige einfache Substitution. Preußischer Major Kasiski untersuchte Verschlüsselung gleicher aufeinanderfolgender Buchstaben (1863 veröffentlicht): die Anzahl der Wiederholungen von Buchstabenfolgen im Geheimtext ist ein Vielfaches der Periode. Colonel Friedmann (* 1891, genial) arbeitet wahrscheinlichkeitstheoretisch (Koinzidenzindex: Wahrscheinlichkeit dafür, daß 2 beliebig gewählte Zeichen übereinstimmen). Auch Markoff-Ketten (Wahrscheinlichkeit dafür, daß bestimmte Buchstaben aufeinander folgen). Brute-Force-Ansatz: alle denkbaren Schlüssel durchprobieren ("nackte Gewalt"); eingeschränkte Form: Wörterbuch-Angriff („crack“). Praktische Probleme: Analyse der Schlüsseltexte auf Sinnfälligkeit; Lösung z. B., wenn im "entschlüsselten" Text nur Zeichen eines bestimmten Alphabets (z. B. ASCII) auftreten. Bei 40-bit-Schlüssellänge (oft bei https) kann heute schon in Echtzeit mitgelesen werden. Time-Memory Tradeoff (Hellmann 1980): spezieller Brute-Force, bei dem nicht alle Geheimtexte eines Klartext-Angriffs abgespeichert werden. Codebook-Analyse: typische Klartextworte im Schlüsseltext suchen. Short-Cut-Angriffe: alle kürzeren Versuche. Differentielle Fehleranalyse (differential fault analysis): es werden (z. B. auf Chipkarten) gespeicherte Schlüssel vor der Verschlüsselung verändert (i. a. physikalisch), und dann werden die Veränderungen des Chiffrats analysiert. 1990 differentielle Kryptoanalyse (Adi Shamir, „Einstein der Kryptanalyse“, und Elie Biham, Israel 1990): es werden Differenzen ΔA = A Å A’ von Textblöcken und Charakteristiken untersucht (d. h. ΔP für Klartextpaare, für die ΔC der Geheimtextpaare eine erhöhte Wahrscheinlichkeit haben: „gute“ Klartextpaare) und damit wahrscheinliche Schlüssel ermittelt. heute „impossible differentielle Kryptanalyse“. Lineare Kryptoanalyse (Matsui 1993): es wird versucht, die Schlüssel-Bits aus linearen Gleichungssystemen für Bits zu ermitteln ( + entspricht dem XOR, * dem AND); theoretisch fast überall möglich. Timing- und Power-Attacken (Analyse von Rechenzeiten und Stromverbrauch bei der Verschlüsselung): DPA (differential power analysis) von Paul Koch bei Chipkarten; angestrebt werden DPA-resistente Systeme. Voraussetzungen für Kryptoanalysen: - Schlüsseltext bekannt: known ciphertext attack - kleine Textstellen Klartext – Schlüsseltext häufig bekannt (durch Erraten von Floskeln/Ausdrücken z. B.): known plaintext attack - Verfahren bekannt: eigene Verschlüsselungsversuche durch Erraten des Schlüssel (chosen plaintext attack) - man in the middle (Mallory) - timing Analyse von Block-Produkt-Chiffren: XOR-Analyse: Stimmen zufällig 2 Schlüsseltextblöcke überein (tritt beim DES im Mittel alle 2 32 Blöcke einmal auf), gilt Cm Å Mm = Cn Å Mn ® Mm Å Mn = Cm Å Cn , d. h., man weiß, welche Klartextblöcke übereinstimmen, allerdings ohne den Text zu kennen (so sind Ethel/Julius Rosenberg enttarnt worden: Venona-Projekt der NSA). Sicherheit von Produkt-Chiffren steigt mit zunehmender Rundenzahl stärker als exponentiell. DES: Schwächen: schwache/halbschwache Schlüssel, Redundanz, zu kurze Schlüssel (256 ~ 7,2x1016 = 72 Billiarden verschiedene Schlüssel), 4. S-Box (Hintertüren für CIA?) 1997 brute-force von > 1000 Internetrechnern, nur ¼ der Mögklchkeiten durchprobiert (vorher AT&T-Rechnerdrohung). 1998 Wiederholung: Ausnutzung der Leerzeiten von 50000 Rechnern und 22000 Anwendern (Dauer: 39 Tage). 1998 DES-Crack-Maschine der EFF (electronic frontier foundation): 2 Computer mit je einem Steuerrechner und 12x64 40 MHz-Spezialchips "deep crack" (für jeweils eine DES-Entschlüsselung in 16 Takten, Stop nach erfolgreichem Test auf Klartext-Eigenschaft). Durchschnittliche Suchzeit 4,5 Tage, Gesamtkosten 250 T$, 10er Team brauchte18 Monate. EFF auf RSA-Kongreß mit 100 000 Computern in 22 h. [Buch "Cracking DES" mit Schaltplänen; Software im Internet] Enigma: 1932 in Polen erste Erfolge bei der Entschlüsselung (2007 Denkmal für M. Rejewski, J. Rosycki, H. Zygalski in Poznan); endgültig gebrochen von Turing. Dadurch ständig (zunächst unbemerkte) Entschlüsselung der Kommandos deutscher Schiffe möglich (Beispiel: Jagd auf deutsches Tarnkappen-U-Boot, das durch Gummihaut nicht mittels Schallwellen zu orten war). Buch von M. Grajek (Polen 2007), Erzählung „Alan Turing“ von Hochhuth, sachlicher Roman von Robert Harris und 2002 Film danach. Die Entschlüsselung wird weiter geheim gehalten (1945 viele Unterlagen vernichtet), da weiter Rotor-Maschinen benutzt wurden und der britische Geheimdienst allein über die Entschlüsselung verfügen wollte. RSA: Die dazu nötige Primfaktorzerlegung großer Zahlen nach NFS-Verfahren (number field sieve) bei langen Schlüsseln (1024 bit für p + s) erfordert 1011 MIPS-Jahre; die größte 2005 faktorisierte Zahl war RSA200 der Fa. RSA Security mit 200 Stellen (Produkt zweier Primzahlen, ein 2,2 GHz-PC hätte 55 Jahre benötigt). Das Ausspähen verschlüsselter gespeicherter geheimer Schlüssel ist aber denkbar (wegen hoher Entropie, d. h. besonderem Chaos), von Shamir (und Someren) praktiziert (z. B. bei SSL, Attacke mittels CGI). Laufzeitattacken (analysieren Zeitunterschiede je nach Algorithmus). RSA-Studie (Kosten für Prozessorzeit und Arbeitsspeicher wurden verglichen mit Wert und Lebensdauer der Daten, Zukunft nach Gesetz von Moore) zeigt: 1024-bit-Schlüssel sind noch 20 Jahre sicher. Ein Cluster aus mehreren 100 Rechnern hat RSA mit Schlüsseln der Länge 768 bit in 2 ½ Jahren geknackt (Nur 1 Computer hätte 1500 Jahre gebraucht; bei 1024-bit-Schlüsseln wären 10 Jahre benötigt). Vergleichbare Schlüssel bei Angriffskosten von 10 Mio. €: DES usw. 56 80 98 128 RSA 430 760 1024 1620 ECC 112 160 192 256 Dauer 5 min. 50 Jahre > 3 Mio. Jahre 1016 Jahre In fernerer Zukunft leisten Quantencomputer wahrscheinlich die Faktorisierung und das Berechnen diskreter Logarithmen in Sekunden! (Algorithmen von Peter Shor, ca. 1995) Weitere Beispiele für Kryptoanalysen: + die Skytala kann durch Kegel geknackt werden + E. A. Poe zeigt in der Erzählung „Goldbug“ eine der ersten Kryptoanalysen: schrittweises Ausnutzen aller sprachlichen Besonderheiten + UNIX-Kommando crypt : Baldwin (MIT) veröffentlicht 1985 ein Dechiffrierprogramm, crypt wird seitdem nur noch aus Kompatibilitätsgründen in UNIX erhalten + nach RSA-Aufruf entschlüsseln 10000 Internet-Rechner 1997 eine mit 48-bit Schlüssel verschlüsselte Nachricht (162 Billionen Versuche in 13 Tagen) + RSA-155 (512-bit-Schlüssel) 1999 von holländischen Forschern (6 Wochen Cray) und 2000 von Schweden (30 TM Preisgeld) geknackt + bei Windows ist die Kennwort-Datei mit 32-bit-Schlüssel verschlüsselt + Authentikationsalgorithmus A3 in GSM-Chipkarten für Mobiltelefone wurde einen Tag nach Offenlegung gebrochen (Goldberg/Wagner), trotzdem weiter im Einsatz; auch A5 zur Verschlüsselung in 1 sec. zu brechen. + Schneier u. a.: Angriff auf RC5, führte zur Entwicklung von RC6 + Katz/Schneier knackten PGP 2.6.2 durch choosen ciphertext + Shamir: Angriff gegen 31-Runden-Skipjack [real 32] bei known plaintext; 1999 optisches Gerät (schwarzer Zylinder) für Primfaktorzerkegung großer Zahlen (RSA mit 512-bit-Schlüsseln schon unsicher?) + Angriffe auf digitale Wasserzeichen (am leichtesten ist Löschen) + fast correlation attacks auf Stromchiffren + "Pluto": BSI/Siemens, 2 GByte/s, ab 2000, 10 Mio. DM, mit Schlüssel-Verwaltung für staatliche Stellen + Bluetooth-Verschlüsselung WEP (wired equivalent privacy) schwach (Nachfolger: WPA / WPA2) + Grid-Computing-Projekt Distributed.net sucht Schlüssel für eine RC5-72-kodierte Nachricht + Fake-State-Verfahren für Quantensysteme: Schwacher Lichtimpuls (50 Mikrowatt ) simuliert in den Empfänger-Detektoren 0 oder 1 + Nach den Enthüllungen von Snowden 2013 ist die SNA in der Lage, auch verschlüsselte Texte zu lesen, vermutlich durch in die Verschlüsselungssoftware eingebaute Hintertüren (Trapdors); dieser Gefahr kann man entgehen, wenn Open-Source-Software verwendet wird und diese ständig auf Manipulationen geprüft wird. Interlock-Protokoll gegen man in the middle (Rivest / Shamir 1984) 1) A und B tauschen ihre public keys 2) A und B chiffrieren Nachricht, von der nur ein nicht dechiffrierbarer Teil (halbe Blöcke o. ä.) gesendet wird 3) A und B senden die zweite Hälfte 4) A und B dechiffrieren, d. h. Mallory kann nicht aktiv gewesen sein theoretisch unbrechbar: Vernam mit Schlüssellänge = Klartextlänge + jeder Schlüssel wird nur einmal verwendet + Schlüssel zufällig: one-time-pad (Beweis von Shannon) © kd rieck febr. 2015