<<

Kryptographie 1 [Krypto1]

Autoren: Christof Paar Jan Pelzl

Ruhr - Universität Bochum

Kryptographie 1 [Krypto1]

Studienbrief 1: Einführung Studienbrief 2: Stromchiffren Studienbrief 3: Der Data Standard (DES) und Al- ternativen Studienbrief 4: Der Advanced Encryption Standard (AES) Studienbrief 5: Blockchiffren

Autoren: Christof Paar Jan Pelzl

1. Auflage

Ruhr - Universität Bochum © 2017 Christof Paar Ruhr - Universität Bochum Universitätsstraße 150 44801 Bochum

1. Auflage (20. September 2017)

Didaktische und redaktionelle Bearbeitung: Florian Giesen

Das Werk einschließlich seiner Teile ist urheberrechtlich geschützt. Jede Ver- wendung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung der Verfasser unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspei- cherung und Verarbeitung in elektronischen Systemen.

Um die Lesbarkeit zu vereinfachen, wird auf die zusätzliche Formulierung der weiblichen Form bei Personenbezeichnungen verzichtet. Wir weisen des- halb darauf hin, dass die Verwendung der männlichen Form explizit als geschlechtsunabhängig verstanden werden soll. Inhaltsverzeichnis Seite3

Inhaltsverzeichnis

Einleitung zu den Studienbriefen 4 I. Abkürzungen der Randsymbole und Farbkodierungen ...... 4 II. Zu den Autoren ...... 5 III. Modullehrziele ...... 6

Studienbrief 1 Einführung 7 1.1 Lernziele ...... 7 1.2 Advanced Organizer ...... 7 1.3 Grundprinzipien und Substitutionschiffren ...... 7 1.4 Historische Kryptographie und modulare Mathematik ...... 9

Studienbrief 2 Stromchiffren 13 2.1 Lernziele ...... 13 2.2 Advanced Organizer ...... 13 2.3 Stromchiffren und das One-Time-Pad ...... 13 2.4 Shift Register und Stromchiffren ...... 15

Studienbrief 3 Der (DES) und Alternativen 17 3.1 Lernziele ...... 17 3.2 Advanced Organizer ...... 17 3.3 Der Data Encryption Standard (DES) ...... 17

Studienbrief 4 Der Advanced Encryption Standard (AES) 21 4.1 Lernziele ...... 21 4.2 Advanced Organizer ...... 21 4.3 Endliche Körper ...... 21 4.4 Der Advaced Encryption Standard ...... 22

Studienbrief 5 Blockchiffren 25 5.1 Lernziele ...... 25 5.2 Advanced Organizer ...... 25 5.3 Betriebsmodi von Blockchiffren ...... 25 5.4 -Whitening und Mehrfachverschlüsselung ...... 27

Verzeichnisse 29 I. Exkurse ...... 29 II. Kontrollaufgaben ...... 29 III. Tabellen ...... 29

Anhang 31 Seite4 Einleitung zu den Studienbriefen

Einleitung zu den Studienbriefen

I. Abkürzungen der Randsymbole und Farbkodierungen

Exkurs E

Kontrollaufgabe K

Übung Ü Zu den Autoren Seite5

II. Zu den Autoren

Christof Paar ist Inhaber des Lehrstuhls Embedded Security an der Ruhr- Universität Bochum und ist außerplanmäßiger Professor an der University of Massachusetts at Amherst, USA. Er arbeitet seit 1995 im Bereich der angewandten Kryptographie. Dr. Paar lehrt seit über 15 Jahren an Universitäten, sowohl in Europa, als auch in den USA, zu Themen der Kryptographie und Datensicherheit. Darüber hinaus gibt er Kurse für Teilnehmer aus der Industrie, u.a. für Motorola Research, die NASA und Philips Research. Dr. Paar hat mehr als 150 Publikationen im Bereich der angewandten Kryptographie und ist Mitgründer des Workshop on Cryptographic Hardware and Embedded Systems (CHES).

Jan Pelzl hat in angewandter Kryptologie promoviert und ist Hauptgeschäftsfüh- rer der ESCRYPT - Embedded Sedurity, einer führenden Firma im Bereich der Sicherheitsbereatung. Er hat erfolgreich zahlreiche nationale und internationale Industrieprojekte geleitet und tiefgehende Kenntnisse über Sicherheitsbedürfnisse in echten Systemen. Dr. Pelzl hat praktische Aspekte der Kryptographie und Kryptanalyses von ellipti- schen Kurven erforscht. Seine theoretischen und praktischen Ergebnisse hat er auf/ in international führenden Konferenzen/ Zeitschriften veröffentlicht. Dr. Pelzl hat viele Jahre Kurse über Kryptographie und IT-Sicherheit in Industriekreisen gehalten. Seite6 Einleitung zu den Studienbriefen

III. Modullehrziele Kryptographie ist heutzutage allgegenwärtig - während sie lange Zeit nur von Regierungen, Geheimdiensten und Banken verwendet wurde, werden kryptografische Techniken mittlerweile u.a. in Web-Browsern, E- Mail Programmen, Handys, industriellen Produktionssystemen, eingebetteter Software, Autos und sogar in medizinischen Implantaten verwendet. Daher benötigen EntwicklerInnen heutzutage umfassendes Wissen im Bereich der angewandten Kryptographie.

Ziel dieses Moduls ist es, der Leserin ein solches Wissen zu vermitteln. Nach einer Einführung in das Thema der Kryptographie und Datensicherheit, werden die wichtigsten Techniken der modernen symmetrischen Kryptographie behandelt. Diese umfassen insbesondere Stromchiffren, den Data Encryption Standard (DES), sowie den Advanced Encryption Standard (AES) und Message Authentication Codes (MACs). Nach erfolgreichem Abschluss dieses Moduls hat die Leserin grundlegende theoretische Kenntnisse in obigen Bereichen erlangt. Darüber hinaus werden Probleme erörtert, die sich im Zusammenhang der praktischen Implementierung der Verfahren ergeben, etwa die Wahl der Sicherheitsparameter.

Das Modul ist physisch in zwei Teile geteilt. Der Inhalt des Moduls ist im Buch “Understanding ” von Paar und Pelzl nachzulesen, während Sie die Übungsaufgaben in diesen Studienbriefen finden. Es gibt sowohl theoretische, als auch praktische Übungsaufgaben. Für die Bearbeitung vieler praktischen Aufgaben empfiehlt sich die Verwendung der Lernsoftware Cryptool, die sie über http://www.cryptool-online.org/ kostenlos erhalten können. Aufgabe, die mit Cryptool zu lösen sind, sind entsprechend gekennzeichnet. Studienbrief 1 Einführung Seite7

Studienbrief 1 Einführung

Die Grundlage dieses Studienbriefes ist der Inhalt des ersten Kapitels „Intro- duction to Cryptography and Data Security“ aus dem Buch Understanding Cryptography von Christof Paar und Jan Pelzel ?. Auf der Website zum Buch www.crypto-textbook.com finden Sie einen englischsprachigen Foliensatz zum Buchkapitel sowie nützliche Hinweise und Links zu weiterführender Literatur. Videomitschnitte von den Vorlesungen zu den hier behandelten Themen werden an den jeweils relevanten Stellen im Studienbrief verlinkt.

1.1 Lernziele Sie haben einen ersten Einblick in die historische Entwickelung der Kryptogra- phie. Sie kennen die Definition von Sicherheit. Sie können mit der modularen Mathematik rechnen und verstehen den Zusammenhang von Kryptographie und Mathematik.

1.2 Advanced Organizer Mit diesem Studienbrief geben wir eine Einführung in die moderne Kryptographie. Wir beginnen jedoch mit den historischen Wurzeln der Kryptographie und nutzen die ersten kryptographischen Verfahren als Beispiel um die modulare Mathematik aus einem neuen Blickwinkel zu verstehen und zu vertiefen.

1.3 Grundprinzipien und Substitutionschiffren Lesen Sie die Abschnitte 1.1, 1.2 und 1.3 des ersten Kapitels aus dem Buch Un- derstanding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/KVL01.html de http://www3.crypto.rub.de/VL2010/Kry_01.html en

Übung 1.1: Substitutionchiffren Ü Der nachfolgende Text ist mit einer Substitutionschiffre verschlüsselt worden. Ziel dieser Aufgabe ist es, den Klartext wiederzugewinnen, d.h. das Chiffrat zu entschlüsseln.

1. Geben Sie die relative Häufigkeit der Buchstaben A bis Z des Chiffrates an. 2. Entschlüsseln Sie den Text mit Hilfe der in Tabelle 1.3 angegebe- nen Häufigkeitsverteilung (Prozentangaben) der deutschen Sprache. Da der Text recht kurz ist, kann die allgemeine Häufigkeitsvertei- lung nicht 100% übernommen werden. Umlaute sind als in der Form UE, AE und OE dargestellt, ß ist ein eigener Buchstabe. Die Häufig- keitsverteilungen für andere Sprachen finden sie z.B. bei Wikipedia: http://de.wikipedia.org/wiki/Buchstabenhäufigkeit. 3. Geben Sie die verwendete Substitutionstabelle an. 4. Aus welchem Buch stammt der Text? Wie heißt der Autor? (Wenn nötig recherchieren Sie im .) Seite8 Studienbrief 1 Einführung

