Prof. Dr. Norbert Pohlmann Home mobile
slider

Kapitel 2
„Kryptographie“

Kapitel 2
„Kryptographie“ Prof. Dr. Norbert Pohlmann - Cyber-Sicherheitsexperten

Kapitel 2
„Kryptographie“ Pohlmann


Übungsaufgabe 1 (monoalphabetische Substitution)

Entschlüsseln Sie den Schlüsseltext, der mit Hilfe einer monoalphabetischen Substitution mit der unten aufgeführten Verschlüsselungsvorschrift verschlüsselt wurde!

Schlüsseltext:

L N L D L R Q G Y Z L Y P X K N T L P P L N T R A

Verschlüsselungsvorschrift

(1) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
(2) G W X V L O A K U B C N D R M F H Y P Q T Z E I J S

Lösung:

ELEMENTARVERSCHLUESSELUNG

Übungsaufgabe 2 (monoalphabetische Substitution)

Der folgende Schlüsseltext ist mit Hilfe einer monoalphabetischen Substitution verschlüsselt worden. Ihre Aufgabe soll sein, den Text zu entschlüsseln bzw. die Verschlüsselungsvorschrift mit Hilfe einer statistischen Analyse (siehe Häufigkeit der Buchstaben) des Schlüsseltextes oder durch Ausprobieren zu erhalten. Der Originaltext (Klartext) ist in deutscher Sprache.

Schlüsseltext:

Rq efy Gaseysrtl tiun yftys Wfypjinp wat
Wyszunpryzzyprtlzwysginsyt
ysgryppyt jr oayttyt oitt qit efyzy Iplasfdnqyt jrziydjpfun wat
yftyq Visiqydys ikniytlfl qiunyt eys eyt Ikpirg eys
Dsitzgasqidfat za zdiso kyyftgprzzd eizz anty zyfty Oyttdtfz
oyfty Ytdzunpryzzyprtl qaylpfun fzd

Lösung:

Um die Forderung nach einer Vielzahl von Verschluesselungsverfahren erfuellen zu koennen kann man diese Algorithmen zusaetzlich von einem Parameter abhaengig machen der den Ablauf der Transformation so stark beeinflusst dass ohne seine Kenntnis keine Entschluesselung möglich ist

Übungsaufgabe 3 (homophone Substitution)

Der Schlüsseltext, der mit Hilfe einer homophonen Substitution verschlüsselt wurde, soll mit der unten aufgeführten Verschlüsselungsvorschrift entschlüsselt werden.

Schlüsseltext: 34 75 61 47 80 01 93 78 41 51 93 25 04 29 72 64

Verschlüsselungsvorschrift

Klartext: Schlüsseltext:

A (10,21,52,59,71)
B (20,34)
C (28,06,80)
D (19,58,70,81,87)
E (09,18,29,33,38,40,42,54,55,60,66,75,85,86,92,93,99)
F (00,41)
G (08,12,97)
H (01,07,24)
I (14,39,50,65,76,88,94)
J (57)
K (23)
L (02,05,82)
M (27,11,49)
N (30,35,43,62,67,68,72,77,79)
O (26,53)
P (31)
Q (25)
R (17,36,51,69,74,78,83)
S (15,16,45,56,61,73,96)
T (13,32,90,91,95,98)
U (03,04,47)
V (37)
W (22)
X (44)
Y (48)

Lösung:

BESUCHERFREQUENZ

Übungsaufgabe 4 (polyalphabetische Substitution)

Sie können den Schlüsseltext einer Nachricht abfangen, von der Sie bereits den Klartext kennen (polyalphabetischen Substitution – siehe unten). Sie gehen davon aus, dass auch zukünftige Nachrichten mit diesem Schlüssel übertragen werden. Wie lautet der Schlüssel, mit dem diese Nachricht verschlüsselt wurde?

Klartext: D A T E N S C H U T Z
Schlüsseltext: V I V L R J J L C M R

Klartext:          A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Schlüsseltext: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
                       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 A
                       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 B
                       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 C
                       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 D
                       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 E
                       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 F
                       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 G
                       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 H
                       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 I
                       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 J
                       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 K
                       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 L
                       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 M
                       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 N
                       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 O
                       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 P
                       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 Q
                       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 R
                       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 S
                       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 T
                       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 U
                       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 V
                       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 W
                       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 X
                       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

