Grundlagen der Sicherheit in Netzen und verteilten Systemen

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Sicherheit in Netzen und verteilten Systemen"

Transkript

1 Grundlagen der Sicherheit in Netzen und verteilten Systemen Stefan Ransom + Jürgen Koslowski

2 Kapitel 2 Grundbegriffe der Cryptologie und klassische Verfahren

3 Überblick Einführung und historische Anmerkungen Erste Grundbegriffe Klassische Verfahren Transpositionschiffren Substitutionschiffren: Caesar, Vigenére u.ä. One-Time-Pad und perfekte Geheimhaltung Rotormaschinen (ENIGMA)

4 Cryptographie und Cryptoanalyse Die Cryptologie umfasst zwei Gebiete: Cryptographie die Wissenschaft vom Datenschutz durch Verschlüsselung Cryptoanalyse Die Kunst, ohne Kenntniss des Schlüssels an die geheimen Daten zu kommen. Cryptologie ist schon seit Tausenden von Jahren Gegenstand von Untersuchungen. Um sie ranken sich viele geheimnisvolle Geschichten warum?

5 Historie Crytpologie benötigt nicht-triviale Spezialkenntnisse: früher: Schrift und Sprachkenntnisse; Umgang mit Zeichen und Alphabeten heute: nicht-triviale zahlentheoretische Grundlagen Erste Beispiele im antiken Griechenland und in Rom Während der Renaissance wurden alte Verfahren wiederentdeckt und neue Verschlüsselungsverfahren erfunden. Bis in die 70 er Jahre des vergangenen Jahrhunderts war Cryptologie vorrangig Domäne von Regierungen, des Militärs und von Geheimdiensten Man vermutet, dass die nichtöffentliche Forschung schon immer weiter war und auch heute noch ist Heute ist auch das moderne Geschäftslebe ohne Cryptologie nicht mehr denkbar.

6 Grundbegriffe Klartext: die zu verschlüsselnde Nachricht/Daten Chiffretext: die verschlüsselten Daten Chiffrieren: Anwendung eines Verschlüsselungsverfahrens Dechiffrieren: Anwendung eines Entschlüsselungsverfahrens Schlüssel: Informationsträger für die Ver-/Entschlüsselung kontrolliert die Ver-/Entschlüsselung chiffrieren Sender Klartext Schlüssel Chiffretext Empfänger dechiffrieren

7 Prinzipien der Verschlüsselung symmetrische Verschlüsselung (seit 2000 Jahren): Sender und Empfänger haben entweder den gleichen Schlüssel, oder diese Schlüssel sind leicht auseinander bestimmbar; folglich müssen diese Schlüssel geheim bleiben, was ihren Austausch über öffentliche Kanäle erschwert. asymmetrische Verschlüsselung (seit 1976): Sender und Empfänger haben verschiedene Schlüssel, die nur bei Kenntnis einer schwer bestimmbaren Zusatzinformation auseinander berechnet werden können; dies ist die Voraussetzung für Public-Key-Cryptography

8 Aspekte geheimer Kommunikation Geheime Kommunikation Steganographie (Verstecken) Cryptographie (Verschlüsseln) Transposition (Positionen vertauschen) Substitution (Zeichen ersetzen)

9 Steganographie Idee: Nachrichten in scheinbar belanglosen Informationen verstecken, nach Vereinbarung eines Verfahrens zur ihrer Extraktion. Beispiel Postkarte: Liebe Kolleginnen! Wir genießen nun endlich unsere Ferien auf dieser Insel vor Spanien. Wetter gut, Unterkunft auch, ebenso das Essen. Toll! Gruß, J.D. Algorithmus: Buchstaben bis zum nächsten Leerzeichen zählen; gerade/ungerade Anzahl in binäre 1/0 umwandeln; Binärfolge in Blöcke der Länge 8 zerlegen und diese als ASCII-Zeichen interpretieren. Ergebnis: , und liefern SOS.

10 ein nicht mehr verfügbares Beispiel To the Members of the California State Assembly: I am returning Assembly Bill 1176 without my signature. For some time now I have lamented the fact that major issues are overlooked while many unnecessary bills come to me for consideration. Water reform, prison reform, and health care are major issues my Administration has brought to the table, but the Legislature just kicks the can down the alley. Yet another legislative year has come and gone without the major reforms Californians overwhelmingly deserve. In light of this, and after careful consideration, I believe it is unnecessary to sign this measure at this time. Sincerely, Arnold Schwarzenegger ursprünglich verfügbar auf der Webseite des Governeurs von Kalifornien

11 Moderne Steganographie Moderne Verfahren codieren Nachrichten in verlustbehaftet komprimierten Mediendateien, typischerweise in Bildern (jpeg) oder Musikdateien (mp3). Naiv werden bei Bildern die am wenigsten signifikanten Bits der Farbwerte manipuliert. Das fällt zwar beim Betrachten praktisch nicht auf, ist aber mit einfachen statistischen Analysen leicht aufzuspüren: damit lassen sich verdächtige Bilder finden. Geschickere Methoden nutzen die Details des Kompressionsalgorithmus, etwa der diskreten Cosinus-Transformation beim JPEG-Verfahren, und nehmen dort Änderungen an insignifikanten Bits vor. Hier ist der Aufwand zur Entdeckung verdächtiger Bilder schon erheblich höher.

12 Beispiele: Transposition und Substitution Klartext: Dies ist ein einfaches Beispiel Transposition mittels eines Zauns der Tiefe 3 (Schlüssel); Einlesen in Richtung des Zauns (zick-zack), Auslesen zeilenweise: D I I N H E I I S S E N I F C E B I P E DIINHEIISSENIFCEBIPEETEASSL E T E A S S L Substitution gemäß Caesar: wähle k < 26 (Schlüssel); jeder Buchstabe des Alphabets wird um k Positionen zyklisch nach rechts verschoben. Für k = 3 etwa A D, B E,..., Z C was folgenden Chiffretext liefert: GLHVLVWHLQHLQIDFKHVEKLVSLHO

13 Cryptographische Systeme (Wätjen) Definition Ein cryptographisches System besteht aus 5 Komponenten einem Klartextraum M ; einem Chiffretextraum C ; einem Schlüsselraum K ; einer Familie von Chiffrierfunktionen M E K C, K K ; einer Familie von Dechiffrierfunktionen C D K M, K K ; so dass für jedes M M und jedes K K gilt D K (E K (M)) = M Insbesondere ist jede der Funktionen E K Funktionen D K surjektiv. injektiv, und jede der

14 Cryptographische Systeme: praktische Anforderungen Ein zufälliger Schlüssel K K soll leicht (algorithmisch) zu generieren sein Die Chiffrier- und Dechiffrierfunktionen E K bzw. D K sollen mit Hilfe eine einzigen Algorithmus E bzw. D für jeden Schlüssel K effizient berechenbar sein. Die Chiffrier- und Dechiffrierfunktionen E K bzw. D K sollen selber effizient berechenbare Funktionen sein. Die Sicherheit des Systems soll nur auf der Geheimhaltung des Schlüssels, und nicht auf der Geheimhaltung der Algorithmen beruhen. Es gibt zwei Anwendungsgebiete für Cryptosysteme: Geheimhaltung und Authentifizierung, die potentiell miteinander in Konflikt stehen.

15 Anforderungen bei Geheimhaltung bzw. Authentifizierung Geheimhaltung: Folgendes ist praktisch nicht berechenbar: systematisch D K aus abgefangenen Chiffretexten C (auch nicht, wenn die Klartexte mit E K (M) = C bekannt sind), der Klartext M aus C. Authentifizierung: Folgendes ist praktisch nicht berechenbar: systematisch E K aus abgefangenen Chiffretexten C (auch nicht, wenn die Klartexte mit E K (M) = C bekannt sind), einen Chiffretext C, so dass D K (C ) ein gültiger Klartext in M ist (dies ist leichter bei numerischen oder anderen nicht kontextsensitiven Daten als etwa bei Prosa.) Dabei bedeutet praktisch nicht berechenbar, dass es keinen besseren Algorithmus als brute force gibt, was bei gängiger Hardware unzumutbar lange dauert.

16 Wahrscheinlichkeitstheoretische Grundlagen Definition p(a) : die W keit, dass das Ereignis A eintritt; p(a, B) : die W keit, dass A und B gleichzeitig eintreten; p(a B) : die bedingte W keit, dass A eintritt, unter der Voraussetzung, dass B stattgefunden hat. A und B heißen unabhängig, sofern p(a, B) = p(a) p(b). Rechenregel p(a, B) = p(a B) p(b) Proposition A, B unabhängig gdw p(a B) = p(a) gdw p(b A) = p(b)

17 Perfekte Geheimhaltung Vereinbarungen Klartext M tritt mit W keit p(m) auf; Chiffretext C wird mit W keit p(c) empfangen; Schlüssel K wird mit W keit p(k) gewählt. Definition Ein Cryptosystem unterliegt perfekter Geheimhaltung (ist absolut sicher), falls Chiffretext und Klartext voneinander unabhängig sind, d.h., falls p(m C) = p(m) für alle M M und C C gilt.

18 Perfekte Geheimhaltung (2) Schlüssel 0 M 0 C M 1 C M 2 C M 3 C 2 3 Klartext Chiffretext Schlüssel = 2 p(m C) = p(m) = 1 4 p(c M) = p(c) = 1 4 Wird z.b. C 2 empfangen, ist der zugehörige Klartext völlig unklar. Notwendige Bedingung für perfekte Geheimhaltung: Die Anzahl der Schlüssel ist mindestens so groß wie die Anzahl der möglichen Klartexte.

19 Perfekte Geheimhaltung (3): Caesar Chiffre Schlüssel Nachricht 0 JXNWWYIJWRJSXHMXTQFSLJWXYWJGY 1 IWMVVXHIVQIRWGLWSPERKIVWXVIFX 2 HVLUUWGHUPHQVFKVRODQJHUVWUHEW 3 GUKTTVFGTOGPUEJUQNCPIGTUVTGDV 4 FTJSSUEFSNFOTDITPMBOHFSTUSFCU 5 ESIRRTDERMENSCHSOLANGERSTREBT Perfekte Geheimhaltung ist nicht möglich, bei 26 Schlüsseln. Brechen duch Ausprobieren der Schlüssel, hier K = 5. Für M = Es irrt der Mensch so lang er strebt erhalten wir p(m C) = 1 und p(m C) = 0 für M M insbesondere also p(m C) p(m).

20 Transposition, Beispiele (1) Beispiel (Transpositions-Chiffren) Wikipedia listet diverse Transpositions-Chiffren auf, etwa: Zaun, mit der Zaun-Tiefe als Schlüssel; Route, mit Gitter-Dimensionen und Route als Schlüssel; Spalten-Transposition, mit einer Spaltenzahl n und einer Permutation auf n als Schlüssel (Wort ohne wiederholte Buchstaben); Einlesen horizontal, Auslesen vertikal gemäß Schlüssel; regulär bei aufgefüllter letzter Zeile doppelte Spalten-Transposition; Myszkowski Transposition mit erlaubten Wiederholungen im Schlüssel; horizontales Auslesen der Spalten mit gleichem Schlüsselbuchstaben.

21 Transposition, Beispiele (2) Beispiel Bei Verwendung von 5 Spalten lesen wir den Klartext zeilenweise ein und spaltenweise je nach Schlüssel aus: VORLE SUNGS ICHER HEITI NNETZ ENUND OUCENN LGETTN VSIHNE RNHIEU ESRIZD LGETTN OEUSCR EINZND RNHIEU OUCENN Anstelle numerischer Schlüssel verwendet man gern Schlüsselwörter. Dabei kommt es nur auf die relativen Positionen der Buchstaben im Alphabet an. Hier eignen sich z.b. DRAHT bzw. SEIDE.

22 Transposition, Beispiele (3) Beispiel Ein historisches Beispiel bildet die im -5. Jahrhundert in Sparta entwickelte Skytale Die Nachricht wird auf einen flexiblen Träger geschrieben Pergamentband, Lederriemen), der spiralförmig um einen Holzstab gewickelt ist. Dessen Durchmesser dient als Schlüssel. Der abgewickelte Träger ist dann der Chiffretext. Wählt man als Querschnitt eine regelmäßiges n - Eck, so lassen sich n Zeilen gleichzeitig verschlüsseln.

23 Erkennen einer Transpositionschiffre Ob eine Transpositionschiffre vorliegt sieht man leicht nach einer Häufigkeitsanalyse. Die Buchstaben des Alphabets sind in jeder Sprache charakteristisch verteilt. Dies ändert sich nicht bei ihrer Transposition. Quelle: Analog lassen sich Verteilungen für Buchstabenpaare (Digramme) und -tripel (Trigramme) angeben. Auch die Kenntnis verbotener Buchstabenkombinationen in der Zielsprache kann von Nutzen sein. Häufige Di- bzw. Trigramme in D(E): er, en, ch (th, en) bzw. ein, ich der (the, ing)

24 Klassische Substitutionschiffren Klassisch unterscheidet man vier Typen von Substitutionschiffren: Einfache Substitution Homophone Substitution Polyalphabetische Substitution Polygramm-Substitution

25 Einfache Substitution Sind A das Klartext- und B das Chiffretextalphabet, basiert eine einfache Substitution auf einer injektiven Abbildung A f B. Beispiel Wir codieren das Klartextalphabet A = {A, B,..., Z} durch die Zahlen von 0 bis 25 : A 0, B 1,... Z 25 Verschiebechiffre (Caesar): f (a) = (a + k) mod 26 Multiplikationschiffre: f (a) = (a k) mod 26, mit ggt(k, 26) = 1 affine Transformation: f (a) = (a k 1 + k 0 ) mod 26 mit ggt(k 1, 26) = 1 Die ggt -Bedingungen sind notwendig, um die Decodierbarkeit zu garantieren.

26 Einfache Substitution (2) Beispiel Natürlich kann man auch eine beliebige Permutation des Klartextalphabets verwenden, etwa A : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z C : C H I F R E N M T A S U B O D G J K L P Q V W X Y Z Dies chiffriert M = VORLESUNGEN zu E K (M) = VDKUURLQONRO. Knobelaufgabe Grabinschrift von 1794 auf den New Yorker Trinity-Friedhof:

27 Probleme bei einfacher Substitution Die oben beschriebenen Verfahren sind unsicher. Häufigkeitsanalyse ist auch hier anwendbar: Die Häufigkeiten sind nur permutiert! Di- und Trigramme sowie verbotene Buchstabenkombinationen helfen hier auch weiter. Ggf. hilft auch Raten, zumindest wenn es sich um einen Text und nicht nur um Daten handelt. Zeichen erwartet in % aktuell in % A 6,43 6,85 B 1,85 1,85 C 3,26 2,52 D 5,12 4,63 E 17,74 17,30 F 1,56 1,59 G 2,69 2,90 H 5,22 3,78 I 7,60 8,45 J 0,23 0,38 K 1,40 1,60 L 3,49 3,96 M 2,75 2,81 N 10,01 10,18 O 2,39 3,38 P 0,64 1,02 Q 0,01 0,03 R 6,98 7,36 S 6,88 5,85 T 5,94 6,06 U 4,27 3,86 V 0,64 1,00 W 1,73 1,36 X 0,02 0,04 Y 0,04 0,06 Z 1,10 1,21 J eder repräasentiert 1% des aktuellen Textes Anzahl der Buchstaben des aktuellen Textes = 24961

28 Homophone Substitution Ziel ist es, das Problem der nur permutierten Häufigkeiten zu lösen. Idee: Ordne jedem Klartextzeichen a A mehrere Chiffretextzeichen aus einem anderen Alphabet C zu, von denen beim Chiffrieren jeweils eins zufällig auszuwählen ist. Definition Für Alphabete A und C ist eine Chiffre mit homophoner Substitution durch eine surjektive Abbildung C g A gegeben. Beachte: Die g -Urbilder der Klartextbuchstaben sind wegen der Surjektivität nicht leer, und automatisch paarweise disjunkt. Strategie: Versuche, durch geschickte Abbildung eine Gleichverteilung aller Chiffre-Zeichen zu erhalten, dann läuft die Häufigkeitsanalyse ins Leere.