SGFP GTPHGQTP FT OGT ZTGQHNQXßCPGT GFTNGOGT GFTGX PNPDV DZX OGQ YNOG IGJNYYGTGT DZXVDGZHGQX OGX SGXPVFßCGT XUFQDVDQYX OGQ IDVDMFX VGZßCPGP ZTRGDßCPGP GFTG JVGFTG IGVRG XNTTG. ZY XFG JQGFXP FT GFTGQ GTPHGQTZTI ENT ZTIGHDGCQ DßCPZTOTGZTKFI YFVVFNTGT YGFVGT GFT DRXNVZP ZTRGOGZPGTOGQ, RVDZIQZGTGQ UVDTGP, OGXXGT ENY DHHGT DRXPDYYGTOGT RFNHNQYGT XN GQXPDZTVFßC UQFYFPFE XFTO, ODA XFG OFIFPDVZCQGT TNßC FYYGQ HZGQ GFTG ZTSDCQXßCGFTVFßC PNVVG GQHFTOZTI CDVPGT. OFGXGQ UVDTGP CDP - NOGQ RGXXGQ IGXDIP, CDPPG - GFT UQNRVGY. OFG YGFXPGT XGFTGQ RGSNCTGQ SDQGT HDXP FYYGQ ZTIVZGßJVFßC. KZQ VNGXZTI OFGXGX UQNRVGYX SZQOGT EFGVG ENQXßCVDGIG IGYDßCP, DRGQ OFG OQGCPGT XFßC YGFXP ZY ODX CFT ZTO CGQ JVGFTGQ RGOQZßJPGQ UDUFGQXßCGFTßCGT, ZTO ODX FXP GFTHDßC OQNVVFI, SGFV GX FY IQNAGT ZTO IDTKGT BD TFßCP OFG JVGFTGT RGOQZßJPGT UDUFGQXßCGFTßCGT SDQGT, OFG XFßC ZTIVZGßJVFßC HZGCVPGT. ZTO XN RVFGR ODX UQNRVGY RGXPGCGT. EFGVGT VGZPGT IFTI GX XßCVGßCP, OGT YGFXPGT XNIDQ YFXGQDRGV, XGVRXP OGTGT YFP OFIFPDVZCQGT. EFGVG JDYGT DVVYDGCVFßC KZ OGQ ZGRGQKGZIZTI, GFTGT IQNAGT HGCVGQ IGYDßCP KZ CDRGT, DVX XFG ENT OGT RDGZYGT CGQZTPGQIGJNYYGT SDQGT. ZTO GFTFIG XDIPGT, XßCNT OFG RDGZYG XGFGT GFT CNVKSGI IGSGXGT, OFG NKGDTG CDGPPG YDT TFGYDVX EGQVDXXGT OZGQHGT. ZTO GFTGX ONTGQXPDIX ODTT, HDXP KSGFPDZXGTO BDCQG, TDßCOGY GFT YDTT DT GFTGT RDZYXPDYY IGTDIGVP SNQOGT SDQ, SGFV GQ IGXDIP CDPPG, SFG UCDTPDXPFXßC GQ XFßC ODX ENQXPGVVG, SGTT OFG VGZPG KZQ DRSGßCXVZTI YDV TGPP KZGFTDTOGQ SDGQGT, JDY GFT YDGOßCGT, ODX IDTK DVVGFT FT GFTGY ßDHE FT QFßJYDTXSNQPC XDA, UVNGPKVFßC DZH OGT PQFßCPGQ, SDX OFG IDTKG KGFP XN XßCFGHIGVDZHGT SDQ, ZTO XFG SZAPG GTOVFßC, SFG OFG SGVP IZP ZTO IVZGßJVFßC SGQOGT JNGTTPG. OFGXYDV CDPPG XFG XFßC TFßCP IGPDGZXßCP, GX SZGQOG HZTJPFNTFGQGT, ZTO TFGYDTO SZGQOG ODHZGQ DT FQIGTOSDX IGTDIGVP SGQOGT. TZQ RQDßC PQDZQFIGQSGFXG, GCG XFG DTX PGVGHNT IGCGT ZTO BGYDTOGY ODENT GQKDGCVGT JNTTPG, GFTG HZQßCPRDQ OZYYG JDPDXPQNUCG CGQGFT, ZTO FCQG FOGG IFTI HZGQ FYYGQ EGQVNQGT...

Tabelle 1.1: Vertei- Buchstabe Häufigkeit Buchstabe Häufigkeit Buchstabe Häufigkeit lung der Buchstaben A 6.51 J 0.27 S 7.27 in deutschen Texten B 1.89 K 1.21 T 6.15 C 3.06 L 3.44 U 4.35 D 5.08 M 2.53 V 0.67 E 17.40 N 9.78 W 1.89 F 1.66 O 2.51 X 0.03 G 3.01 P 0.79 Y 0.04 H 4.76 Q 0.02 Z 1.13 I 7.55 R 7.00 ß 0.31

Kontrollaufgabe 1.1 K Erläutern Sie das Konzept eines sogenannten „Brute-force Attacks“.

Kontrollaufgabe 1.2 K Erläutern Sie das Kerkhoff’sche Prinzip. 1.4 Historische Kryptographie und modulare Mathematik Seite9

1.4 Historische Kryptographie und modulare Mathematik Lesen Sie die Abschnitte 1.4, 1.5 und 1.6 des ersten Kapitels aus dem Buch Un- derstanding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/KVL02.html de http://www3.crypto.rub.de/VL2010/Kry_02.html en

Übung 1.2: Kongruenzen 1. Bestimmen Sie folgenden Kongruenzen mit dem Modulus m = 29 Ü ohne Taschenrechner. Die Ergebnisse müssen im Bereich 0,1,...,m−1 liegen: a) 13 · 24 mod 29 b) 17 · 1337 mod 29 c) 69 · 31 mod 29 d) (−36) · (−28) mod 29 e) 231 · (−51) mod 29 2. Beschreiben Sie kurz den Zusammenhang zwischen den einzelnen vorherigen Rechnungen. 3. Bestimmen Sie jeweils ohne Taschenrechner: a) 3−1 mod 29 b) 2 · 6−1 mod 23 c) 7 · 3−1 · 4 · 9−1 mod 13

Übung 1.3: Reading Assignment Ü Lesen Sie den Artikel “Why cryptography is harder than it looks” von Bruce Schneier. Der Artikel ist dem Studienbrief angehängt und/oder steht auf der Onlineplattform zum Modul bereit. (Der Inhalt dieses Textes ist Prüfungsrelevant!)

Beantworten Sie stichpunktartig die folgenden Fragen:

1. Warum stehen die Wetten besser für den Angreifer als für den Sicher- heitsarchitekten? 2. Bis zu welchem Punkt können Sicherheitsziele durch Kryptographie geschützt werden? 3. Wo liegt das Problem, wenn man feststellen möchte ob ein System sicher ist? 4. Warum reicht es nicht ein sicheres kryptographisches System zu entwickeln? Was muss noch berücksichtigt werden, damit Dieses System, Daten und Resourcen schützen kann? 5. Warum ist die Marketing-Politik bei entdeckten Sicherheitslücken in kryptographischen Anwendungen nicht detailiert über diese zu informieren problematisch? Seite 10 Studienbrief 1 Einführung

6. Was sollte laut Schneier getan werden um kryptographische Anwen- dungen zukunftssicher zu machen?

Übung 1.4: Schiebeverschlüsselung Ü Ein alternatives Verfahren zur Substitionschiffre ist die Shift-Verschlüsselung (auch bekannt als Schiebechiffre). Hier wird allerdings anstatt einer belie- bigen Zuordnung für jeden Buchstaben (z.B. A 7→ T,B 7→ X,C 7→ F,...) le- diglich eine Verschiebung des gesamten Alphabets um einen geheimen Offset (Verschiebungswert) vorgenommen. So wird z.B. für den Offset k = 5 eine Verschiebung des Alphabets um 5 Zeichen durchgeführt, z.B. A 7→ F,B 7→ G,C 7→ H,... und mit dieser Abbildung der Klartext kodiert.

1. Gehen Sie davon aus, dass Ihnen das Alphabet Σ = {A,B,C,...,Z} für Klartext und Chiffrat zu Verfügung steht. Wenn Sie eine Shift- Verschlüsselung mit dem Offset k = 10 durchführen, wie müssen Sie sinnvoll die Buchstaben Q,...,Z aus dem Klartext belegen? 2. Verschlüsseln Sie das Wort “Datensicherheit” mit der Shift- Verschlüsselung und dem geheimen Offset k = 10. 3. Wenn Sie die Sicherheit der Shift- und der Substitionschiffre bezüglich statistischen Angriffen vergleichen, ist die Shift-Chiffre sicherer? (5 Pkt.) 4. Wenn Sie den Offset für jedes Klartextzeichen von einem beliebi- gen Startpunkt an inkrementieren (jeweils um eins erhöhen), wird dadurch die Sicherheit des Verfahrens gegen statistische Angriffe erhöht? Hinweis: Zum besseren Verständnis des Verfahrens sei folgendes Beispiel gegeben:

Klartext: i n t e r n e t Offset: 1 2 3 4 5 6 7 8 Geheimtext: J P W I W T L B

Übung 1.5: Mehrfache Verschlüsselung 1 Ü Eine beliebte Methode, um die Sicherheit von symmetrischen Algorithmen zu vergrößern, beruht auf der Idee, denselben Algorithmus mehrfach anzu- wenden: y = ek2(ek1(x))

1. Zeigen Sie an einem einfachen Beispiel, dass eine Mehrfachverschlüs- selung mit einer Rotationschiffre keinen Sicherheitsgewinn bringt. 2. Zeigen Sie an einem einfachen Beispiel, dass eine Mehrfachverschlüs- selung mit einer Permutationschiffre keinen Sicherheitsgewinn bringt.

Übung 1.6: Mehrfache Verschlüsselung 2 Ü Wir haben in der vorherigen Übung bereits gesehen, dass die Mehrfachan- 1.4 Historische Kryptographie und modulare Mathematik Seite 11

wendung der Permutationschiffre keinen Sicherheitsgewinn bringt. In dieser Aufgabe werden wir zeigen, dass Doppel-Verschlüsselung von affinen Chif- fren ebenfalls nicht sicherer ist als die einfache Verschlüsselung.

Angenommen wir haben zwei affine Chiffren ek1 = a1x + b1 und ek2 = a2x + b2.

1. Zeigen Sie, dass es eine affine Chiffre ek3 = a3x + b3 gibt, die genau dieselbe Verschlüsselung (und Entschlüsselung) wie die Kombination ek2(ek1(x)) erzeugt. (10 Pkt.)

2. Bestimmen Sie a3,b3 mit a1 = 7,b1 = 13 and a2 = 18,b2 = 9 mit Modu- lus 23. 3. Beschreiben Sie kurz was passiert, wenn Sie eine Brute-Force Attacke gegen die Zweifach-Verschlüsselung der affinen Chiffre anwenden. Hat sich der effektive Schlüsselraum vergrößert? Kennen Sie einen effektiveren Angriff auf die affine Chiffre, als einen Brute Force An- griff?

Bemerkung: Die Verwendung von Mehrfach-Verschlüsselung ist von großer praktischer Bedeutung. Bei DES erhöht sich z.B. die Sicherheit, wenn wir dieses mehrfach hintereinander anwenden — wir werden dieses Thema in ein paar Wochen in der Vorlesung behandeln.

Übung 1.7: Affine Chiffre Ü Dechiffrieren Sie den folgenden Text:

fhhp://5v8.qtje/twjo_f9c8ni_whglhneotxegn

unter Benutzung der affinen Chiffre mit den Schlüsselwerten a = 11, b = 6 und dem Modulus 26. Hinweis: Ziffern und Satzzeichen wurde nicht verschlüsselt.

Studienbrief 2 Stromchiffren Seite 13

Studienbrief 2 Stromchiffren

Die Grundlage dieses Studienbriefes ist der Inhalt des zweiten Kapitels „Stream Ciphers“ aus dem Buch Understanding Cryptography von Christof Paar und Jan Pelzel ?. Auf der Website zum Buch www.crypto-textbook.com finden Sie einen englischsprachigen Foliensatz zum Buchkapitel sowie nützliche Hinweise und Links zu weiterführender Literatur. Videomitschnitte von den Vorlesungen zu den hier behandelten Themen werden an den jeweils relevanten Stellen im Studienbrief verlinkt.

2.1 Lernziele Sie verstehen die Funktionsweise des One-Time Pads. Sie können eigenständig Ver- und Entschlüsselungen von Dateien durchführen. Sie verstehen „Known-Plaintext“ Angriffe. Sie Beherrschen den Umgang mit linearen Feedback Shiftregistern und wissen, wie diese im Alltag eingesetzt werden.

2.2 Advanced Organizer In dem vorliegenden Studienbrief befassen wir uns mit Stromchiffren. Im ersten Teil des Studienbriefes besprechen wir die Grundlagen von Stromchiffren und ihrer Abgrenzung von Blockchiffren, welche wir in den folgenden Studienbriefen näher betrachten. Den zweiten Teil widmen wir den Zufallszahlen und ihrer Berechnung, sowie der perfekt sicheren Verschlüsselung mit einem so genannten „One-Time Pad“. Wir schließen den Studienbrief mit der Behandlung von Shift Register basier- ten Stromchiffren, welche einen wichtigen Bestandteil der heutzutage eingesetzten Verschlüsselungsverfahren bilden.

2.3 Stromchiffren und das One-Time-Pad Lesen Sie die Abschnitte 2.1 und 2.2 des zweiten Kapitels aus dem Buch Understan- ding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_03.html de http://www3.crypto.rub.de/VL2010/Kry_03.html en

Übung 2.1: One-Time Pad Sicherheit Ü Auf den ersten Blick scheint es, als ob eine brute-force Attacke (vollständige Schlüsselsuche) gegen das One-time Pad möglich ist. Das ist ein Paradoxon, da wir wissen, dass das OTP uneingeschränkt sicher ist. Beschreiben Sie kurz (maximal 3 Sätze), warum die brute-force Attacke nicht durchführbar ist.

Anmerkung: Sie müssen das Paradoxon lösen, d.h. eine Antwort ”Der OTP ist uneingeschränkt sicher und deshalb ist eine brute force Attacke nicht durchführbar” ist nicht ausreichend! Seite 14 Studienbrief 2 Stromchiffren

Übung 2.2: One-Time Pad Rechenaufgabe Ü Das One-Time Pad (OTP) wurde in der Vorlesung zur Verschlüsselung des binären Alphabets (Σ ∈ {0,1}) eingeführt. Hiermit können Daten von beliebiger Länge bitweise verschlüsselt werden.

Entschlüsseln Sie den folgenden : 18 03 07 1e 04 4c 28 1d 0c 01 54 09 49 27 0a 53 17 06 1b 19 5a welcher mit dem OTP Schlüssel: 48 6f 72 73 74 20 47 6f 65 72 74 7a 20 49 6e 73 74 69 74 75 74 verschlüsselt worden ist. Die Entschlüsselung ist von Hand durchzuführen (Klausurbedingungen). Verwenden Sie eine ASCII-Zeichensatz-Tabelle, um den Klartext und den Schlüssel wiederzugewinnen (Klausurbedingungen: von Hand).

