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

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

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

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

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

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

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

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

Kryptologie und Kodierungstheorie

Kryptologie und Kodierungstheorie Kryptologie und Kodierungstheorie Alexander May Horst Görtz Institut für IT-Sicherheit Ruhr-Universität Bochum Lehrerfortbildung 17.01.2012 Kryptologie Verschlüsselung, Substitution, Permutation 1 / 18

Mehr

Blockverschlüsselung und AES

Blockverschlüsselung und AES Blockverschlüsselung und AES Proseminar/Seminar Kryptographie und Datensicherheit SoSe 2009 Universität Potsdam ein Vortrag von Linda Tschepe Übersicht Allgemeines SPNs (Substitutions- Permutations- Netzwerke)

Mehr

Datensicherheit durch Kryptographie

Datensicherheit durch Kryptographie Datensicherheit durch Kryptographie Dr. Michael Hortmann Fachbereich Mathematik, Universität Bremen T-Systems Michael.Hortmann@gmx.de 1 Kryptographie: Klassisch: Wissenschaft und Praxis der Datenverschlüsselung

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

Sommersemester 2002 Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit (KVBK)

Sommersemester 2002 Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit (KVBK) Sommersemester 2002 Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit (KVBK) Vortrag zum Thema: Symmetrische Verschlüsselung (DES, 3DES, AES) und Schlüsselaustausch (Diffie-Hellman) Referent:

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

Der Advanced Encryption Standard (AES)

Der Advanced Encryption Standard (AES) Der Advanced Encryption Standard (AES) Prof. Dr. Rüdiger Weis TFH Berlin Sommersemester 2008 Geschichte des AES Die Struktur des AES Angriffe auf den AES Aktuelle Ergebnisse DerAdvanced Encryption Standard

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren

Stefan Lucks Krypto und Mediensicherheit (2009) 4: Stromchiffren 4: Stromchiffren Zwei Grundbausteine der symmetrischen Kryptographie: Stromchiffren Verschlüsseln beliebig langer Klartexte, interner Zustand Blockchiffren Verschlüsseln von Blocks einer festen Größe,

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

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

Grundbegriffe der Kryptographie II Technisches Seminar SS 2012 Deniz Bilen

Grundbegriffe der Kryptographie II Technisches Seminar SS 2012 Deniz Bilen Grundbegriffe der Kryptographie II Technisches Seminar SS 2012 Deniz Bilen Agenda 1. Kerckhoff sches Prinzip 2. Kommunikationsszenario 3. Wichtige Begriffe 4. Sicherheitsmechanismen 1. Symmetrische Verschlüsselung

Mehr

Stefan Lucks Krypto und Mediensicherheit (2009) 5: Blockchiffren. 5: Blockchiffren. (n bit) (n bit) VERschlüsseln ENTschlüsseln

Stefan Lucks Krypto und Mediensicherheit (2009) 5: Blockchiffren. 5: Blockchiffren. (n bit) (n bit) VERschlüsseln ENTschlüsseln 5: Blockchiffren Klartexte 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 Chiffretexte (n bit) (n bit) VERschlüsseln ENTschlüsseln 74 5.1: Abstrakte Blockchiffren Familie

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

Symmetrische Verschlüsselung. Blockchiffren, DES, IDEA, Stromchiffren und andere Verfahren

Symmetrische Verschlüsselung. Blockchiffren, DES, IDEA, Stromchiffren und andere Verfahren Symmetrische Verschlüsselung Blockchiffren, DES, IDEA, Stromchiffren und andere Verfahren Symmetrische Verfahren Sender und Empfänger haben sich auf einen gemeinsamen Schlüssel geeinigt (geheim!!). Sender

Mehr

Kapitel 4: Flusschiffren

Kapitel 4: Flusschiffren Stefan Lucks 4: Flusschiffren 52 orlesung Kryptographie (SS06) Kapitel 4: Flusschiffren Als Basis-Baustein zur Verschlüsselung von Daten dienen Fluss- und Blockchiffren. Der Unterschied: Flusschiffren

Mehr