29 Homophone Substitution (2) Beispiel Chiffrealphabet: die Zahlen von 00 bis 99 ; Anzahl der Homophone: prozentuale Häufigkeit des Buchstabens, und alle Ziffern treten möglichst gleich häufig auf, etwa Buchstabe Häufigkeit Homophone E 17,74% I 7,60% K 1,40% 44 L 3,49% N 10,01% P 0,64% 03 R 6,98% S 6,88% K L E I N E S P I E L E R E I Häufigkeitsanalyse von Einzelbuchstaben helfen kaum, von Di- und Trigrammen nur wenig mehr. Aber Known-Plaintext Angriffe sind wirksam.

30 Polyalphabetische Substitution Idee: Jedem Klartextzeichen werden verschiedene Chiffretextzeichen zugeordnet, abhängig von seiner Position im Klartext. Beispiel (periodische Substitution) Man wählt d Permutationen f i, i < d, des Klartextalphabets und verschlüssselt den Klartextbuchstaben m k als c k = f k mod d (m k ). Das bekannteste Beispiel hierfür ist die nach Blaise de Vigenére ( ) benannte Vigenére Chiffre. Hier werden d einfache Caesar-Chiffren verwendet. Der Schlüssel besteht dann aus den d Schlüsseln der einzelnen Caesar-Chiffren. Variante: Beaufort-Chiffre. Ein Tableau der 26 verschobenen Alphabete wurde 1868 von Charles Lutwidge Dogson (= Lewis Carol, Autor von Alice im Wunderland ) veröffentlicht. Es geht aber auch platzsparender (vergl. HA).

31 Varianten periodischer Substitutions-Chiffren Um Angriffsmöglichkeiten aufgrund der Periodizität solcher Chiffren abzuwehren, kann man folgende Varianten betrachten: Definition Die progressive Variante einer periodischen Substitution mit Chiffrealphabet {0, 1,..., N 1} verschiebt abhängig von der Position des Klartextbuchstabens auch das Chiffrealphabet zyklisch: c k = (f k mod d (m k ) + k/d ) mod N Definition Die Autokey-Variante der Viginére-Chiffre hängt den Klartext an den Schlüssel an, anstatt diesen periodisch zu wiederholen.

32 Varianten periodischer Substitutions-Chiffren (2) Beispiel (Vigenére Varianten, Schlüssel SIAMESE) Progressiv kann man hier auch die j -te Iteration des Schlüssels durch den um j Positionen verschobenen Schlüssel ersetzen: Message: Normal key: Cipher: progressive key: Cipher: Autokey: Cipher: WISH YOU WERE HERE SIAM ESE SIAM ESES OQST CGY OMRQ LWVW SIAM ESE TJBN FTFU OQST CGY PNSR MXWY SIAM ESE WISH YOUW OQST CGY SMJL FSLA

33 Cryptoanalyse der Vigenére-Chiffre Die Vigenére-Chiffre galt 300 Jahre lang als sicher. Gelingt es aber, die Periode d zu bestimmen, kann man die resultierenden d Teiltexte wie im Fall der Caesar-Chiffre brechen, und die resultierenden Klartexte wieder zusammensetzen. Zur Bestimmung von d wurden 2 Verfahren entwickelt: Ein statistisches Näherungsverfahren von Friedmann (1920) bestimmt den Erwartungswert des sog. Koinzidenz-Indexes abhängig von der Länge des Chiffretextes und von d ; die Methode von Kasiski (1863, vermutlich um 1854 schon von Charles Babbage entdeckt) sucht nach Wiederholungen von Teilwörtern der Länge > 2 im Chiffretext. Wiederholungen im Klartext, deren Abstand ein Vielfaches von d ist, vererben sich auf den Chiffretext. Häufige Teiler der Chiffretext-Wiederholungen geben einen Hinweis auf d (i.a. nicht der ggt ).

34 Beispiel für das Brechen einer Vigenére-Chiffre Chiffretext: ZTZAX ZJHBH JQVVM RSMMC MWXVR TAAPP VCMLB CRVCR SCRIM VHKLT QHTAX SIFTQ RXKLI HAXAG WMRSM QPCJV ZYCLF AWWHM VTZAP ZXJVK CCVPV KTVSB UICMR JVHSM QLIWS CXPBW PMGWT MRPAP PVCML BMRZW RCBIH BWDEM THAXA GWMRT UTUQR SCRVC RSDSG AXTTP JVKSI RCEMG AXSCQ XBHTQ RTZZT ZOTPV IMRBM MCCRV IYRPE ATIJM FGQKT VWXVR TAAPP VCMLB CRVMR KMVLM VUMRJ VHSIQ XBNTL IHSVX BIGQY BDIGT MTZIC Abstände: 111 = 3 37, 114 = , 225 = Vermutung: d = 3 Häufigkeitsanalyse der drei Teiltexte ZAJ..., THX..., ZZB... liefert den Schlüssel EPI. Klartext: Verwirfst Du irgendeine Sinneswahrnehmung und unterscheidest dabei nicht zwischen dem aufgrund blosser Erwartung nur Angenommenen und dem, was du tatsaechlich wahrnehmen konntest, sowie zwischen Empfindung und Vorstellung, dann wirst du mit deiner verkehrten Meinung auch alle uebrigen Sinneswahrnehmungen verwerfen und damit jedes Kriterium verlieren.

35 Chiffre mit laufendem Schlüssel, One-Time Pad Die Sicherheit der Vigenére-Chiffre wächst mit der Periodenlänge. Ist der Schlüssel so lang wie der Klartest, gibt es keine Periode und die obigen Angriffe laufen in Leere. Definition Wählt man die Buchstaben eines zweiten Prosa-Textes derselben Länge wie der zu verschlüsselnde Klartext als Schlüssel für Caesar-Chiffren, so spricht man von einer Running-Key-Chiffre. Im Falle einer Zufallsfolge von Buchstaben als Schlüssel handelt es sich um ein One-Time Pad. Solch ein Schlüssel darf aber nicht wiederverwendet werden, um maximale Sicherheit zu gewährleisten. Problem: unpraktikabel; bei Festplatten wäre eine zweite mit dem Schlüssel wegzuschließen, warum dann nicht gleich die erste?

36 Polygramm Substitution Idee: Statt einzelner Buchstaben Blöcke der Länge n verschlüsseln: Blockchiffren Vorteil: Die Bedeutung der Häufigkeitsverteilung einzelner Buchstaben wird verringert. Beispiel Playfair-Chiffre von 1854 (noch im 1. Weltkrieg von den Briten benutzt); Hill-Chiffre von 1929: lineare Abbildung auf d -Tupeln von Klartextbuchstaben; praktisch alle modernen Chiffren sind Blockchiffren.

37 Playfair-Chiffre Schlüssel: Beliebige 5 5 -Matrix der Buchstaben mit I = J ; als Torus interpretiert Verschlüsselung: Buchstabenpaaren m 0 m 1 werden neue Paare c 0 c 1 zugeordnet nach folgenden Regeln: m i in derselben Zeile: c i sind die rechten Nachbarn; m i in derselben Spalte: c i sind die unteren Nachbarn; m i spannen ein Rechteck auf: c i sind die anderen Eckpunkte in der jeweils selben Zeile; m 0 = m 1 erfordert das Einfügen eines vorher bestimmten nie doppelt auftretenden Dummy-Buchstabens in den Klartext; Bei Klartexten, die mit Dummy-Buchstaben ungerade Länge haben, ist am Schluß ein weiterer Dummy-Buchstabe anzuhängen.

38 Cryptoanalyse: Ziele Es gibt kein garantiert erfolgreiches praktikables Verfahren, aber Aussicht auf Erfolg besteht immer. Annahme: Das Verfahren ist bekannt (fast immer realistisch) Ziele: Finde den Schlüssel; alle weiteren Nachrichten sind dann lesbar; geht das nicht, so ermittle den aktuellen Klartext; das liefert zumindest Anhaltspunkte über den Schlüssel; geht auch das nicht, so versuche den Klartext einzugrenzen (z.b. negative Mustersuche bei Abwesenheit von Verschlüsselungsfixpunkten)

39 Cryptoanalyse: Grundbegriffe und Methoden Geheimtextangriff: Schlüssel bzw. Klartext werden nur aus dem Chiffretext gewonnen, z.b. mit brute force Klartextangriff: Ein Teil des Klartextes ist zusätzlich zum Chiffretext bekannt; wichtigste Methode der Cryptoanalyse Angriff mit ausgewähltem Klartext: der Angreifer schiebt den Klartext zur Verschlüsselung unter Angriff mit adaptiv ausgewähltem Klartext: der unterzuschiebende Klartext wird gemäß der bisherigen Ergebnisse angepaßt Geheimtext-Geheimtext-Angriff: Dieselbe Nachricht wurde mit (mindestens) zwei verschiedenen Verfahren oder Schlüsseln chiffriert und dann versandt (und abgefangen)

40 Vorgehen des Cryptoanalytikers Voraussetzung: Chiffretext abgefangen, Verfahren bekannt Erster Schritt: Informationen über den Klartext sammeln Welche Sprache? Welche Textverarbeitung (Datenrepräsentierung)? Komprimierte Datei? Sprach- oder Bildaufzeichung? Ohne solche Informationen wird die Aufgabe viel schwieriger.

41 Vorgehen des Cryptoanalytikers 2 Voraussetzung: Chiffretext abgefangen, Verfahren unbekannt Erster Schritt: teste einfache Verfahren (Caesar, Vigenére,... ) Zweiter Schritt: Wenn keins in Frage kommt, betracht die möglichen Schlüssel Bei Passwörtern der Länge 6 sind die resultierenden ca. 6 Mio. Möglichkeiten kein Problem für einen Computer. Schnelle automatische Analyse des Klartextes: Testen auf verbotene Zeichen oder Digramme; Buchstabenhäufigkeiten; Wörterbuchvergleiche; personenbezogene Vergleiche nur bei den vielversprechensten Kandidaten

42 Vorgehen des Cryptoanalytikers 3 Oft genügt ein Wörterbuchangriff, wenn etwa Passwörter/Sitzungsschlüssel schlecht gewählt wurden; Versuch von Klartextangriffen mit vermuteten Wörtern; übrprüfung auf schlechte Implementation von Algorithmen (z.b. Zufallszahlen!) Einsatz von Crack-Programmen, etwa UNIX crack, John the Ripper, wpcrack, etc. Modifikation der an den Gegener gelieferten Hardware.

43 Recherche Aufgaben Betriebsmodi für Blockchiffren: CFB und OFB Quelle: D. Wätjen, Cryptographie, 2. Aufl, Spektrum Verlag. Die Stromchiffre RC 4: Quelle: W. Stallings, L. Brown: Computer Security Principles and Practice, Pearson

44 Kapitel 3 Zahlentheoretische Grundlagen

45 G. H. Hardy über Zahlentheorie... G. H. Hardy (Quelle: Wikipedia) Echte Mathematik hat keine Auswirkungen auf den Krieg. Bisher hat noch niemand einen kriegerischen Nutzen der Zahlentheorie entdeckt.

46 Gauß über Zahlentheorie... Carl Friedrich Gauß ( ) (Quelle: Wikipedia) Die Mathematik ist die Königin der Wissenschaften und die Zahlentheorie ist die Königin der Mathematik.

47 Überblick Teilbarkeit und Primzahlen Kongruenzen modulo n und Restklassenrechnung Schnelle Exponentiation modulo n Sätze von Euler und Fermat als Grundlage für RSA Euklidischer Algorithmus zur Inversenbestimmung modulo n

48 Zahlenmengen N Menge der natürlichen Zahlen {0, 1, 2, 3,... } Z Menge der ganzen Zahlen {..., 3, 2, 1, 0, 1, 2, 3,... } Eigenschaften der ganzen Zahlen (a + b) + c = a + (b + c) a(bc) = (ab)c Assoziativität a + 0 = a a 1 = a Neutrales Element a + b = b + a ab = ba Kommutativität a + ( a) = 0 Additives Inverses Damit ist Z, +, 0 eine kommutative Gruppe und Z,, 1 ein kommutatives Monoid. Diese Strukturen sind kompatibel gemäß a(b + c) = ab + ac Distributivität Damit ist Z, +, 0,, 1 eine kommutativer Ring mit Null 0 und Eins 1.

49 Körper Neben kommutativen Ringen werden für uns Körper besonders wichtig sein, speziell endliche Körper (s.u.). Definition Ein kommutativer Ring R, +, 0,, 1 heißt Körper, falls die Menge R {0} bzgl. der Multiplikation eine Gruppe ist, d.h., jedes Element a 0 ein multiplikatives Inverses a 1 hat. Beispiel Z, +, 0,, 1 ist kein Körper, da kein Element außer 1 und 1 ein multiplikatives Inverses hat. Die rationalen Zahlen Q beheben genau dieses Defizit. Weitere bekannte Körper sind die reellen Zahlen R und die complexen Zahlen C.

50 Teilbarkeit als Ordnungsrelation Die Teilbarkeitsrelation k n z Z : z k = n ist eine Halbordnung auf den natürlichen Zahlen N : sie ist reflexiv, d.h., k k für alle k N ; transitiv, d.h., k n und n r impliziert k r ; antisymmetrisch, d.h., k n und n k impliziert k = n. (Auf den ganzen Zahlen Z entfällt die Antisymmetrie.) Bzgl. dieser Halbordnung für Elemente a, b N der größte gemeinsame Teiler ggt(a, b) und das kleinste gemeinsame Vielfache kgv(a, b) die größte untere, bzw. kleinste obere Schranke. Für solche Strukturen wurde der Begriff Verband geprägt. Weiterhin existiert bzgl. Teilbarkeit ein größtes Element, nämlich 0 und ein kleinstes Element, nämlich 1.

51 Primzahlen Definition Eine Zahl p N heißt Primzahl oder prim, wenn sie im Teilbarkeitsverband Z,, ggt, kgv, 1, 0, ein oberer Nachbar des kleinsten Elements 1 ist (auch Atom genannt). Satz p N ist genau dann eine Primzahl, wenn eine der folgenden äquivalenten Bedingungen erfüllt ist: p 0, 1 und aus p a b folgt p a oder p b für a, b N. p 0, 1 und aus k p folgt k {1, p}, für k N. p hat genau zwei Teiler (nämlich 1 und p ).

52 Restklassenrechnung am Beispiel der Uhr Idee Arithmetik der Uhr: usw. 0 = 12 = 24 1 = 13 = 25 Statt mit Zahlen wird mit Resten bei Division durch 12 gerechnet, z.b: = = = = 5 da 5 5 = 1 gilt

53 Teilbarkeit und Kongruenz Definition Jede Zahl n N definiert auf Z eine Relation a n b durch n (a b). Dann heißt a kongruent zu b modulo n. Satz n ist Äquivalenzrelation auf Z, d.h. a n a a n b = b n a a n b, b n c = a n c (Reflexivität) (Symmetrie) (Transitivität) Ziel ist es, auf den Restklassen modulo n, also den Mengen [a] n = {b b n a}, a Z, eine Ringstruktur einzuführen.

54 Restklassenrechnung Naiver Ansatz: [a] n + [b] n := [a + b] n und [a] n [b] n := [a b] n ( ) Damit diese Definition funktioniert, brauchen wir den Nachweis, dass es sich bei n sogar um eine Kongruenzrelation handelt: Satz Für n N sowie a, a, b, b Z mit a n a und b n b gilt a + b n a + b und ab n a b Damit ist ( ) wohldefiniert und hat die gewünschte Eigenschaften. Das Hantieren mit Mengen als Elementen ist wenig beliebt, also versucht man, aus den Restklassen kanonische Repräsentanten auszuwählen, etwa das jeweils kleinste nicht-negative Element. Das sind gleichzeitig die nicht-negativen Reste bei Division durch n.

