12.07.2015 Aufrufe

Skript zum Kryptologie-Referat Part II

Skript zum Kryptologie-Referat Part II

Skript zum Kryptologie-Referat Part II

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Skript</strong> <strong>zum</strong> <strong>Kryptologie</strong>-<strong>Referat</strong><strong>Part</strong> <strong>II</strong>c○1999 by Roland Krüppel1 Grundlegende UnterscheidungenIn der modernen <strong>Kryptologie</strong> unterscheidet man in der <strong>Kryptologie</strong> zwischensymmetrischen und public-key Verfahren.1.1 Symmetrische VerfahrenHier trennt man zwischen Stromchiffrierungen, die jedes Bit einzeln bearbeiten,und Blockchiffrierungen, die jeweils einen Block von mehreren Bit(meist 64 oder 128) bearbeiten.2 Prinzipien aus der InformationstheorieDie Informationstheorie wurde Anfang dieses Jahrhunderts von C.E Shannonentwickelt. Sie beschäftigt sich mit Information, deren Transport undGeheimhaltung. Nach der I. gibt es bei der Verschl. zwei Prinzipien:Konfusion Verschleierung des Zusammenhangs zwischen Klar- und Geheimtext.Bsp.: Bei der Caesarchiffrerung wird aus A ein C o.ä.Diffusion Verteilung der im Klartext enthaltenen Information über denGeheimtext. Spezialfall Lawineneffekt: Jedes Geheimtextbit hängt von jedemKlartextbit und jedem Schlüsselbit ab.3 Grundlagen für die Anwendung3.1 Arithmetik mod 2Da die modernene Algorithmen auf Computern eingesetzt werden, arbeitensie nicht mehr mit Zahlen oder Buchstaben, sondern mit Bits (Dualsystem).Ein Bit kann entweder 1 oder 0 sein. In der sog. ASC<strong>II</strong>-Tabelle werden 255Zeichen durch einen 8 Bit (1 Byte) langen Ausdruck dargestellt.Im Dualsystem ist eine Addition ⊕ - man nennt sie exklusives oder bzw.XOR - definiert: 0 ⊕ 0 = 0 ; 0 ⊕ 1 = 1 ; 1 ⊕ 0 = 1 ; 1 ⊕ 1 = 0Damit läßt sich schon eine ganz einfache Verschlüsselung konstruieren (Vernam-Verschlüsselung): M ⊕ K = C und vice versa C ⊕ K = M1


3.2 Das Feistel-NetzwerkViele moderne Blockalgorithmen sind sog. Feistel-Netzwerke, die in dern70ern von H. Feistel bei IBM entwickelt wurden. Ein Block Klartext wird inzwei Hälften R und L geteilt. Nun definiert man eine iterierte Blockchiffrierung,bei der die Ausgabe der i-ten Runde durch die Ausgabe der verherigenRunde bestimmt wird:L i = R i−1R i = L i−1 ⊕ f (R i−1 , K i )K i ist dabei der Teilschlüssel der i-ten Runde und f eine beliebige Rundenfunktion.WegenR i−1 = L iL i−1 = R i−1 ⊕ f (R i−1 , K i )läßt sich der Klartext mit Hilfe der Rundenschlüssel auch wieder einfachentschlüsseln!4 Der DES-Algorithmusals Vertreter der symmetrischen Blockchiffrierer4.1 GeschichteNach dem zweiten Weltkrieg verlief die öffentliche kryptologischie Forschungziemlich planlos, gleichzeitig wurde in den USA der Ruf nach einem sicherenVerschlüsselungsstandard für geheime Daten laut. Das National Bureauof Standards (NBS, später NIST) suchte 1973 in einer Ausschreibung einensolchen Algorithmus Luzifer der IBM (112bit Schlüssel). Dieser Algorithmuswurde mit Modifikationen - der Schlüssel wurde auf 56bit verkürzt, vielleichtwurden auch die S-Boxen geändert - bei denen die National Security Agency(NSA) ihre Finger ihm Spiel hatte, am 23. Nov. 1976 als DES - DataEncryption Standard - <strong>zum</strong> Bundesstandard erklärt. Viele fürchteten aber,daß die NSA ”Hintertüren“ in DES eingebaut hatte, um ihn leichter entschlüsselnzu können. Auch nach jahrelanger Kryptanalyse hat man jedochkeine gefunden. Sein offensichtlicher Nachteil ist jedoch der kurze Schlüssel(56bit entspricht 2 56 , also 2 ∗ 10 16 , möglichen Schlüsseln), der ihn durchBrute-Force verwundbar macht.4.2 AufbauDES ist ein Feistel-Netzwerk mit 16 Runden, daß 64bit-Blöcke mit einem56bit-Schlüssel chiffriert (s. Diagramm). Besondere Bedeutung kommt dabei2


