Wie kann sichergestellt werden, dass eine Nachricht für Drittpersonen unlesbar übermittelt wird und unverfälscht am richtigen Ort ankommt – respektiv beim Empfangen vom korrekten Absender stammt?

# Begriffe

Die Kryptologie setzt sich aus den beiden Gebieten Kryptographie und Kryptoanalyse zusammen. Ende des Ersten Weltkrieges wurde diese Einteilung von William Friedman festgelegt und die Begriffe so wie wir sie heute kennen definiert. Die Kryptographie beschäftigt sich mit der Entwicklung und Anwendung der einzelnen Verfahren und die Kryptoanalyse mit deren Stärken und Schwächen. Anders formuliert, befasst sich die Kryptographie mit der Sicherheit der eigenen geheimen Kommunikation gegen unbefugte Entzifferung, während die Kryptoanalyse, quasi als Gegenspielerin der Kryptographie, die Informationsgewinnung aus verschlüsselten Nachrichten, also das Brechen der geheimen Kommunikation, zum Ziel hat. Kryptographie und Kryptoanalyse werden daher auch als defensive und offensive Kryptologie bezeichnet.

Der Begriff «Kryptologie»

# Ursprünge

Bevor Nachrichten verschlüsselt wurden, wurden geheime Botschaften zwar im sogenannten Klartext, dafür aber versteckt übermittelt: In den Hochkulturen von Ägypten, Indien und Mesopotamien wurde Sklaven der Schädel kahl rasiert und mit einer Geheimbotschaft tätowiert. Sobald das Haar nachgewachsen war, wurden sie zum Empfänger geschickt. Dieser konnte nach einer erneuten Kahlrasur des Sklaven die Botschaft entziffern.

Die ersten richtig verschlüsselten Begriffe findet man in alt-testamentarischen Schriften. So wurde in den Büchern Jeremiah das Wort «Babel» an mehreren Stellen durch den Ausdruck «Sheshech» ersetzt, welcher sich aus einer speziellen Substitution namens «Atbash» ergibt. Dabei wird der erste Buchstabe des Alphabetes durch den letzten ersetzt, der Zweite durch den Zweitletzten, usw. (Beispiel für unseres Alphabet: abc würde zu zyx werden.)

Aus der Zeit um 475 v. Chr. ist das erste militärisch genutzte System bekannt. Dabei wurden die Nachrichten auf einen Papyrusstreifen geschrieben, welcher um einen Holzstab mit einem bestimmten Durchmesser («Skytale») gerollt wurde. Diese Nachricht bestand anschliessend aus einer Reihe von Buchstaben, welche erst einen Sinn ergab, wenn der Empfänger den Papyrusstreifen um einen Holzstab mit demselben Durchmesser wickelte.

Skytale[1]

Julius Caesar benutzte während seiner Regentschaft ein einfaches Substitutionsverfahren: In diesem Verfahren werden die Buchstaben im Alphabet um eine gewisse Anzahl Stellen verschoben (man sagt auch «rotiert»). So entspricht z.B. der Schlüssel einer Verschiebung um drei Buchstaben: wird auf verschoben, auf , usw. So wird aus dem Klartext Caesar bei Verschlüsselung mit Schlüssel der Geheimtext Fdhvdu.

Caesar-Verschlüsselung mit 3[2]

# Aufgaben

Aufgaben (auf Papier)

  1. Suche weitere Beispiele von versteckten Nachrichten. Wo werden Nachrichten immer noch versteckt?
  2. Handelt es sich bei der Skytale um eine versteckte oder eine verschlüsselte Nachricht? Wie wird die Nachricht versteckt, resp. was ist der Schlüssel?
  3. Zu zweit: Jeder verschlüsselt einen kurzen Satz (3-5 Wörter) mittels Caesar-Verschlüsselung mit einem beliebigen Schlüssel. Anschliessend werden die verschlüsselten Nachrichten, zusammen mit dem Schlüssel, ausgetauscht und entschlüsselt. Welche Hilfsmittel beschleunigen die Ver- und Entschlüsselung? Kannst du sowas basteln?

