Sie sind auf Seite 1von 24

Kryptologie

1 Einfache Verschlüsselungen

1.1 Die Skytale

Die älteste bekannte Verschlüsselungsart wurde schon vor ungefähr 2500 Jahren von der Re-
gierung in Sparta zur Übermittlung geheimer Nachrichten an ihre Generäle benutzt. Sender
und Empfänger besassen beide eine sogenannte Skytale, d. h. je einen Zylinder mit demselben
Radius. Der Sender wickelte ein schmales Pergamentband um seinen Zylinder und schrieb seine
Nachricht parallel zur Zylinderachse auf das Band. Auf dem abgewickelten Band befand sich
dann eine unverständliche Nachricht, welche nur von jemandem gelesen werden konnte, der einen
Zylinder gleichen Umfangs besass — ho↵entlich nur der Empfänger. Eine Botschaft in deutscher
Sprache, welche so verschlüsselt wurde, ist
DERTVSIIDEEEESIBRLSPEESUIIAKCNSEEAHGTLLNLSEFTNUAIUETERNESESTB

Abbildung 1.1: Skytale mit Lederstreifen

1.2 Julius Caesar

Einer der ersten, der kryptologische Techniken benutzt haben soll, war der römische Feldherr
und Staatsmann C. Julius Caesar (100-44 v. Chr.). So ist in einem Text von Sueton zu lesen:

Exstant et [epistolae] ad Ciceronem, item ad familiares de rebus, in quibus, si qua occultius


perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum
effici posset; quae si qui investigare et persequi velit, quartam elementorum litteram, id est
D pro A et perinde reliquias commutet.

Übersetzt lautet dies etwa

Es existieren auch [Briefe von Caesar] an Cicero und an Bekannte über Dinge, denen er, wenn
etwas vertraulich übermittelt werden musste, in Geheimschrift schrieb. D. h. er veränderte
die Ordnung der Buchstaben derart, dass kein einziges Wort mehr ausgemacht werden kon-
nte. Wenn jemand das entzi↵ern und den Inhalt erkennen wollte, so musste er den vierten
Buchstaben des Alphabets, also D, für A einsetzen, und so mit den anderen.

Die angedeutete Chi↵re erhält man, wenn man unter das Klartextalphabet das Geheim-
textalphabet schreibt, aber um 23 Stellen nach rechts (oder 3 Stellen nach links) versetzt und
umbricht:

1
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
Geheimtext: 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

Chi↵riert man nun den Satz alles wird gut nach dieser Methode, erhält man DOOHV ZLUG
JXW. Selbstverständlich kann auch eine andere Verschiebung gewählt werden. Absender und
Empfänger einer Nachricht müssen nun natürlich wissen, um wie viele Zeichen die Alphabete
gegeneinander zu verschieben sind. Dies ist eine geheime Information. Man nennt sie den
Schlüssel.
Beispiele:

1. Aus dem Klartext julius wird mit dem Schlüssel a ! L der Geheimtext UFWTFD.

2. Der Geheimtext HRXEXD bedeutet beim Schlüssel a ! P im Klartext scipio.

Übungen:

1. Verschlüssle deinen eigenen Namen mit dem Schlüssel a ! J .

2. Wie lautet der Klartext zum Geheimtext

WFLKUZDMWKKWDFAKLCWAFHJGTDWEOWFFESFVWFKUZDMWKKWDCWFFL

bei einer Verschlüsselung mit a ! S?

3. Bestimme den Klartext zum Geheimtext

GQVCBXIZWIGQOSGOFJSFGQVZISGGSZHSGSWBSPCHGQVOTHSB

wenn nur bekannt ist, dass mit der Cäsar-Methode“ verschlüsselt wurde?

1.3 Rechnerische Umsetzung

Um die Verschlüsselung und die Entschlüsselung von einem Computer durchführen zu lassen,
ist es hilfreich, das Verfahren auf rechnerische Art umzusetzen. Dazu werden die Buchstaben in
Zahlen übersetzt und umgekehrt. Der Verschlüsselungsvorgang läuft dann beispielsweise so ab:

Klartextalphabet a b c d e f ... v w x y z
# # # # # # # # # # #
0 1 2 3 4 5 ... 21 22 23 24 25
# # # # # # # # # # #
4 5 6 7 8 9 ... 25 0 1 2 3
# # # # # # # # # # #
Geheimtextalphabet E F G H I J ... Z A B C D

Die Zahlen nennen wir die Ordnungszahlen der Buchstaben. Das Verschlüsseln basiert nun
praktisch auf einer Addition:

Ordnungszahl Klartextbuchstabe + 4 = Ordnungszahl Geheimtextbuchstabe

Dies stimmt aber leider nur, solange die Summe kleiner als 26 ist. Nachher sind alle Summen
um 26 zu gross.

2
Eine Lösung für dieses Problem stellt das modulare Rechnen dar. Dabei wird von jeder Zahl
einfach ihr Rest bei Division durch 26 betrachtet:
3 : 26 = 0 Rest 3 Dies wird kürzer geschrieben: 3 mod 26 = 3
0 : 26 = 0 Rest 0 0 mod 26 = 0
8 : 26 = 0 Rest 8 8 mod 26 = 8
28 : 26 = 1 Rest 2 28 mod 26 = 2
29 : 26 = 1 Rest 3 29 mod 26 = 3
Mithilfe dieser neuen Operation wird die Cäsar-Verschlüsselung nun folgendermassen ausgeführt:
(Ordnungszahl Klartextbuchstabe + 4) mod 26 = Ordnungszahl Geheimtextbuchstabe
Die Zahl 4 ist dabei der verwendete Schlüssel.

Übungen:

4. Berechne
a) (6 + 7) mod 8 b) (5 · 6) mod 11
5. a) Vergleiche die Resultate von (12 · 16) mod 5 und ((12 mod 5) · (16 mod 5)) mod 5.
b) Dasselbe für (13 · 11) mod 9 und ((13 mod 9) · (11 mod 9)) mod 9.
c) Was lässt sich aus den beiden Beispielen schliessen?
6. Ein Text wird mittels des Cäsar-Verfahrens verschlüsselt. Der verwendete Schlüssel sei
19. Die Ordnungszahlen des Klartextextes sind 18, 4, 7, 17, 6, 20 und 19. Wie lauten die
Ordnungszahlen des Geheimtextes?
7. Bei der Cäsar-Verschlüsselung sind Verschlüsseln und Entschlüsseln eigentlich dasselbe,
d. h. man kann auf dieselbe Art entschlüsseln wie verschlüsseln, wenn man einen passenden
Schlüssel findet.
Mit welchem Schlüssel lässt sich entschlüsseln, wenn mit dem Schlüssel 7 verschlüsselt
wurde?
Was kann man allgemein sagen?
8. Der Rechner TI-nspire stellt einen Befehl zur Verfügung um a mod b zu rechnen: mod(a,b).
Berechne damit
a) 45 mod 17 b) 1333 mod 58
9. Der 1. Mai 2017 war ein Montag. Welcher Wochentag ist der 1. Mai 2029?

1.4 Monoalphabetische Chi↵rierungen

Statt einer blossen Verschiebung des Alphabets kann man auch eine beliebige Vertauschung der
Buchstaben vornehmen. Auch brauchen Klartext und Geheimtext nicht im selben Alphabet
geschrieben zu werden. Ein typisches Beispiel einer solchen Codierung ist der ASCII-Code
(American Standard Code for Information Interchange). Dieser ist natürlich keine Chi↵re im
kryptologischen Sinn, weil er nicht geheim ist.
Eine Chi↵rierung heisst monoalphabetisch, falls jedem Buchstaben des Klartext-Alphabets
genau ein Buchstabe des Geheimtext-Alphabets zugeordnet wird und umgekehrt.
Der Wortteil Mono deutet dabei darauf hin, dass es genau ein Geheimtextalphabet gibt und
eine eineindeutige Zuordnung zwischen Klartext- und Geheimtextalphabet vorliegt. Die beiden
Alphabete brauchen aber nicht dieselben zu sein, wie man beim ASCII-Code sieht.

3
Ausschnitt aus der ASCII-Tabelle
Zeichen ASCII-Code Zeichen ASCII-Code Zeichen ASCII-Code
Leerschlag 00100000 ! 00100001 0 00110000
1 00110001 2 00110010 3 00110011
4 00110100 5 00110101 6 00110110
7 00110111 8 00111000 9 00111001
A 01000001 B 01000010 C 01000011
D 01000100 E 01000101 F 01000110
G 01000111 H 01001000 I 01001001
J 01001010 K 01001011 L 01001100
M 01001101 N 01001110 O 01001111
P 01010000 Q 01010001 R 01010010
S 01010011 T 01010100 U 01010101
V 01010110 W 01010111 X 01011000
Y 01011001 Z 01011010

Tabelle 1.2: Ausschnitt aus der ASCII-Tabelle

1.5 Kryptoanalyse monoalphabetischer Chi↵rierungen

Die Philosophie“ der modernen Kryptoanalyse wird durch das Prinzip von Kerckho↵s beschrie-

ben; es wurde erstmals im Buch La cryptographie militaire (1883) des niederländischen Philolo-
gen Jean Giullaume Hubert Victor François Alexandre Auguste Kerckho↵s von Nieuwenhof
(1835-1903) formuliert.

Das Prinzip von Kerckho↵s: Die Sicherheit eines Kryptosystems darf nicht von
der Geheimhaltung des Algorithmus abhängen. Die Sicherheit gründet sich nur auf
die Geheimhaltung des Schlüssels.

