Begleitmaterial zum Unterricht M114 «Kryptografie»

Symmetrische- und asymmetrische Verschlüsselungsverfahren

Für die folgenden Praxisarbeiten, Prüfungen etc. benötigen Sie einen Notebook/PC mit Windows-Betriebssystem (Kann auch virtuell sein). Die Verwendung eines anderen Betriebssystems: «At your own risk!»

1. Einführung

Bei diesem Thema versuchen wir, folgende Fragen zu klären:

  • Zweck der Verschlüsselung
  • Mathematische Grundlagen, Verschlüsselungsalgorithmen, Sicherheit
  • Verschlüsselungsverfahren Symmetrisch, Asymmetrisch bzw. deren Kombination; Vor-, Nachteile und Einsatzgebiete
  • Applikationen
  • Verschlüsselte Datenübertragung im Internet
  • Verschlüsselte E-Mails, S/MIME
  • Digitale Signatur
  • Public-Key-Infrastruktur und Zertifikate

Bei den folgenden Aufgaben verwenden wir die Applikation «CrypTool1». Dies ist ein Open-Source-Projekt und eine freie Lern-Software, die die Konzepte der Kryptographie und der Kryptoanalyse erfahrbar macht
Installieren Sie nun CrypTool1 auf ihrem Notebook, bei Sicherheitsbedenken als virtuelle Applikation.
Das Cryptool1 können Sie hier herunterladen: www.cryptool.org/en/cryptool1

Arbeiten Sie in Zweiergruppen. Die eine Person verkörpert Alice, die andere Bob. Und beide abwechslungsweise Mallory bzw. Eve. Gerne können Sie diese Aufgabe auch an eine Drittperson übertragen.

2. Symmetrische Verschlüsselungsverfahren

2.1 Die Rotationschiffre

Schon der römische Feldherr und spätere Kaiser Julius Cäsar kannte den folgenden Verschlüsselungstrick und nutzte ihn bei seinen geheimen Botschaften:
«Ersetze jeden Buchstaben durch den, der eine bestimmte Anzahl Stellen später im Alphabet folgt!»
Somit konnte Cäsar effektiv geheime Botschaften übermitteln, wie z.B. diese Zitate:
«GHU DQJULII HUIROJW CXU WHHCHLW GLH ZXHUIHO VLQG JHIDOOHQ LFK NDP VDK XQG VLHJWH WHLOH XQG KHUUVFKH»
Benutzen Sie nun Ihr CrypTool1 und finden Sie heraus, um welche Zitate es sich handelt! Die Rotationschiffre ist übrigens ein klassisches, symmetrisches Verfahren. Nun aber nicht einfach drauflos probieren. Machen Sie etwas Kryptoanalyse mit einem ASCII-Histogramm.
Hier finden Sie die Verfahren:

Hier finden Sie die Analysetools:


Eine kleine Anekdote zur Rotation von Characters:
HAL 9000 ist der fiktive Computer des Raumschiffs Discovery in Stanley Kubricks und Arthur Clarkes Film «2001: Odyssee im Weltraum» und «2010: Das Jahr, in dem wir Kontakt aufnehmen». Weit verbreitet ist die Vermutung, HAL sei die Verballhornung des Markennamens der US-Computerfirma IBM, da die Buchstabenfolge H-A-L das Ergebnis der Dekrementation der Buchstabenfolge I-B-M zu sein scheint (die Buchstaben H, A und L stehen im Alphabet jeweils unmittelbar vor den Buchstaben I, B und M). Arthur C. Clarke hat dieser Behauptung allerdings stets widersprochen: "Ich möchte einen ärgerlichen und hartnäckigen Mythos zerstören, der bereits kurz nach der Veröffentlichung des Films auftauchte. Wie im Roman deutlich gesagt, steht HAL für Heuristisch programmierter ALgorithmischer Computer. Aber ungefähr ein Mal pro Woche entdeckt irgendein Typ, dass HAL jeweils ein Buchstabe vor IBM ist, und geht prompt davon aus, dass Stanley und ich einen Witz über diese geschätzte Institution machen wollten."


