Worksheet

aus ZUM-Wiki, dem Wiki für Lehr- und Lerninhalte auf ZUM.de
Wechseln zu: Navigation, Suche

Druckversion

Die Cäsar Codierung

Bei der Cäsar-Verschlüsselung handelt es sich um eine monoalphabetische Substitution. Das bedeutet, dass bei der Veschlüsselung nur ein einziges festes Alphabet zur Verschlüsselung verwendet wird. Folgendes Beispiel soll das ganze verdeutlichen, bei dem zum Klartext (als Zahl) drei addiert werden um die Geheimbotschaft zu erhalten.

Der Klartext lautet: ICHLIEBEDICH
Geheimbotschaft:

Suche dir selbst einen Klartext und verschlüssele ihn.


Somit handelt es sich bei der Cäsar-Verschlüsselung um ein einfaches, aber sehr unsicheres Verschlüsselungsverfahren, das man mit folgenden Funktionen beschreiben kann:

  • Verschlüsselungsfunktion: E_k:\mathbb{Z}_{26}\rightarrow\mathbb{Z}_{26} mit
  • Entschlüsselugsfunktion: D_k:\mathbb{Z}_{26}\rightarrow\mathbb{Z}_{26} mit


Offensichtlich macht die Anwendung von D_k die vorherige Anwendung von E_k wieder rückgängig.
Das Verfahren ist allerdings total unsicher (warum?). Eine beliebige Permutation der Buchstaben anstelle einer einfachen Verschiebung macht es auch nicht besser (warum?).
Man kann sich das auch damit verdeutlichen, indem man sich die "Bastelanleitung" (Anleitung) einer "Verschlüsselungsscheibe" oder Chiffrierscheibe anschaut. Eine solche Scheibe kann man auch schon mit Kindern in der Grundschule anfertigen.


Vigenère-Verschlüsselung

Ein bisschen gewitzter als die Cäsar-Verschlüsselung ist die Vigenère-Verschlüsselung (es handelt sich hier um eine polyalphabetische Substition). Dabei wird das folgende Vigenère-Quadrat benutzt.

Vigenère-Quadrat
  Text  
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 

S
c
h
l
ü
s
s
e
l
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

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


G
e
h
e
i
m
t
e
x
t

(entnommen aus der Wikipedia-Seite zur polyalphabetischen Substitution)

Nehmen wir mal den selben Klartext wie bei der Cäsar-Verschlüsselung. Mit dem Klartext und einem Geheimwort (im Folgenden RING) verschlüsseln wir nun unseren Klartext.
Geheimwort: RINGRINGRING
Klartext: ICHLIEBEDICH
Geheimbotschaft:

Suche dir selbst einen Klartext und verschlüsslele ihn mit einem Wort deiner Wahl.




RSA

Problematisch bei den bisherigen Verfahren ist, dass es sich um symmetrische Verfahren handelt: Sender und Empfänger arbeiten mit demselben Schlüssel. Beide müssen sich also vorher über den Schlüssel verständigen - aber wie?

Dieses Problem beheben asymmetrische Verfahren: Der Sender verschlüsselt mit einem Schlüssel k, der Empfänger entschlüsselt mit einem Schlüssel l, und l ist aus k praktisch nicht herzuleiten. Der Empfänger teilt dann den Sendern den Schlüssel k mit, mit dem die Sender Nachrichten für den Empfänger verschlüsseln sollen. Der Empfänger behält l schön für sich: Damit kann nur er und sonst niemand die Botschaft entschlüsseln. Auf diesem Prinzip beruht RSA, ein Verschlüsselungsverfahren, das von Rivest, Shamir und Adleman entwickelt wurd.

Konstruktion der Schlüssel

Konstruktion des öffentlichen Schlüssels (public key):

  1. Bestimme zwei (sehr große) Primzahlen p und q
  2. Bilde N = p\cdot q
  3. Bestimme \varphi(N) mit \varphi(N)=\varphi(p\cdot q)=\varphi(p)\cdot\varphi(q)=(p-1)\cdot (q-1)
  4. Wähle eine Zahl 1<e<\varphi(N) mit ggT(e,\varphi(N))=1
  5. Der öffentliche Schlüssel ist dann (e,N)

Konstruktion des privaten Schlüssels (private key):

  1. Bestimme das Inverse d zu e mod \varphi(N), also e\cdot d\equiv 1 mod \varphi(N). Man macht dies am einfachsten mit dem erweiterten euklidischen Algorithmus, man berechnet also e\cdot d + q\cdot\varphi(N) = 1.
  2. Der private Schlüssel ist dann (d,N)

Somit ist (e,N) der öffentliche und (d,N) der private Schlüssel. Den öffentlichen Schlüssel (e,N) gibt man anderen Personen, die Geheimbotschaften an einen schicken können sollen (man darf den z.B. ins Internet stellen). Den privaten Schlüssel (d,N) behält man tunlichst für sich und gibt ihn keinesfalls weiter - dieser dient dem Entschlüsseln der Geheimbotschaften. Die Zahle p, q und \varphi(N) sind Abfall. Diese sollten aber ebenso niemandem in die Hände fallen, also besser wegwerfen!

Ver- und Entschlüsselung

Der Sender verschlüsselt eine geheime Botschaft T (in diesem Fall eine Zahl) mit folgender Berechnung:

G = T^e mod N

G ist der Geheimtext und wird dem Empfänger übermittelt. Der Empfänger kann nun den Geheimtext G folgendermaßen entschlüsseln:

T = G^d mod N

denn:

Wir wissen, e\cdot d \equiv 1 mod \varphi(N), also e\cdot d = 1 + r\cdot \varphi(N) für ein r\in\mathbb{Z}

Außerdem wissen wir mit dem Satz von Euler, dass a^{\varphi(m)}\equiv 1 mod m, falls ggT(a,m)=1.

Somit ergibt sich: G^d\equiv (T^e)^d \equiv T^{e\cdot d} \equiv T^{1+r\cdot\varphi(N)}\equiv T\cdot T^{r\cdot\varphi(N)}\equiv T\cdot (T^{\varphi(N)})^r \equiv T\cdot 1^r\equiv T mod N

Voraussetzung dafür ist, dass ggT(T,N)=1, und dies erreicht man einfach, in dem man die zu verschlüsselnden Zahlen nicht so groß wählt wie die Primzahlen, die man zur Konstruktion von N verwendet.

Das ganze an einem Beispiel:

  1. Wir wählen p=7 und q=11
  2. Somit ist N=77 und \varphi(N)=60
  3. Wir wählen e=47 (es gilt nämlich ggT(47,60)=1)
  4. Wir bestimmten d mit 47\cdot d\equiv 1 mod 60, und der erweiterte euklidische Algorithmus liefert d=23
  5. Der öffentliche Schlüssel ist nun (47,77), der geheime ist (23,77).

Wir verschlüsseln die Zahl T=2:

G = 2^{47}\equiv 18 mod 77

Und wir entschlüsseln:

18^{23}\equiv ... \equiv 2 mod 77

So ein Glück.

Fragen

Hast du noch Fragen? Notiere sie dir hier, damit du sie in deiner Lerngruppe, in der Übungsstunde oder in der nächsten Plenumssitzung klären kannst!