Übung 2.3: One-time Pad Angriff bei sich wiederholendem Schlüssel Ü Sie haben bislang einige Verschlüsselungsübungen bereits per Hand erledigt. Im Übungsordner befindet sich eine verschlüsselte JPG Datei boardingpass.jpg.hex. Zudem wird das Programm “CrypTool”(aktuell 1.4.30) benötigt, welches Sie sich kostenlos herunterladen können. (Leider nur für MS Windows verfügbar. UNIX/Linux Benutzer mögen bitte Emula- toren benutzen, um das Programm zu nutzen.

Joe ist verschwunden. Sein letztes Lebenszeichen ist ein Online-Ticket auf seinem Rechner, welches leider verschlüsselt abgelegt wurde. Anhand des Dateinamens konnten erkennen, dass es sich bei dem Chifrat um eine JPG Datei handelt. In diesem Format übermittelt nur eine Airline ihre Tickets. Von dieser erfahren Sie, dass das Ticket zur Übertragung mit einem sich wiederholenden Schlüsselstring XOR verknüpft wurde. Dieser String ist allerdings bei jeder Übertragung zufällig und nicht mehr bekannt.

1. Öffnen sie willkürlich einige Dateien im JPG Format mit dem Cryp- Tool, und schauen sie sich jeweils den Anfang der Datei an. Beschrei- ben Sie, was alle Dateien gemeinsam haben. 2. Der Schlüssel zur Verschlüsselung der o.g. Datei hat eine Länge von sechs Zeichen. Wie lautet er (HEX Darstellung)? 3. Nutzen Sie dieses Wissen um mit Hilfe des CrypTools die Datei zu dechiffrieren (entschl..symmetrisch..klassisch..XOR). Wohin ging Joes letzte bekannte Reise ? Wie lautet die Flugnr. ? Mit welcher Flugge- sellschaft war er unterwegs?

Exkurs 2.1 E Historische Bemerkung: Es wird berichtet, dass das Ehepaar Rosenberg in den 50er Jahren eine solche Verschlüsselung verwendete, um der UDSSR Wissen über den Bau der Atombombe zukommen zu lassen. Da sie auf dem elektrischen Stuhl endeten, können wir die Mehrfachverwendung eines OTP Schlüssels nicht uneingeschränkt empfehlen. 2.4 Shift Register und Stromchiffren Seite 15

2.4 Shift Register und Stromchiffren Lesen Sie den Abschnitte 2.3, 2.4 und 2.5 des zweiten Kapitels aus dem Buch Understanding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_07.html de http://www3.crypto.rub.de/VL2010/Kry_04.html en

Übung 2.4: Known-Plaintext Attacke gegen LFSR-Stromchiffre Ü Wir führen eine Known-Plaintext Attacke gegen eine Stromchiffre durch, die auf LFSRs basiert. Wir wissen, dass der Klartext wie folgt ausgesehen hat:

1010 1010 1010 0101 0101 0101 1001

Auf dem Kommunikationskanal haben wir die folgende Bitfolge abgehört:

0000 1101 1110 1011 1100 1000 1010

1. Was ist der Grad m des Generators der Stromchiffrierung? Gehen Sie von einem LFSR mit maximaler Periodenlänge aus.

2. Was ist der Initialisierungsvektor (z0−2)?

3. Bestimmen Sie die Rückkopplungskoeffizienten (C0−2) des LFSRs.

Übung 2.5: Periode eines LFSR Ü Es gibt drei verschiedene Typen von LFSRs:

• LFSRs, die eine Sequenz mit maximaler Länge erzeugen. Diesen LFSRs liegen primitive Polynome zu Grunde. • LFSRs, die keine Sequenz maximaler Länge erzeugen, aber bei denen die Länge unabhängig von dem Initialisierungsvektor ist. Diesen LFSRs liegen irreduzible Polynome zu Grunde, die allerdings nicht primitiv sind. Anmerkung: Alle primitiven Polynome sind irreduzibel. • LFSRs, die keine Sequenz maximaler Länge erzeugen und bei de- nen die Sequenzlänge von dem Initialisierungsvektor der Register abhängt. Diesen LFSRs liegen reduzible Polynome zu Grunde.

Auch wenn Sie vermutlich noch nicht wissen, was ein primitives oder irre- duzibles Polynom ist, können Sie anhand der obigen Aussage das Polynom eines LFSRs einem der drei Fälle zuordnen. Wir werden jetzt einige Beispiele betrachten. Finden Sie alle Sequenzen die durch die folgenden Polynome erzeugt werden. Zeichnen Sie zunächst das Schaltbild für jedes Schiebe- register. Beachten Sie, dass Sie u.U. verschiedene Initialsierungsvektoren benutzen müssen, um alle Sequenzen zu erzeugen:

1. x4 + x2 + 1 3. x4 + x + 1 2. x4 + x3 + x2 + x + 1 Seite 16 Studienbrief 2 Stromchiffren

Übung 2.6: Die A5/1 Stromchiffre im Handy Ü In Europa werden die Sprachdaten einer Kommunikation mit einem GSM- Handy mit Hilfe der A5/1 Stromchiffre verschlüsselt. Die Stromchiffre be- steht aus drei parallel geschalteten LFSRs der Länge 19, 22 und 23, deren Ausgänge mit einem XOR am Ende verschaltet werden. Das Blockschaltbild und die Rückkopplungen des A5/1 sind in folgender Darstellung (Quelle: Wikipedia) abgebildet:

Um die A5/1 Stromchiffre überhaupt sicher zu machen, werden die drei LFSR nicht regelmäßig sondern nach dem Mehrheitsprinzip getaktet, d.h. in jedem der drei LFSR gibt es ein Taktregister (orange im Blockdiagramm gekennzeichnet), mit denen bestimmt wird, welche der drei LFSRs getaktet werden sollen. Beinhalten mindestens zwei Taktregister gleichzeitig eine Null, werden nur die LFSRs getaktet, die die Null im Taktregister haben. Falls andersherum mindestens zwei Taktregister aber eine logische Eins zeigen sollten, werden alle Register mit einer logischen Eins getaktet.

Beispiel: Taktregister 8 von LFSR 1 und Taktregister 10 von LFSR 2 sind Null und das Register 10 des LFSR 3 ist eine Eins. In diesem Fall werden nur LFSR 1 und 2 getaktet und LFSR 3 bleibt unverändert.

1. Wie viele Bits des Zustandsregisters muss ein Angreifer herausbe- kommen, um den A5/1 zu brechen (d.h. den vollständigen Schlüs- selstrom vorherzusagen)? Wie hoch wäre also der Aufwand für den Angreifer, wenn er den Zustand des A5/1 erraten müsste (wie viele Möglichkeiten gibt es, die es durchzuprobieren gilt)? 2. Berechnen Sie das aktuelle und die folgenden 8 Ausgabebits des A5/1 auf Basis der gegebenen LSFR-Zustände. Geben Sie für jede Runde die Inhalte der 3 LFSRs, die Taktbits und das Ausgabebit an. Kenn- zeichnen Sie die Taktbits und die für die Rückkopplung relevanten Bits. Nutzen Sie hierzu die angehängte Lösungsvorlage.

LFSR19 = (z18,...,z0) = (1100010010010100101)

LFSR22 = (z21,...,z0) = (1000101000011111000110)

LFSR23 = (z22,...,z0) = (11100101100100100100001) Studienbrief 3 Der Data Encryption Standard (DES) und Alternativen Seite 17

Studienbrief 3 Der Data Encryption Standard (DES) und Alternativen

Die Grundlage dieses Studienbriefes ist der Inhalt des dritten Kapitels „The Da- ta Encryption Standard (DES) and Alternatives“ aus dem Buch Understanding Cryptography von Christof Paar und Jan Pelzel ?. Auf der Website zum Buch www.crypto-textbook.com finden Sie einen englischsprachigen Foliensatz zum Buchkapitel sowie nützliche Hinweise und Links zu weiterführender Literatur. Videomitschnitte von den Vorlesungen zu den hier behandelten Themen werden an den jeweils relevanten Stellen im Studienbrief verlinkt.

3.1 Lernziele Sie verstehen den technischen Aufbau und die Funktionsweise des Data Encryption Standards DES. Sie können die internen Operationen nachvollziehen und verstehen den feinen Unterschied von Ver- und Entschlüsselung. Sie besitzen die Kompetenz, über die Sicherheit von DES zu urteilen.

3.2 Advanced Organizer Mit dem vorliegenden Studienbrief besprechen wir den „Der Data Encryption Standard“ (DES). Zu Beginn lernen Sie die Funktionsweise, der bei DES verwende- ten S-Boxen, kennen. Sie erlernen den Umgang mit den DES Permutationen, so dass sie genau verstehen, wie die interne Struktur des Standards funktioniert.

3.3 Der Data Encryption Standard (DES) Lesen Sie das dritte Kapitels aus dem Buch Understanding Cryptography ?. Ergän- zend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_06.html de http://www3.crypto.rub.de/VL2010/Kry_05.html en http://www3.crypto.rub.de/VL2010/Kry_06.html en

Übung 3.1: Bit-Lawineneffekte im DES Ü Für eine gute Blockchiffre ist es wünschenswert, daß bei der Veränderung eines Eingangsbits möglichst viele Ausgangsbits verändert werden (Dif- fusion oder Avalanche-Effekt). Im folgenden werden wir versuchen, die Diffusionseigenschaft von DES zu überprüfen. Wir verwenden hierzu eine Eingangsbitfolge, bei der das Bit an der Position 57 gleich Eins ist (x57 = 1) und alle anderen Bits gleich Null sind. Die 56 Schlüsselbits sind ebenfalls alle gleich Null. (Beachten Sie, daß die Eingangsbits als erstes die Eingangs- permutation IP durchlaufen!)

1. Auf welche S-Boxen wirkt sich dieses Bit in der ersten DES Runde aus bzw. wie sehen die Eingangsbits aller S-Boxen aus? Auswirkungen auf: (Ankreuzen) S1 S2 S3 S4 S5 S6 S7 S8 ~ ~ ~ ~ ~ ~ ~ ~ Eingangsbits: Seite 18 Studienbrief 3 Der Data Encryption Standard (DES) und Alternativen

S-Box 1 S-Box 2 S-Box 3

S-Box 4 S-Box 5 S-Box 6

S-Box 7 S-Box 8

2. Geben Sie das Ergebnis nach der ersten Runde an. (L1 und R1)

L1

R1

3. Ermitteln Sie das Ergebnis nach der ersten Runde für den Fall, daß alle Eingangsbits gleich Null sind (d.h. auch x57). Wie viele Bits haben sich in L1 und R1 im vergleich zu Aufgabenteil b) verändert?

L1

R1

Anzahl geänderter Bits:

Übung 3.2: Nichtlinearität der S-Boxen Ü Eine wichtige Eigenschaft des DES ist die Nichtlinearität der S-Boxen. In dieser Übungsaufgabe wollen wir diese Eigenschaft verifizieren, indem wir die Ausgangsbits für verschiedene Eingangsbits in einer S-Box Si vergleichen. Zeigen Sie, daß für S5 das folgende Entwurfkriterium gilt:

Si(x1) ⊕ Si(x2) 6= Si(x1 ⊕ x2).

Benutzen Sie die folgenden Eingangsbits:

1. x1 = 010100, x2 = 110001

2. x1 = 111111, x2 = 101000

3. x1 = 100001, x2 = 011110