Dies ist eine grundsätzliche Warnung an jeden Entwickler eines Kryptosystems. Er darf auf
keinen Fall so blauäugig sein anzunehmen, der Gegner hätte keine Möglichkeit, Kenntnis des
Verschlüsselungsalgorithmus zu erlangen. Die Geschichte der Kryptographie ist voll von Beispie-
len, wo der Erfinder eines Kryptosystems sein Vertrauen (fälschlicherweise) darauf gründete,
dass sein Algorithmus nie bekannt werden könnte. Im Gegenteil: Das Ziel der modernen Kryp-
tographie muss es sein, Systeme zu entwickeln, die auch dann noch sicher bleiben, wenn der
Algorithmus lange Zeit ö↵entlich diskutiert wurde.
Ein Kryptoanalytiker sieht sich von Fall zu Fall unterschiedlichen Voraussetzungen gegenüber.
Man unterscheidet folgende Typen von Attacken:
1. Known ciphertext attack:
Er kennt ein relativ grosses Stück Geheimtext. Dies ist eine ausserordentlich realistische An-
nahme, da es in der Regel ganz einfach ist, sich (beliebig lange) Stücke Geheimtext zu verscha↵en.
2. Known plaintext attack:
Er kennt ein (vergleichsweise kleines) Stück von zusammengehörigem Klartext/Geheimtext.
Diese Hypothese ist realistischer als sie auf den ersten Blick erscheint. Oft weiss“ man, worum

es geht, und kann also zumindest einige Schlagworte erraten. Ausserdem finden sich in der Regel
standardisierte Erö↵nungs- und Schlussfloskeln und so weiter.
3. Chosen plaintext attack:
Hat er Zugang zum Verschlüsselungsprozedere, so kann er, um den Schlüssel zu erschliessen, auch

4
selbstgewählte Stücke Klartext verschlüsseln und versuchen, aus dem erhaltenen Geheimtext
Rückschlüsse auf die Struktur des Schlüssels zu ziehen.
Jede monoalphabetische Chi↵rierung einer natürlichen Sprache kann ziemlich leicht geknackt
werden. Das nachstehend vorgestellte Verfahren sollte zu der Überzeugung führen, dass eine
solche schon mit einer known ciphertext attack immer zu brechen ist. Dies beruht auf der
Tatsache, dass die -ehn haeu–i-sten -u-hsta-en i- Deuts-hen -ereits drei -ierte- des -esa-tte-tes
-i-den.
Zur Lösung verwendet man statistische Daten. Die untenstehende Tabelle gibt die relativen
Häufigkeiten h der einzelnen Buchstaben in einem deutschsprachigen Text an.

Häufigkeiten der Buchstaben in der deutschen Sprache


Buchstabe h (in %) Buchstabe h (in %) Buchstabe h (in %) Buchstabe h (in %)
a 6.51 b 1.89 c 3.06 d 5.08
e 17.40 f 1.66 g 3.01 h 4.76
i 7.55 j 0.27 k 1.21 l 3.44
m 2.53 n 9.78 o 2.51 p 0.79
q 0.02 r 7.00 s 7.27 t 6.15
u 4.35 v 0.67 w 1.89 x 0.03
y 0.04 z 1.13
Tabelle 1.3: Häufigkeitstabelle

Wir können die Buchstaben gemäss der Häufigkeit ihres Auftretens in vier Gruppen einteilen:

Buchstabengruppen
Gruppe Anteil der Buchstaben dieser Gruppe an einem Text
e, n 27.18 %
i, s, r, a, t 34.48 %
d, h, u, l, c, g, m, o, b, w, f, k, z 36.52 %
p, v, j, y, x, q 1.82 %
Tabelle 1.4: Buchstabengruppen

Zusätzlich betrachtet man Paare aufeinanderfolgender Buchstaben, sogenannte Bigramme.

Die häufigsten Bigramme der deutschen Sprache


Buchstabenpaar h Buchstabenpaar h Buchstabenpaar h
en 3.88 % er 3.75 % ch 2.75 %
te 2.26 % de 2.00 % nd 1.99 %
ei 1.88 % ie 1.79 % in 1.67 %
es 1.52 %
Tabelle 1.5: Häufigkeit von Bigrammen

Zur Entzi↵erung stellt man zunächst die Häufigkeiten der Buchstaben des Geheimtextes fest.
Dadurch lässt sich das Äquivalent von e und das von n finden. Weiter erkennt man, welche
Zeichengruppe der Buchstabengruppe i, s, r, a, t entspricht. Die genaue Zuordnung lässt sich
dabei in der Regel noch nicht finden. Nun zählt man die Bigramme. Während das Paar er
eine grosse Häufigkeit hat, kommen alle anderen Kombinationen der kritischen Buchstaben mit

5
e ziemlich selten vor. Die einzige Konkurrenz könnte vom Paar ei kommen; diese kann man
aber dadurch ausschalten, dass man das umgekehrte Paar testet: Nur bei diesem Paar ist es
so, dass es sowohl in Originalreihenfolge als auch in umgekehrter Reihenfolge praktisch gleich
häufig vorkommt. Damit sollten die Buchstaben i, s, r, a, t isoliert sein. Ferner kann man c und
h daran erkennen, dass sie zwar ein extrem häufiges Paar bilden, aber einzeln nur ganz selten
auftauchen. Damit sind die Buchstaben e, n, i, s, r, a, t, c, h, welche mehr als zwei Drittel
eines Textes ausmachen, ziemlich zweifelsfrei identifiziert. Es ist zu bemerken, dass dies auch
von einem Computer automatisch durchgeführt werden kann. Übersetzt man nun den Text,
indem man anstelle der unbekannten Buchstaben Leerzeichen einfügt, lässt sich mit einigem
Raten der ganze Text sichtbar machen.

2 Polyalphabetische Chi↵ren

2.1 Homophone Chi↵ren

Um sich gegen obige Attacken zu wappnen, muss man also danach trachten, die Häufigkeiten
zu verschleiern. Eine o↵ensichtliche Methode ist, die häufigeren Buchstaben durch mehr als
ein Zeichen zu verschlüsseln und dann jedesmal zufällig eines zu wählen. Im folgenden Beispiel
wird jeder Buchstabe durch Paare 00, 01, . . . , 99 von Zi↵ern dargestellt und zwar gemäss
untenstehender Tabelle.

Eine sogenannte homophone Chi↵re:


a: 10 21 52 59 71
b: 20 34
c: 28 06 80
d: 04 19 70 81 87
e: 09 18 33 38 40 42 53 54 55 60 66 75 85 86 92 93 99
f: 00 41
g: 08 12 97
h: 07 24 47 89
i: 14 39 46 50 65 76 88 94
j: 57
k: 23
l: 16 03 84
m: 27 11 49
n: 30 35 43 62 63 67 68 72 77 79
o: 02 05 82
p: 31
q: 25
r: 17 36 51 69 74 78 83
s: 15 26 45 56 61 73 96
t: 13 32 90 91 95 98
u: 29 01 58
v: 37
w: 22
x: 44
y: 48
z: 64
Tabelle 1.6: Zuordnungstabelle einer homophonen Verschlüsselung

Auch hier gibt es genau ein Geheimtextalphabet, nämlich die zweistelligen Zahlen von 00 bis 99.
Man redet aber nicht mehr von einer monoalphabetischen Verschlüsselung, weil die Zuordnung
zwischen den Alphabeten nicht eineindeutig ist.

6
Die Botschaft
263188307191 1506891160282332 5927 200956139979 22186263 492168 500730 23016964 378217
048549 37867464332474 7029178007 751463 6121009188084056 2698185923 42836154956490
sollte damit verständlich werden.

2.2 Vigenère-Verschlüsselung

Eine andere Möglichkeit ist, verschiedene (monoalphabetische) Chi↵rierungen im Wechsel zu


benutzen. Ein bekanntes Beispiel stammt vom französischen Diplomaten Blaise de Vigenère
(1523 bis 1596) und wurde 1586 vorgestellt. Der Algorithmus benötigt ein Schlüsselwort und
alle Cäsar-Verschlüsselungen. Diese fasst man im sogenannten Vigenère-Quadrat zusammen:

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üssel
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 ! 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 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 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 C a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! 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 a ! Z

Tabelle 1.7: Vigenère-Quadrat

Das Schlüsselwort, es laute zum Beispiel mist“, wird wiederholt über den ganzen Klartext

geschrieben.

Schlüsselwort: mis tmis tmistmi stm ist mist mistm


Klartext: wer will nochmal wer hat noch nicht

7
Bei der Verschlüsselung bestimmt der Schlüsselwortbuchstabe, der über einem bestimmten Buch-
staben steht, das Alphabet (d. h. die Zeile im Vigenère-Quadrat), mit dem dieser Klartextbuch-
stabe zu chi↵rieren ist. Um den ersten Geheimtextbuchstaben zu erhalten, müssen wir in dem
Alphabet, das mit M“ beginnt, nachsehen, was unter w steht; dies ist der Buchstabe I. So

weiterfahrend erhält man

Schlüsselwort: mis tmis tmistmi stm ist mist mistm


Klartext: wer will nochmal wer hat noch nicht
Geheimtext: IMJ PUTD GAKZFMT OXD PSM ZWUA ZQUAF

Falls die Zuordnung zwischen Klartextalphabet und Geheimtextalphabet an verschiedenen Stellen