55 Restklassenrechnung (2) Definition Für n > 0 bildet Z modn Z n = {0,..., n 1} ganze Zahlen auf ihren nichtnegativen Rest bei Division durch n ab. Satz Für jedes n N ist Z n = {0, 1, 2,..., n 1} ein Ring unter a b = (a + b) mod n a b = (a b) mod n Dadurch wird modn zu einem Ring-Homomorphismus von Z, +, 0,, 1 nach Z n,, 0 mod n,, 1 mod n. Korollar In Z n,, 0 mod n,, 1 mod n gelten dieselben Exponentiationsregeln wie in Z, +, 0,, 1.

56 Exponentiation in der modularen Arithmetik: e t mod n = (e } e {{ e } ) mod n t mal Beispiel Berechnung des Ausdrucks 3 5 mod 7 auf zwei Arten: a 1 Quadriere 3: 3 3 = 9 2 Quadriere das Ergebnis: 9 9 = 81 3 Multipliziere mit 3: 81 3 = Reduziere modulo 7: 243 mod 7 = 5 b 1 Quadriere 3: 3 3 mod 7 = 2 2 Quadriere das Ergebnis: (2 2) mod 7 = 4 3 Multipliziere mit 3: (4 3) mod 7 = 5 Welches Verfahren ist besser und warum?

57 Schnelle Exponentiation Die naive Berechnung von a z mod n = ( i<z a) mod n benötigt z 1 Multiplikationen modulo n, was exponentiell in der Bitlänge k des Exponenten z und somit ineffizient ist. Die Binädarstellung von z = i<k z i 2 i mit z i {0, 1} und die Exponentiationsregeln liefern einen effizienteren Algorithmus: Satz a z mod n = a i<k z i 2 i mod n = i<k( a 2 i mod n ) z i mod n Diese schnelle Exponentiation benötigt nur zwischen k + 1 und 2k + 1 Multiplikationen modulo n, im Mittel 1, 5k + 1. Die Binärdarstellung des Exponenten kann im Verlauf des Algorithmus mitberechnet werden gemäß z i = z/2 i mod 2, i < k.

58 Beispiel: Berechnung von mod i z/2 i z i 51 (2i ) mod (2 i )z i mod

59 Schnelle Exponentiation in Pseudocode Data: n, z N, a Z Result: x = a z mod n a 1 := a ; z 1 := z ; x := 1 ; // Schleifeninvariante: (x a z 1 1 ) mod n = a z mod n while z 1 0 do while (z 1 mod 2) = 0 do z 1 := z 1/2 ; a z := (a 1 a 1) mod n ; end z 1 := z 1 1 ; x := (x a z) mod n ; end

60 Modulare Arithmetik Viele cryptographische Verfahren benötigen multiplikative, oder auch modulare, Inverse in Z n. Existiert ein solches für a Z n, so ist es eindeutig bestimmt (HA) und wird mit a 1 bezeichnet. Speziell sind in Z n Gleichungen der Form (a x) mod n = b mit a, b Z n zu lösen. Das ist leicht, wenn man durch a teilen kann. Allgemeiner wollen wir für n N und a Z n Z n a Z n, x (a x) mod n d.h., die Multiplikation mit a, genauer analysieren. Diese lässt sich zerlegen als Z n a a Z n Z modn Z n die Abbildung

61 Existenz multiplikativer Inverser Satz Für n N ist Z n a Z n genau dann injektiv, wenn a und n coprim oder teilerfremd sind, d.h., wenn gilt ggt(a, n) = 1. Satz a 1 existiert genau dann für a Z n, wenn ggt(a, n) = 1 gilt. Beweis. Z n ist endlich, daher ist a, die Multiplikation mit a, genau dann injektiv, wenn sie surjektiv ist. In diesem Fall ist das Urbild von 1 das gesuchte Inverse. Umgekehrt folgt aus der Existenz von a 1, dass a invers zu a 1 und somit injektiv ist.

62 Der Fall ggt(a, n) = 1 Veranschaulichung: a = 5, n = 6 Z modn Z n wickelt Z auf einen Kreis des Umfangs n. Für ggt(a, n) = 1 überdeckt das Bild von a Z n genau den Kreis Nun hat a x mod n = b die eindeutige Lösung x = a 1 b mod n. Folgerung Z n ist genau dann ein Körper, wenn n eine Primzahl ist.

63 Euler sche ϕ -Funktion Auch falls n keine Primzahl ist, können manche Elemente in Z n bzgl. der Multiplikation invertierbar sein. Definition Z n := { a Z n : ggt(a, n) = 1 } heißt reduzierte Menge der Reste modulo n. Z n wird nach Euler mit ϕ(n) bezeichnet. Bzgl. verhält sich Z n gut, es ist eine kommutative Gruppe, denn das Monoid Z n,, 1 mod n ist kommutativ und b 1 a 1 ist das multiplikative Inverse zu a b, für a, b Z n. Notation Für teilerfremde Zahlen s, t N bezeichnet s 1 mod t das multiplikative Inverse von s mod t in Z t.

64 Euler sche ϕ -Funktion (2) Satz (0) ϕ(0) = 2, ϕ(1) = 1. (1) p prim und k > 0 impliziert ϕ(p k ) = p k 1 (p 1). (2) ggt(s, t) = 1 impliziert ϕ(s t) = ϕ(s) ϕ(t). Satz (Euler bzw. Fermat im Falle von Primzahlen) Für n N erfüllt jedes a Z n die Bedingung a ϕ(n) n 1. Beweis. Da a bijektiv ist stimmen die Produkte in Z n überein: ( ) ( ) x mod n und a x mod n = (a ) ϕ(n) x mod n x Z n x Z n x Z n

65 Folgerungen aus dem Satz von Euler Dies liefert zunächst eine nützliche Rechenregel: Rechnet man in der Basis modulo n, so darf man im Exponenten modulo ϕ(n) rechnen Corollar Für n N, a Z n und r 0, r 1 N gilt r 0 ϕ(n) r 1 impliziert a r 0 n a r 1 Beweis ObdA gelte r 1 r 0. Nach Voraussetzung existiert k N mit r 0 = r 1 + k ϕ(n). Aufgrund der Exponentiationsregeln folgt nun ( a r 0 n a r1+k ϕ(n) n a r 1 a ϕ(n)) k n a r 1

66 Multiplikative Inverse Satz Für n N und a Z n gilt a 1 n a ϕ(n) 1 mod n. Beispiel Wegen = folgt ϕ(56350) = 1 (4 5) (6 7) 22 = und somit nach dem Satz von Euler a 1 mod = a mod für jedes a Z 56350, speziell für a = 51 (siehe obiges Beispiel).

67 Schnellere Inversenberechnung: Euklidischer Algorithmus Bekanntlich existieren für a, n Z Zahlen u, v Z mit au + nv = ggt(a, n) und damit au n ggt(a, n) ggt(a, n) = 1 impliziert dann a 1 n u. Finden kann man u, indem man den Euklidischen Algorithmus rückwärts aufdröselt : Beispiel (Berechnung von 51 1 mod ) Man spielt die Berechnung des ggt, bis auf den überflüssigen letzten Schritt, nochmal mit den Startwerten 0 und 1 nach: = = = = Damit erhalten wir 0 = ( 1104) 1 = 1 ( 1104) (1104) = ( 11049) 51 1 mod = ( 11049) mod = 45301

68 Euklidischer Algorithmus in Pseudocode Data: a, n N Result: d = ggt(a, n) g 0 := n; g 1 := a; i := 1; while g i 0 do g i+1 := g i 1 mod g i ; i := i+1; end d := g i 1 ;

69 Erweiterung zur Berechnung des Inversen Data: a, n N mit n > a und ggt(a, n) = 1 Result: x = a 1 mod n g 0 := n ; g 1 := a ; u 0 := 1 ; v 0 := 0 ; u 1 := 0 ; v 1 := 1 ; i := 1 ; while g i 0 do y := g i 1 div g i ; g i+1 := g i 1 y g i ; u i+1 := u i 1 y u i ; v i+1 := v i 1 y v i ; i := i + 1 ; end x := v i 1 ; if x 0 then x := x+n end

70 Bemerkungen Der Algorithmus funktioniert nur für positive a und n korrekt: Für a = 1 liefert er zum Beispiel inkorrekt x = 1. Komplexität: Die durchschnittliche Anazhl von Divisionen ist ln(n) Das bedeutet, die durchschnittliche Laufzeit ist linear in der Bitlänge von n. Es reichen zweimal drei lokale Variablen g, g, g + und v, v, v + (denn die u s werden nur zur Berechnung von x verwendet)

71 Der Fall ggt(a, n) 1 Veranschaulichung: a = 4, n = 6 Hier überdeckt das Bild von a Z n die von 0 aus in Schritten der Größe a/g erreichbaren n/g Kreiselemente je g -mal: Satz Für n N, a, b Z n und g := ggt(a, n) hat a x mod n = b keine Lösung, falls b kein Vielfaches von g ist; g Lösungen der Form y + t(n/g), t < g, wobei y die eindeutige Lösung von (a/g) x mod (n/g) = (b/g) ist.

72 Chinesischer Restsatz Ein wesentliches Hilfsmittel bei der modularen Arithmetik ist der sog. Chinesische Restsatz, (Sun Zi, vermtl. 3. Jhd.). Satz (Chinesischer Restsatz, CRS) Hat n eine Zerlegung n = s t in coprime Faktoren, so ist Z n m = mods, modt Z s Z t ein Ring-Isomorphismus, dessen Umkehrung c gegeben ist durch x 0, x 1 ( t(t 1 mod s) x 0 + s(s 1 mod t) x 1 ) mod n Dies liefert zudem einen Gruppenisomorphismus Z n = Z s Z t. Statt ein Problem modulo n löst man zwei leichtere Probleme modulo s bzw. t, und konstruiert aus deren Lösungen diejenigen des ursprünglichen Problems.

73 Literatur Dietmar Wätjen: Kryptographie, 2. Aufl., Spektrum Akademischer Verlag, G. H. Hardy, E. M. Wright: An Introduction to the theory of numbers, Oxford University Press, 6. Aufl., K. H. Rosen, Elementary Number Theory and its Applications, 5. Aufl., Pearson, Simon Singh: Fermat s last theorem, Fourth Estate, 2002.

74 Kapitel 4 Moderne symmetrische Verfahren

75 Überblick Prinzipien in modernen symmetrischen Verfahren Konfusion und Diffusion Feistel-Netzwerke und der Data Encryption Standard (DES) Funktionsweise Sicherheit Betriebsmodi von Blockchiffren Cipher Block Chaining (CBC) Counter mode Advanced Encryption Standard (AES)

76 Überblick Prinzipien in modernen symmetrischen Verfahren Feistel-Netzwerke und der Data Encryption Standard (DES) Betriebsmodi von Blockchiffren Advanced Encryption Standard (AES)

77 Modernere Verschlüsselungsverfahren Wir wollen uns nun mit Verfahren beschäftigen, die moderner sind als die bisher betrachteten. Diese wurden seit Mitte der 1970er Jahre entwickelt; verwenden bit- statt zeichenweise Verschlüsselung; wende Konfusion und Diffusion an; sind bisher außer Brute-Force-Attacken keinen bekannten Angriff ausgesetzt

78 Bitweise Verschlüsselung Bisherige Verfahren waren zeichenorientiert Mit Computern kann man auf bitweise Verschlüsselung übergehen damit werden Häufigkeitsanalysen schwierig Wie sieht z.b. die Verteilung des 3. Bits aller Bytes eines Textes aus? Beispielsweise kann die bitweise XOR-Operation verwendet werden, um Schlüssel und Klartext zu verknüpfen XOR ist einfach in Hardware zu implementieren XOR ist leicht umkehrbar (einfach erneute Anwendung)

79 Konfusion und Diffusion Zwei informelle Begriffe, deren streng mathematische Definition aber meist unterbleibt: Konfusion: Die statistische Verteilung der Chiffretexte hängt so kompliziert von der Verteilung der Klartexte ab, daß sich hieraus keine Angriffsmöglichkeit ergibt. Idealerweise sind die Chiffretexte fester Länge gleichverteilt. Diffusion: jedes Bit des Klartextes und jedes Bit des Schlüssels beeinflussen möglichst viele Bits des Chiffretextes, vergl. auch das Avalanche Kriterium (Lawinen-Effekt) von Horst Feistel. Das strikte Avalanche Kriterium (SAC) von Webser und Tavares (1985) fordert, daß bei Veränderung eines Klartext- oder Schlüssel-Bits jedes Chiffretext-Bit sich mit W keit 1/2 ändert.

80 Strom- vs. Blockchiffrierung Stromchiffirierung: Es wird eine Bitfolge erzeugt (Schlüsselstrom), mit der der Nachrichtenstrom verschlüsselt wird Optimal: Schlüsselstrom genauso lang wie Nachrichtenstrom Blockchiffrierung: Es werden Gruppen von Bits zusammengefasst und gemeinsam verschlüsselt, oft jede Gruppe mit demselben Schlüssel Einfaches Beispiel: einfache Substitution wie bei Caesear Allgemein: Klartext: M = M 1 M 2 M 3 (ggf. letzten Block auffüllen) Chiffretext: E K (M) = E K (M 1 )E K (M 2 )E K (M 3 ) Heute basieren praktisch alle guten Verfahren auf Blockchiffrierung.

81 Überblick Prinzipien in modernen symmetrischen Verfahren Feistel-Netzwerke und der Data Encryption Standard (DES) Betriebsmodi von Blockchiffren Advanced Encryption Standard (AES)

82 Feistel-Netzwerke... bilden die zentrale Komponente gängiger Kryptoverfahren Entworfen von Horst Feistel (IBM) Anfang der 70er Jahre Verschlüsselung erfolgt in mehreren Runden L i K i+1 f L i+1 = R i R i+1 R i Zerlege Blöcke gerader Länge in gleichlange Hälften: B i = L i R i Chiffrierung und Dechiffrierung gehorchen einem einfachen Prinzip: L i+1 = R i R i+1 = L i f (R i, K i+1 ) Damit braucht f nicht invertierbar zu sein! R i = L i+1 L i = L i f (R i, K i+1 ) f (R i, K i+1 ) = R i+1 f (R i, K i+1 )

83 Feistel-Netzwerke (2) Einzige Bedingung an f : ohne Kenntnis des Schlüssels K i+1 darf f (R i, K i+1 ) nicht leicht berechenbar sein. Da keine Invertierbarkeit gefordert ist, kann f beliebig komplex werden, solange es effizient berechenbar bleibt. Chiffren, die auf (modifizierten) Feistel-Netzwerken basieren: DES & Triple-DES Blowfisch MARS RC5... Wir schauen uns jetzt DES im Detail an!

84 Geschichte von DES DES: Data Encryption Standard Ergebnis einer öffentlichen Ausschreibung des amerikanischen National Bureau of Standards (NDS) Mitte der 70er Ziel: Entwurf eines einheitlichen, sicheren Verschlüsselungsalgorithmus Bester Vorschlag von IBM (Feistel, Coppersmith et al.) Modifiziert von 112 auf 56 Bit Schlüssellänge unter Mitarbeit der berühmten NSA (National Security Agency) Deswegen immer wieder Bedenken wegen möglicher Hintertüren, die nur die NSA kannte Inzwischen haben Brute-Force-Angriffe Aussicht auf Erfolg Anwendung: In den 80er und 90er Jahren offizieller Standard bei US-Behörden Die Variante Triple-DES ist bis 2030 zugelassen.