Übung 3.3: Permutationen im DES Ü Wir möchten überprüfen, ob IP−1 die inverse Operation von IP ist. Wir betrachten den 64-bit Vektor x = (x1,x2,...,x64). Zeigen Sie für die Bits x8,x22 −1 und x58, dass IP (IP(xi)) = xi gilt. 3.3 Der Data Encryption Standard (DES) Seite 19

Übung 3.4: DES-Entschlüsselung Ü Ein Freund hat eine Nachricht für Sie mit dem DES verschlüsselt und hat Ihnen den zugehörigen Schlüssel auf einem kleinen Stück Papier in der Vorlesung zugesteckt. Da der Zettel von einer Ecke abgerissen wurde, ist leider die letzte Stelle des hexadezimalen 64-bit Schlüssels (=16 Hexzeichen) nicht vollständig lesbar. Erkennbar ist noch, dass das fehlende Symbol eine Zahl sein müsste.

1. Wie viele Möglichkeiten müssen Sie unter diesen Umständen im Durchschnitt und im schlimmsten Fall durchprobieren, um den kor- rekten Schlüssel durch Ausprobieren zu erraten? (Hinweis: DES ver- wendet 56-bit Schlüssel, aber es ist ein 64-bit Schlüssel angegeben. Die „überflüssigen“ Bit des 64-bit Schlüssels sind nicht willkürlich gewählt.) 2. Im Übungsordner befindet sich die Nachricht E-Mail_ciphertext.hex. Das Programm CrypTool finden Sie im Ordner zu Übung 3. Gegeben sei der Schlüssel B3 3A 89 2B A5 2B CC FX, wobei X nur bedingt les- bar war (siehe Hinweis weiter oben). Verwenden Sie die im CrypTool vorhandene DES-Entschlüsselung, um a) den korrekten Schlüsselkandidaten herauszufinden b) die Nachricht Ihres Freundes zu entschlüsseln. Hinweis: Beachten Sie, dass Sie die Entschlüsselung im ECB-Modus verwenden. Was sich hinter diesem Entschlüsselungsmodus verbirgt, werden Sie in den nächsten Vorlesungen kennenlernen.

Übung 3.5: Brute-Force Schlüsselsuche Ü Ein generischer Angriff auf Verschlüsselungsverfahren ist das systematische Durchsuchen des Schlüsselraumes, indem für einen bekannten Klartext jeder mögliche Schlüssel ausprobiert und mit dem abgehörten Chiffretext verglichen wird. Dieser Angriff ist auch als Brute-Force Angriff bekannt. Wie schnell der Angriff zum Erfolg führt, hängt im Einzelfall vom gewählten Schlüssel ab und an welcher Stelle er beim Durchsuchen probiert wird. Dennoch kann man allgemeine Aussagen über die Erfolgswahrscheinlichkeit des Angriffs bei Verschlüsselungsverfahren machen.

1. Gegeben sei ein Verschlüsselungsverfahren mit 56 Bit Schlüssellänge (DES). Wie viele Verschlüsselungen benötigt man für eine erfolgreiche Brute Force Attacke (I) im Durchschnitt und (II) im schlimmsten Fall, wenn der Schlüssel als allerletzes gefunden wird? 2. Sie haben einen günstigen Computer für 350 EUR mit einem Core i7 Prozessor und 4 · 3 GHz zu Verfügung. Dieser Rechner schafft 10 Mil- lionen DES-Verschlüsselungen bei 56 Bit Schlüssellänge pro Sekunde. Wie lange (Jahre und Tage bzw. Tage und Stunden) benötigt eine erfolg- reiche Brute-Force Attacke mit diesem Rechner im Durchschnitt? 3. Nehmen Sie an, sie haben insgesamt ein Budget von 17.500 EUR. Wenn Sie für dieses Geld Computer zu je 350 EUR kaufen, wie lange dauert dann eine parallele DES-Schlüsselsuche im Schnitt? 4. Ein Spezialcluster mit 180 parallel arbeitenden Hardwarebausteinen (FPGAs) ist ebenfalls für 17.500 EUR zu realisieren. Ein einzelner Seite 20 Studienbrief 3 Der Data Encryption Standard (DES) und Alternativen

Hardwarebaustein hat insgesamt 4 Rechenwerke, die jeweils 120 Mil- lionen DES-Verschlüsselungen pro Sekunde schaffen. Wie lange dau- ert es im Durchschnitt, bis dieser Cluster einen DES-Schlüssel mit einer Brute-Force Attacke erfolgreich knacken kann?

Übung 3.6: DES-Entschlüsselung Ü In der Vorlesung wurde gezeigt, dass sich die Entschlüsselung nur gering- fügig von der Verschlüsselung unterscheidet. Dies liegt an der besonderen Struktur, die nach dem Erfinder Horst Feistel benannt wurde.

1. Worin besteht der einzige Unterschied zwischen einer DES- Verschlüsselung und einer DES-Entschlüsselung? 2. Zeige, warum dieser einzige Unterschied ausreicht, um aus einer Ver- schlüsselung eine Entschlüsselung zu erzeugen. Hinweis: Ein guter Start für den Beweis ist die 16. Runde der Verschlüsselung.

Übung 3.7: DES Bitkomplement (Etwas kniffelige Aufgabe!) Ü DES hat eine erstaunliche Eigenschaft bezüglich des bitweisen Komplements der Eingangs- und Ausgangsbits. Wir werden diese Eigenschaft in diesem Problem behandeln.

Wir stellen das Komplement einer Zahl A (d.h. alle Bits dieser Zahl wer- den invertiert) mit A0 da. (Bsp.: Wenn A = 0110 ist, dann ist A0 = 1001.) “⊕“ entspricht dem bitweisen XOR. Wir wollen folgendes zeigen: Wenn

y = DESk(x)

dann gilt auch 0 0 y = DESk0 (x ). Das bedeutet, wenn wir das Komplement des Klartexts und des Schlüssels bilden, dann werden die Ausgangsbits auch das Komplement des orgina- len Geheimtexts sein. Ihre Aufgabe ist es diese Eigenschaft zu beweisen. (Tipp: versuchen Sie diese Eigenschaft allgemein für jede beliebige Runde zu beweisen, anstelle alle 16 Runden durchzurechnen!) Studienbrief 4 Der Advanced Encryption Standard (AES) Seite 21

Studienbrief 4 Der Advanced Encryption Standard (AES)

Die Grundlage dieses Studienbriefes ist der Inhalt des vierten Kapitels „The Da- ta Encryption Standard (DES) and Alternatives“ aus dem Buch Understanding Cryptography von Christof Paar und Jan Pelzel ?. Auf der Website zum Buch www.crypto-textbook.com finden Sie einen englischsprachigen Foliensatz zum Buchkapitel sowie nützliche Hinweise und Links zu weiterführender Literatur. Videomitschnitte von den Vorlesungen zu den hier behandelten Themen werden an den jeweils relevanten Stellen im Studienbrief verlinkt.

4.1 Lernziele Sie Können in endlichen Körpern rechnen. Sie verstehen die mathematischen Zusammenhänge von endlichen Körpern und modernen kryptographischen Ver- fahren. Als Beispiel für eine moderne Blockchiffre kennen Sie den „Advanced En- cryption Standard“ und wissen über die Funktion dieses Algorithmus Bescheid.

4.2 Advanced Organizer Im ersten teil dieses Studienbriefes geben wir eine knappe Einführung in die Mathematik von endlichen Körpern. Im zweiten Teil des Studienbriefes lernen wir die Struktur des „Advanced Encryption Standards“ (AES) kennen. An diesem konkreten Beispiel sehen wir, wie komplizierte mathematische Strukturen ihre Anwendung in der Kryptographie finden.

4.3 Endliche Körper Lesen Sie die Abschnitte 4.1 bis 4.3 des vierten Kapitels aus dem Buch Understan- ding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_04.html de http://www3.crypto.rub.de/VL2010/Kry_07.html en

Übung 4.1: Polynome im endlichen Körper Ü Gegeben sei das irreduzible Polynom P(x) = x4 + x + 1. Wieviele Polynome A(x) mit Elementen aus

1. GF(2) 2. GF(n)

existieren, für die gilt grad(A(x)) < grad(P(x)).

Übung 4.2: Addition in GF(24) Ü Berechnen Sie A(x) + B(x) mod P(x) in GF(24) mit dem irreduziblen Reduk- tionspolynom P(x) = x4 + x3 + 1.

1. A(x) = x3 + x2 + 1,B(x) = x3 + x + 1 Seite 22 Studienbrief 4 Der Advanced Encryption Standard (AES)

2. A(x) = x + 1,B(x) = x3 + x 3. A(x) = x3 + x2 + x + 1,B(x) = x3 + x 4. Welche Auswirkung hat die Wahl des Reduktionspolynoms auf die Berechnungsschritte (Max. 2 Sätze)?

Übung 4.3: Multiplikation in GF(24) Ü Berechnen Sie A(x) · B(x) mod P(x) in GF(24) mit dem irreduziblen Redukti- onspolynom P(x) = x4 + x3 + 1.