des Klartextes anders gewählt wird (z. B. abhängig von einem Schlüsselwort), spricht man von
einer polyalphabetischen Chi↵rierung.
Mit etwas raffinierteren Methoden aus Statistik und Wahrscheinlichkeitsrechnung lässt sich aber
auch diese Verschlüsselung knacken, wenn ein genügend langer Geheimtext vorliegt. Dabei wird
zuerst die Länge des Schlüsselwortes bestimmt. Wir gehen hier nicht weiter darauf ein; für In-
teressierte geben wir die Stichworte Kasiski-Test und Friedmann-Test. Es sei aber bemerkt,
dass die Sicherheit mit der Länge des Schlüsselwortes wächst. Würde man ein Schlüsselwort
wählen, welches so lang ist wie der Klartext und aus einer zufälligen Buchstabenfolge besteht,
so würde man ein (sogar in einem theoretischen Sinne) sicheres Kryptosystem erhalten.

2.3 One-Time-Pad

Die moderne Version der Vigenère-Verschlüsselung ist das One-Time-Pad. Dabei handelt es sich
um eine rechnerische Umsetzung dieser Methode. Wir codieren die Buchstaben des Schlüssel-
worts und des Texts wieder durch ihre Ordinalzahlen (die Zahlen von 0 bis 25). Sowohl der
Klartext als auch das Schlüsselwort werden so zu Zahlenfolgen. Die Zahlen des Schlüsselworts
geben dabei gerade an, um wie viele Stellen der Klartextbuchstabe verschoben werden muss.
Um den Zahlenwert des verschlüsselten Buchstabens zu erhalten, muss man also nur Text und
Schlüssel addieren und den Rest modulo 26 nehmen. Als Beispiel verschlüsseln wir den Text
botschaft mit dem Schlüsselwort mykeyword.

Buchstabenfolge Zahlenfolge
m y k e y w o r d ! 12 24 10 4 24 22 14 17 3
b o t s c h a f t ! 1 14 19 18 2 7 0 5 19

N M D W A D O W W 13 12 3 22 0 3 14 22 22

2.4 Binärzahlen

In einem Computer wird ein Text mittels eines Alphabets dargestellt, das nur aus den Zeichen
0 und 1 besteht. Dann sieht das One-Time-Pad-Verfahren so aus:

Schlüssel: 1 1 0 1 0 Schlüssel: 1 1 0 1 0
Klartext: 1 0 1 1 0 Geheimtext: 0 1 1 0 0

Geheimtext: 0 1 1 0 0 Klartext: 1 0 1 1 0
Da das Alphabet nur zwei Zeichen hat, ist natürlich beim Addieren modulo 2 zu rechnen.
Besonders elegant lässt sich in diesem Fall der Geheimtext wieder entschlüsseln: Man macht mit
ihm einfach nochmal dasselbe.

8
Die Speichereinheit, die entweder das Zeichen 0 oder das Zeichen 1 speichert, nennt man 1 bit.
Wir haben den Klartext hier also bitweise mit der One-Time-Pad-Methode verschlüsselt. Dieser
Spezialfall soll deshalb künftig als Bit-One-Time-Pad bezeichnet werden. Die Addition modulo
2 entspricht der logischen Operation exklusiv oder“, welche durch eine elektronische Schaltung,

das sogenannte XOR-Gate, direkt realisiert werden kann. Auf einem Computer ist das Verfahren
deshalb auf diese Weise besonders effizient umsetzbar.
Übungen:

10. Verschlüssle den Klartext morgenfrueh mit dem Schlüssel lauterunfug.

11. URRWNJCHZEYROKR ist ein mittels einer Vigenére-Verschlüsselung verschlüsselter Geheim-


text. Wie lautet der zugehörige Klartext, wenn der Schlüssel dxfhjykortzphge verwendet
wurde?

12. Verschlüssle den Klartext uebungmachtdenmeister durch das One-Time-Pad-Verfahren


mit dem Schlüssel hatgleichvielezeichen auf rechnerische Art, indem du die Buch-
staben a,b,c,...,y,z mit den Ordnungszahlen 0, 1, 2, . . . , 24, 25 identifizierst.

13. Verschlüssle die Binärzeichenfolge 10 1100 0100 1110 1000 1110 1010 mittels Bit-One-Time-
Pad. Verwende dabei 00 0001 1111 0010 1000 1110 1011 als Schlüssel.

3 Ein wenig Zahlentheorie

3.1 Primzahlen

Definition: Seien a und n ganze Zahlen. a teilt n, wenn es eine ganze Zahl b gibt mit n = ab.
Man schreibt a | n und sagt dafür auch a ist ein Teiler von n“ oder n ist durch a teilbar“.
” ”
Jede Zahl a teilt 0, denn 0 = 0 · a.
Definition: Eine natürliche Zahl p > 1 heisst Primzahl, falls sie genau zwei positive Teiler hat,
nämlich 1 und p.
Wir wissen aus der Volksschule, dass sich jede natürliche Zahl auf genau eine Weise als Produkt
von Primzahlen schreiben lässt (bis auf die Reihenfolge der Faktoren). Dies ist der sogenannte
Fundamentalsatz der Arithmetik.
Satz 1: (Fundamentalsatz der elementaren Zahlentheorie) Sei n eine natürliche Zahl.
Dann lässt sich n bis auf die Reihenfolge auf genau eine Weise als Produkt von Primzahlen
schreiben.
Beweis: Zuerst zeigen wir die Existenz einer Primfaktorzerlegung. Die Zahl 1 wird durch das
leere Produkt von 0 Primzahlen dargestellt, jede Primzahl durch ein Produkt mit einem Faktor.
Angenommen, es gäbe natürliche Zahlen, welche nicht als Produkt von Primzahlen geschrieben
werden können, dann lässt sich die kleinste davon auswählen (diese Eigenschaft der natürlichen
Zahlen heisst Wohlordnung). Diese Zahl n ist nicht 1 und keine Primzahl. Also gibt es zwei
Zahlen 1 < a < n und 1 < b < n mit ab = n. Da a und b kleiner sind als n, lassen sie sich
als Produkt von Primzahlen schreiben, also kann man auch n = ab als Produkt von Primzahlen
darstellen, was ein Widerspruch ist. Deshalb ist unsere Annahme falsch.
Jetzt soll noch gezeigt werden, dass diese Darstellung eindeutig ist. Angenommen, es gäbe
natürliche Zahlen, welche auf zwei verschiedene Weisen als Produkt von Primzahlen geschrieben
werden können. Wieder sei n die kleinste dieser Zahlen. Es ist unmöglich, dass eine Primzahl

9
p in beiden Darstellungen vorkommt, weil sonst np < n zwei verschiedene Darstellungen hätte.
Auch kann n keine Primzahl sein, die Zerlegungen enthalten also mehr als einen Faktor. Die
Primfaktoren lassen sich in aufsteigender Reihe hinschreiben, also ist n = p1 p2 · · · pr = q1 q2 · · · qs .
Dabei gilt 1 < p1 6 p2 6 . . . 6 pr und 1 < q1 6 q2 6 . . . 6 qs . Weiter ist pi 6= qj und wir
gehen davon aus, dass p1 < q1 . Jetzt betrachten wir die Zahl b = qn1 = q2 q3 · · · qs . Weil
b < n, ist b = q2 q3 · · · qs die einzig mögliche Zerlegung von b in Primfaktoren. Es ergibt sich
m := n p1 b = q1 b p1 b = (q1 p1 )b. Aus q1 p1 > 0 und b > 2 folgt m > 2. Also
ist gesamthaft 2 6 m < n und deshalb lässt sich m auf genau eine Weise als Produkt von
Primzahlen darstellen. Weil aber auch m = n p1 b = p1 a p1 b = p1 (a b) gilt, kommt p1 in
der eindeutigen Primfaktorzerlegung von m = (q1 p1 )b vor. Da b = q2 q3 · · · qs und p1 6= qi ,
muss p1 in der eindeutigen Zerlegung von q1 p1 vorkommen. Damit ist q1 p1 = p1 c, also
q1 = p1 c + p1 = p1 (c + 1), was bedeutet, dass q1 keine Primzahl ist. Widerspruch. -qed-
Folgender Satz wird uns nützlich sein.
Satz 2: Seien a und b natürliche Zahlen. Wenn eine Primzahl p das Produkt ab teilt, dann
muss p einen der beiden Faktoren teilen, d. h.

p | (ab) =) p | a oder p | b

Beweis: Wegen der Eindeutigkeit der Primfaktorzerlegung erhält man die Primaktorzerlegung
von ab, indem man die beiden Zerlegungen von a und b zusammensetzt. Wenn p in der Prim-
faktorzerlegung von ab vorkommt, muss p demnach in der Zerlegung von a oder b vorkommen.
Also teilt p entweder a oder b (oder beide). -qed-
Schon Euklid bewies, dass es unendlich viele Primzahlen gibt. Im 9. Buch der Elemente der
Mathematik liest man