85 Der DES-Algorithmus Der symmetrische Data Encryption Standard (DES, IBM, 1977; Feistel, Coppersmith et al.) kombiniert Substitutions- und Transpositionschiffren in 16 Runden. Die Chiffrierung von 64-Bit Klartextblöcken T mit 56-Bit Schlüsseln K erfordert 48-Bit Rundenschlüssel K i, i < 16. In der Praxis verwendet man 64-Bit Schlüssel K, bei denen jedes der acht Bytes ungerade(!) Parität haben muß, was durch ein Paritätsbit am Ende sichergestellt wird. Dieses wird gleich zu Beginn der Konstruktion der Rundenschlüssel entfernt, so dass nur die vorderen sieben Bits jedes Bytes zum eigentlichen Schlüssel K beitragen. Um neben Permutationen von Bits auch deren Eliminierung oder Vervielfachung darstellen zu können, verwendet man Urbildliste der vorherigen Positionen der Bits (Start bei 1).

86 Erzeugung der Rundenschlüssel: Übersicht K hat 64 Bits und wird durch die Transformation PC 1 auf 56 Bits reduziert. C i, D i sind 28 Bit Blöcke LS i sind zyklische Linksshifts um 1 oder 2 Positionen. Die Transformation PC 2 entfernt 8 der 56 Bits und permutiert die übrigen. Jeder Rundenschlüssel K i hat 48 Bits.

87 Erzeugung der Rundenschlüssel: Details Folgende Transformation entfernt die Paritätsbits aus K : PC 1 : Daher treten die Zahlen 8, 16, 24, 32, 40, 48, 56 und 64 nicht auf. Die beiden Hälften des 56-Bit Ergebnisses PC 1 ( K) = CD, mit C, D {0, 1} 28 werden 16 Mal separat derselben zyklischen Linksverschiebung unterzogen, und zwar um eine oder zwei Positionen gemäß der Tabelle Iteration Links-Shift

88 Das Ergebnis nach Iterationsschritt i bezeichnen wir mit C i D i. Dieses wird einer weiteren Transformation PC 2 unterzogen, wonach weitere 8 Bits in den Positionen 9, 18, 22, 25, 35, 38, 43 und 54 eliminiert werden: PC 2 : Das Resultat ist der 48-Bit Rundenschlüssel K i.

89 Struktur des DES Die einzelnen Bestandteile des DES: Klartext T Initiale Permutation IP(T ) = L 0 R 0 Am Schluss invers IP 1 (L 16 R 16 ) Funktion , wo die Rundenschlüssel eingehen 16 Runden Feistel-Netzwerk: L i = R i 1 R i = L i 1 f (R i 1, K i ) Nach Runde 16 werden R 16 und L 16 nicht mehr vertauscht. f T IP L 0 R 0 L 0 K 0 R 0 f R 1 L 1 = R 0 K 1 f R 2 L 2 = R 1... R 15 L 15 = R 14 K 15 f R 16 L 16 = R 15 R 16 L 16 IP 1 E K (T )

90 Die initiale Permutation und ihr Inverses Zur Ausführung der Permutation werden die Tabellen zeilenweise von links nach rechts gelesen der (i, j) -Eintrag gibt die neue Position des j -ten Bits des i -ten Bytes eines 64-Bit Blockes an T = t 1 t 2 t 3 t 64 IP(T ) = t 58 t 50 t 42 t 15 t 7 IP 1 (T ) = t 40 t 8 t 48 t 57 t 25

91 Die Funktion f 2 32, Übersicht

92 Die Funktion f, Details B 1 B 2 B 8 := E(R i 1 ) K i f (R i 1, K i ) := P(S 1 (B 1 )S 2 (B 2 ) S 8 (B 8 )) 1 32-Bit Halbblock R i 1 mit Transformation E auf 48 Bits erweitern 2 Rundenschlüssel mit XOR verknüpfen 3 Acht Substitutions-Boxen von 6 auf 4 Bit anwenden 4 Permutation P auf 8 4 Bits anwenden

93 Bit-Auswahl und Permutation Erweiterung auf 48 Bit durch Transformation E : R i 1 zyklisch um eine Position nach rechts verschieben und gewisse Bit-Paare verdoppeln Jede Zeile liefert 6 Bits Permutation P (analog zu IP ): 8 4 = 32 Bits durch zeilenweises Lesen der Tabelle permutieren

94 S-Boxen Eingabe: 6-Bit Block B = b 1 b 2 b 3 b 4 b 5 b 6 Ausgabe: 4-Bit Block S(B) Jede S-Box ist durch eine Matrix M mit binären Einträgen von 0000 bis 1111 gegeben Dann gilt mit binären Zeilen- bzw. Spaltenindizes: S(B) := M[i, j] wobei i = (b 1 b 6 ) j = (b 2 b 3 b 4 b 5 ) Zeilenindex = 1. und 6. Bit, Spaltenindex = 2. bis 5. Bit

95 Die S-Boxen (aus Platzgründen dezimal)

96 Anmerkungen zum Design des DES-Verfahrens DES beschränkt sich auf sehr einfache Bitoperationen: XOR, Bitauswahl, Permutationen das Verfahren ist sehr gut in Hardware umsetzbar Auswahltabelle E: jede Änderung eines Klartextbits betrifft nach wenigen Runden alle Bits des erzeugten Chiffretextes Permutation P: jedes Klartextbit wirkt sich bei jeder Runde auf eine andere S-Box aus Also: E und P sorgen für Diffusion

97 Design der S-Boxen S-Boxen sind so konstruiert, dass DES der so genannten differentiellen Kryptoanalyse standhält. Idee der differentiellen Kryptoanalyse: Beobachte Auswirkungen von kleinen Differenzen in bekannten Klartexten auf die zugehörigen chiffretexte Versuche daraus auf (Teile des) Schlüssel(s) zu schließen Dieses Verfahren wurde 1992 durch E. Biham und A. Shamir veröffentlicht Es muss aber beim Design der S-Boxen schon bekannt gewesen sein 20 Jahre Wissensvorsprung der NSA vor öffentlicher Forschung!

98 Die DES Dechiffrierung... T IP L 0 R 0... durchläuft die 16 Feistelnetzwerkrunden von unten nach oben Das entspricht der Verwendung der Rundenschlüssel in der umgekehrten Reihenfolge! Die Korrektheit lässt sich dann leicht nachweisen: D K (E K (T )) = T L 0 K 0 R 0 f R 1 L 1 = R 0 K 1 f R 2 L 2 = R 1... R 15 L 15 = R 14 K 15 f R 16 L 16 = R 15 R 16 L 16 IP 1 E K (T )

99 Sicherheit von DES Für einen festen Schlüssel K ist DES-Verschlüsselung insgesamt eine bijektive Funktion auf der Menge aller 64-Bit-Blöcke Wiederholte Anwendung liefert irgendwann den Klartext (Warum?) Zyklenlänge = kleinste Anzahl von Iterationen der Chiffrierung, bis sich der Klartext wiederholt Es gibt 4 Schlüssel mit Zyklenlänge 2 Es ist sehr unwahrscheinlich, dass diese zufällig gewählt werden; dann sollte man nochmal wählen.

100 Größte Schwäche von DES ist die kurze Schlüssellänge von nur 56 Bits: Mit Brute-Force-Methoden kann der Schlüssel heutzutage in kurzer Zeit ermittelt werden: 1998: Electrinc Frontier Foundation (EFF) baut für $ Deep Crack mit 1536 speziellen Krypto-Chips knackt DES in 56 Stunden 2006: Forschungsgruppen aus Bochum Kiel bauen COPACOBANA Spezialrechner für < $ Knackt zusammen mit einem PC in durchschn. 6 Tagen DES-Schlüssel für 2 Blöcke Klartext-Chiffretext-Paare

101 Größere Sicherheit für DES 1 Verdoppelung der Schlüssellänge auf 112 Bit Angeblich war dies der ursprüngliche Entwurf, der aber auf Betreiben der NSA modifiziert wurde 2 Triple-DES: drei verschiedene Schlüssel K 1, K 2, K 3 Schlüssellänge 168 Bits effektiv aber 112 Bits, denn: ein Angreifer benötigt Schritte und 2 56 Blöcke Speicher

102 Überblick Prinzipien in modernen symmetrischen Verfahren Feistel-Netzwerke und der Data Encryption Standard (DES) Betriebsmodi von Blockchiffren Advanced Encryption Standard (AES)

103 Betriebsmodi von Blockchiffren Fünf Betriebsmodi für Blockchiffren wurden vom NIST definiert (ursprünglich für DES im Dezember 1980) Modus Beschreibung Anwendung Electronic Code Unabhängige Codierung einzelner Blöcke Sichere Übertragung einzelner Book (ECB) mit demselben Schlüssel Werte Cipher Block Chaining (CBC) Codierung von XOR-Verknüpfung mit letztem Chiffretextblock Block-orientierte Übertragung; Authentifizierung Cipher Feedback Verschlüsselung wirkt auf ein Feedbackregister Block-orientierte Übertragung; (CFB) der Länge n; zur Codierung werden r Authentifizierung Bits (r < n) des Registers mit den Klartextblöcken verknüpft Output Feedback (OFB) Ähnlich CFB; aber Eingabe der Verschlüsselung ist vorherige Ausgabe Strom orientierte Übertragung (z.b. Satellit) Counter (CTR) Jeder Klartextblock wird mit einem verschlüsselten Block orientierte Übertragung; Zähler XOR-verknüpft hohe Geschwindigkeit

104 Modus: Electronic Code Book (ECB) Klartext M wird in n-bit Blöcke zerlegt: M = M 1 M 2 M 3 Jeder Block wird mit demselben Schlüssel K verschlüsselt: E K (M) = E K (M 1 )E K (M 2 )E K (M 3 ) Probleme: Blöcke werden ggf. aufgefüllt (Padding) = Angriff mit bekanntem Klartext möglich Replay: (z.b. in Datenbanken)

105 ECB und Klartextmuster Klartext Mit ECB verschlüsselt Mit CBC verschlüsselt Mit ECB bleiben aufgrund der Verwendung des gleichen Schlüssels Muster im Klartext evtl. erhalten. Mit CBC werden Informationen über den gesamten Chiffretext verteilt Ergebnis liefert Pseudorandom-Daten Vorsicht: Pseudorandom impliziert keine kryptographische Sicherheit!

106 Modus: Cipher Block Chaining (CBC) Idee: Jeder Chiffretextblock wird aus dem zugehörigen Klartextblock und dem vorhergehenden Chiffretextblock berechnet. Eingabe: k-bit Schlüssel K n-bit Initialisierungsvektor IV n-bit Klartextblöcke M 1,..., M t Algorithm: Chiffrierung C 0 := IV; for i := 1 to t do C i := E K (M i C i 1 ) ; end Algorithm: Dechiffrierung C 0 := IV; for i := 1 to t do M i := C i 1 D K (C i ) ; end

107 Alternativdarstellung: ECB vs. CBC Chiffrierung (oben) und Dechiffrierung (unten): M 0 M 1 M 2 M 0 M 1 M 2 E K E K E K E K E K E K IV C 0 C 1 C 2 C 0 C 1 C 2 C 0 C 1 C 2 C 0 C 1 C 2 IV D K D K D K D K D K D K M 0 M 1 M 2 M 0 M 1 M 2

108 Eigenschaften von CBC Korrektheit ist leicht nachzuweisen Jeder Chiffretextblock ist abhängig von allen vorhergehenden Chiffretextblöcken Statistische Eigenschaften des Klartextes werden über den Chiffretext verteilt Reihenfolge der Chiffretextblöcke ist wichtig Dechiffrierung ist nur in der richtigen Reihenfolge möglich Der CBC-Modus ist selbstsynchronisierend: Ein Bitfehler in einem Chiffretextblock wirkt sich auf die folgenden beiden entschlüsselten Klartextblöcke aus Allerdings kann ein Angreifer an vorhersagbaren Stellen Bitfehler auslösen

109 Record-Chaining (für Datensätze) Aufgabe: Datensätze D 1,..., D m aus jeweils mehreren Datenblöcken sollen verschlüsselt werden. Vorgehen: das Feedback-Register behält seinen Wert über Grenzen von Datensätzen (wird also nicht neu initialisiert) Vorteile: Gleiche Felder in verschiedenen Datensätzen bleiben so verborgen Einfaches Replay wird ausgeschlossen Nachteile: Bei Lese-/ Schreibzugriff auf einen Datensatz benötigt man den letzten Chiffretextblock des vorhergehenden Datensatzes als IV Beim Schreiben müssen alle folgenden Datensätze neu verschlüsselt werden

110 Modus: Counter (CTR) Idee: n-bit Zähler wird verschlüsselt und im Klartext XOR-verknüpft Zähler wird für jeden Block inkrementiert modulo 2n Eingabe: k-bit Schlüssel k n-bit Initialisierungsvektor IV n-bitklartextblöcke M 1,..., M n Algorithm: Chiffrierung Z := IV ; for i := 0 to t do C i := M i E K (Z) ; Z := Z + 1 mod 2 n ; end Algorithm: Dechiffrierung Z := IV ; for i := 0 to t do M i := C i E K (Z) ; Z := Z + 1 mod 2 n ; end

111 Eigenschaften von CTR Effizienz: Blöcke können parallel bearbeitet werden höherer Durchsatz Preprocessing: Die Ausgabe der Chiffrierfunktion hängt nicht vom Klartext ab und kann deshalb schon (für mehrere Zähler) im Voraus berechnet werden. Random Access: Die Blöcke werden unabhängig voneinander verschlüsselt zum Ver-/Entschlüsseln wird nur der passende Zähler benötigt und kein Zugriff auf andere Blöcke Sicherheit: CTR ist mindestens so sicher wie die anderen Betriebsmodi Einfachheit Es wird nur die Chiffrierfunktion benutzt und nicht die Dechiffrierfunktion

112 Advanced Encryption Standard (AES) Eine unkonventionelle aber trotzdem überzeugende Darstellung, der wir auch folgen wollen, findet sich hier: A Stick Figure Guide to the AES. Ebenfalls empfehlenswert ist die AES Animation von Enrique Zabala. Geschichte des Verfahrens Bemerkungen zu den Grundlagen Grundlegende Begriffe und Bezeichnungen Ver-/Entschlüsselung

113 AES: Geschichte National Institute of Standards and Technology (NIST) DES ist veralteter Standard Triple-DES de facto Standard 1997: Ausschreibung eines Wettbewerbs für einen neuen Federal Information Processing Standard (FIPS) Ziel: Anforderungen an AES Kandidaten: Symmetrische Verfahren mit 128, 192, 256 Bit Schlüssellängen Lizenzfrei und frei verfügbar (public domain) Weltweit exportierbar

114 Verlauf der Auswahl 1998/1999: 15 Vorschläge werden auf 2 Konferenzen vorgestellt August 1999: NIST wählt 5 Finalisten aus: MARS: IBM (USA) RC6: Ron Rivest (MIT), Erfinder von RSA und RC4 (USA) Rijndael: Joan Daemen (Proton World International) Vincent Rijmen (Univ. Leuven) (Belgien) Serpent: Ross Anderson, Eli Biham, Lars Knudsen (USA) Twofish: Counterpane Internet Security, Inc. (USA) Kryptologen weltweit werden aufgefordert, die Finalisten auf Angriffsmöglichkeiten zu überprüfen Oktober 2000: eine weitere Konferenz findet statt...

115 ... and the winner is Riijndael November 2001: Ankündigung des AES-Standards Mai 2002: Einführung des neuen Standards

116 Einsatzgebiete von AES IEEE i für Wireless LAN WPA2-Verschlüsselung für WiFi SSH, IPSec und VoIP: sowohl offene Protokolle als auch proprietäre Systeme wie Skype Mac OS: Standardverschlüsselung für Disk-Images Windows XP: transparente Verschlüsselung EFS Verschlüsselung komprimierter Archive: 7-Zip, RAR Verschlüsselungssoftware: Pretty Good Privacy (PGP), GnuPG