1. A(x) = x3 + x2 + 1,B(x) = x3 + x 2. A(x) = x + 1,B(x) = x3 + 1 3. A(x) = x3 + x2 + x + 1,B(x) = x3 + x2

Übung 4.4: Multiplikation in GF(34) Ü Berechnen Sie A(x) · B(x) mod P(x) in GF(34) mit dem irreduziblen Redukti- onspolynom P(x) = x4 + 2x + 2.

1. A(x) = 2x3 + x + 2,B(x) = x3 + 2x2 2. A(x) = x2 + 2,B(x) = x3 + 2x + 1

4.4 Der Advaced Encryption Standard Lesen Sie die Abschnitte 4.4 bis 4.8 des vierten Kapitels aus dem Buch Understan- ding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_05.htmlde http://www3.crypto.rub.de/VL2010/Kry_08.htmlen

Übung 4.5: Schlüsselableitung im AES Ü Jede Runde vom AES verwendet einen anderen Unterschlüssel, der vom Hauptschlüssel abgeleitet wird. In dieser Aufgabe wollen wir die Schlüs- selableitung im AES nachvollziehen. Oft werden die jeweiligen Teile des Schlüssels und Unterschlüssels in 32-Bit Worten Ki angegeben.

1. Gegeben Sei ein Hauptschlüssel (K0,K1,K2,K3), der nur aus Nul- len besteht. Bestimmen Sie den entprechenden Unterschlüssel (K4,K5,K6,K7) nach der ersten Runde der Schlüsselableitung. (Abga- be nur als Hexwerte)

2. Gegeben Sei ein Hauptschlüssel (K0,K1,K2,K3) = (0x00000001, 0x00000002,0x00000003,0x00000004). Bestimmen Sie erneut den Un- terschlüssel (K4,K5,K6,K7) nach der ersten Runde der Schlüsselablei- tung. 4.4 Der Advaced Encryption Standard Seite 23

Übung 4.6: AES MixColumn Operation Ü Die MixColumn-Transformation als Teil der Rundenfunktion des AES be- steht aus einer -Vektor-Multiplikation im Körper GF(28) über dem irreduziblen Polynom P(x) = x8 + x4 + x3 + x + 1. 7 Sei b = (b7x + ... + b0) eines der vier Eingabebytes der Matrix-Vektor- Multiplikation. Jedes Eingabebyte wird mit den Konstanten 01 = (1), 02 = (x), and 03 = (x+1) aus GF(28) multipliziert. Ihre Aufgabe ist es, die Glei- chungen für die Berechnung dieser konstanten Multiplikationen inklusive der dabei erforderlichen Reduktion aufzustellen. Das jeweilige Ergebnis soll 7 mit d = (d7x + ... + d0) bezeichnet werden.

1. Stellen Sie die Gleichungen für die Bits aus d auf, um d = 01·b effizient zu bestimmen. 2. Stellen Sie die Gleichungen für die Bits aus d auf, um d = 02·b effizient zu bestimmen. 3. Stellen Sie die Gleichungen für die Bits aus d auf, um d = 03·b effizient zu bestimmen.

Übung 4.7: Bit-Lawineneffekte im AES Ü Wie DES soll auch AES die Eigenschaft haben, dass die Veränderung eines Bits am Eingang einer Runde eine änderung möglichst vieler Ausgangsbits der Runde zur Folge haben (Diffusion oder Avalanche-Effekt). Die Diffusi- onseigenschaft des AES nach einer Runde soll in dieser Aufgabe überprüft werden. Gegeben sei die folgende 128-Bit AES-Eingabe in je 32 Bit Wor- ten W = (w0,w1,w2,w3) = (0x00000000,0x01000000,0x00000000,0x00000000) Der zur Berechnung der Ausgabe nach der ersten AES-Runde benötigte Unterschlüssel k0 ist mit

k0 = (0xDEADBEEF) (0xCAFEBABE) (0xDEADBEEF) (0xCAFEBABE)

gegeben. Sie können zur Lösung dieser Aufgabe auch Programme schreiben. Geben Sie aber unbedingt einzelne Zwischenschritte an!

1. Geben Sie die entsprechende Ausgabe zur Eingabe W nach der ersten Runde des AES an! Verwenden Sie dabei den gegebenen Unterschlüs- sel k0! Hinweise: Beachten Sie die Reihenfolge, in der die Bytes in den Algorithmus geschrieben werden (von oben nach unten und von links nach rechts). Zeigen Sie alle Zwischenergebnisse nach: Plaintext, KeyAddition, Substitution, ShiftRows, MixColumns und KeyAddition. Denken Sie an die Korrekteure, die ihre Lösungen nachvollziehen müssen und wählen Sie eine verständliche Darstellung (Am besten die des 4x4 Byte Quadrats) 2. Ermitteln Sie die Ausgabebytes nach der ersten Runde für den Fall, dass diesmal alle Eingangsbytes gleich Null sind. Seite 24 Studienbrief 4 Der Advanced Encryption Standard (AES)

3. Wieviele Ausgangsbits haben sich im Vergleich der beiden Fälle ver- ändert? Wir betrachten hier nur eine einzige Runde des AES. Nach jeder weiteren Runde werden mehr und mehr Änderungen der Aus- gangsbits auftreten (Lawineneffekt). Studienbrief 5 Blockchiffren Seite 25

Studienbrief 5 Blockchiffren

Die Grundlage dieses Studienbriefes ist der Inhalt des fünften Kapitels „More About Block Ciphers“ aus dem Buch Understanding Cryptography von Christof Paar und Jan Pelzel ?. Auf der Website zum Buch www.crypto-textbook.com finden Sie einen englischsprachigen Foliensatz zum Buchkapitel sowie nützliche Hinweise und Links zu weiterführender Literatur. Videomitschnitte von den Vorlesungen zu den hier behandelten Themen werden an den jeweils relevanten Stellen im Studienbrief verlinkt.

5.1 Lernziele Sie kennen die verschiedenen Betriebsmodi von Blockchiffren. Sie haben das Kon- zept der Mehrfachverschlüsselung verstanden und können einen möglichen Si- cherheitsgewinn einschätzen. Sie können im Speziellen die Kosten berechnen um Blockchiffren zu „brechen“.

5.2 Advanced Organizer In diesem Studienbrief lernen wir die Betriebsmodi von Blockchiffren kennen. Diese werden Besprochen und im Hinblick auf ihre Sicherheitsgarantien untersucht. Darüber hinaus diskutieren wir das Konzept der Mehrfachverschlüsselung und die hierdurch gewonnene Sicherheit. Des weiteren besprechen wir, wie Kosten kalkuliert werden um Blockchiffren generisch zu brechen.

5.3 Betriebsmodi von Blockchiffren Lesen Sie die Abschnitte 5.1 und 5.2 des fünften Kapitels aus dem Buch Understan- ding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_09.html de http://www3.crypto.rub.de/VL2010/Kry_09.html en

Übung 5.1: Doppelte DES Verschlüsselung Ü Geben ist eine doppelte DES Verschlüsselung (2DES)

2DES(x) = DESK2 (DESK1 (x))

In dieser Aufgabe wollen wir eine Kostenabschätzung für verschiedene Angriffe auf 2DES vornehmen.

1. Zeichnen Sie ein Blockdiagramm von 2DES. Der DES Algorithmus sollte hierbei als einfache Box dargestellt werden (also keine DES- Interna!). 2. Zunächst betrachten wir eine reine Schlüsselsuche ohne nennens- werten Speicheraufwand. Hierbei muss der gesamte Schlüsselraum, der gemeinsam von K1 und K2 gebildet wird, durchsucht werden. Wie teuer wird eine Suchmaschine, mit der wir 2DES im “worst case” nach 1 Woche brechen können? Wir nehmen an, dass wir spezielle Hardware Chips (ASICs) zur Verfügung haben, die 107 Schlüssel pro Sekunde überprüfen können. Ein Chip kostet 5 Euro. Darüber Seite 26 Studienbrief 5 Blockchiffren

hinaus nehmen wir einen Overhead von 50% auf die Chipkosten für den Bau der Maschine an. Setzen Sie die Kosten der Suchmaschine ins Verhältnis zum Etat der Bundesrepublik, der etwa 300 · 109 Euro beträgt. 3. Alternativ betrachten wir jetzt eine meet-in-the-middle (auch time- memory trade-off genannte) Attacke, bei der wir viel Speicher einset- zen können. Beantworten Sie hierzu folgende Fragen: • Wieviel Einträge müssen gespeichert werden? • Wieviel Bytes (nicht Bits!) müssen pro Eintrag gespeichert wer- den? • Wie teuer ist eine Schlüsselsuche, die nach maximal einer Wo- che zum Erfolg führt? Bitte beachten Sie, dass Sie zunächst einen Schlüsselraum komplett durchlaufen müssen, um den Speicher zu füllen. Erst danach kann der Raum des zweiten Schlüssels durchsucht werden. Für das nacheinander folgen- de Durchlaufen der beiden Schlüsselräume kann die gleiche Hardware verwandt werden. Für eine Kostenabschätzung des Speichers nehmen Sie einen Preis von 100 Euro / 1 TB an, wobei der Einfachheit halber mit 1 TB = 1012 Byte gerechnet werden soll. Für die Kosten der Schlüsselsuche nehmen Sie die Kosten von oben an. Setzen Sie die Kosten für die meet- in-the-middle Attacke wieder in Verhältnis zum Bundeshaushalt.

