kryptologie – von einer geheimwissenschaft zu einer wissenschaft

98
Kryptologie – von einer Geheimwissenschaft zu einer Wissenschaft von den Geheimnissen Dr.Jörg Vogel WS 2006/07

Upload: lamnguyet

Post on 05-Jan-2017

242 views

Category:

Documents


2 download

TRANSCRIPT

  • Kryptologie von einerGeheimwissenschaft zu einer Wissenschaft

    von den Geheimnissen

    Dr. Jrg Vogel

    WS 2006/07

  • Vorwort

    Dieses Dokument wurde als Skript fr die auf der Titelseite genannte Vorlesung erstelltund wird jetzt im Rahmen des Projekts Vorlesungsskripte der Fakultt fr Mathematikund Informatik weiter betreut. Das Dokument wurde nach bestem Wissen und Gewissenangefertigt. Dennoch garantiert weder der auf der Titelseite genannte Dozent, die Personen,die an dem Dokument mitgewirkt haben, noch die Mitglieder des Projekts fr dessen Fehler-freiheit. Fr etwaige Fehler und dessen Folgen wird von keiner der genannten Personen eineHaftung bernommen. Es steht jeder Person frei, dieses Dokument zu lesen, zu verndernoder auf anderen Medien verfgbar zu machen, solange ein Verweis auf die Internetadressedes Projekts http: // uni-skripte. lug-jena. de/ enthalten ist.

    Diese Ausgabe trgt die Versionsnummer 3658 und ist vom 29. Mrz 2012. Eine neueAusgabe knnte auf der Webseite des Projekts verfgbar sein.

    Jeder ist dazu aufgerufen, Verbesserungen, Erweiterungen und Fehlerkorrekturen fr dasSkript einzureichen bzw. zu melden oder diese selbst einzupflegen einfach eine E-Mail andie Mailingliste senden. Weitere Informationen sind unterder oben genannten Internetadresse verfgbar.

    Hiermit mchten wir allen Personen, die an diesem Skript mitgewirkt haben, vielmalsdanken:

    Jrg Sommer (2006/07)

    Jens Kubieziel (2006)

    Michael Preiss (2006/07)

    Christine List (2007)

    3

    http://uni-skripte.lug-jena.de/http://uni-skripte.lug-jena.de/http://uni-skripte.lug-jena.de/mailto:[email protected]:[email protected]:[email protected]

  • Inhaltsverzeichnis

    1. Einfhrung in die Kryptologie 61.1. Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2. Beispiel einer praktischen Kryptoanalyse . . . . . . . . . . . . . . . . . . . 101.3. Einteilung der Verschlsselungsverfahren . . . . . . . . . . . . . . . . . . . 12

    2. Substitionsverfahren 132.1. Monoalphabetische Substitutionen . . . . . . . . . . . . . . . . . . . . . . 13

    2.1.1. Verschiebechiffre (Caesar-Chiffre) . . . . . . . . . . . . . . . . . . . 132.1.2. Tauschchiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2.2. Homophone Substitutionen . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.1. Ansatz zur Kryptoanalyse einer homophonen Verschlsselung . . . 16

    2.3. Polyalphabetische Verschlsselung . . . . . . . . . . . . . . . . . . . . . . 172.3.1. Analyse der polyalphabetischen Verschlsselung . . . . . . . . . . . 182.3.2. Mglichkeiten der Verteidigung gegen die Angriffe . . . . . . . . . 21

    3. Transpositionsverfahren 22

    4. Blockchiffren 244.1. Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2. Blockverknpfungsmodi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.3. Crashkurs ber Restklassenringe und Matrizen darber . . . . . . . . . . . 274.4. Affine Blockchiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.4.1. Kryptoanalyse affiner Blockchiffren . . . . . . . . . . . . . . . . . . 314.5. Feistel-Chiffre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.6. DES Data Encryption Standard . . . . . . . . . . . . . . . . . . . . . . . 34

    4.6.1. Ein Beispiel einer vereinfachten DES-Verschlsselung . . . . . . . . 384.6.2. Differentielle Kryptoanalyse des DES mit einer Runde . . . . . . . . 394.6.3. Differentielle Kryptoanalyse des DES mit drei Runden . . . . . . . 414.6.4. Differentielle Analyse des DES mit vier Runden . . . . . . . . . . . 434.6.5. Analyse fr vier Runden . . . . . . . . . . . . . . . . . . . . . . . . 434.6.6. Die Sicherheit von DES . . . . . . . . . . . . . . . . . . . . . . . . . 44

    4.7. International Data Encryption Algorithm (IDEA) . . . . . . . . . . . . . . . 454.8. RC-Familie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.9. Blowfish und Twofish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.10.Sonstige Blockchiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.11.Exkurs ber endliche Krper . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    4.11.1. Endliche Krper von Primzahlordnung . . . . . . . . . . . . . . . . 48

    4

  • Inhaltsverzeichnis

    4.11.2. Polynomringe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.11.3.Fpk endlicher Krper der Ordnung pk . . . . . . . . . . . . . . . . 494.11.4. Darstellung der Elemente aus F256 . . . . . . . . . . . . . . . . . . 504.11.5. Der erweiterte euklidische Algorithmus . . . . . . . . . . . . . . . . 504.11.6. Polynome ber dem Krper F256 . . . . . . . . . . . . . . . . . . . 53

    4.12.Der Advanced Encryption Standard AES . . . . . . . . . . . . . . . . . . 554.12.1. Historischer Abriss . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.12.2. Beschreibung des Verfahrens von Rijndael . . . . . . . . . . . . . . 554.12.3. Notationen fr AES . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.12.4. Beschreibung der einzelnen Schritte . . . . . . . . . . . . . . . . . 564.12.5. Struktur des Entschlsselungsalgorithmus . . . . . . . . . . . . . . 60

    5. Public-Key-Kryptosysteme 615.1. Das Problem des Tauschens geheimer Schlssel . . . . . . . . . . . . . . . 61

    5.1.1. Das Protokoll von Diffie und Hellman . . . . . . . . . . . . . . . . . 625.1.2. Das Protokoll von Rivest und Sherman . . . . . . . . . . . . . . . . 63

    5.2. Das Konzept der Einwegfunktion . . . . . . . . . . . . . . . . . . . . . . . 645.2.1. Modulare Exponentiation mit fester Basis und festem Modul . . . . 645.2.2. Falltr-Einwegfunktionen . . . . . . . . . . . . . . . . . . . . . . . 655.2.3. Modulare Exponentation mit festem Exponenten und festem Modul 66

    5.3. Das RSA-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.3.1. Angriffe auf RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.2. Abwandlungen von RSA . . . . . . . . . . . . . . . . . . . . . . . . 73

    5.4. Das Verfahren von Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . 755.5. Weitere Public-Key-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 765.6. Digitale Signaturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    5.6.1. Elgamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.6.2. RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

    5.7. Das Shamir-ohne-Schlssel-Protokoll . . . . . . . . . . . . . . . . . . . . . 78

    6. Kryptographische Hashfunktionen 80

    7. Zero-knowledge-Protokolle 84

    A. Literaturverzeichnis 86

    B. bungsaufgaben 88B.1. Blatt 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88B.2. Blatt 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89B.3. Blatt 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    C. Lsungen 91C.1. Blatt 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91C.2. Blatt 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92C.3. Blatt 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    5

  • 1. Einfhrung in die Kryptologie

    Definition 1.1 (Kryptologie)Kryptologie ist die Wissenschaft von der sicheren bertragung (und Speicherung) vonNachrichten.

    Dabei unterscheidet man zwei Teilgebiete:

    die Kryptographie als die Kunst des Verschlsselns und

    die Kryptoanalyse als die Kunst des Codebrechens.

    Die bertragung der Nachricht erfolgt ber Kanle, wie z. B. Boten, Kupferleitungen,Glasfasern oder drahtlose Verbindungen. Dabei kann es zu verschiedenen Beeintrchti-gungen kommen:

    zufllige Strungen der Bote strzt in eine Felsspalte.

    systematische (physikalisch bedingte) Strungen im Wald werden alle Botengefangen genommen.

    passive Beeintrchtigungen whrend der Knig die Botschaft seinem Schreiberdiktiert, hrt der Spion hinterm Vorhang alles mit; Abhren von Telefongesprchen,Auslesen von Speichermedien.

    aktive Beeintrchtigungen whrend der Bote sein Nickerchen macht, tauscht einSpion die Botschaft aus; Flschen von Nachrichten und Daten.

    Mit den ersten beiden Punkten, also wie sichert man Nachrichten gegen Streinflsse,beschftigt sich die Kodierungstheorie. Die passiven und aktiven Beeintrchtigungen sindGegenstand der Kryptologie.

    Aus diesen Beeintrchtigungen ergeben sich Anforderungen an kryptologische Verfah-ren:

    Geheimhaltung/Vertraulichkeit Lesen der Nachricht fr Unbefugte mglichstschwierig gestalten.

    Authentifizierung Empfnger kann die Identitt des Senders prfen; Authen-tisierung Sender kann seine Identitt einem Empfnger gegenber beweisen;Empfnger wei, dass die Nachricht nicht von einem Dritten stammt.

    Integritt Nachricht wurde whrend der bertragung nicht verndert (Austau-schen, Weglassen oder Hinzufgen von Teilen).

    6

  • 1.1. Grundbegriffe

    Verbindlichkeit Sender kann nicht leugnen, dass die Nachricht von ihm stammt.

    Im Laufe der Zeit hat sich das Anwendungsgebiet fr Kryptologie gewandelt. Frherwurde sie vorwiegend zur Geheimhaltung z. B. militrischer Anwendungen eingesetzt,whrend heute durch den enormen Zuwachs der Kommunikation in offenen NetzwerkenKryptologie auch verstrkt im zivilen Bereich eingesetzt wird.

    1.1. Grundbegriffe

    Der Sender in der Kryptologie wird dieser mit Alice[24] bezeichnet verschlsseltseine Nachricht1 mit Hilfe eines Schlssels unter Verwendung eines Verschlsselungs-verfahrens2 und erhlt so einen Geheimtext3 fr die Nachricht. Diesen sendet er demEmpfnger in der Kryptologie wird dieser mit Bob bezeichnet , der durch Anwendungeines Entschlsselungsverfahrens4 wieder die Nachricht rekonstruieren kann.

    Whrend der bertragung knnte ein passiver Angreifer in der Kryptologie wirddieser mit Eve5 bezeichnet aus dem Geheimtext die Nachricht oder Teile davon rekon-struieren und aus diesem Wissen Vorteile ziehen. Oder ein aktiver Angreifer in derKryptologie wird dieser mit Mallory6 bezeichnet knnte den Geheimtext so verndern,dass der Klartext eine andere Bedeutung bekommt.

    Definition 1.2 (Kryptosystem)Ein Kryptosystem S ist ein Fnftupel S = (M,C,K, E,D) bestehend aus:

    einer Menge von Nachrichten, die als Klartextraum M ( ) bezeichnet wird; einElement dieser Menge ist eine Nachricht m M.

    dem Geheimtextraum C ( ), der Menge aller Kryptogramme c C,

    dem Schlsselraum K, wobei jeder Schlssel k K ein Paar k = (ke, kd) ist, vondem ke zur Verschlsselung und kd zur Entschlsselung verwendet wird.

    einem Verschlsselungsalgorithmus E : MK C fr den gilt E(m,ke) = c, wo-bei fr zwei unterschiedliche Nachrichten m1 und m2 gilt: E(m1, ke) 6= E(m2, ke)und

    einem Entschlsselungsalgorithmus D : CKM mit D(c, kd) = m.

    Aus diesen Festlegungen ergeben sich folgende Konsequenzen fr die Kommunikationzwischen Alice und Bob:

    1. Vor der bertragung mssen sich beide ber das Verfahren einigen.

    1Nachricht: auch Klartext oder plain text genannt2Verschlsselungsverfahren: auch als Chiffrierung oder encryption bezeichnet3Geheimtext: auch Chiffretext oder Kryptogramm genannt4Entschlsselungsverfahren: auch als Dechiffrierung oder decryption bezeichnet5Eve: vom englischen Wort eavesdropper fr Horcher oder Lauscher6Mallory: vom englischen Wort malicious fr bsartig

    7

  • 1. Einfhrung in die Kryptologie

    2. Viele Schlssel sind eine notwendige Voraussetzung (groer Schlsselraum) fr dieSicherheit eines Verfahrens.

    3. Vor der bertragung mssen sie sich auf ein Schlsselpaar k = (ke, kd) einigen.

    4. Der Schlssel kd muss geheim gehalten werden. Bei symmetrischen Verfahren(siehe Abschnitt 1.3) ist kd = ke. Also mssen beide Schlssel geheim gehaltenwerden.

    Da fr den Austausch des Schlssels zwischen Alice und Bob eine sichere bertragung sozusagen eine verschlsselte Verbindung notwendig ist, stellt sich die Frage, warumdie beiden nicht gleich die Nachricht ber diese sichere Verbindung bertragen.

    Im Allgemeinen ist die Nachricht wesentlich lnger als der Schlssel, d. h. derSchlsselaustausch kann ber andere (langsamere, aber sicherere) Kanle als derNachrichtenaustausch erfolgen. Alice lsst Bob das Kennwort durch einen Botenzukommen und der Austausch der Nachricht geschieht dann per E-Mail.

    Der Zeitpunkt der Schlsselbergabe ist frei whlbar. Es knnen also bei einem per-snlichen Treffen mehrere Schlssel fr sptere Verbindungen vereinbart werden.

    Mit demselben Schlssel lassen sich mehrere Nachrichten verschlsseln.

    Definition 1.3 (Kerckhoffs Prinzip)Das Kerckhoffs Prinzip besagt, dass die Sicherheit eines Kryptosystems nur von derGeheimhaltung des Schlssels jedoch nicht von der Geheimhaltung des Algorithmusabhngt.

    Dieses Prinzip wurde 1883 von AUGUSTE KERCKHOFFS in seiner Arbeit La cryptographiemilitaire7 niedergeschrieben. Er formulierte das Prinzip in sechs Einzelpunkten.

    Beispiel 1.1 (praktische Kryptographie)Der Freimaurercode (zweite Zeile in Abbildung 1.1) arbeitet ohne Schlssel. JederBuchstabe des Alphabets wird durch ein bestimmtes Geheimzeichen ersetzt. Damit ist derFreimaurercode kein Kryptosystem, da das Kerckhoffs Prinzip verletzt ist: Die Sicherheitdes Kryptosystems hngt von der Geheimhaltung des Algorithmus ab.

    dieser satz ist geheimDIESER SATZ IST GEHEIM

    UZVJVI JRKQ ZJK XVYVZDTFZZGR EDFY ABX IFFHXY

    Abbildung 1.1.: Verschlsselung der ersten Zeile mit dem Freimaurercode (2. Zeile), derCaesar-Chiffre (3. Zeile) und einem One-Time-Pad (4. Zeile)

    Bei der Caesar-Chiffre (dritte Zeile in Abbildung 1.1) wird jeder Buchstabe des Al-phabets fr sich durch den Buchstaben, der k Positionen weiter hinten steht, ersetzt.

    7Nachzulesen bei Fabien Petitcolas

    8

    http://de.wikipedia.org/wiki/Freimaurer-Alphabethttp://www.petitcolas.net/fabien/kerckhoffs/

  • 1.1. Grundbegriffe

    k {1,2, . . . ,25} = K ist der Schlssel dieses Kryptosystems im obigen Beispiel istk = 17. Jedoch ist diese Art der Verschlsselung nicht sicher. Dazu spter mehr.

    Der One-Time-Pad (vierte Zeile in Abbildung 1.1) ist hnlich dem Caesarcode, jedochwird hierbei (unabhngig und gleichverteilt) fr jedes einzelne Zeichen der Nachrichteine Zahl k {0,1, . . . ,25} gewhlt, um die das Zeichen verschoben wird. Der Schlsselfr eine Nachricht m = (m1,m2, . . . ,mn) ist also ein Tupel k = (k1, k2, . . . , kn) derLnge n. Dieses Kryptosystem schtzt sich nicht nur durch den groen Schlsselraum26n, sondern auch dadurch, dass jeder beliebige Text mit einem geeigneten Schlsselerzeugt werden kann.

    Zur Einstufung einer Kryptoanalyse trifft man die folgenden qualitativen Unterschei-dungen:

    vollstndiges Aufbrechen (engl. total break) heit, dass der Schlssel kd entdecktwird, woraufhin jede Nachricht m, die mit ke verschlsselt wird, entschlsseltwerden kann.

    globale Deduktion (engl. global deduction) bedeutet, dass ohne Kenntnis vonkd ein zu D(c, kd) quivalentes Verfahren D gefunden wird, so dass man jedeNachricht m = D(c, kd) durch m = D(c) rekonstruieren kann.

    lokale Deduktion (engl. instance or local deduction) bezeichnet das Finden einesKlartexts fr einen einzelnen Chiffretext.

    Informationsdeduktion (engl. information deduction) bedeutet, dass einige Infor-mationen ber den Schlssel oder den Klartext gewonnen werden knnen.

    Ebenso gibt es eine Unterscheidung der verschiedenen Arten eines Angriffs auf einKryptosystem:

    Cyphertext-Only-Angriff: Der Kryptoanalytiker verfgt ber eine gewisse Menge vonGeheimtexten.

    Known-Plaintext-Angriff: Fr einen gewissen Chiffretext ist der Klartext bekannt.

    Chosen-Plaintext-Angriff: Fr einen beliebigen Klartext ist es mglich, sich den zugeh-rigen Chiffretext zu besorgen. (Typisch fr Public-Key-Verfahren)

    Adaptive-Chosen-Plaintext-Angriff: Spezialfall des obigen Angriffszenarios. Hier whltder Kryptoanalytiker einen Klartext basierend auf dem Ergebnis der vorigen Ver-schlsselung.

    Chosen-Ciphertext-Angriff: Verschiedene Chiffrate knnen entschlsselt werden und esbesteht Zugriff zum entschlsselten Text.

    Chosen-Key-Angriff: Man hat Wissen ber die Beziehungen verschiedener Schlsseluntereinander (i. d. R. nicht praktisch relevant)

    9

  • 1. Einfhrung in die Kryptologie

    Rubber-Hose-Cryptanalysis: Angriff durch Gewalt/Erpressung/Entfhrung

    Brute-Force-Angriff: Alle mglichen Schlssel austesten. Dieses Verfahren sollte daseffektivste sein.

    Abhngig von der Sicherheit des Ver-/Entschlsselungsverfahrens kann man Kryptosys-teme in die Kategorien uneingeschrnkt sicher (z. B. One-Time-Pad), praktisch sicher(in praktikabler Zeit keine Lsung; die Tageszeitung von Morgen erst nchste Wocheentschlsseln) und unsicher (z. B. Caesarcode) einteilen.

    Derzeit ist das One-Time-Pad das einzige bekannte, uneingeschrnkt sichere Krypto-verfahren. In der Praxis findet es hauptschlich im militrischen Bereich und in hochsicheren Umgebungen Anwendung.

    Alle weiteren Kryptosysteme sind mit einem Ciphertext-Only-Angriff verwundbar.Man probiert einfach jeden mglichen Schlssel und prft, ob der resultierende Klartexteine Bedeutung hat. Einen derartigen Angriff nennt man Brute-Force-Angriff, da diesenur mit roher Gewalt (Durchtesten aller Kombinationen) funktioniert.

    1.2. Beispiel einer praktischen Kryptoanalyse

    In der Regel kann man nicht von der Gre des Schlsselraums eines Kryptosystems aufdie Sicherheit des Systems schlieen. Folgendes Beispiel soll dies verdeutlichen.

    Ein Kryptosystem, das jedem Buchstaben des Klartexts ein Zeichen des Chiffretextszuordnet, nennt man monoalphabetisch, d. h. der Schlssel ist eine Permutation derChiffretextbuchstaben. Es gibt also 26! = 403 291 461 126 605 635 584 000 000 Schlssel.

    Klartextbuchstabe a b c d . . . x y zSchlssel V J C E . . . A H D

    Trotz dieses groen Schlsselraums ist es recht einfach die Verschlsselung durch eineHufigkeitsanalyse zu brechen. Aus der Gre des Schlsselraums kann man also keineunmittelbaren Rckschlsse auf die Sicherheit des Kryptosystems ziehen.

    CJ UAFFC CHZ WAZZ CHZCZ CJCN, LCT JDUOZ NAZGC SAUTC LHC JACDVCPZYCTLTOJJCZ QPT WPCUNC GCFTAGCZ UAFFC, LCJJCZ VTACRFC AXCT ZPZ QPCZLC GHZGCZ, JO LAJJ CT QPT ATXCHF HWWCT PZFAPGNHDUCT IATL. LA LADUFCLCT UCTT LATAZ, HUZ APJ LCW RPFFCT QP JDUARRCZ, AXCT LCT CJCN WCTVFC,LAJJ VCHZ GPFCT IHZL ICUFC, NHCR ROTF PZL WADUFC JHDU APR LCZ ICGZADU XTCWCZ: LOTF, WCHZFC CT, VOCZZFC CT SA JFALFWPJHVAZF ICTLCZ.

    Abbildung 1.2.: Ein Beispiel eines Geheimtexts, der sich leicht mit Hufigkeitsanalysebrechen lsst.

    1. Schritt: Die Buchstaben im Geheimtext zhlen. Fr den Text in Abbildung 1.2 ergibtsich:

    10

  • 1.2. Beispiel einer praktischen Kryptoanalyse

    Bst. Wsk. Bst. Wsk. Bst. Wsk. Bst. Wsk.E 17,40 % D 5,08 % O 2,51 % V 0,67 %N 9,78 % H 4,76 % B 1,89 % 0,31 %I 7,55 % U 4,35 % W 1,89 % J 0,27 %S 7,27 % L 3,44 % F 1,66 % Y 0,04 %R 7,00 % C 3,06 % K 1,21 % X 0,03 %A 6,51 % G 3,01 % Z 1,13 % Q 0,02 %T 6,15 % M 2,53 % P 0,79 %

    Tabelle 1.1.: Hufigkeitsverteilung der Buchstaben der deutschen Spra-che. Die Buchstaben , , wurden wie ae, oe, ue gezhlt.Quelle: Wikipedia

    Buchstabe: C Z T A F L J . . .Hufigkeit: 62 31 29 27 22 20 19 . . .

    2. Schritt: Fr natrliche Sprachen wie Deutsch ergibt sich in groen Texten eine signifi-kante Verteilung der Buchstaben (Tabelle 1). Anhand der bekannten Verteilungder Buchstaben in der Sprache und der Hufigkeitsanalyse aus dem 1. Schritt,kann man die Klartextbuchstaben fr einige Geheimtextzeichen bestimmen.So steht z. B. in einem deutschen Text das am hufigsten auftretende Zeichenfr das E. Fr den Text in Abbildung 1.2 ist also e durch C verschlsselt.

    Da die Zeichenfolge ZZ vorkommt, ist ein weiterer Ansatz, dass das Z dem nentspricht.

    Aus den Teilen CHZ (eHn) und CHZCZ (eHnen) kann man schlieen, dass das Hdem i entspricht.

    Auffllig ist die Hufung des Wortes CT (eT). Dies knnte er oder es sein.

    Ebenso fllt das Wort LCT auf. Mglich: der oder des. Da der hufiger indeutschen Texten vorkommt, verwenden wir r fr T und d fr L.

    3. Schritt: Lcken schlieen:

    iUn ist sehr wahrscheinlich ihn; U entspricht h.

    eJ ist nicht er oder ei (da r und i schon vergeben), also es; J entsprichts

    dAJJ ist dass; A ist a

    haFFe ist hatte; F ist t

    Erster Teilsatz: es hatte ein Wann einen eseN,; Aus dem Kontextfolgt: W entspricht m und N ist l.

    weiter: der sDhOn lanGe Sahre die saeDVe; D entspricht c, O ist o, G istg und S ist j und V ist k.

    11

    http://de.wikipedia.org/wiki/Buchstabenh%C3%A4ufigkeit

  • 1. Einfhrung in die Kryptologie

    es hatte ein mann einen esel, der schon lange jahre die saeckeunverdrossen zur muehle getragen hatte, dessen kraefte aber nun zuende gingen, so dass er zur arbeit immer untauglicher ward. da dachteder herr daran, ihn aus dem futter zu schaffen, aber der esel merkte,dass kein guter wind wehte, lief fort und machte sich auf den wegnach bremen: dort, meinte er, koennte er ja stadtmusikant werden.

    Abbildung 1.3.: Entschlsselung des Textes aus Abbildung 1.2

    1.3. Einteilung der Verschlsselungsverfahren

    Man kann die Verschlsselungsverfahren anhand verschiedener Merkmale unterteilen.So unterscheidet man anhand der Schlssel ke und kd zwischen symmetrischer undasymmetrischer Verschlsselung. Ein Kryptosystem, bei dem fr die Entschlsselung dergleiche (oder ein in Polynomialzeit konstruierbarer) Schlssel wie fr die Verschlsselungverwendet wird, bezeichnet man als symmetrisch. Unterscheidet sich der Schlssel frdie Entschlsselung von dem fr die Verschlsselung, bezeichnet man das Verfahren alsasymmetrisch.

    Weiterhin unterscheidet man die Verfahren anhand der eingesetzten Schlssel. Beieiner Stromchiffre wird aus einem Hauptschlssel ein Schlsselstrom generiert, wobei jeein Element des Schlsselstroms fr die Verschlsselung eines Klartextblocks verwendetwird. Bei einer Blockchiffre ist der Schlssel fr alle Blcke gleich. In der Regel ist dieBlocklnge bei Stromchiffren wesentlich krzer (32 statt 256 Bit), wodurch sie vorwie-gend zur on-the-fly-Verschlsselung, z. B. einer Videokonferenz oder eines Telefonats,verwendet werden.

    Ein drittes Unterscheidungsmerkmal ist die Art der Verschlsselung. Die zwei Grund-verfahren sind die Substitution und die Transposition. Wird jede Einheit durch einenbestimmten Wert (u. U. aus einem anderen Alphabet) ersetzt, ist dies eine Substitu-tion. Bei einer Transposition hingegen wird der Geheimtext durch Vertauschung derEinheiten im Klartext erzeugt. Die Transposition ist also eine Permutation der Einhei-ten des Klartexts, wobei keine neuen Symbole hinzukommen, insbesondere bleibt dieHufigkeitsverteilung der Einheiten gleich.

    Heutige Verfahren verwenden eine Kombination aus beiden Grundverfahren.

    12

  • 2. Substitionsverfahren

    2.1. Monoalphabetische Substitutionen

    Bei einer monoalphabetischen Verschlsselung wird jeder Buchstabe des Klartext-alphabets immer durch denselben Buchstaben des Geheimtextalphabets ersetzt.Sei o. B. d. A. = = {a, b, c, . . . , x, y, z} bzw. sei das Alphabet in der Form X ={0,1,2, . . . ,23,24,25} gegeben; es gilt: |X| = 26. Fr Alphabete mit n Zeichen, sei dieDarstellung X = {0,1,2, . . . , n 2, n 1}.

    Die Verschlsselung ist also eine Permutation : X X des Alphabets, die gleichzeitigder Schlssel ist. Aus einer Nachricht m = m1m2 . . .mk wird so der Geheimtext c =(m1)(m2) . . .(mk). Es gibt hier n! verschiedene Schlssel, aber wir wissen bereits ausAbschnitt 1.2, dass dieses Verfahren kryptographisch auf Grund der Hufigkeitsverteilungder Buchstaben auch bei Ciphertext-Only-Angriffen unsicher ist.

    2.1.1. Verschiebechiffre (Caesar-Chiffre)

    Die Verschiebechiffre auch Caesar-Chiffre genannt ist die einfachste Form dermonoalphabetischen Substitution. Jeder Buchstabe wird durch seinen k-ten Nachfolgerersetzt, wobei man wieder bei A beginnt, wenn man Z berschreitet.

    Anschaulich kann man sich eine Verschlsselungsvorschrift so vorstellen, dass unterden Buchstaben A bis Z die Buchstaben beginnend mit dem k-ten Buchstaben bis Z undweiter von A bis zum (k 1)-ten Buchstaben stehen. Jeder Buchstabe des Klartextes wirddurch den Buchstaben, der unter ihm in der zweiten Zeile steht, ersetzt.

    Mathematisch ausgedruckt, kodiert man die Buchstaben A bis Z mit den Zahlen 0bis 25 und ordnet jedem Buchstaben den durch die Abbildung x 7 x + k (mod 26)beschriebenen Buchstaben zu.

    Der Schlssel fr die Verschlsselung ist dabei k {0,1, . . . ,25}, die Anzahl der Positio-nen, um die die Buchstaben verschoben werden.

    Das Verfahren hat jedoch den Nachteil, das nur wenige (n) Schlssel verfgbar sindund das die Verschlsselung gebrochen ist, sobald ein Buchstabe bersetzt ist. Dies lsstsich wie in Abschnitt 1.2 gesehen, sehr leicht mit der Hufigkeitsanalyse der Buchstabenbewerkstelligen.

    2.1.2. Tauschchiffren

    Tauschchiffren sind eine Verallgemeinerung der Verschiebechiffren. Die Buchstabenwerden ebenfalls durch Zahlen kodiert, mit denen dann gerechnet wird. Jedes Zeichenx {0, . . . , n 1} wird durch die affine Abbildung x 7 a x + b (mod n) in das

    13

  • 2. Substitionsverfahren

    Geheimzeichen berfhrt. Der Schlssel ist dabei das Paar (a, b) {0, . . . , n 1}2. Beiden Verschiebechiffren ist a = 1.

    Damit die Entschlsselung mglich ist, muss die Abbildung bijektiv sein. Dazu mssena und n teilerfremd sein. Es gibt also (n)1 Mglichkeiten a zu whlen und insgesamt(n) n Schlssel (a, b).

    Ein kurzes Gegenbeispiel, um das Problem zu verdeutlichen: Whlt man n = 26, a = 13und b = 0, so wird das Zeichen 2 als E(2) = 132+0 (mod 26) = 0 als auch das Zeichen 0als E(0) = 0 13+ 0 (mod 26) verschlsselt. Eine Entschlsselung des Zeichens 0 ist alsonicht mglich.

    Zur Entschlsselung sei y {0, . . . , n 1} der Geheimtextbuchstabe. Dann ist x =(y b)a (mod 26) mit aa (mod 26) 1 das Ergebnis der Entschlsselung.

    Beispiel 2.1Der Klartext text wird mit dem Schlssel (5,13) auf den Geheimtext EHYE abgebildet.

    Buchstabe Codierung x 5 x+ 13 (mod 2)6 Decodierungt 19 4 Ee 4 7 Hx 23 24 Yt 19 4 E

    Die Nachteile der Tauschchiffren sind:

    Hufigkeitsverteilung der natrlichen Sprache bleibt erhalten und

    Verschlsselung ist geknackt, wenn zwei Buchstaben bersetzt sind

    Die Tauschchiffren werden in einer allgemeineren Form nochmal im Abschnitt 4.4besprochen.

    2.2. Homophone Substitutionen

    Homophone Substitutionen versuchen die strukturelle Schwche der monoalphabeti-schen Verschlsselung, die durch die Hufigkeitsverteilung der Buchstaben bei natrlichenSprachen gegeben ist, aufzuheben.

    Dazu fhrt man ein neues und greres Geheimtextalphabet Y und eine Abbildungf : X P(Y) ein, wobei verschiedene Buchstaben disjunkten Teilmengen entsprechen.Fr eine Nachrichtm = m1m2 . . .mk ist der Geheimtext c = c1c2 . . . ck, wobei ci zuflligaus f(mi) gewhlt wird. (Italien um 1400).

    Beispiel 2.2Fr das Klartextalphabet X = {a, b, c}, wobei die Buchstaben mit den Wahrscheinlich-keiten 0,5 %, 0,35 % und 0,15 % vorkommen, verwenden wir das Geheimtextalphabet

    1Eulersche -Funktion; siehe Abschnitt 4.3

    14

  • 2.2. Homophone Substitutionen

    x1 x2 . . . xi . . . xnx1 yn2

    9y 7n2

    8. . . yn2

    4. . . yn2

    2

    x2 yn2. . .

    ...xj...

    . . ....

    xn . . . yn212

    Tabelle 2.1.: Zuordnung von n Zeichen des Klartextalphabet auf n2 Zeichen desGeheimtextalphabet

    Y = {0,1, . . . ,7}. Dazu definieren wir die Abbildung f wie folgt

    f(x) =

    {0, 3, 4, 7} : x = a{1, 5, 6} : x = b{2} : x = c

    Der Buchstabe b wird also durch die drei Zeichen 1, 5 und 6 codiert. Das Wort cbbaknnte z. B. als 2514 oder 2663 verschlsselt werden.

    Der Vorteil einer solchen homophonen Substitution besteht darin, dass die Hufigkeits-verteilung der Klartextbuchstaben zerstrt wird, wenn fr alle x X, wobei p(x) dierelative Hufigkeit ist, mit der der Buchstabe x in Texten auftritt, f(x) so gewhlt wird,dass p(x)

    |f(x)| fr alle x annhernd gleich ist!Der Effekt des Ganzen ist, dass im Geheimtext alle Buchstaben des Geheimtextalpha-

    bets Y etwa gleichwahrscheinlich auftreten!

    Lemma 2.1Es gibt ein homophones Verschlsselungsverfahren, bei dem es fr jeden Geheimtext cmindestens zwei verschiedene Schlssel gibt, die c in zwei verschiedene, sinnvolle Klar-texte berfhren.

    BEWEIS:Sei X mit |X| = n das Klartextalphabet und Y mit |Y| = n2 das Geheimtextalphabet. DerSchlsselraum wird durch eine nn-Matrix beschrieben. Die Zeilen und Spalten werdenmit den Buchstaben aus X indiziert und die Eintragungen sind die (zufllig angeordneten)Buchstaben von Y, wie in Tabelle 2.1. Wir definieren zwei Abbildungen:

    f1(xj) = { y Y | y steht in der j. Zeile }f2(xi) = { y Y | y steht in der i. Spalte }

    Es sei m = m1m2 . . .mk der zu verschlsselnde Klartext und l = l 1l2 . . . l

    k ein

    weiterer sinnvoller Klartext gleicher Lnge.

    15

  • 2. Substitionsverfahren

    Als Verschlsselung fr mi verwenden wir den Eintrag in der Matrix, der im Schnitt-punkt von mi = xr und li = xs (r-ter Zeile und s-ter Spalte) liegt.

    mi 7 ci f1(mi) f2(li)

    Ein Brute-force-Angriff bleibt bei solch einer Verschlsselung prinzipiell wirkungslos,weil jeder Geheimtext in zwei verschiedene, sinnvolle Klartexte bersetzt werden kann!

    Jedoch bleibt weiterhin der Nachteil bestehen, dass fr alle Buchstaben x X dieAnzahl der mglichen Verschlsselungen |f(x)| gleich gro ist. Damit ist die Forderung,dass p(x)

    |f(x)| fr alle x annhernd gleich ist, verletzt. Aber die Idee ist, dass der Angreifernicht sagen kann, welcher der beiden konkurrierenden Klartexte der richtige ist.

    Beispiel 2.3Das Klartextalphabet X sei das deutsche Alphabet und wir whlen als GeheimtextalphabetY = {00,01, . . . ,10,11, . . . ,99}. Dann ist |Y| = 100. Die Zuordnung f : X P(Y) whlenwir so, dass gilt: Fr alle Buchstaben x X ist |f(x)| p(x) 100.

    In Tabelle 1 mit Hufigkeiten der Buchstaben sehen wir, dass z. B. c mit der Wahr-scheinlichkeit 3,06 % auftritt. Also whlen wir zufllig fr c drei Zeichen aus Y, z. B.07, 23, 42.

    2.2.1. Ansatz zur Kryptoanalyse einer homophonen Verschlsselung

    Eine weitere Idee fr einen Angriff ist andere Unregelmigkeiten neben der Hufig-keitsverteilung der Buchstaben in der deutschen Sprache zu finden. Dazu betrachtenwir sogenannte Digramme oder Bigramme (Zweierfolgen von Buchstaben) in Texten.Dafr gibt es insgesamt 262 mgliche Paarungen. Beispiele fr Digramme sind en und er,die mit einer Wahrscheinlichkeit von ca. 4 % in deutschen Texten auftreten. Das Digrammch tritt mit einer Wahrscheinlichkeit von ca. 2,75 % und die Digramme de, te, nd, ei, ie, es,in treten mit der Wahrscheinlichkeit von ca. 2 % auf.

    Damit haben wir bereits eine Anomalie gefunden. Whrend die Buchstaben e und nhufig auftreten und auch das Digramm aus beiden en hufig auftritt, ist es im Fall vonc, h und ch nicht so. Die einzelnen Buchstaben sind recht selten (siehe Tabelle 1), dasDigramm jedoch tritt sehr hufig auf.

    Ausgangspunkt: Verschlsselung von c. Es sei |f(c)| = k (z. B. k = 3 in Beispiel 2.3)Dann mssen (etwa) folgende Relationen erfllt sein: |f(e)| 6k, |f(n)| 3k, |f(i)| 2,5k, |f(r)| 2,5k.

    Das Bigramm en wird auf 6k 3k = 18k2 verschiedene Weisen verschlsselt und chauf k 1,5k = 1,5k2 verschiedene Weisen.

    Ein Digramm, dass en verschlsselt, tritt mit einer Hufigkeit von 4 %18 0,25 % auf.Fr ch ist die Hufigkeit 2,5 %1,5 1,6 %.

    Dies ist ein Ansatz zunchst durch eine Hufigkeitsanalyse die Verschlsselung fr cund h zu knacken. Voraussetzung fr einen solchen Angriff ist aber ein wirklich langerGeheimtext!

    16

  • 2.3. Polyalphabetische Verschlsselung

    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 za 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 Zb 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 Ac C D E F G H I J K L M N O P Q R S T U V W X Y Z A Bd D E F G H I J K L M N O P Q R S T U V W X Y Z A B Ce E F G H I J K L M N O P Q R S T U V W X Y Z A B C Df F G H I J K L M N O P Q R S T U V W X Y Z A B C D Eg G H I J K L M N O P Q R S T U V W X Y Z A B C D E Fh H I J K L M N O P Q R S T U V W X Y Z A B C D E F Gi I J K L M N O P Q R S T U V W X Y Z A B C D E F G Hj J K L M N O P Q R S T U V W X Y Z A B C D E F G H Ik K L M N O P Q R S T U V W X Y Z A B C D E F G H I Jl L M N O P Q R S T U V W X Y Z A B C D E F G H I J Km M N O P Q R S T U V W X Y Z A B C D E F G H I J K Ln N O P Q R S T U V W X Y Z A B C D E F G H I J K L Mo O P Q R S T U V W X Y Z A B C D E F G H I J K L M Np P Q R S T U V W X Y Z A B C D E F G H I J K L M N Oq Q R S T U V W X Y Z A B C D E F G H I J K L M N O Pr R S T U V W X Y Z A B C D E F G H I J K L M N O P Qs S T U V W X Y Z A B C D E F G H I J K L M N O P Q Rt T U V W X Y Z A B C D E F G H I J K L M N O P Q R Su U V W X Y Z A B C D E F G H I J K L M N O P Q R S Tv V W X Y Z A B C D E F G H I J K L M N O P Q R S T Uw W X Y Z A B C D E F G H I J K L M N O P Q R S T U Vx X Y Z A B C D E F G H I J K L M N O P Q R S T U V Wy Y Z A B C D E F G H I J K L M N O P Q R S T U V W Xz Z 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

    Tabelle 2.2.: Das Vigenre-Quadrat.

    2.3. Polyalphabetische Verschlsselung

    Polyalphabetische Verschlsselung hat ebenfalls das Ziel, die Hufigkeit der Buchstabenzu verwischen. Ein prominentes Beispiel ist die Vigenre-Chiffre von dem franzsischenDiplomat BLAISE DE VIGENRE (15231596), die erst im 19. Jahrhundert gebrochenwurde.

    Die Idee der Vigenre-Chiffre ist, dass jeder Buchstabe mit einer anderen Caesar-Chiffreverschlsselt wird, aber nicht zufllig, sondern strukturiert mit Hilfe eines Schlsselworts.

    Beispiel 2.4Der zu verschlsselnde Klartext sei emmentaler und das Schlsselwort ALLGAEU.

    Klartext: e m m e n t a l e rSchlsselwort: A L L G A E U A L L G A E UGeheimtext: E X X K N X U L P C

    Die Verschlsselung ist nicht wesentlich aufwendiger als die Caesar-Chiffre, aberes stellt sich eine neue Situation ein: e wird zu E, K und P und umgekehrtentsteht X aus m und t. Dadurch werden die unterschiedlichen Hufigkeiten derKlartextbuchstaben im Geheimtext ausgeglichen.

    17

  • 2. Substitionsverfahren

    Die polyalphabetische Verschlsselung lsst sich allgemein auf folgenden Weisebeschreiben: Es gibt ein Klartextalphabet , d Geheimtextalphabete 0, 1, . . . , d1,d bijektive Abbildungen fi : i (i = 0, . . . , d 1) und eine surjektive Abbildungh : N {0,1, . . . , d 1}. Den Schlssel bilden dabei h, f0, f1, . . . , fd1.

    Ein Klartext m = m1m2 . . .mt mit mj der Lnge t wird in einen Geheimtextc = c1c2 . . . ct durch cj = fh(j)(mj) fr 1 6 j 6 t berfhrt.

    Bei der Vigenre-Chiffre sind die Alphabete identisch, also = 0 = = d ={0,1, . . . ,25}. Das Schlsselwort k = k0k1 . . . kd der Lnge d beschreibt die einzelnenVerschlsselungsfunktionen durch eine Verschiebechiffre fi(a) = a + ki (mod n) (fra X). Als Funktion h wird einfach h(x) = x (mod d) (fr x N) verwendet.

    Beispiel 2.5Das Alphabet sei X = {0,1, . . . ,25} und das Schlsselwort sei KRYPTO (d = 6), wo-bei dies als 10,17,24,15,19,14 = k0, k1, k2, k3, k4, k5 dargestellt wird. Fr den Klartextkommemorgennicht ergibt sich der Geheimtext UFKBXAYIETGBSTFI.

    Schlsselwort K R Y P T OKodierung kj 10 17 24 15 19 14Klartext k o m m e mKodierung x 10 14 12 12 04 12x+ kj (mod 26) 20 05 10 01 23 00Geheimtext U F K B X AKlartext o r g e n nKodierung x 14 17 06 04 13 13x+ kj (mod 26) 24 08 04 19 06 01Geheimtext Y I E T G BKlartext i c h tKodierung x 08 02 07 19x+ kj (mod 26) 18 19 05 08Geheimtext S T F I

    2.3.1. Analyse der polyalphabetischen Verschlsselung

    Der Angriffspunkt bei der polyalphabetischen Verschlsselung ist die Periodizitt. Beieiner Periodenlnge d bezeichnet man als einen Teiltext die Buchstabenfolge an denPositionen k+ nd fr 1 6 k 6 d und n N0. Wenn man den Text in Form einer Tabellemit der Breite der Schlsselwortlnge aufschreibt, dann ist jede Spalte von oben nachunten gelesen ein Teiltext.

    Obwohl die Teiltexte keine sinnvollen Texte sind, stellt sich bei langen Teiltexten diegleiche Hufigkeitsverteilung der Buchstaben wie bei einem richtigen Text ein. Innerhalbder Spalten findet man also eine Buchstabenhufigkeit wie bei einem natrlichen Text.

    Die einzelnen Teiltexte sind monoalphabetisch verschlsselt. Man kann also im erstenSchritt die Schlssellnge bestimmen und im zweiten Schritt die monoalphabetischenTeiltexte mit Hilfe der Hufigkeitsanalyse entschlsseln.

    18

  • 2.3. Polyalphabetische Verschlsselung

    Brute-force-Angriff auf polyalphabetische Verschlsselung

    Aus Erfahrung wei man, dass die Hufigkeitsverteilung der Buchstaben im Klartextnivelliert ist, wenn ein Geheimtext, der durch polyalphabetische Verschlsselung ent-standen ist, mit einem Schlssel der falschen Lnge entschlsselt wird. Man kann alsosystematisch d = 1,2,3, . . . durchprobieren bis man fr den entschlsselten Text einenatrliche Verteilung der Buchstaben gefunden hat.

    Dies funktioniert nur fr kleine d!

    Kasiski-Test

    CHARLES BABBAGE entdeckte 1854 die Mglichkeit, die Lnge des Schlsselworts freinen polyalphabetisch verschlsselten Text zu bestimmen. Der Algorithmus wurde abernach KASISKI benannt, der ihn das erste Mal verffentlichte.

    Wenn man die polyalphabetische Verschlsselung betrachtet, fllt auf, dass Buchsta-benfolgen, die sich im Abstand eines Vielfachen der Periodenlnge wiederholen, auf dasgleiche Muster im Geheimtext abgebildet werden. Hufig auftretenden Buchstabenkombi-nationen werden also an mehreren Stellen im Text auf die gleiche Weise verschlsselt.

    Beispiele fr solche Muster knnen die Artikel der, die, das, ein oder eine sein, diehufig in einem Text vorkommen und somit auch wiederholt in der gleichen Spalte beider Verschlsselung beginnen.

    Findet man also in einem Geheimtext Muster, die lnger als zwei Zeichen sind undmehrfach auftreten, so knnen dies Buchstabenfolgen sein, die auf die gleiche Weiseverschlsselt wurden. Die Lnge des Schlsselworts muss also ein Teiler des Abstands derWiederholungen des Musters sein.

    Man kann mit mehreren Mustern und anhand ihrer Struktur (lngere Muster sind eherdas Ergebnis eines Musters im Klartext als eine zufllige Wiederholung im Geheimtext)eine (oder ein paar) Vermutungen ber die Schlssellnge finden.

    Friedman-Test

    Von WILLIAM FRIEDMAN (18911969) stammt die Idee, die Periodenlnge mit Hilfestatistischer Methoden zu bestimmen. Die entscheidende statistische Gre ist der Koinzi-denzindex I(t) fr einen Text t.

    Fr ein Alphabet A = {a1, . . . , an} mit |A| = n und einen Text t der Lnge l ist derKoinzidenzindex I(t) die Wahrscheinlichkeit dafr, dass an zwei zufllig gewhltenPositionen in dem Text der selbe Buchstabe steht.

    Es sei li die absolute Hufigkeit (Anzahl der Vorkommen) des Buchstabens ai im Text,d. h. l =

    ni=1 li. Fr einen Text der Lnge l gibt es

    (l2

    )zufllig gewhlte Zweiermengen

    von Positionen. Die Anzahl der Mengen von zwei zufllig gewhlten Positionen mitgleichen Buchstaben betrgt

    ni=1

    (li2

    )=

    ni=1

    li(li 1)2

    19

  • 2. Substitionsverfahren

    Damit ergibt sich die Wahrscheinlichkeit, dass an zwei zufllig gewhlten Positionenzwei gleiche Buchstaben im Text t stehen:

    I(t) =

    ni=1

    (li2

    )(l2

    ) = ni=1

    li(li 1)l(l 1)

    =

    ni=1

    l2il(l 1)

    ni=1

    lil(l 1)

    =l

    l 1

    ni=1

    (lil

    )2

    1l 1

    (2.1)

    Fr einen hinreichend groen Text, d. h. l , in deutscher Sprache td mit denBuchstabenhufigkeiten aus Tabelle 1 ergibt sich ein Koinzidenzindex Id := I(td) 0,0762. In der englischen Sprache liegt der Index bei etwa 0,0667 und im franzsischenbei 0,0778.

    Der Koinzidenzindex fr einen hinreichend groen Zufallstext tz der Lnge l, bei demalle Buchstaben gleich hufig auftreten l1 = l2 = = ln, ist

    I(tz) =l

    l 1

    ni=1

    (1n

    )2

    1l 1

    =l

    l 11n

    1l 1

    l 1n

    Legt man ein Alphabet mit 26 Buchstaben zugrunde, ergibt sich so ein Koinzidenzin-dex Iz := 126 0,0385.

    Bemerkung 2.1Der entscheidende Fakt fr den Friedman-Test, der einen Angriff auf die Verschlsse-lung ermglicht, ist, dass die Wahrscheinlichkeit an zwei zufllig gewhlten Positionendenselben Buchstaben zu finden, in deutschen Texten (und Texten anderer natrlicherSprachen) etwa doppelt so gro wie in Zufallstexten ist.

    In einem Geheimtext c der Lnge l, der das Ergebnis einer polyalphabetischen Ver-schlsselung mit Periode d ist, sind die Buchstaben in einem Teiltext (k, d+ k, 2d+ k, . . .)entsprechend der Buchstabenhufigkeit der Sprache verteilt. Zwischen den Teiltexten(d. h. von einer Spalte zu einer anderen) sind die Buchstaben jedoch zufllig verteilt.(Eigenschaft der polyalphabetischen Verschlsselung.)

    Die Teiltexte haben die Lnge ld . Also gibt es

    d ( ld

    2

    )=l(l d)

    2d

    zufllige Paare in ein und demselben Teiltext ber alle Teiltexte. Fr die zuflligen Paarein unterschiedlichen Teiltexten bleiben

    12 l (l l

    d) =

    l2(d 1)2d

    Mglichkeiten. (l Mglichkeiten fr die erste Position; l ld Mglichkeiten fr die zweitePosition in den anderen Spalten; 12 da es kein geordnetes Ziehen ist)

    20

  • 2.3. Polyalphabetische Verschlsselung

    Damit ist die Wahrscheinlichkeit im gesamten Geheimtext c an zwei zufllig gewhltenPositionen die gleichen Buchstaben zu finden

    I(c) =l(ld)

    2d Iz +l2(d1)

    2d Idl(l1)

    2

    (2.2)

    Da man den Koinzidenzindex I(c) fr den verschlsselten Text mit der Gleichung 2.1 be-stimmen kann, kann man so einen Schtzwert fr die Periodenlnge d der Verschlsselungaus Gleichung 2.2 ableiten.

    d =l(Id Iz)

    Id lIz + (l 1)I(c)(2.3)

    Diese Schtzung kann man mit den Ergebnissen aus einem Kasiski-Test oder einemBrute-Force-Angriff vergleichen, um die Mglichkeiten fr die wahre Periodenlngegenauer einzuschrnken.

    2.3.2. Mglichkeiten der Verteidigung gegen die Angriffe

    Ausgangspunkt fr eine Verteidigung ist der Umstand, dass die oben formulierten Testsnur fr kleine Periodenlngen (d l) funktionieren!

    Eine Abwehrstrategie wre also die Periodenlnge zu vergrern. Praktisch wurdedies bei der Enigma umgesetzt. Im deutschen Patent wurde 1920 mit drei Rotorengearbeitet, die eine Periodenlnge von 263 ergaben. Im spteren Einsatz im Kriegwurde eine Maschine mit fnf Rotoren, die eine Periodenlnge von 265 hatte,gearbeitet.

    Ein anderer Weg wre, gar keine Wiederholung zu verwenden, sprich das Schls-selwort so lang wie den Text whlen. Dies kann eine Textstelle aus einem vorhergewhlten Buch sein Schlssel ist dann (Seite, Zeile, Buchstabe). Aber dannfunktioniert wieder die Hufigkeitsanalyse, weil der Roman die Charakteristik einernatrlichen Sprache hat. (In diese Kategorie fllt auch das anhngen des Klartextesan das Schlsselwort.)

    Also msste man fr den Schlsselroman einen Zufallstext whlen, was zu demabsolut sicherem, aber unpraktikablen One-Time-Pad fhrt.

    21

  • 3. Transpositionsverfahren

    Bei einer Transpositionschiffre werden die Buchstaben des Klartexts auf gezielte Art undWeise untereinander vertauscht, so dass der Text verschlsselt wird. Das Klartextalphabetist also gleich dem Geheimtextalphabet ( = ) und insbesondere bleibt die Hufig-keitsverteilung der Buchstaben gleich, so dass ein Angriff ber eine Hufigkeitsanalysewirkungslos bleibt.

    Es gibt zwei verschiedene Anstze der Verschlsselung:

    Bei der Blocktransposition wird der Klartext m in Blcke einer festen Lnge keingeteilt und jeder Block mi wird derselben Permutation unterworfen, wodurchsich der Geheimtextblock ci ergibt.

    ci(1)ci(2) . . . ci(k1)ci(k) = mi1mi2 . . .mik1mik

    Als Angriff auf einen durch Blocktransposition verschlsselten Text erweist sich derfolgende, etwas plumpe Ansatz als sehr gut: Rate die Blocklnge (ein Teiler derGeheimtextlnge) und errate innerhalb von Blcken eine Permutation, so dass sichbekannte Anagramme ergeben.

    Die Spaltentransposition ist eine erweiterte Blocktransposition. Der Klartext wirdwieder in Blcke einer festen Lnge k zerlegt und diese werden jeder fr sich einerPermutation unterworfen. Danach wird der Geheimtext gebildet, indem man erstalle ersten Buchstaben aller Blcke, dann die zweiten usw. aufschreibt.

    Anschaulich kann man sich den Ablauf so vorstellen, dass der Text zeilenweisein eine Tabelle fester Breite eingetragen. Dann werden die kompletten Spaltenvertauscht und der Text wird anschlieend spaltenweise ausgelesen.

    Verwendet man als Permutation der Spalten die Identitt, so erhlt man die Garten-zaunchiffre: Die Zeichen werden zeilenweise eingetragen und spaltenweise wiederausgelesen.

    Als Angriffsmglichkeit ist wieder das Erraten der Blocklnge und anschlieendesSuchen nach Anagrammen in jedem Block eine gute Variante.

    Beispiel 3.1Der Klartext lautet kryptologie und datensicherheit. Die Blockgre k soll 6 sein unddie Permutation = (1, 5, 3, 6, 4, 2). Wenn man den Text jetzt in ein Gitter eintrgt, bleibtdie letzte Zelle links unten leer. Diese fllt man einfach mit einem vorher vereinbartenZeichen, bei uns a. siehe Abbildung 3.1. Wenn man dann den Text spaltenweise von obennach unten ausliest, ergibt sich der Geheimtext rodsh piaci tetht oueea klnnr ygdie.

    22

  • 1. 2. 3. 4. 5. 6.

    k r y p t ol o g i e un d d a t en s i c h er h e i t a

    1. 2. 3. 4. 5. 6.(2) (4) (5) (6) (1) (3)r p t o k yo i e u l gd a t e n ds c h e n ih i t a r e

    Abbildung 3.1.: Veranschaulichung der Spaltentransposition

    Beispiel 3.2IAEEKCWENUCETOEEKRAMDEZNEDNZAIFATRWNIRRSUBSNWKREELNTEURERKNSIKZIMIKFVNUHANENK

    Die Lnge des Textes sind 77 Zeichen. Damit ergeben sich als mgliche Spaltenlngen7 oder 11.

    IEZRWEKATNWKRFEOENRKVEEDIENNKENRESUCKZRLIHWRASNKAEAIUTZNNMFBEIEUDASUMNCETNRIK

    IEEEANSLRIUANEZIINNKMHEUKNFRWTNIAECREARKESKNKEADTSRUIFECTMNRUERKVNWODZWBEEZNK

    Die erste Zeile fr k = 11 enthlt zu viele Konsonanten und die letzte Zeile zu vieleVokale fr einen deutschen Text.

    Idee: 1. und letzte Spalte liegen nebeneinander, da auf ein c sehr oft ein k oder ein hfolgt.

    Die sechste Spalte kommt vor die erste und dann knnen wir das Wort in der erstenZeile erraten zwei: 3., 5., 1., 6., 2., 4. Insbesondere die zweite Zeile ist aufschlussreich.Als Wort springt hier Kraft ins Auge. Wenn die Spalte entsprechend angeordnet werden,ergibt sich schnell der Klartext: zwei kernkraftwerke von denen eines kuerzlich krankwar sitzen auf einem baum und stricken

    23

  • 4. Blockchiffren

    4.1. Allgemeines

    Wir bleiben zunchst noch bei den symmetrischen Verschlsselungsverfahren und versu-chen durch eine Vergrerung des Schlsselraums die Verfahren sicherer zu machen. ImFolgenden beschrnken wir uns auf (rechnerfreundliche) Bitfolgen, d. h. wir arbeiten mitTeilmengen von Z2.Definition 4.1 (Blockchiffre)Bei einer Blockchiffre wird der Klartext in Blcke einer frei whlbaren, aber festenLnge n (z. B. 32, 64 oder 128 Bit) zerlegt. Diese wird als Blocklnge bezeichnet. EineVerschlsselungsfunktion f : MK C erzeugt unter Verwendung eines Schlssels k KGeheimtextblcke c = f(m,k) der gleichen Lnge.

    Damit eine Entschlsselung des Textes mglich ist, muss die Verschlsselung bijektivsein und da sie von Zn2 auf Zn2 abbildet, ist sie eine Permutation der 2n mglichen Blcke.Es gibt also 2n! mgliche Funktionen zur Verschlsselung.

    Ein kleines Gedankenspiel: Fr die Blocklnge n = 64 gibt es 264! mgliche Verschls-selungen und damit genau soviele Schlssel. Um einen solchen Schlssel abspeichernzu knnen, bentigt man l = log2(2

    64!) Bit. Mit Hilfe der Stirling-Formel kann man dieGre eines solchen Schlssels abschtzen:

    2n!

    2 2n (2ne

    )2nl log2

    (2 232

    (264e

    )264)6 64 264 = 26+64

    Es wrden also zum Abspeichern eines Schlssels fr eine Nachricht 18 220 105 Pebibyte

    bentigt. In der Praxis kann man also nur mit kleinen Teilmengen des Schlsselraumsarbeiten.

    Fr affine Chiffren werden beispielsweise {0,1}-Matrizen vom Typ 64 64 verwendet,deren Determinante 1 ist. Die Darstellung des Schlssels ist also mit weniger als 64 64 =212 Bit (im Vergleich zu 270 Bit) mglich.

    Die Hintereinanderschaltung von verschiedenen Blockchiffren fhrt zu einer Erhhungder Sicherheit. Oft realisiert man eine abwechselnde Folge von Substitutionen undTranspositionen mit dem Ziel die folgenden beiden Eigenschaften der Verschlsselung,die auf CLAUDE SHANNON, den Begrnder der Informationstheorie, zurckgehen, zuerreichen:

    Knnen dieseEigenschaftennicht schon eherkommen? Im1. Kapitel

    Diffusion: Eine nderung eines Klartextbits bewirkt die nderung von vielen Bitsdes Geheimtexts.

    24

  • 4.2. Blockverknpfungsmodi

    fK

    m2

    c2

    m1

    c1

    fK fK

    c3

    m3

    Abbildung 4.1.: Electronic Code Book

    m1

    IV

    c1

    fK

    c2

    fK

    m3

    c3

    fK

    m2

    Abbildung 4.2.: Cipher Block Chaining

    Konfusion: Jedes Bit des Chiffretextes hngt von mehr als einem Bit des Schlsselsab.

    4.2. Blockverknpfungsmodi

    Bei der Verschlsselung knnen gleiche Blcke gleich verschlsselt werden in Analogiezur monoalphabetischen Verschlsselung oder sie werden in Abhngigkeit von ihrerPosition im Klartext auf verschiedene Weise verschlsselt in Analogie zur polyalphabeti-schen Verschlsselung.

    Die erste Variante bezeichnet man als Electronic Code Book Mode (ECB). Jeder Blockwird unabhngig von seiner Position mit Hilfe des Schlssels durch die Funktion f ineinen Geheimtextblock berfhrt. (siehe Abbildung 4.1)

    ci = EK(mi) mi = DK(ci)

    Dies hat den Vorteil, dass die Verschlsselung aller Blcke parallel ablaufen kann.Jedoch bleiben die Anomalien des Klartextes (hufigeres Auftreten bestimmter Blcke)erhalten. Da sich nderungen an einem Klartext- oder Chiffretextblock nur auf genaueinen Klartext bzw. Chiffretextblock auswirken, knnte ein Angreifer gezielt Daten ver-ndern, ohne dass es bemerkt wird. Jedoch bietet dieser Umstand auch die Mglichkeiteinzelne Blcke gezielt zu entschlsseln oder zu verndern, ohne die ganze Nachrichtentschlsseln zu mssen. Fr eine Dateiverschlsselung z. B. knnte gezielt der neueKlartextblock verschlsselt und in dem Geheimtext ersetzt werden.

    Beim Cipher Block Chaining Mode (CBC) wird der Klartextblock vor der Verschls-selung mit dem Ergebnis der Verschlsselung des vorherigen Blocks verknpft, um frgleiche Klartextblcke unterschiedliche Geheimtextblcke zu erzeugen. Dies bringt jedochdie Nachteile mit sich, dass die Verschlsselung der Blcke nicht mehr parallel ablaufenkann und dass bei einer nderung eines Klartextblocks alle folgenden Geheimtextblckeneu berechnet werden mssen. (siehe Abbildung 4.2)

    ci = EK(mi ci1) mi = DK(ci) ci1

    25

  • 4. Blockchiffren

    m1

    c1 c2

    m3

    c3

    m2

    K

    f

    K

    f

    K

    f IV

    Abbildung 4.3.: Cipher Feedback

    m1

    c1 c2

    m3

    c3

    m2

    K

    f

    K

    f

    K

    f

    IV

    Abbildung 4.4.: Output Feedback

    Eine Vernderung des r-ten Geheimtextblocks ndert nur den r-ten Block und denfolgenden Klartextblock:

    DK(cr) cr1 6= mrDK(cr+1) cr 6= mr+1

    DK(cr+2) cr+1 = mr+2

    Cipher Feedback Mode (CFB) ist hnlich zu CBC. Der vorherige Geheimtextblockwird verschlsselt und dieses Ergebnis mit dem Klartextblock verknpft, um Anomalienim Klartext auszugleichen. (siehe Abbildung 4.3)

    ci = EK(ci1)mi mi = EK(ci1) ci

    Die Verschlsselungsfunktion fmuss nicht umkehrbar sein, da man zur Entschlsselungebenfalls die Verschlsselungsfunktion verwendet.

    Fr den Output Feedback Mode (OFB) wird aus einem Initialwert eine Folge vonverschlsselten Blcken generiert, die mit den Klartextblcken verknpft, die Geheimtext-blcke ergeben. (siehe Abbildung 4.4)

    ci = mi si mi = ci si si = EK(si1)

    Dies bringt zwei Vorteile mit sich: Zum Einen kann eine solche Folge schon vorabgeneriert werden, wodurch die eigentliche Verschlsselung, bei Vorliegen des Klartextes,

    26

  • 4.3. Crashkurs ber Restklassenringe und Matrizen darber

    mode Schreibzugriff Manipulation zerstrt . . . Anomalien im TextECB wahlfrei diesen Block unverndertCBC linear aktuellen u. nchsten Block verwischtCFB linear aktuellen u. nchsten Block verwischtOFB wahlfrei diesen Block verwischt

    Tabelle 4.1.: bersicht der Eigenschaften von ECB, CBC, CFB und OFB

    sehr schnell geht. (Vorteilhaft z. B. bei Streaming) Zum Anderen kann ein Klartextblockdirekt ausgetauscht werden, ohne dass man die folgenden Blcke oder die verschlsselteFolge neu berechnen muss: ci = ci mi mi.

    4.3. Crashkurs ber Restklassenringe und Matrizen darber

    Zwei Zahlen a, b Z sind zueinander kongruent modulo k, wenn sie bei der Divisiondurch k den gleichen Rest (0 6 r < k) lassen:

    r Z : a = b+ r k

    Wir schreiben dafr a k b oder a b (mod k).Definition 4.2Fr a Z und k N heit

    [a]k := a+ kZ = { a+ kz | z Z }

    die Restklasse von a modulo k.

    Die Menge dieser Restklassen { a+ kZ | a Z } bezeichnet mal als Faktormenge undschreibt dafr Zk = Z/kZ.

    Auf dieses Restklassensystem kann man die Addition und Multiplikation auf folgendeWeise bertragen:

    [a]k + [b]k := [a+ b]k Nullelement: [0]k[a]k [b]k := [a b]k Einselement: [1]k

    Fr jedes [a]k existiert ein inverses Element bzgl. Addition [a]k := [a]k = [k a]k. Ein Element [a]k heit genau dann Einheit des Restklassensystems, wenn ein [b]kexistiert, so dass [a]k [b]k = [1]k. In diesem Fall heit [b]k inverses Element bzgl.Multiplikation zu [a]k.

    Lemma 4.1Die Eulersche -Funktion (k) ist die Anzahl der der positiven ganzen Zahlen a 6 k an,die zu dieser teilerfremd sind:

    (k) := |{ 1 6 a 6 k | ggT(a, k) = 1 }|

    In Zk gibt es genau (k) Einheiten.

    27

  • 4. Blockchiffren

    BEWEIS:Sei U(Zk) = { a Zk | a invertierbar } die Einheitsgruppe von Zk. Die Umformung er-gibt:

    U(Zk) = { a Zk | a invertierbar }= { a+ kZ | b Z : (a+ kZ)(b+ kZ) = 1 + kZ }= { a+ kZ | b Z : a b 1 (mod k) }= { a+ kZ | ggT(a, k) = 1 }

    Den letzten Schritt in der Umformung kann man entweder einfach glauben oder u. a. imSkript zu Algebra 1 von Prof. Klshammer1 nachlesen.

    Damit ist klar, dass |U(Zk)| = |{ a+ kZ | ggT(a, k) = 1 }| = (k).

    Fr das Produkt zweier Zahlen p und q, die zueinander teilerfremd sind, ist (p q) =(p) (q), d. h. ist multiplikativ. Falls p eine Primzahl ist, dann ist (p) = p 1. Esgibt also (p) = p 1 Einheiten in Zp, womit Zp ein Krper ist.

    Die algebraische Struktur Zk = [Zk,+, ] mit dem Nullelement [0]k und dem Einsele-ment [1]k bezeichnet mal als kommutativen Ring.

    In der Kryptologie wird hufig mit dem Restklassenring modulo 26 gearbeitet: Z26 ={0,1, . . . ,25}. Im Grunde sind alle endlichen Alphabete kommutative Ringe, was denVorteil hat, dass man mit Buchstaben rechnen kann. Dies haben wir bereits bei derCaesar-Chiffre ausgenutzt.

    Der Ring Z26 hat genau 12 Einheiten, da (|Z26|) = (2 13) = (2) (13) = 1 12.Diese sind: 1,3,5,7,9,11,15,17,19,21,23,25.

    Wir betrachten n n-Matrizen, deren Eintrge Elemente aus einem beliebigen kom-mutativen Ring [R,+] sind.

    Rnn :=

    r11 r12 . . . r1nr21 r22 . . . r2n...

    ......

    rn1 rn2 . . . rnn

    rij R, 1 6 i, j 6 n

    Die Matrizenaddition und -multiplikation ist dabei wie blich.

    In der Kryptologie betrachten wir speziell die Matrizen Znnk .Als Zeilen- (Gleichung 4.1) bzw. Spaltenvektoren (Gleichung 4.2) bezeichnet man

    Matrizen der folgenden Form:

    R1n ={ (b1 b2 . . . bn

    ) bi R, 1 6 i 6 n }(4.1)Rn1 =

    { (b1 b2 . . . bn

    )T bi R, 1 6 i 6 n }(4.2)1http://uni-skripte.lug-jena.de/skripte.html?id=kuelshammer-algebra1Skript zu Algebra 1

    28

  • 4.3. Crashkurs ber Restklassenringe und Matrizen darber

    Als eine Permutation bezeichnet man eine Umordnung der Elemente eine Menge.Mit Sn bezeichnet man die Menge der Permutationen einer Menge mit n Elementen(symmetrische Gruppe).

    Sn = { | : {1, . . . , n} {1, . . . , n} }

    Fr eine Permutation Sn bezeichnet man ein Paar (i, j) {1, . . . , n}2 als Fehlstand,wenn i < j und (i) > (j) gilt.

    Die Determinante einer quadratischen Matrix A Rnn mit A = (aij)nn undaij R kann man auf zwei Weisen berechnen.

    Die Formel von LEIBNIZ fr die Determinante einer Matrix lautet:

    detA :=Sn

    sgn() ni=1

    ai(i)

    sgn() =

    {+1 : die Anzahl der Fehlstnde ist gerade1 : die Anzahl der Fehlstnde ist ungerade

    Beispiel 4.1Die Determinante einer 1 1-Matrix A = (a11) ist detA = a11, da die einzig mglichePermutation = ( 11 ) das Vorzeichen +1 hat.

    detA =S1

    sgn() 1i=1

    ai(i) =S1

    sgn()a11

    Fr eine 2 2-Matrix A gibt es zwei Permutationen 1, 2 S2:

    1 =

    (1 21 2

    ), sgn(1) = +1 2 =

    (1 22 1

    ), sgn(2) = 1

    Entsprechend ergibt sich die Determinante als

    detA =S2

    sgn() 2i=1

    ai(i) =

    {1,2}

    sgn() a1(1) a2(2)

    = sgn(1) a1(1) a2(2) + sgn(2) a1(1) a2(2) = a11a22 a12a21

    Die andere Mglichkeit ist das Verfahren von LAPLACE, bei dem nach einer Zeile oderSpalte entwickelt wird:

    detA =nj=1

    (1)i+jaijAij

    wobei Aij diejenige Matrix ist, die durch Streichen der i-ten Zeile und j-ten Spalte aus Aentsteht.

    29

  • 4. Blockchiffren

    Eine Matrix A besitzt eine zu ihr inverse Matrix A1, d. h. es gilt

    A A1 = A1 A = En =

    1 1 0...0 11

    nn

    genau dann, wenn die Determinante detA ein inverses Element in [R,+, ] besitzt, alsogenau dann, wenn detA eine Einheit des Rings [R,+, ] ist.

    Dabei gilt: A1 = BdetA , wobei (bij) = (1)i+j detAji.

    4.4. Affine Blockchiffren

    Die Zeichen des Klartexts werden durch Elemente aus Zk codiert und der Klartext wird inBlcke der Lnge n eingeteilt, die einzeln nach demselben Schema verschlsselt werden.

    Der Schlssel ist ein Paar (A, b), wobei A Znnk und b Z1nk ist. Zur Verschlsse-

    lung eines Blockes m = (m1 . . . mn) Z1nk wird die lineare Abbildung

    c = m A+ b

    verwendet. Diese Verschlsselung ist weder eine Substitution (ein Eintrag ci hngt imAllgemeinen von allen m1, . . . ,mn ab) noch keine Transposition.

    Aber nicht alle Verschlsselungen dieser Art sind auch eindeutig, d. h. eine Entschls-selung ist mglich. Dafr muss zu der Matrix A die inverse Matrix A1 existieren, wasgenau dann der Fall ist, wenn ggT(detA, k) = 1, also die Determinante von A eineEinheit von Zk ist.

    Die Entschlsselung erfolgt dann mit der Abbildung

    m = (c b)A1

    Der Spezialfall b = 0, also c = m A, ist die Hill-Chiffre (1929) und der SpezialfallA = En, also c = m+ b, ist die Vigenre-Chiffre mit dem Schlsselwort b.

    Man kann auch eine Blocktransposition als eine affine Abbildung beschreiben. Sei die fr die Blocktransposition genutzte Permutation von {1, . . . , n}. Mit b = 0 und derMatrix P = (pij)nn mit

    pij =

    {0 (i) 6= j1 (i) = j

    ergibt sich der erwnschte Effekt, dass(m1 m2 . . . mn

    ) P =

    (m(1) m(2) . . . m(n)

    )und es gilt P1 = P1 .

    30

  • 4.4. Affine Blockchiffren

    4.4.1. Kryptoanalyse affiner Blockchiffren

    Sind n+1 Klartextblckem0, . . . ,mn und die dazugehrigen Geheimtextblcke c0, . . . , cnbekannt ein Known-Plaintext-Angriff , kann man folgende zwei Matrizen definieren:

    M =

    m1 m0...mn m0

    nn

    C =

    c1 c0...cn c0

    nn

    Es gilt also

    C =

    c1 c0...cn c0

    =(m1A+ b) (m0A+ b)...(mnA+ b) (m0A+ b)

    =(m1 m0)A...(mn m0)A

    =M AWenn detM eine Einheit in Zk ist, dann existiert auch M1. Hieraus folgt dann

    A =M1C und weiter b = c0 m0A.

    Bemerkung 4.1Dies kommt nicht zu selten vor, dass detM eine Einheit ist, denn es gilt:

    lim supk

    (k)

    k= 1 und lim

    k (k)k1 =fr > 0.

    Fr Z26 gibt es z. B. (26) = 12 Einheiten.

    Bemerkung 4.2In einer halbgeordneten2 Menge kann man definieren:

    lim supk xk = inf { sup{xl | l > k} : k N }

    In vollstndigen Verbnden existiert stets der Limes superior und Limes inferior und esgilt lim infk xk 6 lim supk xk.

    Fr Hill-Chiffren (d. h. b = 0) gengen n Paare (mj, cj), da die Matrix C nicht als(ci c0) definiert werden muss, um den Anteil von b zu eliminieren. Damit knnen auchfr die Matrix M direkt die Klartextblcke verwendet werden.

    Beispiel 4.2Es sei k = 26 und n = 2. Der Klartext sei HERBST und der Geheimtext sei SOMMER.Die Aufgabe ist den Schlssel (A, b) zu bestimmen.

    Der Klartext HERBST wird durch 7 4m0

    17 1m1

    18 19 m2

    und der Geheimtext SOMMER

    durch 18 14 c0

    12 12 c1

    4 17c2

    codiert.

    2Eine Halbordnung ist eine transitive, reflexive und antisymmetrische Ordnungsrelation.

    31

  • 4. Blockchiffren

    Damit kann man nun die Matrizen M und C bestimmen:

    M =

    (m1 m0m2 m0

    )=

    (17 7 1 418 7 19 4

    )=

    (10 2311 15

    )C =

    (c1 c0c2 c0

    )=

    (12 18 12 144 18 17 14

    )=

    (20 2412 3

    )(Beachte: Die Elemente sind aus Z26, immer den Rest der Division durch 26 verwenden.)

    Nun kann man die Determinante von M bestimmen und da diese eine Einheit ist,existiert M1.

    detM =(

    10 2311 15

    )= 10 15 23 11 = 1

    M1 = (detM)1 B = 1 (

    15 315 10

    )(Fr die Bestimmung von B siehe Abschnitt 4.3.)

    Damit lsst sich jetzt die Matrix A und der Vektor b bestimmen.

    A =M1 C =(

    15 315 10

    )(

    20 2412 3

    )=

    (24 54 0

    )b = c0 m0 =

    (18 14

    )(7 4

    )(

    24 54 0

    )=(18 14

    )(2 9

    )=(16 5

    )Der einzige Schutz bei affinen Verschlsselungen besteht darin, den Schlsselraum

    mglichst gro zu machen, um die Berechnungen bei einem Angriff aufwendiger werdenzu lassen.

    4.5. Feistel-Chiffre

    Die Idee zur Feistel-Chiffre wurde 1971 bei IBM in dem Projekt Lucifer entwickeltund ist heute Grundlage fr viele symmetrische Blockchiffren unter anderem dem heuteam hufigsten eingesetzten Verschlsselungsalgorithmus DES dazu spter mehr inAbschnitt 4.6. Als Erfinder der Feistel-Chiffre gilt HORST FEISTEL, ein Mitarbeiter desProjekts.

    Bei der Feistel-Chiffre werden die Klartextblcke durch eine alternierende Folge vonSubstitutionen und Transpositionen verschlsselt. Die Substitutionen werden in sogenann-ten S-Boxen durchgefhrt und dienen dazu, die Konfusionseigenschaft der Verschlsse-lung zu sichern. Die Transpositionen werden in sogenannten P-Boxen (von Permutation)durchgefhrt, um die Diffusionseigenschaft der Verschlsselung zu erzeugen.3

    Einen einzelnen Durchlauf von Substitution und Transposition bezeichnet man als Run-de. Eine (Block-)Chiffre mit mehreren Runden bezeichnet man als iterierte Blockchiffre.

    3Konfusion und Diffusion sind nach CLAUDE SHANNON zwei wichtige Eigenschaften einer Verschlsselung.

    32

    http://de.wikipedia.org/wiki/Lucifer_(Kryptographie)

  • 4.5. Feistel-Chiffre

    m

    R0L0

    k1f

    L1 R1

    k2f

    Lr Rr

    c

    Lr1 Rr1

    krf

    Rr2Lr2

    kr1f

    L2 R2

    ...

    ...

    1. Runde

    2. Runde

    (r 1). Runde

    r. Runde

    Abbildung 4.5.: Schematische Darstellung des Feistel-Netzwerks

    Die einzelnen Schlssel fr jede Runde (Rundenschlssel genannt) werden dabei auseinem (Haupt-)Schlssel erzeugt.

    Eine Nachricht m Zn2 der Lnge n (o. B. d. A. sei n gerade) wird in zwei gleichlangeTeile L0 und R0 zerlegt. Aus diesen beiden wird unter Verwendung des Rundenschls-sels ki durch die Zuordnung in Gleichung 4.3 ein neuer linker Teil L1 und ein neuerrechter Teil R1 gewonnen. Diese beiden Zeichenketten wiederum werden als Eingabefr die nchste Runde verwendet. Die Rundenzahl r bestimmt dabei, wie oft ein solcherDurchlauf stattfindet. In der letzten Runde wird die leicht modifizierte Vorschrift ausGleichung 4.4 verwendet, bei der die Transposition entfllt.

    Li = Ri1

    Ri = Li1 fki(Ri1)fr i = 1, . . . , r 1(4.3)

    Lr = Lr1 fkr(Rr1)Rr = Rr1

    (4.4)

    Dieses Schema bezeichnet man als Feistel-Netzwerk und eine Verschlsselung, diedanach arbeitet, nennt man eine Feistel-Chiffre.

    (Li1, Ri1)Substitut.

    (Li1 fki(Ri1), Ri1

    ) Transposit. (Ri1, Li1 fki(Ri1))Dabei bezeichnet das Exclusive-Oder xor bzw. die Addition modulo 2.

    Die Grafik ragtber die Rnderhinaus.

    33

  • 4. Blockchiffren

    Fr die Entschlsselung einer Nachricht kann man den gleichen Algorithmus mitder umgekehrten Schlsselfolge k i := kr+1i (fr i = 1, . . . , r) auf c = (L

    0, R0) =

    (Lr, Rr) anwenden und einfach die verschlsselte Nachricht nochmals verschlsseln. Dieshat zum Einen den Vorteil, dass man die gleiche Hard-/Software auf der Sender- undEmpfngerseite einsetzen kann, und zum Anderen kann die Funktion f sehr kompliziertsein, da man nicht deren inverse Funktion bentigt.

    Bei der Entschlsselung gilt in allen Runden i = 1, . . . , r der Zusammenhang (L i, Ri) =

    (Rri, Lri) und fr die letzte Runde ergibt sich dann der Klartext der Nachricht als(L r, R

    r) = (L0, R0), da die Ausgabe des letzten Schritts die vertauschte Ausgabe der

    normalen Runden ist.

    (L 1, R1) =

    (R 0, L

    0 fk 1(R

    0))

    nach (4.3)

    =(Rr, Lr fkr(Rr)

    )nach IV.

    =(Rr1,

    (Lr1 fkr(Rr1)

    ) fkr(Rr1)

    )nach (4.4)

    = (Rr1, Lr1) da a a = 0

    (L n, Rn) =

    (R n1, Ln1 fk n(R

    n1)

    )nach (4.3)

    =(Lrn+1, Rrn+1 fkr+1n(Lrn+1)

    )nach IV.

    =(Rrn,

    (Lrn fkrn+1(Rrn)

    ) fkr+1n(Rrn)

    )nach (4.3)

    = (Rrn, Lrn)

    Da die Schlsselfolge k1, . . . , kr fr die Ver- und Entschlsselung aus dem gleichen(Haupt-)Schlssel erzeugt wird, ist die Feistel-Chiffre eine symmetrische Verschlsselung.

    Die Sicherheit der gesamten Verschlsselung beruht auf der Eigenschaft, dass dieSubstitution, genauer die Funktion fki , eine nichtlineare Transformation ist. Wre fkieine lineare Transformation, so wre auch die Verkettung von Substitution und Trans-position4 in jeder Runde eine lineare Transformation. Man knnte also den gesam-ten Verschlsselungsvorgang mit einer einzigen linearen Gleichung beschreiben. DieFunktion ist linear, da sich leicht zeigen lsst, dass f(ax + by) = af(x) + bf(y) mitf(x) = f(x1, x2) = x1 x2 = x1 + x2 (mod 2) fr x1, x2 F2 folgt.

    Ist die Funktion f eine kryptographisch sichere Pseudozufallsfunktion, so haben MI-CHAEL LUBY und CHARLES RACKOFF gezeigt[17], reichen drei Runden um eine Pseu-dozufallspermutation zu erreichen. Mit vier Runden bekommt man sogar eine starkePseudozufallspermutation.5

    4.6. DES Data Encryption Standard

    Der Data Encryption Standard (DES) wurde in den 1970ern von IBM fr eine Ausschrei-bung des US National Bureau of Standards6 entwickelt. Er basiert auf den vorangegan-

    4(R L

    )=(L R

    ) ( 0 11 0 )

    5Geklaut aus der englischen Wikipedia, die selbst auf [17] verweist.6wurde spter in National Institute of Standards and Technology (NIST) umbenannt

    34

    http://en.wikipedia.org/wiki/Feistel_cipherhttp://www.nist.gov/

  • 4.6. DES Data Encryption Standard

    genen Entwicklungen des Projekts Lucifer, das die Feistel-Chiffre entwickelt hatte. Am23. November 1976 wurde DES als Standard fr die Verschlsselung in den amerikani-schen Bundesbehrden anerkannt und im Januar 1977 erfolgte die Verffentlichung alsFIPS PUB 46[21]. Weitere Ergnzungen gab es in den folgenden Jahren.

    Die International Organization for Standardization (ISO) bernahm den Algorithmusunter der Bezeichnung Data Encipherment No. 1 (DEA-1) in ihr Verzeichnis.

    Die Kryptographen ELI BIHAM und ADI SHAMIR entwickelten gegen Anfang der 90erJahre die differentielle Kryptoanalyse als Spezialform der Kryptoanalyse. Dabei wirduntersucht, wie sich der Geheimtext bei unterschiedlichen Eingaben ndert. Das Verfahrenwandten sie auch auf DES an.[19][20] Es zeigte sich, dass der DES einer differentiellenKryptoanalyse stand hlt, da man 247 frei gewhlte Klartexte dafr bentigt. NachAngaben von IBM war dieser Angriff seit 1974 bekannt und es wurde entsprechendeGegenmanahmen bei der Entwicklung getroffen.[22]

    Die fortschreitende Weiterentwicklung der Rechenkraft fhrte letztlich dazu, dass einBrute-Force-Angriff gegen DES erfolgreich ist. Nach vielen theoretischen berlegungenwurde 1997 das erste Mal eine verschlsselte Nachricht gebrochen. Ein Jahr spter gelingtes der Electronic Frontier Foundation (EFF) mit dem eigens dafr angefertigten Super-computer Deep Crack, der 88 Milliarden Schlssel pro Sekunde testen konnte, binnen56 Stunden eine Verschlsselung zu brechen. Ein halbes Jahr spter, im Januar 1998,gelang es durch die Zusammenarbeit von Deep Crack und distributed.net einen DES-Schlssel in 22 Stunden und 15 Minuten zu ermitteln mehr als 245 Milliarden Schlsselwurden pro Sekunde getestet.

    Im Jahr 2004 wird die Absetzung von DES als Standard fr die Verschlsselung deramerikanischen Bundesbehrden widerrufen, was ein Jahr spter realisiert wird. Seit2002 ist der Advanced Encryption Standard (AES) als neuer Algorithmus in Kraft.

    Der Data Encryption Standard ist eine symmetrische Blockchiffre und arbeitet miteinem Feistel-Netzwerk (Abbildung 4.5). Die Schlssellnge fr die Verschlsselungbetrgt 64 Bit, wobei ein Bit pro Byte als Prfbit verwendet wird, was den effektivenSchlsselraum K = {0,1}56 auf 56 Bit reduziert.

    DES arbeitet mit 16 Runden. Aus dem Schlssel k K werden 16 Teilschlsselk1, k2, . . . , k16 der Lnge 48 Bit generiert, die jeweils in einer Runde verwendet werden.

    Die Nachricht wird in Blcke m der Lnge 64 aufgeteilt und nach einer initialenPermutation7 (IP) in den 16 Runden transformiert und anschlieend noch einmal mitIP1 permutiert.

    In der ersten Runde wird gem des Feistel-Netzwerks die Eingabe in eine linke undrechte Hlfte (L, R) geteilt. Die Ausgabe der Runde (Li, Ri) wird durch Li = Ri1 undRi = Li1 fki(Ri) mit i > 0 erzeugt, wobei die Verschlsselungsfunktion f wie folgtaufgebaut ist:

    1. Diffusionsschritt: Aus den 32 Bit von R wird ein 48-Bit-Wort R1 erzeugt.

    7Die initiale Permutation hat keinen Einfluss auf die Sicherheit des Algorithmus. Sie wurde damalseingefhrt, um das Laden der Daten in den Chip zu vereinfachen. Da die Realisierung der IP in Softwarejedoch schwieriger ist, wird sie manchmal weggelassen. Eine derartige Implementierung darf jedochnicht den Namen DES tragen.

    35

    http://distributed.net

  • 4. Blockchiffren

    Rki

    D

    S7

    6

    4S8

    4

    6

    S1

    6

    4S2

    6

    4

    P

    L R

    L

    48

    3248

    48

    32

    32

    3232

    f

    Abbildung 4.6.: Schematische Darstellung des Ablaufs in einer Runde beim DES

    2. Verknpfung mit dem Rundenschlssel: R2 = R1 ki.

    3. Konfusionsschritt: aus R2 wird durch eine nicht lineare Transformation S ein 32-Bit-Wort R3 erzeugt. Dazu wird R2 in 8 Worte der Lnge 6 zerlegt und diese werdenjeweils in einer eigenen S-Box Si (1 6 i 6 8) zu 8 Worten der Lnge 4 verarbeitet.Diese aneinander gereiht ergeben das 32-Bit-Wort R3.

    4. Permutation: Die Ausgabe von f wird durch eine Blocktransposition (P-Box) aus R3erzeugt.

    Der Ablauf ist in Abbildung 4.6 dargestellt. Fr die genauen Vorschriften zur Berechnungder Diffusion, Konfusion und Permutation siehe FIPS PUB 46[21]. Leider ist derenmathematischer Hintergrund nur teilweise bekannt[22] und sie knnen nur als starreOperationen verstanden werden.

    Aber es lsst sich zeigen, dass die beiden Eigenschaften einer Verschlsselung nachCLAUDE SHANNON erfllt sind: Die nderung der Eingabe in einer S-Box in einem Bitndert die Ausgabe in mindestens zwei Bit Diffusion und jedes Ausgabebit hngtnach fnf Runden von allen Schlssel- und Klartextbits ab Konfusion.

    Die Abbildung DESk : Z642 Z642 sei die gesamte Transformation (vom IP bis zum IP

    1)des DES. Da der DES aufgrund seines kurzen Schlssels nicht mehr als sicher gilt, aber imLaufe der Jahre sehr viele Implementationen des Algorithmus in Hardware und Softwaregeschaffen wurden, schaltet man einfach mehrere DES-Verschlsselungen hintereinander,um die Sicherheit zu erhhen.

    Diese Kaskadierung von mehreren DES-Verschlsselungen ist nur deshalb sinnvoll,weil DES keine Gruppeneigenschaft besitzt, d. h. fr zwei Schlssel k1 und k2 gibt esim Allgemeinen keinen Schlssel k3, so dass DESk3 die gleiche Abbildung beschreibt

    36

  • 4.6. DES Data Encryption Standard

    wie DESk1 DESk2 . Wre DES abgeschlossen bzgl. Verkettung (bese also die Grup-peneigenschaft), so knnte man statt der Verkettung DESk1 DESk2 die einfache Ver-schlsselung DESk3 angreifen, der Schlsselraum htte sich also nicht vergrert. Esgilt sogar, dass die Gruppe von Verschlsselungen, die durch beliebige Verkettungenvon DES-Verschlsselungen erzeugt wird, mehr als 102499 Verschlsselungen umfasst.[4,S. 258][23]

    Eine Variante ist es, den Geheimtext noch einmal zu verschlsseln: (DESk1 DESk2) Wenn k1 = k2 ist, bringt dies keine wesentliche Erhhung der Sicherheit, da

    es einfach nur die Rundenzahl erhht.

    Der Fall k1 6= k2 schafft eine echte Vergrerung des Schlsselraums auf2112 Schlssel. Jedoch kann man mit einem Meet-in-the-Middle-Angriff diemaximale Anzahl der Versuche auf 257 beschrnken, bentigt dafr aberextrem viel Speicherplatz. Ist zu einem Klartext m der Geheimtext c bekannt(Known-Plaintext-Angriff), kann man damit das Paar (k1, k2) ermitteln.

    1. Berechne und speichere DESk1(m) fr alle Schlssel k1 (256 Stck).

    2. Berechne und speichere DES1k2 (c) fr alle Schlssel k2 (256 Stck).

    3. Vergleiche beide Listen auf identische Eintrge.

    Somit hat man bei n Schlsseln nach 2n Berechnungen (anstelle von n2)und O(n logn) Vergleichen das Schlsselpaar (k1, k2) gefunden, fr das giltDESk2(DESk1(m)) = c.

    Unter Umstnden gibt es mehrere Schlsselpaare, die die Bedingung erfllen.Dann bentigt man ein zweites Klartext-Chiffretext-Paar und muss damit dasVerfahren nochmal wiederholen.

    Eine Verkettung der Form DESk1 DES1k2 DESk3 bezeichnet man als Triple-DES

    (3DES). Der Standard schlgt folgende Kombinationen von Schlsseln vor:

    k1 = k2 = k3: Damit ergibt sich der einfache DES; Die Idee dieser Variante ist,dass man mit einer Triple-DES-Implementation weiterhin einen einfachen DESuntersttzen kann.

    k1 = k3 unabhngig von k2: Diese Variante lsst sich leicht mit einem Chosen-Plaintext-Angriff, der ungefhr 256 Schlssel und 256 Speicherpltze bentigt,brechen.

    alle drei Schlssel unabhngig voneinander: Damit erreicht man eine echteVergrerung des Schlsselraums.

    Bemerkung 4.3Nach dem Prinzip der Feistel-Chiffre wre die Entschlsselung DES1k eine Verschlsse-lung DESkR mit dem umgekehrten Schlssel k

    R. Da aber der DES noch eine Erzeugungder Teilschlssel aus k umfasst, ist kR nicht der permutierte Schlssel, der bei der Ent-schlsselung DES1k verwendet wird.

    37

  • 4. Blockchiffren

    4.6.1. Ein Beispiel einer vereinfachten DES-Verschlsselung

    Zur Vereinfachung des ganzen, sei die Blocklnge n = 12 (statt 64) und der (Haupt-)Schlssel k habe die Lnge 9 (statt 64). Damit sind die beiden Teilblcke L und R 6 Bitlang. Die initiale Permutation IP und die Permutation im 4. Schritt seien die Identitt,sprich diese Schritte entfallen.

    Die Rundenschlssel k1, . . . , kr Z82 werden aus dem Schlssel k = (0 . . . 8) nachfolgender Vorschrift erzeugt:

    ki+1 =(i (mod 9) i+1 (mod 9) . . . i+7 (mod 9)

    )0 6 i < r

    Dadurch wiederholen sich die Rundenschlssel zyklisch ab der 10. Runde; ki = ki+9 =ki+18 = .

    Die Diffusion D : Z62 Z82 fr den ersten Schritt sei folgende lineare Abbildung

    D() = D((1 2 . . . 6

    )) =

    (1 2 4 3 4 3 5 6

    )

    =

    1 0 0 0 0 0 0 00 1 0 0 0 0 0 00 0 0 1 0 1 0 00 0 1 0 1 0 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1

    Es soll auch nur zwei S-Boxen geben, die aus einer Eingabe von 4 Bit eine Ausgabe von

    3 Bit erzeugen. In Anlehnung an den Standard seien diese in Form einer 2 8-Tabellemit Eintrgen aus {0, . . . ,7} gegeben.

    S1 =

    (5 2 1 6 3 4 7 01 4 6 2 0 7 5 3

    )S2 =

    (4 0 6 5 7 1 3 25 3 0 7 6 2 1 4

    )Fr eine Eingabe = (1 . . . 4) ist das Ergebnis der Transformation in der (1 + 1)-ten Zeile und in der (22 2 + 2 3 +4)-ten Spalte abzulesen. Das erste Bit kodiert alsodie Zeile (0 fr die erste, 1 fr die zweite) und die verbleibenden drei Bits beschreibenals Binrzahl interpretiert die Spalte (000 die erste, 111 die achte).

    Beispiel 4.3Wie sieht nun der Ablauf in der 4. Runde aus, wenn der Schlssel k = (0100 11001)lautet und die Eingabe (001 111 101 011) ist?

    Der Rundenschlssel k4 lautet also (0110 0101). Fr die Rundenfunktion f(101 011)ergeben sich folgende Teilergebnisse:

    1. Diffusion: R1 = D(101 011) = (1001 0111)

    2. Addition des Rundenschlssels: R2 = (1001 0111) (0110 0101) = (1111 0010)

    38

  • 4.6. DES Data Encryption Standard

    3. Konfusion: Zerlegung von R2 in zwei Teile und Ersetzung anhand der S-BoxenS1(1 111) = 3 = (011) und S2(0 010) = 6 = (110).

    Das Ergebnis der 4. Runde lautet also (101 011 011 110).

    4.6.2. Differentielle Kryptoanalyse des DES mit einer Runde

    Die differentielle Kryptoanalyse wurde Ende der 1980er von ELI BAHIM und ADI SHA-MIR entwickelt. Dabei wird die statistische Verteilung der Abstnde der Ausgaben (vomgesamten oder von Teilen des Algorithmus) in Abhngigkeit von den Abstnden derEingaben untersucht. Treten einige Abstnde hufiger als andere auf, so kann man daraufaufbauend, versuchen den Schlssel zu ermitteln. Diese Methode des Angriffs war IBMbeim Entwurf des DES bereits bekannt und so wurden entsprechende Gegenmanahmenergriffen; siehe [22].

    Um mit einer differentiellen Kryptoanalyse den Schlssel k = (1 . . . r) erlangen zuknnen, muss sich der Angreifer zu jedem beliebigen Klartext den Geheimtext beschaffenknnen (Chosen-Plaintext-Angriff). Auerdem muss er die Kenntnis ber alle Teile desAlgorithmus haben. Die differentielle Kryptoanalyse des DES sttzt sich auf zwei Punkte:

    Da der Diffusionsschritt unabhngig vom Rundenschlssel ki ist, kann man alsodas Ergebnis der Diffusion fr einen beliebigen Klartext berechnen.

    Danach kommt die Addition des Rundenschlssels. Dabei gilt aber, dass die Diffe-renz a b zwischen zwei Blcken a und b sich nicht ndert, wenn zu jedem Blockderselbe Wert (Rundenschlssel) addiert wird: a b = (a ki) (b ki).

    Fr zwei Klartexte kann man also aus der Kenntnis ber die Ergebnisse der Diffusionauf die Differenz der Ergebnisse der Schlsseladdition schlieen.

    Dieses Wissen ber die Eingabe in die S-Box und die Ausgabe der S-Box, den Ge-heimtext (wobei man wieder die Berechnung der P-Box rckgngig machen kann),kann man ausnutzen, um die Menge der mglichen Eingabewerte in die S-Box ein-zugrenzen. Damit kann man dann die Menge der mglichen Schlssel eingrenzenbzw. mit mehreren Klartext-Geheimtext-Paaren den Schlssel bestimmen.

    Fr zwei Eingabeblcke a, a Zm2 und einen S-Box S : Zm2 Zn2 des Konfusionsschrittsheit a = a a Zm2 Eingabedifferenz (Input-Differenz) und S1(a) S1(a) Zn2Ausgabedifferenz (Output-Differenz). Beim DES ist m = 6 und n = 4, in dem Beispielin Abschnitt 4.6.1 ist m = 4 und n = 3.

    Fr ein festes a 6= 0 Zm2 gibt es genau 2m1 Mengen8 der Form {a, a}, fr diea a = a ist. Theoretisch sind 2n verschiedene Ausgabedifferenzen S(a) S(a) Zn2mglich, jedoch sind fr einige Eingabedifferenzen (insgesamt gibt es 2m 1) dieErgebnisse einiger S-Boxen nicht gleichverteilt.

    8Man hat 2m Mglichkeiten fr die Wahl von a. a ist dann fest a = a a. Da die Menge ungeordnet ist,entfllt die Hlfte der Mglichkeiten.

    39

  • 4. Blockchiffren

    Beispiel 4.4Die S-Box sei die S1 aus Abschnitt 4.6.1 und die Eingabedifferenz sei a = (0011). Esergeben sich damit folgende Mengen {a, a} mit ihren Ausgabedifferenzen. Die Ausgabe-differenz (011) tritt dabei in 6 von 8 Fllen auf.

    a a S1(a) S1(a) S1(a) S1(a)(0000) (0011) (101) (110) (011)(0001) (0010) (010) (001) (011)(0100) (0111) (011) (000) (011)(0101) (0110) (100) (111) (011)(1000) (1011) (001) (010) (011)(1001) (1010) (100) (110) (010)(1100) (1111) (000) (011) (011)(1101) (1110) (111) (101) (010)

    Die Eingabe der i-ten Runde sei der Block (Li1, Ri1), wobei fr fki nur Ri1 relevantist. Der Ablauf ist nun wie folgt:

    1. Diffusion: d = D(Ri1)

    2. Schlsselverknpfung: a = d ki

    3. Konfusionsschritt: Zerlegung von a in Blcke a` der Lnge m und Transformationdieser in der jeweiligen S-Box S`.

    4. (Permutationsschritt:) Dieser muss nicht betrachtet werden, da man diesen Schrittausgehend vom Geheimtext einfach rckgngig machen kann.

    Teilt man bereits das Ergebnis der Diffusion D(Ri1) in Blcke d` und den Runden-schlssel ki in Blcke k`i entsprechend der S-Box, in die das Ergebnis der Schlsselver-knpfung D(Ri1) ki gelangt, so kann man das Ergebnis der Rundenfunktion wie folgtdarstellen:

    fki(Ri1) =(S1(a

    1) S2(a2) . . . S`(a`) . . .

    )=(S1(d

    1 k1i) S2(d2 k2i) . . . S`(d` k`i) . . .)

    Fr zwei verschiedene Eingaben Ri1 und Ri1 in der i-ten Runde ist die Eingabediffe-renz der `-ten S-Box

    a` a` = (d` k`i) (d` k`i) = d` d`(4.5)

    Man kann also aus der Ausgabe des Diffusionsschritts (1. Schritt) Rckschlsse auf dieEingabe des Konfusionsschritts (3. Schritt) ziehen. Die Ausgabedifferenz der `-ten S-Boxist

    S`(a`) S`(a`) = S`(d` k`i) S`(d` k`i)

    40

  • 4.6. DES Data Encryption Standard

    Sind die Ausgaben des Diffusionsschritts d` und d` und die Ausgabedifferenz desKonfusionsschritts S`(a`)S`(a`) bekannt, so kann man mit Hilfe dieser Gren ber diebekannte Verteilung der Eingabe- und Ausgabedifferenzen fr die S-Box S` die Menge dermglichen Eingaben {a`, a`} in die S-Box bestimmen. ber die Beziehung a` = d` k`iergibt sich so eine Einschrnkung fr den Teilrundenschlssel k`i.

    Beispiel 4.5Das Beispiel bezieht sich auf den vereinfachten DES aus Abschnitt 4.6.1. Es soll nur umdie Betrachtung der S-Box S1 (` = 1) gehen. Die Ausgaben des Diffusionsschritts seiend1 = (0101) und d1 = (0110). Die Ausgabedifferenz der S-Box sei (010).

    Die Eingabedifferenz der S-Box ist nach Gleichung 4.5 d1 d1 = (0011). Laut der Auf-stellung in Beispiel 4.4 sind als Eingabe a1 in die S-Box die Werte {(1001), (1010), (1101),(1110)} mglich.

    Daraus ergeben sich durch die Beziehung k1i = d1a1 als mgliche Teilrundenschlssel

    {(1100), (1111), (1000), (1001)}.

    Mit mehreren Klartextblcken kann man so verschiedene Schlsselmengen ermitteln.Der tatschliche Schlssel liegt im Durchschnitt aller Schlsselmengen.

    4.6.3. Differentielle Kryptoanalyse des DES mit drei Runden

    Diese berlegungen fr eine Runde, lassen sich auch auf ein System mit drei Rundenerweitern. (L0, R0) und (L0, R0) seien die Eingabe, wobei der rechte Teil bei beidengleich ist, und (L3, R3), (L3, R3) die zugehrigen Geheimtextblcke. L3 bestimmt sich lautFeistel-Netzwerk (Gleichung 4.3 und Gleichung 4.4) als

    L3 = L2 fk3(R2) = R1 fk3(R2) = L0 fk1(R0) fk3(R2)

    Analog gilt L3 = L0 fk1(R0) fk3(R2). Die Ausgabedifferenz der dritten Runde ist also

    L3 = L3 L3 = L0 L0 fk3(R2) fk3(R2)

    Die Eingabedifferenz L0 = L0 L0 ist bekannt. Da die Permutation (4. Schritt) einelineare Abbildung (g(a) + g(b) = g(a + b)) ist, erhlt man die Ausgabedifferenz desKonfusionsschritts

    L3 L0 = fk3(R2) fk3(R2) = P(S(a3)

    ) P

    (S(a3)

    )= P

    (S(a3 a3)

    )Da R3 = R2 (Gleichung 4.4) ist, kann man fr fk3(R2) die Diffusion D(R2) bestimmen.

    Damit hat wieder wieder die Situation wie im Fall mit einer Runde erreicht: Man kenntdie Ausgabe des Diffusionsschritts fr fk3(R2) und fk3(R2) und man kennt die Ausgabe-differenz des Konfusionsschritts S(a) S(a). Man ist also in der Lage, den Schlssel frdie 3. Runde zu bestimmen. Mit diesem Schlssel kann man dann fk3(R2) und damitL2 = L3 fk3(R2) bestimmen.

    Fr den Schlssel der zweiten Runde kann man direkt die Ausgabedifferenz desKonfusionsschritts bestimmen, denn R2 = L1 fk2(R1) = R0 fk2(R1). Die Diffusion

    41

  • 4. Blockchiffren

    D(R1) = D(L2) lsst sich wieder berechnen und damit besteht wieder eine Situation wieim Fall mit einer Runde. Danach verbleibt nur noch eine Runde.

    Beispiel:

    (L0, R0) = (000 111, 011 011)

    (L 0, R0) = (101 110, 011 011)

    (L3, R3) = (100 101, 000 011)

    (L 3, R3) = (011 000, 100 100)

    Ziel: Bestimme den Schlssel K (bzw. Einschrnkung der Mglichkeiten)

    R2 = R3 = (000 011) D(R2) = (0000, 0011) = (A, B)

    R 2 = R3 = (100 100) D(R

    2) = (1010, 1000) = (A

    , B )

    Eingabedifferenz in S-Box S1 = A A = (1010)Ausgabedifferenz von S1: linke Hlfte von L3 L0

    linke Hlfte von L3 L0

    L3 = (100 101) (011 000) = (111 101)L0 = (000 111) (101 110) = (101 001)

    L3 L0 = (010 100)

    Die Ausgabedifferenz von S1 ist (010). kam in der Tabelle oben (siehe Beispiel 4.4)zweimal vor. A {(0011), (1001)}KL3 = A A = {(0011), (1001)} zwei Mglichkeiten.

    S2 =

    (4 0 6 5 7 1 3 25 3 0 7 6 2 1 4

    )B =

    (1 0 1 1

    )Eingabedifferenz der S-Box S2:

    B B = (0011) (1000) = (1011)

    Ausgabedifferenz der S-Box S2: rechte Hlfte von L3 L0: (100).liefert die Schlssel KR3 {(1111), (0100)} zwei Mglichkeiten vier Mglichkeiten

    fr K3 und damit acht Mglichkeiten fr K statt 512.

    42

  • 4.6. DES Data Encryption Standard

    B B S2(B) S2(B) S2(B) S2(B )

    (0000) (1011) (100) (111) (011)(0001) (1010) (000) (000) (000)(0010) (1001) (110) (011) (101)(0011) (1000) (101) (101) (000)(0100) (1111) (111) (100) (011)(0101) (1110) (001) (001) (000)(0110) (1101) (011) (010) (001)(0111) (1100) (010) (110) (100) ()

    () B = {(0111), (1100)} KR3 = B B = {(0100), (1111)}

    Brauchen ein zweites Klartextpaar: z. B. (L0, R0) = (010 111,011 011) und (L 0, R0) =

    (101 110, 011 011) mit (L3, R3) = (001 010, 001 011) und (L 3, R3) = (011 000, 100 100).

    Unsere Aufgabe ist es, KL3 und KR3 sowie anschlieend K zu bestimmen. Dazu nehmen

    wir an, K3 = (x1x2x3x4x5x6x7x8). Dann hat K die Gestalt K = (xpx1x2x3x4x5x6x7).

    L3 = L2 fk3(R2) = R1 fk3(R2)L0 fk1(R0)

    4.6.4. Differentielle Analyse des DES mit vier Runden

    Ansatz: Eigenschaft 2: Es gibt einige Differenzen D, so dass es viele Eingabepaare mitder Differenz D gibt, derart dass die Ausgabedifferenzen bereinstimmen.

    Beispiel: S-Box S1 liefert fr D = A = (0011) in 6 von 8 Fllen die Ausgabedifferenz(011). S1(A) S1(A ). Das heit: Fr A = (0011) erwarten wir mit einer Wahrschein-lichkeit von 34 die Ausgabedifferenz (011).S-Box S2 liefert fr D = B = (1100) in 4 von 8 Fllen die Ausgabedifferenz (010).

    Das heit: Fr B = (1100) erwarten wir mit einer Wahrscheinlichkeit von 12 die Ausga-bedifferenz (010).

    Idee: Fr Paare von Klartextblcken (L0, R0) wird (L 0, R0) mit L0 L 0 = (0011)

    und R0 R 0 = (1100) erwarten wir (beim richtigen Schlssel) mit Wahrscheinlichkeit34

    12 =

    38 die Ausgabedifferenz (011 010).

    4.6.5. Analyse fr vier Runden

    Ansatz: Nichtgleichverteilung der Output-Differenzen.Idee: Versuchen eine Situation nach einer Runde zu erreichen, so dass wir dann die3-Rundenanalyse ansetzten knnen.

    Dazu whlen wir Paare von Klartextblcken (L0, R0) und (L 0, R0) mit folgenden Eigen-

    schaften:

    1. R0 = R0 R 0 = (001 100)

    43

  • 4. Blockchiffren

    Bei der Bildung von fK1(R0) und fK1(R0) passiert folgendes:

    D(R0)D(R 0) = (00111100)

    Input fr S1 ist (0011) fr S2 ist es (1100).

    fr (0011) erwarten wir mit Wahrscheinlichkeit 34 den Output (011) bei S1 und fr(1100) erwarten wir mit Wahrscheinlichkeit 12 den Output (010) bei S2.

    Wir betrachten die Outputs der beiden S-Boxen als unabhngig und erwartendeshalb mit Wahrscheinlichkeit 34

    12 =

    38 eine gesamte Output-Differenz von

    fK1(R0) fK1(R 0) = (011 010)

    2. L0 = L0 L 0 = (011 010)R1 = L0 fK1(R0), R 1 = L 0 fK1(R 0). Fr den Fall fK1(R0) fK1(R 0) = (011 010)ergibt sich:

    R1 R 1 = (L0 L 0) (fK1(R0) fK1(R0))= (011 010) (011 010) = (000 000)

    Da L1 = R0 und L 1 = R0 gilt mit Wahrscheinlichkeit

    38 , dass (L1, R1) und (L

    1, R1)

    die Eigenschaft R1 = R 1 haben und (L1 R1) (L 1, R 1) = (R0 R 0,0 . . . 0) =(001 100, 000000).

    Strategie: Whle Klartextpaare (L0, R0) und (L 0, R0) mit der Summe (011 010, 001 100)

    und bestimme dazu (L4, R4) und (L 4, R4). Angenommen es ist so, dass R1R 1 = (000 000)

    (das gilt in 3 von 8 Fllen), dann haben wir die Ausgangssituation zur Analyse der Runden2, 3 und 4 als 3-Rundenanalyse.

    Dort, wo die Annahme korrekt ist, erhalten wir eine Menge mglicher Schlssel frKL4 bzw. K