Title: Kryptographie - ein Exkurs Kodieren/Dekodieren, Verschl
1Kryptographie - ein ExkursKodieren/Dekodieren,
Verschlüsseln/Entschlüsseln, Chiffrieren/Dechiff
rieren zum Zweck der Geheimhaltung, zur
Authentifizierung, zum Signieren, non
repudiation ... e-commercepasswords, ChipCards,
e-cash, e-banking, ...ECC ...
2Albrecht Beutelspacher Kryptologie Vieweg
1991 Wilfried Dankmeier Codierung Vieweg
1994 Otto Forster Algorithmische Zahlentheorie
Vieweg 1996 Rudolph Kippenhahn Verschlüsselte
Botschaften - Geheimschrift, Enigma
und Chipkarte Rowohlt 1997 David Kahn The
Codebreakers New York 1967 Euklid (ca 300
c.Chr.), Gaius Julius Caesar (), Johannes
Trithemius (1462-1516), Blaise de Vigenère
(1523-1596), Pierre de Fermat (1601-1665), Leonha
rd Euler (1707-1783), Friedrich W. Kasiski
(1805-1881), Alan M. Turing (1912-1952), Ronald
L. Rivest, Adi Shamir, Leonard Adleman, Diffie,
Martin E. Hellmann, Philipp (Phil) Zimmermann,
usw. data encryption standard (DES), RSA, PGP,
IDEA etc.
3Caesar Mit der Verschlüsselungsvorschrift
(encryption) echr?(chrkey) mod 26 oder
tabellarisch etwa chr a b c d e f g h i j k l m
e(chr) D E F G H I J K L M N O P chr n o p q r s
t u v w x y z e(chr) Q R S T U V W X Y Z A B C
(key?) wird Klartext chiffriert,
z.B. t r a u e n i e m a n d W U D X H Q L H P
D Q G bzw. Chiffriertext mit (decryption)
dchr?(chr-key) mod 26 dechiffriert. Leerzeichen
evtl. als eigenen Buchstabe auffassen!
Realisierung durch Buchstaben-Scheibe.
4(No Transcript)
5Trithemius 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
... 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
6führt auf eine die Häufigkeit verschleiernde
Kodierung, beispielsweise e i n e i a l l e i
n e E J P H M F R S M R X P Vigenère Die
Vigenère-Verschlüsselung ist eine
Trithemius-Verschlüsselung mit Schlüsselwort.
Schlüssel-Raum? brute force attack? Entscheiden
d ist die Kenntnis der Länge des Schlüsselwortes,
die mit der Methode von Kasiski zu bestimmen ist
gleiche Buchstabenfolgen im Chiffriertext (von
denselben Klartext-Wort(-Teilen) stammend) haben
im Geheimtext ein Vielfaches der Schlüssel-Länge
als Abstand.
7- Data Encryption Standard (DES)
- symmetrisch, d.h. derselbe Schlüssel für
Codierung wie für Decodierung - hardware-nah u.a. durch iterierte
bit-Operationen, also schnell und sparsam
(Realisierung auf Prozessor-Chip-Karten) - Entwicklung der IBM in USA, 1977 standardisiert
vom NBS, Verbesserungen (triple DES etc),
Export-Beschränkungen ...
8RSA RSA (Rivest, Shamir, Adleman A Method for
Obtaining Digital Signatures and Public-Key
Cryptosystems CACM 21 (Feb 1978), 120-126) ist
ein asymmetrisches Verfahren, d.h. mit
verschiedenen Schlüsseln zum Chiffrieren und
Dechiffrieren. Dabei ist ein Schlüssel öffentlich
(public key). Def. Für n?N heißt
?(n)??k?Nkltn, ggt(k,n)1?? Euler-Funktion. z.B.
?(5)??1,2,3,4??4 und ?(18)??1,5,7,11,13,17??
6 Der Euklid'sche Algorithmus berechnet den
größten gemeinsamen Teiler ggt(x,y) von x und
y entweder rekursiv oder iterativ.
9rekursiv unsigned gcd(int x, int y) // wegen
x(x/y)yx\y if (y0) return abs(x) else
return gcd(y,xy) // end
gcd iterativ unsigned gcd(int x, int y) //
wegen x(x/y)yx\y while (y!0)
int tempy yxy xtemp return abs(x)
// end gcd
10Die Umkehrung des Algorithmus erlaubt die
Berechnung des modularen Inversen. Bem. Für
jede Primzahl p gilt ?(p)??1,2,...,p-1??p-1. Fü
r alle Primzahlen p und q gilt ?(pq)(p-1)(q-1),
da ja ?(pq)??1,2,...,pq-1????1,2,...,pq-1?-?1p,2
p,...,(q-1)p?- ?1q,2q,...,(p-1)q??pq-1-(q-1)-(p-1
)(p-1)(q-1). Satz (kleiner Satz von
Fermat) Sei p prim und a nicht durch p teilbar.
Dann gilt ap-1mod p1. z.B. 53-1mod 3 25 mod
3 1, 35-1 mod 5 81 mod 5 1 großer Satz
von Fermat x²y²z² hat Lösungen in N, aber
xnynzn für ngt2 nicht!
11Satz (Euler) Sei 1ltn?N und a ?N zu n
teilerfremd, also ggt(a,n)1. Dann gilt a?(n)mod
n1. z.B. ?(18)??1,5,7,11,13,17??6,5?(18)mod
18 56 mod 18 15625 mod 18 (188681) mod
18 1 Sei nun npq für zwei Primzahlen p und q.
Sei e zu ?(n) teilerfremd und seien e und d
zueinander modulo ?(n) invers, d.h. ed mod
?(n)1. Das Paar e und n bildet den
öffentlichen Schlüssel, das Paar d (und n)
bildet den geheimen Schlüssel. Verschlüsseln
des Klartextes K durch Ke mod n liefert den
Geheimtext G. Entschlüsseln des Geheimtextes G
durch Gd mod n liefert den Klartext K.
12Da e und d modulo ?(n) invers zueinander, gilt
(ed) mod ?(n) 1 oder eben ed v ?(n)1 für
ein v?N. Also ist Gd mod n (Ke mod n)d mod n
Ked mod n Kv?(n)1 mod n
K (K?(n) mod n)v mod n K 1v
mod n K mod n K Entschlüsseln des
Geheimtextes liefert den Klartext zurück!
13Beispiel Sei n p q 57. Dann ist
?(n)(p-1)(q-1) 46 24 und e11 ist
teilerfremd zu ?(n) 24, etwa zu verifizieren
mit dem Euklid'schen Algorithmus. Ebenso mit dem
Euklid'schen Algorithmus bestimmt man das modulo
?(n) Inverse d 11 von e mit (ed) mod ?(n)
1. Der Klartext K 13 lt 35 n wird zum
Geheimtext G Ke mod n 1311 mod 35 13(132
mod 35)5 mod 35 13 295 mod 35 13 29
(292 mod 35)2 mod 35 13 29 12 mod 35 13
29 mod 35 27 chiffriert. Der Geheimtext G
27 wird wieder zum Klartext K Gd mod n 2711
mod 35 27(272 mod 35)5 mod 35 27 295 mod
35 27 29 (292 mod 35)2 mod 35 27 29 12
mod 35 27 29 mod 35 13 dechiffriert.
14Weitere Zahlen-Beispiele Dankmeier S.242,
Risse Kippenhahn S.277 Dankmeier
S.241 Kippenhahn S.341 q 5 5 577 48611 q 7
17 419 1009 n 35 85 241763 49048499 ?(n) 24 64 2
40768 48998880 e 11 5 1264763 61 d 11 13 221747
2409781 K 13 24 1223 18151905 G 27 79 96883 1069
7935 Ein Beispiel mit 40- bzw. 41-stelligen
Primzahlen in Forster, S.125ff.
15Anwendungen S(ender) möchte R(eciever) den
Klartext K vertraulich senden eeR und nnR sind
öffentlich. S versendet den Geheimtext G Ke
mod n, den nur R zum Klartext K Gd mod n
entschlüsseln kann. S(ender) möchte einen
Klartext K signieren S kodiert K oder zu G
Kd mod n oder erzeugt zu K explizit die Digitale
Signatur Sig(K) (hash(K))d mod n. R(eciever)
hat mit K Ge mod n bzw. hash(K) (Sig(K))e
mod n nicht nur das Dokument K sondern auch
seine gesicherte Echtheit (Authenizität).