§ 20 (L.18).
Es gibt mehr Primzahlen als jede vorgelegte Anzahl von Primzahlen.
Die vorgelegten Primzahlen seien a, b, c. Ich behaupte, dass es mehr Primzahlen gibt als
a, b, c. Man bilde die kleinste von a, b, c gemessene Zahl (VII,36); sie sei DE, und man füge
zu DE die Einheit DF hinzu. Entweder ist EF dann eine Primzahl oder nicht. Zunächst
sei es eine Primzahl. Dann hat man mehr Primzahlen als a, b, c gefunden, nämlich a, b, c,
EF .
Zweitens sei EF keine Primzahl. Dann muss es von irgend einer Primzahl gemessen
werden(VII,31); es werde von der Primzahl g gemessen. Ich behaupte, dass g mit keiner der
Zahlen a, b, c zusammenfällt. Wenn möglich tue es dies nämlich. a, b, c messen nun DE;
auch g müsste dann DE messen. Es misst aber auch EF . g müsste also auch den Rest, die
Einheit DF messen, während es eine Zahl ist; dies wäre Unsinn. Also fällt g mit keiner der
Zahlen a, b, c zusammen; und es ist eine Primzahl nach Voraussetzung. Man hat also mehr
Primzahlen als die vorgelegte Anzahl a, b, c gefunden, nämlich a, b, c, g — q.e.d.

Heute würde man das folgendermassen formulieren: Wir nehmen an, dass es nur endlich viele
Primzahlen gibt, nämlich 2, 3, 5, 7, . . . , p. Wir bilden n = (2·3·5·. . .·p)+1. n ist durch keine der
Primzahlen 2, 3, . . . , p teilbar, denn die Division liefert jedesmal Rest 1. Also ist n selber eine
Primzahl oder ein Produkt von Primzahlen, welche alle verschieden von 2, 3, . . . , p sind. Somit
ist die Annahme falsch.

3.2 Der Euklidische Algorithmus

Aus der Primarschule kennen wir die Division mit Rest. So ist zum Beispiel 138 : 17 = 8 Rest 2.
Man kann also schreiben 138 = 8 · 17 + 2. Allgemein gibt es zu zwei ganzen Zahlen a und b

10
immer eine ganze Zahl q und eine natürliche Zahl r mit 0 6 r < b, so dass
a = qb + r

Daran erkennt man auch sofort, dass eine Zahl, welche a und b teilt, r ebenfalls teilen muss. Es
ergibt sich eine elegante und einfache Methode, den ggT (grösster gemeinsamer Teiler) von zwei
Zahlen zu bestimmen. Wir erläutern dies mit den Zahlen a = 171 und b = 63. Wiederholtes
Dividieren mit Rest ergibt
171 = 2 · 63 + 45
63 = 1 · 45 + 18
45 = 2 · 18 + 9
18 = 2 · 9 (+ 0)

Der letzte von Null verschiedene Rest ist der gesuchte ggT, also ggT(171, 63) = 9. Wenn man
von unten nach oben geht, erkennt man sofort, dass 9 ein Teiler von 63 und 171 ist. Um zu
zeigen, dass es keinen grösseren gibt, nehmen wir an, dass t irgend ein gemeinsamer Teiler von
171 und 63 ist. Die oberste Gleichung zeigt dann, dass t | 45 = 171 2 · 63, die nachfolgenden
Gleichungen liefern t | 18 = 63 1 · 45 und t | 9 = 45 2 · 18. Daraus folgt aber, dass t 6 9; also
ist 9 der grösste gemeinsame Teiler.
Dieses fortlaufende Dividieren mit Rest heisst Euklidischer Divisionsalgorithmus. Allge-
mein sieht er so aus:
a = q1 · b + r1
b = q2 · r1 + r2
r1 = q3 · r2 + r3
r2 = q4 · r3 + r4
..
.
rn 1 = qn+1 · rn + rn+1
rn = qn+2 · rn+1
Es gilt ggT(a, b) = rn+1 , was wie im Beispiel nachgewiesen werden kann.
Ein wichtiger Nebene↵ekt“ des Euklidischen Algorithmus ist die Tatsache, dass man den ggT

von a und b als ganzzahlige Linearkombination von a und b schreiben kann.
Satz 3: (Lemma von Bézout) Seien a und b natürliche Zahlen. Dann gibt es ganze Zahlen
x und y mit
ggT(a, b) = xa + yb

Beweis. Wir verdeutlichen das Vorgehen am Beispiel. Man löst alle Zeilen des Euklidischen
Algorithmus nach dem Rest auf und setzt in der untersten Gleichung aufsteigend für den jeweils
kleinsten Faktor ein.

45 = 171 2 · 63
18 = 63 1 · 45
9 = 45 2 · 18 = 45 2 · (63 1 · 45) = 3 · 45 2 · 63
= 3 · (171 2 · 63) 2 · 63 = 3 · 171 8 · 63

also
9 = 3 · 171 8 · 63
d. h. x = 3 und y = 8. Dies lässt sich im allgemeinen Fall analog durchspielen. -qed-

Das Bestimmen von ggT(a, b) und der Koffizienten x und y in der Darstellung des ggT als Line-
arkombination von a und b bezeichnet man als den erweiterten Euklidischen Algorithmus.

11
Übungen:

14. Bestimme mithilfe des Euklidischen Algorithmus

a) ggT(851, 444) b) ggT(89, 144)

15. a) Ermittle mithilfe des erweiterten Euklidischen Algorithmus ggT(135, 75) und stelle
das Ergebnis als Linearkombination von 135 und 75 dar.
b) Dasselbe, aber für ggT(179, 72).

Bemerkung: Sollten uns diese Berechnungen aufgrund der Zahlengrössen zu aufwändig werden,
können wir Rechnerhilfe in Anspruch nehmen. Der ggT lässt sich mit dem TI-nspire berechnen.
Leider kennt er keinen Befehl, welcher die Zahlen x und y aus dem Lemma von Bézout bestimmt.
Dazu müssen wir uns bei Mathematica bedienen. Die Seite www.wolframalpha.com erlaubt,
einzelne Berechnungen mit Mathematica durchzuführen, ohne das Programm zu besitzen. Der
benötigte Befehl lautet ExtendedGCD[a,b] und liefert als Ergebnis {ggT(a, b), {x, y}}.
In Maxima lauten die entsprechenden Befehle gcd(a,b) und gcdex(a,b) (hier ist die Ausgabe
[x,y,ggT(a,b)]), man kann also auf den Besuch bei wolframalpha verzichten.

16. Ermittle mit dem Rechner ggT(123 456, 78 912).

17. Stelle ggT(46 738, 43 543) als Linearkokmbination von 46 738 und 43 543 dar.

3.3 Restklassen

Definition. Für zwei natürliche Zahlen x und n ist x mod n (lies x modulo n“) der Rest bei

der Division von x durch n.
Zn := {0, 1, 2, 3, · · · , n 1} ist die Menge aller möglichen Reste modulo n.
Wir haben die Modulo-Funktion bereits im ersten Kapitel kennengelernt. Auf Zn führen wir
zwei Rechenoperationen ein. Für a, b 2 Zn ist

a b = (a + b) mod n (Addition modulo n)


a ⌦ b = (a · b) mod n (Mulitplikation modulo n)

Wenn keine Verwechslungen zu befürchten sind, schreibt man statt und ⌦ auch die normalen
Operationszeichen + und · . Folgender Satz erleichtert das Rechnen in Zn erheblich.
Satz 4: Für alle Zahlen a, b 2 Z und n 2 N gilt
⇣ ⌘
(a · b) mod n = (a mod n) · (b mod n) mod n

Beweis: Sei a = q1 n + r1 und b = q2 n + r2 mit 0 6 r1 , r2 < n. Dann gilt (a · b) mod n =


((q1 n + r1 )(q2 n + r2 )) mod n = (q1 q2 n2 + q1 r2 n + q2 r1 n + r1 r2 ) mod n = (r1 r2 ) mod n, da
die ersten drei Summanden durch n teilbar sind. Da auch ((a mod n) · (b mod n)) mod n =
(r1 r2 ) mod n, ist also (a · b) mod n = ((a mod n) · (b mod n)) mod n. -qed-

Übungen:

18. Erstelle je eine Tabelle mit allen Potenzen an in Z4 und in Z7 .

12
19. Berechne in Z3 : 12 , 22 , in Z5 : 14 , 24 , 34 , 44 , in Z6 : 15 , 25 , 35 , 45 , 55 und
in Z13 : 112 , 212 , 312 , 412 , · · · , 1212 .

Satz 5: ( kleiner Satz von Fermat“) Sei p eine Primzahl. Dann gilt ap 1 = 1 in Zp für

alle a 2 Zp \ {0}.
Beweis: Sei p prim und a 2 Zp \ {0}, d. h. a 2 {1, 2, 3, . . . , p 1}. Wir zeigen zunächst, dass die
Zahlen (1 · a) mod p, (2 · a) mod p, (3 · a) mod p, . . . , ((p 1) · a) mod p alle verschieden sind.
Falls (i · a) mod p = r = (j · a) mod p mit i 6 j, so ist i · a = q1 p + r und j · a = q2 p + r, also
j · a i · a = q2 p q1 p und deshalb (j i)a = (q2 q1 )p. Somit ist p ein Teiler von (j i)a, also
gilt wegen Satz 2, dass p | (j i) oder p | a. Wegen 0 < a < p ist nur p | (j i) möglich. Weil
aber auch j i < p, muss j i = 0 sein, also ist i = j. Folglich ist (i · a) mod p = (j · a) mod p
nur der Fall, wenn i = j.
Wir wissen somit, dass die beiden Mengen {(1 · a) mod p, (2 · a) mod p, . . . , ((p 1) · a) mod p}
und {1, 2, . . . , p 1} übereinstimmen. Es gilt also
⇣ ⌘
(1 · 2 · 3 · . . . · (p 1)) mod p = (1 · a) mod p · (2 · a) mod p · . . . · ((p 1) · a) mod p mod p
⇣ ⌘
(p 1)! mod p = 1 · a · 2 · a · 3 · a · . . . · (p 1) · a mod p (wegen Satz 4)
(p 1)! mod p = (p 1)! · ap 1
mod p
p 1
0 = (p 1)! · a (p 1)! mod p
p 1
0 = (p 1)! · a 1 mod p