Kryptographische Verschlüsselung mithilfe des DES-Verfahrens und die Übersetzung eines Textes durch ein selbstgeschriebenes Delphi-Programm

Kryptographische Verschlüsselung mithilfe des DES-Verfahrens und die Übersetzung eines Textes durch ein selbstgeschriebenes Delphi-Programm Kryptographische Verschlüsselung mithilfe des DES-Verfahrens und die Übersetzung eines Textes durch ein selbstgeschriebenes Delphi-Programm Andre Pawlowski, Gymnasium Holthausen, LK Mathematik, 2004/2005

Mehr

IT-Sicherheit Kapitel 3 Public Key Kryptographie

IT-Sicherheit Kapitel 3 Public Key Kryptographie IT-Sicherheit Kapitel 3 Public Key Kryptographie Dr. Christian Rathgeb Sommersemester 2013 1 Einführung In der symmetrischen Kryptographie verwenden Sender und Empfänger den selben Schlüssel die Teilnehmer

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

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

1. Asymmetrische Verschlüsselung einfach erklärt

1. Asymmetrische Verschlüsselung einfach erklärt 1. Asymmetrische Verschlüsselung einfach erklärt Das Prinzip der asymmetrischen Verschlüsselung beruht im Wesentlichen darauf, dass sich jeder Kommunikationspartner jeweils ein Schlüsselpaar (bestehend

Mehr

Einführung in Computer Microsystems

Einführung in Computer Microsystems Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme

Mehr

Kryptographie praktisch erlebt

Kryptographie praktisch erlebt Kryptographie praktisch erlebt Dr. G. Weck INFODAS GmbH Köln Inhalt Klassische Kryptographie Symmetrische Verschlüsselung Asymmetrische Verschlüsselung Digitale Signaturen Erzeugung gemeinsamer Schlüssel

Mehr

Grundlagen. Murat Zabun. Seminar. Sicherheit im Internet. Universität Dortmund WS 02/03

Grundlagen. Murat Zabun. Seminar. Sicherheit im Internet. Universität Dortmund WS 02/03 Grundlagen Murat Zabun Seminar Sicherheit im Internet Universität Dortmund WS 02/03 1 Inhaltsverzeichnis INHALTSVERZEICHNIS 1.Einleitung 1.1 Grundlagen der Kryptographie 1.2 Verfahren der Kryptographie

Mehr

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester 2013.

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester 2013. Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz IKS Institut für Kryptographie und Sicherheit Stammvorlesung Sicherheit im Sommersemester 2013 Übungsblatt 2 Aufgabe 1. Wir wissen,

Mehr

Was ist Kryptographie

Was ist Kryptographie Was ist Kryptographie Kryptographie Die Wissenschaft, mit mathematischen Methoden Informationen zu verschlüsseln und zu entschlüsseln. Eine Methode des sicheren Senden von Informationen über unsichere

Mehr

Probabilistische Primzahlensuche. Marco Berger

Probabilistische Primzahlensuche. Marco Berger Probabilistische Primzahlensuche Marco Berger April 2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 4 1.1 Definition Primzahl................................ 4 1.2 Primzahltest...................................

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

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen Digital Rights Management 4FriendsOnly.com Internet Technologies AG Vorlesung im Sommersemester an der Technischen Universität Ilmenau

Mehr

8. Von den Grundbausteinen zu sicheren Systemen

8. Von den Grundbausteinen zu sicheren Systemen Stefan Lucks 8. Grundb. sich. Syst. 211 orlesung Kryptographie (SS06) 8. Von den Grundbausteinen zu sicheren Systemen Vorlesung bisher: Bausteine für Kryptosysteme. Dieses Kapitel: Naiver Einsatz der Bausteine

Mehr

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Sophie Friedrich, Nicholas Höllermeier, Martin Schwaighofer 11. Juni 2012 Inhaltsverzeichnis Einleitung Motivation Mathematische Definitionen Wiederholung Gruppe Ring Gruppenhomomorphisums

Mehr

Kryptographie. nur mit. Freier Software!

Kryptographie. nur mit. Freier Software! Michael Stehmann Kryptographie nur mit Freier Software! Kurze Einführung in Kryptographie ErsterTeil: Bei der Kryptographie geht es um die Zukunft von Freiheit und Demokratie Artur P. Schmidt, 1997 http://www.heise.de/tp/artikel/1/1357/1.html

Mehr

Wireless Security. IT Security Workshop 2006. Moritz Grauel grauel@informatik.hu-berlin.de Matthias Naber naber@informatik.hu-berlin.

Wireless Security. IT Security Workshop 2006. Moritz Grauel grauel@informatik.hu-berlin.de Matthias Naber naber@informatik.hu-berlin. Wireless Security IT Security Workshop 2006 Moritz Grauel grauel@informatik.hu-berlin.de Matthias Naber naber@informatik.hu-berlin.de HU-Berlin - Institut für Informatik 29.09.2006 (HU-Berlin - Institut

Mehr

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen

SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen SSL/TLS Sicherheit Warum es sich lohnt, sich mit Ciphersuites zu beschäftigen Immo FaUl Wehrenberg immo@ctdo.de Chaostreff Dortmund 16. Juli 2009 Immo FaUl Wehrenberg immo@ctdo.de (CTDO) SSL/TLS Sicherheit

Mehr

Kryptologie. 2. Sicherstellung, dass eine Nachricht unverfälscht beim Empfänger ankommt: Integrität.

Kryptologie. 2. Sicherstellung, dass eine Nachricht unverfälscht beim Empfänger ankommt: Integrität. Kryptologie Zur Terminologie Die Begriffe KRYPTOLOGIE und KRYPTOGRAPHIE entstammen den griechischen Wörtern kryptos (geheim), logos (Wort, Sinn) und graphein (schreiben). Kryptographie ist die Lehre vom

Mehr

Skript zur Stammvorlesung. Sicherheit. Karlsruher Institut für Technologie. Fakultät für Informatik

Skript zur Stammvorlesung. Sicherheit. Karlsruher Institut für Technologie. Fakultät für Informatik Skript zur Stammvorlesung Sicherheit Karlsruher Institut für Technologie Fakultät für Informatik Institut für Theoretische Informatik Arbeitsgruppe für Kryptographie und Sicherheit Die aktuelle Version

Mehr

FREIHEIT GESTALTEN VERSCHLÜSSELUNG ALS FREIHEIT IN DER KOMMUNIKATION. Christian R. Kast, Rechtsanwalt und Fachanwalt für IT Recht

FREIHEIT GESTALTEN VERSCHLÜSSELUNG ALS FREIHEIT IN DER KOMMUNIKATION. Christian R. Kast, Rechtsanwalt und Fachanwalt für IT Recht FREIHEIT GESTALTEN VERSCHLÜSSELUNG ALS FREIHEIT IN DER KOMMUNIKATION Christian R. Kast, Rechtsanwalt und Fachanwalt für IT Recht INHALTSÜBERSICHT Risiken für die Sicherheit von Kommunikation und die Freiheit

Mehr

Informationssicherheit - Lösung Blatt 2

Informationssicherheit - Lösung Blatt 2 Informationssicherheit - Lösung Blatt 2 Adam Glodek adam.glodek@gmail.com 13.04.2010 1 1 Aufgabe 1: One Time Pad 1.1 Aufgabenstellung Gegeben ist der folgende Klartext 12Uhr (ASCII). Verschlüsseln Sie

Mehr

Verschlüsselung und Signatur

Verschlüsselung und Signatur Verschlüsselung und Signatur 1 Inhalt Warum Verschlüsseln Anforderungen und Lösungen Grundlagen zum Verschlüsseln Beispiele Fragwürdiges rund um das Verschlüsseln Fazit Warum verschlüsseln? Sichere Nachrichtenübertragung

Mehr

WEP and WPA: Lessons learned in WLAN-Security Vortrag im Rahmen des Seminars Kryptographie und Sicherheit am 31. Mai 2006 Von Tina Scherer Gliederung WEP WPA Aufbau Schwächen Cracking WEP Angriffe Behobene

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

Wiederholung: Informationssicherheit Ziele

Wiederholung: Informationssicherheit Ziele Wiederholung: Informationssicherheit Ziele Vertraulichkeit: Schutz der Information vor unberechtigtem Zugriff bei Speicherung, Verarbeitung und Übertragung Integrität: Garantie der Korrektheit (unverändert,

Mehr

ProSeminar Kryptografie Prof. Dr. Ulrike Baumann. RSA-Verschlüsselung Francesco Kriegel

ProSeminar Kryptografie Prof. Dr. Ulrike Baumann. RSA-Verschlüsselung Francesco Kriegel ProSeminar Kryptografie Prof. Dr. Ulrike Baumann WS 2006/2007 RSA-Verschlüsselung Francesco Kriegel 14. 12. 2006 Inhaltsverzeichnis 1 Public-Key-Verfahren 2 1.1 Idee......................................................................

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

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Wintersemester 2014/15 Christoph Kreitz kreitz cs.uni-potsdam.de http://cs.uni-potsdam.de/krypto-ws1415 1. Wozu Kryptographie? 2. Einfache Verschlüsselungsverfahren 3. Anforderungen

Mehr

Verschlüsselungsverfahren

Verschlüsselungsverfahren Verschlüsselungsverfahren Herrn Breder hat es nach dem Studium nach München verschlagen. Seine Studienkollegin Frau Ahrend wohnt in Heidelberg. Da beide beruflich sehr stark einspannt sind, gibt es keine

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr

Hochschule Wismar Fachbereich Wirtschaft

Hochschule Wismar Fachbereich Wirtschaft Hochschule Wismar Fachbereich Wirtschaft Projektarbeit Kryptographie: Moderne Blockchiffren Wahlpflichtfach Kryptographie 2004 eingereicht von: Betreuer: Christian Andersch geboren am 17. August 1977 in

Mehr

Sicher Surfen IV: Verschlüsselung & Kryptographie

Sicher Surfen IV: Verschlüsselung & Kryptographie Sicher Surfen IV: Verschlüsselung & Kryptographie Georg Wagner 25. Mai 2001 1 Was ist Kryptographie? Kryptographie ist aus den griechischen Wörtern für Verstecken und Schreiben zusammengesetzt und kann

Mehr

Kryptographie. Gerhard Pfister. http://www.mathematik.uni-kl.de/ pfister/vorlesungkrypto.pdf. pfister@mathematik.uni-kl.de. Kryptographie p.

Kryptographie. Gerhard Pfister. http://www.mathematik.uni-kl.de/ pfister/vorlesungkrypto.pdf. pfister@mathematik.uni-kl.de. Kryptographie p. Kryptographie p. 1 Kryptographie Gerhard Pfister pfister@mathematik.uni-kl.de http://www.mathematik.uni-kl.de/ pfister/vorlesungkrypto.pdf Kryptographie p. 2 Literatur Mohamed Barakat, Timo Hanke, Cryptography

Mehr

Diplomarbeit. Rada Kancheva Betreuer: Dr. B. Borchert Prof. K. Reinhardt

Diplomarbeit. Rada Kancheva Betreuer: Dr. B. Borchert Prof. K. Reinhardt Diplomarbeit Trojanersichere Fenster: Verschlüsselung und Entschlüsselung Rada Kancheva Betreuer: Dr. B. Borchert Prof. K. Reinhardt Theoretische Informatik Wilhelm-Schickard-Institut für Informatik Eberhard

Mehr

Verschlüsselte E-Mails Wie geht das?

Verschlüsselte E-Mails Wie geht das? Verschlüsselte E-Mails Wie geht das? Ralf Hemmecke Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria 08. Mai 2015 Ralf Hemmecke (RISC, JKU Linz) Verschlüsselte E-Mails

Mehr

Digital Signature and Public Key Infrastructure

Digital Signature and Public Key Infrastructure E-Governement-Seminar am Institut für Informatik an der Universität Freiburg (CH) Unter der Leitung von Prof. Dr. Andreas Meier Digital Signature and Public Key Infrastructure Von Düdingen, im Januar 2004

Mehr

Vortrag Keysigning Party

Vortrag Keysigning Party Vortrag Keysigning Party Benjamin Bratkus Fingerprint: 3F67 365D EA64 7774 EA09 245B 53E8 534B 0BEA 0A13 (Certifcation Key) Fingerprint: A7C3 5294 E25B B860 DD3A B65A DE85 E555 101F 5FB6 (Working Key)

Mehr

Kryptographie Laborautomation WS 02/03 Patrick Gleichmann

Kryptographie Laborautomation WS 02/03 Patrick Gleichmann Kryptographie Laborautomation WS 02/03 Patrick Gleichmann 1 0. Was ist Sicherheit? Verstecken!= Verschlüsseln Was ist Sicherheit überhaupt? Dazu folgendes Beispiel: Wenn man etwas in einen Safe steckt,

Mehr

MAC Message Authentication Codes

MAC Message Authentication Codes Seminar Kryptographie SoSe 2005 MAC Message Authentication Codes Andrea Schminck, Carolin Lunemann Inhaltsverzeichnis (1) MAC (2) CBC-MAC (3) Nested MAC (4) HMAC (5) Unconditionally secure MAC (6) Strongly

Mehr

Verteilte Systeme: KE 4

Verteilte Systeme: KE 4 Verteilte Systeme: KE 4 Sicherheit und Verschlüsselung Ziele der Kryptographie Verschiebechiffre Substitutionschiffre Vigenere Permutationschiffre Stromchiffren DES RSA Sichere Kanäle, digitale Signaturen

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

Elliptische Kurven und ihre Anwendungen in der Kryptographie

Elliptische Kurven und ihre Anwendungen in der Kryptographie Elliptische Kurven und ihre Anwendungen in der Kryptographie Heiko Knospe Fachhochschule Köln heiko.knospe@fh-koeln.de 29. März 2014 1 / 25 Weierstraß-Gleichung Elliptische Kurven sind nicht-singuläre

Mehr

ESecuremail Die einfache Email verschlüsselung

ESecuremail Die einfache Email verschlüsselung Wie Sie derzeit den Medien entnehmen können, erfassen und speichern die Geheimdienste aller Länder Emails ab, egal ob Sie verdächtig sind oder nicht. Die Inhalte von EMails werden dabei an Knotenpunkten

Mehr

Proseminar : Allgegenwärtiges Rechnen. Vortrag über Sicherheit. Christian Fricke cfricke@rz.uni-potsdam.de

Proseminar : Allgegenwärtiges Rechnen. Vortrag über Sicherheit. Christian Fricke cfricke@rz.uni-potsdam.de Proseminar : Allgegenwärtiges Rechnen Vortrag über Sicherheit Christian Fricke cfricke@rz.uni-potsdam.de 1 I. Einleitung : Sicherheitseigenschaften und Angriffsarten Definition 1: Unter Funktionssicherheit

Mehr

Teil II SYMMETRISCHE KRYPTOGRAPHIE

Teil II SYMMETRISCHE KRYPTOGRAPHIE Teil II SYMMETRISCHE KRYPTOGRAPHIE KAPITEL 4 EINFÜHRUNG In der Geschichte der Kryptographie gab es bis zur Entdeckung von Public-Key-Verfahren in den 1970er Jahren ausschliesslich symmetrische Verfahren.

Mehr

Kapitel 2 Kryptographische Grundlagen

Kapitel 2 Kryptographische Grundlagen Kapitel 2 Kryptographische Grundlagen 2.1 Kryptographische Verfahren Ziel: Grundlagen zu Krypto-Verfahren, Für Vertiefung: Kryptographie-Vorlesung Kryptographie: Lehre von den Methoden zur Ver- und Entschlüsselung

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

Public-Key-Kryptographie

Public-Key-Kryptographie Public-Key- mit dem RSA-Schema Andreas Meisel und Robert Mileski Institut für Informatik der Universität Potsdam Seminar und Datensicherheit WS 2006/2007 Inhaltsverzeichnis Geschichte der (1/3) 1900 v.

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

IT-Sicherheit - Sicherheit vernetzter Systeme -

IT-Sicherheit - Sicherheit vernetzter Systeme - IT-Sicherheit - Sicherheit vernetzter Systeme - Kapitel 5: Symmetrische Kryptosysteme Helmut Reiser, LRZ, WS 09/10 IT-Sicherheit 1 Inhalt Symmetrische Kryptosysteme Data Encryption Standard (DES) Advanced

Mehr

Kryptografie und Kryptoanalyse

Kryptografie und Kryptoanalyse Kryptografie und Kryptoanalyse Gruppenunterricht zum Thema: Kryptografie und Kryptoanalyse Fach: Informatik, Informationssicherheit Schultyp: Sekundarstufe II (Gymnasien, Berufsschulen) letzte Klassen,

Mehr

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Alexander Bobenko und Ivan Izmestiev Technische Universität Berlin 1 Hausaufgaben vom 12.09.2007 Zahlentheorie 1 Aufgabe 1.1 Berechne die (quadratischen)

Mehr

Denn es geht um ihr Geld:

Denn es geht um ihr Geld: Denn es geht um ihr Geld: [A]symmetrische Verschlüsselung, Hashing, Zertifikate, SSL/TLS Warum Verschlüsselung? Austausch sensibler Daten über das Netz: Adressen, Passwörter, Bankdaten, PINs,... Gefahr

Mehr

PKI (public key infrastructure)

PKI (public key infrastructure) PKI (public key infrastructure) am Fritz-Haber-Institut 11. Mai 2015, Bilder: Mehr Sicherheit durch PKI-Technologie, Network Training and Consulting Verschlüsselung allgemein Bei einer Übertragung von

Mehr

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine) Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Sommersemester 2010 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil. Jürgen

Mehr

Algorithmische Anwendungen

Algorithmische Anwendungen Fachhochschule Köln University of Applied Sciences Cologne Campus Gummersbach Algorithmische Anwendungen Symmetrische Verschlüsselung mit Blowfish-Algorithmus von Andrej Doumack MatrikelNr: 11032929 Gruppe:

Mehr

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

Das Kryptosystem von McEliece. auf der Basis von linearen Codes Das Kryptosystem von McEliece auf der Basis von linearen Codes Anforderungen Public-Key Kryptosysteme E e (m) = c Verschlüsselung D d (c) = m Entschlüsselung mit Schl. effizient effizient 2/25 Anforderungen

Mehr

CrypTool im Überblick

CrypTool im Überblick CrypTool im Überblick Martin Schütte 3. Juni 2012 Inhaltsverzeichnis I. Erste Schritte 2 1. Programm-Aufbau 2 2. Symmetrische Verschlüsselungen 2 3. Asymmetrische Verfahren 3 4. Hashfunktionen 3 5. Tools

Mehr

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner Adressübersetzung und Tunnelbildung Bastian Görstner Gliederung 1. NAT 1. Was ist ein NAT 2. Kategorisierung 2. VPN 1. Was heißt VPN 2. Varianten 3. Tunneling 4. Security Bastian Görstner 2 NAT = Network

Mehr

Verschlüsselung. Claus Bauer, Datenschutzbeauftragter. CERDAT GmbH

Verschlüsselung. Claus Bauer, Datenschutzbeauftragter. CERDAT GmbH Verschlüsselung Claus Bauer, Datenschutzbeauftragter CERDAT GmbH Inhaltsübersicht: Risiken für die Sicherheit von Kommunikation und die Freiheit sicher zu Kommunizieren Technische Grundlagen von Verschlüsselung

Mehr

Symmetrische und asymmetrische Verfahren der Kryptographie

Symmetrische und asymmetrische Verfahren der Kryptographie Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Seminar Algebra Symmetrische und asymmetrische Verfahren der Kryptographie Jens Kubieziel Die vorliegende

Mehr

Seminarvortrag Secure NFS

Seminarvortrag Secure NFS Seminarvortrag Secure NFS Michael Stilkerich michael.stilkerich@informatik.stud.uni-erlangen.de am 12. Mai 2003 Einleitung Das Network File System ist ein sehr eleganter Weg, gemeinsam genutzte Dateisysteme

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

Kryptographie II. Introduction to Modern Cryptography. Jonathan Katz & Yehuda Lindell

Kryptographie II. Introduction to Modern Cryptography. Jonathan Katz & Yehuda Lindell Kryptographie II Introduction to Modern Cryptography Jonathan Katz & Yehuda Lindell Universität zu Köln, WS 13/14 Medienkulturwissenschaft / Medieninformatik AM2: Humanities Computer Science Aktuelle Probleme

Mehr

Exkurs Kryptographie

Exkurs Kryptographie Exkurs Kryptographie Am Anfang Konventionelle Krytographie Julius Cäsar mißtraute seinen Boten Ersetzen der Buchstaben einer Nachricht durch den dritten folgenden im Alphabet z. B. ABCDEFGHIJKLMNOPQRSTUVWXYZ

Mehr

SSL-Protokoll und Internet-Sicherheit

SSL-Protokoll und Internet-Sicherheit SSL-Protokoll und Internet-Sicherheit Christina Bräutigam Universität Dortmund 5. Dezember 2005 Übersicht 1 Einleitung 2 Allgemeines zu SSL 3 Einbindung in TCP/IP 4 SSL 3.0-Sicherheitsschicht über TCP

Mehr

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? (zb wenn die Multiplikation mit Hilfe einer Tabelle gegeben ist) Wie kann man beweisen, dass (H, )

Mehr

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security

Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. IT-Security Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 IT-Security Teil 2: Grundlagen der Kryptographie DES, RSA, Hashes Dr. Erwin Hoffmann E-Mail: it-security@fehcom.de Risiken bei ungesicherter

Mehr

Verschlüsselungs. sselungs- verfahren. Mario Leimgruber. AMREIN EN GIN EERIN G Messaging & Gr oupwar e Solutions

Verschlüsselungs. sselungs- verfahren. Mario Leimgruber. AMREIN EN GIN EERIN G Messaging & Gr oupwar e Solutions Verschlüsselungs sselungs- verfahren Mario Leimgruber AMREIN EN GIN EERIN G Messaging & Gr oupwar e Solutions Varianten - Symetrisches Verfahren - Asymetrische Verfahren - Hybrid Verfahren Symmetrische

Mehr

Vorlesung Kryptographie

Vorlesung Kryptographie Vorlesung Kryptographie Teil 2 Dr. Jan Vorbrüggen Übersicht Teil 1 (Nicht-) Ziele Steganographie vs. Kryptographie Historie Annahmen Diffie-Hellman Angriffe Teil 2 Symmetrische Verfahren Asymmetrische

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 12

Mehr

SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY. Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr.

SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY. Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr. SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY 1 Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr. Bernd Borchert GLIEDERUNG 1. Motivation Gründe für die Entwicklung Ideen für

Mehr

Stammtisch 04.12.2008. Zertifikate

Stammtisch 04.12.2008. Zertifikate Stammtisch Zertifikate Ein Zertifikat ist eine Zusicherung / Bestätigung / Beglaubigung eines Sachverhalts durch eine Institution in einem definierten formalen Rahmen 1 Zertifikate? 2 Digitale X.509 Zertifikate

Mehr

IT-Sicherheit Zusammenfassung

IT-Sicherheit Zusammenfassung IT-Sicherheit Zusammenfassung Kajetan Weiß 8. Februar 2014 Vorwort Schön, dass Du Dich entschieden hast mit dieser Arbeit zu lernen. Vorweg möchte ich raten nicht nur die Lektüre zu lesen sondern zum besseren

Mehr

1. WAS IST SSL. 1.1. Protokollaufbau: Stefan Peer 2001-04-17

1. WAS IST SSL. 1.1. Protokollaufbau: Stefan Peer 2001-04-17 1. WAS IST SSL SSL (Secure Socket Layer) ist ein Übertragungsprotokoll, das verschlüsselte Verbindungen über Transportprotokolle wie zum Beispiel TCP/IP ermöglicht. Der Vorteil von SSL liegt vor allem

Mehr