Lösung:

SICHERHEIT

Übungsaufgabe 5 (polyalphabetische Substitution)

Ein Schlüsseltext wurde mit Hilfe einer polyalphabetischen Substitution unter Verwendung eines Schlüssels verschlüsselt. Wie lautet der dazugehörige Klartext? Verschlüsselungsvorschrift siehe oben.

Schlüsseltext: W Q R F V E N I Q I Q G Y G X B U M I Z
Schlüssels: E I P Y R N G

Lösung:

SICHERHEITSPLATTFORM

Übungsaufgabe 6 (Permutation – Zick-Zack-Verfahren)

Sie wissen, eine Nachricht wurde mit dem Zick-Zack-Verfahren verschlüsselt. Es gelingt Ihnen, den Schlüsseltext abzuhören. Wie lautet der Klartext?

Hinweis: Die Tiefe der Zick-Zack-Kurve kennen Sie nicht, das heißt, Sie müssen mehrere Tiefen ausprobieren, um ein sinnvolles Ergebnis zu erzielen

Schlüsseltext = I T E N A I L I S L O N T T L N A U G A S N

Lösung:

INSTALLATIONSANLEITUNG

Übungsaufgabe 7 (Public-Key-Verfahren – RSA)

Gegeben sind der öffentliche Schlüssel (e=5, n=21) und der private Schlüssel (d=17).
a) Sie wollen die Zahl „5“ vor einer Übertragung mit dem öffentlichen Schlüssel verschlüsseln.
Wie lautet das Ergebnis der Verschlüsselung?

Lösung:

17

b) Sie erhalten die mit dem öffentlichen Schlüssel verschlüsselte Zahl „11“.
Wie war die ursprüngliche Nachricht?

Lösung:

3

c) Sie erhalten eine Nachricht mit der Zahl „3“, die mit der digitalen Signatur des Absenders ausgestattet wurde. Die Signatur lautet „12“.
Kommt die Nachricht vom richtigen Absender?

Lösung:

ja

Sie erhalten eine weitere Nachricht mit der Zahl „4“ und der Signatur „15“.
Wie sieht es in diesem Fall mit der Authentizität des Absenders aus?

Lösung:

nein (müsste 16 sein)

d) Wir nehmen an, Sie kennen den geheimen Schlüssel nicht und wollen diesen berechnen, um alle Nachrichten mitlesen zu können. Dazu benötigen Sie die Primzahlen p und q, die Sie durch die Zerlegung von n erhalten können.
Wie lauten die verwendeten Primzahlen?

Lösung:

p=3 und q=7 (3*7=21, n=21)

Übungsaufgabe 8 (One-Way Hashfunktionen)

a) Gegeben ist die folgende Funktion:

private static byte[] one_way_hashfunction_1(byte[] input)
   {
       byte hash_key = (byte) 0xFF;                     //Schlüssel zum hashen de Eingabe
       byte[] hash = new byte[input.length];          //Array zum Speichern des Hash-Werts
       for (int i = 0; i < input.length; i++)
       {                                                                  //Iteration über das Eingabe-Array
           hash[i] = (byte) (input[i] ^ hash_key);     // Jede Stelle im Array mit dem Schlüssel XORn
       }
       return hash;
   }

Beispiele:

Eingabe Ausgabe
Daten Byte Repräsentation Hash-Wert
Hallo Welt [72, 97, 108, 108, 111, 32, 87, 101, 108, 116] [-73, -98, -109, -109, -112, -33, -88, -102, -109, -117]
Cyber-Security [67, 121, 98, 101, 114, 45, 83, 101, 99, 117, 114, 105, 116, 121] [-68, -122, -99, -102, -115, -46, -84, -102, -100, -118, -115, -106, -117, -122]
Norbert Pohlmann [78, 111, 114, 98, 101, 114, 116, 32, 80, 111, 104, 108, 109, 97, 110, 110] [-79, -112, -115, -99, -102, -115, -117, -33, -81, -112, -105, -109, -110, -98, -111, -111]

Warum handelt es sich bei der gegebenen Funktion nicht um eine One-Way-Hashfunktion?

Lösung:

Die Funktion kann umgekehrt werden (keine Einweg Funktion) und der Output hat keine fest definierte Länge. Jedes Zeichen der Eingabe wird in genau ein Zeichen der Ausgabe umgewandelt. Daher haben alle Eingaben und Ausgaben dieselbe Länge. Allerdings soll die Ausgabe (unabhängig von der Eingabe Länge) immer eine feste Größe haben.
Außerdem kann der Angreifer, falls er den „hash_key“ kennt, aus der Ausgabe die Eingabe bestimmen, indem er nochmals die XOR Funktion verwendet.

b) Gegeben ist die folgende Funktion:

private static int one_way_hashfunction_2(String input)
   {
      int hash = 1;                                                               //Initialer Hash-Wert
      for (int i = 0; i < input.length(); i++)
         {                                                                              //Über die Eingabe iterrieren
            char c = input.charAt(i);                                       // Zeichen an Stelle i auslesen
            hash = hash * Character.getNumericValue(c);    //Hash Wert berechnen
         }
      return hash;
   }

Eingabe Ausgabe
Hallo Welt -1274889216
Cyber-Security -265940992
Norbert Pohlmann -931899904

Warum handelt es sich bei der gegebenen Funktion nicht um eine One-Way-Hashfunktion?

Lösung:

Die Funktion ist nicht kollisionsresistent, da unterschiedliche Worte, die dieselben Buchstaben enthalten, denselben Hash-Wert erzeugen. Da nur die Buchstabenwerte multipliziert werden (hash = hash * Character.getNumericValue(c)), ist die Reihenfolge, in der die Buchstaben in dem Wort stehen, egal.
Zum Beispiel:
ferien = 32863320
reifen = 32863320

Übungsaufgabe 9 (Symmetrische Verschlüsselung)

Sie haben die folgende ‚verschlüsselte‘ HTTP Kommunikation (Bytes) mitgeschnitten. Bei näherem Betrachten erkennen Sie aber, dass diese gewisse Muster aufweist. Finden Sie den Klartext zu der Kommunikation!

HTTP-Anfragen:
Die gesamten Anfragen sind Online zu finden.

Anfrage 1:
[120, 5, 21, 98, 108, 37, 53, 54, 104, 60, 33, 47, 38, 41, 62, 97, 33, 63, 35, 48, 54, 38, 33, 123, 39,…]

Anfrage 2:
[120, 5, 21, 98, 108, 37, 53, 54, 104, 60, 33, 47, 38, 41, 62, 97, 33, 63, 35, 48, 54, 38, 33, 123, 39,…]

Anfrage 3:
[120, 5, 21, 98, 108, 37, 53, 54, 104, 60, 33, 47, 38, 41, 62, 97, 33, 63, 35, 48, 54, 38, 33, 123, 39,…]

Anfrage 4:
[120, 5, 21, 98, 108, 37, 53, 54, 104, 61, 57, 38, 36, 45, 41, 61, 96, 98, 97, 99, 100, 123, 100, 102,…]

Anfrage 5:
[120, 5, 21, 98, 108, 37, 53, 54, 104, 61, 57, 38, 36, 45, 41, 61, 96, 98, 97, 99, 101, 123, 101, 111,…]

Lösung:

Die Anfragen wurden mit dem Schlüssel 0xFF byteweise verschlüsselt (XOR verknüpft).

Anfrage 1:
GET /app/themes/norbert-pohlmann.de/dist/styles/main.css HTTP/1.1 Host: norbert-pohlmann.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: text/css,*/*;q=0.1Accept-Language: de,en-US;q=0.7,en;q=0.3Accept-Encoding: gzip, deflate, brReferer: https://norbert-pohlmann.com/artikel/DNT: 1Connection: keep-alivePragma: no-cacheCache-Control: no-cache

Anfrage 2:
GET /app/themes/norbert-pohlmann.de/dist/styles/main.css HTTP/1.1 Host: norbert-pohlmann.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: text/css,*/*;q=0.1Accept-Language: de,en-US;q=0.7,en;q=0.3Accept-Encoding: gzip, deflate, brReferer: https://norbert-pohlmann.com/artikel/DNT: 1Connection: keep-alivePragma: no-cacheCache-Control: no-cache