117 Mathematischen Grundlagen (Überblick) Zwecks Byte-weiser Verarbeitung beruht AES auf algebraischen Rechenoperationen im so genannten Galois-Körper GF(2 8 ) : Polynome mit Koeffizienten aus Z 2 = {0, 1} bilde Restklassen modulo des irreduzibilen Polynoms m(x) = x 8 + x 4 + x 3 + x + 1 Repräsentanten sind alle Polynome vom Grad 7 über Z 2 = {0, 1} ; diese bilden den endlichen Körper GF(2 8 ) Elemente von GF(2 8 ) lassen sich als Bytes (= 8 Bit) auffassen x 7 + x = ( ) = (c1) hex An einer Stelle des Algorithmus sind 4-Tupel von Bytes mit einer (4 4) -Matrix in GF(2 8 ) zu multiplizieren Weiterführende Details in der Vorlesung Kryptologie 1+2

118 Rechenoperationen in GF(2 8 ) Addition: Addition von Polynomen mit Koeffizienten in Z 2 = {0, 1} } (b 7 x b 1 x + b 0 ) (b 7x b 1x + b 0) = (b 7 b 7)x 7 + +(b 1 b 1)x +(b 0 b 0) d.h. bitweises XOR, z.b. (57) (83) = ( ) ( ) = ( ) = (14) Multiplikation: (Aufpassen: alle Koeffizienten sind über Z 2 ) Polynome multiplizieren Ergebnis reduziren modulo m(x) = x 8 + x 4 + x 3 + x + 1 Z.B. (57) (83) = (c1) effizienter mittels Logarithmen bzgl. des Erzeugers x + 1 der multiplikativen Gruppe von GF(2 8 ) Look-Up Tabellen

119 Grundkonzepte AES Ein- und Ausgabeblöcke haben 128 Bits, d.h., 16 Bytes Der Algorithmus operiert auf (4 4) - Byte-Matrizen (sog. Zuständen) die spaltenweise befüllt werden: in 0 in 4 in 8 in 12 in 1 in 5 in 9 in 13 = in 2 in 6 in 10 in 14 in 3 in 7 in 11 in 15 s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 = s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 out 0 out 4 out 8 out 12 out 1 out 5 out 9 out 13 out 2 out 6 out 10 out 14 out 3 out 7 out 11 out 15 Schlüssellänge: 128 Bits (192, 256 werden hier nicht behandelt) der Schlüssel wird zu einem Key schedule erweitert: ein Array w[i] der Länge 44 aus 32-Bit Worten (insgesamt 176 Bytes) Jeweils 4 Wörter (128 Bits) werden als Rundenschlüssel benutzt; diese können alternativ (und einfacher) auch direkt aus den vorangegangenen Rundenschlüsseln gewonnen werden, wobei eine Rundenkonstante zu berücksichtigen ist

120 AES: Ablauf S. Ransom + J. Koslowski: Grundlagen der Sicherheit in Netzen und verteilten Systemen

121 AES: Bemerkungen der AES hat keine Feistel-Struktur: hier werden keine Halbblöcke benutzt, die einander modifizieren der ganze Block wird in jeder Runde permutiert und substitutiert es werden im Wesentlichen vier Operationen verwendet: Sub(stitute) Bytes: mittels einer S-Box Shift Rows: zyklische Permutation der Zeilen der Zustandsmatrix Mix Columns: die Spalten der Zustandsmatrix werden mit einer festen invertierbaren Byte-wertigen Matrix multipliziert AddRoundKey: Bitweises XOR des Zustands mit dem entsprechenden Rundenschlüssel = nur hier wird der Schlüssel benutzt

122 AES: Weitere Bemerkungen Shift Rows, Mix Columns, Sub Bytes sind unabhängig vom Schlüssel Sicherheit des Verfahrens beruht auf dem Zusammenspiel der Operationen mit AddRoundKey Jede der Operationen ist umkehrbar Der Dechiffrieralgorithmus benutzt die Rundenschlüssel in umgekehrter Reihenfolge Dechiffrierung ist nicht identisch mit der Chiffrierung

123 AES: Ablauf einer Runde S. Ransom + J. Koslowski: Grundlagen der Sicherheit in Netzen und verteilten Systemen

124 Details: Substitute Bytes S-Box, Substitutionswerte für das Byte ( xy )

125 AES: Hintergrund der Substitutions-Box Ausgehend von einem Byte b = b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 erfolgt die Berechnung von S-Box(b) = b in zwei Schritten: 1 b (00) wird das multiplikative Inverse b = b 1 von b in GF(2 8 ) berechnet, für b = (00) wird b = (00) gesetzt. 2 b wird einer affinen Z 2 -Transformation unterzogen: b b b b b b 1 b b 3 = b b 0 b b b 1 b 0 Diese Matrix ist invertierbar über Z 2! b 1 b 0

126 Details: SubBytes - Inverse S-Box Inverse S-Box, Substitutionswerte für das Byte ( xy )

127 Details: ShiftRows ShiftRows(s) = s s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 s s s 0,0 s 0,1 s 0,2 s 0,3 s 1,1 s 1,2 s 1,3 s 1,0 s 2,2 s 2,3 s 2,0 s 2,1 s 3,3 s 3,0 s 3,1 s 3,2

128 Details: MixColumn Operiert separat auf jeder Spalte eines Zustands Anwendung einer invertierbaren Substitutionsfunktion f auf die Spalten des Zustandes: f : Byte 4 Byte 4 s 0,c s 1,c s 2,c s 3,c f s 0,c s 1,c s 2,c s 3,c 87 F 2 4D 97 6E 4C 90 EC 46 E7 4A C3 A6 8C D8 95 f A3 4C 37 D4 70 9F 94 E4 3A 42 ED A5 A6 BC Die Funktion f ist eine Matrix-Multiplikation über GF(2 8 ) Designkriterium: gutes Mischen der Bytes jeder Spalte Zusammen mit ShiftRows bewirkt dies nach einigen Runden den Lawineneffekt

129 Details: MixColumns als Matrixmultiplikation f : Byte 4 Byte 4 s 0,c s 1,c s 2,c s 3,c f s 0,c s 1,c s 2,c s 3,c Über GF(2 8 ) berechne s 0,c s 0,c s 1,c s 2,c = s 1,c s 2,c s 3,c s 3,c Also zum Beispiel: s 1,c = s 0,c (02) s 1,c (03) s 2,c s 3,c f 1 : Byte 4 Byte 4 s 0,c s 1,c s 2,c s 3,c f 1 s 0,c s 1,c s 2,c s 3,c Über GF(2 8 ) berechne 0e 0b 0d 09 s 0,c s 0,c 09 0e 0b 0d 0d 09 0e 0b s 1,c s 2,c = s 1,c s 2,c 0b 0d 09 0e s 3,c s 3,c