Da p kein Teiler von (p 1)! ist, muss p | (ap 1 1) gelten. Dies ist aber gleichbedeutend mit
ap 1 mod p = 1. -qed-
Beispiel: Welcher Wochentag ist heute in 3663365 Tagen? Dazu ist es erforderlich, (3663365 ) mod
7 zu berechnen. Man erhält mit Satz 4 sofort 3663365 mod 7 = (366 · 366 · 366 · . . . · 366) mod 7 =
(366 mod 7)3365 mod 7 = 23365 mod 7. Um weiter zu kommen verwenden wir, dass nach dem
kleinen Fermat“ 26 mod 7 = 1. Also ist 23365 mod 7 = 2(6·560+5) mod 7 = ((26 )560 · 25 ) mod 7 =
” 6
(2 mod 7)560 · (25 mod 7) mod 7 = (1560 mod 7) · (25 mod 7) mod 7 = (1 · 4) mod 7 = 4. Es
ist deshalb 4 Wochentage später als heute.
Definition: Für jede natürliche Zahl n ist '(n) die Anzahl der zu n teilerfremden natürlichen
Zahlen 6 n. '(n) heisst Eulersche '-Funktion.
Anders gesagt ist '(n) die Anzahl der Zahlen x mit 1 6 x 6 n und ggT(x, n) = 1. Es ist sofort
einzusehen, dass für jede Primzahl p gilt
'(p) = p 1 (1)

Eine Verallgemeinerung des kleinen Satzes von Fermat ist der


Satz 6: (Satz von Euler) In Zn gilt a'(n) = 1 für alle a 2 Zn \ {0} mit der Eigenschaft
ggT(a, n) = 1.
Zuguterletzt benötigen wir noch folgende Eigenschaft der Eulerschen '-Funktion.
Satz 7: Falls p und q verschiedene Primzahlen sind, so gilt '(pq) = (p 1) · (q 1).
Beweis: Wir zählen, wie viele Zahlen x 6 pq mit pq den ggT 1 haben. Weil p und q Primzahlen
sind, kann der ggT von x und pq nur 1, p, q oder pq sein. ggT(x, pq) = pq gilt bloss für eine Zahl,
nämlich x = pq. ggT(x, pq) = p gilt für q 1 Zahlen, nämlich x = 1 · p, 2p, 3p, . . . , (q 1)p.
Analog gilt ggT(x, pq) = q für p 1 Zahlen, nämlich 1 · q, 2q, 3q, . . . , (p 1)q. Für die restlichen
Zahlen x gilt ggT(x, pq) = 1. Dies sind pq 1 (p 1) (q 1) = pq p q + 1 = (p 1)(q 1).
-qed-

13
3.4 Das multiplikative Inverse

Unter dem multiplikativen Inversen einer Zahl a versteht man eine Zahl a 1, für welche gilt
1
a·a =1

In der gängigen Arithmetik ist a 1 = a1 , denn es gilt a · 1


a = 1.
In der modularen Arithmetik gibt es aber keine Brüche. Deshalb kommt hier a1 nicht in Frage.
Die Bedingung, welche ein zu a inverses Element x erfüllen muss, ist a · x mod n = 1.
Betrachten wir einmal die Multiplikationstabellen für die Multiplikation modulo n für drei ver-
schiedene n:

(mod 4) (mod 5) (mod 7)


a 0a 1a 2a 3a a 0a 1a 2a 3a 4a a 0a 1a 2a 3a 4a 5a 6a
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 1 0 1 2 3 4 1 0 1 2 3 4 5 6
2 0 2 0 2 2 0 2 4 1 3 2 0 2 4 6 1 3 5
3 0 3 2 1 3 0 3 1 4 2 3 0 3 6 2 5 1 4
4 0 4 3 2 1 4 0 4 1 5 2 6 3
5 0 5 3 1 6 4 2
6 0 6 5 4 3 2 1

Sobald in einer Zeile eine 1 auftritt, gibt es zu a ein multiplikatives Inverses. So sind z. B.
1 1 1
3 mod 4 = 3, 3 mod 5 = 2 und 3 mod 7 = 5

Falls n eine Primzahl ist, gibt es für alle a 6= 0 ein inverses Element, andernfalls nur, wenn a
und n teilerfremd sind. Dies gilt allgemein für jedes n 2 N:
Satz 8: Eine Zahl a 2 {0, 1, 2, . . . , n 1} hat für die Multiplikation modulo n genau dann ein
inverses Element, wenn a und n teilerfremd sind.
Beweis: Wir zeigen zuerst die eine Richtung der Äquivalenz: a und n teilerfremd ) a hat ein
Inverses a 1 .
Sei a 2 Zn und ggT(a, n) = 1. Dann gibt es gemäss dem Lemma von Bézout zwei ganze Zahlen
x und y mit 1 = xa + yn. Also ist 1 = 1 mod n = (xa + yn) mod n = xa mod n = ax mod n =
((a mod n)(x mod n)) mod n = (a · (x mod n)) mod n, das heisst a 1 = x mod n. Dies beweist
nicht nur, dass ein Inverses existiert, sondern zeigt auch, wie man es konkret findet.
Jetzt beweisen wir noch die umgekehrte Richtung: a hat ein Inverses ) a und n sind teilerfremd.
Sei a 2 Zn und a 1 das gemäss Voraussetzung existierende Inverse. Dann gilt 1 = a · a 1 mod
n und es gibt somit eine ganze Zahl k mit a · a 1 = 1 + k · n. Umformen liefert a · a 1 k · n = 1.
Daraus folgt, dass jede Zahl, welche sowohl a als auch n teilt, ein Teiler von 1 ist. Deshalb ist
ggT(a, n) = 1. -qed-
Bemerkung: Ist n eine Primzahl, sind n und jede Zahl a 2 {1, 2, . . . n 1} teilerfremd.

Beispiel: Gesucht ist 16 1 mod 21. Der Euklidische Algorithmus liefert zunächst:

21 = 1 · 16 + 5
16 = 3 · 5 + 1
5 = 5 · 1 (+0)

14
Damit ist schon einmal klar, dass ggT(16, 21) = 1. Jetzt werden noch die Koeffizienten der
Linearkombination bestimmt:
5 = 21 1 · 16
1 = 16 3 · 5 = 16 3 · (21 1 · 16) = 4 · 16 3 · 21

Also ist
1
16 mod 21 = 4 mod 21 = 4

Übungen:

20. Bestimme

a) 8 1 mod 15 b) 16 1 mod 35 c) 367 1 mod 1571

21. Warum existiert 7 1 mod 21 nicht?

22. Berechne 7 5 mod 13.

23. Es sei p eine Primzahl. Mit dem kleinen Satz von Fermat ergibt sich eine Formel zur
Berechnung des multiplikativen Inversen modulo p:
1
a mod p = ap 2
mod p

Leite diese Formel her.

4 Die RSA-Verschlüsselung

Das RSA-Verfahren, benannt nach seinen Entwicklern Ron Rivest, Adi Shamir und Len Adle-
man, war das erste Public-Key-Verschlüsselungsverfahren und ist noch heute das wichtigste.
Seine Sicherheit basiert im wesentlichen darauf, dass die Multiplikation von zwei riesigen Prim-
zahlen sehr einfach ist, es bis zum heutigen Tag aber praktisch unmöglich ist, grosse Zahlen in
ihre Primfaktoren zu zerlegen.

4.1 Das Prinzip

Eine Person P möchte verschlüsselte Botschaften empfangen können. Dazu wählt sie zwei
ausreichend grosse Primzahlen p und q (Grössenordnung ab 200 Stellen) und berechnet n = pq.
Dann wählt sie eine beliebige Zahl c mit ggT(c, (p 1)(q 1)) = 1. Mit Hilfe des erweiterten
Euklidischen Algorithmus berechnet sie jetzt die Zahlen x und y mit 1 = xc + y(p 1)(q 1).
Für die Entschlüsselung wird die Zahl d = x mod (p 1)(q 1) benötigt. Dies bedeutet, dass
es eine ganze Zahl k gibt, mit d = x + k(p 1)(q 1). Die Zahlen n und c werden ö↵entlich
bekanntgegeben, deshalb der Name public key“. Dagegen müssen d, p und q geheim bleiben.

Will jemand eine verschlüsselte Nachricht an P senden, muss er den Text zuerst mittels Zahlen
codieren, z. B. buchstabenweise mittels A = 01, B = 02, C = 03, . . . , Z = 26, Leerschlag = 27
codieren (im Gegensatz zu Abschnitt 1.3 wird mit 01 begonnen, um Probleme mit der Zahl 0
zu vermeiden). Der so entstandene Zi↵ernwurm N wird in Blöcke gleicher Länge aufgeteilt:
N = N1 N2 N3 N4 . . . . Dabei muss darauf geachtet werden, dass Ni < p und Ni < q für alle
Blöcke Ni . Da die Primzahlen sehr gross sein müssen, ist dies sicher kein Problem. Jetzt wird
jeder Block verschlüsselt, und zwar folgendermassen:

15
G1 = (N1 )c mod n
G2 = (N2 )c mod n
G3 = (N3 )c mod n
..
.

Dann sendet man als Botschaft G = G1 , G2 , G3 , G4 , . . . . Zur Dechi↵rierung berechnet P zu


jedem Block Gi die Zahl (Gi )d mod n. Um zu zeigen, dass dies Ni ergibt, brauchen wir alles,
was wir an Zahlentheorie gelernt haben. Es ist

(Gi )d mod n = ((Ni )c mod n)d mod n


= ((Ni )c )d mod n (nach Satz 4)
= (Ni )cd mod n (Potenzgesetze)
= (Ni )c(x+k(p 1)(q 1)) mod n (Definition von d)
= (Ni )cx+ck(p 1)(q 1)) mod n
= (Ni )1 y(p 1)(q 1)+ck(p 1)(q 1) mod n (Definition von x und y)
= (Ni )1+(ck y)(p 1)(q 1) mod n
ck y
= Ni · (Ni )(p 1)(q 1) mod n (Potenzgesetze)
'(n) ck y
= Ni · (Ni ) mod n (wegen Satz 7)
= Ni · 1ck y mod n (Satz von Euler)
= Ni mod n
= Ni (da ja Ni < n)

Wegen Ni < p und Ni < q ist natürlich ggT(Ni , pq) = 1, also kann der Satz von Euler tatsächlich
angewendet werden.
Fazit: Um eine Botschaft entschlüsseln zu können, braucht man die Zahl d, welche sich aus den
beiden Primzahlen p und q mit dem Divisionsalgorithmus bestimmen lässt. Ohne die Kenntnis
von p und q ist es nicht möglich, x und somit d herauszufinden. Während man die zum Ver-
schlüsseln benötigten Zahlen n und c ö↵entlich bekanntgeben kann, ist es natürlich unerlässlich,
p und q (und damit d) geheim zu halten. Das ist aber im Vergleich zu den früher behandelten
Chi↵rierungen einfacher, weil man p und q überhaupt niemandem mitteilen muss (im Gegensatz
zum notwendigen Schlüsseltausch bei den nicht-ö↵entlichen Systemen).
Bemerkung: Da diese Art der Verschlüsselung sowieso auf Computern erledigt wird, welche nur
mit Binärzahlen arbeiten, drängt es sich in der Praxis auf, für N den ASCII-Code der Nachricht
zu verwenden.

4.2 Ein Beispiel

Wir wählen die beiden Primzahlen p = 37 und q = 61 sowie c = 29. Wegen (p 1)(q 1) = 2160
ist tatsächlich ggT(c, (p 1)(q 1)) = 1. Der Euklidische Algorithmus liefert

2160 = 74 · 29 + 14 =) 14 = 2160 74 · 29
29 = 2 · 14 + 1 =) 1 = 29 2 · 14 = 29 2 · (2160 74 · 29) = 149 · 29 2 · 2160

Also ist x = 149 = d. Die zu verschlüsselnde Botschaft lautet test. Wir codieren diese wie
angetönt durch 20051920 und zerlegen in Blöcke der Länge 2. Es entstehen die vier Blöcke
N1 = 20, N2 = 05, N3 = 19 und N4 = 20 (beachte, dass Ni < p und Ni < q für alle möglichen

16
Blöcke Ni erfüllt ist). Diese werden mit den ö↵entlich bekannten Zahlen n = pq = 2257 und
c = 29 verschlüsselt, was mit dem TI-nspire direkt gemacht werden kann.

G1 = 2029 mod 2257 = 180


G2 = 529 mod 2257 = 1330
G3 = 1929 mod 2257 = 350
G4 = 2029 mod 2257 = 180

Zum Entschlüsseln braucht man jetzt die geheime Zahl d = 149.

N1 = 180149 mod 2257 = 20


N2 = 1330149 mod 2257 = 5
N3 = 350149 mod 2257 = 19
N4 = 180149 mod 2257 = 20

Dieses Verfahren liefert natürlich erst eine sichere Verschlüsselung, wenn die Zahlen p und q
so gross gewählt werden, dass die Primfaktorzerlegung von n = pq nicht mehr in endlicher“

Zeit gefunden wird. Auch die Blocklänge muss viel grösser gewählt werden, die obige Wahl
von zweistelligen Blöcken erzeugt nämlich eine monoalphabetische Verschlüsselung. Die Zahlen
Nix liegen dann nicht mehr im Rechenbereich des TI-nspire und auch vorher führt eine etwaige
Rundung zu falschen Werten für den Rest. Mathematica hat einen eigens dafür ausgelegten
Befehl, welcher den Rest auch für eigentlich nicht fassbare Zahlen korrekt bestimmt. Dieser
lautet PowerMod[a,c,n] und berechnet ac mod n. Für realistische Beispiele könnten wir deshalb
wolframalpha zu Rate ziehen. In Maxima lautet der Befehl power_mod(a,c,n).

4.3 Rekapitulation des Verfahrens

Bereitstellen der Schlüssel


Die Erzeugung der Schlüssel zur Chi↵rierung und zur Dechi↵rierung erfordert vier Schritte:

1. Wahl von zwei grossen Primzahlen p und q (ab 200 Stellen).

2. Berechnung von n = pq.

3. Wahl von c mit ggT(c, (p 1)(q 1)) = 1.

4. Bestimmung von x (und y) mit Hilfe des erweiterten Euklidischen Algorithmus, so dass
gilt 1 = x · c + y · (p 1)(q 1). Dann ist d = x mod (p 1)(q 1).

Aus diesen gewählten bzw. berechneten Zahlen werden nun zwei Schlüssel gebildet:

Der ö↵entliche Schlüssel: n, c mit diesen beiden Zahlen wird verschlüsselt


Der private Schlüssel: n, d mit diesen beiden Zahlen wird entschlüsselt

Verschlüsseln und Entschlüsseln


Die zu verschlüsselnde Nachricht wird mittels einer Zahl N codiert. Dabei muss gelten N < p
und N < q. Ist dies nicht der Fall, wird die Nachricht in mehrere Blöcke zerlegt, welche separat
verschlüsselt werden.

Nun wird folgendermassen verschlüsselt: G = N c mod n


Und so wird wieder entschlüsselt: N = Gd mod n

17
4.4 Digitale Unterschriften

Eine Schweirigkeit, die sich aus der Ö↵entlichkeit des Verschlüsselungsmechanismus ergibt, ist
folgende: Jedermann ist in der Lage, an P verschlüsselte Botschaften zu senden. Wie kann P
sicher sein, dass die Nachricht wirklich von der im Absender genannten Person, taufen wir sie
A, stammt (dies nennt man Nachrichtenauthentikation)?
Falls auch A eine Public-Key-Verschlüsselung mit den Zahlen n0 , c0 , p0 , q 0 und d0 verwendet,
lässt sich dies elegant sicherstellen. A setzt seine Unterschrift unter den Text, verschlüsselt
diese aber nicht mit dem ö↵entlichen Schlüssel von P sondern mit Hilfe von n0 und d0 seines
eigenen geheimen Schlüssels, d. h. er tut so, als wäre seine Unterschrift ein an ihn gesandter
verschlüsselter Text und entschlüsselt ihn. So entsteht eine Signatur S. Der Empfänger P
wendet nun auf S den ö↵entlichen Verschlüsselungsmechanismus (n0 , c0 ) von A an und erhält
daraus die Unterschrift von A zurück. Da niemand ausser A diese Unterschrift so verschlüsseln
konnte, ist P sicher, dass die Nachricht von A stammt.

Übungen:

24. Kreiere einen Schlüssel für das RSA-Verschlüsselungsverfahren. Der ö↵entliche Teil wird
in einem allen zugänglichen Dokument eingetragen.
25. Verschlüssle damit den Text Public Key Verfahren und entschlüssle ihn anschliessend
wieder.
26. Sende einem Partner oder einer Partnerin eine mit deren ö↵entlichem Schlüssel verschlüs-
selte Botschaft, welcher deine digitale Unterschrift angefügt ist.
27. Entschlüssle eine von A erhaltene Botschaft und verifiziere, dass A der Absender sein muss.

5 Zero-Knowledge-Protokolle

Betrachten wir folgendes Dilemma. Zu Beginn einer Mathematikstunde fragt der Lehrer, ob die
Klasse die Hausaufgaben gemacht habe. Alle bejahen fleissig. Auf die Frage, ob er sie denn
sehen dürfe, erhält der Lehrer die Antwort: Ich habe bei allen das im Lösungsbuch angegebene

Ergebnis erhalten, aber ich werde die Aufgaben nicht vorzeigen. Sie müssen mir einfach glauben,
dass ich sie gemacht habe.“ Da Glauben nicht unbedingt eine Domäne der Mathematiker ist,
stellt sich die Frage, ob es möglich ist zu beweisen, dass die Aufgaben erledigt wurden, ohne
diese vorzuweisen. In diesem konkreten Beispiel ist das wohl ein unlösbares Problem. Es gibt
aber durchaus Situationen, in denen jemand beweisen“ kann, dass er ein Geheimnis hat, ohne

auch nur das Geringste über dieses Geheimnis zu verraten. Ein solcher Beweis heisst Zero-
Knowledge-Protokoll. Dazu betrachten wir zuerst ein historisches Beispiel.

5.1 Das Geheimnis des Tartaglia