Anfrage 3:
GET /app/themes/norbert-pohlmann.de/dist/scripts/modernizr.js HTTP/1.1 Host: norbert-pohlmann.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: */*Accept-Language: de,en-US;q=0.7,en;q=0.3Accept-Encoding: gzip, deflate, brReferer: https://norbert-pohlmann.com/artikel/DNT: 1Connection: keep-alivePragma: no-cacheCache-Control: no-cache

Anfrage 4:
GET /app/uploads/2017/10/Mitmachweb-211×300.png HTTP/1.1 Host: norbert-pohlmann.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: */*Accept-Language: de,en-US;q=0.7,en;q=0.3Accept-Encoding: gzip, deflate, brReferer: https://norbert-pohlmann.com/artikel/DNT: 1Connection: keep-alivePragma: no-cacheCache-Control: no-cache

Anfrage 5:
GET /app/uploads/2016/09/logo-Prof.-Norbert-Pohlmann.png HTTP/1.1 Host: norbert-pohlmann.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Accept: */*Accept-Language: de,en-US;q=0.7,en;q=0.3Accept-Encoding: gzip, deflate, brReferer: https://norbert-pohlmann.com/artikel/DNT: 1Connection: keep-aliveCache-Control: max-age=0

Übungsaufgabe 10 (Allgemeine Fragen)

Beurteilen Sie die folgenden Situationen! Jeweils mit Begründung!

Situation 1:
Sie wollen vertrauliche Daten einer Wahl über das Internet der dafür zuständigen Behörde übermitteln. Dazu hat Ihr Chef-Entwickler einen sehr komplexen Kryptographie-Algorithmus geschrieben, der die Daten effizient verschlüsselt und anschließend übermittelt. Wie beurteilen Sie die Situation?

Begründung:

Lösung:

Nicht akzeptable!
Keine eigenen Kryptographie-Algorithmen zur Verschlüsslung erstellen! Die Wahrscheinlichkeit, dass diese geknackt werden können, ist viel zu groß!

Situation 2:
Sie haben einen neuen Praktikanten in Ihrem Unternehmen. Nach einiger Zeit kommt der Praktikant und teilt Ihnen mit, dass er bemerkt hat, dass Bilder in Ihr Netzwerk übertragen werden, die am Ende der Bilder (Der Bild-Datei) nicht lesbare Daten enthalten, die nicht zu dem Bild gehören. Zu welchem Experten schicken Sie den Praktikanten?

Lösung:

Steganographen

Situation 3:
Sie haben geheime Informationen erhalten, die Sie aufgrund ihrer Brisanz vertraulich mit einer Journalistin teilen möchten. Problematisch dabei ist, dass Sie sich nicht persönlich mit der Journalistin treffen können, sondern die Daten über das Internet übertragen müssen. Welche Verschlüsselungsart wählen Sie?

Lösung:

In der simplen Theorie: Asymmetrische Verschlüsselung, da der symmetrische Schlüssel nicht einfach sicher geteilt werden kann.
In der Praxis wird mittels asymmetrischer Verschlüsselung ein symmetrischer Schlüssel geteilt, der zum Verschlüsseln der brisanten Daten genutzt wird.

Situation 4:
Sie sind Entwicklerin in einem aufstrebenden Start-up Unternehmen. Ihre angebotene App soll um eine Funktion erweitert werden, die es erlaubt, Daten, die in der App anfallen (Bilder, Videos,…), sicher auf dem Gerät zu speichern. Sie entscheiden sich aus Performance Gründen für eine symmetrische Verschlüsselung. Daher generieren Sie einen 100 stelligen vollkommen zufälligen Schlüssel, den Sie im Quell-Code der App hinterlegen. Wo liegt das Problem in diesem Design? Was könnten Sie besser machen?

Lösung:

Den Schlüssel nicht Hard in die App codieren! Jeder Nutzer sollte einen eigenen Schlüssel haben, der sicher im Smartphone (z.B. TPM) hinterlegt wird.

Übungsaufgabe 11 (Allgemeine Fragen)

Sie wollen einen Text sowohl verschlüsseln als auch komprimieren. Welche Aktionen führen Sie als erstes aus? Begründen Sie die Reihenfolge!

Lösung:

Ein verschlüsselter Text ist wie eine Zufallszahl. Zufallszahlen können nicht komprimiert werden. Daher soll der Text erst komprimiert und dann verschlüsselt werden.

Übungsaufgabe 12 (Allgemeine Fragen)

Wie oft müssen Sie maximal unterschiedliche Schlüssel durchprobieren, wenn Sie einen Brute-Force-Angriff auf einen Schlüsseltext durchführen wollen, bei dem eine Schlüssellänge von 256 Bit genutzt werden ist?

Lösung:

2256 Versuche

Übungsaufgabe 13 (Allgemeine Fragen)

Welchen Vorteil hat ein Angreifer, wenn er den IV des CBC-Modes kennt?

Lösung:

Bei einem bekannten Schlüsseltext kann er den Klartext bestimmen.

Übungsaufgabe 14 (Allgemeine Fragen)

Eine kontinuierliche Kommunikation wird auf Bit-Ebene wahlweise mit dem CFB-Mode oder OFB-Mode Bit-weise, bei einem Blockverschlüsselungs-Output von n-Bit, verschlüsselt. Dann wird ein Bit manipuliert (von 0 auf 1 oder von 1 auf 0). Kann sich die Verschlüsselung bei den beiden Modes wieder synchronisieren? Wenn ja, nach wie vielen Bits?

Lösung:

CFB-Mode: Bleibt synchron und n-Bit sind fehlerhaft (begrenzte Fehlerfortpflanzung)
OFB-Mode: Bleibt synchron und hat keine weitere Fehler (keine Fehlerfortpflanzung)

Übungsaufgabe 15 (Allgemeine Fragen)

Eine kontinuierliche Kommunikation wird auf Bit-Ebene wahlweise mit dem CFB-Mode oder OFB-Mode Bit-weise, bei einem Blockverschlüsselungs-Output von n-Bit, verschlüsselt. Dann geht ein Bit verloren (Sender und Empfänger sind nicht mehr synchron). Kann sich die Verschlüsselung bei den beiden Modes wieder synchronisieren? Wenn ja, nach wie vielen Bits?

Lösung:

CFB-Mode: n-Bit sind fehlerhaft (begrenzte Fehlerfortpflanzung) und nach n-Bit ist die Verschlüsselung wieder synchron.
OFB-Mode: Alle folgenden Bits sind fehlerhaft bis neu synchronisiert wird (Mode ist nicht selbstsynchronisierend).

Übungsaufgabe 16 (Allgemeine Fragen)

Bitte kreuzen Sie die folgenden Aspekte an.

  Cyber-Sicherheitsmechanismen
Symmetrische Verschlüsselung One-Way- Hashfunktion Public-Key Verschlüsselung Public-Key Verschlüsselung Stenographie
Gewährleistung von Cyber-Sicherheitsbedürfnissen Vertraulichkeit
Authentifikation
Authentizität
Integrität
Verbindlichkeit
Verfügbarkeit
Anonymisierung / Pseudomisierung
Cyber-Sicherheitsstrategien Vermeiden von Angriffen
Entgegenwirken von Angriffen
Erkennen von Angriffen

Lösung:

  Cyber-Sicherheitsmechanismen
Symmetrische Verschlüsselung One-Way- Hashfunktion Public-Key Verschlüsselung Public-Key Verschlüsselung Stenographie
Gewährleistung von Cyber-Sicherheitsbedürfnissen Vertraulichkeit X X X
Authentifikation X
Authentizität X X
Integrität X
Verbindlichkeit
Verfügbarkeit
Anonymisierung / Pseudomisierung
Cyber-Sicherheitsstrategien Vermeiden von Angriffen
Entgegenwirken von Angriffen X X X X X
Erkennen von Angriffen

Übungsaufgabe 17 (Allgemeine Fragen)

Welche Eigenschaften muss ein Schlüssel für symmetrischen Verschlüsselungsverfahren haben, damit er eine maximale Sicherheit bieten kann?

Lösung:

Eigenschaften von Schlüssel für symmetrische Verschlüsselungsverfahren

1.) Ein Schlüssel muss lang genug sein, damit eine vollständige Suche praktisch, mit den verfügbaren Ressourcen, nicht umgesetzt werden kann. Das sind im Jahre 2019, mindestens 128 Bit, besser 256 Bit.

2.) Ein Schlüssel muss mit einer qualitativ hochwertigen Schlüsselgenerierung generiert worden sein, die den vollständigen Schlüsselraum ausnutzt, damit eine Reduzierung der vollständigen Suche nicht möglich ist.

500x500