130 Details: AddRoundKey Bitweises XOR des Zustandes mit dem Rundenschlüssel s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 = r 0 r 1 r 2 r 15 := w[i... (i + 3)] s 0,0 s 0,1 s 0,2 s 0,3 s 1,0 s 1,1 s 1,2 s 1,3 s 2,0 s 2,1 s 2,2 s 2,3 s 3,0 s 3,1 s 3,2 s 3,3 { i = 0 r 0 r 4 r 8 r 12 r 1 r 5 r 9 r 13 r 2 r 6 r 10 r 14 r 3 r 7 r 11 r 15 bei erstem Schritt i = 4 j in Runde j = 1,..., 10 Gilt für Chiffrierung - bei Dechiffrierung umgekehrt!

131 AES: Angriffsversuche N. Ferguson, R. Schroeppel und D. Whiting geschlossene Formel für AES als Kettenbruch mit 250 Termen N. Courtois und J. Pieprzyk Beschreibung von AES durch Systeme quadratischer Gleichungen Starke Vereinfachungen mit der XSL-Methode (da mehr Gleichungen als Unbekannte; viele Koeffizienten 0; reguläre Struktur) Ein Angriff mit 287 Rechenschritten könnte möglich sein (statt im Mittel zum Durchprobieren der Schlüssel 2127) A. Osvik, A. Shamir, E. Tromer: Side-Channel-Angriffe Zugriffsmuster auf den Cache über Prozessgrenzen hinweg beobachten und zur Kryptoanalyse ausnutzen Unter Umständen Gewinnung des Schlüssels in wenigen Sekunden

132 Literatur Dietmar Wätjen: Kryptographie, 2. Aufl., Spektrum Akademischer Verlag, Stallings, William, Brown, Lawrie: Computer Security: Principles and Practice. Prentice Hall 2008, ISBN-10: ; ISBN-13: Referenzen zu konkreten Artikeln der erwähnten Autoren befinden sich in Herrn Wätjens Buch Jeff Moser: A Stick Figure Guide to the Advanced Encryption Standard (AES)

133 Kapitel 5 Public Key Cryptography und das RSA-Verfahren

134 Verteilung geheimer Schlüssel Problem bei symmetrischen Verfahren Wie tauschen die beiden Kommunikationspartner ihre(n) Schlüssel aus, bevor sie kommunizieren können? Über denselben öffentlichen Kanal geht es offensichtlich nicht - extreme Unsicherheit! Andere Verfahren Telefon Brief Kurier Persönliches Treffen Wie steht s mit der Sicherheit und Anwendbarkeit?

135 Verteilung geheimer Schlüssel (II) Traut man zum Schlüsselaustausch einem Kanal nicht, kann man eine Kombination aus mehreren Kanälen wählen. Beispiel 64-Bit-Schlüssel in 4 Teile teilen, je einen Teil über einen Kanal Frage: wie teilt man den Schlüssel? Konkatenation in vier 16-Bit-Blöcke Summe von vier 64-Bit-Zahlen, von denen drei zufällig sind Warum ist das zweite Verfahren besser?

136 Schlüsselverteilzentren Populäre Variante Schlüsselverteilzentren (key distribution centers, KDC) Generieren on-demand einen Sitzungsschlüssel für die Kommunikationspartner Vorteile schnell, flexibel Nachteile Für die Kommunikation mit dem Schlüsselzentrum muss auch zunächst ein vertraulicher Schlüssel etabliert werden Das Schlüsselzentrum muss 100% vertrauenswürdig sein

137 Asymmetrische Verfahren Die oben beschriebenen Nachteile motivierten die Suche nach neuen Verfahren zur Schlüsselverwaltung Bahnbrechende Neuerung Mitte der Siebziger Jahre Idee des Public-Key-Kryptosystems Basiert auf zwei unterschiedlichen Schlüsseln, die miteinander mathematisch zusammenhängen Das Verfahren ist asymmetrisch in dem Sinne, dass nur ein Schlüssel geheimzuhalten ist, während der andere veröffentlicht werden kann (s.u.) alle bisherigen Verfahren waren symmetrisch; der oder die Schlüssel waren geheimzuhalten Entwickelt von Diffie und Hellman 1976

138 Die Idee von Diffie und Hellman Bei asymmetrischen Verschlüsselungsverfahren besitzt jeder Kommunikationspartner zwei Schlüssel einen privaten Schlüssel, der geheim gehalten werden muss einen öffentlichen Schlüssel, der jedem zur Verfügung steht Es ist praktisch unmöglich, den einen Schlüssel aus dem anderen abzuleiten, obwohl die beiden mathematisch voneinander abhängen Authentizität und Integrität müssen für den öffentlichen Schlüssel garantiert sein, Vertraulichkeit ist nicht erforderlich Whitfield Diffie Martin Hellman

139 Anwendung asymmetrischer Verfahren Asymmetrische Schlüsselverfahren können nach diesem Prinzip drei unterschiedliche Anwendungen haben: Schlüsselaustausch für (schnellere) symmetrische Verfahren Verschlüsselung und Entschlüsselung normaler Nachrichten Digitale Signaturen

140 Protokoll für digitale Verschlüsselung Szenario Bob will Alice eine verschlüsselte Nachricht M schicken Vorgehen 1 Zunächst erzeugt Alice ein asymmetrisches Schlüsselpaar öffentliche Chiffretransformation E A private Dechiffriertransformation D A 2 Bob verschlüsselt die Nachricht mit Alices öffentlichem Schlüssel: M E A (M) = C 3 Wenn Alice diese Nachricht bekommt, entschlüsselt sie sie mit ihrem privaten Schlüssel: C D A (C) = D A (E A (M)) = M Voraussetzung Hier kommt die Grundannahme kryptopgraphischer Systeme zum Tragen: D A E A = id M

141 Protokoll für digitale Signatur Szenario: Alice will Bob eine von ihr unterzeichnete Nachricht M senden Vorgehen: 1 Alice erzeugt wie oben ein asymmetrisches Schlüsselpaar öffentliche Chiffretransformation E A private Dechiffriertransformation D A 2 Alice versendet M zusammen mit C = D A (M) 3 Bob vergleicht M mit E A (C) = E A (D A (M)) ; bei Übereinstimmung kann niemand als Alice ihm M, C geschickt haben. (Wird nur C verschickt, identifiziert Bob nur im Falle eines sinnvollen Klartextes E A (C) Alice als Absenderin.) 4 In einem Streitfall zwischen Alice und Bob kann ein neutraler Richter überprüfen, ob E A (C) = M gilt. Voraussetzung Hier ist zusätzlich C = M und E A D A = id C anzunehmen!

142 Kombination: Geheimhaltung + Authentizität? Szenario Alice will an Bob eine verschlüsselte und unterschriebene Nachricht M schicken Naive Idee: Alice und Bob brauchen je ein asymmetrisches Schlüsselpaar mit Transformationen E A und D A, bzw. E B und D B Bemerkungen: Problematisch beim RSA-Verfahren (siehe später) Manche Verfahren haben unterschiedliche Algorithmen für Verschlüsselung und Signatur (z.b. ElGamal, Rabin)

143 Probleme des einfachen Signaturprotokolls Datenauthentizität ist gewährleistet, aber nicht die Authentizität des Senders Alice: Gehören E A und D A tatsächlich zu Alice? Schlüssel müssen zertifiziert werden! Rechenaufwand ist bei direkter Durchführung des Signaturprotokolls bei den meisten Verfahren zu hoch Man verwendet Hashfunktionen, um nur sogenannte Fingerabdrücke der Klartexte zu signieren Einige Anwendungen sind komplizierter: Bei einer Vertragsunterzeichnung müssen zwei (oder mehr) Teilnehmer ihre digitale Unterschrift quasi gleichzeitig leisten.

144 Anforderungen an einen Crypto-Algorithmus Bisher fehlt die entscheidende Komponente: Ein Crypto-Algorithmus, der diese Verfahren realisiert! Diffie und Hellman hatten selbst keinen Vorschlag, aber sie konnten sagen, welche Bedingungen er erfüllen müsste: 1 Es ist für jeden Teilnehmer X leicht ( computationally easy ) Transformationen E X und D X zu finden, d.h. ein Paar aus öffentlichem und privatem Schlüssel zu erzeugen 2 Es ist für den Sender Bob leicht, mit Hilfe des öffentlichen Schlüssels von Alice und der Nachricht M den Geheimtext C = E A (M) zu erzeugen 3 Für die Empfängerin Alice ist es ebenfalls leicht, die erhaltene Nachricht zu entschlüsseln: M = D A (C) = D A (E A (M))

145 Anforderungen (II) 4 Es ist schwer ( computationally infeasible ) ohne Zusatzinformation aus dem öffentlichen Schlüssel den privaten Schlüssel abzuleiten: d.h., aus E X kann man D X nicht ohne weiteres bestimmen 5 Es ist schwer, aus dem öffentlichen Schlüssel und dem Geheimtext C die Originalnachricht M abzuleiten 6 Die Ver- und Entschlüsselungsalgorithmen können in beliebiger Reihenfolge angewendet werden (speziell muß C = M gelten): M = E X (D X (M)) = D X (E X (M)) Diese Anforderungen erfüllen heute nur zwei bekannte Algorithmen: RSA und Elliptic Curve Manche Verfahren verzichten auf 6, verwenden dafür aber verschiedenen Algorithmen für Chiffrierung und Signierung: z.b. ElGamal- und Rabin-Verfahren

146 One-Way Functions Diese Anforderungen an einen Algorithmus lassen sich durch die Verwendung von Trap-door One-Way-Funktionen erfüllen Eine One-Way Function (Einwegfunktion) ist eine Funktion, die jedes Element aus dem Definitionsbereich auf ein Element des Bildbereiches abbildet, dass der Funktionswert ein eindeutiges Inverses besitzt Y = f(x ) leicht zu berechnen ist, während X = f 1 (Y ) nicht effizient berechnet werden kann

147 Trap-Door One-Way Functions Trap-Door Function (Falltürfunktion): Eigenschaften wie bei Einwegfunktion, aber Urbilder sind leicht zu berechnen, wenn weitere Infos bekannt sind: Unter einer (durch einen Schlüssel) parametrisierten Trap-Door One-Way Funktion versteht man eine Familie invertierbarer Funktionen f k mit Y = f k (X ) ist bei bekanntem k und X leicht zu berechnen X = f 1 k (Y ) ist bei bekanntem k und Y leicht zu berechnen X = f 1 k (Y ) ist bei bekanntem Y und unbekanntem k nicht effizient zu berechnen

148 RSA 1977 wurde der erste Algorithmus, der die oben postulierten Eigenschaften erfüllte, entwickelt und veröffentlicht von Leonard Adleman Ron Rivest Adi Shamir Der Algorithmus wurde bereits 1973 von Clifford Cocks am britischen General Communications Headquarter (GCHQ) erfunden: GCHQ wusste nichts damit anzufangen und hielt die Entdeckung bis 1997 (!) geheim Clifford Cocks

149 Eigenschaften von RSA Blockchiffrieralgorithmus Klar- und Geheimtextblöcke werden als große ganze Zahlen aufgefasst, ebenso der Schlüssel Die Schlüssellänge ist variabel Typisch heute: 1024, 2048, 4096 Bit RSA basiert auf den Eigenschaften von Primzahlen und modularer Arithmetik Es wird ausgenutzt, dass es berechnungsmäßig schwer ist, das Produkt zweier großer Primzahlen zu faktorisieren.

150 Schlüsselerzeugung für RSA Zusammenfassung: Alice erzeugt sich einen öffentlichen und einen zugehörigen privaten Schlüssel Vorgehen: 1 Alice erzeugt zwei große Primzahlen p und q von ungefähr gleicher Länge ( wird später noch behandelt) 2 Alice berechnet n = pq und den Wert der Euler schen Funktion ϕ(n) = (p 1)(q 1). 3 Alice wählt eine Zahl e Z ϕ(n), d.h., e < ϕ(n) und ggt(e, ϕ(n)) = 1. 4 Mit Hilfe des erweiteren euklidischen Algorithmus berechnet Alice d = e 1 mod ϕ(n). 5 Der öffentliche Schlüssel von Alice ist (n, e), der private ist d.

151 RSA-Verschlüsselung Zusammenfassung: Bob chiffriert eine Nachricht M für Alice, die diese dechiffriert Vorgehen: Zur Chiffrierung führt Bob die folgenden Schritte aus: 1 Bob besorgt sich den authentischen öffentlichen Schlüssel (n, e) von Alice (das ist ein nicht-triviales Problem). 2 Bob stellt M als Zahl in Z n dar. 3 Bob berechnet C = M e mod n mit Hilfe der schnellen Exponentiation. 4 Bob übermittelt E A (M) = C an Alice. Zur Dechiffrierung führt Alice den folgenden Schritt aus: 1 Mit ihrem privaten Schlüssel d berechnet sie M = D A (C) = C d mod n.

152 RSA-Signierung/Authentifizierung Zusammenfassung: Alice signiert die Nachricht M für Bob, der die Signatur verifiziert Vorgehen: Zur Signierung führt Alice die folgenden Schritte aus: 1 Alice stellt M als Zahl in Z n dar. 2 Alice berechnet C = M d mod n mit Hilfe der schnellen Exponentiation. 3 Alice sendet ( M und) die Signatur D A (M) = C an Bob. Zur Verifikation und zum Erhalt der Nachricht führt Bob die folgenden Schritte aus: 1 Bob besorgt sich den authentischen öffentlichen Schlüssel (n, e) von Alice (nicht trivial). 2 Bob berechnet E A (C) = C d mod n. Wenn C e mod n kein vernünftiger Klartext ist, wird die Signatur abgelehnt, anderenfalls wird sie akzeptiert und C e mod n als M anerkannt. (Bob vergleicht M mit E A (C) = C d mod n und akzeptiert bei Übereinstimmung Alice als Senderin)

153 Diagrammische Darstellung RSA Verschlüsselung, Bob an Alice M = C d mod n A A A C = M e mod n A B B M Z na RSA Authentifizierung/Signierung, Alice an Bob M Z na A A C = M d mod n A M, C = M d mod n A B B M? = C e mod n A bzw. sinnvoll?

154 Warum funktionert das RSA-Verfahren? Satz (Korrektheit von RSA) Für ungleiche Primzahlen p und q setze n = p q. Erfüllen e, d Z ϕ(n) die Bedingung ed mod ϕ(n) = 1, so gilt für jede Nachricht M Z n (M e mod n) d mod n = M Bemerkung: Testet Bob die Nachricht M auf ggt(m, n)? {p, q} kann er mit geringer Wahrscheinlichkeit Alices Modulus n faktorisieren, dann ϕ(n) berechnen und duch Invertierung von e modulo ϕ(n) ihren geheimen Schlüssel d bestimmen.

155 Kleines Zahlenbeispiel mit RSA Modulus: p = 47 q = 67 n = pq = = 3149 ϕ(n) = (p 1)(q 1) = = 3036 Schlüssel: e = 563 mit ggt(e, ϕ(n)) = 1 d = mod 3036 = 2459 Verschlüsselung: Klartext: M = VORLESUNGEN_ Codierung: A = 00, B = 01,..., Z = 25, _ = 26 V O R L E S U N G E N _ mod 3149 = mod 3149 = 358 etc. Chiffretext: C =

156 Geheimhaltung + Authentizität bei RSA Alice sendet eine signierte und chiffrierte Nachricht an Bob: C = E B (D A (M)) Problem: verschiedene Moduli n A > n B können zu Dechiffrierfehlern führen, falls D A (M) n B : n Fehlerwahrscheinlichkeit: A n B n A Welche fundamentalen Nachteile hat folgender Ansatz? C = D A (E B (M)) Bessere Lösung: Jeder Teilnehmer X hat zwei Paare (E X 0, D X 0 ) und (E X 1, D X 1 ) zum Signieren bzw. Verschlüsseln, wobei der Signaturmodulus n A0 kleiner ist als der Chiffriermodulus n B1, für alle Teilnehmer A und B. Z.B. könnten die Signaturmoduli höchstens t Bits und die Chiffriermoduli mindestens t + 1 Bits haben

157 Zeitbedarf von RSA Im Vergleich zu symmetrischen Verfahren (DES, IDEA, AES) ist RSA aufgrund der Arithemetik bei großen Zahlen langsamer Schnelle Übertragung von großen Datenmengen ist nicht möglich: Datendurchsat RSA: einige Mbps Datendurchsatz DES: einige Gbps (Hardware) Lösung: Hybride Verfahren RSA (bzw. asymmetrisches Verfahren) wird nur zur Übertragung eines AES-Sitzungsschlüssels verwendet RSA-Signaturen werden nur auf kurze Fingerabdrücken der Nachrichten angewendet (damit muß die Original-Nachricht mit übertragen werden, da sie aus der Signatur nicht mehr rekonstruierbar ist!)

158 Faktorisierung und Sicherheit von RSA Die Sicherheit von RSA beruht auf der Schwierigkeit des Faktorisierungsproblems: Eingabe: natürliche Zahlen Aufgabe: finde einen Primfaktor von n Gemäß der Schlüsselerzeugung ist bei bekannter Faktorisierung n = p q und gewähltem e Z ϕ(n) das Inverse d = e 1 mod n leicht zu bestimmen. Es gilt sogar Satz Die Bestimmung des privaten Schlüssel d aus dem öffentlichen Schlüssel n, e ist berechnungsmäßig äquivalent zur Faktorisierung von n.

159 Bemerkung zur Wahl des RSA-Modulus n Die Differenz p q sollte nicht zu klein sein Sonst teste Teilbarkeit von n durch ungerade Zahlen in der Nähe von n Günstig ist es p und q als sog. starke Primzahlen mit einer kleinen Differenz in der Bitlänge zu wählen dann haben p und p q dieselbe Größenordnung Definition Eine Primzahl p heißt stark, wenn p 1 hat einen großen Primfaktor r ; p + 1 hat einen großen Primfaktor; r 1 hat einen großen Primfaktor.

160 Fortschritte bei Faktorisierung 1977: Ronald Rivest veröffentliche einen kurzen mit 428-Bit Schlüssel chiffrierten Text als Rätsel für ein paar Dollar Preisgeld. Rivests Vermutung: Jahre zum Brechen nötig 1994: 1600 Rechner faktorisieren die Zahl in 8 Monaten und ermitteln so den Klartext. 512 Bits dauern noch 100 mal so lange 1999: 300 Rechner faktorisieren eine 512-Bit Zahl in 7,4 Monaten 2005: 80 Rechner faktorisieren eine 640-Bit Zahl in 5 Monaten 2007: Die Mersenne-Zahl wird faktorisiert (1039 Bits) 2009: 80 Rechner faktorisieren eine 768-Bit Zahl in ca. 7 Monaten 2012: Die Mersenne-Zahl wird faktorisiert (1061 Bits) von Anfang 2011 bis Schlüssellängen von 2048 gelten heute (noch) als sicher

161 Erzeugung großer Primzahlen Ergebnis aus der Zahlentheorie: 1 Dichte der Primzahlen um die Zahl n : ln n Also: unter ln(n) zufälligen Zahlen ist ca. eine Primzahl Heuristisches Vorgehen: Erzeuge zufällig eine ungerade k-stellige Binärzahl m = b 1 b 2 b k mit b 1, b k = 1 Teste für i = 0, 1, 2,... ob m + 2i eine Primzahl ist Wenn innerhalb von 2k Versuchen keine Primzahl gefunden ist, wähle ein neues m Denn: die Dichte der Primzahlen um n = 2k erfüllt: 1 ln n > 1 log 2 n = 1 k

162 Primzahltests - Sieb des Erathosthenes Zusammenfassung: Findet alle Primzahlen von 2 bis n Vorgehen: Streiche alle Vielfache von 2, 3, 5, 7, 11,... aus der Liste 2... n var prim: boolean[ 2... n ] = [ true,..., true ]; i := 2; while i n do j := i i ; while j n do prim [j] = false; j := j+i; end i := nächster Index j mit prim [j] = true; end Problem: Laufzeit und Speicherbedarf linear in n, d.h. exponentiell in der Bitlänge von n.

163 1. Primzahltest für n mit dem Satz von Fermat Idee: gegeben ist die ungerade Zahl n wähle zufällig 1 < a < n teste ob a n 1 mod n 1 falls ja : n ist keine Primzahl; falls nein : neuer Test; ABER: Definition Eine Carmichael-Zahl ist eine zusammengesetzte Zahl n mit der Eigenschaft, dass für alle Zahlen 0 < a < n gilt: a n 1 mod n = 1. Satz 561 = ist die kleinste Carmichael-Zahl Es gibt nur 255 Carmichael-Zahlen im Bereich Ist n zusammengesetzt und keine Carmichael-Zahl, gilt für eine Mehrheit der Zahlen 0 < a < n : a n 1 mod n 1.

164 Verbesserung von Rabin-Miller (1976) Idee: gegeben ist die ungerade Zahl n schreibe n 1 als 2 s d mit d ungerade für zufälliges 1 < a < n betrachte die Folge Definition (a d mod n), (a 2d mod n), (a 4d mod n),..., (a 2s d mod n) Eine Zahl n mit n 1 = 2 s d mit d ungerade heißt starke Pseudoprimzahl zur Basis a < n, wenn ggt(a, n) = 1 gilt und entweder a d mod n = 1, oder a 2r d mod n = n 1 für ein r < s. Satz (5.3, ohne Beweis) Es sei n eine zusammengesetzte Zahl und 1 < a < n sei zufällig gewählt. Dann ist die Wahrscheinlichkeit, dass n eine starke Pseudoprimzahl zur Basis a ist, 1 4.

165 (Pseudo-)Primzahltest von Rabin und Miller Data: n > 1 ungerade, wobei n 1 = 2 s d ( d ungerade) Result: n zusammengesetzt oder n Primzahl (unsicher) Wähle zufällig ein a mit 1 < a < n; a 0 := a d mod n ; if a 0 = 1 or a 0 = n 1 then return n ist eine Primzahl ; end for i := 1 to s 1 do a i := a 2 i 1 mod n ; if a i = n 1 then return n ist eine Primzahl ; else if a i = 1 then return n ist zusammengesetzt ; end end end return n ist zusammengesetzt ;

166 (Pseudo-)Primzahltest von Rabin und Miller Data: n > 1 ungerade, wobei n 1 = 2 s d ( d ungerade) Wähle zufällig ein a mit 1 < a < n; a 0 := a d mod n ; if a 0 = 1 or a 0 = n 1 then return n ist eine Primzahl ; else for i := 1 to s 1 do a i := a 2 i 1 mod n ; if a i = n 1 then return n ist eine Primzahl ; else if a i = 1 then return n ist zusammengesetzt ; end end end return n ist zusammengesetzt ; end

167 Analyse Satz (5.4) Der obige Algorithmus benötigt höchstens 4 log 2 n Berechnungsschritte. Wenn n eine Primzahl ist, dann ist die Aussage des Algorithmus immer richtig. Ist dagegen n zusammengesetzt, so ist die Wahrscheinlichkeit einer falschen Antwort 1 4. Bemerkung. Nach k Durchläufen des Tests ist die Wahrscheinlichkeit einer k-maligen falschen Antwort 4 k Nach 100 Durchläufen ist es wahrscheinlicher, dass 10 mal hintereinander im Lotto dieselben Zahlen kommen, als dass die Antwort des Algorithmus falsch ist.

168 Exakte Primzahltests Das Primzahlproblem: Eingabe: natürliche Zahl n Aufgabe: entscheiden, ob n eine Primzahl ist Vaughan Pratt (1970er): das Problem liegt in NP. Erster subexponentieller Algorithmus: 1983 von L.M. Adleman, C. Pomerance und R.S. Rumely O(log log log n) Zeitkomplexität: (log n) Polynomialzeitalgorithmus: 2002 von M. Agrawal, N. Kayal, N. Saxena O(log 12 n) 2005 von H.W. Lenstra, C. Pomerance O(log 6+ɛ n) ;

169 Literatur Dietmar Wätjen: Kryptographie, 2. Aufl, Spektrum Akademischer Verlag, 2008 J. Buchmann, Einführung in die Kryptographie, 2. Aufl. Springer, 2001 Referenzen zu konkreten Artikeln der erwähnten Autoren befinden sich in Herrn Wätjens Buch

170 Kapitel 6 Authentifizierung

171 Überblick Motivation Authentifizierungsverfahren für Nachrichten Verschlüsselung Hash-Funktionen- und Algorithmen (MD5, SHA-1) Message Authentication Codes (MAC) Digitale Signaturen DSS und DSA

172 Motivation (1) Welche Sicherheitsprobleme kennen Sie, die durch nicht authentifizierte Nachrichten verursacht werden? Mögliche Sicherheitsprobleme: Tarnung: Nachrichten werden von fremden Quellen eingeschleust Änderung des Inhalts einer Nachricht Änderung der Nachrichtenreihenfolge Änderung des zeitlichen Verhaltens von Nachrichten (Verzögerung, Replay) Leungnen des Sendens bzw. Empfangs einer Nachricht

173 Motivation (2) Unter Authentifizierung (auch Authentisierung) versteht man eine Prozedur, durch deren Hilfe ein Empfänger sicher ist, dass eine Nachricht tatsächlich von der angegebenen Quelle stammt Unter Integritätsicherung versteht man eine Prozedur, durch deren Hilfe ein Empfänger sicher ist, dass eine Nachricht nicht modifiziert wurde Unter einer Digitalen Signatur versteht man eine Authentifizierungstechnik, die Authentifizierung und Integrität bietet und zusätzlich das Leugnen des Absendens einer Nachricht (gegenüber Dritten) verhindert

174 Techniken Zur Authentisierung werden heute meist die folgenden drei Techniken (in Kombination) eingesetzt Nachrichtenverschlüsselung: der Chiffretext selbst dienst als Authentisierungsmerkmal; dabei ist für symmetrische und asymmetrische Verfahren unterschiedlich vorzugehen Hash-Funktionen: bilden Nachrichten beliebiger Länge auf einen sog. Hash-Wert fester Länge ab, der dann zur Sicherung der Integrität dient; sie beruhen häufig auf sog. Kompressionsfunktionen, die nur auf Nachrichten fester Länge definiert sind. Message Authentication Code (MAC): durch Schlüssel parametrisierte Hash-Funktionen (Authentifizierung und Integrität)

175 Symmetrische Nachrichtenverschlüsselung Hauptzweck von Verschlüsselung: Vertraulichkeit, aber: Empfänger Bob kann sicher sein, dass Nachricht von der Senderin Alice kommt, da nur Alice und Bob den Schlüssels kennen. Die Nachricht kann nicht geändert worden sein, da man dazu den Schlüssel benötigt Allerdings klappt Letzteres nur, wenn der Klartext lesbar ist Ist es eine beliebige Bit- oder Zahlen-Folge, dann ist die (automatische) Prüfung schwierig, denn der entschlüsselte Text ergibt keinen offensichtlichen Sinn Mögliche Lösung: Anhängen einer Frame Check Sequence (FCS) an die Nachricht, die mit verschlüsselt wird; diese kann dann beim Empfänger geprüft werden

176 Überblick symmetrische Verfahren

177 Asymmetrische Nachrichtenverschlüsselung Umgekehrte Anwendung der Schlüssel (wie in Kapitel 5) Sender signiert mit seinem privaten Schlüssel Empfänger prüft mit dem öffentlichen Schlüssel des Senders Ähnliches Problem wie oben bei nicht unmittelbar lesbaren Nachrichten Das Verfahren bietet prinzipiell sogar digitale Signaturen Nur der Sender besitzt den geheimen, privaten Schlüssel Empfänger und Dritte können die Signatur prüfen Wegen der oben im Rahmen von RSA angesprochenen Probleme dieser einfachen Signaturen werden digitale Signaturen aber anders konstruiert (später)

178 Hash-Funktionen Eine Hash-Funktion erzeugt einen Fingerabdruck fester Länge der Nachricht Jedes Bit der Nachricht soll in diesen Fingerabdruck eingehen, dies ermöglicht die Prüfung der Integrität: Änderung der Nachricht führt zu Änderung des Hash-Werts Verfahren, um damit zu authentifizieren: gemeinsame Verschlüsselung von Nachricht und Hash-Code, oder nur Verschlüsselung des Hash-Codes

179 Gängige Anwendungsvarianten (1) a b c Nachricht + Hashwert symmetrisch verschlüsselt Authentifizierung, Integrität und Vertraulichkeit nur Hashwert symmetrisch verschlüsselt reduzierte Prozessorlast, Authentisierung + Integrität aber keine Vertraulichkeit nur Hashwert asymmetrisch verschlüsselt Nicht nur Authentisierung und Integrität, sondern auch digitale Unterschrift (tatsächlich funktionieren digitale Signaturverfahren so)

180 graphische Darstellung (1)

181 Gängige Anwendungen (2) d e f Nachricht symmetrisch und Hashwert asymmetrisch verschlüsselt = allg. gebräuchliches Verfahren Keine Verschlüsselung, aber die beiden Partner besitzen gemeinsames Geheimnis S, das via Konkatenation in die Berechnung des Hashwerts eingeht Ansatz (e) plus Verschlüsselung von Hash Code und Nachricht = zusätzlich Vertraulichkeit

182 graphische Darstellung (2)

183 Auswahl des Verfahrens gemäß den Anforderungen Wenn Vertraulichkeit nicht erforderlich ist, haben (b) und (c) Vorteile, da weniger Berechnungen nötig sind Die Variante (e) ist im Vorteil, wenn Verschlüsselung komplett vermieden werden soll, denn Verschlüsselung ist langsam Verschlüsselung ist teuer Verschlüsselung kann verboten sein

184 Anforderungen an Hash-Funktionen (1) Eine Hash-Funktion h für Nachrichten über dem Alphabet Σ muss folgenden Bedingungen genügen: h kann auf Datenblöcke beliebiger Bitlänge angewandt werden, h erzeugt Ausgaben fester Bitlänge, h(m) ist leicht zu berechnen für jedes M. Formal ist h also eine Abbildung Σ h Σ k. Häufig basieren Hash-Funktionen auf sog. Kompressionsfunktionen Σ m k Σ k wobei beide Werte m > k fest sind. Natürlich muß dann auch k(m) für jedes M Σ m leicht berechenbar sein. Achtung: die Hash-Funktion h ist in diesem Fall keine Erweiterung von k, sondern wird z.b. mittels der Merkle-Damgård-Konstruktion aus k gewonnen (siehe VL Krypologie 1+2).

185 Anforderungen an Hash-Funktionen (2) 4 Für jedes x ist es sehr schwierig, ein M mit h(m) = x zu finden (vergl. one-way- oder preimage resistant Funktionen) insbes. für Verfahren (e) wichtig, da andernfalls ein Ersatz-Geheimnis S berechnet werden könnte. 5 Für jedes M ist es sehr schwierig, ein M M mit h(m) = h(m ) zu finden (weak collision resistance) wichtig, um Betrug in den Fällen (b) und (c) zu vermeiden, da ansonsten alternative Nachrichten für den gegebenen Hashwert generiert werden könnten. 6 Es ist schwierig ein beliebiges Paar (M, M ) mit h(m) = h(m ) zu finden (strong collision resistance) wichtig, um eine bestimmte Klasse von Angriffen zu vermeiden (sog. Geburtstagsangriff Übung!) Diese Bedingungen sind auch für Kompressionsfunktionen sinnvoll.

186 Bekannte Hash-Verfahren Message Digest: MD-4, MD-5; Secure Hash Algorithm: SHA-1, SHA-2 (Sammelbezeichnung für SHA-256, SHA-384, SHA-512), SHA-3 (Keccack) RIPEMD-160 Bemerkungen: Diese werden in der Praxis oft eingesetzt, jedoch sind hier die one-way, weak collision resistance und strong collision resistance nicht mathematisch bewiesen Eine beweisbar stark kollisionsfreie Kompressions-Funktion wurde von Chaum, van Heijst, Pfitzmann 1991 vorgestellt = Vorlesung Kryptologie 1

187 MD5 Entwickelt von Ronald Rivest und in RFC 1321 spezifiziert Nachfolger von MD2, MD4 Produziert einen 128-bit Hash-Wert Grundlegende Struktur einer iterierten Kompressionsfunktion (Merkle-Damgård-Konstruktion) Lange Zeit der am häufigsten benutzte Algorithmus Es gibt einige bekannte Angriffe 2004: erfolgreich gebrochen mittels Geburtstagsangriff 2005: X.509 Zertifikate mit unterschedlichen öffentlichen Schlüsseln aber gleichem MD5 Hash 2006: effizienter Algoritmus zur Kollisionsfindung ( < 1 Minute)

188 Secure Hash Algorithm (SHA) SHA wurde 1993 von NIST und NSA entwickelt und 1995 noch einmal revidiert zu SHA-1 mit Bitlänge 160 (RFC 3174) Basiert stark auf MD4 (RFC 1320), mit dem wesentlichen Unterschied der größeren Länge des Hash-Wertes Auch hier Zweifel an der Sicherheit: 2005: Angriff, der eine Kollision in 2 69 Schritten findet; brute force benötigt ca Versuche um mit W keit 1/2 eine Kollision zu finden. (alte) Empfehlung der Bundesnetzagentur: Nutzung von SHA-1 bis Ende 2009 Danach bis Ende 2011 Übergang zu SHA-2 (FIPS 180-2) (4 Hashfunktionen mit Bitlängen von 224, 256, 384, 512) NIST Hash-Funktions-Wettbewerb für SHA-3 Gewinner ist Keccak (seit 2. Oktober 2012) wird SHA-2 vorerst nicht ablösen - aber alternativer Algorithmus

189 SHA-512 Überblick Verarbeitet 1024-Bit Blöcke (hintereinander) Auffüllen der Nachricht, so dass ihre Länge einem Vielfachen von 1024 Bit entspricht M 1 0 d L, wobei d =(896 ( M + 1)) mod 1024) L = M mod Länge von M als 128 Bit Zahl Initialisiere acht 64-Bit Variablen (1024-bit) (a,b,c,d,e,f,g,h) a = 0x6a09e667f3bcc908 e = 0x510e527fade682d1 b = 0xbb67ae8584caa73b f = 0x9b05688c2b3e6c1f c = 0x3c6ef372fe94f82b g = 0x1f83d9abfb41bd6b d = 0xa54ff53a5f1d36f1 h = 0x5be0cd19137e2179 Dies sind jeweils die erste 64 Bits der Nachkommabits der Quadratwurzeln der ersten 8 Primzahlen 2, 3, 5, 7, 11, 13, 17, 19

