Station - Verfahren mit modularer Addition

Variation des Caesar-Verfahrens - Version 1

Variation des Caesar-Verfahrens

Eine erste einfache Variation des Caesar-Verfahres besteht darin, weitere Zeichen bei der Darstellung der Nachricht zuzulassen (z.B. ein Leerzeichen) und die Verschiebezahl zu variieren.

Verfahren 1

Aufgabe 1

Kannst du die Nachricht von Asterix entschlüsseln? Asterix hat die in der Übersicht gezeigten Parameter (Alphabet mit Codierung und Verschiebezahl) benutzt.

Variation des Caesar-Verfahrens - Version 2

Variation des Caesar-Verfahrens

Die Idee des Caesar-Verfahrens lässt sich weiter verallgemeinern:

Verfahren 1

Aufgabe 2

(a) Welche Änderungen sind hier im Vergleich zum Caesar-Verfahren vorgenommen?

(b) Über welche Informationen muss man verfügen, um eine verschlüsselte Nachricht (in Zahlenform) entschlüsseln zu können?

Variation des Caesar-Verfahrens - Version 3

Variation des Caesar-Verfahrens

Hier eine weitere Verallgemeinerung des Caesar-Verfahren:

Verfahren 2

Aufgabe 3

(a) Welche zusätzlichen Änderungen sind hier im Vergleich zu Verfahren 2 vorgenommen? Achte auf die Blockbildung.

(b) Probiere selbst eine andere Variation aus.

Verfahren mit modularer Addition

Verfahren 2

Schritt 1: Wahl der Blocklänge und Zerlegung des Textes

Die Blocklänge legt die Länge der Texteinheiten fest, die mit Zahlen codiert werden und anschließend verschlüsselt werden. Je größer die Blocklänge, desto mehr Zahlen benötigt man zur Codierung der Texteinheiten.

Bei einer Blocklänge 3 wird beispielweise der Text 'CAESAR' wie folgt in Texteinheiten zerlegt:

'CAE','SAR'

Bei einer Zerlegung eines Textes kann es vorkommen, dass eine Texteinheit übrig bleibt, die nicht mehr die gesamte Blocklänge hat. In diesem Fall füllen wir den Text mit zusätzlichen Zeichen (hier Leerzeichen) auf:

'HAL','LO ' 

Schritt 2: Wahl der Codierung

Die Codierung ordnet jeder Texteinheit eine natürliche Zahl zu. Die Zuordnung muss eindeutig sein, so dass eine Decodierung möglich ist.

In unserem Beispiel oben haben wir die folgende Codierung des Alphabets gewählt:

' ' -> 00
'A' -> 01
...
'Z' -> 26

Aus dieser Codierung ergibt sich durch Aneinanderfügen eine Codierung für Zeichenblöcke. Für Zweierblöcke erhält man:

'  ' -> 0000
' A' -> 0001
' B' -> 0002
...
' Z' -> 0026
'A ' -> 0100
'AA' -> 0101
...
'ZZ' -> 2626

Beachte, dass auch andere Codierungen hier möglich sind, z.B.:

'  ' -> 000
' A' -> 001
' B' -> 002
...
' Z' -> 026
'A ' -> 027
'AA' -> 028
...
'ZZ' -> 728

Schritt 3: Wahl des Moduls und der Verschiebezahl

Die Modulzahl n ist eine beliebige natürliche Zahl. Sie muss nur so gewählt werden, dass sie größer als die größtmögliche Codezahl einer Texteinheit ist. Die zu wählende Größe hängt demnach von der Blocklänge und der gewählten Codierung ab.

Die Verschiebezahl e zum Verschlüsseln (e-ncrypt) ist eine beliebige natürliche Zahl, die kleiner als die Modulzahl n ist.

Beide zusammen - Verschiebezahl und Modul - werden zur Verschlüsselung benötigt. Das Zahlenpaar (e, n) bildet den Schlüssel zur Verschlüsselung eines Textes. Dieser Schlüssel wird auch öffentlicher Schlüssel genannt.

Schritt 4: Verschlüsselung codierter Texte

Zur Verschlüsselung eine Codezahl x benötigt man den öffentlichen Schlüssel (e, n). Die Verschlüsselung erfolgt hier durch modulare Addition:

x -> [x + e]%n

Schritt 5: Bestimmung des Gegenschlüssels

Die Verschiebezahl d zum Entschlüsseln (d-ecrypt) ergibt sich direkt aus e und n: Es muss e+d=n gelten. Also ist d = n - e.

Das Zahlenpaar (d, n) bildet den Schlüssel zur Entschlüsselung eines Textes. Dieser Schlüssel wird auch privater Schlüssel genannt.

Schritt 6: Entschlüsselung codierter Texte

Zur Entschlüsselung einer Codezahl y benötigt man den privaten Schlüssel (d, n). Die Entschlüsselung erfolgt analog zur Verschlüsselung:

y -> [y + d]%n

Aufgabe 4

Benutze unsere Standardcodierung mit Blocklänge 2. Wähle einen öffentlichen Schlüssel (wie z.B. (567, 2911)) und verschlüssele eine selbst gewählte Nachricht mit dem oben beschriebenen Verfahren mit modularer Addition (Version 3).

Gib die Nachricht an deinen Nachbarn weiter. Teile ihm auch den benutzten öffentlichen Schlüssel mit. Dein Nachbar soll jetzt die Nachricht wieder entschlüsseln.

X

Fehler melden

X

Suche