Übung 5.2: Moore’s Law Ü 1. Gegeben sei eine Blockchiffre mit einer Schlüssellänge von 192 Bits, wie z.B. AES. Nehmen wir an, dass wir einen Spezialchip haben, der 3·107 Schlüssel pro Sekunde durchsuchen kann. Wir schalten 100.000 dieser Chips parallel. Wie lange dauert eine durchschnittliche Suche? Vergleiche diese Zeit mit dem Alter des Universums (etwa 1010 Jahre). 2. Nun versuchen wir, die Weiterentwicklung der Computertechnologie in unsere Rechnungen einzubeziehen. Es ist natürlich schwierig die Zukunft vorher zusagen, aber bei solchen Schätzungen wird normaler- weise Moore’s Law verwendet: Nach diesem Gesetz verdoppelt sich die Computerleistung alle 18 Monate bei gleichbleibenden Kosten. Wieviele Jahre müssen wir warten bis wir eine Schlüsselsuchmaschine bauen können, die einen symmetrischen Algorithmus mit 192 Bit in einer durchschnittlichen Suchzeit von 24 Stunden berechnen kann? Wir nehmen an, dass wir 100.000 Chips verwenden, die in unserer Suchmaschine parallel geschaltet sind.

Übung 5.3: Sicherheit von OFB bei geheimem IV Ü Man könnte meinen, dass durch Geheimhalten des Initialisierungsvektors (IV) die Sicherheit des OFB Modes erhöht werden kann. Dies ist jedoch nicht der Fall!

1. Zeigen Sie, wie der OFB Mode mittels eines Brute-Force Angriffs auch ohne Kenntniss des IVs angegriffen werden kann. Die Komplexität des Angriffs ist (so gut wie) gleich wie die Komplexität eines normalen Brute-Force Angriffs gegen die zugrundeliegende Chiffre. 5.4 Key-Whitening und Mehrfachverschlüsselung Seite 27

2. Welche Bedingung stellt der Angriff an den Klartext und das Chiffrat?

5.4 Key-Whitening und Mehrfachverschlüsselung Lesen Sie die Abschnitte 5.3 bis 5.5 des fünften Kapitels aus dem Buch Understan- ding Cryptography ?. Ergänzend können Sie den Videomitschnitt der Vorlesung online unter folgenden Links anschauen.

http://www3.crypto.rub.de/Vorlesung/Kry_08.html de http://www3.crypto.rub.de/VL2010/Kry_10.html en

Übung 5.4: Key-Whitening Ü In der Übung wurden bereits verschiedene Varianten des Key-Whitening vorgestellt. In dieser Aufgabe betrachten wir die folgenden beiden Varianten von Key-Whitening:

DESAk,k1 (x) = DESk(x) ⊕ k1 (5.1)

DESBk,k1 (x) = DESk(x ⊕ k1) (5.2)

1. Zeichnen Sie das Blockschaltbild für Variante (1) (Stellen Sie hier und im Folgenden keine DES-Interna dar, sondern betrachten Sie DES als Block). Wieviele Plaintext-Ciphertext-Paare werden für einen erfolgreichen Angriff benötigt? Zeigen Sie detailliert, wie der Angriff durchgeführt werden kann. 2. Zeichnen Sie das Blockschaltbild für Variante (2). Wieviele Plaintext- Ciphertext-Paare werden für einen erfolgreichen Angriff benötigt? Zeigen Sie detailliert, wie der Angriff durchgeführt werden kann. 3. Zeichnen Sie das Blockschaltbild für eine sichere Variante des Key- Whitenings. Wieso wird das Verfahren eingesetzt? Gibt es Performan- ceeinbußen und warum?

Übung 5.5: Verschlüsselungsmodus für Datenbanken Ü Betrachten wir (stark vereinfacht) die Speicherung von Daten in verschüs- selter Form in einer großen Datenbank. Für die Verschlüsselung verwenden wir AES. Wir nehmen an, dass die zu speichernden Einträge eine Größe von 1024 Bit haben, und dass zwischen den verschiedenen Einträgen kein Zusammenhang besteht. Beantworten Sie die beiden folgenden Fragen in kurz in Stichworten:

• Was sind die Vor- und Nachteile des ECB Modes für dieser Anwen- dung? • Was sind die Vor- und Nachteile des CBC Modes? Seite 28 Studienbrief 5 Blockchiffren

Übung 5.6: Fehlerfortpflanzung in Verschlüsselungsmodi Ü Ein wichtiges Enscheidungsmerkmal für die Auswahl des Verschlüsselungs- modus in der Praxis ist die Fehlerfortpflanzung.

1. Nehmen wir an, dass während der Übermittlung ein Fehler in einem Block des Geheimtextes yi auftritt. Welche Klartextblöcke sind auf der Seite von Bob betroffen, wenn wir ECB Mode verwenden?

2. Nehmen wir wieder an, dass im Block yi ein Fehler während der Übermittlung aufgetreten ist. Welche Klartextblöcke sind auf der Seite von Bob betroffen, wenn wir CBC Mode verwenden?

3. Nehmen wir wieder an, dass im Block yi ein Fehler während der Übermittlung aufgetreten ist. Welche Klartextblöcke sind auf der Seite von Bob betroffen, wenn wir OFB Mode verwenden?

4. Stellen wir uns vor, wir haben einen Fehler im Klartextblock xi auf der Seite von Alice. Welche Klartextblöcke sind auf der Seite von Bob von diesem Fehler betroffen, wenn wir CBC Mode verwenden? 5. Was geschieht, wenn durch einen Übertragungsfehler ein Chiffre- textblock im Netzwerk verloren geht, der zuvor mit dem CBC Mode verschlüsselt wurde? 6. Was geschieht, wenn durch einen Übertragungsfehler ein Chiffre- textblock im Netzwerk verloren geht, der zuvor mit dem OFB Mode verschlüsselt wurde? Verzeichnisse Seite 29

Verzeichnisse

I. Exkurse

Exkurs 2.1 ...... 14

II. Kontrollaufgaben

Kontrollaufgabe 1.1 ...... 8 Kontrollaufgabe 1.2 ...... 8

III. Tabellen

Tabelle 1.1: Verteilung der Buchstaben in deutschen Texten ...... 8

Anhang Seite 31

Anhang With cryptography, what you see isn’t what you get. Subtle flaws can render any security system vulnerable to attack. Counterpane Systems has the expertise you need to make sure your system is as secure as it looks. COUNTERPANE SYSTEMS

WHY CRYPTOGRAPHY IS HARDER THAN IT LOOKS by Bruce Schneier

rom e-mail to cellular communications, from secure Web access to digital Fcash, cryptography is an essential part of today’s information systems. Cryptography helps provide accountability, fairness, accuracy, and confiden- tiality. It can prevent fraud in electronic commerce and assure the validity of financial transactions. It can prove your identity or protect your anonymity. It can keep vandals from altering your Web page and prevent industrial com- petitors from reading your confidential documents. And in the future, as com- merce and communications continue to move to computer networks, cryptography will become more and more vital. But the cryptography now on the market doesn’t provide the level of security it advertises. Most systems are not designed and implemented in concert with cryptographers, but by engineers who thought of cryptography as just anoth- er component. It’s not. You can’t make systems secure by tacking on cryptog- raphy as an afterthought. You have to know what you are doing every step of the way, from conception through installation. Billions of dollars are spent on computer security, and most of it is wasted on insecure products. After all, weak cryptography looks the same on the shelf as strong cryptography. Two e-mail encryption products may have almost the same user interface, yet one is secure while the other permits eavesdropping. A comparison chart may suggest that two programs have similar features, although one has gaping security holes that the other doesn’t. An experienced cryptographer can tell the difference. So can a thief. Present-day computer security is a house of cards; it may stand for now, but it can’t last. Many insecure products have not yet been broken because they are still in their infancy. But when these products are widely used, they will become tempting targets for criminals. The press will publicize the attacks, undermining public confidence in these systems. Ultimately, products will win or lose in the marketplace depending on the strength of their security.