190 SHA-512 Kompressionsschleife Bildquelle: Stallings & Brown: Computer Security, Principles and Practice, Pearson Education Kompressionsfunktion Z Z 1024 F s Z 512 2

191 SHA-512 Kompressionsfunktion F Die Konstanten K 0,..., K 79 sind: K 0 = 0x428a2f 98d728ae22 K i = 64-Nachkommabits der Kubikwurzel der i -ten Primzahl Die Werte W i, i < 80, werden aus dem aktuellen 1024-Bit Nachrichtenblock gewonnen, mit Hilfe des sog. Messag Schedule, s.u. Bildquelle: Stallings & Brown: Computer Security, Principles and Practice, Pearson Education 2008.

192 SHA-512 Runde t Ch(x, y, z) = x y x y Ma(x, y, z) = (x y) (x z) (y z) Σ 0 (x) = S 28 (x) S 34 (x) S 39 (x) Σ 1 (x) = S 14 (x) S 18 (x) S 41 (x) Dabei ist die Addition modulo 2 64 und S n die zyklischen Rechtsvertauschung um n Bits. Später wird auch die Rechtsverschiebung R n um n Positionen gebraucht.

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

10. Kryptographie. Was ist Kryptographie?

10. Kryptographie. Was ist Kryptographie? Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem

Mehr

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

DES der vergangene Standard für Bitblock-Chiffren

DES der vergangene Standard für Bitblock-Chiffren DES der vergangene Standard für Bitblock-Chiffren Klaus Pommerening Fachbereich Mathematik der Johannes-Gutenberg-Universität Saarstraße 1 D-55099 Mainz Vorlesung Kryptologie 1. März 1991, letzte Änderung:

Mehr

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre Was bisher geschah Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:

Mehr

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW...

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... 12 Kryptologie... immer wichtiger Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce WWW... Kryptologie = Kryptographie + Kryptoanalyse 12.1 Grundlagen 12-2 es gibt keine einfachen Verfahren,

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

6.2 Perfekte Sicherheit

6.2 Perfekte Sicherheit 04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Kryptographie eine erste Ubersicht

Kryptographie eine erste Ubersicht Kryptographie eine erste Ubersicht KGV bedeutet: Details erfahren Sie in der Kryptographie-Vorlesung. Abgrenzung Steganographie: Das Kommunikationsmedium wird verborgen. Klassische Beispiele: Ein Bote

Mehr

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09

Verschlüsselung. Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern. 12.10.2011 Fabian Simon Bfit09 Verschlüsselung Fabian Simon BBS Südliche Weinstraße Kirchstraße 18 Steinfelderstraße 53 76831 Birkweiler 76887 Bad Bergzabern 12.10.2011 Fabian Simon Bfit09 Inhaltsverzeichnis 1 Warum verschlüsselt man?...3

Mehr

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Was bisher geschah Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln): Substitutions-Chiffren (Permutationschiffren): Ersetzung jedes

Mehr

10. Public-Key Kryptographie

10. Public-Key Kryptographie Stefan Lucks 10. PK-Krypto 274 orlesung Kryptographie (SS06) 10. Public-Key Kryptographie Analyse der Sicherheit von PK Kryptosystemen: Angreifer kennt öffentlichen Schlüssel Chosen Plaintext Angriffe

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Computeralgebra in der Lehre am Beispiel Kryptografie

Computeralgebra in der Lehre am Beispiel Kryptografie Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl Die Autoren Dr.-Ing. Jan Pelzl Prof. Dr.-Ing. Christof Paar Gliederung Historischer Überblick Begrifflichkeiten Symmetrische

Mehr

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012

Symmetrische und Asymmetrische Kryptographie. Technik Seminar 2012 Symmetrische und Asymmetrische Kryptographie Technik Seminar 2012 Inhalt Symmetrische Kryptographie Transpositionchiffre Substitutionchiffre Aktuelle Verfahren zur Verschlüsselung Hash-Funktionen Message

Mehr

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit Thema: Asymmetrische Verschlüsselung, Digitale Signatur Vortragender: Rudi Pfister Überblick: Asymmetrische Verschlüsselungsverfahren - Prinzip

Mehr

Kapitel 3: Etwas Informationstheorie

Kapitel 3: Etwas Informationstheorie Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens

Mehr

Klassische Verschlüsselungsverfahren

Klassische Verschlüsselungsverfahren Klassische Verschlüsselungsverfahren Matthias Rainer 20.11.2007 Inhaltsverzeichnis 1 Grundlagen 2 2 Substitutionschiffren 2 2.1 Monoalphabetische Substitutionen....................... 3 2.1.1 Verschiebechiffren............................

Mehr

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen

Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen Kryptographie Motivation Schutz von Informationen bei Übertragung über unsichere Kanäle Beispiele für zu schützende Informationen Geheimzahlen (Geldkarten, Mobiltelefon) Zugriffsdaten (Login-Daten, Passwörter)

Mehr

Einführung in die moderne Kryptographie

Einführung in die moderne Kryptographie c by Rolf Haenni (2006) Seite 1 Von der Caesar-Verschlüsselung zum Online-Banking: Einführung in die moderne Kryptographie Prof. Rolf Haenni Reasoning under UNcertainty Group Institute of Computer Science

Mehr

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen 10.6 Authentizität Zur Erinnerung: Geheimhaltung: nur der Empfänger kann die Nachricht lesen Integrität: Nachricht erreicht den Empfänger so, wie sie abgeschickt wurde Authentizität: es ist sichergestellt,

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

9. Einführung in die Kryptographie

9. Einführung in die Kryptographie 9. Einführung in die Kryptographie Grundidee: A sendet Nachricht nach B über unsicheren Kanal. Es soll verhindert werden, dass ein Unbefugter Kenntnis von der übermittelten Nachricht erhält. Grundbegriffe:

Mehr

Kryptologie. Verschlüsselungstechniken von Cäsar bis heute. Arnulf May