2.2 Vigenèreverschlüsselung

Monoalphabetische Chiffrierverfahren wie die Rotationschiffre sind Verfahren, bei denen ein Buchstabe immer durch denselben Buchstaben ersetzt wird. Wir haben gesehen, dass Geheimtexte, die mit einem monoalphabetischen Chiffrierverfahren verschlüsselt sind, oft mit einer Häufigkeitsanalyse geknackt werden können. Im Folgenden werden wir ein einfaches polyalphabetisches Chiffrierverfahren einsetzen. Ein polyalphabetisches Chiffrierverfahren ist ein Verfahren, bei dem ein Buchstabe in der Regel mit verschiedenen Buchstaben chiffriert wird. Ein einfaches polyalphabetisches Chiffrierverfahren wurde von Blaise de Vigenère (* 1523 ; † 1596), basierend auf den Ideen eines Benediktinermönches, entwickelt. Das nach ihm benannte Vigenère-Verfahren galt lange Zeit als unknackbar. (Im Fachbeitrag Kryptografie finden sie übrigens eine Beschreibung der Vigenère-Verschlüsselung.)

  1. Verschlüsseln sie von Hand das Wort «BEEF» mit dem Schlüsselwort «AFFE».
  2. Was bedeutet der von Hand dechiffrierte Geheimtext «WRKXQT», wenn das Schlüsselwort «SECRET» heisst?
  3. Sie haben die folgende Vigenère-Chiffre erhalten:
    « USP JHYRH ZZB GTV CJ WQK OCLGQVFQK GAYKGVFGX NS ISBVB MYBC MWCC NS JOEVB GTV KRQFV AGK XCUSP VFLVBLLBE ESSEILUBCLBXZU SENSWFGVRCES SER CZBCE ILUOLBPYISL CCSZG VZJ»
    Versuchen Sie, die Botschaft mit CrypTool1 zu entschlüsseln. Allerdings fehlt Ihnen diesmal das Passwort. Wer knackt am schnellsten den Geheimtext?
    Wer das Vigenère-Analyseverfahren genauer kennen lernen will, findet unter CrypTool1 / Hilfe / Index / Vigenère-Verschlüsselungsverfahren weitere Informationen.

2.3 Die XOR-Stromchiffre