der Expansionspermutation, die für den Lawineneffekt sorgt, und den S-Boxen zu, die Kryptanalyse fast unmöglich machen.4.3 KryptanalyseTrotzdem haben die Kryptanalytiker immer wieder versucht DES anzugreifen.Dabei entwickelten E. Biham und A. Shamir anfang der 90er die ”differentielleKryptanalyse“, die Differenzen zwischen Klartexten und Differenzenzwischen den dazugehörigen Geheimtexten beobachtet. Sie konnten feststellen,daß bestimmte Klartextdifferenzen mit einer bestimmten, wenn auchgeringen Wahrscheinlichkeit, zu bestimmten Geheimtextdifferenzen führen,wodurch man Schlüsselbits rekonstruieren kann (das genaue Verfahren istsehr kompliziert). Leider braucht diese Methode immer noch 2 47 ausgewählteKlartexte, die mit dem selben Schlüssel verschlüsselt wurden, um diesenherauszufinden. Die Zahlen in den S-Boxen sind jedoch so geschickt gewählt,daß die differentielle Kryptanalyse möglichst schwer ist; den Entwicklern desDES bei IBM war diese Methode schon in den 70ern bekannt! Eine weitereAngriffsmethode ist die lineare Kryptanalyse, die 1993 von M. Matsui erfundenwurde. Sie versucht lineare Approximationen zu finden, die mit einerbestimmten Wahrscheinlichkeit gelten, und so Schlüsselbits verraten. DieseMethode ist beim DES noch etwas effektiver als die differentielle Kryptanalyse,man braucht 2 43 bekannte Klartexte.4.4 Brute-ForceDie effektivste Methode <strong>zum</strong> Ermitteln des Schlüssel ist aber praktischBrute-Force, das Durchprobieren des Schlüsselraumes. Mit Spezialhardware,die pro Sekunde 92 Billionen Schlüssel testet, und einem Aufwand vonnur 210.000$ konnte die Electronic Frontier Foundation (EFF) den DES indurchschnittlich 4,5 Tagen knacken. Wenn man bedenkt, daß Geheimdienste,wie die NSA viel größere Summen zur Verfügung haben, um eine solcheMaschine zu bauen, so kommt man zu dem Schluß, daß der DES - erst rechtnicht die ”Exportversion“ mit einem 40bit-Schlüssel - nicht mehr sicher ist,um Geheimnisse vor dem Staat oder Industriespionage zu schützen.4.5 EinsatzDer DES-Algorithmus wird <strong>zum</strong> Beispiel von Banken bei der PIN benutzt.Die Bank nimmt dazu die letzten vier Ziffern der BLZ, die zehnstellige Kontonummerund eine einstellige Kartenfolgenummer, verschlüsselt diese miteinem streng geheimen Institutsschlüssel, und bildet aus zwei Bytes des Geheimtextesdie PIN des Kunden. Der Geldautomat, der online mit demBankcomputer verbunden ist, überprüft dann (nach einem ausgeklügeltenkryptographischen Protokoll), ob die PIN stimmt.3


Außerdem wird DES (bzw. TripelDES mit dreimaliger Verschlüsselung) inBankensoftware verwendet.5 Der RSA-Algorithmusals Vertreter der public-key Kryptographie5.1 Warum public-keyDas grundsätzliche Problem der symmetrischen Kryptographie ist, daß Senderund Empfänger den Schlüssel kennen müssen. Er muß also irgendwiesicher übertragen werden. Die public-key Kryptographie geht einen ganzanderen Weg: Alice verschlüsselt mit dem öffentlichen Schlüssel von Bob;Bob entschlüsselt mit seinem privaten, geheimen Schlüssel. Algorithmen,die so etwas leisten, heißen Einweg-Falltür-Funktionen.5.2 Modulare ArithmetikAlle Einweg-Funktionen machen sich die modulare Arithmetik, das ”Rechnenmit Resten“ zu nutze. a und b sind kongruent modulo n, wenn sie beiDivision durch n den selben Rest lassen, bzw. wenn a der Rest der Divisionvon b durch n ist.a = b mod n a, b, n ɛ N +⇔ a = b − n ·b∣n∣Einige (leicht nachprüfbare) Rechenregeln dazu:5.3 Aufbaua = b mod nc = d mod na + c = b + d mod nac = bc mod nac = bc mod na k = b k mod nac = bc mod ncDer RSA-Algorithmus, der populärste seiner Art, wurde von R. Rivest, A.Shamir und L.M. Adleman 1978 veröffentlicht. Seine Sicherheit beruht aufdem Problem, große Primzahlen zu faktorisieren, obwohl das nicht bewiesenwerden konnte. Wie funktioniert RSA genau?4