Copyright © 1997 Counterpane Systems. All rights reserved. very form of commerce ever invented has been subject to fraud, from HREATS TO T rigged scales in a farmers’ market to counterfeit currency to phony invoic- OMPUTER YSTEMS E C S es. Electronic commerce schemes will also face fraud, through forgery, misrep- resentation, denial of service, and cheating. In fact, computerization makes the risks even greater, by allowing attacks that are impossible against non-auto- mated systems. A thief can make a living skimming a penny from every Visa cardholder. You can’t walk the streets wearing a mask of someone else’s face, but in the digital world it is easy to impersonate others. Only strong cryptog- raphy can protect against these attacks. Privacy violations are another threat. Some attacks on privacy are targeted: a member of the press tries to read a public figure’s e-mail, or a company tries to intercept a competitor’s communications. Others are broad data-harvesting attacks, searching a sea of data for interesting information: a list of rich wid- ows, AZT users, or people who view a particular Web page. Criminal attacks are often opportunistic, and often all a system has to be is more secure than the next system. But there are other threats. Some attackers are motivated by publicity. They usually have access to significant computing resources at their corporations or research institutions, and lots of time, but not much money. Lawyers sometimes need a system attacked, in order to prove their client’s innocence. Lawyers can collect details on the system through the discovery process, and then use considerable financial resources to hire experts and buy equipment. And they don’t have to defeat the security of a system completely, just enough to convince a jury that the security is flawed. Electronic vandalism is an increasingly serious problem. Computer vandals have already graffitied the CIA’s web page, mail-bombed Internet providers, and canceled thousands of newsgroup . And of course, vandals and thieves routinely break into networked computer systems. When security safe- guards aren’t adequate, trespassers run little risk of getting caught. Attackers don’t follow rules; they cheat. They can attack a system using tech- niques the designers never thought of. Art thieves have burgled homes by cut- ting through the walls with a chain saw. Home security systems, no matter how expensive and sophisticated, won’t stand a chance against this attack. Computer thieves come through the walls too. They steal technical data, bribe insiders, modify software, and collude. They take advantage of technologies newer than the system, and even invent new mathematics to attack the system with. The odds favor the attacker. Bad guys have more to gain by examining a sys- tem than good guys. Defenders have to protect against every possible vulner- ability, but an attacker only has to find one security flaw to compromise the whole system.

o one can guarantee 100% security. But we can work toward 100% risk WHAT CRYPTOGRAPHY acceptance. Fraud exists in current commerce systems: cash can be coun- CAN AND CAN’T DO N terfeited, checks altered, credit card numbers stolen. Yet these systems are still successful, because the benefits and conveniences outweigh the losses. Privacy systems—wall safes, door locks, curtains—are not perfect, but they’re often good enough. A good cryptographic system strikes a balance between what is possible and what is acceptable. page 2 Counterpane Systems Strong cryptography can withstand targeted attacks up to a point—the point at which it becomes easier to get the information some other way. A comput- er encryption program, no matter how good, will not prevent an attacker from going through someone’s garbage. But it can prevent data-harvesting attacks absolutely; no attacker can go through enough trash to find every AZT user in the country. And it can protect communications against non-invasive attacks: it’s one thing to tap a phone line from the safety of the telephone central office, but quite another to break into someone’s house to install a bug. The good news about cryptography is that we already have the and protocols we need to secure our systems. The bad news is that that was the easy part; implementing the protocols successfully requires considerable expertise. The areas of security that interact with people—key management, human/computer interface security, access control—often defy analysis. And the disciplines of public-key infrastructure, software security, computer securi- ty, network security, and tamper-resistant hardware design are very poorly understood. Companies often get the easy part wrong, and implement insecure algorithms and protocols. But even so, practical cryptography is rarely broken through the mathematics; other parts of systems are much easier to break. The best proto- col ever invented can fall to an easy attack if no one pays attention to the more complex and subtle implementation issues. Netscape’s security fell to a bug in the random-number generator. Flaws can be anywhere: the threat model, the design, the software or hardware implementation, the system management. Security is a chain, and a single weak link can break the entire system. Fatal bugs may be far removed from the security portion of the software; a design decision that has nothing to do with security can nonetheless create a security flaw. Once you find a security flaw, you can fix it. But finding the flaws in a prod- uct can be incredibly difficult. Security is different from any other design requirement, because functionality does not equal quality. If a word processor prints successfully, you know that the print function works. Security is differ- ent; just because a safe recognizes the correct combination does not mean that its contents are secure from a safecracker. No amount of general beta testing will reveal a security flaw, and there’s no test possible that can prove the absence of flaws.

good design starts with a threat model: what the system is designed to pro THREAT MODELS A tect, from whom, and for how long. The threat model must take the entire system into account—not just the data to be protected, but the people who will use the system and how they will use it. What motivates the attack- ers? Must attacks be prevented, or can they just be detected? If the worst hap- pens and one of the fundamental security assumptions of a system is broken, what kind of disaster recovery is possible? The answers to these questions can’t be standardized; they’re different for every system. Too often, designers don’t take the time to build accurate threat models or analyze the real risks. Threat models allow both product designers and consumers to determine what security measures they need. Does it makes sense to encrypt your hard drive if you don’t put your files in a safe? How can someone inside the company

Counterpane Systems page 3 defraud the commerce system? Are the audit logs good enough to convince a court of law? You can’t design a secure system unless you understand what it has to be secure against.

esign work is the mainstay of the science of cryptography, and it is very SYSTEM DESIGN Dspecialized. Cryptography blends several areas of mathematics: number theory, complexity theory, information theory, probability theory, abstract algebra, and formal analysis, among others. Few can do the science properly, and a little knowledge is a dangerous thing: inexperienced cryptographers almost always design flawed systems. Good cryptographers know that nothing substitutes for extensive peer review and years of analysis. Quality systems use published and well-understood algorithms and protocols; using unpublished or unproven elements in a design is risky at best. Cryptographic system design is also an art. A designer must strike a balance between security and accessibility, anonymity and accountability, privacy and availability. Science alone cannot prove security; only experience, and the intu- ition born of experience, can help the cryptographer design secure systems and find flaws in existing designs.

here is an enormous difference between a mathematical and its IMPLEMENTATION Tconcrete implementation in hardware or software. Cryptographic system designs are fragile. Just because a protocol is logically secure doesn’t mean it will stay secure when a designer starts defining message structures and passing bits around. Close isn’t close enough; these systems must be implemented exactly, perfectly, or they will fail. A poorly-designed user interface can make a hard-drive encryption program completely insecure. A false reliance on tam- per-resistant hardware can render an electronic commerce system all but use- less. Since these mistakes aren’t apparent in testing, they end up in finished products. Many flaws in implementation cannot be studied in the scientific lit- erature because they are not technically interesting. That’s why they crop up in product after product. Under pressure from budgets and deadlines, imple- menters use bad random-number generators, don’t check properly for error conditions, and leave secret information in swap files. The only way to learn how to prevent these flaws is to make and break systems, again and again.

n the end, many security systems are broken by the people who use them. CRYPTOGRAPHY Most fraud against commerce systems is perpetrated by insiders. Honest FOR PEOPLE I users cause problems because they usually don’t care about security. They want simplicity, convenience, and compatibility with existing (insecure) systems. They choose bad passwords, write them down, give friends and relatives their private keys, leave computers logged in, and so on. It’s hard to sell door locks to people who don’t want to be bothered with keys. A well-designed system must take people into account. Often the hardest part of cryptography is getting people to use it. It’s hard to convince consumers that their financial privacy is important when they are willing to leave a detailed purchase record in exchange for one thousandth of a free trip to Hawaii. It’s hard to build a system that provides strong authenti- cation on top of systems that can be penetrated by knowing someone’s moth- er’s maiden name. Security is routinely bypassed by store clerks, senior page 4 Counterpane Systems executives, and anyone else who just needs to get the job done. Only when cryptography is designed with careful consideration of users’ needs and then smoothly integrated, can it protect their systems, resources, and data.

ight now, users have no good way of comparing secure systems. Comput THE STATE OF er magazines compare security products by listing their features, not by SECURITY R evaluating their security. Marketing literature makes claims that are just not true; a competing product that is more secure and more expensive will only fare worse in the market. People rely on the government to look out for their safety and security in areas where they lack the knowledge to make evalua- tions—food packaging, aviation, medicine. But for cryptography, the U.S. government is doing just the opposite. When an airplane crashes, there are inquiries, analyses, and reports. Informa- tion is widely disseminated, and everyone learns from the failure. You can read a complete record of airline accidents from the beginning of commercial avia- tion. When a bank’s electronic commerce system is breached and defrauded, it’s usually covered up. If it does make the newspapers, details are omitted. No one analyzes the attack; no one learns from the mistake. The bank tries to patch things in secret, hoping that the public won’t lose confidence in a system that deserves no confidence. In the long run, secrecy paves the way for more serious breaches. Laws are no substitute for engineering. The U.S. cellular phone industry has lobbied for protective laws, instead of spending the money to fix what should have been designed corectly the first time. It’s no longer good enough to install security patches in response to attacks. Computer systems move too quickly; a security flaw can be described on the Internet and exploited by thousands. Today’s systems must anticipate future attacks. Any comprehensive system— whether for authenticated communications, secure data storage, or electronic commerce—is likely to remain in use for five years or more. It must be able to withstand the future: smarter attackers, more computational power, and greater incentives to subvert a widespread system. There won’t be time to upgrade it in the field. History has taught us: never underestimate the amount of money, time, and effort someone will expend to thwart a security system. It’s always better to assume the worst. Assume your adversaries are better than they are. Assume science and technology will soon be able to do things they cannot yet. Give yourself a margin for error. Give yourself more security than you need today. When the unexpected happens, you’ll be glad you did.

❈ ❈ ❈ ❈ ❈

Counterpane Systems page 5