Kryptologie. Verschlüsselungstechniken von Cäsar bis heute. Arnulf May Kryptologie Verschlüsselungstechniken von Cäsar bis heute Inhalt Was ist Kryptologie Caesar Verschlüsselung Entschlüsselungsverfahren Die Chiffrierscheibe Bestimmung der Sprache Vigenére Verschlüsselung

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 1 Modul Diskrete Mathematik WiSe 2011/12 Ergänzungsskript zum Kapitel 4.2. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung

Mehr

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo Kryptographische Verfahren zur Datenübertragung im Internet Patrick Schmid, Martin Sommer, Elvis Corbo 1. Einführung Übersicht Grundlagen Verschlüsselungsarten Symmetrisch DES, AES Asymmetrisch RSA Hybrid

Mehr

Eine Praxis-orientierte Einführung in die Kryptographie

Eine Praxis-orientierte Einführung in die Kryptographie Eine Praxis-orientierte Einführung in die Kryptographie Mag. Lukas Feiler, SSCP lukas.feiler@lukasfeiler.com http://www.lukasfeiler.com/lectures_brg9 Verschlüsselung & Entschlüsselung Kryptographie & Informationssicherheit

Mehr

Einführung in die verschlüsselte Kommunikation

Einführung in die verschlüsselte Kommunikation Einführung in die verschlüsselte Kommunikation Loofmann AFRA Berlin 25.10.2013 Loofmann (AFRA Berlin) Creative Common BY-NC-SA 2.0 25.10.2013 1 / 37 Ziele des Vortrages Wie funktioniert Verschlüsselung?

Mehr

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus 1 RYPTOSYSTEME 1 ryptosysteme Definition 1.1 Eine ryptosystem (P(A), C(B),, E, D) besteht aus einer Menge P von lartexten (plaintext) über einem lartextalphabet A, einer Menge C von Geheimtexten (ciphertext)

Mehr

Grundlagen der Kryptographie

Grundlagen der Kryptographie Grundlagen der Kryptographie Seminar zur Diskreten Mathematik SS2005 André Latour a.latour@fz-juelich.de 1 Inhalt Kryptographische Begriffe Primzahlen Sätze von Euler und Fermat RSA 2 Was ist Kryptographie?

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Ein Scan basierter Seitenangriff auf DES

Ein Scan basierter Seitenangriff auf DES Ein Scan basierter Seitenangriff auf DES Seminar Codes & Kryptographie SS04 Tobias Witteler 29.06.2004 Struktur des Vortrags 1. Einführung / Motivation 2. Struktur von DES 3. Die Attacke Begriffsklärung:

Mehr

Erste Vorlesung Kryptographie

Erste Vorlesung Kryptographie Erste Vorlesung Kryptographie Andre Chatzistamatiou October 14, 2013 Anwendungen der Kryptographie: geheime Datenübertragung Authentifizierung (für uns = Authentisierung) Daten Authentifizierung/Integritätsprüfung

Mehr

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Kryptographische Verfahren auf Basis des Diskreten Logarithmus Kryptographische Verfahren auf Basis des Diskreten Logarithmus -Vorlesung Public-Key-Kryptographie SS2010- Sascha Grau ITI, TU Ilmenau, Germany Seite 1 / 18 Unser Fahrplan heute 1 Der Diskrete Logarithmus

Mehr

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne Verfahren: DES (Feistel-Chiffre) mehrfache Wiederholung

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002 Diffie-Hellman, ElGamal und DSS Vortrag von David Gümbel am 28.05.2002 Übersicht Prinzipielle Probleme der sicheren Nachrichtenübermittlung 'Diskreter Logarithmus'-Problem Diffie-Hellman ElGamal DSS /

Mehr

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Technische Universität München Zentrum Mathematik PD Dr. hristian Karpfinger http://www.ma.tum.de/mathematik/g8vorkurs 5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12) Aufgabe 5.1: In einer Implementierung

Mehr

Digitale Signaturen. Sven Tabbert

Digitale Signaturen. Sven Tabbert Digitale Signaturen Sven Tabbert Inhalt: Digitale Signaturen 1. Einleitung 2. Erzeugung Digitaler Signaturen 3. Signaturen und Einweg Hashfunktionen 4. Digital Signature Algorithmus 5. Zusammenfassung

Mehr

Kryptographie Reine Mathematik in den Geheimdiensten

Kryptographie Reine Mathematik in den Geheimdiensten Kryptographie Reine Mathematik in den Geheimdiensten Priska Jahnke 10. Juli 2006 Kryptographie Reine Mathematik in den Geheimdiensten Kryptographie (Kryptologie) = Lehre von den Geheimschriften Kaufleute,

Mehr

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie IT-Sicherheit: Kryptographie Asymmetrische Kryptographie Fragen zur Übung 5 C oder Java? Ja (gerne auch Python); Tips waren allerdings nur für C Wie ist das mit der nonce? Genau! (Die Erkennung und geeignete

Mehr

Authentikation und digitale Signatur

Authentikation und digitale Signatur TU Graz 23. Jänner 2009 Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Überblick: Begriffe Authentikation Digitale Signatur Begriffe Alice und

Mehr

Kryptologie. Nicolas Bellm. 24. November 2005

Kryptologie. Nicolas Bellm. 24. November 2005 24. November 2005 Inhalt Einleitung 1 Einleitung 2 Klassische Skytale Monoalphabetische Verfahren Polyalphabetische Verfahren 3 Moderne Symmetrische Assymetrische 4 Ausblick Einleitung Einleitung Die ist

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Zusammenfassung der Vorlesung vom 15.4.2015

Zusammenfassung der Vorlesung vom 15.4.2015 Zusammenfassung der Vorlesung vom 15.4.2015 Für welche Schutzziele ist Kryptographie der geeignete Schutzmechanismus? Was genau kann erreicht werden (verhindern / entdecken)? Was besagt das Prinzip von

Mehr

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners

Mehr

Projekt u23 Symmetrische Kryptografie, Betriebsmodi von Blockchiffren

Projekt u23 Symmetrische Kryptografie, Betriebsmodi von Blockchiffren Symmetrische Kryptografie Betriebsmodi von Blockchiffren und was man sonst damit machen kann Martin e.v. https://koeln.ccc.de 12. Oktober 2015 Definition Krypto-System Tupel (M, C, K, E, D) Message, Ciphertext,

Mehr

Nachrichten- Verschlüsselung Mit S/MIME

Nachrichten- Verschlüsselung Mit S/MIME Nachrichten- Verschlüsselung Mit S/MIME Höma, watt is S/MIME?! S/MIME ist eine Methode zum signieren und verschlüsseln von Nachrichten, ähnlich wie das in der Öffentlichkeit vielleicht bekanntere PGP oder

Mehr

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

In beiden Fällen auf Datenauthentizität und -integrität extra achten. Stromchiffren Verschlüsseln eines Stroms von Daten m i (Bits/Bytes) mithilfe eines Schlüsselstroms k i in die Chiffretexte c i. Idee: Im One-Time Pad den zufälligen Schlüssel durch eine pseudo-zufällige

Mehr

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz Entwicklung der Asymmetrischen Kryptographie und deren Einsatz Peter Kraml, 5a hlw Facharbeit Mathematik Schuljahr 2013/14 Caesar-Verschlüsselung Beispiel Verschiebung der Buchstaben im Alphabet sehr leicht

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Kryptographie oder Verschlüsselungstechniken

Kryptographie oder Verschlüsselungstechniken Kryptographie oder Verschlüsselungstechniken Dortmund, Dezember 1999 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX:

Mehr

Vorlesung Datensicherheit. Sommersemester 2010

Vorlesung Datensicherheit. Sommersemester 2010 Vorlesung Datensicherheit Sommersemester 2010 Harald Baier Kapitel 2: Kryptographische Begriffe und symmetrische Verschlüsselungsverfahren Inhalt Kryptographische Begriffe Historische Verschlüsselungsverfahren

Mehr

Zur Sicherheit von RSA

Zur Sicherheit von RSA Zur Sicherheit von RSA Sebastian Petersen 19. Dezember 2011 RSA Schlüsselerzeugung Der Empfänger (E) wählt große Primzahlen p und q. E berechnet N := pq und ϕ := (p 1)(q 1). E wählt e teilerfremd zu ϕ.

Mehr

Kryptographie I Symmetrische Kryptographie

Kryptographie I Symmetrische Kryptographie Kryptographie I Symmetrische Kryptographie Alexander May Fakultät für Mathematik Ruhr-Universität Bochum Wintersemester 2010/11 Krypto I - Vorlesung 01-11.10.2010 Verschlüsselung, Kerckhoffs, Angreifer,

Mehr

VON. Kryptographie. 07. März 2013. Powerpoint-Präsentation

VON. Kryptographie. 07. März 2013. Powerpoint-Präsentation VON 07. März 2013 & Kryptographie Powerpoint-Präsentation 1 Allgemeines über die Kryptographie kryptós= griechisch verborgen, geheim gráphein= griechisch schreiben Kryptographie + Kryptoanalyse= Kryptologie

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) 1. Einleitung Die Elektronische Unterschrift (EU) dient zur Autorisierung und Integritätsprüfung von

Mehr

Anleitung Thunderbird Email Verschlu sselung

Anleitung Thunderbird Email Verschlu sselung Anleitung Thunderbird Email Verschlu sselung Christoph Weinandt, Darmstadt Vorbemerkung Diese Anleitung beschreibt die Einrichtung des AddOn s Enigmail für den Mailclient Thunderbird. Diese Anleitung gilt

Mehr

Betriebsarten von Blockchiffren. ECB Electronic Code Book Mode. Padding. ECB Electronic Code Book Mode

Betriebsarten von Blockchiffren. ECB Electronic Code Book Mode. Padding. ECB Electronic Code Book Mode Betriebsarten von Blockchiffren Blocklänge ist fest und klein. Wie große Mengen an Daten verschlüsseln? Blockchiffre geeignet verwenden: ECB Mode (Electronic Code Book) CBC Mode (Cipher Block Chaining)

Mehr

Verschlüsselung. Chiffrat. Eve

Verschlüsselung. Chiffrat. Eve Das RSA Verfahren Verschlüsselung m Chiffrat m k k Eve? Verschlüsselung m Chiffrat m k k Eve? Aber wie verteilt man die Schlüssel? Die Mafia-Methode Sender Empfänger Der Sender verwendet keine Verschlüsselung

Mehr

Algorithmische Kryptographie

Algorithmische Kryptographie Algorithmische Kryptographie Walter Unger, Dirk Bongartz Lehrstuhl für Informatik I 27. Januar 2005 Teil I Mathematische Grundlagen Welche klassischen Verfahren gibt es? Warum heissen die klassischen Verfahren

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Methoden der Kryptographie

Methoden der Kryptographie Methoden der Kryptographie!!Geheime Schlüssel sind die sgrundlage Folien und Inhalte aus II - Der Algorithmus ist bekannt 6. Die - Computer Networking: A Top außer bei security by obscurity Down Approach

Mehr

Betriebsarten für Blockchiffren

Betriebsarten für Blockchiffren Betriebsarten für Blockchiffren Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Betriebsarten für Blockchiffren Was ist eine Betriebsart (engl. Mode of Operation )? Blockchiffre wird genutzt, um

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

8. Quadratische Reste. Reziprozitätsgesetz

8. Quadratische Reste. Reziprozitätsgesetz O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung)

Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung) Was bisher geschah Sicherheitsziele: Verfügbarkeit (Schutz vor Verlust) Vertraulichkeit (Schutz vor unbefugtem Lesen) Authentizität (Schutz vor Veränderung, Fälschung) von Information beim Speichern und

Mehr

Mathematik ist überall

Mathematik ist überall Mathematik ist überall Prof. Dr. Wolfram Koepf Universität Kassel http://www.mathematik.uni-kassel.de/~koepf Tag der Mathematik 15. Februar 2008 Universität Kassel Inhaltsangabe Sichere Verschlüsselung

Mehr

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.

Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008 RSA-Verschlüsselung von Johannes Becker Gießen 2006/2008 Zusammenfassung Es wird gezeigt, wieso das nach Ronald L. Rivest, Adi Shamir und Leonard Adleman genannte RSA-Krptosstem funktioniert, das mittlerweile

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009) Probleme unseres Alltags E-Mails lesen: Niemand außer mir soll meine Mails lesen! Geld abheben mit der EC-Karte: Niemand außer mir soll

Mehr

Grundfach Informatik in der Sek II

Grundfach Informatik in der Sek II Grundfach Informatik in der Sek II Kryptologie 2 3 Konkrete Anwendung E-Mail- Verschlüsselung From: To: Subject: Unterschrift Date: Sat,

Mehr

Wie bleibt unser Geheimnis geheim?

Wie bleibt unser Geheimnis geheim? Wie bleibt unser Geheimnis geheim? Jan Tobias Mühlberg Wie bleibt unser Geheimnis geheim? MuT, Wintersemester 2009/10 Jan Tobias Mühlberg & Johannes Schwalb muehlber@swt-bamberg.de Lehrstuhl: Prof. Lüttgen,

Mehr

Public-Key-Kryptosystem

Public-Key-Kryptosystem Public-Key-Kryptosystem Zolbayasakh Tsoggerel 29. Dezember 2008 Inhaltsverzeichnis 1 Wiederholung einiger Begriffe 2 2 Einführung 2 3 Public-Key-Verfahren 3 4 Unterschiede zwischen symmetrischen und asymmetrischen

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln 27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln Autor Dirk Bongartz, RWTH Aachen Walter Unger, RWTH Aachen Wer wollte nicht schon mal eine Geheimnachricht übermitteln?

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

Informatik für Ökonomen II HS 09

Informatik für Ökonomen II HS 09 Informatik für Ökonomen II HS 09 Übung 5 Ausgabe: 03. Dezember 2009 Abgabe: 10. Dezember 2009 Die Lösungen zu den Aufgabe sind direkt auf das Blatt zu schreiben. Bitte verwenden Sie keinen Bleistift und

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Kurze Einführung in kryptographische Grundlagen.

Kurze Einführung in kryptographische Grundlagen. Kurze Einführung in kryptographische Grundlagen. Was ist eigentlich AES,RSA,DH,ELG,DSA,DSS,ECB,CBC Benjamin.Kellermann@gmx.de GPG-Fingerprint: D19E 04A8 8895 020A 8DF6 0092 3501 1A32 491A 3D9C git clone

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel: RSA-Verschlüsselung Das RSA-Verfahren ist ein asymmetrisches Verschlüsselungsverfahren, das nach seinen Erfindern Ronald Linn Rivest, Adi Shamir und Leonard Adlemann benannt ist. RSA verwendet ein Schlüsselpaar

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

AES. Jens Kubieziel jens@kubieziel.de. 07. Dezember 2009. Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik

AES. Jens Kubieziel jens@kubieziel.de. 07. Dezember 2009. Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik Angriffe gegen Jens Kubieziel jens@kubieziel.de Friedrich-Schiller-Universität Jena Fakultät für Mathem atik und Informatik 07. Dezember 2009 Angriffe gegen Outline 1 Zur Geschichte 2 3 Angriffe gegen

Mehr

Vorlesung Sicherheit

Vorlesung Sicherheit Vorlesung Sicherheit Dennis Hofheinz IKS, KIT 13.05.2013 1 / 16 Überblick 1 Asymmetrische Verschlüsselung Erinnerung Andere Verfahren Demonstration Zusammenfassung 2 Symmetrische Authentifikation von Nachrichten

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau Asymmetrische Verschlü erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau Gliederung 1) Prinzip der asymmetrischen Verschlü 2) Vergleich mit den symmetrischen Verschlü (Vor- und Nachteile)

Mehr

Elliptische Kurven in der Kryptographie

Elliptische Kurven in der Kryptographie Elliptische Kurven in der Kryptographie Projekttage Mathematik 2002 Universität Würzburg Mathematisches Institut Elliptische Kurven in der Kryptographie p.1/9 Übersicht Kryptographie Elliptische Kurven

Mehr