Vorbereitungen: Wähle zwei Primzahlen p und qn = p · qFinde mit Hilfe des euklidschen Algorithmus zwei Zahlen e und d, so daßgilt1 = e · d mod (p − 1) (q − 1) bzw. e · d = k (p − 1) (q − 1) + 1n und e bilden den öffentlichen Schlüssel, d ist der private5.3.1 Verschlüsseln5.3.2 Entschlüsseln5.4 BeweisC = M e mod nM = C d mod nDieser geniale mathematische Trick läßt sich natürlich auch beweisen:M = C d mod n⇔ M = (M e ) d mod n⇔ M = M ed mod n⇔ M = M k(p−1)(q−1)+1 mod n⇔ M = M (p−1)(q−1)+1 mod n⇔ M = M · M (p−1)(q−1) mod nKleiner Exkurs in die ZahlentheorieKleiner Satz von Fermat: 1 = a p−1 mod p für alle Primzahlen pEuler hat das erweitert: 1 = a ϕ(n) mod n für beliebige n, wobeiϕ (n) die Anzahl der zu n teilerfremden Zahlen < angibt. Füreine Primzahl ist das p-1Wie sieht die ϕ-Funktion für p·q aus? Es gibt pq-1 Zahlen kleinerpq, davon sind aber p Zahlen durch q teilbar (1q, 2q,..., pq) undq Zahlen durch p teilbar (1p, 2p,..., qp), so daß wir erhaltenϕ (pq) = pq − 1 − (p + q − 1) = (p − 1) (q − 1)Diese Erkenntnis wenden wir auf unser Problem an.⇔ M = M · M ϕ(pq) mod pq⇔ M = M · 1 mod pq⇔ M = M mod pq⇔ M = M, da M < pqq.e.d5


5.5 Brute-ForceIm April wurde in drei Monaten Rechenzeit eine 211-stellige Zahl (≈ 630 Bit)mit Hilfe des sog. Zahlkörpersiebes faktorisiert. Anfang Mai hat A.Shamirein neues, schnelleres Verfahren vorgestellt, das zur Zeit intensiv diskutiertwird. Klar ist aber schon jetzt: Kleine Schlüssel unter 1024 Bit sind nichtmehr sicher!5.6 EinsatzDas RSA-Verfahren wird z.B. in der Verschlüsselungssoftware für Jedermann,Pretty Good Privacy (PGP), eingesetzt (in der neuen Version auchdas ähnliche Verfahren von Diffie und Hellmann). Der Klartext wird miteinem zufälligen Sitzungschlüssel symmetrisch verschlüsselt und der Sitzungsschlüsselmit RSA, d.h. dem öffentlichen Schlüssel des Empfängers,verschlüsselt. Nun werden Geheimtext und kodierter Sitzungschlüssel verschickt.Der Empfänger stellt den Sitzungschlüssel mit seinem privaten Schlüsselwieder her, und kann so auch den Geheimtext wieder entschlüsseln. Man benutztdieses Verfahren, weil RSA sehr langsam ist.Ein anderes Einsatzgebiet von RSA und anderen public-key Verfahren sinddie digitalen Signaturen, mit denen die Echtheit von Dokumenten bestätigtwerden kann.6 Literaturhinweise- Mathematikkenntnisse Voraussetzung, Computer- und Programmierkenntnissehilfreich-Angewandte Kryptographie, Bruce Schneier, Addison-Wesley Sehrumfassend, sehr gut, die Bibel für den Kryptographen, mit C-AlgorithmenAbenteuer <strong>Kryptologie</strong>, Reinhard Wobst, Addison-Wesley Guter Einstieg,leicht verständlich, klassische und moderne <strong>Kryptologie</strong>Verschlüsselte Botschaften, Rudolf Kippenhahn, Rowohlt KlassischeKryptographie, leicht verständlich, keine Vorkenntnisse nötigCodes und Kryptographie, Dominic Welsh, VCH Informationstheorie,sehr mathematisch, sehr kompliziertCodierungstheorie, R.-H. Schulz, Vieweg Informationstheorie, sehr mathematisch,sehr komplizierthttp://www.informatik.tu-muenchen.de/ gerold/aktvorl9899/dka.htm:Differentielle Kryptanalyse, gute Einführung, schwer6


http://www.hack.gr/users/dij/crypto/ Sehr umfassende, verständlicheEinführunghttp://www.hom.saar.de/ awa/kryptolo.htm Sehr ausführliche Einführungin die nötige Mathematik, Beispiele aus der Anwendungspraxishttp://www.uni-siegen.de/security/krypto/index.html Allgemeine Übersichthttp://www.rsa.com Homepage von RSA Security Inc., gute FAQhttp://people.frankfurt.netsurf.de/Michael.Seibold/index.html Sehrausführliche Übersicht über Prinzipien und alle verwendeten AlgorithmenNewsgroup sci.crypt Einige Spinner, viele Diskussionen auf sehr hohemNiveau, nicht ohne Vorkenntnisse zu empfehlen7

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!