Aufgabe (Computer)

Versuche den folgenden mit Caesar verschlüsselten Code zu knacken

PDHLCPTYXLWPTYXLYYFYOPTYPQCLFOTPHFYDNSEPYDTNSDNSZYWLYRPGPCRPMWTNSPTYVTYOPYOWTNSXLNSEPDTNSOTPQCLFSZQQYFYROPCWTPMPRZEEHPCOPTSCPYHFYDNSPCQFWWPYOTPWPFEPSLEEPYTYTSCPXSTYEPCSLFDPTYVWPTYPDQPYDEPCOLCLFDVZYYEPXLYTYPTYPYACLNSETRPYRLCEPYDPSPYOPCGZWWOPCDNSZYDEPYMWFXPYFYOVCLFEPCDELYOPCHLCLMPCGZYPTYPCSZSPYXLFPCFXRPMPYFYOYTPXLYOHLREPSTYPTYKFRPSPYHPTWPCPTYPCKLFMPCTYRPSZCEPOTPRCZDDPXLNSESLEEPFYOGZYLWWPCHPWERPQFCNSEPEHLCOPTYPDELRPDDELYOOTPQCLFLYOTPDPXQPYDEPCFYODLSTYOPYRLCEPYSTYLMOLPCMWTNVEPDTPPTYMPPEOLDXTEOPYDNSZYDEPYCLAFYKPWYMPAQWLYKEHLCFYODTPDLSPYDZQCTDNSFYORCFYLFDOLDDDTPWFDEPCYHLCOFYOOLDRCZDDEPGPCWLYRPYPXAQLYOGZYOPYCLAFYKPWYKFPDDPYOLDGPCWLYRPYYLSXUPOPYELRKFFYOOLDTPHFDDEPOLDDDTPVPTYPOLGZYMPVZXXPYVZYYEPDZQTPWDTPRLYKLMDLSMWLDDFYOPWPYOLFDOLPCDNSCLVOPCXLYYFYOQCLREPHLDQPSWEOTCWTPMPQCLF

(am Besten mit Doppelklick markieren und dann Ctrl + c)

Aufgabe (Programmieren)

Für die Programmieraufgaben existiert eine Vorlage:

def encrypt(key, plaintext):
    """Encrypt the string and return the ciphertext"""
    result = plaintext[key:] + plaintext[:key]

    return result.lower()


def decrypt(key, ciphertext):
    """Decrypt the string and return the plaintext"""
    result = ciphertext[-key:] + ciphertext[:-key]

    return result


def show_result(plaintext, key):
    """Generate a resulting cipher with elements shown"""
    encrypted = encrypt(key, plaintext)
    decrypted = decrypt(key, encrypted)

    print('Key: %s' % key)
    print('Plaintext: %s' % plaintext)
    print('Encrytped: %s' % encrypted)
    print('Decrytped: %s' % decrypted)
    

plaintext = input("zu verschlüsselnden Text eingeben: ")
key = int(input("Schlüssel eingeben (ganze Zahl): "))
show_result(plaintext, key)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  1. Teste die Verschlüsselung der Vorlage aus und versuche die folgenden Fragen zu beantworten: Wie wird verschlüsselt?
  2. Kopiere die Datei crypto.py und benenne sie nach crypto_caesar.py um. Passe anschliessend die Funktionen encrypt und decrypt so an, dass der Inhalt mittels Caesar-Verschlüsselung ver- resp. entschlüsselt wird.
  3. Versuche den Code aus der letzten Aufgabe zu knacken

👉 https://www.cryptool.org/en/cto/ciphers/caesar (opens new window)


  1. Lurigen, https://commons.wikimedia.org/wiki/File:Skytale.png (opens new window) ↩︎

  2. Wikimedia Commons, https://commons.wikimedia.org/wiki/File:Caesar3.svg (opens new window) ↩︎

Letzte Änderung: 24.11.2021, 14:05:12