Das Lösen von Gleichungen war in der gesamten Geschichte der Mathematik ein äusserst wich-
tiges Problem. Schon früh wurden lineare Gleichungen gelöst und in der ersten Hälfte des
neunten Jahrhunderts beschrieb der berühmte arabische Mathematiker Muhammad Ibn Musa
Al-Khwarizmi in seinem Buch (Al Kitab al-mukhtasar fi) Hisab al-jabr w’al-muqabala, wie
man eine quadratische Gleichung ax2 + bx + c = 0 löst:
p
b ± b2 4ac
x1,2 =
2a

18
Eine kubische Gleichung, also eine Gleichung der Form ax3 + bx2 + cx + d = 0, zu lösen, ist
wesentlich kni✏iger, und die Entdeckung dauerte entsprechend lange. Der venezianische Rechen-
meister Niccolò Tartaglia (der Stotterer“), der von ca. 1499 bis 1557 lebte, entdeckte nach

eigenen Angaben im Jahre 1535 die Methode zur Lösung der kubischen Gleichung. Während
er seine Entdeckung ö↵entlich verkündete, behielt er die Formel selbst streng geheim. Er konn-
te aber jedem Zweifler beweisen, dass er die Formel wirklich besass, indem er zu allen ihm
vorgelegten kubischen Gleichungen die Lösungen angab. Durch Einsetzen war es jedermann
möglich nachzuprüfen, dass die Lösungen korrekt waren, ohne aber dabei die geringste Kenntnis
von der Formel zu erlangen.

Eine modernere Version davon lautet:

Die Gleichung
Ax3 + Bx2 + Cx + D = 0

mit
3AC B 2
p=
3A2
hat die folgenden drei Lösungen:

q ⇣ ⇣ q ⌘ ⌘
4 q
x2 = 3p · cos 13 arccos 2 · 27
p3 + ⇡
3
B
3A
q ⇣ ⇣ q ⌘⌘
4 1 q 27 B
x1 = 3 p · cos 3 arccos 2 · p3 3A
q ⇣ ⇣ q ⌘ ⌘
4 1 q 27 ⇡ B
x3 = 3 p · cos 3 arccos 2 · p3 3 3A

19
5.2 Die modulare Quadratwurzel

Wie bei den natürlichen Zahlen N gibt es auch in Zn Zahlen, welche das Quadrat einer Zahl sind.
Man nennt diese nicht Quadratzahlen sondern quadratische Reste. Da bei allen Quadratzahlen
die letzte Zi↵er 0, 1, 4, 5, 6, oder 9 lautet, sind dies die quadratischen Reste modulo 10. Die
Reste 2, 3, 7, und 8 sind dagegen keine Quadrate.
Während es sehr einfach ist, einen Rest zu quadrieren, stösst man, sobald n gross genug wird,
auf unüberwindliche Schwierigkeiten, wenn man die modulare Quadratwurzel aus einem qua-
dratischen Rest ziehen will. Wie beim RSA-Verfahren lässt sich auch diese Aufgabe nur lösen,
wenn man Zusatzinformationen (Primfaktorzerlegung von n) besitzt.

Übungen:

28. Bestimme die quadratischen Reste modulo 13 und modulo 18.

29. a) Weise nach, ob 18 ein quadratischer Rest modulo 35 ist.


b) Bestimme alle Reste a mit a2 mod 35 = 1.

5.3 Das Quadratwurzelspiel

Dieses Spiel zeigt ein Grundprinzip von heutzutage verwendeten Zero-Knowledge-Protokollen.


A behauptet, sie kenne eine Zahl s für die s2 mod 55 = 34 ist. Dies will sie B beweisen, ohne s
zu verraten. Dazu wählt sie zufällig eine Zahl r, berechnet r2 mod 55 und erhält 26. Dies teilt
sie B mit.
B wirft nun ein Münze; zeigt diese Kopf, verlangt B von A die Zahl (r · s) mod 55, andernfalls
einfach r.
Falls die Münze Kopf gezeigt hat, erhält B von A die Information (r · s) mod 55 = 53 und prüft
nun nach, dass einerseits
(r · s)2 mod 55 = 532 mod 55 = 4
und andererseits
(r2 · s2 ) mod 55 = (r2 mod 55)(s2 mod 55) mod 55
= ((26 mod 55)(34 mod 55)) mod 55
= (26 · 34) mod 55 = 4

Also geht B davon aus, dass A die Zahl s gekannt hat, um (r · s) mod 55 = 53 richtig zu
berechnen.
Falls die Münze Zahl gezeigt hat, erhält B von A die Information r = 46 und prüft nach, dass
462 mod 55 = 2116 mod 55 = 26. Somit weiss B, dass A tatsächlich ein r gewählt hat, dessen
Quadrat modulo 55 den Wert 26 hat (wegen der Schwierigkeit, Quadratwurzeln modulo n zu
berechnen, kann A diese ja nicht nachträglich noch berechnet haben).
Warum kann A nicht betrügen“ (d. h. das Geheimnis s nicht besitzen)?

Wüsste sie von vornherein, dass die Münze Zahl zeigt, dann bräuchte sie s nicht zu kennen,
weil sie ja bloss das gewählte r bekanntgeben muss (es wäre ihr ohne s aber nicht möglich,
(r · s) mod 55 mitzuteilen).

20
Falls sie im Voraus wüsste, dass die Münze Kopf zeigt, könnte sie sich ein geeignetes r2 prä-
parieren, um in der Lage zu sein, (r · s) mod 55 anzugeben, ohne s zu kennen. Dies ginge
folgendermassen: Als erstes bestimmt sie x so, dass (x · s2 ) mod 55 = (34x) mod 55 = 1. Dies
geschieht mit dem Euklidischen Algorithmus: Weil ggT(34, 55) = 1, findet sie ganze Zahlen x
und y mit 34x + 55y = 1 und es gilt (34x) mod 55 = (1 55y) mod 55 = 1. Konkret ergibt
sich x = 21 und y = 13. Danach wählt sie eine Zahl, von der sie weiss, dass sie mod 55 ein
Quadrat ist, etwa 4 = 22 , und wählt r2 := ( 21 · 4) mod 55 = 26. Dann weiss sie nämlich, dass
(r2 · s2 ) mod 55 = (4 · ( 21) · s2 ) mod 55 = (4 mod 55) · (( 21 · s2 ) mod 55) = 4 · 1 = 4, also
(r · s) mod 55 = 2, was sie B mitteilt. Diese verifiziert (r · s)2 mod 55 = 22 mod 55 = 4, was
mit (r2 · s2 ) mod 55 übereinstimmt, obwohl A die Zahl s gar nicht kennen musste. In dieser
Situation ist dafür A nicht in der Lage, die Zahl r bekanntzugeben, da sie nur r2 kennt.
Wenn A also s gar nicht kennt und betrügen müsste, so wäre bei jedem Spiel die Chance,
ertappt zu werden, 50 %, weil sich A schon vor dem Münzenwurf entscheiden muss, welche der
beiden Fragen sie beantworten kann und welche nicht. Spielt man nun das Spiel genügend oft
hintereinander, so wird die Wahrscheinlichkeit, dass der Betrug nicht entdeckt wird, beliebig
klein.
Da man zeigen kann, dass die Bestimmung von s nicht erleichtert wird durch die Kenntnis von
r2 mod 55 und (r · s) mod 55, muss A bei diesem Verfahren ihr Geheimnis s nicht preisgeben,
um zu beweisen, dass sie es kennt.

5.4 Das Fiat-Shamir-Protokoll

Dieses Protokoll, 1986 von Adi Shamir und Amos Fiat eingeführt, basiert auf dem Quadrat-
wurzelspiel und wird zur Authentikation zwischen zwei Rechnern verwendet (dabei ist einer der
Rechner typischerweise eine Chipkarte).
Die Sicherheit beruht darauf, dass es ausserordentlich schwierig ist, die modulare Quadratwurzel
einer Zahl v zu finden. Genauer gesagt: Sei n eine natürliche Zahl. Wenn man die Primfaktor-
zerlegung von n nicht kennt, ist es praktisch unmöglich, eine Zahl s zu finden mit s2 mod n = v
(d. h. n sollte sich im Grössenbereich ab 200 Stellen bewegen). Also kann man die Kenntnis der
modularen Quadratwurzel s von v als ein wertvolles Geheimnis au↵assen.
Vorgängig werden in einer Schlüsselzentrale zwei genügend grosse Primzahlen p und q gewählt
und ihr Produkt n = pq gebildet. Während n ö↵entlich ist, müssen p und q geheim gehalten
weden. Die Zentrale wählt für jeden Benutzer eine Zahl s (das Geheimnis des Benutzers) und
bestimmt v derart, dass v = s2 mod n.
Zur Authentikation sendet der Rechner C die Zahl v an den Rechner D. Dann wählt C zufällig
eine Zahl r, für die ggT(r, n) = 1 gilt, berechnet x = r2 mod n und gibt dieses x dem Rechner
D bekannt. D wählt zufällig ein Bit b (d. h. b = 0 oder b = 1) und sendet es an C. Falls
b = 1, berechnet C den Wert y := (r · s) mod n, falls b = 0, ist y := r mod n. Dieses y
wird D mitgeteilt, der zuerst verifiziert, dass ggT(y, n) = 1. Im Fall b = 1 überprüft er dann
y 2 mod n = (x · v) mod n, andernfalls y 2 mod n = x.
Eine Analyse dieses Protokolls zeigt:

• Beide Rechner müssen nur sehr wenige Berechnungen modn durchführen. Der Benutzer-
rechner C muss bloss die Zufallszahl r quadrieren und in der Hälfte aller Fälle rs berech-
nen. Der Authentikationsrechner D muss y quadrieren und in der Hälfte aller Fälle x mit
v multiplizieren.

• D verwendet nur ö↵entliche Information, während C das Geheimnis s wesentlich einsetzt.

21
• Wird das Protokoll oft genug durchgespielt, kann D mit grosser Sicherheit davon ausgehen,
dass C die Zahl s wirklich kennt (es ist etwa gleich wahrscheinlich, 23 Mal erfolgreich
betrügen zu können, wie einen Sechser im Zahlenlotto zu haben).

• Auch nach dem Authentikationsprozess bleibt die Zahl s geheim. Selbst wenn Tausende
von Transaktionen abgehört werden, kann die modulare Quadratwurzel von v nicht berech-
net werden.

6 Message Authentication Codes

Ein weiteres Problem, das mit kryptologischer Hilfe gelöst werden kann, ist die Frage, ob eine
(unverschlüsselte) Nachricht unterwegs nicht verfälscht wurde (dies nennt man Nachrichtenin-
tegrität). Die rabiateste Methode ist, die Nachricht verschlüsselt an die ursprüngliche Nachricht
anzuhängen. Erhält der Empfänger beim Entschlüsseln einen zur unverschlüsselten Botschaft
identischen Text, kann er sicher sein, dass die Nachricht im Originalzustand ist.
Der Nachteil dieses Vorgehens ist, dass dabei das Datenvolumen verdoppelt wird. Es gibt aber
Verfahren, welche die Nachricht nicht in gleichem Umfang vergrössern und gleichzeitig auch
noch eine digitale Unterschrift beinhalten. Dabei wird ein sogenannter Message Authentica-
tion Code, kurz MAC, generiert. Mathematisch basiert ein MAC auf sogenannten Einweg-
Hashfunktionen. Wir zählen nur die wichtigsten Eigenschaften solcher Funktionen f auf: Für
alle x ist es sehr einfach, f (x) zu berechnen. Kennt man y, so ist es nicht möglich, daraus ein
x zu berechnen mit f (x) = y. Zu einem gegebenen x ist es unmöglich, ein x0 zu finden mit
f (x) = f (x0 ). Man ist sogar nicht einmal in der Lage, irgend ein Paar (x1 , x2 ) zu finden mit
f (x1 ) = f (x2 ).
Konkret vereinbaren Sender und Empfänger einen Schlüssel (den sie natürlich geheim halten
müssen), um MACs zu kreieren. Der Sender berechenet den MAC C seiner Nachricht und
schickt diesen mit der Nachricht an den Empfänger. Dieser berechnet den MAC von der emp-
fangenen Nachricht und vergleicht ihn mit C. Stimmen sie überein, so handelt es sich um
die Originalnachricht. Andernfalls wurde sie (durch Übertragungsfehler, absichtliche Fälschung
etc.) verändert. Da der MAC keine Möglichkeit bietet, die Nachricht zu rekonstruieren, muss
ein erneuter Übertragungsversuch gestartet werden.
Ein heutzutage in der Praxis verwendeter derartiger Code ist der MD5 Code, ein 128 bit
langer Hash-Code, welcher z. B. auf dem Internet verwendet wird, um die Authentizität von
heruntergeladenen Dateien zu überprüfen.

7 Lösungen der Übungen


2. Geheimtext: WFLKUZDMWKKWDFAKLCWAFHJGTDWEOWFFESFVWFKUZDMWKKWDCWFFL
Klartext: entschluesselnistkeinproblemwennmandenschluesselkennt

3. Geheimtext: GQVCBXIZWIGQOSGOFJSFGQVZISGGSZHSGSWBSPCHGQVOTHSB
Klartext: schonjuliuscaesarverschluesselteseinebotschaften
Schlüssel: a ! O

4. a) (6 + 7) mod 8 = 5 b) (5 · 6) mod 11 = 8

5. a) (12 · 16) mod 5 = 2 und ((12 mod 5) · (16 mod 5)) mod 5 = (2 · 1) mod 5 = 2.
b) (13 · 11) mod 9 = 8 und ((13 mod 9) · (11 mod 9)) mod 9 = (4 · 2) mod 9 = 8.

22
c) Es spielt keine Rolle ob man zuerst Reste bildet oder zuerst multipliziert (vergleiche
Satz 3 in Abschnit 3.3).

6. Ordnungszahlen des Klartextextes: 18, 4, 7, 17, 6, 20, 19. Operation: +19, mod 26.
Ordnungszahlen des Geheimtextes: 11, 23, 0, 10, 25, 13, 12.

7. Eigentlich muss man 7 addieren, was aber dasselbe ist, wie 7 mod 26 = 19 addieren.
Allgemein: Verschlüsseln mit Schlüssel a bedeutet entschlüsseln mit Schlüssel a mod 26.

8. a) 45 mod 17 = 11 b) 1333 mod 58 = 57

9. Vom 1. Mai 2017 bis zum 1. Mai 2029 sind es 12 Jahre, davon 3 Schaltjahre, also 12 · 365 +
3 = 4383 Tage. Weil eine Woche 7 Tage enthält, berechnet man 4383 mod 7 = 1. Der 1.
Mai 2029 ist somit ein Dienstag.

10. Schlüsselwort: lauterunfug


Klartext: morgenfrueh
Geheimtext: XOLZIEZEZYN

11. Schlüsselwort: dxfhjykortzphge


Geheimtext: URRWNJCHZEYROKR
Klartext: rumpelstilzchen

12. Buchstabenfolge Zahlenfolge


hatgleichvielezeichen ! 7 0 19 6 11 4 8 2 7 21 8 4 11 4 25 4 8 2 7 4 13
uebungmachtdenmeister ! 20 4 1 20 13 6 12 0 2 7 19 3 4 13 12 4 8 18 19 4 17
BEUAYKUCJCBHPRLIQUAIE 1 4 20 0 24 10 20 2 9 2 1 7 15 17 11 8 16 20 0 8 4

13. Schlüssel: 00 0001 1111 0010 1000 1110 1011


Klartext: 10 1100 0100 1110 1000 1110 1010
Geheimtext: 10 1101 1011 1100 0000 0000 0001

14. a) ggT(851, 444) = 37, (37 = 1 · 851 + 2 · 444)


b) ggT(89, 144) = 1, (1 = 55 · 89 + 34 · 144)

15. a) ggT(135, 75) = 15, 15 = 1 · 135 + 2 · 75


b) ggT(179, 72) = 1, 1 = 35 · 179 87 · 72

16. ggT(123 456, 78 912) = 192, 192 = ( 62) · 123 456 + 97 · 78 912

17. ggT(46 738, 43 543) = 1, 1 = 4 402 · 46 738 4 725 · 43 543

18. Z4 Z7
a a2 a3 a4 a5 ··· a a2 a3 a4 a5 a6 a7 a8 ···
0 0 0 0 0 ··· 0 0 0 0 0 0 0 0 ···
1 1 1 1 1 ··· 1 1 1 1 1 1 1 1 ···
2 0 0 0 0 ··· 2 4 1 2 4 1 2 4 ···
3 1 3 1 3 ··· 3 2 6 4 5 1 3 2 ···
4 2 1 4 2 1 4 2 ···
5 4 6 2 3 1 5 4 ···
6 1 6 1 6 1 6 1 ···

19. Z3 : 12 = 1, 22 = 1, Z5 : 14 = 1, 24 = 1, 34 = 1, 44 = 1, Z6 : 15 = 1, 25 = 2, 35 = 3,
45 = 4, 55 = 5 Z13 : 112 = 1, 212 = 1, 312 = 1, 412 = . . . = 1212 = 1.

23
20. a) 8 1 mod 15 = 2 b) 16 1 mod 35 = 11 c) 367 1 mod 1571 = 244

21. Wegen Satz 7 und ggT(7, 21) = 7 6= 1.

22. 7 5 mod 13 = (7 1 )5 mod 13 = 25 mod 13 = 32 mod 13 = 6

23. Es ist ((ap 2 mod p) · a) mod p = (ap 2 · a) mod p = ap 1 mod p = 1, wegen dem kleinen
Satz von Fermat. Also ist ap 2 mod p das multiplikative Inverse von a modulo p.

24. bis 27. —

28. mod 13: 0 = 02 , 1 = 12 = 122 , 3 = 42 = 92 , 4 = 22 = 112 , 9 = 33 = 102 , 10 = 62 =


72 , 12 = 52 = 82 .
mod 18: 0 = 02 = 62 = 122 , 1 = 12 = 172 , 4 = 22 = 162 , 7 = 52 = 132 , 9 = 33 =
92 = 152 , 10 = 82 = 102 , 13 = 72 = 112 , 16 = 42 = 142 .

29. a) Die Liste der Quadrate der Zahlen in Z35 lautet:


0, 1, 4, 9, 16, 25, 1, 14, 29, 11, 30, 16, 4, 29, 21, 15, 11, 9, 9, 11, 15, 21, 29, 4, 16, 30, 11, 29, 14, 1, 25, 16, 9, 4, 1
Darin kommt 18 nicht vor, also ist 18 kein quadratischer Rest modulo 35.
b) Aufgrund der obigen Liste sind dies 1, 6, 29 und 34.

24

Das könnte Ihnen auch gefallen