Bei der Stromchiffre werden Zeichen des Klartextes mit den Zeichen eines Schlüsselstroms XOR-verknüpft.

  1. Verschlüsseln sie die Dezimalzahl 4711 von Hand als XOR-Stromchiffre. Der binäre Schlüssel lautet: 1000‘1101. Zur Kontrolle entschlüsseln sie die erhaltene Chiffre wieder.
    Hinweis: Sie müssen die Dezimalzahl zuerst in eine 16-Bit Binärzahl umwandeln (Führende Nullen nicht weglassen). Sollte der Schlüssel für die Verschlüsselung zu kurz sein, wird dieser mehrmals wiederholt. Der Datenstrom soll in dieser Aufgabe mit der Übertragung des MSB‘s, also von links nach rechts beginnen.
  2. Ein grosser Nachteil der XOR-Verschlüsselung ist der, dass wenn es ihnen gelingt, den Klartext und die Chiffre abzufangen, sie daraus den Key ableiten und für die weitere Entschlüsselung verwenden können. (Vorwärts: 01 XOR 11 = 10 -> Rückwärts: 10 XOR 11 = 01 - Diese Lücke kann bei der Verschlüsselung von drahtlosen Netzen mittels WEP (Wired Equivalent Privacy) zum Problem führen.)
    Wie lautet der im folgenden Bild eingesetzte Schlüssel?
  3. Verwenden sie nun CrypTool1 für die folgende Aufgabe:
    Sie haben vom Klartext «IBM» die Chiffre «[ql» abgefangen und können somit den Key rekonstruieren. Entziffern sie die folgende verschlüsselte Botschaft «V{m».
    (Hinweis: Gross-Kleinschreibung beachten. Beim Key-Hack die ASCII-Chiffre zuerst in HEX umwandeln und dann als Key verwenden. Dazu gibt es übrigens Online-ASCII-HEX-Konverter.)

2.4 Schlussbetrachtung zu symmetrischen Verschlüsselungsverfahren

  • Man verschlüsselt und entschlüsselt mit demselben Schlüssel
  • Wie soll die Schlüsselübergabe erfolgen?
  • Wieviele Schlüssel werden zwischen 10, 20 oder 100 Kommunikationspartnern erforderlich?

3. Asymmetrische Verschlüsselungsverfahren

Einleitung:



Fachbeiträge zu den Grundlagen in «Asymmetrische Verschlüsselungsverfahren» und «Digitale Signatur» finden sie auf dieser Webseite unter «Kryptografie»>


3.1 Aufgabe Schlüsseltausch nach «Diffie-Hellman» nachvollziehen

Der Diffie-Hellman-Schlüsseltausch ist ein Protokoll zur Schlüsselvereinbarung. Die Grundidee soll anhand gemischter Farben veranschaulicht werden:

Optional: Falls Sie zu den Lernenden gehören, die sich mit der obigen "Farbanalogie" nicht zufrieden geben, sei die Diffie-Hellman-Demo in CrypTool1 empfohlen: Vergleichen Sie das Verfahren mit der "Veranschaulichung der Grundidee anhand gemischter Farben".
Die Teilschlüssel lassen sich nach der Formel A=ga mod p und B=gb mod p berechnen. Warum und wann ist dieser Verfahren sicher?


3.2 Aufgabe Mit «RSA» Nachrichten ver- und auch wieder entschlüsseln

Im Gegensatz zu Diffie-Hellman, wo es nur um den Schlüsseltausch geht, kann mit RSA eine ganze Nachricht verschlüsselt werden. Die Mathematik dahinter ist dabei ähnlich.
Spielen Sie nun mit Ihrem Lernpartner einen RSA-Verschlüsselungsvorgang durch. Dafür benötigen Sie nun einen RSA-Schlüssel:

Nun können Sie eine Nachricht verschlüsseln:

Optional: Falls Sie nun auch noch an der RSA-Mathematik interessiert sind, können Sie mit RSA-Demo eine komplette Verschlüsselung durchprobieren. Wählen Sie dazu zwei Primzahlen und folgen Sie dem weiteren Verlauf der Demo:


3.3 Aufgabe «Hybride Verschlüsselungsverfahren»

Möchte man mit dem RSA-Verfahren umfangreiche Nachrichten verschlüsseln, hat dies ein nicht zu unterschätzender Nachteil. Welcher?
Darum empfiehlt es sich, die Vorteile der beiden Welten "Symmetrisch" und "Asymmetrisch" zu nutzen: Welche sind das?
Hinweise dazu finden Sie im Fachbeitrag «Kryptografie».


3.4 Aufgabe «RSA-AES»

Bei RSA-AES handelt es sich zum Beispiel um ein hybrides Verfahren: Schlüsseltausch asymmetrisch mit RSA und Verschlüsselung der Nachricht symmetrisch mit AES.
Spielen Sie die beiden Demos RSA-AES-Verschlüsselung und RSA-AES-Entschlüsselung sorgfältig durch.


3.5 Aufgabe «Digitale Signatur»

Worum geht es beim digitalen Signieren? Lesen Sie dazu im Fachbeitrag Kryprografie die Einleitung in 4. Digitale Signatur mit «RSA»
Danach führen Sie die Signaturdemo in CrypTool1 aus:

Beantworten Sie nun die folgenden Fragen: Was unterscheidet die beiden Verfahren vom Ablauf her? Wann kommt der Private-Key und wann der Public-Key zum Einsatz?


3.6 Aufgabe «Hashwert bilden»

Wie Sie nun in der vorangegangenen Aufgabe herausgefunden haben, wird bei der digitalen Signatur ein "Fingerabdruck" der Nachricht erstellt, und dieser mittels Verschlüsselung gegen Verfälschung gesichert. Bei dieser Aufagen soll der "Hashwert" alias "Fingerabdruck" im Zentrum stehen. Führen Sie nun also die Hash-Demo aus:


3.7 Aufgabe «Manipulation bei der digitalen Signatur»

Lesen Sie im Fachbeitrag Kryptografie das Kapitel 6. Schwachstellen von «RSA»
Die Quintessenz ist, dass eine Nachricht und sein Hashwert ein-eindeutig sein sollten. Sind sie aber nicht in jedem Fall! Wie Sie in der folgenden Analyse der Hashverfahren erfahren dürfen, kann je nach gewähltem Hashverfahren eine zumindest teilweise Hashwert-Übereinstimmung von verschiedenen Nachrichten erreicht werden. Probieren Sie es doch einfach einmal selber aus:


4. Praxisanwendung von Verschlüsselungsapplikationen

Nun beenden wir unseren Rundgang im CrypTool-Lernlabor und widmen uns den in der Praxis anzutreffenden (Open-Source-) Tools.
Anleitungen zu den im folgenden besprochenen Verschlüsselungsapplikationen lassen sich im Fachbeitrag «Kryptografie» finden.


4.1 Neuer E-Mail-Account eröffnen

Für die folgenden Aufgaben benötigen Sie einen E-Mail-Account, der Webmail unterstützt und die Einbindung in Mailprogramme zulässt. Vorgeschlagen wird: SWISSCOM - Service Package Light (Stand Okt. 2018)


4.2 E-Mail-Client installieren

Installieren Sie auf Ihrem Notebook den E-Mail-Client Mozilla Thunderbird und richten sie ihr neues Swisscom-E-Mail-Konto darin ein.


4.3 gpg4win installieren

Installieren Sie auf Ihrem Notebook gpg4win.


4.4 Schlüsselpaar erzeugen

Starten sie nun den gpg4win-Zertifikatsmanager «Kleopatra» und erstellen Sie Ihr eigenes Schlüsselpaar. Tauschen Sie die Public-Keys untereinander aus und pflegen Sie diese in Ihren Zertifikatsmanager ein. Wie können Sie sicherstellen, dass die Public-Keys von der Person stammen, von der sie es vorgeben?


4.5 Datei verschlüsseln

Nun soll eine beliebige Datei (Text, Bild etc.) für ihren Kommunikationspartner verschlüsselt werden. Dies kann direkt in Kleopatra erfolgen. Stellen sie das verschlüsselte File ihrem Kommunikationspartner zur Verfügung. (Per E-Mail, USB-Stick etc.) Wenn dieser es entschlüsseln kann, wurde die Aufgabe erfolgreich erledigt.


4.6 Datei signieren

Nun soll eine beliebige Datei (Text, Bild etc.) für ihren Kommunikationspartner signiert werden. Dies kann ebenfalls wieder direkt in Kleopatra erfolgen. Stellen sie das File inklusive Signatur ihrem Kommunikationspartner zur Verfügung. (Per E-Mail, USB-Stick etc.) Wenn dieser mit der Signatur die Echtheit ihres Files verifizieren kann, wurde die Aufgabe erfolgreich erledigt.


4.7 Datei verschlüsseln und signieren

Nun soll eine beliebige Datei (Text, Bild etc.) für ihren Kommunikationspartner verschlüsselt und signiert werden. Wiederum in Kleopatra. Stellen sie das File inklusive Signatur ihrem Kommunikationspartner zur Verfügung. (Per E-Mail, USB-Stick etc.) Wenn dieser das File entschlüsseln und dank der Signatur den Absender verifizieren kann, wurde die Aufgabe erfolgreich erledigt.


4.8 Studieren Sie die Theorie zu «Sichere Emails verschicken»

Lesen sie im Theorieteil den Text Hintergrundwissen zu «Sichere E-Mails verschicken». Dieser behandelt S/MIME und OpenPGP. Vertiefen sie ihr Wissen, indem sie Fachbegriffe auf den entsprechenden Webseiten (Wikipedia etc.) nachschlagen.


4.9 Sichere Emails in Thunderbird mit Enigmail verschicken

Im Auftrag «Sichere Web-Emails aus Thunderbird mit Enigmail» verschlüsseln wir eine E-Mail mit Mailvelope und verschicken diese an unseren Lernpartner.


4.10 Sichere Web-Emails mit Mailvelope aus Firefox verschicken

Im Auftrag «Sichere Web-Emails mit Mailvelope aus Firefox verschicken» verschlüsseln wir eine E-Mail mit Mailvelope und verschicken diese an unseren Lernpartner.


5. «Steganographie» Praxis (Optional)

5.1 Theorieaufgabe

Was versteht man unter «Steganographie»? Erstellen sie eine kurze Zusammenfassung.


5.2 Installation


Laden sie «Openstegano» herunter und installieren sie es. Sie finden die Software «Setup-OpenStego-0.6.1.exe» (oder höhere Version) hier:
http://www.openstego.com
https://github.com/syvaidya/openstego/releases
Falls sie Sicherheitsbedenken haben, verwenden sie eine virtuelle Windows Maschine. Das Programm ist unter WIN10 lauffähig.


5.3 Auftrag A

Sie erhalten die Bilddatei detective.png. Darin ist eine geheime «Openstegano»-Botschaft versteckt. Das Passwort lautet gleich wie der Filename, nämlich «detective». Was wird ihnen da mitgeteilt? Hier kann man die Bilddatei «detective.png» herunterladen.


5.4 Aufgabe B

Verschlüsseln sie nun selber mit «Openstegano». Suchen sie sich dazu im Internet ein originelles Bild (jpg mit ca. 300x300Pixel). Dies soll das «Cover File» sein. Erstellen sie mit Notepad oder einem anderen ASCII-Editor ein Textfile mit einer kurzen Botschaft. Dies ist das «Message File». Verschlüsseln sie es nun mit einem Passwort, bestehend aus den ersten drei Buchstaben ihres Vornamens. (Achtung: Umlaute «ä», «ö», «ü» gelten als zwei Buchstaben ae, oe und ue. Somit wäre das Passwort von Björn=bjo oder von Yürsa=yue) Tauschen sie die verschlüsselten Bilddaten gegenseitig aus und versuchen sie herauszufinden, was ihnen ihr Mitschüler mitzuteilen hat.


Lösungen zu 2.1 Die Rotationschiffre

«GHU DQJULII HUIROJW CXU WHHCHLW GLH ZXHUIHO VLQG JHIDOOHQ LFK NDP VDK XQG VLHJWH WHLOH XQG KHUUVFKH» ist ROT-13 chiffriert und heits im Klartext:
«DER ANGRIFF ERFOLGT ZUR TEEZEIT
DIE WUERFEL SIND GEFALLEN
ICH KAM SAH UND SIEGTE
TEILE UND HERRSCHE»
Das ASCII-Histogramm ergibt als häufigstes Zeichen im chiffrierten Text das «H». Da in deutschem Text das «E» am Häufigsten vorkommt, wurde der Text mit dem Schlüssel 3 (ROT-3) verschlüsselt.

Lösungen zu 2.2 Vigenèreverschlüsselung

  • Text «BEEF» mit dem Schlüsselwort «AFFE» ergibt «BJJJ»
  • Chiffre «WRKXQT» mit dem Schlüsselwort «SECRET» ergibt «ENIGMA»
  • Das ASCII-Histogramm bringt hier nichts. Besser bedient sind wir mit einer Vigenère-Analyse:
    Die Analyse operiert in zwei Schritten:
    1. Ermittlung der verwendeten Schlüssellänge (Umso länger der Schlüssel, desto schwieriger die Ermittlung der Schlüssellänge.)
    2. Ermittlung des eingesetzten Schlüssels
    Der Originaltext lautet:
    DER STAAT BIN ICH
    ES IST AEUSSERST SCHWIERIG ZU REDEN OHNE VIEL ZU SAGEN
    ICH MACHE MIT JEDER ERNENNUNG NEUNUNDNEUNZIG UNZUFRIEDENE UND EINEN UNDANKBAREN
    LOUIS XIV
    (Zitate vom Sonnenkönig Ludwig XIV)

Lösung zu 2.3 Aufgabe zur XOR-Stromchiffre

  1. («4711» ergibt binär «0001'0010'0110'0111»)
    «0001'0010'0110'0111» (Den Klartext...)
    «1000‘1101'1000‘1101» (...mit 2x wiederholtem Key XOR verknüpft...)
    «1001'1111'1110'1010» (...ergibt diese Chiffre)
  2. Der Schlüssel lautet: 11001001 XOR 10100101 = 01101100

Lösungen zu 2.4 Schlussbetrachtung zu symmetrischen Verschlüsselungsverfahren

Die Formel für die Berechnung der Anzahl Schlüssel lautet: S = N * (N-1) / 2 wobei S=Schlüsselanzahl und N=Teilnehmeranzahl. Die Anzahl der Schlüssel wächst somit quadratisch. Bei zwanzig Personen werden bereits 190 Schlüssel nötig.
Der Schlüsseltausch muss über einen sicheren und geheimen Weg/Kanal erfolgen. Dabei stellt sich die Frage, ob dieser auch für die Übermittlung der Nachricht selbst verwendet werden könnte. Damit würde sich nämlich die Verschlüsselung erübrigen.
Wieviele Schlüssel werden zwischen 10, 20 oder 100 Kommunikationspartnern erforderlich?
10 Teilnehmer: 45 Schlüssel
20 Teilnehmer: 190 Schlüssel
100 Teilnehmer: 4950 Schlüssel

Lösung zu 3.1 Schlüsseltausch nach «Diffie-Hellman» nachvollziehen

Bei der Formel A=ga mod p bzw. B=gb mod p handelt es sich um sogennate Einwegfunktionen, die nicht umkehrbar sind.
Die Sicherheit des Verfahrens basiert nicht zuletzt auf der Länge der gewählten Zahlen. So muss die Primzahl p dermassen gewählt werden, dass diskrete Logarithmen modulo p mit derzeit bekannten Methoden nicht effizient genug berechnet werden können. Je grösser die verwendete Primzahl, desto sicherer das Verfahren, aber auch desto aufwendiger. Das Bundesamt für Sicherheit in der Informationstechnik empfiehlt für p eine Schlüssellänge von mindestens 3000 Bit (Stand 2017)

Lösung zu 3.3 «Hybride Verschlüsselungsverfahren»

Symmetrische Verschlüsselungsverfahren haben das bereits besprochene Problem des Schlüsseltauschs und Schlüsselmanagements, das bei den asymmetrischen Verfahren so nicht besteht. Allerdings benötigen symmetrische Verfahren weniger Rechenzeit zur Erstellung des Chiffretexts als rein asymmetrische Verfahren. Darum liegt es auf der Hand, dass in einem hybriden Verfahren die Vorteile der beiden Verfahren genutzt werden:

  • Asymmetrisches oder Public-Key-Verfahren für Schlüsselmanagement, zB. RSA
  • Symmetrisches Verfahren zum Versenden der eigentlichen Nachricht, zB. RC4, DES

Lösung zu 3.5 «Digitale Signatur»

  • Bei der RSA-Verschlüsselung verwendet man den Public-Key des Adressaten. Dieser kann die an ihn gerichtete verschlüsselte Botschaft mit seinem Private-Key entschlüsseln.
  • Bei der RSA-Signatur signiere ich ein Dokument mit meinem Private-Key. Wer die Echtheit meines Dokumnet prüfen möchte, kann dies mit meinem Public-Key tun.
  • Bei beiden Verfahren stellt sich die Frage, ob der Public-Key tatsächlich von der Person stammt, von der ich annehme, diesen erhalten zu haben.

Lösung zu 5.3 «Steganographie» Praxis

In der Bilddatei detective.png ist die folgende geheime «Openstegano»-Botschaft versteckt: «Wenn Sie das lesen koennen, waren Sie erfolgreich.»