Skript zur Vorlesung
Angewandte Informationstheorie
E
C
OM
MUNIC
AT
I O
NS ·
· T EL
Sommersemester 2002
D
T
...
59 downloads
732 Views
1MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Skript zur Vorlesung
Angewandte Informationstheorie
E
C
OM
MUNIC
AT
I O
NS ·
· T EL
Sommersemester 2002
D
T
IE
HE
ORY
APPL
IN
FO
RM
O ATI
N
Prof. Dr. M. Bossert Dipl.-Ing. R. Jordan Dipl.-Ing. J. Freudenberger
2
Inhaltsverzeichnis 1 Grundlagen der Informationstheorie 1.1 Informationstheorie und Kommunikationssysteme . . . . . . . . . 1.1.1 Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Datensicherheit . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Einige Fragestellungen . . . . . . . . . . . . . . . . . . . . 1.2 Der Begriff Information . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Eigeninformation und wechselseitige Information . . . . . . 1.2.2 Mittlere wechselseitige Information und Entropie . . . . . 1.2.3 Bedingte Entropie und bedingte wechselseitige Information 1.2.4 Fanos Lemma und Satz der Datenverarbeitung . . . . . . 1.3 Fundamentale Aussagen der Informationstheorie . . . . . . . . . 1.3.1 Typische Sequenzen . . . . . . . . . . . . . . . . . . . . . 1.3.2 Shannons Quellencodiertheorem . . . . . . . . . . . . . . 1.3.3 Shannons Kanalcodiertheorem . . . . . . . . . . . . . . . 1.3.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . .
7 7 7 7 8 10 10 11 15 20 22 22 24 25 32
2 Quellencodierung 2.1 Codierung einer Zufallsvariablen . . . . . . . . . . . . . . . . . . 2.1.1 Pr¨afixfreie Codes . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Shannon-Fano-Codierung . . . . . . . . . . . . . . . . . . 2.1.3 Huffman-Codierung . . . . . . . . . . . . . . . . . . . . . 2.2 Codierung einer Zufallsquelle ohne Ged¨achtnis . . . . . . . . . . 2.2.1 Codierung von Bl¨ocken konstanter L¨ange durch Symbole variabler L¨ange . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Tunstall-Codierung . . . . . . . . . . . . . . . . . . . . . 2.3 Codierung von Quellen mit Ged¨achtnis . . . . . . . . . . . . . . . 2.3.1 Diskrete station¨are- und Markov-Quellen . . . . . . . . . 2.3.2 Inverses Codierungstheorem f¨ ur DSS . . . . . . . . . . . . 2.3.3 Elias-Codierung f¨ ur positive ganze Zahlen . . . . . . . . . 2.3.4 Elias-Willems-Codierung . . . . . . . . . . . . . . . . . . 2.3.5 Lempel-Ziv-Codierung . . . . . . . . . . . . . . . . . . . . 2.4 Rate-Distortion-Theorie . . . . . . . . . . . . . . . . . . . . . . .
33 33 34 37 38 41
3
41 42 47 47 51 52 55 57 59
4
INHALTSVERZEICHNIS
3 Kanalcodierung 3.1 MAP– und ML–Decodierung . . . . . . . 3.2 Bhattacharyya–Schranke (zwei Codeworte) 3.3 Bin¨are Blockcodes . . . . . . . . . . . . . 3.4 Schranke f¨ ur Blockfehlerwahrscheinlichkeit 3.5 Random-Coding und Error-Exponent . . 4 Der 4.1 4.2 4.3 4.4
Gaußkanal Der zeitdiskrete Gaußkanal . . . . . Water-Filling-Methode . . . . . . . . Der bandbegrenzte Gaußkanal . . . Das Shannon Limit . . . . . . . . .
. . . .
. . . .
. . . .
. . . . . . . . .
. . . .
. . . .
. . . . .
. . . .
5 Mehrbenutzerkommunikation 5.1 Duplexkommunikation . . . . . . . . . . . . . . 5.2 Vielfachzugriff (Beschr¨ankung auf zwei Sender) 5.3 Massey’s Bandbreiten Interpretation . . . . . . 5.4 Der Rundfunkkanal . . . . . . . . . . . . . . .
. . . . .
. . . .
. . . .
. . . . .
. . . .
. . . .
. . . . .
. . . .
. . . .
. . . . .
. . . .
. . . .
. . . . .
. . . .
. . . .
. . . . .
. . . .
. . . .
6 Kryptologie 6.1 Klassische Verfahren . . . . . . . . . . . . . . . . . . . . . 6.1.1 Skytale . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Substitutionschiffren, Caesar, Vernam und Vigen`ere 6.1.3 Klassifikation der Chiffren . . . . . . . . . . . . . . 6.1.4 Attacken, Angriffe auf Kommunikation . . . . . . . 6.2 Informationstheoretische Sicherheit . . . . . . . . . . . . . 6.3 Symmetrische Verfahren . . . . . . . . . . . . . . . . . . . 6.3.1 Block–Verfahren . . . . . . . . . . . . . . . . . . . 6.3.2 Faltungs–, Strom–Verfahren . . . . . . . . . . . . . 6.4 Assymmetrische Verfahren, Public Key Verfahren . . . . . 6.4.1 Exponent–Logarithmus . . . . . . . . . . . . . . . . 6.4.2 Rucksack Verfahren (Knapsack) . . . . . . . . . . . 6.4.3 Rivest Shamir Adleman (RSA) Verfahren . . . . . . 6.4.4 El Gamal Verfahren . . . . . . . . . . . . . . . . . 6.5 Protokolle . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5.1 Omura’s Idendit¨atsbeweis Protokoll . . . . . . . . . 6.5.2 Zero Knowledge Protokolle . . . . . . . . . . . . . . 6.5.3 M¨ unzwurf Protokoll . . . . . . . . . . . . . . . . . 6.5.4 Kryptographische Verfahren im GSM–System . . . A Einfu ¨ hrung in die diskrete Wahrscheinlichkeitsrechnung
. . . . .
. . . .
. . . .
. . . . . . . . . . . . . . . . . . .
. . . . .
. . . .
. . . .
. . . . . . . . . . . . . . . . . . .
. . . . .
. . . .
. . . .
. . . . . . . . . . . . . . . . . . .
. . . . .
63 64 67 69 72 75
. . . .
79 80 82 83 85
. . . .
87 88 89 91 93
. . . . . . . . . . . . . . . . . . .
97 99 100 101 102 103 109 113 114 126 133 133 135 136 137 138 139 140 143 144 151
INHALTSVERZEICHNIS B Mathematische Grundlagen B.1 Zahlentheorie . . . . . . . . . . . . . . B.1.1 Euklidscher Algorithmus . . . . B.2 Gruppe, Ring, K¨orper, Galoisfeld . . . B.2.1 Gruppe . . . . . . . . . . . . . B.2.2 Ring . . . . . . . . . . . . . . . B.2.3 K¨orper, Galois–Feld . . . . . . B.3 Primzahlen, Faktorisierung von Zahlen B.3.1 Primzahltest . . . . . . . . . . . B.4 Zusammenfassung . . . . . . . . . . . .
5
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
161 161 162 165 165 166 167 170 171 172
6
INHALTSVERZEICHNIS
Kapitel 1 Grundlagen der Informationstheorie 1.1 1.1.1
Informationstheorie und Kommunikationssysteme Kommunikation
Claude Shannon 1948:
A mathematical theory of communication
Quelle: Telegraphie, Sprachsignal s(t), Fernsehsignal, Schaltsignal, File: ASCII, etc. Quellencodierer: Abbildungen auf bin¨aren Datenstrom der Datenrate R bit/sec, Datenkompression, Redundanzreduktion, etc. Kanalcodierer: Redundanz wird hinzugef¨ ugt, um Fehler zu korrigieren. Beispiel: Virlesung Kanal: Was der Nachrichtentechniker nicht ¨andern kann bzw. will.“ Telefonlei” tung, optische Faser, Koaxialverbindung, Funkstrecke, etc. Kanaldecodierer: Fehlerkorrektur/-erkennung, Viterbi Algorithmus, MLDecodierung, Block-Faltungscodes-Decodierung (Vorlesung: Kanalcodierung), ARQ (Feedback) Quellendecodierung: Abbildung bin¨arer Daten auf Signal
1.1.2
Datensicherheit
Verschlu ¨ sselung: Abbildung der Nachricht m auf ein Kryptogramm y mittels Schl¨ ussel K. 7
8
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE Quelle
Quellencodierer
Kanalcodierer
bin¨are Daten
Diskreter Kanal
Modulation
Kanal
zuf¨allige St¨orungen
Demodulation
Senke
Quellendecodierer
Kanaldecodierer
Abbildung 1.1: Das allgemeine Modell in der Informationstheorie
Ziele: Vertraulichkeit: m kann nicht erkannt“ werden. ” Authentizit¨ at: m kann nicht unerkannt ver¨andert werden. Erweiterung: Nachricht, Sender, Empf¨anger, Anonymit¨at. Aktive Kryptoanalytiker: kann sich aktiv in die Kommunikation einschalten, d. h. kann nicht nur Nachrichten abh¨oren (wie der passive Kryptoanalytiker) sondern auch ver¨andern, nicht weitergeben, alte wiederholen, etc. (Kanal kann als aktiver Kryptoanalytiker interpretiert werden) Entschlu ˆ ¨ sselung: Abbildung y −→ m Anmerkung: sicherer Kanal - symmetrische Verfahren Praxis: public key crypto-systems, Protokolle, Einwegfunktionen zum Schl¨ usselaustausch
1.1.3
Einige Fragestellungen
a) Gegeben eine beliebige Quelle. Welche Datenrate R ben¨otigt man mindestens, um die Quelle exakt zu rekonstruieren ? b) Was ist die Information, die von Quelle zu Senke u ¨bertragen wird ? Wie definiert man Information ?
1.1. INFORMATIONSTHEORIE UND KOMMUNIKATIONSSYSTEME
9
sicherer Kanal K (Key) m
Verschl¨ usselung y = f kt(K, m)
aktiver Kryptoanalytiker
Entschl¨ usselung m ˆ = f kt−1 (K, y)
passiver Kryptoanalytiker
m ˆ
Abbildung 1.2: Datensicherheit als Blockdiagramm
¨ c) Uber welchen Kanal kann man wieviel Information u ¨bertragen ? ¨ d) Ist eine fehlerfreie Ubertragung m¨oglich ? e) Kann man analoge repr¨asentieren ?
Quellen
durch
einen
bin¨aren
Datenstrom
f) Wie kann man erkennen, ob eine Folge aus einer bin¨aren Quelle Redundanz enth¨alt ? g) Kann man die Daten abh¨orsicher u ¨bertragen ? h) Kann man bemerken, ob eine Nachricht ver¨andert wurde ? Ob der Absender stimmt ? i) Kann man ohne sicheren Kanal auskommen ? Antworten der Informationstheorie a) Quellencodiertheorem: Jede Quelle ist eindeutig durch die Entropie H definiert und kann mit einer Datenrate R > H beliebig genau rekonstruiert werden. Bei R < H ist keine exakte Rekonstruktion m¨oglich. b) Information ist definierbar u ¨ber Wahrscheinlichkeitstheorie. Jedoch: welche Information liefert ein Ereignis u ¨ber ein anderes; keine subjektive Information. ¨ c) Die Kanalkapazit¨at C entspricht der maximal m¨oglichen Ubertragung von Information.
10
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE d) Kanalcodiertheorem: Man kann mit beliebig kleiner Restfehlerrate u ¨bertragen mit R < C. e) Rate Distortion Theorie, Genauigkeit, lossy f) Universal Source Coding, statistische Abh¨angigkeiten werden berechnet/genutzt. g) Informationstheoretisch ja. h) beliebig genau (Aufwand) i) Ja, durch Public Key Verfahren und durch Einwegfunktionen.
1.2
Der Begriff Information
Ulm/Neu-Ulm hat ca. 200000 Einwohner. Wieviel Information“ bringt es uns ” einen bestimmten auszuw¨ahlen ? 18 bit: 218 = 262144, d. h. mit ca. 18 bit k¨onnten wir jeden Einwohner numerieren. ? =⇒
18 bit Information
(Hartley: ld (Anzahl Einwohner) = Entropie, Selbstinformation ) Probleme gibt es, wenn die Ereignisse nicht gleichwahrscheinlich sind. Gem¨aß Shannon ist die Entropie keine Information, sondern Information ist das, was wir empfangen (beobachten), wenn die Entropie vermindert wird. Das heißt wir k¨onnen durch die Beobachtung einer Zufallsvariablen Information u ¨ber eine andere erhalten.
1.2.1
Eigeninformation und wechselseitige Information
Seien A und B zwei Ereignisse einer oder zweier Zufallsexperimente. Wechselseitige Information:
P (A) 6= 0, P (B) 6= 0 :
I(A; B) = log b
P (A | B) P (A)
(1.1)
1.2. DER BEGRIFF INFORMATION
b = 2 : bit,
11
b = e : nat,
log (0) = −∞
(1.2)
Selbst-, Eigeninformation:
I(A) = I(A; A) = logb
P (A | A) = − logb P (A) P (A)
(1.3)
Folgerungen: I(A; B) = I(B; A),
denn
log
P (B | A) P (A | B) = log P (A) P (B)
(1.4)
(symmetrisch: Information u ¨ber A, wenn B beobachtet wurde = Information u ¨ber B, wenn A beobachtet wurde) −∞ ≤ I(A; B) ↑ P (A | B) = 0 I(A; B) = 0 : andere Notation:
≤ min {− log P (A), − log P (B)} ↑ (B) P (A | B) = 1, P (B | A) = PP (A) bzw. P (A) P (B | A) = 1, P (A | B) = P (B) ¡ ¢ Ereignisse sind unabh¨angig P (A | B) = P (A) I(X = x) = − log fX (x) fX|Y (x | y) I(X = x; Y = y) = log fX (x)
1.2.2
(1.5)
(1.6) (1.7)
Mittlere wechselseitige Information und Entropie
Entropie: Der Erwartungswert der Selbstinformation der Ereignisse einer Zufallsvariablen X X H(X) = E[I(X = x)] = − fX (x) log fX (x) (1.8) x∈ suppfX (x)
= E [− log fX (x)]
supp fX (x) sind alle X, f¨ ur die fX (x) > 01
(1.9)
12
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
Beispiel:
(Bin¨are Entropiefunktion) X = {x1 , x2 }, fX (x1 ) = p,
fX (x2 ) = 1 − p
H(X) = −p ld p − (1 − p) ld (1 − p) = h(p)
(1.10)
1 0.9 0.8 0.7
h(p)
0.6 0.5 0.4 0.3 0.2 0.1 0 0
0.11
0.2
0.4
0.5 p
0.6
0.8 0.89
1
Abbildung 1.3: Schaubild der bin¨aren Entropiefunktion Beispiel: sich:
(Massey) F¨ ur die beiden in Abbildung 1.4 gezeigten Beispiele ergibt
0 1
0 1 a)
0 0
0 1 b)
Abbildung 1.4: Beispiel zur bin¨aren Entropie
Ha (X) = −P (0) ld P (0) − P (1) ld P (1) 1 1 + = 1 bit = 2 2 Hb (X) = −P (0) ld P (0) − P (1) ld P (1) µ ¶ µ ¶ 3 1 3 1 = − ld − ld = 0.811 bit 4 4 4 4 1
mit der Definition
werden
lim
fX (x)→0
(1.11) (1.12) (1.13) (1.14)
fX (x) log fX (x) = 0 kann alternativ auch u ¨ber alle X summiert
1.2. DER BEGRIFF INFORMATION
13
Mittlere wechselseitige Information: Seien X und Y zwei Zufallsvariablen I(X; Y ) =
XX x
fXY (x, y) log
y
fX|Y (x | y) fX (x)
(1.15)
Folgerungen: I(X; Y ) = I(Y ; X) I(X; Y ) = H(X) + H(Y ) − H(XY ) Beweis: I(X; Y ) = = = =
¸ · ¸ fX|Y fXY = E log E log fX fX fY E[log fXY − log fX − log fY ] E[− log fX ] + E[− log fY ] + E[log fXY ] H(X) + H(Y ) − H(XY ) ·
(1.16) (1.17)
(1.18) (1.19) (1.20) (1.21) ¤
Sei X eine Zufallsvariable, die L Werte annehmen kann {x1 , x2 , . . . , xL }. Dann gilt:
0 ≤ H(X) ≤ log L
(1.22)
Zum Beweis ben¨otigen wir folgendes Lemma: IT - Ungleichung: F¨ ur r ∈ IR, r > 0 gilt: log r ≤ (r − 1) log e
(1.23)
Beweis: (r − 1) log e −→ r − 1 ≥ ln r 1 − 1 = ln 1 ½ d ln(r) 1 > 1, r < 1 r= 6 1 : = dr r < 1, r > 1 =⇒ kein weiterer Schnittpunkt
log r r=1
≤ :
(1.24) (1.25) (1.26) (1.27)
14
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE r-1 ln (r)
r
Abbildung 1.5: Grafik zum Lemma der IT-Ungleichung
¤ Beweis von 0 ≤ H(X) ≤ ld L:
H(X) =
X
fX (x) log
x
1 , fX (x)
wobei f¨ ur die Summanden gilt:
fX (x) = 0 0, 1 > 0, 0 < fX (x) < 1 fX (x) log = fX (x) 0, fX (x) = 1
(1.28)
0 ≤ fX (x) ≤ 1
(1.29)
Dann gilt:
0 ≤ H(X)
H(X) = 0 f¨ ur fX (x) =
mit H(X) = ld L und fX (x) = L1 :
½
0 1
(1.30)
1.2. DER BEGRIFF INFORMATION
15
X
H(X) − ld L =
fX (x) ld
x
X
=
fX (x)
x
X
=
µ
fX (x) ld
x
µ
1 fX (x)
¶
− ld L
1 ld − ld L fX (x) 1 ≤ fX (x)L
¶
(1.32) (1.33)
¸ 1 − 1 ld e (mit IT-Ungleichung) ≤ fX (x) f (x)L X ! Ãx X1 X − fX (x) ld e = L x x ·
X
(1.31)
= (1 − 1) ld e = 0
(1.34) (1.35) (1.36) ¤
1.2.3
Bedingte Entropie und bedingte wechselseitige Information
Gem¨aß der Definition des bedingten Erwartungswertes einer Funktion
E[ f kt(X, Y ) | Y = y] = ergibt sich die bedingte − log fX|Y (x, y) | Y = y Bedingte Entropie:
x
Entropie
f kt(x, y)fX|Y (x | y)
als
Erwartungswert
(1.37) der
Funktion
(gegeben Y=y)
H(X | Y = y) = −
Bedingte Entropie:
X
X x
fX|Y (x | y) log fX|Y (x | y)
(1.38)
(gegeben Y)
H(X | Y ) =
X y
fY (y)H(X | Y = y)
(1.39)
16
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
Aus 0 ≤ H(X) ≤ log L f¨ ur X = {x1 , x2 , . . . , xL } folgt sowohl:
0 ≤ H(X | Y = y) ≤ log L
(1.40)
0 ≤ H(X | Y ) ≤ log L
(1.41)
als auch
Mit Hilfe der Multiplikationsregel f¨ ur bedingte Wahrscheinlichkeiten, kann man die Kettenregel f¨ ur die Entropie ableiten, die aussagt, daß die Entropie eines Zufallsvektors gleich der Entropie seiner ersten Komponente plus die der zweiten gegeben die erste, plus die der dritten, gegeben die erste und die zweite usw. ist.
Kettenregel der Entropie: H(X1 X2 . . . XN ) = H(X1 )+H(X2 | X1 ) + . . . + +H(XN | X1 X2 . . . XN −1 )
(1.42)
Ein weiteres Ergebnis ist die Verminderung der Entropie durch Bedingung auf “ ”
Verminderung der Entropie: H(X | Y ) ≤ H(X)
mit X = {x1 , . . . , xL }, Beweis:
Y = {y1 , . . . , yM }
(1.43)
(1.44)
1.2. DER BEGRIFF INFORMATION
17
H(X | Y ) − H(X) = L X M X − fXY (xi , yj ) log fX|Y (xi | yj ) i=1 j=1
L X
+
fX (xi ) log fX (xi )
i=1 M L X X
=
i=1
µ
fXY (xi , yj ) + log fX (xi ) fXY (xi , yj ) − log fY (yj ) j=1
L X M X
=
(1.45)
fXY (xi , yj ) log
i=1 j=1
¶
fX (xi )fY (yj ) fXY (xi , yj )
¶ fX (xi )fY (yj ) − 1 log e ≤ fXY (xi , yj ) fXY (xi , yj ) i=1 j=1 Ã L M ! L X M XX X = fX (xi )fY (yj ) − fXY (xi , yj ) log e µ
L X M X
i=1 j=1
(1.46)
(1.47)
(1.48)
(1.49)
i=1 j=1
= (1 − 1) log e = 0
(1.50) ¤
Folgerung: I(X; Y ) ≥ 0 da I(X; Y ) = H(X) − H(X | Y ) Beispiel:
(1.51)
(Massey) : Gegeben sei der Zufallsvektor (X, Y, Z) der mit der Wahrscheinlichkeit 14 einen der folgenden Vektoren annimmt: (0, 0, 0) (0, 1, 0) (1, 0, 0) (1, 0, 1) Dann gilt:
fX (x = 0) = fX (x = 1) fY |X (0 | 1) = 1 1 fY |X (0 | 0) = 2
= und und
1 2
µ ¶ 1 und H(X) = h = 1 bit (1.52) 2 H(Y | X = 1) = 0 (1.53) µ ¶ 1 H(Y | X = 0) = h = 1 bit (1.54) 2
Wir berechnen: H(Y | X) = =
2 X i=1
fX (xi )H(Y | X = xi )
1 1 1 · 0 + · 1 = bit 2 2 2
(1.55) (1.56)
18
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
Es muß weiterhin gelten: H(Y | X) ≤ H(Y ) 3 1 fY (0) = , fY (1) = 4 µ ¶ 4 1 1 = 0.811 > =⇒ H(Y ) = h 4 2
(1.57) (1.58) (1.59)
Berechnen wir H(XY Z) auf zwei Arten i) 4 gleichwahrscheinliche Vektoren =⇒
H(XY Z) = log 4 = 2 bit
ii) H(XY Z) H(Z | XY )
= = =
=⇒ H(XY Z)
=
mit: H(Z | 10)
=
H(X) + H(Y | X) + H(Z | XY ) (1.60) fXY (0, 0)H(Z | 00) + fXY (0, 1)H(Z | 01) +fXY (1, 0)H(Z | 10) (1.61) 1 1 1 1 · 0 + · 0 + · 1 = bit (1.62) 4 4 2 2 1 1 (1.63) 1 + + = 2 bit 2 2 X − fZ|10 (Z | 10) logZ|10 (Z | 10) (1.64) Z=0,1
=
1 bit
(1.65) ¤
Bedingte wechselseitige Information: I(X; Y | Z = z) = H(X | Z = z) − H(X | Y, Z = z) I(X; Y | Z) = H(X | Z) − H(X | Y Z)
(1.66) (1.67)
Zusammenhang: I(X; Y | Z) =
X z
fZ (z)I(X; Y | Z = z)
(1.68)
Es gilt: H(XY | Z = z) = H(X | Z = z) + H(Y | X, Z = z) = H(Y | Z = z) + H(X | Y, Z = z)
(1.69) (1.70)
1.2. DER BEGRIFF INFORMATION
19
bzw: H(XY | Z) = H(X | Z) + H(Y | XZ) = H(Y | Z) + H(X | Y Z)
(1.71) (1.72)
I(X; Y | Z = z) = I(Y ; X | Z = z) I(X; Y | Z) = I(Y ; X | Z)
(1.73) (1.74)
daraus folgt direkt:
Schranken fu ¨ r die wechselseitige Information: 0 ≤ I(X; Y ) ≤ min {H(X), H(Y )} Beweis:
(1.75)
Die linke Seite haben wir bereits durch H(X | Y ) ≤ H(X) gezeigt. Rechte Seite:
I(X; Y ) = H(X) − H(X | Y ) (1.76) = H(Y ) − H(Y | X) (1.77) 0 ≤ H(X | Y ) oder H(Y | X) ≤ H(X) oder H(Y ) (1.78) Entsprechend k¨onnen wir die zwei folgenden Absch¨atzungen ableiten: 0 ≤ I(X; Y | Z = z) ≤ min {H(X | Z = z), H(Y | Z = z)}
(1.79)
0 ≤ I(X; Y | Z) ≤ min {H(X | Z), H(Y | Z)}
(1.80)
und
¤ Anmerkungen: Shannon (1948) hat nicht den Begriff wechselseitige Information I(X; Y ) benutzt. Dieser wurde von Fano eingef¨ uhrt. ¨ F¨ ur Shannon ist Information die Anderung in der Unsicherheit (Entropie). ¡ ¢ Beispiel: (Massey): Im letzten Beispiel war H(Y ) = h 41 = 0.811 bits und H(Y | X) gleich 0.5 bits =⇒
I(X; Y ) = I(Y ; X) = H(Y ) − H(Y | X) = 0.811 − 0.5 = 0.311 bits
In Worten: Die erste Komponente des Vektors (X, Y, Z) gibt uns 0.311 bits Information u ¨ber die zweite Komponente.
(1.81) (1.82)
20
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
1.2.4
Fanos Lemma und Satz der Datenverarbeitung
Seien X und Y Zufallsvariablen mit m¨oglichen Werten {x1 , . . . , xL }. Pe sei die Wahrscheinlichkeit, daß X 6= Y : Pe = P (X 6= Y ). Fanos Lemma: H(X | Y ) ≤ h(Pe ) + Pe ld (L − 1)
(1.83)
Beweis: Z=
½
0, X = Y 1, X = 6 Y
=⇒
H(Z) = h(Pe )
H(XZ | Y ) = H(X | Y ) + H(Z | XY ) = H(X | Y ) | {z }
(1.84) (1.85)
=0
H(XZ | Y ) = H(Z | Y ) + H(X | Y Z) ≤ H(Z) + H(X | Y Z) H(X | Y, Z = 0) = 0 , H(X | Y, Z = 1) ≤ ld (L − 1)
(1.86) (1.87)
L − 1: da es f¨ ur jeden Wert von Y noch L − 1 Werte X gibt. Damit: H(X | Y Z) ≤ P (Z = 1) ld (L − 1) = Pe ld (L − 1)
(1.88) ¤
Bedeutung:
H(X | Y ) ist die Information, die ben¨otigt wird, um X zu bestimmen, wenn Y bekannt ist. Um zu verifizieren, daß X = Y ist ben¨otigt man h(Pe ) bit, falls nicht, braucht man ld (L − 1) weitere bit. h(Pe) + Pe ld (L − 1) ld L ld (L − 1)
L L−1
1
Pe
Abbildung 1.6: Schranken von Pe
1.2. DER BEGRIFF INFORMATION Beispiel
21
(Johannesson): Seien X und Y Zufallsvariablen mit L = 2. H(X | Y ) = 12 Fannos Lemma h(Pe ) ≥ 12 oder 0.11 ≤ Pe ≤ 0.89 Obere Schranke wegen H(X | Y ) = 12 > ld 1. F¨ ur L = 3 und H(X | Y ) = 21 ergibt Fanos Lemma:
h(Pe ) + Pe ≥
1 2
=⇒
0.084 ≤ Pe ≤ 1 (triviale obere Schranke)
(1.89) ¤
Zwei hintereinandergeschaltete Prozessoren:
X
Y Prozessor 1
Prozessor 2
Z
Abbildung 1.7: Beispiel zur bin¨aren Entropie Voraussetzung: fZ|XY = fZ|Y
(1.90)
Z kann nicht direkt von X beeinflußt werden (Prozessoren k¨onnen zuf¨allig“ sein) ” Satz der Datenverarbeitung: Sei (X, Y, Z) eine Menge Zufallsvariablen gem¨aß obiger Prozessoranordnung, so gilt: ½ I(X; Y ) I(X; Z) ≤ (1.91) I(Y ; Z) Aussage: Information kann nicht durch Datenverarbeitung erh¨oht werden. Beweis: I(X; Z) = H(X) − H(X | Z) ≤ = = I(X; Z) = H(Z) − H(Z | X) ≤ = =
H(X) − H(X | ZY ) H(X) − H(X | Y ) I(X; Y ) H(Z) − H(Z | XY ) H(Z) − H(Z | Y ) I(Y ; Z)
(1.92) (1.93) (1.94) (1.95) (1.96) (1.97) ¤
22
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
1.3
Fundamentale Aussagen der Informationstheorie
Hier werden drei grundlegende Ergebnisse von Shannon besprochen und bewiesen: • Die Methode der typischen Sequenzen • Das Quellencodiertheorem • Das Kanalcodiertheorem
1.3.1
Typische Sequenzen
Einf¨ uhrendes Beispiel (Massey) fX (0) =
3 4
und fX (1) =
1 4
(1.98)
Bilde Sequenzen der L¨ange N = 20. Welche der 3 folgenden Sequenzen ist ty” pisch“ ? a) b) c)
11111111111111111111 10010011000001000100 00000000000000000000
(1.99) (1.100) (1.101)
Sei t die Anzahl Nullen, dann gilt: µ ¶t µ ¶20−t µ ¶20 3 1 1 fX1 ...X20 (x1 , . . . , x20 ) = = 3t 4 4 4
(1.102)
a) ist 314 = 4782969 mal unwahrscheinlicher als b) b) ist 36 = 729 mal unwahrscheinlicher als c) Aber das schwache Gesetz der großen Zahlen sagt, der Erwartungswert f¨ ur t ist: 3 · 20 = 15, das heißt 5 Einsen. 4 Tats¨achlich:
Grundidee: Aber:
a) 0 Nullen, 20 Einsen b) 14 Nullen, 6 Einsen c) 20 Nullen, 0 Einsen
Nur typische Sequenzen werden betrachtet, w¨ahrend atypische vernachl¨assigt werden. Es gibt vielf¨altige M¨oglichkeiten eine typische Sequenz zu definieren.
1.3. FUNDAMENTALE AUSSAGEN DER INFORMATIONSTHEORIE
23
Tschebyscheff Ungleichung f¨ ur den M¨ unzwurf (p ist die Wahrscheinlichkeit f¨ ur Wappen) ¯ ³¯ n ´ ¯ ¯ ω P ¯ − p¯ > ² n Folgerung:
p(1 − p) σ2 = 2 ² n²2 mit nω = Anzahl der Wappen und n = Anzahl der W¨ urfe ≤
(1.103)
atypische Sequenzen treten f¨ ur n → ∞ mit der Wahrscheinlichkeit → 0 auf.
Seien X1 , X2 , . . . , Xn unabh¨angige gleichverteilte Zufallsvariablen. fX1 ...Xn (x1 . . . xn ) =
n Y
fXi (xi ) =
n Y
fX (xi )
(1.104)
i=1
i=1
²-typische Sequenzen: Die Menge A² der ²-typischen Sequenzen x1 , x2 , . . . , xn ist: ½ ¾ ¯ ¯ 1 ¯ ¯ A² (X) := (x1 , x2 , . . . , xn )¯ − log fX1 ...Xn (x1 . . . xn ) − H(X)¯ ≤ ² (1.105) n n
1 1X − log fX1 ...Xn (x1 . . . xn ) = − log fXi (xi ) n n i=1
(1.106)
Eigenschaften: ¡ ¢ a) P A² (X) ≥ 1 − ²
b) (x1 , . . . , xn ) ∈ A² (X)
=⇒
(1.107) ¯ ¯ 1 ¯ ¯ ¯ − log fX1 ...Xn (x1 . . . xn ) − H(X)¯ ≤ ² n (1.108)
¯ ¯ c) (1 − ²)2n(H(X)−²) ≤ ¯A² (X)¯ ≤ 2n(H(X)+²)
Beweis:
a) − n1 log fX1 ...Xn (x1 . . . xn ) konvergiert b) Entspricht der Definition
(1.109)
24
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE c) 1≥
X
A² (X)
1−²≤
X
A² (X)
X
b)
fX1 ...Xn (x1 . . . xn ) ≥
A² (X) b)
fX1 ...Xn (x1 . . . xn ) ≤
¯ ¯ 2−n(H(X)+²) = ¯A² (X)¯2−n(H(X)+²)
X
A² (X)
(1.110)
¯ ¯ 2−n(H(X)−²) = ¯A² (X)¯2−n(H(X)−²)
(1.111) ¤
Folgerung:
F¨ ur alle ²-typischen Sequenzen aus der Menge A² (X) gilt: 2−n(H(X)+²) ≤ fX1 ...Xn (x1 . . . xn ) ≤ 2−n(H(X)−²)
Beispiel:
(1.112)
(Johannesson): Urne mit 1 schwarzen und 2 weißen Kugeln. Es wird n = 5 mal gezogen (mit zur¨ ucklegen) µ ¶ 1 H(X) = h = 0.918 bits 3
(1.113)
Sei ² = 0.138
=⇒ =⇒
0.027 ≤ fX1 ...X5 (x1 . . . x5 ) ≤ 0.068 ¯ ¯ 12.8 ≤ ¯A² (X)¯ ≤ 38.9
(1.114) (1.115)
(es existieren 25 = 32 m¨ogliche Sequenzen, davon sind 15 ²-typisch) Man beachte, daß die Bedingung: ¡ ¢ P A² (X) = 0.658 ≥ 1 − ² = 1 − 0.138 f¨ ur n = 5
(1.116)
noch nicht erf¨ ullt ist.
¯ ¯ ¯A² (X)¯ = 21910.3 , W¨ a hlen wir n = 2000 und ² = 0.046 so ergibt sich: ¡ ¢ P A² (X) = 1, ungef¨ahr der 290 -te Teil der Sequenzen ergibt die Wahrscheinlichkeit nahezu 1.
1.3.2
Shannons Quellencodiertheorem
Ergibt sich als direkte Konsequenz der ²-typischen Sequenzen.
1.3. FUNDAMENTALE AUSSAGEN DER INFORMATIONSTHEORIE
25
Diskrete - ged¨ achtnislose Quelle: DMS (discrete memoryless source) Das Alphabet U = {u1 , u2 , . . . , uL } mit L Elementen und der Zufallsvariablen U hat die Ausgangssequenz (U1 , U2 , . . . , Un ) Frage:
Wieviel bit ben¨otigt man, um die Ausgangssequenz einer DMS beliebig genau zu rekonstruieren ?
Quellencodiertheorem: Notwendig und hinreichend, daß die Wahrscheinlichkeit einer perfekten Rekonstruktion einer DMS gegen 1 geht, ist die Codierung mit H(U ) bits pro Quellensymbol f¨ ur n → ∞ Beweis: n H(U ) bits
=⇒
2nH(U ) m¨ogliche Zahlen“ ”
Gem¨aß den ²-typischen Sequenzen gilt: ¡ ¢ P A² (U ) ≥ 1 − ² ¯ ¯ ¯A² (U )¯ ≤ 2n(H(U )+²) Beispiel:
(1.118) f¨ ur ² → 0
(1.119) ¤
26 Buchstaben ld 26 = 4.7 DMS mit n = 10 kann durch 10 · 4.7 = 47 bits codiert werden.
Man beachte:
1.3.3
(1.117)
DMS ist kein gutes Modell f¨ ur die Sprache, denn: ei, ie, sch, ch, . . . sind nicht statistisch unabh¨angig =⇒ Ged¨achtnis
Shannons Kanalcodiertheorem
Erweiterung:
²-typische Sequenzen f¨ ur (X, Y ) mit fXY (x, y).
²-typische Sequenzen A² (X, Y ): ½ ¡
¾ ¯ ¢¯¯¯ 1 ¯ ¯ A² (X, Y ) = (x1 , y1 ), . . . , (xn , yn ) ¯ − log fS (s) − H(S) ≤ ² (1.120) n ¡ ¢ mit S = (S1 , S2 , . . . , Sn ) = (X1 , Y1 ), . . . , (Xn , Yn ) (1.121) ¡ ¢ und ∅ 6= {S} ⊆ {(X, Y )}, s = (x1 , y1 ), . . . , (xn , yn ) (1.122)
26
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
Dabei ist X eine Zufallsvariable mit L m¨oglichen Werten und Y mit M Werten. Man beachte, daß nicht alle Paare zul¨assig sein m¨ ussen.
Eigenschaften:
Beweise:
¡ ¢ ¡ ¢ a) P A² (X, Y ) ≥ 1 − ² bzw. P A² (S) ≥ 1 − ² ¯ 1 ¯ ¯ ¯ b) s ∈ A² (S) =⇒ ¯ − log fS (s) − H(S)¯ ≤ ² n ¯ ¯ c) (1 − ²)2n(H(S)−²) ≤ ¯A² (S)¯ ≤ 2n(H(S)+²)
(1.123) (1.124) (1.125)
Entsprechend Abschnitt 1.3.1
2nH(Y ) ²-typische (y1, . . . , yn)
2nH(X)
2nH(XY )
²-typische (x1 , . . . , xn)
²-typische ((x1 , y1), . . . , (xn, yn))
atypische (y1 , . . . , yn)
atypische (x1 , . . . , xn)
Abbildung 1.8: Tabelle zu den typischen Sequenzen
Im folgenden sollen einige Beziehungen bewiesen werden. F¨ ur ²-typische Sequenzen s ∈ A² (S)gilt: 2−n(H(S)+²) ≤ fS (s) ≤ 2−n(H(S)−²) Beweis:
(1.126)
folgt aus Eigenschaften von ²-typischen Sequenzen.
F¨ ur S = (X, Y ) (nicht ⊆ ) gilt f¨ ur (x, y) ∈ A² (S): 2−n(H(X|Y )+2²) ≤ fX|Y (x | y) ≤ 2−n(H(X|Y )−2²)
(1.127)
Beweis: (x, y) ∈ A² (X, Y )
=⇒
2−n(H(XY )+²) ≤ fXY (xy) ≤ 2−n(H(XY )−²) (1.128)
1.3. FUNDAMENTALE AUSSAGEN DER INFORMATIONSTHEORIE
27
Ferner gilt: 2−n(H(Y )+²) ≤ fY (y) ≤ 2−n(H(Y )−²) fXY (xy) fX|Y (x | y) = fY (y)
(1.129) (1.130) ¤
F¨ ur ein ² > 0 gilt: Beweis:
¯ ¯ ¯A² (X | y)¯ ≤ 2n(H(X|Y )+2²)
¯ ¯ ¯A² (X | y)¯ = 0 =⇒ X X fXY (xy) y ∈ A² (y) : 1 = ≥ fX|Y (x | y) = f (y) Y x x X fXY (xy) ≥ ≥ fY (y)
Falls y 6∈ A² (y)
(1.131) (1.132) (1.133) (1.134)
x∈A² (X|y)
≥
X
x∈A² (X|y)
¯ 2−n(H(XY )+²) ¯¯ = A² (X | y)¯2−n(H(X|Y )+2²) −n(H(Y )−²) 2
(1.135)
¤ W¨ahle x gem¨aß fX (x) (L¨ange n) und y gem¨aß fY (y). Die Wahrscheinlichkeit, daß (x, y) ²-typisch ist: X (1 − ²)2−n(I(X;Y )+3²) ≤ fX (x)fY (y) (1.136) (x,y )∈A² (X;Y ) ≤ 2−n(I(X;Y )−3²)
Beweis:
Aus der Absch¨atzung f¨ ur fS (s) erhalten wir: X ¯ ¯ ¯A² (X; Y )¯2−n(H(X)+²) 2−n(H(Y )+²) ≤ fX (x)fY (y) (x,y )∈A² ¯ −n(H(X)−²) −n(H(Y )−²) ¯ 2 ≤ ¯A² (X; Y )¯2
(1.137)
(1.138) (1.139)
Mit der Eigenschaft c) und I(X; Y ) = H(X) + H(Y ) − H(XY ) Diskreter ged¨ achtnisloser Kanal (DMC):
x wird gesendet und y empfangen; fY |X (y|x). Ged¨achtnislos: Sequenzen (x1 , x2 , . . . , xn ) werden entsprechend den Wahrscheinlichkeiten n Q fY |X (yi | xi ) gew¨ahlt (keine R¨ uckkopplung) i=1
28
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE
X
fY |X (y | x)
Y
Abbildung 1.9: DMC: Discrete Memoryless Channel
Mit dem Eingangsalphabet X und dem Ausgangsalphabet Y muß gelten: |X | ≤ |Y| Kanalcodierer:
(x1 , x2 , . . . , xk )
lin.Abb.
−→
(1.140) (x1 , x2 , . . . , xn ),
n≥k
Coderate: R= Folgerung:
k n
(1.141)
M = 2nR Nachrichten als Eingang des Kanals © ª (1.142) Code C = (x1 , x2 , . . . , xn ) = {c1 , . . . , c2k }
0≤R≤1
Fehlerwahrscheinlichkeit: Sei ci gesendet, so ist Pen = Ziel:
Pen < ²
¢ 1 X ¡ P Decodierung 6= ci | ci gesendet nR 2 ci f¨ ur
(1.143)
n > nc
Kanalkapazit¨ at C: F¨ ur einen DMC ist die Kanalkapazit¨at C die maximal erreichbare Rate. © ª © ª (1.144) C = max I(X; Y ) = max H(Y ) − H(Y | X) fX (x)
Beispiel:
zu i)
fX (x)
i) Binary Symmetric Channel BSC ii) Binary Erasure Channel BEC
1.3. FUNDAMENTALE AUSSAGEN DER INFORMATIONSTHEORIE
0
1-p
0 0
p
0
1−δ δ
X
Y p
δ
1
1
1
1
1−δ
1-p
BSC
29
BEC
Abbildung 1.10: Die Kanalmodelle BSC und BEC
H (Y | X) = h(p) = −p ld p − (1 − p)ld(1 − p) max H(Y ) = ld (2)
fX (x)
C = 1 + p ld p + (1 − p) ld (1 − p)
(1.145) (1.146) (1.147)
zu ii) H(Y | X) = h(δ) = −δ ld δ − (1 − δ) ld (1 − δ) max H(Y ) = max H ((1 − π)(1 − δ), δ, π(1 − δ)) π
fX (x)
(1.148) (1.149)
mit P (X = 1) = π. max H(Y ) = max (1 − δ)h(π) + h(δ) = (1 − δ) + h(δ) π © ª C = max H(Y ) − H(Y | X) = 1 − δ
fX (x)
fX (x)
Beispiel:
DMC K-Input J-Output 0 0 streng dispersiv: ∀xk : {p1 , . . . , pJ } = {p1 , . . . , pJ } 0 0 streng fokussierend: ∀yj : {ˆ p1 , . . . , pˆk } = {ˆ p1 , . . . , pˆk } F¨ ur streng dispersive und fokussierende DMC gilt: C = ld J +
J X
pj ld pj
(1.152)
i=1
mit fX (x) =
1 k
wird die Kapazit¨at erreicht.
Kanalcodiertheorem und inverses Kanalcodiertheorem: F¨ ur R < C gilt Pen −→ 0 f¨ ur n −→ ∞. n Invers: F¨ ur R > C gilt Pe ≥ ∆ f¨ ur alle m¨oglichen Codes C mit Rate R.
(1.150) (1.151)
30
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE y1
p1
y1
pˆ1
x1 p
1
pˆk
0
x1
pˆ 1
0
pJ
xk
xk
0
pJ
pˆk0
yJ
yJ
b)
a)
Abbildung 1.11: Streng dispersiv (a) und streng fokussierend (b)
Beweis: Annahme:
Wir zeigen zun¨achst das inverse Kanalcodiertheorem. Quelle H(U ) = 1 bit, Sequenz der L¨ange k U = (U1 , . . . , Uk ) =⇒ H (U ) = k bit Codierung U −→ X = (X1 , X2 , . . . , Xn ) ˆ Decodierung Y´ −→ U ³ ˆ Pen = P U 6= U
U Quelle
X Codierer
ˆ U
Y DMC
Decodierer
Senke
Abbildung 1.12: Blockbild zur Kanalcodierung mit DMC
Gem¨aß Fanos Lemma gilt: ¡ ¢ H(U | Uˆ ) ≤ h (Pen ) + Pen ld 2k − 1 H(U | Uˆ ) = H(U ) − I(U ; Uˆ )
(1.153) (1.154)
Gem¨aß dem Satz der Datenverarbeitung gilt: H(U | Uˆ ) ≥ H(U ) − I(X ; Y ) ≥ H(U ) − nC = k − nC
(1.155)
Damit: ¡ ¢ h(Pen ) + Pen ld 2k − 1 ≥ H(U , Uˆ ) ≥ k − nC ³ ¡ k ¢ n ´ n n h(Pe ) + Pe ld 2 − 1 ≥ k 1 − C k ¡ k ¢ ld 2 − 1 C 1 h(Pen ) + Pen ≥ 1− k k R
(1.156) (1.157) (1.158)
1.3. FUNDAMENTALE AUSSAGEN DER INFORMATIONSTHEORIE
31 ¤
Zum Beweis des Kanalcodiertheorems: C sei ein Q Zufallscode der L¨ange n, das heißt fX (x) = ni=1 fX (xi ).
Decodierung:
X
= (X1 , . . . , Xn ) mit
²-typische Sequenzen A² (X, Y ) = A² c gesendet:
?
(c, y) ∈ A²
Fehlerhafte Decodierung:
i) ii)
6 A² (1.159) (c, y) ∈ (c, y) ∈ A² aber gleichzeitig auch ein anderes Paar (1.160) (x, y) ∈ A² , x 6= c (Mehrdeutigkeit) (1.161)
¢ ¡ E[Pen ] = P (c, y) 6∈ A² ∪ (x, y) ∈ A² , x 6= c [ ¡ ¢ ≤ P (c, y) 6∈ A² + P (x, y) ∈ A² x6=c
(1.162) (1.163)
¡ ¢ lim P (c, y) 6∈ A² = 0 gem¨aß Definition der ² -typischen Sequenzen
n→∞
Union Bound:
P
X ¡ ¢ (x, y) ∈ A² ≤ P (x, y) ∈ A² x6=c x6=c [
(1.164)
Aus den Eigenschaften der typischen Sequenzen: ¡ ¢ P (x, y) ∈ A² ≤ 2−n(I(X;Y )−3²) = 2−n(C−3²)
(1.165)
folgt:
¡ ¢ E[Pen ] ≤ 2nR − 1 2−n(C−3²) =
−n(C−3²) 2| n(R−C+3²) {z } − 2| {z }
→0,falls: R−C+3²<0 =⇒ R
(1.166)
→0
¤
32
KAPITEL 1. GRUNDLAGEN DER INFORMATIONSTHEORIE ¨ Aquivokation H(X | Y ) R¨uckschlußentropie
U Quelle
Quellencodierer
X
H(X)
Y I(X; Y )
H(Y )
Quellendecodierer
Uˆ Senke H(Uˆ )
H(U ) H(Y | X)
Irrelevanz Streuentropie
Abbildung 1.13: Entropie– und Informationsfluß
1.3.4
Zusammenfassung
Entropie, Selbstinformation, Unsicherheit H(U ) Wechselseitige Information I(X; Y ) Bedingte Entropie (Fanos Lemma, Satz der Datenverarbeitung) Typische Sequenzen Shannons Quellencodiertheorem Shannons Kanalcodiertheorem Kanalkapazit¨at: C = max {I(X; Y )} fX (x)
Mehrbenutzerkommunikation Kryptologie
Quellencodiertheorem: Praktische Verfahren (Shannon-Fano, Huffman, Tunstall, Elias-Willems, Ziv-Lempel, Rate Distortion Theorie ) Kanalcodiertheorem: Definition von Codes, Kanalmodelle, BhattacharyyaGallager-Schranken, Gallagers Kanalcodiertheorem, Gaußkanal
Kapitel 2 Quellencodierung Codierung einer Quelle in diskrete Sequenzen u ¨ber einem Alphabet. Klassifizierung:
2.1
Quelle: Rekonstruktion: Codierung:
ged¨achtnislos - ged¨achtnisbehaftet verlustlos - verlustbehaftet konstante Blockl¨ange - variable Blockl¨ange
Codierung einer Zufallsvariablen Quelle
Alphabet {u1, u2, . . . , uK } U ist Zufallsvariable
U
Abbildung 2.1: Quelle und Alphabet Codierung von konstanter Blockl¨ange in variable Blockl¨ange: U
Quellencodierer
Z = (X1, X2,¯. . . , Xω ) ¯ Xi Alphabet ¯{0, 1, . . . , D − 1}¯ = D ω ist Zufallsvariable Z = (z1, z2, . . . , zK )
Abbildung 2.2: Quellencodierer mit variabler Blockl¨ange
ui Mittlere Codewortl¨ange:
−→
¢ ¡ z i = x i1 , x i2 , . . . , x iω i
E[W ] =
K X
ωi fU (ui )
i=1
33
(2.1)
(2.2)
34
KAPITEL 2. QUELLENCODIERUNG
Problem: Anfang und Ende eines Symbols zi
2.1.1 Pr¨afix:
Pr¨ afixfreie Codes ¡ ¢ x i1 , x i2 , x i3 , . . . , x iω i
z.B. −→
(xi1 , xi2 ) ist Pr¨afix.
Pr¨ afixfreier Code: Kein Codewort darf Pr¨afix eines anderen sein. Ein pr¨afixfreier Code ist sofort decodierbar. Beispiel: pr¨afixfrei 0 10 11 Folgerung:
Pr¨afixfreier Code
nicht pr¨afixfrei 1 00 11 =⇒
H(U ) = H(Z)
Codeb¨aume: 0
0
0 0
1 0
10 1
00
0
11 1
1
1 11 1
Abbildung 2.3: Pr¨afixfreie und nicht pr¨afixfreie Codierung Ein pr¨afixfreier Code kann durch die Endknoten eines D-n¨aren Codebaumes dargestellt werden, und umgekehrt. Kraft-Ungleichung: Ein pr¨afixfreier Code mit den Codewortl¨angen ω1 , ω2 , . . . , ωK existiert genau dann, wenn gilt: K X i=1
D−ωi ≤ 1
(2.3)
2.1. CODIERUNG EINER ZUFALLSVARIABLEN Beweis:
35
Betrachten wir einen vollst¨andigen Baum der Tiefe n. Die Anzahl der Endknoten ist D n (Ursprung, Wurzel: Tiefe 0). Von jedem Knoten der Tiefe ω(D ω ) f¨ uhren Dn−ω Pfade zu Endknoten. Sei n = max {ω1 , ω2 , . . . , ωK }. F¨ ur alle ωi < n m¨ ussen wir Pfade l¨oschen n−ωi und zwar D St¨ uck, da kein Codewort Pr¨afix eines anderen sein darf. Dn−ω1 + Dn−ω2 + . . . + D n−ωK ≤ Dn
=⇒
(2.4)
da wir nicht mehr Pfade l¨oschen k¨onnen als vorhanden sind. Damit ist diese Bedingung notwendig f¨ ur einen pr¨afixfreien Code. Hinreichend:
Sei ω1 ≤ ω2 ≤ . . . ≤ ωK und
PK
i=1
D−ωi ≤ 1
W¨ahle vollst¨andigen Baum und f¨ uhre folgenden Algorithmus durch (i = 1): W¨ahle den Pfad zi als einen Endknoten der Tiefe ωi , d.h. l¨osche alle weiterf¨ uhrenden Pfade f¨ ur alle i = 1, . . . , K Die Anzahl an Pfaden, die zu einem Endknoten in Tiefe n f¨ uhren, d.h. die noch keinem Codewort zugeordnet sind, ist in Schritt i < n: ! Ã i−1 X ¡ ¢ (2.5) Dn − Dn−ω1 + Dn−ω2 + . . . + D n−ωi−1 = Dn 1 − D−ωj j=1
=⇒
Konstruktion m¨oglich ¤
Einbeziehung von fU (u): Wahrscheinlichkeiten werden wie folgt eingetragen: Ursprung erh¨alt die Wahrscheinlichkeit 1. Knoten der Tiefe i erhalten als Wahrscheinlichkeit die Summe der Wahrscheinlichkeiten ui , die durch diesen Knoten f¨ uhren. (siehe Abbildung 2.4) Die Summe der Wahrscheinlichkeiten von Knoten der Tiefe i < min ωi ist intuitiv E[W ] Pfadl¨ angen Lemma :
(Massey 83)
In einem Codebaum mit Wahrscheinlichkeiten ist der Erwartungswert der Pfadl¨ange E[W ] gleich der Summe der Wahrscheinlichkeiten aller Knoten außer den Endknoten.
36
KAPITEL 2. QUELLENCODIERUNG 0
fU (u) 0.1 0.3 0.3 0.2 0.1
0.1 U1 0
0.3
1
0.3
U2 1
U3
1 0.9
0 2
0.2
0.3
D=3 K=5 ω1 = 1 ω 2 = ω3 = 2 ω4 = 3 ω 5 = 4 n = maxi ωi = 4
0.1 U5
2
0
P5
i=1 3
0.1
1 −ωi
Z 0 10 11 120 1210
U4 0
1
U U1 U2 U3 U4 U5
= 13 + 91 + 19 + 271 + 811 =
49 81
≤1
Abbildung 2.4: Beispiel zur Kraft-Ungleichung
Beweis: E[W ] =
K X
ωi fU (ui )
(2.6)
i=1
Vom Ursprung bis zum Endknoten wird die Wahrscheinlichkeit fU (ui ) (ωi +1) mal gez¨ahlt, ohne Endknoten ωi mal. ¤ Schranken fu ¨ r E[W ] : Der Erwarungswert eines optimalen pr¨afixfreien Codes u ur eine ¨ber D f¨ Zufallsvariable mit K Werten gen¨ ugt: H(U ) H(U ) ≤ E[W ] < +1 ld D ld D
(2.7)
Beweis: HBaum = −
K X
fU (ui ) ld fU (ui )
(2.8)
i=1
Seien P1 , P2 , . . . , PN die Wahrscheinlichkeiten der N Knoten (ohne Endknoten, mit Ursprung), dann gilt: E[W ] =
N X i=1
Pi
(2.9)
2.1. CODIERUNG EINER ZUFALLSVARIABLEN
37
Wir definieren Hi =
X qij j
ld
Pi
qij , Pi
Pi =
X
qij
(2.10)
j
wobei qij die Wahrscheinlichkeit eines Zweiges ist, der den Knoten i verl¨aßt. HBaum =
N X i=1
wegen:
P i Hi = −
P i Hi = −
X
K X
fU (ui ) ld fU (ui )
(2.11)
i=1
qij ld qij + Pi log Pi
(2.12)
j
Wegen 0 ≤ H(X) ≤ ld L gilt: Hi ≤ =⇒
ld D
(2.13)
HBaum = H(U ) ≤ ld D
W¨ahlen wir ωi =
»
N X i=1
£ ¤ Pi = ld (D) E W
¼ » ¼ − log fU (ui ) 1 = logD fU (ui ) log D
(2.14)
(2.15)
das heißt K X
ωi ≥ − logD fU (ui ) D
i=1
x ≤ dxe < x + 1
−ωi
≤
K X
D
logD fU (ui )
i=1
(2.16) =
K X
fU (ui ) = 1
(2.17)
i=1
=⇒ ωi < − logD fU (ui ) + 1 X H(U ) E[W ] = fU (ui )ωi < +1 log D i
(2.18) (2.19) ¤
2.1.2
Shannon-Fano-Codierung
Pr¨afixfreier Code u ¨ber vollst¨andigen Codebaum D = 2 ¶¼ » µ 1 ωi = ld fU (ui ) fU (ui ) > 0 (keine Symbole mit Wahrscheinlichkeit 0) n = maxi {ωi } (Konstruktion wie bei der Kraft-Ungleichung)
(2.20) (2.21) (2.22)
38
KAPITEL 2. QUELLENCODIERUNG
Beispiel:
(Massey)
fU (u1 ) = 0.4 fU (u2 ) = 0.3 fU (u3 ) = 0.2 fU (ui ) = 0.1 ¼ » ¼ » 1 1 = 2 ω2 = ld = 2 ω3 = 3 ω4 = 4 ω1 = ld 0.4 0.3 E[W ] = 1 + 0.7 + 0.3 + 0.3 + 0.1 = 2.4 nicht optimal ! (f¨ ur große K nahezu optimal) H(U ) = 1.846 bits 1.846 ≤ E[W ] ≤ 2.846
Schranke:
0.4
U1
00
0.3
U2
01
U3
100
(2.23) (2.24) (2.25) (2.26) (2.27) (2.28)
0.7
1
0.2 0.3
U 0.1 0.1 4
1010
0.3 0 0 1
Abbildung 2.5: Shannon-Fano Codierung
2.1.3
Huffman-Codierung
Optimaler D-n¨arer pr¨afixfreier Code f¨ ur die Quelle einer Zufallsvariablen U . Algorithmus f¨ ur D = 2 :
∀i :
fU (ui ) > 0
1) W¨ahle K Endknoten mit der Wahrscheinlichkeit fU (ui ) ,
i = 1, . . . , K
2) Verbinde die zwei Knoten mit der kleinsten Wahrscheinlichkeit, fU (uj1 ) und fU (uj2 ). Dadurch entsteht ein Knoten mit der Summe der Wahrscheinlichkeiten, die anderen werden nicht mehr betrachtet, d.h. fU (uj1 ) + fU (uj2 ) wird als neues Element aufgefaßt und die Wahrscheinlichkeiten fU (uj1 ) und fU (uj2 ) nicht mehr einzeln betrachtet. Dies wird solange durchgef¨ uhrt bis nur noch zwei Knoten u ¨brig sind.
2.1. CODIERUNG EINER ZUFALLSVARIABLEN Beispiel:
39
(Massey)
fU (u) 0.05 0.1 0.15 0.2 0.23 0.27
0
U1 U2 U3 U4 U5 U6
0
0000 0001 001 10 11 01
0 0.05 U1 0.15 0.1
0.3 1 0.15
U3
0 0.2 0.43 0.23
U4
1
0 0.57 1
1
U2
1
0.27
1
U5 U6
Abbildung 2.6: Beispiel zur Huffman-Codierung mit D=2 (bin¨ar)
Lemma:
(Optimaler bin¨ arer Huffman-Code)
Der bin¨are Codebaum eines optimalen bin¨aren pr¨afixfreien Codes f¨ ur die Zufallsvariable U besitzt keine leeren“Endknoten. ” Beweis: 0
0 uj
1
x
x uj
bzw. 1
uj
uj
Abbildung 2.7: Beweis zu Huffman-Codierung
Bedingt durch die Konstruktion unterscheiden sich die beiden Quellensymbole ui und uj mit den kleinsten Wahrscheinlichkeiten im letzten Bit. ¤ D-n¨ are Huffman-Codierung
Anzahl der Endknoten: In einem D-n¨aren Codebaum ist die Anzahl der Endknoten gegeben durch D + q(D − 1); q:= Anzahl der Erweiterungen der erweiterten Wurzel
40
KAPITEL 2. QUELLENCODIERUNG
Beweis:
Tiefe 1 = ˆ D Endknoten, Erweiterung eines Knotens um eine Stelle bringt D neue Endknoten, jedoch j ist kein Endknoten mehr, das heißt D − 1. Dies gilt f¨ ur jede Erweiterung. ¤
Daraus folgt unmittelbar : Optimaler D-n¨ arer Code: Im Codebaum eines optimalen D-n¨aren pr¨afixfreien Code f¨ ur die Zufallsvariable U , kann es h¨ochstens D − 2 nicht belegte Endknoten geben. Es existiert ein Code, bei dem diese nicht belegten Endknoten von einem Knoten ausgehen. Beweis:
W¨aren es > D − 2 = ˆ werden.
≥ D − 1, so k¨onnte der Baum verk¨ urzt ¤
Sei r der Rest der Division von (K − D)(D − 2) durch (D − 1): D>2:
(K − D)(D − 2) = r mod (D − 1)
(2.29)
D-n¨ arer Huffman-Code 1) W¨ahle K Endknoten mit Wahrscheinlichkeit fU (ui ) > 0, i = 1, . . . , K 2) Verbinde die D − r Endknoten mit den kleinsten Wahrscheinlichkeiten. Dadurch entsteht ein Knoten mit der Summe dieser Wahrscheinlichkeiten. Die D − r Knoten werden nicht mehr betrachtet. 3) Verbinde D Knoten mit den kleinsten Wahrscheinlichkeiten. (0: kleinste Wahrscheinlichkeit, 1: zweitkleinste, . . ., D: gr¨oßte) Beispiel
(Massey) E[W ] = 3 (0.05 + 0.1) + 2 (0.15 + 0.2) + 1 (0.23 + 0.27) = 0.45 + 0.7 + 0.5 = 1.65 oder: = 0.15 + 0.5 + 1 = 1.65
(2.30) (2.31) (2.32)
Summe der Wahrscheinlichkeiten aller Knoten, außer den Endknoten H(U ) 2.42 = = 1.52 (2.33) log D 1.59 (siehe Abbildung 2.8)
¨ 2.2. CODIERUNG EINER ZUFALLSQUELLE OHNE GEDACHTNIS fU (u)
U
Code
0.05 0.1 0.15 0.2 0.23 0.27
U1 U2 U3 U4 U5 U6
200 201 21 22 0 1
0 0.05 U1 0
0.1
0.15
1
U2 (r = 1)
2 0.5
0.15
U3
0.2
U4
0.23
U5
0.27
U6
1 2
1
0 1
D = 3,
41
D−1=2
(K − D)(D − 2) = (6 − 3)(3 − 2) = 3 3 = 1 mod 2
=⇒ r = 1,
D−r =2
Abbildung 2.8: Huffman-Codierung mit D=3
2.2
Codierung Ged¨ achtnis
einer
Zufallsquelle
ohne
Eine ged¨achtnislose Informationsquelle liefert eine halbunendliche Sequenz der Zufallsvariablen U mit K Werten. Ein Parser bildet Bl¨ocke konstanter oder variabler L¨ange dieser Sequenz.
U1 , U 2 , . . . DMS
V 1 , V2 , . . . Parser
¡
Vj = Ui+1, Ui+2, . . . .Ui+lj
¢
Codierer ½
lj = L konstante L¨ange lj variable L¨ange
Abbildung 2.9: Der Parser zwischen der Quelle und dem Codierer
2.2.1
Uˆ
Codierung von Bl¨ ocken konstanter L¨ ange durch Symbole variabler L¨ ange ←→
(U1 , U2 , . . . , UL )
(Shannon-Fano- oder Huffman)
(2.34)
42
KAPITEL 2. QUELLENCODIERUNG
Theorem: Es existiert ein D-n¨arer pr¨afixfreier Code f¨ ur einen Block aus L Werten der Zufallsvariablen U , wobei gilt: H(U ) E[W ] H(U ) 1 ≤ < + log D L log D L
(2.35)
Beweis: ¡ ¢ H Uˆ = LH(U )
(2.36)
da die Zufallsvariablen unabh¨angig sind. Ende der Beweisf¨ uhrung durch Einsetzen in das Theorem f¨ ur eine Zufallsvariable. ¤ Eine Huffman-Codierung liefert damit die k¨ urzeste mittlere L¨ange E[W ].
2.2.2
Tunstall-Codierung
Codierung von Bl¨ocken variabler L¨ange durch Symbole konstanter L¨ange. V = (U1 , U2 , . . . , UL ) −→ Zufallsvariable L
Z = (X1 , . . . , XN ) E[L] = ?
(2.37)
Durchschnittliche Zahl D-n¨arer Codesymbole pro Quellensymbol: N E[L]
=⇒
max E[L]
Geeigneter Parser: Die g¨ ultigen Sequenzen der DMS bilden die Endknoten eines Codebaumes (nach dem Parser). Zweck:
Identifikation des letzten Symbols eines Blocks.
Theorem: Bei geeignetem Parser gilt : H(V ) = E[L]H(U )
(2.38)
¨ 2.2. CODIERUNG EINER ZUFALLSQUELLE OHNE GEDACHTNIS Beweis:
43
Schreiben wir an jeden Knoten des Codebaumes eines geeigneten Parser die Wahrscheinlichkeiten wie folgt an: Der Ursprung hat die Wahrscheinlichkeit 1, jeder Knoten der Tiefe 1 : fU (ui ), Knoten der Tiefe 2 deren Ursprung j war fU (uj ) fU (ui ), usw. =⇒
H(V ) = H(U )
N X
Pi
(2.39)
i=1
Pi ist die Wahrscheinlichkeit eines Knotens (nicht eines Endknotens) P Das Pfadl¨angen-Lemma sagt aus, daß Pi = E[L] ist. i
Beispiel
(2.40)
¤
(Massey)
U
fU (u)
a b c
0.1 0.3 0.6
D=5 N =1
a
0.1
b
0.3 a
1.0
c
0.6
b c
0.06 0.18 0.36
Abbildung 2.10: Beispiel zu Sequenzen
H(U ) E[L] E[L] H(V )
= = = =
−0.1 ld (0.1) − 0.3 ld (0.3) − 0.6 ld (0.6) = 1.295 bits 1.0 + 0.6 = 1.6 (Pfadl¨angen-Lemma) oder: 1 · (0.1 + 0.3) + 2 · (0.06 + 0.18 + 0.36) = 1.6 E[L]H(U ) = 1.6 · 1.295 = 2.073 bits
(2.41) (2.42) (2.43) (2.44)
Ist E[L] maximal ? Oder ist eine andere Wahl der L¨angen besser ? Inverses Codiertheorem: F¨ ur beliebige D-n¨are pr¨afixfreie Codierung und einen geeigneten Parser f¨ ur eine DMS gilt: E[W ] H(U ) ≥ E[L] log D
¡
E[W ] ist die mittlere Codewortl¨ange ¡ ¢ E[W ] = N bei konstanter L¨ange
¢
(2.45)
44
KAPITEL 2. QUELLENCODIERUNG
Beweis:
Es gilt H(V ) = E[L]H(U ) und wir haben auch bewiesen, daß gelten muß: E[W ] ≥
H(V ) log D
(2.46) ¤
Gem¨aß dem schwachen Gesetz der großen Zahlen gilt: L1 + L 2 + . . . + L n = E[L] , n→∞ n lim
Das bedeutet
E[W ] E[L]
W1 + W 2 + . . . + W n = E[W ] (2.47) n→∞ n lim
sollte minimiert werden.
Tunstall-Parser (Codebaum): Den Ursprung verlassen K Zweige, die jeweils die Wahrscheinlichkeit fU (ui ) besitzen. Der Endknoten mit gr¨oßter Wahrscheinlichkeit wird um K Zweige erweitert, usw. Das heißt es gibt M = K + q(K − 1)
(2.48)
m¨ogliche Sequenzen des Tunstall-Parsers. Die Wahrscheinlichkeit des Endknotens ergibt sich als das Produkt der entsprechenden fU (ui ). Die L¨ange der Sequenzen entspricht der Tiefe des entsprechenden Endknotens.
Tunstall-Lemma: In dem Codebaum eines Tunstall-Parsers f¨ ur eine K-n¨are DMS ist die Wahrscheinlichkeit jedes Endknotens kleiner gleich der Wahrscheinlichkeit eines beliebigen Nicht-Endknotens. Beweis:
Bei Tiefe 1 ist die Behauptung erf¨ ullt:
fU (u1) 1.0
fU (u2) fU (uk )
Abbildung 2.11: Zum Beweis des Tunstall-Lemmas
¨ 2.2. CODIERUNG EINER ZUFALLSQUELLE OHNE GEDACHTNIS
45
Da der Endknoten mit gr¨oßter Wahrscheinlichkeit erweitert wird, ergeben sich K neue Endknoten, deren Wahrscheinlichkeit kleiner ist, als die des alten Endknotens, der jetzt Knoten mit gr¨oßter Wahrscheinlichkeit ist. Alle anderen Endknoten besitzen eine Wahrscheinlichkeit, die nicht gr¨oßer dieser ist, da sie sonst anstelle dieses Knotens gew¨ahlt worden w¨aren. ¤
Tunstall-Algorithmus: D,
N,
K,
D N ≥ K,
j DN − K k =q K −1
(2.49)
Konstruiere einen Tunstall-Parser mit M = K + q(K − 1) Endknoten durch Erweiterung des Knotens mit gr¨oßter Wahrscheinlichkeit. Ordne jedem Knoten eines der D N Codeworte zu. Beispiel
(Massey):
K = 2,
N = 3,
PU (0) = 0.6, D = 2, D N = 23 ≥ 2 erf¨ ullt 23 − 2 = 6, M = 2 + 6 · (2 − 1) = 8 2−1
(2.50) (2.51)
Die Tunstall-Codierung basiert auf vollst¨andigen Nachrichtenmengen und ist in diesem Sinne auch optimal. Werden dagegen unvollst¨andige Nachrichtenmengen benutzt, k¨onnen bessere Ergebnisse erzielt werden. Allerdings sind f¨ ur diesen Fall noch keine optimalen Algorithmen bekannt. (siehe Abbildung 2.12)
Theorem: (Codierung von Sequenzen variabler L¨ange einer DMS durch Bl¨ocke konstanter L¨ange.) ³ ´ 2 log pmin E[L] log D log D − < ≤ (2.52) H(U ) N H(U ) N H(U ) pmin = mini fU (ui ) > 0 (2.53) Beweis:
Die rechte Ungleichung folgt direkt aus dem inversen Codiertheorem E[L]H(U ) ≤ N log D
f¨ ur E[W ] = N
(2.54)
46
KAPITEL 2. QUELLENCODIERUNG
0.216
0.36 0.6
Sequenz 0.1296
0000 0001 001 010 011 100 101 11
0.0864 0.144 0.24
0.144 0.096
1.0 0.24
0.144
000 110 001 010 011 100 101 111
0.096
0.4 0.16
0
Codewort
N E[L]
= 0.982 =
H(U ) ld (D)
1
Codesymbole Quellensymbole
= h(0.4) = 0.971
Abbildung 2.12: Massey-Beispiel zum Tunstall-Algorithmus
Die linke Ungleichung besagt, daß gem¨aß dem Dirichlet-Prinzip f¨ ur M Endknoten gelten muß: Pj pmin ≤
1 M
(2.55)
wobei Pj die Wahrscheinlichkeit des Knotens j ist, der mit dem Endknoten entsprechend pmin verbunden ist. Gem¨aß Tunstall-Lemma besitzt jedoch kein Endknoten eine gr¨oßere Wahrscheinlichkeit als Pj , und zwar f¨ ur beliebige Knoten j. Das bedeutet, es gilt f¨ ur alle Bl¨atter: PV (v) ≤
1 M pmin
oder
− log PV (v) ≥ log M − log
Dabei k¨onnen wir M absch¨atzen durch: M > M = K + q(K − 1),
q=
Da M ≥ K ist, gilt damit:
j DN − K k K −1
2M ≥ M + K > D N
DN , 2
=⇒
=⇒
1
(*)
(2.56)
M + (K − 1) > D N
(2.57)
pmin
denn
M>
DN 2
(2.58)
¨ 2.3. CODIERUNG VON QUELLEN MIT GEDACHTNIS
47
somit auch log M > N log D − log 2
(2.59)
Dies k¨onnen wir in (*) einsetzen und erhalten: H(V ) = E[− log PV (v)] > − log PV (v) > N log D − log
µ
2 pmin
¶
(2.60)
Dabei ist benutzt, daß H(V ) = E[L] H(U ) gilt.
2.3
Codierung von Quellen mit Ged¨ achtnis
Zun¨achst werden wir die Modelle f¨ ur Quellen mit Ged¨achtnis einf¨ uhren und dann das entsprechende inverse Codierungstheorem angeben. Danach werden wir zwei Methoden zur sogenannten universellen Quellencodierung diskutieren, das heißt m¨oglichst effiziente Codierung einer Quelle mit Ged¨achtnis, ohne deren Statistik im Voraus zu kennen.
2.3.1
Diskrete station¨ are- und Markov-Quellen DSS
U1, U2, . . . , UL−1, UL
fU1U2...UL (u1u2 . . . uL) = fUj+1Uj+2...Uj+L (uj+1uj+2 . . . uj+L) f¨ur alle j ≥ 1 und L ≥ 1 zeitinvariant station¨ar
Abbildung 2.13: Diskrete Markov-Quelle
Ged¨achtnis µ: fUn |U1 ...Un−1 (un | u1 . . . un−1 ) = fUn |Un−µ ...Un−1 (un | un−µ . . . un−1 ) µ ist die kleinste Zahl, die die Gleichung erf¨ ullt
(2.61)
Die Entropie pro Symbol einer Sequenz der L¨ange L ist HL (U ) =
1 H (U1 U2 . . . UL ) L
(2.62)
48
KAPITEL 2. QUELLENCODIERUNG
Eigenschaften einer DSS:
(U1 U2 . . . UL )
a) H (UL | U1 . . . UL−1 ) ≤ HL (U ), L ≥ 1 b) H (UL | U1 . . . UL−1 ) ≤ H (UL−1 | U1 . . . UL−2 ) , L ≥ 1 c) HL (U ) ≤ HL−1 (U ), L ≥ 1 d) lim H (UL | U1 . . . UL−1 ) = lim HL (U ) = H∞ (U ) L→∞
L→∞
(2.63) (2.64) (2.65) (2.66)
Beweis der Eigenschaften: b) Es gilt: H(UL | U1 . . . UL−1 ) ≤ H(UL | U2 . . . UL−1 )
(2.67)
durch Substitution von L0 = L + 1 und der Stationarit¨at ( Zeitinvarianz“) ” ergibt sich die Eigenschaft. a) H(U1 U2 . . . UL ) = H(U1 ) + H(U2 | U1 ) + . . . + +H(UL | U1 . . . UL−1 )
(2.68)
b)
≥ LH(UL | U1 . . . UL−1 ) (2.69) 1 H(U1 U2 . . . UL ) ≥ H(UL | U1 . . . UL−1 ) (2.70) HL (U ) = L c) a)
b)
HL−1 (U ) ≥ H(UL−1 | U1 . . . UL−2 ) ≥ H(UL | U1 . . . UL−1 ) LHL−1 (U ) = H(U1 . . . UL−1 ) + HL−1 (U ) ≥ H(U1 . . . UL−1 ) + H(UL−1 | U1 . . . UL−2 ) ≥ H(U1 . . . UL−1 ) + H(UL | U1 . . . UL−1 ) = H(U1 . . . UL ) 1 HL−1 (U ) ≥ HL (U ) = H(U1 . . . UL ) L d) (Entropie ≥ 0, monoton fallend) Es gilt:
=⇒
(2.76)
Grenzwert existiert.
lim H(UL | U1 . . . UL−1 ) ≤ lim HL (U ) = H∞ (U )
L→∞
(2.71) (2.72) (2.73) (2.74) (2.75)
L→∞
(2.77)
¨ 2.3. CODIERUNG VON QUELLEN MIT GEDACHTNIS
49
aus a). Wir werden jetzt zeigen, daß ebenfalls lim H(UL | U1 . . . UL−1 ) ≥ lim HL (U )
L→∞
(2.78)
L→∞
gilt und damit muß Gleichheit gelten. H(U1 . . . UL . . . UL+j ) ≤ H(U1 . . . UL ) + jH(UL+1 | U1 . . . UL )
(2.79)
dies folgt aus j−1
H(U1 . . . UL . . . UL+j ) = H(U1 . . . UL ) + H(UL+1
z}|{ | U1 . . . UL )+ . . . (2.80)
wobei die j − 1 Terme alle kleiner sind als der erste. Damit: HL+j (U ) ≤
H(U1 . . . UL ) j + H(UL+1 | U1 . . . UL ) j+L j+L
(2.81)
Bei j → ∞ verschwindet der linke Summand, da H(U1 . . . UL ) ≤ L log k
(2.82)
gilt, das heißt H∞ (U ) ≤ lim H (UL |U1 . . . UL ) L→∞
(2.83) ¤
Markov-Quellen Gegeben sei eine Markov-Kette mit endlich vielen Zust¨anden {s1 , s2 , . . . , sr }. Wir nehmen an, daß die Kette irreduzibel sei und die station¨are Verteilung (ω1 , . . . , ωr ) besitzt, das heißt P (Si = sj ) = ωj
(2.84)
In jedem Zustand S1 , S2 , . . . ist eine Zufallsvariable Ui definiert. Ui = f kt(Si ) kann Werte aus einem Alphabet annehmen. Beispiel
(Johannesson) p · · · p 11 1r Y . = .. . . . ... = pr1 · · · prr
1 3 1 4 1 2
2 3
0
1 2
0
0
3 4
(2.85)
50
KAPITEL 2. QUELLENCODIERUNG 1 3
U = {0, 1}
S1 1 2
2 3
1 4
1 2
f kt(S1) = 0 f kt(S2) = 1 f kt(S3) = 1
S2
S3 3 4
S3 S2 S3 S1 S1 S2 · · ·
−→
111001 · · ·
Abbildung 2.14: Beispiel einer irreduziblen Markov-Quelle
ω1 = 0.3488
ω2 = 0.3721
ω3 = 0.2791
(2.86)
¤ Die Folge von Zufallsvariablen U1 , U2 , . . . ist station¨ar. Damit lassen sich ebenfalls die Eigenschaften wie bei DSS zeigen: a) H(UL | U1 . . . UL−1 ) ≤ HL (U ) b) H(UL | U1 . . . UL−1 ) ≤ H(UL−1 | U1 . . . UL−2 ) c) HL (U ) ≤ HL−1 (U ) H(U1 . . . UL ) d) H∞ (U ) = lim H(UL | U1 . . . UL−1 ) = lim L→∞ L→∞ L
(2.87) (2.88) (2.89) (2.90)
Unifilare Markov-Quellen: Das Symbol uj , das in einem Zustand sj erzeugt wird, h¨angt nur von sj−1 ab, das heißt die Kenntnis von sj−1 und uj bestimmt eindeutig den Zustand sj . Die Entropie eines Zustandes einer unifilaren Markov-Quelle ist H(Sk ) = −
nk X
pkki log pkki
(2.91)
i=1
dabei sind sk1 , sk2 , . . . , sknk die Zust¨ande, die vom Zustand sk aus erreichbar sind ¨ und pkki die entsprechenden Ubergangswahrscheinlichkeiten. Die Entropie einer unifilaren Markov-Quelle ist damit H∞ (U ) = Beispiel
(Johannesson)
r X i=1
ωi H(Si )
(2.92)
¨ 2.3. CODIERUNG VON QUELLEN MIT GEDACHTNIS
51
U = {0, 1} 1 3
f kt(S1) = 0 f kt(S2) = 1 f kt(S3) = 1
S1 1 2 1 2
1 4
2 3
Die Markov-Quelle ist unifilar. Sie w¨are es nicht, wenn
S2
S3 3 4
f kt(S1) = f kt(S2) = 0,
f kt(S3) = 1
gelten w¨urde Abbildung 2.15: Beispiel zu einer unifilaren Markov-Quelle
H∞ (U ) = = H1 (U ) : H2 (U ) = H1 (U ) ≥
2.3.2
(2.93) (2.94) (2.95) (2.96) (2.97) (2.98)
Inverses Codierungstheorem fu ¨ r DSS
Annahme: Parser:
µ ¶ µ ¶ µ ¶ 1 1 1 0.3488 · h + 0.3721 · h + 0.2791 · h 3 4 2 0.9013 fU (u = 0) = ω1 = 0.3488 =⇒ H1 (U ) = h(0.3488) = 0.933 E[− log fU2 |U1 (u2 |u1 )] = 0.9326 H2 (U ) ≥ H∞ (U )
DSS und Parser in Bl¨ocke der L¨ange L D-n¨arer pr¨afixfreier Codierer ¡ ¢ Vi = UiL−L+1 UiL−L+2 . . . UiL
Das Codiertheorem f¨ ur eine Zufallsvariable ergab, daß die L¨ange ωi des Codewortes Zi f¨ ur die Sequenz Vi folgende Ungleichung erf¨ ullt: ¡ ¢ £ ¤ H Vi | (V1 . . . Vi−1 ) = (v1 , . . . , vi−1 ) E ωi | (V1 . . . Vi−1 ) = (v1 , . . . , vi−1 ) ≥ log D (2.99) (wegen dem Ged¨achtnis der Quelle bedingte Entropie) E[ωi ] ≥
H(Vi | V1 . . . Vi−1 ) log D
(2.100)
52
KAPITEL 2. QUELLENCODIERUNG
Wir k¨onnen absch¨atzen: H(Vi | V1 . . . Vi−1 ) = H(UiL−L+1 . . . UiL | U1 . . . UiL−L ) = H(UiL−L+1 | U1 . . . UiL−L ) + . . . + + . . . + H(UiL | U1 . . . UiL−1 ) ≥ L H(UiL | U1 . . . UiL−1 ) ≥ L H∞ (U )
(2.101) (2.102) (2.103) (2.104)
Codiertheorem: ¡
DSS -Bl¨ocke Codierung in Sequenzen variabler L¨ange (pr¨afixfrei)
¢
E[ωi ] H∞ (U ) ≥ L log D
(2.105)
In der Praxis werden h¨aufig auch Parser mit variabler L¨ange benutzt, wie etwa beim Lempel-Ziv-Verfahren.
2.3.3
Elias-Codierung fu ¨ r positive ganze Zahlen
Wie bereits in den vorangegangenen Abschnitten deutlich wurde, sind pr¨afixfreie Codes f¨ ur die Quellencodierung von großer Bedeutung. In diesem Abschnitt sollen Methoden zur pr¨afixfreien bin¨aren Codierung von positiven ganzen Zahlen vorgestellt werden, die auf Elias zur¨ uckgehen. Dazu wird zun¨achst die klassische Methode zur Darstellung von positiven ganzen Zahlen gem¨aß Tabelle 2.1 betrachtet. Bei dieser Codierung wird jede positive n 1 2 3 4 5 6 7 8
B(n) 1 10 11 100 101 110 111 1000
Tabelle 2.1: bin¨are Darstellung von positiven ganzen Zahlen ganze Zahl n durch eine Dualzahl B(n) der L¨ange L(n) = blog2 (n)c+1 dargestellt.
¨ 2.3. CODIERUNG VON QUELLEN MIT GEDACHTNIS
53
Man erkennt, dass es sich bei dieser Zahlendarstellung nicht um einen pr¨afixfreien Code handelt. Dieser Code kann jedoch sehr leicht in einen pr¨afixfreien Code umgewandelt werden, indem vor jedes bin¨are Codewort ein Pr¨afix aus L(n)−1 Nullen anf¨ ugt wird. Der Resultierende Code B1 (n) ist in Tabelle 2.2 dargestellt. Aus der Anzahl der n 1 2 3 4 5 6 7 8
B1 (n) 1 010 011 00100 00101 00110 00111 0001000
L(n) B1 (L(n)) 1 1 2 010 2 010 3 011 3 011 3 011 3 011 4 00100
Tabelle 2.2: pr¨afixfreier Code B1 (n)
f¨ uhrenden Nullen l¨aßt sich eindeutig die L¨ange der Codeworte von B1 (n) bestimmen, d.h. B1 (n) ist pr¨afixfrei. Die Codeworte von B1 (n) sind mit einer L¨ange von L1 (n) = 2blog2 (n)c + 1 jetzt allerdings fast doppelt so lang wie die Codeworte von B(n). Um dieses Problem zu umgehen, hat Elias durch die Kombination von B(n) und B1 (n) noch einen weiteren Code B2 (n) beschrieben. Das Codewort f¨ ur eine positive ganze Zahl n wird dabei aus B(n) durch Anf¨ ugen des Pr¨afix B1 (L(n)) gebildet. Da alle Codeworte von B(n) mit einer 1 beginnen, kann diese in den Codeworten von B2 (n) weggelassen werden, weil sich die L¨ange der Codeworte durch das Pr¨afix eindeutig bestimmen laßt. Der auf diese Weise gebildete Code B2 (n) ist in Tablelle 2.3 dargestellt. Weil der Code B1 (n) pr¨afixfrei ist und die n 1 2 3 4 5 6 7 8
B2 (n) 1 0100 0101 01100 01101 01110 01111 00100000
Tabelle 2.3: pr¨afixfreier Code B2 (n)
54
KAPITEL 2. QUELLENCODIERUNG
folgende Bitanzahl eindeutig bestimmt ist, ist offensichtlich auch B2 (n) pr¨afixfrei. Auf den ersten Blick erscheint es wiedersinnig, den Code B2 (n) durch Aneinanderh¨angen von Codeworten von B(n) und B1 (n) zu bilden, weil dadurch die Codeworte scheinbar l¨anger werden. Betrachtet man die L¨angen L2 (n) der Codeworte von B2 (n) jedoch genauer, stellt man fest, dass sie sich mit L2 (n) = L1 (L(n)) + L(n) − 1 = L1 (blog2 (n)c + 1) + blog2 (n)c = blog2 (n)c + 2blog2 (blog2 (n)c + 1)c + 1
(2.106)
berechnen lassen. Da der Term log2 (blog2 (n)c + 1)c f¨ ur große n im Vergleich zu log2 (n) vernachl¨assigbar klein wird, w¨achst die L¨ange L2 (n) zumindest f¨ ur große n genau wie L(n) mit log2 (n) an. Abbildung 2.16 verdeutlicht diesen Sachverhalt. Man Erkennt, dass die Codewortl¨ange L2 (n) f¨ ur n ≥ 16 niemals gr¨oßer ist 40
35
B(n) B (n) 1 B2(n)
L(n), L1(n), L2(n)
30
25
20
15
10
5
0 0 10
1
10
2
10
3
10
4
10
5
10
6
10
n
Abbildung 2.16: Anwachsen der Codewortl¨angen mit n f¨ ur B(n), B1 (n) und B2 (n) als L1 (n). Außerdem sieht man, daß L1 (n) im Vergleich zu L(n) einen deutlich steileren Anstieg zeigt, w¨ahrend L2 (n) im selben Maß w¨achst wie L(n).
¨ 2.3. CODIERUNG VON QUELLEN MIT GEDACHTNIS
2.3.4
55
Elias-Willems-Codierung
In Abschnitt 2.3.3 wurde das Codierungsverfahren B2 beschrieben, das positive ganze Zahlen pr¨afixfrei codiert. Die Elias-Willems-Codierung, die in diesem Abschnitt vorgestellt werden soll, nutzt die Codierung B2 um den Datenstrom von diskreten station¨aren Quellen effizient zu codieren. Bei diesem Verfahren handelt es sich um ein universelles Quellencodierverfahren, d.h. das Verfahren kann sich an eine Quelle adaptieren, ohne ihre statistischen Eigenschaften a priori zu kennen. Der Elias-Willems-Codierer besteht wie in Abbildung 2.17 dargestellt aus einem L-Block-Parser der jeweils L Quellensymbolen U1 , . . . , UL zu einem Block bzw. zu einer Nachricht V zusammenfasst, dem Elias-Codierer B2 und einem Recency1 Rank Z¨ahler, der das Herzst¨ uck des Codierers bildet. K-n¨are U1, . . . , UL L-Block Parser DSS
Vi
RecencyRank Z¨ahler
Ni
Codierer Zi B2(·)
Elias - Willems - Codierer Abbildung 2.17: Elias-Willems-Codierer Die Aufgabe des Recency-Rank Z¨ahlers ist es, jeder Nachricht Vi einen RecencyRank Ni zuzuordnen, der davon abh¨angt, wann die gleiche Nachricht das letzte mal aufgetreten ist 2 . Die Arbeitsweise des Recency-Rank Z¨ahlers laßt sich am besten Anhand eines Beispiels erkl¨aren. Dazu wird angenommen, daß der Block-Parser jeweils L = 2 Quellsymbole zu einer Nachricht zusammenfasst und bereits alle m¨oglichen K L Nachrichten im Nachrichtenstrom aufgetreten sind. F¨ ur eine bin¨are Quelle k¨onnte ein Ausschnitt aus dem Nachrichtenstrom folgendermaßen aussehen: . . . |Vi−8 |Vi−7 |Vi−6 |Vi−5 |Vi−4 |Vi−3 |Vi−2 |Vi−1 = . . . |00|10|00|11|11|01|10|10 Der Recency-Rank Z¨ahler ordnet3 nun der Nachricht [10] Recency-Rank 1 zu, die Nachricht [01] bekommt Recency-Rank 2, der Nachricht [11] wird Recency-Rank 3 zugeordnet und [00] bekommt Recency-Rank 4. Wenn jetzt die Nachricht Vi = [11] 1
Neuheit Der Recency-Rank Z¨ ahler analysiert also inh¨arent die Statistik der Quelle und erlaubt dadurch die Adaptierung des Codes an die Quelle 3 von rechts nach links 2
56
KAPITEL 2. QUELLENCODIERUNG
im Nachrichtenstrom auftaucht, gibt der Recency-Rank Z¨ahler den Recency-Rank Ni = 3 an seinem Ausgang aus und f¨ uhrt dann eine Neuberechnung der RecencyRank Werte f¨ ur alle Nachrichten durch: [11] → 1, [10] → 2, [01] → 3, [00] → 4 . Auf der Decoderseite kann aus der Sequenz der Recency-Rank Werte . . . |Ni−2 |Ni−1 |Ni die jeweilige Nachricht Vi zur¨ uckgewonnen werden, wenn alle vergangenen Recency-Rank Werte bekannt sind. Hier ergibt sich nat¨ urlich ein Problem am Anfang der Recency-Rank Sequenz. Dieses Problem laßt sich jedoch leicht dadurch l¨osen, daß zu Beginn der Codierung allen Nachrichten beliebige, aber dem Decoder bekannte Recency-Rank Werte zugeordnet werden. Die Recency-Rank Z¨ahler bildet also einen Nachrichtenstom auf eine Sequenz von positiven, ganzen Zahlen ab. Dabei wird h¨aufig auftretenden Nachrichten im Mittel ein sehr kleiner Recency-Rank zugeordnet, w¨ahrend seltene Nachrichten im Mittel auf einen großen Recency-Rank abgebildet werden. Um die RecencyRank Sequenz effizient zu codieren ben¨otigt man also einen pr¨afixfreien Code der kleine Zahlen auf kurze Codeworte und große Zahlen auf lange Codeworte abbildet. Genau diese Eigenschaft besitzt der in Abschnitt 2.3.3 beschriebene Code B2 . Um die Effizienz der Elias-Willems-Codierung bewerten zu k¨onnen, muß die mittlere Codewortl¨ange E[wi ] der Codeworte Zi abgesch¨atzt werden. Dazu wird angenommen, daß die Quelle ergodisch ist 4 , d.h. daß sich Zeitmittelwert und Scharmittelwert entsprechen. Als n¨achstes wird die Zeit ∆i des letzten Auftretens von Vi = [v] so definiert, daß ∆i = δ, wobei δ die kleinste ganze Zahl ist, f¨ ur die gilt Vi−δ = Vi = [v]. F¨ ur das obige Beispiel des Nachrichtenstroms bedeutet das, daß sich f¨ ur das Symbol Vi = [11] eine Zeit ∆i = 4 ergibt. Da zur Bestimmung von ∆i im Gegensatz zur Bestimmung des Recency-Rank Wertes mehrfach auftretende gleiche Nachrichten auch mehrfach gez¨ahlt werden, gilt offensichtlich Ni ≤ ∆ i .
(2.107)
Aufgrund der Tatsache, daß eine ergodische Quelle auch zu einem ergodischen Nachrichtenstrom am Ausgang des Block-Parsers f¨ uhrt kann der bedingte Erwartungswert E [∆i |Vi = [v]] aus der Auftrittswahrscheinlichkeit PV ([v]) f¨ ur die Nachricht [v] berechnet werden: E [∆i |Vi = [v]] =
1 Pv ([v])
(2.108)
Da sich ein Codewort Zi durch die Codierung des Recency-Rank Wertes Ni mit dem Elias-Code B2 (Ni ) ergibt, ist die L¨ange von Zi durch wi = L2 (Ni ) gegeben. 4
F¨ ur die folgenden Ergebnisse ist die Annahme der Ergodizit¨at nicht zwingend erforderlich. Da die meisten technisch interessanten Quellen jedoch ohnehin ergodisch sind, wird diese Einschr¨ ankung im Interesse einer einfachen Herleitung an dieser Stelle in Kauf genommen.
¨ 2.3. CODIERUNG VON QUELLEN MIT GEDACHTNIS
57
Mit Hilfe von Gleichung 2.107 kommt man zu der Absch¨atzung wi = L2 (Ni ) ≤ L2 (∆i )
(2.109)
und mit Hilfe von Gleichung 2.106 schließlich zu wi ≤ blog2 (∆i )c + 2blog2 (blog2 (∆i )c + 1)c + 1 ≤ log2 (∆i ) + 2 log2 (log2 (∆i ) + 1) + 1
(2.110)
F¨ ur den bedingten Erwartungswert E[wi |Vi = [v]] ergibt sich also folgende Absch¨atzung: E[wi |Vi = [v]] ≤ log2 (E[∆i |Vi = [v]]) + 2 log2 (log2 (E[∆i |Vi = [v]] + 1) + 1 (2.111) Durch Einsetzen von Gleichung 2.108 erh¨alt man daraus E[wi |Vi = [v]] ≤ − log2 (PV ([v])) + 2 log2 (− log2 (PV ([v]) + 1) + 1
(2.112)
Zur Berechnung von E[wi ] wird jetzt mitPV ([v]) multipliziert und u ¨ber alle Nachrichten [v] aufsummiert. Dadurch ergibt sich E[wi ] ≤ H(V ) + 2 log2 (H(V ) + 1) + 1 ,
(2.113)
H(V ) = H(U1 , . . . , UL ) = LHL (U )
(2.114)
und schließlich mit
die Absch¨atzung Elias-Willems-Codierung: K-n¨are DSS, ergodisch;
Code: bin¨ar, Parser L
¢ 1 2 ¡ E[ωi] ≤ HL (U ) + ld LHL (U ) + 1 + L L L F¨ ur große L geht ptotisch optimal.
2.3.5
E[ωi] L
(2.115)
beliebig nahe an H∞ , das heißt die Codierung ist asym-
Lempel-Ziv-Codierung
Die Lempel-Ziv-Codierung ist ein universelles Quellencodierverfahren, daß in vielen Datenkompressionsprogrammen f¨ ur Computer eingesetzt wird. Es existieren mehrere Varianten des Lempel-Ziv-Verfahrens, die in der Literatur meist mit
58
KAPITEL 2. QUELLENCODIERUNG U1 , U2 , . . .
Bin¨are
Zi
V1 , V 2 , . . .
LZ - Parser
LZ - Codierung
variable L¨ange
DSS
Abbildung 2.18: Lempel-Ziv-Codierung LZ78
LZ77, LZ78 und LZSS bezeichnet werden. Stellvertretend f¨ ur diese Algorithmen wird hier das Verfahren LZ78 beschrieben, das J. Ziv und A. Lempel 1978 ver¨offentlicht haben [1]. Bei LZ78 zerlegt der Lempel-Ziv-Parser den Datenstrom in Sequenzen, die bisher noch nicht aufgetreten sind. Der Parser w¨ahlt dabei immer die k¨ urzest m¨ogliche neue Sequenz und numeriert diese mit einem eindeutigen Index j. Beispiel: 1011010100010...
Parser
−→
1, 0, 11, 01, 010, 00, 10, . . . 1 2
3
4
5
6
7
Sei c(n) die Anzahl der Sequenzen nach dem Parser v1 , v2 , . . . , vc(n) . Jede Sequenz vi besitzt gem¨aß Konstruktion ein Pr¨afix vj , j < i, dessen L¨ange sich um 1 bit unterscheidet, ¯ ´ heißt vi = (vj | 0) oder vi = (vj | 1). Das entsprechende ³ das ¯ Codewort Zi = j ¯ 01 ist die Nummer j des Pr¨afix und das bit 0 oder 1. Beispiel:
(Fortsetzung)
10 · · ·
Sequenz aus Parser
(0,1) (0,0) (1,1) (2,1) (4,0) (2,0) (1,0) · · ·
codierte Sequenz Zi
1
1
0
0
11
11
01
010
01 010
00
00
10 · · ·
Im Decoder rekonstruierte Sequenz
Abbildung 2.19: Arbeitsweise des Algorithmus LZ78
Um die ersten Bits der Sequenz codieren zu k¨onnen, wird zus¨atzlich ein virtueller ¡ ¯ ¢ Index j = 0 eingef¨ ugt, der keinem Pr¨afix entspricht. Das Codewort Zi = 0 ¯ 01 stellt also einfach das bit 0 bzw. 1 dar.
2.4. RATE-DISTORTION-THEORIE
59
Lemma (ohne Beweis): Sei U1 , U2 , . . . , UM eine bin¨are Sequenz einer DSS, so gilt: c(n) ≤
M (1 − ²n ) ld M
(2.116)
wobei lim ²n = 0 gilt n→∞
Die Codeworte Zi k¨onnen mit dem in Abschnitt 2.3.3 beschriebenen Code B2 codiert werden. Dazu m¨ ussen allerdings die Indizes f¨ ur die Sequenzen aus dem 5 Parser so verschoben werden, das alle Indizes positive ganze Zahlen sind. Der Lempel-Ziv Algorithmus ist ebenfalls asymptotisch optimal.
2.4 Bisher: Jetzt:
Rate-Distortion-Theorie Annahme, daß Quelle ohne Verlust rekonstruiert werden konnte. Verlust ist erlaubt (in bestimmten Grenzen)
DMS
U
Parser
U1 , . . . , U L
Codierer
L
K
KL DN
D
X1 , . . . , X N
N
Quellensequenzen Codesequenzen
Abbildung 2.20: Rate-Distortion
Verlustfrei: DN −1 < K L ≤ DN
l ld K m bzw. N = L ld D
(2.117)
Wir codieren nur die ²−typischen Sequenzen und ordnen allen anderen ein einziges Codewort zu. Sei M die Anzahl der ²−typischen Sequenzen, dann gilt DN −1 < M + 1 ≤ DN
=⇒
M ≥ DN −1
(2.118)
Das heißt:
5
(N − 1) ld D ≤ ld M
einschließlich des virtuellen Index der keinem Pr¨afix entspricht
(2.119)
60
KAPITEL 2. QUELLENCODIERUNG
Die K L − M ²−atypischen Sequenzen werden durch ein Codewort codiert. F¨ ur die ²−typischen Sequenzen gilt: M ≤ 2(1+²)LH(U ) Anmerkung:
(2.120)
Diese Definition ist leicht modifiziert gegen¨ uber Abschnitt 1.3.1: M ≤ 2(H(U )+²)·L
(2.121)
Damit erhalten wir: (N − 1) ld D ≤ (1 + ²)LH(U ) N H(U ) ²H(U ) 1 ≤ + + L ld D ld D L
(2.122) (2.123)
Die Wahrscheinlichkeit, daß eine Codesequenz nicht die Quellensequenz exakt rekonstruiert ist gleich der Wahrscheinlichkeit f¨ ur eine atypische Sequenz. Block-Block-Codiertheorem einer DMS: Gegeben K, L und D, N sowie H(U ). F¨ ur beliebiges ²1 und ²2 existiert ein gen¨ ugend großes L, so daß gilt: H(U ) N < + ²1 L ld D
und
P < ²2
(2.124)
P ist die Wahrscheinlichkeit, daß U1 . . . UL eine atypische Sequenz ist. Definition des Verlusts (Distortion) d(u, u ˆ) =
n X
d(ui , uˆi ) d(·) Metrik
(2.125)
i=1
Dabei soll zwischen U und Uˆ ein stochastischer Zusammenhang gelten: fUˆ |U (ˆ u | u)
(2.126)
Mittlerer Verlust: d=
XX u ˆ
fUˆ U (ˆ u, u)d(ˆ uu)
(2.127)
u
Wechselseitige Information: I(Uˆ ; U )
(2.128)
2.4. RATE-DISTORTION-THEORIE
61
U U U U
Uˆ Uˆ
U U
U
Uˆ
U
U Uˆ U
I(U ; Uˆ ) = 0 max. Verlust
I(Uˆ ; U ) = H(U ) verlustfrei
Uˆ
U
Uˆ
U I(U ; Uˆ ) < H(U )
Abbildung 2.21: Beispiel zu Rate-Distortion: Testkan¨ale
Rate-Distortion-Funktion: R(d) =
inf
fUˆ U ∈P (d)
I(Uˆ ; U )
(2.129)
wobei © ª P (d) = fUˆ |U (Uˆ | U ); d ≤ d
(2.130)
die Menge aller Abbildungen ist, bei denen die mittlere Verzerrung d kleiner als d ist.
Rate-Distortion-Satz: F¨ ur ²1 , ²2 , ²3 existiert ein hinreichend großes n, derart, daß Folgen aus n Quellensymbolen mit n(R(d) + ²1 ) bit codiert werden k¨onnen. Die Rekonstruktion der n Quellensymbole kann mit einem Verlust (Distortion) kleiner n(d + ²2 ) durchgef¨ uhrt werden, und zwar mit einer Wahrscheinlichkeit kleiner ²3 . Verlustbehaftete Codierung bei: Sprache:
62
KAPITEL 2. QUELLENCODIERUNG PCM, ADPCM Vocoder: RPE / LTP Bild: MPEG 2 . . . 4 Große Schwierigkeit:
H(U )
Sprechererkennung Subjektiver Eindruck etc.
Kapitel 3 Kanalcodierung Das Kanalcodiertheorem wurde in 1.3.3 bewiesen. Z Codierer
Zˆ
Y = (y1 , . . . , yN )
X = (x1 , . . . , xN )
Decodierer
DMC
y1
Xi ∈ {x1, . . . , xq } x1
Yi ∈ {y1, . . . , yQ}
Q≥q
y2
x2
y3
xq
yQ fX (x)
fY |X (y | x)
Abbildung 3.1: Blockbild der Kanalcodierung F¨ ur DMC gilt: fY |X (y | x) = Es gibt keine R¨ uckkopplung, das heißt:
N Y i=1
fY |X (y | x)
P (xn | x1 , . . . , xn−1 , y1 , . . . , yn−1 ) = P (xn | x1 , . . . , xn−1 )
(3.1)
(3.2)
Die Kanalkapazit¨at ist bekannt: C = max I(X; Y ) fX (x)
63
(3.3)
64
KAPITEL 3. KANALCODIERUNG
Die Coderate betr¨agt: ld M N M ist die Anzahl der Codeworte der L¨ange N R=
(3.4)
Decodierer: Abbildung QN −→ q N −→ Zˆ Komplexit¨at: F¨ ur einen DMC mit Eingangsalphabet q und Ausgangsalphabet Q und einen Code der L¨ange N mit M Codeworten gibt es ¡ N ¢M q = q M ·N
verschiedene Blockcodes bzw. m¨ogliche Codierer, da es f¨ ur jedes der M Codeworte N q Wahlm¨oglichkeiten gibt. Die Anzahl der m¨oglichen Decoder ist MQ
N
da es f¨ ur die QN Empfangsvektoren M Wahlm¨oglichkeiten gibt. Fehlerwahrscheinlichkeiten: ˆ Blockfehlerwahrscheinlichkeit PB = P (Z 6= Z) Bitfehlerwahrscheinlichkeit Pb (auch Symbolfehlerwahrscheinlichkeit) Pb h¨angt von der Abbildung Quellensymbole −→ Codeworte, das heißt vom verwendeten Codierer ab =⇒ im folgenden wird nur PB betrachtet.
3.1
MAP– und ML–Decodierung
Maximum-a-posteriori-Decodierer (MAP): Maximum-Likelihood-Decodierer (ML):
min PB min PB | fX (x) = konstant
ML-Decodierung ist MAP-Decodierung, bei der vorausgesetzt wird, daß alle Codeworte gleichwahrscheinlich sind. Zˆ = Φ(Y )
Decodierentscheidung ¡ ¢ ˆ = P Z = Φ(Y ) 1 − PB = P (Z = Z)
Mit dem Satz der totalen Wahrscheinlichkeit folgt daraus: X ¡ ¢ 1 − PB = P Z = Φ(Y | Y = y) fY (y) y X X ¡ ¢ ¡ ¢ = fZ|Y Φ(Y ) | y fY (y) = fZY Φ(Y ), y y y X ¡ ¢ ¡ ¢ = fY |Z y | Φ(Y ) fZ Φ(Y ) y
(3.5) (3.6)
(3.7) (3.8) (3.9)
3.1. MAP– UND ML–DECODIERUNG
65
Wenn nun Z = Φ(Y ) ist, war xΦ das gesendete Codewort. Damit ergibt sich die Beziehung X ¡ ¢ fY |X (y | xΦ )fZ Φ(Y ) 1 − PB = y
(3.10)
Die Blockfehlerwahrscheinlichkeit PB h¨angt damit vom Kanal fY |X und von der Verteilung der Codeworte des Codes ab. MAP - Decodierer: maximiere fY |X (y | xi )fZ (i)
Φ(Y ) = i
(3.11)
gegeben den Kanalausgang y. ML - Decodierer: maximiere fY |X (y | xi )
Φ(Y ) = i
(3.12)
F¨ ur DMC ist ML: fY |X (y | xi ) =
N Y j=1
fY |X (yj | xij )
xi = (xi1 , xi2 , . . . , xiN )
(3.13)
F¨ ur praktische Anwendungen ist h¨aufig die Verteilung der Codeworte nicht bekannt, das heißt es wird ML-Decodierung benutzt.
Beispiel:
Code (000,111) Wiederholungscode mit N = 3
Y
= 010
fY |X (y | xi ) =
fY |X (010 | 000) = (1 − ²)²(1 − ²)
>
N =3 Y j=1
fY |X (yj | xij )
fY |X (010 | 111) = ²(1 − ²)²
(3.14) (3.15)
Ein ML-Decodierer entscheidet sich f¨ ur 000. Sei fZ (000) = 0.1 fZ (111) = 0.9 dann kann sich ein MAP-Decodierer bei
66
KAPITEL 3. KANALCODIERUNG 1−²
0
0
²
²<
1 2
²
1
1 1−²
Abbildung 3.2: Ein BSC f¨ ur den Wiederholungscode
entsprechendem ² f¨ ur 111 entscheiden. In diesem Beispiel ist PB = Pb , da es nur 2 Codeworte gibt. ¤ Beispiel:
(Johannesson)
0
Z = {A, B, C}
1
0
1 2
1 i A B C
fZ (i) 1 8 5 8 2 8
ML-Decodierer
2
xi
1 1 2
2
1 2
00
Wiederholungscode n = 2
11
nicht m¨oglich sind :
22 Y 00 01 02 10 11 Φ(y) A
MAP-Decodierer
1 2
B
B B
C/B C
Y 00 01 02 10 11 Φ(y) B
B
B B
12 20 21 22
B
C C
C
12 20 21 22 C
C C
C
Abbildung 3.3: Beispiel zu einem Wiederholungscode mit n = 2
ML-Decodierung fY |X (11 | 11) = fY |X (11 | 22) =
1 4
(3.16)
3.2. BHATTACHARYYA–SCHRANKE (ZWEI CODEWORTE) PB
=
=
µ
1 5 1 2 1 1 5 + · +0+ · + · 8 4 8 4 8 4 8 ¶ 1 2 1 2 1 2 + · +0+ · + · 4 8 4 8 4 8
1− 1·
5 16
=
=
1−
3 16
(3.17) (3.18) (3.19)
MAP-Decodierung fY |X (00 | 00) > fY |X (00 | 11) aber fY |X (00 | 00)fZ (A) < fY |X (00 | 11)fZ (B) PB
67
µ
1 5 1 5 1 5 1 5 · + · +0+ · + · 4 8 4 8 4 8 4 8 ¶ 1 2 1 2 1 2 + · +0+ · + · 4 8 4 8 4 8
(3.20) (3.21) (3.22)
(3.23) (3.24) (3.25)
=⇒ MAP ist besser als ML aber Problem: fZ nicht immer bekannt ¤
3.2
Bhattacharyya–Schranke (zwei Codeworte)
Notation: PB|i = P (Zˆ 6= Z | Z = i)
=⇒
PB =
M X
PB|i fZ (i)
(3.26)
i=1
Der schlechteste Fall ist, wenn irgendein fZ (i) = 1 ist und gleichzeitig PBωc = maxi PB|i gilt. Die Decodier-Region Di wird definiert zu Di =
©
Y
: Y ∈ QN und Φ(Y ) = i
ª
(3.27)
68
KAPITEL 3. KANALCODIERUNG
Damit gilt: PB|i =
X
fY |X (y | xi )
(3.28)
X
fY |X (y | x2 )
(3.29)
/ i y ∈D
F¨ ur zwei Codeworte gilt: PB|2 =
y ∈D1 Offensichtlich gilt f¨ ur y ∈ D1
fY |X (y | x1 ) ≥ fY |X (y | x2 ) q q fY |X (y | x1 ) ≥ fY |X (y | x2 ) q fY |X (y | x2 ) ≤ fY |X (y | x1 )fY |X (y | x2 )
(3.30) (3.31) (3.32)
Damit PB|2 ≤
X q fY |X (y | x1 )fY |X (y | x2 ) y ∈D1
(3.33)
X q fY |X (y | x)fY |X (y | x2 ) y ∈D2
(3.34)
und auf die gleiche Weise: PB|1 ≤ Zusammengefaßt: PB|1 + PB|2 ≤ Beispiel:
Xq fY |X (y | x1 )fY |X (y | x2 ) y
(3.35)
Wiederholungscode der L¨ange n Ein Wiederholungscode der L¨ange n mit den Codeworten x1 = 0 und x2 = 1 wird u ¨ber einen BSC mit Fehlerwahrscheinlichkeit p u ur diesen Fall ergibt die Bhattacharyya-Schranke ¨bertragen. F¨ ´n ³ p P (n) ≤ 2 p(1 − p)
¤
¨ 3.3. BINARE BLOCKCODES U
69 X = (U, . . . , U ),
Codierer
X ∈ GF (2)n
BSC
Uˆ
Decodierer
Y = (y0, . . . , yn),
Y ∈ GF (2)n
BSC: binary symmetric channel 1−² 0 0 ²
Ausgangsalphabet
Eingangsalphabet ²
1
1−²
1
Abbildung 3.4: Blockbild eines Wiederholungscodes
3.3
Bin¨ are Blockcodes
Beispiel:
Wiederholungscode fY |X (0 | 0) = fY |X (1 | 1) = 1 − ² fY |X (0 | 1) = fY |X (1 | 0) = ²
(3.36) (3.37)
² ist die Bitfehlerrate, der einzige Parameter des BSC C(²) = 1 − h(²) , mit h(²), der bin¨aren Entropiefunktion Decodierung: n ungerade: n gerade: Beispiel: n=3
X
f¨ ur y = (0, 1, 0):
½
ω ≤ n−1 2 sonst
ω ≤ n2 − 1 ω = n2 sonst
korrigierbare Fehler Decodierfehler
(3.38)
korrigierbare Fehler mit p = 21 fehlerhafte Decodierung (3.39) Decodierfehler
© ª ∈ (0, 0, 0), (1, 1, 1)
fY |X =
3 Y i=1
fY |X (yi | xi )
fY |X (010 | 000) = (1 − ²) · ² · (1 − ²) > > fY |X (010 | 111) = ² · (1 − ²) · ²
(3.40)
(3.41) f¨ ur ² <
1 2
(3.42)
70
KAPITEL 3. KANALCODIERUNG
Wahrscheinlichkeit f¨ ur Decodierfehler: µ ¶ h i 3 3 2 PB = 1 − (1 − ²) + (1 − ²) ² 1 ²
0.15
0.1
0.01
C(²)
0.3902
0.5310
0.9192
PB
6.08 · 10−2
2.8 · 10−2 2.98 · 10−4
(3.43)
Abbildung 3.5: Tabelle zu Decodierfehler mit dem Parameter ² Annahme:
H(U ) = 1 bit
(Separationsansatz, Quellencodierung) =⇒ H(X) =
1 1 = bit n 3
(3.44) ¤
Codierer bildet k-dimensionalen Informationsvektor i auf n-dimensionalen Codevektor ab. Diese (lineare) Abbildung kann mit der Generatormatrix durchgef¨ uhrt werden: =
x (1 × n)
i · G (1 × k) (k × n)
(3.45)
Die Menge aller Codew¨orter wird als Code C bezeichnet und spannt einen k-dimensionalen Unterraum des n-dimensionalen Raums auf. Die Coderate eines bin¨aren Codes C ist R=
ld |C| k = n n
mit |C| Anzahl der Codew¨orter
(3.46)
und n der Codewortl¨ange Das Gewicht eines bin¨aren Codewortes x ist die Anzahl der von Null verschiedenen Stellen: wt(x) =
n X
xi
mit x = (x1 , x2 , . . . , xn )
(3.47)
i=1
Die Distanz zwischen den zwei Codeworten x1 und x2 ist die Anzahl der unterschiedlichen Stellen d(x1 , x2 ) = wt(x1 + x2 )
(3.48)
¨ 3.3. BINARE BLOCKCODES
71
Die Gewichtsverteilung A(w) = (A0 , A1 , . . . , An ) eines Codes der Rate R = w im Code.
k n
(3.49)
ist die Anzahl A(w) an Codew¨ortern mit Gewicht
Aufgrund der Linearit¨at ergibt die Addition zweier Codew¨orter wieder ein Codewort: x1 + x2 ∈ C
(3.50)
Betrachtet man die Distanzen eines beliebigen Codewortes xi zu allen anderen Codew¨ortern xj , so sind die beobachteten Distanzen gleich den Distanzverh¨altnissen eines beliebigen anderen Codewortes zu allen anderen Codew¨ortern. Satz: Die Distanzverteilung eines linearen Codes ist durch dessen Gewichtsverteilung A bestimmt. ¤ Die Mindestdistanz eines Codes ist dm = mini6=j d(xi , xj )
(3.51)
dm = min x∈C, wt(x) x6=0
(3.52)
Damit gilt f¨ ur lineare Codes:
Die Mindestdistanz eines Codes bestimmt, wieviele Fehler dieser in jedem Fall korrigieren kann 1 . Deshalb werden die Parameter von (linearen) Codes C gew¨ohnlich in der Notation C(n, k, dm )
(3.53)
angegeben. (z.B: Wiederholungscode C(n, 1, n) ) Beispiel:
Hammingcode C(7, 4, 3) n=7 k=4 dm = 3 4 =⇒ |C| = 2 = 16 Codew¨orter
1
(3.54) (3.55)
Alle Empfangsvektoren, deren Distanz zum gesendeten Codewort kleiner ist als die halbe Mindestdistanz k¨ onnen immer eindeutig dem gesendeten Codewort zugeordnet werden.
72
KAPITEL 3. KANALCODIERUNG
x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15
Codewort
Gewicht
0000 000 0001 111 0010 110 0011 001 0100 101 0101 010 0110 011 0111 100 1000 011 1001 100 1010 101 1011 010 1100 110 1101 001 1110 000 1111 111 |{z} Informationsbits
0 4 3 3 3 3 4 4 3 3 4 4 4 4 3 7
x=n·G
011 101 110 111 |{z} Redundanzbits
1000 0100 x=n· 0010 0001
A=(1,0,0,7,7,0,0,1)
Abbildung 3.6: Tabelle zur Gewichtsverteilung A
3.4
Schranke fu ¨ r Blockfehlerwahrscheinlichkeit
Annahmen:
- Maximum-Likelihood-Decodierung - lineare bin¨are Blockcodes - symmetrischer Bin¨arkanal Ziel der Fehlerkorrektur ist die Minimierung der Bitfehlerwahrscheinlichkeit P b im gesch¨atzten Informationswort. Dabei spielt die Zuordnung von Informationswort auf Codewort eine Rolle. Hier: Minimierung der Blockfehlerwahrscheinlichkeit PB . Diese h¨angt nur von Distanzeigenschaften des Codes ab und nicht von einer konkreten Zuordnungsvorschrift. Die Blockfehlerwahrscheinlichkeit PB f¨ ur ML-Decodierung eines linearen bin¨aren Blockcodes ist: X (3.56) fY |X (y | x = 0) PB = y ∈y0c Der Code ist linear. Deshalb kann PB f¨ ur x = 0 berechnet werden.
¨ BLOCKFEHLERWAHRSCHEINLICHKEIT 3.4. SCHRANKE FUR
73
Die Menge y0c sind alle Vektoren y im n-dimensionalen Raum, welche vom ML-Decoder nicht auf X = 0 decodiert werden. Jeder Empfangsvektor y ∈ y0c außerhalb des Korrekturbereichs f¨ uhrt zum Blockfehler. n–dimensionaler Raum
y0c x4
y0
x2 x=0
x3
x1 Empfangsvektoren y
Abbildung 3.7: Skizze zur Blockfehlerwahrscheinlichkeit
Problem:
y0 ist im allgemeinen nicht bekannt und ist f¨ ur ein großes n sehr aufwendig zu berechnen.
Ist die Gewichtsverteilung des Codes bekannt, kann diese verwendet werden um eine obere Schranke f¨ ur PB zu berechnen. Beispiel:
Wiederholungscode C(3, 1, 3) Die Codew¨orter x0 = (0, 0, 0) und x1 = (1, 1, 1) haben die Distanz d(x0 , x1 ) = 3. Wurde x0 gesendet, werden alle y mit wt(y) ≤ 1 korrekt decodiert. mit =⇒
PB
=
=
y0c = {y | wt(y) ≥ 2} X fY |X (y | x = 0) y ∈y0c 3 µ ¶ X 3 (1 − ²)3−l ²l l l=2
(3.57) (3.58)
(3.59) ¤
Beispiel:
Hammingcode C(7, 4, 3) Mit den Codew¨ortern x0 und x2 = (0, 0, 1, 0, 1, 1, 0) kann der Raum in zwei Unterr¨aume geteilt werden.
Die Codew¨orter unterscheiden sich an d(x0 , x2 ) = wt(x2 ) = 3
(3.60)
74
KAPITEL 3. KANALCODIERUNG
y0
|C| = 2
y0c
n–dimensionaler Raum
x=0
x1 d(x0, y) = d(x1, y)
Der gesamte Raum ist in die beiden Teilr¨aume y0 und y0c geteilt Abbildung 3.8: Die Unterteilung des Raumes
Stelle
1 2 3 4 5 6 7
x0
0 0 0 0 0 0 0
x2
0 0 1 0 0 1 1
Abbildung 3.9: Tabelle zur Gewichtsverteilung A
Stellen. Treten an den Stellen 3, 6, 7 zwei oder drei Fehler auf, dann wird entweder auf x2 oder ein anderes xi 6= x0 decodiert. Ist ²2 die Menge aller y, die aufgrund der Betrachtung von x2 zu einem Decodierfehler f¨ uhren, dann gilt P (²2 ) =
3 µ ¶ X 3
l
l=2
(1 − ²)3−l ²l
(3.61)
Diese Wahrscheinlichkeit P (²i ) kann nun f¨ ur jedes Codewort berechnet werden. ¤ F¨ ur jedes Codewort kann in Abh¨angigkeit von dessen Gewicht eine Wahrscheinlichkeit f¨ ur fehlerhafte Decodierung berechnet werden: ( Pw ¡w ¢ (1 − ²)w−l ²l , w ungerade (w+1) l l= 2 ¡ ¢ ¡w ¢ Pw w w P (w) = 1 w w−l l (1 − ²) 2 ² 2 + l= w +1 l (1 − ²) ² , w gerade 2 w
Ist w gerade, dann wird mit p =
(3.62)
2
2
1 2
auf das falsche decodiert.
Summiert man u ur fehlerhafte Decodierung ¨ber diese Wahrscheinlichkeiten f¨ bez¨ uglich allen Codew¨ortern des Codes auf, dann erh¨alt man die sogenannte
3.5. RANDOM-CODING UND ERROR-EXPONENT
75
Union-Bound f¨ ur Blockfehlerwahrscheinlichkeit: PB ≤ mit Aw :
N X
A(w)P (w)
(3.63)
w=1
Gewichtverteilung des Codes
²1
|C| > 2
x1 n–dimensionaler Raum x0 ¨ Uber diesen Bereich wird doppelt summiert
² 2 x2
Abbildung 3.10: Union-Bound f¨ ur Blockfehlerwahrscheinlichkeit Bemerkung:
²1 und ²2 sind nicht exklusiv. Deshalb gilt ! Ã X [ P (²i ) P ²i < i
(3.64)
i
und die Union-Bound muß angewendet werden. Schranke f¨ ur PB ist bei R ¿ C sehr gut, wird aber bei zunehmender Bitfehlerrate (² ↑ =⇒ C ↓) immer schw¨acher. Voraussetzung f¨ ur die Berechnung ist die Kenntnis der Gewichtsverteilung A des Codes.
3.5
Random-Coding und Error-Exponent
Berechnung von PB u ur PB mit A ¨ber y0c , beziehungsweise der Union-Bounds f¨ wird mit zunehmender L¨ange n aufwendiger. Beispiel:
n = 100, R = satz)
1 2
(realistische Gr¨oßenordnung f¨ ur praktischen Ein-
|C| = 250 ≈ 1.12 · 1015 Codew¨orter 2100 ≈ 1.27 · 1030 m¨ogliche y µ
Vergleiche: Avogadro-Konstante 6.022 · 10
23
Molek¨ ule mol
¶
76
KAPITEL 3. KANALCODIERUNG
Frage:
Welches PB kann man mit einem Code C der Rate R =
Problem: L¨osung:
k n
erreichen ?
Exakte Berechnung oder Union-Bound f¨ ur PB aller linearen Codes k mit Rate R = n zu aufwendig. Shannons Konzept der Random Codes.
Gedankenexperiment:
Wir haben eine Berechnung des PB f¨ ur alle linearen uhrt. Berechbin¨aren Codes der Rate R = nk durchgef¨ nen wir nun die mittlere Blockfehlerwahrscheinlichkeit dieses Ensembles an Codes, dann existiert mindestens ein Code f¨ ur welchen gilt: PB ≤ E[PB ]
(3.65)
Dieser Erwartungswert kann aber auch auf eine alternative Art und Weise berechnet werden: X
E[PB ] ≤
¡ ¢ qx (x) · p wt(x)
x∈GF (2)n , x6=0 X = N (w) · p(w)
(3.66)
(3.67)
w
mit qx (x) als Wahrscheinlichkeitsfunktion von x, das heißt die Wahrscheinlichkeit, daß x als Codewort im Ensemble ist. Diese Summe l¨aßt sich dann mit der u ¨ber alle Codes im Ensemble gemittelter Gewichtsverteilung N (w) = E[A(w)] darstellen. Satz: Die gemittelte Gewichtsverteilung des Ensembles aller linearen bin¨aren Codes der Rate R = nk ist µ ¶ n · s−n(1−R) N (w) = w Beweis:
(3.68)
Low-Density Parity-Check Codes“ R.G. Gallager, MIT Press, 1963 ”
Nun werden wir zeigen, daß beinahe alle Codes im Ensemble eine Gewichtsverteilung A(w) besitzen, welche f¨ ur alle Gewichte w nur um A(w) ≤ n2 · N (w) nach
3.5. RANDOM-CODING UND ERROR-EXPONENT
77
oben abweichen: ³© ª´ 2 ur alle w ≤ P A(w) | A(w) ≥n N (w) f¨ X ³© ª´ ≤ P A(w) | A(w) ≥ n2 N (w)
(3.69) (3.70)
w
≤
Satz:
X 1 1 = 2 n n w
(3.71)
F¨ ur die Gewichtsverteilung N (w) gilt: w (3.72) n Diese Schranke macht das mit n verbundene exponentielle Verhalten von N (w) deutlich und rechtfertigt die um n2 betrachtete Abweichung. Da fast alle Codes im Ensemble eine vom Mittelwert kaum“ abweichende Gewichtsverteilung besitzen, ” untersuchen wir nun die PB eines solchen typischen“ Codes: ” n ´w ³ p X −n((1−R)n( w )) n (3.73) 2 PB < · 2 ²(1 − ²) N (w) ≤ 2−n((1−R)−n(λ))
mit λ =
w=1
logN (w)p(w)
²
1
n
w
Abbildung 3.11: Die Gewichtsverteilung in Abh¨angigkeit von ² Bei guten“ Kan¨alen tragen die Codew¨orter mit dm am meisten zur Blockfeh” lerwahrscheinlichkeit PB bei. Bei schlechten“ Kan¨alen sind Codew¨orter mit ” gr¨oßerer Distanz ausschlaggebend. Das Verhalten von PB in Abh¨angigkeit zur Blockl¨ange n wird mit Hilfe des sogenannten Error-Exponenten dargestellt PB ≤ e−nE(R)
(3.74)
mit
(3.75)
f¨ ur alle Raten 0 ≤ R ≤ C Eex (R) 0 ≤ R ≤ Rex Er (R) Rex ≤ R ≤ Rer E(R) = Esp (R) Rer ≤ R ≤ C
78
KAPITEL 3. KANALCODIERUNG
E(R) mit Eex, Rex Er , R r Esp Rc
Eex
expurgated exponent,rate random coding exponent, rate sphere packing exponent cut–off rate
Er Esp Rex
Rer
Rc
C
Abbildung 3.12: Schaubild zum Error–Exponenten
Die Herleitung dieser Exponenten kann in Information Theory and Reliable ” Communication“ , R. G. Gallager, Wiley, 1968 nachgelesen werden. Die Blockfehlerrate PB f¨allt mit der Codewortl¨ange n exponentiell ab. Dieses Verhalten, in Abh¨angigkeit von der Rate, wird durch den Error-Exponenten dargestellt.
Kapitel 4 Der Gaußkanal AWGN:
Additive White Gaussian Noise
Differentielle Entropie f¨ ur kontinuierliche Zufallsvariablen:
H(X) = −
Z
∞
fX (x) log fX (x) dx (kann < 0 sein)
−∞
I(X; Y ) = H(X) − H(X | Y ) ≥ 0 Z ∞Z ∞ fX|Y (x, y) fXY (x, y) log = dxdy fX (x) −∞ −∞ Z ∞Z ∞ H(X | Y ) = − fXY (x, y) log fX|Y (x | y) dxdy −∞
Beispiel:
(4.1) (4.2) (4.3) (4.4)
−∞
(Johannesson): Sei X eine normalverteilte Gaußsche Zufallsvariable mit Mittelwert µ und Varianz σ √ 1 e− 2πσ 2
fX (x) = Differentielle Entropie: H(X) = − = σ2 =
Z
∞ −∞
√ 1 e− 2πσ 2
(x−µ)2 2σ 2
log
µ
(x−µ)2 2σ 2
√ 1 e− 2πσ 2
(4.5) (x−µ)2 2σ 2
1 log e 2 1 log (2πσ 2 ) + σ = log (2πσ 2 e) 2 2 2σ 2 Z ∞
−∞
1 (x − µ)2 √2πσ e− 2
(x−µ)2 2σ 2
dx
¶
dx
(4.6)
(∗)
(4.7) (4.8)
H(X) kann gr¨oßer oder kleiner 0 sein ! ¤
79
80
KAPITEL 4. DER GAUSSKANAL
F¨ ur zwei Wahrscheinlichkeitsfunktionen fX (x) und gX (x) mit gleichem Mittelwert und gleicher Varianz gilt: Z ∞ Z ∞ gX (x) log hX (x)dx (4.9) fX (x) log hX (x)dx = − − −∞
−∞
wobei hX (x) =
√ 1 e− 2πσ 2
(x−µ)2 2σ 2
ist
(4.10)
Die Normalverteilung maximiert die differentielle Entropie u ¨ber die Menge aller Wahrscheinlichkeitsfunktionen mit Mittelwert µ und Varianz σ 2 .
H(X) ist maximal, wenn X normalverteilt ist. Wir nehmen an Y = X + Z, wobei X und Z unabh¨angige stetige Zufallsvariablen sind , dann gilt: H(Y | X) = H(Z) I(X; Y ) = H(Y ) − H(Y | X) = H(Y ) − H(Z)
(4.11) (4.12)
sind X und Z gaußverteilt und bezeichnet S die Varianz von X und N die Varianz von Z; (Varianz Y : S + N ), dann gilt: µ ¶ 1 S mit (∗) (4.13) I(X; Y ) = log 1 + 2 N aus: 1 1 log(2πe(S + N )) − log(2πeN ) 2 2
4.1
(4.14)
Der zeitdiskrete Gaußkanal Z X
+
Varianz (Z) = N Y
Varianz (X) = S
Abbildung 4.1: Der zeitdiskrete Gaußkanal
µ ¶ S 1 C = max I(X; Y ) = log 1 + fX (x) 2 N
(4.15)
4.1. DER ZEITDISKRETE GAUSSKANAL
81
S ist sehr groß, aber sinnvoll beschr¨ankt: Z ∞ 2 X = x2 fX (x)dx ≤ E
(4.16)
−∞
das heißt die mittlere Leistung ist beschr¨ankt. µ ¶ E 1 C = log 1 + 2 N
(4.17)
Nehmen wir einen Code mit Rate R und L¨ange n. Bei bin¨arem Alphabet existieren 2nR = 2k Codeworte. Die Situation des Decodierers ist in Abbildung 4.2 dargestellt.
x x
x
x
x x
x
x
x
x
x
x
n-dimensionale √ Kugel (Korrekturkugel) mit Radius nN (alle Kugeln gleich groß)
x
x
x
x x
Codewort
Der gesamte Raum wird p von den Korrekturkugeln ausgef¨ullt und hat den Radius n(E + N )
p n(E + N )
Abbildung 4.2: Die Situation im Empf¨anger Die Wahrscheinlichkeit, daß x0 gesendet wurde und der Empfangsvektor y in √ einer Kugel mit Radius nN liegt sei sehr groß (nahezu 1). Wieviele Codeworte k¨onnen wir w¨ahlen ?
Gesamter Raum der Kugel = Volumen einer Korrekturkugel
Anzahl der Codeworte
Volumen einer n−dimensionalen Kugel : Faktor (n) r n ³p ´n Gesamter Raum : Faktor (n) n(E + N ) ³√ ´n Volumen einer Korrekturkugel : Faktor (n) nN ³p ´n n(E + N ) E n ³√ ´n = 2 2 log(1+ N )(4.18) Faktor (n) nN
Faktor (n) Anzahl der Codeworte =
≈ 2nC
(4.19)
82
KAPITEL 4. DER GAUSSKANAL
Plausibilit¨at: R
4.2
Von allen Rauschkan¨alen mit mittlerer Leistung N besitzt der mit Mittelwert 0 und Normalverteilung (Gaußverteilung) die kleinste Kanalkapazit¨at. (Worst-Case)
Water-Filling-Methode
Gegeben eine Menge paralleler Gaußkan¨ale Z1 X1
Y1 Z2
X2
Y2
Zi hat die Varianz Ni
ZL XL
YL
Abbildung 4.3: Parallele unabh¨angige Gaußkan¨ale
L X i=1
Xi2 ≤ E
(4.21)
das heißt die Summe der mittleren Leistungen der Eingangssignale ist begrenzt.
C=
L X 1 i=1
¶
(4.22)
Ni < B Ni ≥ B
(4.23) (4.24)
µ
Si log 1 + 2 Ni
Si + N i = B , Si = 0 , B aus:
L X
Si = E
i=1
C wird erreicht ! (siehe Abbildung 4.4) Anwendungen:
OFDM, Telefonmodem, Datenmodems
(4.25)
4.3. DER BANDBEGRENZTE GAUSSKANAL B S1 N1
S2
S3
S1 . . . S5 entspricht Wasser, das eingef¨ullt wird. Der Wasserspiegel ist B
S5 N4
N3 N2
83
N5
Abbildung 4.4: Water-Filling
4.3
Der bandbegrenzte Gaußkanal
Idee: Abtasttheorem zerlegt“ Kanal in zeitdiskrete Kan¨ale. ” (siehe Abbildungen 4.5 und 4.6) X(f)
x(t) -w
t
w
f
* W 2w1 (t)
2w · W2w (f )
=
=
k ), k = [−∞, ∞] x( 2w
w
2w x(t) kann eindeutig rekonstruiert werden
Abbildung 4.5: Schaubilder zum Abtasttheorem
Rauschen bandbegrenzt: N (f ) =
½
N0 2
0
|f | ≤ W |f | > W
(4.26)
Tasten wir das Rauschen (bandbegrenzt) ab, so erhalten wir unabh¨angige normalverteilte Zufallsvariablen. µ ¶ k N0 Zk = Z t = Varianz: (4.27) 2W 2
84
KAPITEL 4. DER GAUSSKANAL k . . . x( 2w )... * si(πt2w)
1 ) rect(f · 2w
=
= P k sin π(2wt−k) x(t) = ∞ k=−∞ x( 2w ) π(2wt−k)
Abbildung 4.6: Schaubilder zum Abtasttheorem
Damit haben wir folgendes Modell: bei L = 2ωT Abtastungen liegen L parallele Gaußkan¨ale (diskret) vor, und f¨ ur alle gilt:
¶ µ 2 1 2σX Ck = log 1 + k = 1, . . . , L 2 N0 2 σX ist die Varianz des entsprechenden Xk µ ¶ k Eingang: Xk = X t = 2W µ ¶ k Ausgang: Yk = Y t = 2W
(4.28)
(4.29) (4.30)
Sei die mittlere Leistung der Eingangssymbole durch S begrenzt L 2 1 X 2 LσX S= Xk = T k=1 T
(4.31)
Damit ¶ µ µ ¶ 1 1 2T S S = log 1 + Ck = log 1 + 2 LN0 2 N0 W
(4.32)
F¨ ur alle L Kan¨ale µ
¶ S Ck = W T log 1 + CT = N0 W k=1 µ ¶ CT S C = lim = W log 1 + T →∞ T N0 W L X
(4.33) (4.34)
4.4. DAS SHANNON LIMIT
85
Kanalkapazit¨ at eines bandbegrenzten Gaußkanal: ¶ S C = W log 1 + N0 W W Bandbreite N0 Varianz des Rauschen begrenzte mittlere Leistung des Eingangssignals µ
S
(4.35)
Pb
R ohne Codierung R
Eb N0
Codiergewinn mit ML-Decodierung
Abbildung 4.7: Codiergewinn
4.4
Das Shannon Limit
Lassen wir unendlich große Bandbreite zu, so bezeichnet man die Kanalkapazit¨at als C∞ . Sie ergibt sich zu: C∞
µ
S = lim W log 1 + W →∞ N0 W S = bit / sec N0 ln 2
¶
(4.36) (4.37)
Benutzen wir einen bin¨aren Code mit k Informationsbits und n Codebits, so ist die Rate R = nk .
86
KAPITEL 4. DER GAUSSKANAL
Fairer Vergleich von Codes mit verschiedener Rate S R Eb Energie pro Informationsbit S Energie pro Sendesymbol k · Eb = n · S ,
R < C∞ :
Eb =
C∞ >1 R 1 S >1 R N0 ln 2 Eb > ln 2 = 0.69 = −1.6 dB N0
F¨ ur einen Gaußkanal kann dieser Wert nicht unterschritten werden.
(4.38)
(4.39) (4.40) (4.41)
Kapitel 5 Mehrbenutzerkommunikation Gegeben ein Netz mit vielen Sendern und Empf¨angern, die untereinander kommunizieren (Information austauschen) =⇒
Probleme:
Interferenz, Kooperation, Feedback, Kapazit¨atsregion des Netzes, verteilte Quellencodierung
Dies ist noch ein Gebiet mit vielen ungel¨osten Problemen, oft auch als NetzInformationstheorie bezeichnet.
Relaiskanal :
S
DuplexKommunikation :
S
Relais
E
E Kanal E
Rundfunk-Kanal :
E
S
E S Vielfachzugriffs-Kanal :
S
E
S
Abbildung 5.1: Einige m¨ogliche Szenarien der Mehrbenutzerkommunikation
87
88
KAPITEL 5. MEHRBENUTZERKOMMUNIKATION
Beispiel:
Mobilfunk Uplink/Downlink, Repeater, Satelitten, Fernsehen, Radio, Rechnernetze, etc. Allgemeiner Fall:
S
E
S
E
S
E
S
E
Abbildung 5.2: Allgemeiner Fall der Mehrbenutzerkommunikation Informationstheorie behandelt unterschiedlichste Spezialf¨alle, zum Beispiel Broadcast, wobei jeder Nutzer eine eigene Information erh¨alt, und vieles mehr. Wir wollen uns auf zwei wichtige F¨alle beschr¨anken: Duplexkommunikation und Vielfachzugriff.
5.1
Duplexkommunikation m1
m ˆ2
Codierer 1
Decodierer 1
X1
Y2
Y1
Two way channel X 2
Decodierer 2
Codierer 2
m ˆ1
m2
Abbildung 5.3: Blockbild der Duplexkommunikation Beispiel:
(Johannesson) Bin¨are Symbole, Kanal f¨ uhrt EXOR (mod 2) durch. (siehe Abbildung 5.4)
Sei R12 die Rate von 1 nach 2 und R21 umgekehrt, dann kann jeweils die Rate 0 ≤ R12 ≤ 1 erreicht werden. Ebenso f¨ ur R21 . Das andere Extrem: inkompatibler Kanal (Shannons push-to-talk channel) Oft unter Walky-Talky bekannt. Der halb-duplex Kanal wird entweder nur in die eine oder nur in die andere Richtung benutzt.
¨ 5.2. VIELFACHZUGRIFF (BESCHRANKUNG AUF ZWEI SENDER)
X1
89
X2 Y2 + X2 mod 2 = X1 Y1 + X1 mod 2 = X2
Y1
Y2 Abbildung 5.4: EXOR Operation des Kanals
R21 1
Der Informationsfluß von 1 → 2 u¨berlagert sich nicht dem von 2 → 1 (kompatibler Kanal)
1
R12
m¨ogliche Kapazit¨atsregion
Abbildung 5.5: Der kompatible Kanal
Betrachten wir die Verfahren zwischen diesen beiden extremen, so ergeben sich Verl¨aufe . . . Viele ungel¨oste Probleme !
5.2
Vielfachzugriff (Beschr¨ ankung auf zwei Sender)
Wir benutzen je einen Code der L¨ange n (bin¨ar): © ª © ª X1 : 1, 2, . . . , 2nR1 , X2 : 1, 2, . . . , 2nR2
(5.1)
der Decoder
φ(y) = (x1 , x2 ) Die Fehlerwahrscheinlichkeit X ¡ ¢ 1 Pen = n(R1 +R2 ) P φ(y) 6= (ω1 , ω2 ) | (ω1 , ω2 )gesendet 2 ω ,ω 1
2
(5.2)
(5.3)
90
KAPITEL 5. MEHRBENUTZERKOMMUNIKATION R21 1
Praxis 1
TDD
time division duplex
R12
Abbildung 5.6: Der inkompatible Kanal
w1
Codierer 1
X1 fY |X1,X2
w2
Codierer 2
Y
Decodierer
wˆ1 , wˆ2
X2
Abbildung 5.7: Blockbild des Vielfachzugriffs mit 2 Sender
Satz:
(Kanalkapazit¨at des Vielfachzugriffkanals mit zwei Nutzern) C = ∃ R1 ≤ R2 ≤ R1 + R 2 ≤
£ Gebiet (R1 , R2 ) : R1 ≥ 0, R2 ≥ 0 fX1 X2 (x1 , x2 ) = fX1 (x1 ) · fX2 (x2 ), I(X1 ; Y | X2 ) I(X2 ; Y | X1 ) ¤ I(X1 X2 ; Y )
und so daß
(5.4) (5.5) (5.6) (5.7) (5.8)
Interpretation statt Beweis:
Punkt A: maximales R1 , wenn Sender 2 nichts sendet max R1 = max
fX1 (x1 )fX2 (x2 ) I(X1 ; Y
| X2 )
(5.9)
Punkt B: maximales R2 , wenn Sender 1 mit maximaler Rate sendet, x1 wird als Rauschen f¨ ur Sender 2 interpretiert. Konzept: X2 wird gesch¨atzt und der Einfluß wird von Y subtrahiert =⇒ Detektion von X1 ohne Interferenz von X2 (Joint-Detection in CDMASystemen) Punkt D und C: Rolle von X1 und X2 vertauscht.
5.3. MASSEY’S BANDBREITEN INTERPRETATION
R2
Pentagon
I12 I2
91
R1 + R2 = I12 C
D
I1 = I(X1; Y | X2) I2 = I(X2; Y | X1) I12 = I(X1X2; Y )
B A I1
I(X2; Y )
I12 R1
I(X1; Y ) Abbildung 5.8: Kanalkapazit¨at bei Vielfachzugriff mit 2 Nutzern
5.3
Massey’s Bandbreiten Interpretation
Betrachtung modulierter Signale s(t) Fourier Bandbreite W: x(t) = si(π2W t)
X(f ) =
1
1/2W
t 1 −W
1 − 2W
1 2W
1 W
f 1 rect( 2W ) 2W
−W
W
Abbildung 5.9: Beispiel mit si-f¨ormigem Elementarsignal
N Shannon Bandbreite B:= 2T
N:= # orthonormaler Funktionen P φi (t), i = 1, . . . , N , so daß alle s(t) durch s(t) = N onnen. i=1 si φi (t) realisiert werden k¨ s1 , . . . , sN repr¨asentiert den N-dimensionalen Euklidischen Raum. Damit gilt: B≤ W Faktor γ =
W B
entpsricht einer ’Spreizung’
Beispiel 1: TDMA
f
92
KAPITEL 5. MEHRBENUTZERKOMMUNIKATION
1
2
K
··· t
L Symbole, T sec Abbildung 5.10: TDMA, mit K Nutzern
Das modulierte Signal ergibt sich in diesem Fall zu: s(t) =
L X i=1
µ
KL bi si π · T
µ
T t−i KL
¶¶
, 0 ≤ t ≤ T.
(5.10)
Dabei sind die bi , i = 1, . . . , L die Datensymbole, die u ¨bertragen werden sollen. Damit ergibt sich die Fourierbandbreite zu: KL . 2T
W =
(5.11)
Man erkennt, daß sich µ das modulierte Signal ¶¶ durch die L orthonormalen Funkµ √ i tionen φi (t) = 2W · si π2W t − darstellen l¨aßt, wobei W durch Glei2W chung 5.11 gegeben ist, d.h. N = L. =⇒ B =
L und γ = K. 2T
(5.12)
Beispiel 2: CDMA Im Falle von CDMA ergibt sich das modulierte Signal zu: s(t) = b1
L X i=1
µ
L ai si π · T
µ
T t−i L
¶¶
, 0 ≤ t ≤ T.
(5.13)
Hierbei ist b1 das zu u ¨bertragende Datensymbol und (a1 , . . . , aL ) ist die Nutzerspezifische bin¨are Spreizsequenz der L¨ange L. Die Fourierbandbreite betr¨agt in diesem Fall: W =
L . 2T
(5.14)
Zur Erzeugung des Sendesignals s(t) wird hier nur eine Funktion und damit auch nur eine Dimension ben¨otigt, d.h. N=1. =⇒ B =
1 und γ = L. 2T
5.4. DER RUNDFUNKKANAL
93
Beispiel 3: BPSK Sendet ein Nutzer n bin¨are Datensymbole b1 , . . . , bn , bi ∈ {−1, 1}, alle T Sekunden, so ergibt sich das modulierte Signal zu: s(t) =
n X i=1
µ
n bi si π · T
µ
T t−i n
¶¶
, 0 ≤ t ≤ T.
(5.15)
Die Fourierbandbreite betr¨agt: W =
n . 2T
(5.16)
Zur Erzeugung des Sendesignals s(t) werden hier n Funktionen ben¨otigt, d.h. N=n. =⇒ B =
n und γ = 1. 2T
Beispiel 4: Wiederholungscode, Rate 1/n Betrachtet man das Sendesignal aus Beispiel 3 und l¨aßt f¨ ur die Datensymbole nur die beiden bin¨aren Codeworte −a1 , . . . , −an und a1 , . . . , an zu, die mit dem Datensymbol b1 ausgew¨ahlt werden, so ergibt sich das modulierte Signal zu: s(t) = b1
n X i=1
µ
n ai si π · T
µ
T t−i n
¶¶
, 0 ≤ t ≤ T.
(5.17)
Die Fourierbandbreite betr¨agt: W =
n . 2T
(5.18)
Zur Erzeugung des Sendesignals s(t) wird wiederum nur eine orthonormale Funktion ben¨otigt, d.h. N=1. =⇒ B =
5.4
1 und γ = n. 2T
Der Rundfunkkanal
Der Rundfunkkanal beteht aus einem Sender und mehreren Empf¨angern. Ein einfacher Spezialfall des Rundfunkkanals ist der diskrete ged¨achtnislose Kanal mit mit zwei Empf¨angerni gem¨aß Abbildung 5.11, der in diesem Abschnitt betrachtet wird. Wie man in der Abbildung sieht, ist ein Teil der gesendeten Nachricht f¨ ur beide Empf¨anger bestimmt, w¨ahrend aber jeder Empf¨anger auch seine individuelle Information erh¨alt.
94
KAPITEL 5. MEHRBENUTZERKOMMUNIKATION
Decoder PSfrag replacements
(W0 , W1 , W2 )
Y
X
Codierer
c0 , W c1 ) (W
fY Z|X Z
Decoder Abbildung 5.11: diskreter ged¨achtnisloser Rundfunkkanal
c0 , W c2 ) (W
Definition 5.1 (Code fu ¨ r Rundfunkkanal, Johannesson Kapitel 6.3) nR0 nR1 nR2 Ein ((2 , 2 , 2 ), n)-Code f¨ ur einen Rundfunkkanal besteht aus den IndexnR0 mengen W0 = {1, 2, . . . , 2 }, W1 = {1, 2, . . . , 2nR1 } und W2 = {1, 2, . . . , 2nR2 }, die die verschiedenen Teile der Nachricht repr¨asentieren, einer Codierfunktion x : W 0 × W1 × W2 → X n und zwei Decoderfunktionen g1 : Y n → W0 × W1 , g2 : Z n → W0 × W2 . Definition 5.2 (Kapazit¨ atsbereich, Johannesson Kapitel 6.3) Der Kapazit¨atsbereich C f¨ ur einen Rundfunkkanal ist die abgeschlossene H¨ ulle aller erreichbaren Ratentripel (R0 , R1 , R2 ) Beispiel 5.1 (Blackwell-Kanal) D. Blackwell hat 1963 das in Abbildung 5.12 dargestellte Beispiel f¨ ur einen diskreten ged¨achtnislosen Kanal angegeben. Wie abgebildet gilt X = {0, 1, 2} und Y = Z = {0, 1}. Am Kanalausgang ergibt sich ( 1, x = 1 Y = 0, x = 2 oder x = 3
und Z=
(
1, 0,
x = 1 oder x = 2 x=3
d.h. f¨ ur die entsprechenden bedingten Wahrscheinlichkeiten gilt fY Z|X (0, 1|0) = fY Z|X (1, 0|1) = fY Z|X (1, 1|2) = 1 . S. I. Gelfand konnte zeigen, daß sich der Kapazit¨atsbereich dieses Kanals wie in Abbildung 5.13 durch die konvex umschlossene Vereinigung der Kapazit¨atsbereiche C1 und C2 ergibt. C1 und C2 werden dabei durch die Entropien H(Y ) und H(Z) der Zufallsvariablen Y und Z begrenzt.
5.4. DER RUNDFUNKKANAL
95
0
1
0
1 1
1 Y
1 1
X
PSfrag replacements
0
1
2
1
1 Z
Abbildung 5.12: Blackwell-Kanal
R2 1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
PSfrag replacements 0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Abbildung 5.13: Kapazit¨atsbereich f¨ ur den Blackwell-Kanal
R1
96
KAPITEL 5. MEHRBENUTZERKOMMUNIKATION
Kapitel 6 Kryptologie Die Kryptologie besch¨aftigt sich mit der Sicherheit in der Informations¨ ubertragung. Der Begriff Sicherheit ist dabei zu verstehen als Sicherheit der Privatsph¨ are bzw. Vertraulichkeit, Sicherheit der Idendit¨ at des Kommunikationspartners und der zugeh¨ origen Nachricht. Im Gegensatz dazu stellt die Theorie der Nachrichten¨ ubertragung, speziell das Kanalcodiertheorem die Zu¨ verl¨ assigkeit der Ubertragung sicher. In Tabelle 7.1 sind die kryptographischen Problemstellungen schematisch dargestellt.
Nachricht message
Authentizit¨ at
Vertraulichkeit
authenticity
privacy
Nachricht wurde verf¨alscht Nachrichtenintegrit¨at
Mith¨oren der Nachricht
Signatur: Nachricht von Sender
Sender/Empf¨ anger sender/receiver
Idendit¨at des Senders korrekt
Idendit¨at des Senders bekannt, Anonymit¨at
Tabelle 6.1: Problemstellungen der Kryptographie Klassische Verfahren besch¨aftigen sich ausschließlich mit der Verschl¨ usselung von Nachrichten, also mit dem Schutz der Privatsph¨are zwischen Sender und Empf¨anger, die dabei fast ausschließlich im milit¨arischen, geheimdienstlichen Kreisen angesiedelt waren. Mit der M¨oglichkeit der Kommunikationsmedien wuchs auch das Bed¨ urfnis nach kryptologischen Verfahren. 97
98
KAPITEL 6. KRYPTOLOGIE
Ein Beispiel ist etwa die Euro–Scheckkarte. Mit ihr erh¨alt der Benutzer eine pers¨onliche Geheimnummer PIN (personal identification number). Die zu einer Karte geh¨orige PIN identifiziert den Benutzer, denn man geht davon aus, daß nur der rechtm¨aßige Benutzer die Zahl kennt. Kryptologie war und ist jedoch auch immer gepr¨agt von Feinden, Gangstern, B¨osewichten und Beh¨orden. Dies bedarf einer Erl¨auterung: Die Beh¨orden sind nat¨ urlich nicht zu dem Kreis der Gangster zu z¨ahlen. Gemeint ist vielmehr der umgekehrte Fall, wenn Gangster sich der Verschl¨ usselung bedienen um Verbrechen zu begehen, m¨ ussen sich die Beh¨orden bem¨ uhen den Gangstern das Handwerk zu legen (Dies ist kein theoretischer Fall, im Februar 1994 erschienen verschiedene Zeitungsmeldungen, daß sich z.B. die Frankfurter Polizei dar¨ uber beklagt, daß das Gangstermilieu u usselte D-Netz abh¨orsicher ¨ber das digitale verschl¨ ihre Verbrechen koordiniert). Kryptologie ist der Oberbegriff f¨ ur Kryptographie und Kryptoanalyse: Kryptologie Kryptographie Kryptoanalyse
Die Kryptographie ist die Lehre von den Algorithmen und Verfahren und die Kryptoanalyse besch¨aftigt sich mit der Sicherheit dieser Verfahren, d.h. auch damit diese Verfahren zu brechen bzw. zu “knacken”. Dies kann selbstverst¨andlich auch kriminelle Energie als Triebfeder haben. Es hat sich eingeb¨ urgert, daß die Wissenschaftler auf den Gebiet der Kryptologie untereinander versuchen die bekannten Verfahren zu “knacken” und somit wahrscheinlich/hoffentlich Schwachstellen finden, bevor diese Verfahren zur Anwendung kommen. F¨ uhren wir das Beispiel mit den Scheckkarten fort. F¨ ur einen Verbrecher ist es m¨oglich eine Karte zu stehlen. Er kennt jedoch die zugeh¨orige PIN nicht. Da die Karte nach dreimaliger falscher Eingabe der PIN eingezogen wird, kann er mit der Karte nichts anfangen. Jedoch kann er sich die Karte mit zugeh¨origer PIN folgendermaßen beschaffen: Er baut sich einen Bankautomat, der von außen echt aussieht und stellt ihn auf. Kommt ein Kunde vorbei, der Geld ben¨otigt, so wird dieser seine Karte in diesen Automaten stecken und seine PIN eintippen. Nun gen¨ ugt eine Anzeige: Technischer Defekt. Bitte holen Sie Ihre Karte morgen ab ... (So geschehen im Jahre 1987). Der Fehler im Kryptosystem war, daß sich zwar der Benutzer identifizieren muß nicht jedoch die Bank. Man unterscheidet zwischen symmetrischen und asymmetrischen Kryptoverfahren. Symmetrisch heißen die Verfahren, bei denen beim Sender und beim Empf¨anger der gleiche geheime Schl¨ ussel verwendet wird. Das Problem in Praxis ist nat¨ urlich den Schl¨ ussel geheim zu halten und den Schl¨ ussel zu u ¨bertragen.
6.1. KLASSISCHE VERFAHREN
99
Sender
Empfänger
K
K Geheimer Schlüssel
Abbildung 6.1: Symmetrisches Verfahren (gleicher Schl¨ ussel auf beiden Seiten) Zur Gliederung: Zun¨achst werden die klassischen Verfahren erl¨autert und daran einige Definitionen und Denkweisen er¨ortert. Zudem werden einige M¨oglichkeiten der Kryptoanalyse angegeben. Anschließend wird der Begriff Sicherheit im informationstheoretischen Sinn untersucht. Die besprochenen Verfahren gliedern sich in symmetrische und asymmetrische Verfahren und in Protokolle. Die elementaren Grundlagen zur Zahlentheorie und zu endlichen K¨orpern bzw. Galois-Feldern befinden sich im Anhang.
6.1
Klassische Verfahren
Bevor wir die Verfahren beschreiben, wollen wir einige Definitionen einf¨ uhren. Es wird nicht unterschieden zwischen Groß- und Kleinschreibung und es werden nur 26 Buchstaben, d.h keine Sonderzeichen benutzt. Im speziellen existiert damit auch kein Leerzeichen (blank), das wir aber zur Vereinfachung manchmal verwenden werden. Damit besteht unser Alphabet A26 aus 26 Symbolen. Mit Klartext (plaintext) soll der lesbare urspr¨ ungliche Text bezeichnet werden und mit Geheimtext (ciphertext) der verschl¨ usselte Text. Eine Chiffre (cipher) stellt eine Vorschrift dar, mit der ein Text verschl¨ usselt (enciphered) wird. Zur einfacheren Notation von Chiffren wollen wir die folgende Abbildung benutzen: A B C l l l 0 1 2 N l 13
O l 14
P l 15
D l 3 Q l 16
E F G H I l l l l l 4 5 6 7 8 R l 17
S l 18
T l 19
U l 20
J l 9
K l 10
V W l l 21 22
L l 11 X l 23
Abbildung 6.2: Zur Notation von Chiffren
M l 12 Y l 24
Z l 25
100
KAPITEL 6. KRYPTOLOGIE
Eine Nachricht A in Klartext soll mit A = {a0 , a1 , . . . , am−1 }, ai ∈ A26 bezeichnet werden und bestehe aus m Zeichen des Alphabetes aus 26 Symbolen. Entsprechend wird der zugeh¨orige Geheimtext mit Y = {y0 , y1 , . . . , ym−1 } bezeichnet. Ein Schl¨ ussel K bestehe aus l Symbolen K = {k0 , k1 , . . . , kl−1 }. Beispiel: Jetzt geht’s los −→ {9,4,19,25,19,6,4,7,19,18,11,14,18 } m = 13
6.1.1
A
={JETZTGEHTSLOS}
−→
Skytale
Die wohl ¨alteste bekannte Verschl¨ usselungsmethode ist die Skytale ca. 500 v.Chr. aus Sparta. Dabei wurde ein Zylinder mit definiertem Durchmesser benutzt, auf den spiralf¨ormig ein Pergament aufgewickelt wurde. Dann wurde die Nachricht in L¨angsrichtung auf das Pergament geschrieben. Nur das Pergament wurde verschickt und der Empf¨anger wickelte es auf einen Zylinder mit dem abgesprochenen Durchmesser und konnte dann die Nachricht lesen. Wir k¨onnen diese Chiffrierung als Interleaving des Klartextes interpretieren. Der Text wird zeilenweise in eine Matrix mit u Spalten geschrieben und spaltenweise als Geheimtext ausgelesen. Beispiel: u=7 D I E D E R E V E L U E U N G O R I S A U R T A
S E R S S T S E
W A R R S T S C H S E L A L G H M U S P A N D E
Der zugeh¨orige Geheimtext lautet DDELUOSRIEVUNRATEREEGIUASERSSTSEWRSSAHSNASCELMPDRTHLGUAE
6.1. KLASSISCHE VERFAHREN
101
Eine u usselungsmetho¨berlieferte Geschichte zeigt auch eine interessante Verschl¨ de: Um eine Nachricht unerkannt in den Palast zu brigen, wurde ein Sklave kahl geschoren und die Nachricht auf die Kopfhaut t¨atoviert. Nachdem die Haare wieder gewachsen waren ging der Sklave in den Palast, wo man ihn wieder kahl schor und die Nachricht lesen konnte. F¨ ur die heutige Zeit d¨ urfte diese Methode etwas zu langsam sein.
6.1.2
Substitutionschiffren, Caesar, Vernam und Vigen` ere
Caesar Chiffre Caesar benutzte den Schl¨ ussel K = {k0 = 3} und folgende Abbildungsvorschrift A = {a0 , a1 , . . .} −→ Y = {y0 , y1 , . . .} yi = ai + k0 mod26 = ai + 3 mod26
Beispiel: Caesar sagte: Veni, vidi, vici (Ich kam, sah und siegte). A = {V EN IV IDIV ICI} −→ A = {21, 4, 13, 8, 21, 8, 3, 8, 21, 8, 2, 8} yi = ai + 3 mod 26 : Y = {24, 7, 16, 11, 24, 11, 6, 11, 24, 11, 5, 11}
und somit lautet der Geheimtext:
YHQLYLGLYLFL Vigen` ere–Chiffre Hier wird ein Schl¨ usselwort aus l Symbolen verwendet, das die Verschiebung im Gegensatz zur Caesar Chiffre variiert. A = {a0 , a1 , . . .} −→ Y = {y0 , y1 , . . .}
Schl¨ ussel: K = {k0 , k1 , . . . kl−1 }
yi = (ai + ki
Beispiel:
mod l )
mod 26
102
KAPITEL 6. KRYPTOLOGIE
S C K L
18 10 2
2 11 13
H L U E A R T E
7 0 7
11 17 2
S S X T
E L S K L A
C R
H L U E T E X T
20 4 18 18 4 11 19 4 23 19 10 11 13 8 15 11 14 22
18 0 18
2 17 19
7 19 0
S K
S E L L A R
11 20 4 4 23 19 15 17 23
18 18 4 11 10 11 0 17 2 3 4 2
Geheimtext CNHCNIPLOWSTAPRXCDEC Vernam Chiffre Wird bei der Vigen`ere–Chiffre ein Schl¨ ussel verwendet, der genauso lang ist, wie der Klartext selbst, so spricht man von einer Vernam Chiffre. Dies ist auch unter dem Namen one time pad bekannt. Wir werden in Kapitel 3 sehen, daß dies eine sichere Verschl¨ usselung ist. A = {a0 , a1 , . . .} −→ Y = {y0 , y1 , . . .} Schl¨ ussel: K = {k0 , k1 , . . . km−1 } yi = (ai + ki ) mod 26 Klassische Beispiele f¨ ur sehr lange Schl¨ ussel sind die Enigma und Hagelin M209, die von deutschen bzw. amerikanischen Milit¨ars im zweiten Weltkrieg eingesetzt wurden. Sie basieren beide auf rotierenden Scheiben, die entsprechend der Anfangsposition relativ große Perioden bis zur Wiederholung der Schl¨ usselsymbolfolge aufweisen.
6.1.3
Klassifikation der Chiffren
• Monoalphabetisch – Polyalphabetisch
Wird ein spezielles Symbol immer auf das gleiche Geheimsymbol abgebildet, so spricht man von einer monoalphabetischen Chiffre (Beispiel: Caesar Chiffre). Trifft dies nicht zu, so spricht man von einer Polyalphabetischen Chiffre (Beispiel: Vigen`ere Chiffre). Anmerkung: Dabei muß das Alphabet des Klartextes nicht das des Geheimtextes sein.
• Tausch–, Substitutionschiffre
Jedes Symbol des Klartextes wird gegen ein Symbol des Geheimtextes ausgetauscht.
6.1. KLASSISCHE VERFAHREN
103
Beispiel: DES (wird sp¨ter beschrieben) Anmerkung: Bei sehr großen Alphabeten kann eine Tauschchiffre sehr sicher sein; dies gilt nicht f¨ ur die Caesar Chiffre. Eine einfache Form der Substitutionschiffre ist die Verschiebechiffre Beispiel: Caesar Chiffre. • Transpositionschiffre bzw. Permutationschiffre
Permutation: Symbole ai bleiben identisch wechseln nur Position Beispiel: Skytale
• Additive –, Multiplikative – Chiffre Additiv: yi = ai + zj mod g
Multiplikativ: yi = ai · zj mod g • Produkt–, Verkettete Chiffre
Klartext wird chiffriert zu Geheimtext. Dieser wird wiederum chiffriert usw. Wird nur ein gleicher Schl¨ ussel f¨ ur alle Verschl¨ usselungen verwendet, so spricht man von einer Produkt–Chiffre, werden mehrere Schl¨ ussel verwendet, so spricht man von einer Verketteten Chiffrierung.
Beauforts Trick: Verwenden wir yi = ai + zj mod g −→ ai = yi − zj mod g so muß der Sender den Schl¨ ussel addieren und der Empf¨anger den Schl¨ ussel subtrahieren. Beaufort erkannte, daß man bei der Ver– und Entschl¨ usselung den Schl¨ ussel addieren kann wenn man folgende Abbildung verwendet (nicht notwendig bei bin¨arer Darstellung) yi = −ai + zj mod g −→ ai = −yi + zj mod g
6.1.4
Attacken, Angriffe auf Kommunikation
Prinzipiell kann man zwischen passiven und aktiven Angriffen unterscheiden, wie im folgenden Bild dargestellt. W¨ahrend bei einem passiven Angriff die Nachricht nur abgeh¨ort werden kann, kann beim aktiven Angriff die Nachricht modifiziert werden, ja es kann sogar Kommunikation mit falscher Identit¨at aufgebaut werden. Zun¨achst wollen wir die passiven Angriffe beschreiben und dabei annehmen: Nur der Schl¨ ussel, nicht jedoch der Algorithmus ist geheim.
104
KAPITEL 6. KRYPTOLOGIE Kryptoanalyse Sender
Empfänger Passiver Angriff
Krypto-
Sender
Empfänger
analyse
Aktiver Angriff
Abbildung 6.3: Angriffe auf Kommunikation Dies ist als Kerckhoffs Prinzip bekannt. Damit ergeben sich folgende M¨oglichkeiten f¨ ur den Kryptoanalytiker, dessen Ziel es ist, den Schl¨ ussel zu errechnen oder den Geheimtext zu dechiffrieren. • Known–Ciphertext–Attack Schwierigster Fall. Es liegt “nur” ein beliebig langes St¨ uck Geheimtext vor. • Known–Plaintext–Attack St¨ ucke von korrespondierenden Klartext und Geheimtext liegen vor. Modifikationen hiervon sind die zwei folgenden: – Chosen–Plaintext–Attack Der Klartext kann frei gew¨ahlt werden und der zugeh¨orige Geheimtext ist erh¨altlich (ohne Kenntniss des Schl¨ ussels). – Chosen–Ciphertext–Attack Der Geheimtext kann frei gew¨ahlt werden und der zugeh¨orige Klartext ist erh¨altlich (ohne Kenntniss des Schl¨ ussels).
Ein aktiver Angreifer hat sehr viel flexiblere M¨oglichkeiten. Der triviale Fall, daß der Krytoanalytiker die Verbindung unterbricht soll hier nicht ber¨ ucksichtigt werden.
6.1. KLASSISCHE VERFAHREN
105
• Brute Force Attack
Dies ist eine Methode bei der zuf¨allige Nachrichten gesendet werden. Ist die Wahrscheinlichkeit, daß zuf¨allige Nachrichten eine g¨ ultige Nachricht darstellen, groß, so kann diese Methode erfolgreich sein. ¨ Anmerkung: Statistische Fehler bei der Ubertragung u ¨ber einen Kanal k¨onnen als solche Attacke interpretiert werden.
• Replay Attack
Hierbei ist gemeint, daß der Krytoanalytiker eine aufgezeichnete Nachricht wieder einspielt.
• Modify Message
Ver¨andern von Nachrichten. Dies kann bei Verschl¨ usselungsverfahren auf Bit Basis ein ernstes Problem sein. Hierbei kann auch die Ver¨anderung der Reihenfolge der Nachrichtenbl¨ocke gemeint sein
• Imitate Idendity
Der Kryptoanalytiker versucht durch Vorspiegelung einer falschen Idendit¨at die Kommunikation aufzubauen (Siehe den Erfolg bei Scheckkarten in der Einf¨ uhrung).
Statistische Attacken Bei einfachen Substitutionschiffren wurden statistische Test als erfolgreiche Known Ciphertext Attacken verwendet. Hierzu benutzt man die H¨aufigkeit mit der ein bestimmter Buchstabe in einer bestimmten Sprache auftritt. Albrecht Beutelspacher schreibt sinngem¨aß: “ Ich habe den Glauben an die Statistik gewonnen, nachden ich gesehen habe, wie man mit statistischen Methoden Geheimtexte knacken kann.” Die folgende Tabelle gibt die H¨aufigkeit der Buchstaben in der deutschen Sprache wieder. (siehe Tabelle 6.2) Desweiteren kann man noch die Wahrscheinlichkeit von Buchstabenfolgen zur statistischen Analyse benutzen. Die nachfolgende Tabelle zeigt die h¨aufigsten Buchstabenpaare der deutschen Sprache, geordnet nach ihrer Auftrittswahrscheinlichkeit. (siehe Tabelle 6.3) Zun¨achst betrachten wir eine Attacke auf eine Vigenere Chiffre, mit einem Schl¨ ussel endlicher L¨ange. Geht man davon aus, daß bestimmte Worte in einem Text mehrfach vorkommen, so werden diese Worte genau dann in die gleiche Geheimtextfolge verschl¨ usselt, wenn sie an entsprechender Stelle der periodischen Wiederholung des Schl¨ ussels liegen.
106
KAPITEL 6. KRYPTOLOGIE Buchstabe H¨aufigkeit in % A 6.51 C 3.06 E 17.4 G 3.01 I 7.55 K 1.21 M 2.53 O 2.51 Q .02 S 7.27 U 4.35 W 1.89 Y .04
Buchstabe H¨aufigkeit in % B 1.89 D 5.08 F 1.66 H 4.76 J .27 L 3.44 N 9.78 P .79 R 7 T 6.15 V .67 X .03 Z 1.13
Tabelle 6.2: Auftrittswahrscheinlichkeit der Buchstaben in der deutschen Sprache
Der sogenannte Kasiski Test sucht einen Geheimtext nach identischen Buchstabenfolgen ab. Die Abst¨ande dieser Buchstabenfolgen werden faktorisiert und danach die Schl¨ ussell¨ange gesch¨atzt. Kennt man die Schl¨ ussell¨ange, so kann man die H¨aufigkeitsverteilung der Buchstaben verwenden, um den Schl¨ ussel zu finden. Die Statistik einer Sprache zeigt gewisse Charakteristika, die zur Known Ciphertext Attacke verwendet werden k¨onnen. Die folgenden u ¨berlegungen gehen auf Friedman zur¨ uck und sind auch h¨aufig unter dem Namen Friedman Test zu finden. Zun¨achst treten alle Buchstaben mit gleicher Wahrscheinlichkeit pi = 1/26, i = 0, 1, 2, . . . , 25 auf. Zieht man aus aus n Buchstaben zwei, so ist die Wahrscheinlichkeit, daß diese identisch sind: I=
25 X i=0
25 X 1 1 ( )2 = pi · p i = = 0.038 26 26 i=0
Die Gr¨oße I wird als Koinzidenzindex bezeichnet. Bei einer Sprache sind nun die Buchstaben nicht gleichwahrscheinlich, entsprechend obiger Tabelle. F¨ ur die deutsche und die englische Sprache ergeben sich andere Werte, n¨amlich: Ideutsch = 0.076
Ienglisch = 0.065
Es liege ein Geheimtext der L¨ange n vor, der mittels einer Caesar Chiffre verschl¨ usselt wurde. Z¨ahlen wir die relativen H¨aufigkeiten der einzelnen Buchstaben
6.1. KLASSISCHE VERFAHREN
107
Buchstabenfolge EN ER CH TE DE ND EI IE IN ES
H¨aufigkeit in % 3.88 3.75 2.75 2.26 2 1.99 1.88 1.79 1.67 1.52
Tabelle 6.3: Auftrittswahrscheinlichkeit f¨ ur Buchstabenpaare nA = n0 , nB = n1 , . . . nZ = n25 , so k¨onnen wir deren Wahrscheinlichkeiten berechnen zu ni pi = , i = 0, 1, 2, . . . , 25. n Offensichtlich bleibt die Summe Ideutsch =
25 X i=0
pi · pi = 0.076
gleich, da durch die Caesar Chiffre “nur” eine Verschiebung durchgef¨ uhrt wird. Diesen Wert kann man jedoch auch noch anders erhalten. Es gibt ni (ni − 1) M¨oglichkeiten aus ni ein Paar des Buchstabens i auszuw¨ahlen, wenn die zwei unterscheidbar w¨aren. Gerade die H¨alte davon ergibt sich, wenn die Reihenfolge der Elemente uninteressant ist. Entsprechend gibt es n(n − 1)/2 M¨oglichkeiten ohne Reihenfolge zwei Buchstaben aus n auszuw¨ahlen. Damit ist die Wahrscheinlichkeit aus dem Text der L¨ange n ein Paar des Buchstabens i auszuw¨ahlen n2 ni (ni − 1) ≈ 2i n(n − 1) n Damit ist Ideutsch =
25 X ni · (ni − 1) i=0
n(n − 1)
n2i ≈ 2 ≈ 0.076 n
Wie ver¨andert sich der Koinzidenzindex, wenn wir einen Schl¨ ussel der L¨ange zwei mit zwei unterschiedlichen Buchstaben verwenden ? Schreiben wir den Text in 2 Spalten und berechnen f¨ ur jede der 2 Spalten den Koinzidenzindex, so wird er jeweils etwa gleich 0.076 sein.
108
KAPITEL 6. KRYPTOLOGIE
Betrachten wir die zwei Spalten wie folgt: Den ersten Buchstaben d¨ urfen wir aus n m¨oglichen w¨ahlen. Danach nur noch aus derselben Spalte, d.h. aus n/‘20 − 1. Da es n(n − 1)/2 Buchstabenpaare insgesamt gibt, ist die Wahrscheinlichkeit f¨ ur den Koinzidenzindex Ideutsch n( ‘2n0 −1) 2 n(n−1) 2
Entsprechend ist die Anzahl der Buchstabenpaare aus unterschiedlichen Spalten (ohne Unterscheidung der Reihenfolge) n(n − 2
n ) ‘20
Das bedeutet unter der Annahme, daß der Koinzidenzindex von Buchstaben aus unterschiedlichen Spalten 1/26 ist, so tritt dieser mit der Wahrscheinlichkeit n(n− ‘2n0 ) 2 n(n−1) 2
auf. Der Erwartungswert f¨ ur den Koinzidenzindex I bei einem Schl¨ ussel der L¨ange 2 ist demnach: µn ¶ µ ¶ n − ‘2n0 1 −1 ‘20 I= Ideutsch + n−1 n − 1 26 ¨ Entsprechende Uberlegungen lassen sich f¨ ur die Schl¨ ussell¨angen 3 usw. und schließlich allgemein f¨ ur l durchf¨ uhren. Nach l aufgel¨ost, ergibt sich aus den relativen H¨aufigkeiten der Buchstaben im Geheimtext eine Sch¨atzung f¨ ur l zu:
l≈
n(Ideutsch − 1/26) n Igesch¨atzt · (n − 1) − 26 + Ideutsch
Als N¨aherung f¨ ur den gesch¨atzten Koinzidenzindex kann dabei
Igesch¨atzt = verwendet werden.
P26
ni (ni − 1) ≈ n(n − 1)
i=0
P26
i=0 n2
n2i
6.2. INFORMATIONSTHEORETISCHE SICHERHEIT
6.2
109
Informationstheoretische Sicherheit
Wir setzen das Modell f¨ ur eine Chiffre entsprechend Bild 6.4 voraus. k
a
Abbildung mit oder ohne Gedächtnis
y
Abbildung 6.4: Modell eines Chiffre Dabei ist der Klartext die Menge A = { a} = {a1 , a2 , . . .} der m¨oglichen Sequenzen, die durch zuf¨allige Wahl von Symbolen aus einem Alphabet mit der M¨achtigkeit L entsteht. Aus dem Klartext a wird durch eine Abbildung fk , die von dem Schl¨ ussel k= k1 , k2 , . . . abh¨angig ist, der Geheimtext y= y1 , y2 , . . . bestimmt. Die Menge der m¨oglichen Geheimtexte Y ist {y}. D.h. fk : a = a1 , a2 , . . . −→ y = y1 , y2 , . . . Falls die Abbildung kein Ged¨achtnis hat, so wird ein Block des Klartextes auf einen Block des Geheimtextes abgebildet und man spricht von einer Blockchiffre (block cipher). Hat dagegen die Abbildung ein Ged¨achtnis (Faltung), so spricht man von Stromchiffre (stream cipher). Die Abbildung muß umkehrbar sein, damit der Geheimtext entschl¨ usselbar ist. Daraus folgt die Bedingung: |A| ≤ |Y| . Die Menge der m¨oglichen Schl¨ ussel sei K = {k}. Damit k¨onnen wir folgende Entropien (Unsicherheiten) definieren: H(A), H(K) und H(Y) . sowie die bedingten Entropien H(A|Y) und H(K|Y) , die als bedingte Nachrichten- bzw. Schl¨ usselentropie bezeichnet werden. Es gelten die folgenden Ungleichungen: H(A|Y) ≤ H(A) und H(K|Y) ≤ H(K)
110
KAPITEL 6. KRYPTOLOGIE
Man kann beweisen, daß die bedingte Nachrichtenentropie nicht gr¨oßer als die bedingte Schl¨ usselentropie sein kann, d.h. H(A|Y) ≤ H(K|Y) Bei einem Chiffriersystem sollte unter Kenntnis der Geheimtextfolge kein R¨ uckschluß auf die Klartextfolge gezogen werden k¨onnen. Anders ausgedr¨ uckt: Definition 6.1 Shannon: Perfekte Sicherheit (Vertraulichkeit) Ein Chiffriersystem ist perfekt, wenn der Klartext a und die Geheimtext y statistisch unabh¨angig sind. Die Transinformation I(A : Y) ist die wechselseitige Information zwischen A und Y. Sie stellt ein informationstheoretisches Maß f¨ ur die Abbildung zwischen A und Y dar, was einen R¨ uckschluß auf den Schl¨ ussel zul¨asst, da ja die Abbildung in der Regel bekannt ist nur der Schl¨ ussel nicht. Anders ausgedr¨ uckt: Die Transinformation ist die Information, die Y u ¨ber A gibt. Weiterhin gilt: I(A; Y) = H(A) − H(A|Y) = H(Y) − H(Y|A) = I(Y; A) Satz 6.2 Perfekte Sicherheit (Vertraulichkeit) Ein Chiffriersystem heißt absolut sicher, wenn der Klartext a und die Geheimtext y statistisch unabh¨angig sind, d.h. wenn f¨ ur alle Klartexte a und f¨ ur alle Geheimtexte y gilt: p(a) = p(a|y) =⇒ I(A; Y) = 0 Dazu muß weiterhin gelten, daß die Entropie der Schl¨ usselfolge nicht kleiner sein darf, als die der Klartextfolge: H(K) ≥ H(A) Dieser Satz bedeutet, daß der Kryptoanalytiker durch die Kenntnis von Geheimtext keinerlei Information erh¨alt, d.h. er muß den Klartext genauso sch¨atzen, wie wenn er keinen Geheimtext vorliegen h¨atte. Verwendet man f¨ ur den Klartext vor der Verschl¨ usselung eine Quellencodierung (etwa compress bei UNIX), so ist der Klartext ”redundanzfreier“, was seine statistischen Eigenschaften positiv (im Sinne unserer Sicherheit) beeinflußt.
Diffusion und Konfusion Shannon setzt die Sicherheit einer Chiffre gleich mit Diffusion und Konfusion, die er folgendermaßen definiert hat:
6.2. INFORMATIONSTHEORETISCHE SICHERHEIT
111
• Diffusion:
Einfluß eines Klartext Symbols sollte auf mehrere Geheimtextsymbole verteilt sein.
• Konfusion:
Die Abh¨angigkeit zwischen der Statistik des Klartextes und der des Geheimtextes sollte unklar sein, d.h. zuf¨allig aussehen.
Beispiel 6.1 Massey in Simmons: Contemporary Cryptology Eine Produktchiffre bestehend aus einer Transposisionschiffre und einer Substitutionschiffre. W¨ahrend die Permutation die statistischen Eigenschaften der Buchstabenfolgen versteckt (Konfusion), kann eine Substitution von einer Buchstabenfolge des Klartextes durch eine Buchstabenfolge des Geheimtextes die Diffusion bewirken.
DIFFUSIONUNDKONFUSION DFUINNKNUINIFSOUDOFSO ACGHMLJAOPBZQQTRFTQQD
l Skytale mit u = 2 l Substitution 2 Symbole durch 2
Authentizita¨t Das folgende Diagramm beschreibt die Vorgehensweise, um die Authentizit¨at einer Nachricht sicherzustellen. Hierzu wird ein sogenannter Message Authentication Code (MAC) r verwendet, der aus der Nachricht a und einem geheimen Schl¨ ussel k berechnet werden kann. Der Vektor r wird dann an die Nachricht a angeh¨angt zum sogenannten Kryptogramm. Hier gelten entsprechende Eigenschaften f¨ ur perfekte Sicherheit. Die Abbildung, die die Redundanz r aus der Nachricht a und dem geheimen Schl¨ ussel k berechnet, muß jedoch hier nicht umkehrbar sein, sondern nur “zuf¨allig” erscheinen, d.h. die Transinformation zwischen den Folgen r und a muß 0 sein. Nehmen wir an, die Vektoren a, k und r seien bin¨ar , und haben die L¨angen m, k und n − m. Damit hat das Kryptogramm (die gesendete Nachricht) aus Nachricht und MAC Redundanz die L¨ange n. Es ist plausibel, daß es 2m m¨ogliche Nachrichten gibt und 2n−m m¨ogliche MAC Redundanzen. Dagegen ist die Zahl der bin¨aren Vektoren der L¨ange n gleich 2n .
112
KAPITEL 6. KRYPTOLOGIE k
a
Abbildung mit oder ohne Gedächtnis
a
r
r
Abbildung 6.5: Kryptogramm Wie groß ist die Wahrscheinlichkeit P , daß der Emp¨anger eine g¨ ultige Nachricht erkennt, wenn ein Kryptoanalytiker einen zuf¨allig gew¨ahlten bin¨aren Vektor der L¨ange n gesendet hat ? P =
1 Anzahl der Nachrichten = n−m Anzahl m¨oglichen Kryptogramme 2
Falls die Abbildung die entsprechenden Eigenschaften erf¨ ullt, ist diese brute force Attacke der einzig m¨ogliche Angriff auf ein solches Authentifikations–System. Die Interpretation dieser Wahrscheinlichkeit ist wie folgt: • Ist n − m = 0, so ist die Wahrscheinlichkeit gleich 1, daß eine brute force Attacke erfolgreich ist (siehe nachfolgendes Beispiel). • Die Wahrscheinlichkeit kann praktisch nicht zu 0 gemacht werden. Theoretisch geht sie gegen 0 f¨ ur unendlich lange MAC Redundanz. • Beim amerikanischen DES Standard wird n − m = m = 64 bit, d.h. 2m = n gew¨ahlt. Der Schl¨ ussel hat ebenfalls die L¨ange 64 bit, jedoch nur 56 davon werden benutzt.
Wichtig: Vertraulichkeit und Authentizit¨ at sind unabh¨ anginge Eigenschaften eines kryptologischen Systems.
6.3. SYMMETRISCHE VERFAHREN
113
Beispiel 6.2 Vertraulichkeit muß keine Authentizit¨at bedeuten
a y=a+k + k : Zufallsfolge
k
Die Folgen a, k und somit y seien bin¨ar. Da der Schl¨ ussel eine Zufallsfolge ist, entspricht diese Anordnung einem one time pad und ist somit absolut sicher im Sinne von Vertraulich. Betrachten wir jedoch die aktive Attacke, bei der ein Kryptoanalytiker einen Vektor b zu y addiert. Der Empf¨anger addiert zur Entschl¨ usselung y und falls keine weiteren Vorkehrungsmaßnahmen getroffen sind, bemerkt er u berhaupt nicht, daß die Nachricht ver¨andert ¨ wurde. Das bedeutet das System kann keinerlei Authentizit¨at der Nachricht gew¨ahrleisten. Sender: y = a ⊕ k Kryptoanalytiker: y‘ = y ⊕ b ˆ = y‘ ⊕ k = a ⊕ b Empf¨ anger: a
Praktische Sicherheit: Man geht davon aus, daß alle zur Zeit bekannten Kryptoanalyse-Verfahren eine sehr große Rechenzeit (Gr¨oßenordnung 50 – 100 Jahre) ben¨otigen w¨ urden um verwendete Kryptoalgorithmen zu knacken. Falls also ein neues Verfahren zur Kryptoanalyse gefunden wird, ist es m¨oglich, daß ein vorher als praktisch sicher gegoltenes System unsicher ist. Beispielsweise war die Vigen´ere Chiffre vor den Tests von Kasiski und Friedman praktisch sicher.
6.3
Symmetrische Verfahren
Zu den symmetrische Verfahren z¨ahlen alle diejenigen, bei denen beide Teilnehmer den gleichen geheimen Schl¨ ussel verwenden. Die klassischen Verfahren geh¨oren somit zu den symmetrischen Verfahren, da zum Ver– und Entschl¨ usseln der gleiche Schl¨ ussel verwendet wird. Das Problem einen geheimen Schl¨ ussel an zwei Teilnehmer sicher zu verteilen wollen wir hier als gel¨ost voraussetzen. Wir werden die m¨oglichen L¨osungen im n¨achsten Abschnitt (Asymmetrische Verfahren) er¨orten.
114
KAPITEL 6. KRYPTOLOGIE
Es kann sich dabei sowohl um symmetrische Verfahren zur Vertraulichkeit als auch um solche zur Authentifizierung handeln bzw. man kann ein und dasselbe Verfahren sowohl zur Authentifizierung als auch zur Vertraulichkeit verwenden oder f¨ ur beides. Im wesentlichen klassifiziert man die symmetrischen Verfahren in Block– und Faltungsverfahren, die wir in den ersten beiden Abschnitten n¨aher beschreiben wollen. Zu den Blockverfahren z¨ahlt auch der bekannte amerikanische DES Standard.
6.3.1
Block–Verfahren
Bei den Block-Verfahren werden die zu verschl¨ usselnden bzw. zu authentifizierenden Nachrichten in gleich große Bl¨ocke eingeteilt. Jedem Klartextblock wird dann, abh¨angig vom geheimen Schl¨ ussel, ein Geheimtextblock zugeordnet. Damit kann man ein Blockverfahren auch als Substitutionsverfahren bezeichnen. Es gibt einige grundlegende Bewertungsmerkmale eines Blockverfahrens. Entsprechend dem Konzept von Konfusion und Diffusion, sollten die folgenden vier Regeln eingehalten werden. Die Klartextsymbole werden mit a= a1 , a2 , . . . , am bezeichnet, die Geheimtextsymbole mit y= y1 , y2 , . . . , yn und der Schl¨ ussel k= k1 , k2 , . . . , kz . Wir wollen bin¨are Symbole annehmen. Avalanche–Effekt Hierunter versteht man, daß sich die H¨alfte der Geheimtextbits ¨andert, wenn nur ein Klartextbit ver¨andert wird. Man unterscheidet noch den sogenannten strengen Avalanche–Effekt, wenn sich immer genau die H¨alfte der Geheimtextbits ¨andern. Dies bedeutet: dist(y, y‘) =
n 2
mit a −→ y,
a ⊕ (00100 . . . 0) −→ y’
Keine Linearit¨ at Eine lineare Abh¨angigkeit der Geheimtextbits von den Klartextbits bedeutet: yj = v0 + vj,1 a1 + vj,2 a2 + . . . + vj,m am , j = 1, 2, . . . , n Bei Linearit¨at k¨onnen Geheimtextbl¨ock addiert werden und es ergibt sich ein neuer Geheimttextblock. Offensichtlich gilt f¨ ur j = 1, 2, . . . , n: yj + yj0 = v0 + vj,1 a01 + vj,2 a02 + . . . + vj,m a0m + v0 + vj,1 a1 + vj,2 a2 + . . . + vj,m am = vj,1 (a01 + a1 ) + vj,2 (a02 + a2 ) + . . . + vj,m (a0m + am )
6.3. SYMMETRISCHE VERFAHREN
115
Vollst¨ andige Abbildung Dies bedeutet, daß ein Geheimtextbit von allen Klartextbits abh¨angig ist. yj = fkt(a1 , a2 , . . . , am ), j = 1, 2, . . . , n Achtung: Die Addition von Geheimtextsymbolen kann unter umst¨anden nicht mehr vollst¨andig sein, ja sogar direkt Klartextbits zeigen. Beispiel: y1 y2 y3 y4
= = = =
a 1 + a 3 + a 2 a4 a 1 a2 + a 3 + a 4 a 1 a2 + a 3 + a 2 a4 a 1 + a 2 + a 3 + a 2 a4
ergibt y1 + y 4 y2 + y 3 y3 + y 4 y1 + y 2 + y 3
= = = =
a2 =⇒ a2 a2 a4 + a4 =⇒ a4 a1 a2 + a1 + a2 =⇒ a1 a1 + a3 + a4 =⇒ a3
Keine Konstanten Klartextsymbole Konstante Klartextsymbole erh¨ohen die Redundanz D. Dadurch kann es einem Angreifer erleichert werden, den Schl¨ ussel zu bestimmen. Blockverfahren k¨onnen als Produkt Verfahren konstruiert werden. So ist auch der folgende DES Standard ein Produktverfahren. Data Encryption Standard, DES Dieses Verfahren ist ein Standard des amerikanischen National Bureau of Standards (NBS), das inzwischen National Institute of Standards and Technology (NIST) heißt. Es gab jahrelange Diskussionen um die Sicherheit dieses Verfahrens. Die folgenden Kritikpunkte standen im Mittelpunkt der Diskussionen: • Die Schl¨ ussell¨ange sei mit 56 bit zu kurz. • In den Substitutionsabbildungen (S boxes) wird (wurde) eine Geheimt¨ ur vermutet. • Es hat keine Offenlegung der Entwurfkriterien gegeben
116
KAPITEL 6. KRYPTOLOGIE
¨ Die Organisation NIST hat sich verpflichtet alle 5 Jahre eine Uberpr¨ ufung der Sicherheit des DES in Form eines Workshops durchzuf¨ uhren. Solche Workshops haben in den Jahren 1983, 1988 und 1993 stattgefunden und haben ergeben, daß es nach wie vor keine erfolgreiche Attacke auf den DES Algorithmus gab und er somit weiterhin als sicher gelten kann. Es wird vermutet, daß der DES bis ins Jahr 2000 verwendet werden kann und dann ein Verfahren mit Schl¨ ussell¨ange 128 folgen wird. Trotzdem gibt es viele Organisationen und Beh¨orden, die - wegen der oben angef¨ uhrten Bedenken - andere Blockverfahren als den DES einsetzen, obwohl dieser den Vorteil aufweist, ein Standard zu sein. Bei Prof.Th.Beth vom E.I.S.S (Europ¨aisches Institut f¨ ur Systemsicherheit) an der TH Karlsruhe wurden verschiedene DES Implementierungen getestet. Das Ergebnis war, daß die Implementierung des Computer Chaos Club aus Hamburg als beste Implementierung abgeschnitten hat. Die folgende Beschreibung basiert auf dieser Implementierung.
Input-Block
Eingangspermutation
16 Verschlüsselungsschritte
Schlüssel
Schlüsselpermutation
Schlüsselauswahl
Ausgangspermutation Output-Block
Abbildung 6.6: Grundstruktur des DES Aufbau und Funktionsweise Der DES besteht im wesentlichen als Produkt aus Permutationen und Substitutionen. Der DES operiert in Abh¨angigkeit von 64-Bit Schl¨ usseln auf 64-Bit Klartextbzw. Geheimtext-Bl¨ocken. Die Bits 8, 16,. . . , 64 dienen als Parit¨atsbits (ungerade Parit¨at), so daß die kryptographisch wirksame Schl¨ ussell¨ange lediglich 56 Bit betr¨agt. Der Schl¨ usselraum besitzt somit die M¨achtigkeit 256 (ca. 7 ∗ 1016 ). Abb. 6.6 zeigt die Grobstruktur des DES.
6.3. SYMMETRISCHE VERFAHREN
58 60 62 64
50 52 54 56
42 44 46 48
34 36 38 40
26 28 30 32
18 20 22 24
10 12 14 16
2 4 6 8
117
57 59 61 63
L0
49 51 53 55
41 43 45 47
33 35 37 39
25 27 29 31
Tabelle 6.4: Initial Permutation IP 40 39 38 37
8 7 6 5
48 47 46 45
16 15 14 13
56 55 54 53
24 23 22 21
64 63 62 61
32 31 30 29
36 35 34 33
L16
4 3 2 1
17 9 1 19 11 3 R0 21 13 5 23 15 7
44 12 52 20 60 43 11 51 19 59 42 10 50 18 58 41 9 49 17 57
28 27 26 25
Tabelle 6.5: Inverse Initial Permutation IP−1 Jeder Klartext-Block wird einer festen - kryptographisch nicht relevanten - Eingangspermutation (IP) unterworfen. Als Resultat ergeben sich die beiden 32-Bit Teilbl¨ocke L0 und R0 . Mit beiden Teilbl¨ocken werden 16 gleichartige, nur jeweils von einem inneren 48-Bit Teilschl¨ ussel abh¨angige, Verschl¨ usselungsschritte durchgef¨ uhrt. Eine zur Eingangspermutation inverse Ausgangspermutation (IP−1 ) ergibt den 64-Bit Chiffretext-Block. Wie bei jedem symmetrischen Chiffrierverfahren erfolgt die Dechiffrierung analog zur Chiffrierung, wobei die 16 Teilschl¨ ussel in umgekehrter Reihenfolge benutzt werden (Bl¨atterteigprinzip).
32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17
16 20 24 28
17 21 25 29
18 22 26 30
19 23 27 31
20 21 24 25 28 29 32 1
Tabelle 6.6: Expansion E Jede Runde l¨aßt sich entsprechend Abb. 6.9 in zwei Transformationen gliedern. Der Substitution F, die die nichtlineare Funktion f beinhaltet, und der Transposition T.
R16
118
KAPITEL 6. KRYPTOLOGIE
Wobei Substitution
F(.)
=> “Konfusion”
Transposition
T(.) => “Diffusion”
Somit l¨aßt sich der DES Algorithmus folgendermaßen beschreiben: DES
= (IP−1 )F16 TF15 . . . TF2 TF1 (IP)
DES−1
= (IP−1 )F1 TF2 . . . TF15 TF16 (IP)
Abb. 6.8 zeigt die 16 Verschl¨ usselungsschritte (Runden). In jeder Runde wird jeder 32-Bit Block R durch die in Tab. 6.6 dargestellte Expansionsmatrix (E) zu einem 48-Bit Block erweitert. Dieser Block wird mit dem betreffenden 48-Bit Teilschl¨ ussel bitweise XOR verkn¨ upft. 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
Tabelle 6.7: Permutation P Das Resultat wird in acht 6-Bit Bl¨ocke zerlegt, die den Input f¨ ur die 8 Substitutionsboxen (s. Tab. 6.12) bilden. Der Output dieser 8 S-Boxen wird anschließend entsprechend der in Tab. 6.7 dargestellten Matrix P permutiert und mit dem 32Bit Teilblock L bitweise XOR verkn¨ upft. Das Ergebnis dieser Verkn¨ upfung bildet den Block R. Der alte Block R ersetzt den Block L. Beide 32-Bit Teilbl¨ocke werden wieder zu einem 64-Bit Block zusammengesetzt und der Ausgangspermutation unterzogen (s. Tab. 6.5). Schlu ¨ sselauswahl Die Funktion PC-1 w¨ahlt aus den 56 Bits die relevanten Schl¨ usselbits aus und permutiert sie wie in Tab. 6.10 angegeben. Die somit generierten 28-Bit Bl¨ocke C und D werden vor jedem Verschl¨ usselungsschritt zyklisch um 1 oder 2 Stellen nach links verschoben. Die Tabellen 6.8 und 6.9 zeigen die von der aktuellen Runde abh¨angige Anzahl der Schiebeoperationen. F¨ ur jede Runde wird durch die Funktion PC-2 aus den Registern C und D ein innerer 48-Bit Teilschl¨ usel generiert, der wie oben erw¨ahnt mit dem expandierten Block R modulo 2 addiert und somit den Output der Substitutionsboxen beeinflußt.
6.3. SYMMETRISCHE VERFAHREN
119
Schritt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Shifts: 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Tabelle 6.8: Anzahl der Links-Shifts bei Chiffrierung Schritt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Shifts: 0 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 Tabelle 6.9: Anzahl der Rechts-Shifts bei Dechiffrierung
Betriebsarten des DES Nicht nur der Chiffrier-Algorithmus selbst, sondern auch verschiedene Betriebsarten sind f¨ ur den DES standardisiert worden. 1
2
...
63
Secret Key
64
Delete Bits 8,16,24,32,40,48,56,64
PC - 1
1
C0
28
1
Rotate by 1 left 1
C1
28
C2
1
C16
D1
28 PC - 2
K1
PC - 2
K2
PC - 2
K16
Rotate by 1 left
28
1
Rotate by 2 left
1
28
Rotate by 1 left
Rotate by 1 left
1
D0
D2
28
Rotate by 2 left
28
1
D16
28
Abbildung 6.7: Schl¨ usselauswahl
120
KAPITEL 6. KRYPTOLOGIE 57 49 41 33 25 1 58 50 42 34 10 2 59 51 43 19 11 3 60 52
17 9 26 18 35 27 44 36
63 55 47 39 31 7 62 54 46 38 14 6 61 53 45 21 13 5 28 20
23 15 30 22 37 29 12 4
Tabelle 6.10: Schl¨ usselpermutation PC-1 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2
41 30 44 46
52 40 49 42
31 51 39 50
37 45 56 36
Tabelle 6.11: Schl¨ usselpermutation PC-2
47 33 34 29
55 48 53 32
6.3. SYMMETRISCHE VERFAHREN
1
2
...
63
Secret Key
121
64
Delete Bits 8,16,24,32,40,48,56,64
PC - 1
1
C0
28
1
Rotate by 1 left 1
C1
C2
28
1
C16
D1
28 PC - 2
K1
PC - 2
K2
PC - 2
K16
Rotate by 1 left
28
1
Rotate by 2 left
1
28
Rotate by 1 left
Rotate by 1 left
1
D0
D2
28
Rotate by 2 left
28
1
D16
28
Abbildung 6.8: 16 Verschl¨ usselungsschritte
122
KAPITEL 6. KRYPTOLOGIE
CL 0 0 1 1
CR 0 1 0 1
0 14 0 4 15
1 2 4 13 15 7 1 14 12 8
CL 0 0 1 1
CR 0 1 0 1
0 15 3 0 13
1 2 3 4 5 6 7 8 1 8 14 6 11 3 4 9 13 4 7 15 2 8 14 12 14 7 11 10 4 13 1 5 8 10 1 3 15 4 2 11
CL 0 0 1 1
CR 0 1 0 1
0 10 13 13 1
1 2 3 0 9 14 7 0 9 6 4 9 10 13 0
CL 0 0 1 1
CR 0 1 0 1
0 1 2 7 13 14 13 8 11 10 6 9 3 15 0
3 1 4 8 2
3 3 5 0 6
4 5 6 7 8 9 10 11 12 13 2 15 11 8 3 10 6 12 5 9 14 2 13 1 10 6 12 11 9 5 13 6 2 11 15 12 9 7 3 10 4 9 1 7 5 11 3 14 10 0
4 6 3 8 6
7 8 9 10 11 12 5 1 13 12 7 11 10 2 8 5 14 12 0 11 1 2 12 5 7 4 15 14 3 11
4 5 6 7 8 0 6 9 10 1 6 15 0 3 4 12 11 7 13 15 10 1 13 8 9
CL 0 0 1 1
CR 0 1 0 1
0 2 14 4 11
1 12 11 2 8
CL 0 0 1 1
CR 0 1 0 1
0 12 10 9 4
1 2 3 1 10 15 15 4 2 14 15 5 3 2 12
CL 0 0 1 1
CR 0 1 0 1
0 4 13 1 6
1 2 3 4 11 2 14 15 0 11 7 4 4 11 13 12 11 13 8 1
CL 0 0 1 1
CR 0 1 0 1
0 13 1 7 2
1 2 2 8 15 13 11 4 1 14
2 3 4 1 2 12 1 11 12 7
5 6 3 15 4 6 15 3 9 8
9 10 11 12 7 2 13 12 0 1 10 6 8 12 6 9 6 7 12 0
9 2 7 1 4
13 14 15 0 5 10 9 11 5 3 2 15 5 14 9 13 4 11 10 5
10 11 12 13 8 5 11 12 2 12 1 10 3 14 5 2 5 11 12 7
4 5 6 7 8 9 10 11 12 7 10 11 6 8 5 3 15 13 4 7 13 1 5 0 15 10 3 10 13 7 8 15 9 12 5 6 1 14 2 13 6 15 0 9 10
14 15 0 7 3 8 5 0 6 13
13 0 9 3 4
14 2 15 14 2
15 8 1 7 12
14 15 4 15 14 9 8 4 2 14 14 14 8 0 5
15 9 6 14 3
4 5 6 7 8 9 10 11 12 13 14 15 9 2 6 8 0 13 3 4 14 7 5 11 7 12 9 5 6 1 13 14 0 11 3 8 2 8 12 3 7 0 4 10 1 13 11 6 9 5 15 10 11 14 1 7 6 0 8 13
3 4 4 6 8 10 1 9 7 4
5 6 7 8 9 0 8 13 3 12 9 1 10 14 3 3 7 14 10 15 4 10 7 9 5
10 11 12 13 9 7 5 10 5 12 2 15 6 8 0 5 0 15 14 2
14 6 8 9 3
15 1 6 2 12
5 6 7 8 9 10 11 12 13 15 11 1 10 9 3 14 5 0 3 7 4 12 5 6 11 0 14 12 14 2 0 6 10 13 15 3 10 8 13 15 12 9 0 3 5
14 12 9 5 6
15 7 2 8 11
Tabelle 6.12: Substitutionsboxen
6.3. SYMMETRISCHE VERFAHREN
Li−1
1
32
123
Ri−1
1
32
Ki ith-Key f
F(.)
T(.) Li = Ri−1
1
Ri = Li−1 ⊕ f (Ri−1,Ki )
32
Abbildung 6.9: Transformationen F(.) und T(.)
Ri−1
1
32
Ki
1
48
E
...
1
48
... 1
6 1 CL
2
3
S1
4 CR
... 19
...
24 1 CL
2
3
25
4
1 CR
S4
30 2
CL
3
S5
4 CR
...
43
...
48 1 CL
2
3
S8
4 CR
...
1
32
P
1
...
32
Abbildung 6.10: Funktion f
124
KAPITEL 6. KRYPTOLOGIE
Plaintext
Ciphering
Key k
Ciphertext
Deciphering
Plaintext
Key k
Abbildung 6.11: Electronic Code Book
Plaintext
Ciphering
Deciphering
Plaintext
Abbildung 6.12: Cipher Block Chaining
IV Ciphering
Plaintext
k
IV Ciphering
k
Plaintext
Abbildung 6.13: Output Feedback
IV Ciphering
Plaintext
k
IV Deciphering
k
Abbildung 6.14: Cipher Feedback
Plaintext
6.3. SYMMETRISCHE VERFAHREN
125
Electronic Codebook Mode (ECB) • Zerlegung der Bin¨ar-Nachricht in 64-Bit Bl¨ocke mi , 1 < i < n • Letzter Block muß ggf. aufgef¨ ullt werden • Bl¨ocke werden sequentiell mit gleichem Schl¨ ussel voneinander unabh¨angig chiffriert und u ¨bertragen
Cipher Block Chaining Mode (CBC) • Jeder Kryptotext wird abh¨angig von allen vorausgehenden Bl¨ocken generiert, um eine Art “Authentifizierung” bei der Dechiffrierung zu erzielen • Angreifer kann Chiffretext nicht unbemerkt beeinflussen • Klartext-Block wird mit vorausgehenden Chiffreblock bitweise modulo 2 adddiert, bevor er verschl¨ usselt wird (Initialisierungsvektor IV zur Verschl¨ usselung von m1 )
Output Feedback Mode (OFB) • Zerlegung der Bin¨ar-Nachricht m in n-Bit Bl¨ocke ( n fest, 1 ≤ n ≤ 64) • Zweck: DES wird eingesetzt, um eine pseudozuf¨allige Folge von n-Bit Bl¨ocken zu generieren, die auf Klartext modulo 2 addiert wird • Schieberegister dient als Eingabe f¨ ur DES (Initialisierung durch IV) ¨ • Bei jeder Ubertragung eines n-Bit Blockes generiert der DES-Algorithmus einen Output-Block, wovon nur die ersten n Bits sowohl zur Verschl¨ usselung des Klartextes als auch zur Eingabe des Schieberegisters verwendet werden • Vorteil: Adaptive Wahl von n => Anpassung an Datenstruktur des Benutzers m¨oglich • Drawback: µ-mal [64/n] soviele DES-Verschl¨ usselungen erforderlich
Cipher Feedback Mode (CFB) • Prinzip ¨ahnlich wie OFB-Mode • Unterschied: Zur Erneuerung des Eingaberegisters wird nicht DES-Output, sondern der jeweilige n-Bit Chiffretext-Block verwendet
126
KAPITEL 6. KRYPTOLOGIE
6.3.2
Faltungs–, Strom–Verfahren
Faltungsverfahren wollen wir hier prinzipiell als bin¨are Zufallsfolgen auffassen.
“ Ein bin¨arer Zufallsfolgengenerator ist ein Affe in einer Kiste, der eine faire M¨ unze wirft ”. Jim Massey Eine Verschl¨ usselung erfolgt dann gem¨aß dem folgenden Bild. Selbstverst¨andlich kann auch die Folge y an die Folge a als Redundanz angeh¨angt werden, was dann zur Authentifizierung verwendet werden k¨onnte. K
K
Binäre Zufalls-
Binäre Zufalls-
folge (pseudo)
folge (pseudo)
schlüsselabh.
schlüsselabh.
y
a +
a +
Abbildung 6.15: Strom–Verfahren Das Problem von Faltungsverfahren ist damit, eine Folge zu finden, die m¨oglichst eine Zufallsfolge ist (m¨ ussen wir noch definieren). Eine richtige Zufallsfolge w¨are ideal, aber diese muß ja sicher zum Empf¨anger u ¨bertragen werden. Dies bedeutet aus endlich großen Parametern, die sicher u ussen ¨bertragen werden k¨onnen, m¨ m¨oglichst lange zuf¨allig aussehende Folgen, sogenannte Pseudozufallsfolgen berechnet werden. D.h.: Finde ein Verfahren, das berechenbare (reproduzierbare) schl¨ usselabh¨angige Pseudozufallsfolgen erzeugen kann. Diese Folgen sollen also m¨glichst zuf¨allig aussehen. Zun¨achst wollen wir definieren was zuf¨alliges Aussehen ist. Dabei soll die Definition von Pseudozufallsfolgen aus S.W.Golomb, Shift register sequences, Holden–Day, San Francisco, 1967
6.3. SYMMETRISCHE VERFAHREN
127
verwendet werden.. Bevor wir jedoch gem¨aß Golomb beschreiben wollen, was zuf¨allig ist, ben¨otigen wir noch einige Definitionen und Notationen zu Folgen, Periode, shift, run und Autokorrelation. Definition 6.3 (Folge, Periode, Periodische Folge, k–shift) Sei c∞ eine bin¨are Folge c∞ = {c0 , c1 , c2 , . . .} Die Periode n dieser Folge ist das kleinste n, f¨ ur das gilt ci = ci+n = ci+2n = . . . = ci mod
n
Alle Elemente mit Indizes der Restklasse Modulo n m¨ ussen bei einer periodischen Folge gleich sein. Daher brauchen wir nur die Folge c = (c0 , c1 , c2 , . . . , cn−1 ) betrachten. Ein k–shift dieser Folge sei definiert durch ck = (ck , ck+1 , ck+2 , . . . , ck−1 ) Definition 6.4 (j–run der L¨ ange) Ein j–run ist die Anzahl gleichartiger Symbole zwischen zwei Symbolwechseln, d.h. ci−1 6= ci = ci+1 = . . . = ci+j−1 6= ci+j Definition 6.5 (Periodische Autokorrelation) Die periodische Autokorrelation einer Folge der Periode n wird hier wie folgt definiert: n − 2 · dist(c, ck ) ϕc (k) = n Damit gelten die folgenden Schranken −1 ≤ ϕc (k) ≤ 1 Ferner gilt: ϕc (0) = ϕc (n) = 1.
Damit k¨onnen wir nun Golombs 3 Postulate f¨ ur bin¨are Pseudozufallsfolgen der Periode n angeben.
Golombs Postulate
128
KAPITEL 6. KRYPTOLOGIE
1. Die Anzahl der Nullen und Einsen ist bei geradem n gleich und bei ungeradem n um eins verschieden.
=⇒
n 2 n±1 2
f¨ ur n gerade f¨ ur n ungerade
Zweck: Die Wahrscheinlichkeit f¨ ur 0 und 1 sollte 1/2 sein. 2. In einer Periode n soll gelten: Die H¨alfte (1/2) aller runs sind 1–runs (davon die H¨alfte mit 0) Ein Viertel (1/4) aller runs sind 2–runs (davon die H¨alfte mit 0) Ein Achtel (1/8) aller runs sind 3–runs (davon die H¨alfte mit 0) .. . (1/2i ) aller runs sind i–runs (davon die H¨alfte mit 0) Zweck:Diese Verteilung gew¨ahrleistet, daß die Wahrscheinlichkeit f¨ ur 0 und 1 nach einer Teilfolge von i Stellen gleich groß ist. 3. Die periodische Autokerrelation muß konstant sein ϕc (k) = const., 1 ≤ k < n . Zweck: Die Korrelation soll keine Aussage u ¨ber die Periode der Folge zulassen, es sei denn man korreliert u ¨ber Vielfache von n (siehe hierzu Friedman 40 Test). Es werden n ≈ 10 verwendet, wodurch diese Art der Attacke nicht realistisch ist. Satz 6.6 Wert der periodischen Autokorrelation einer Pseudozufallsfolge Sei c eine Folge der Periode n, die Golombs Postulaten gen¨ ugt, dann gilt f¨ ur 0 < k < n: 1 f¨ ur n gerade − n−1 ϕc (k) = ur n ungerade − n1 f¨ Beweis: Diesen Satz wollen wir mit einer Standardmethode in der Kombinatorik beweisen, n¨amlich durch abz¨ahlen auf zwei verschiedene Arten. Schreiben wir hierzu die Folge und alle n − 1 shifts davon als Reihen einer Matrix.
6.3. SYMMETRISCHE VERFAHREN
c: c1 : ci : cn−1 :
.. . .. .
c0 c1 ci
c1 c2
129
. . . cn−1 . . . c0
s = n · ϕc (i) s = n · ϕc (i)
ci+1 . . . ci−1
cn−1
c0
s‘
s‘
. . . cn−2 s‘
P
s = n · ϕc (i) = n(n − 1)ϕc (i)
¨ F¨ ur jede Zeile gilt, daß s = Anzahl der Ubereinstimmungen minus Anzahl der unterschiedlichen Stellen dieser Zeile zur ersten Zeile ist wegen dem 3.Postulat genau n · ϕc (i), wegen: Anzahl der unterschiedlichen Stellen = dist(c,ci ) Anzahl der u ¨bereinstimmenden Stellen = n− dist(c,ci ). Gem¨aß Definition der Autokorrelationsfunktion erhalten wir s. Die Summe u ¨ber P alle Zeilen ergibt damit = n(n − 1)ϕc (i). ¨ Nehmen wir nun an n sei gerade. Z¨ahlen wir wieder die Anzahl der Ubereinstimmungen minus Anzahl der unterschiedlichen Stellen jetzt jedoch f¨ ur eine Spalte, so ergibt sich gem¨aß dem ersten Postulat (gleich viele 0 und 1), daß diese Wert f¨ ur jede Spalte gleich n n s‘ = − 1 − = −1 2 2 P ist. Die Summe u sein muß. Dies ¨ber alle Spalten ist dann −n, was gleich k¨onnen wir nach ϕc (i) aufl¨osen und erhalten die Behauptung. Entsprechend l¨aßt sich dies f¨ ur ungerade n durchf¨ uhren. q.e.d.
Ru ¨ ckgekoppelte Schieberegister Pseudozufallsfolgen werden mittels r¨ uckgekoppelten Schieberegistern realisiert. Bild 6.16 zeigt ein lineares r¨ uckgekoppeltes Schieberegister (LFSR, linear feedback shift register). Eine 0 im R¨ uckkoppelungszweig bedeutet, daß der Wert der Schieberegisterstelle nicht r¨ uckgekoppelt wird. R¨ uckgekoppelte Schieberegister k¨onnen generell auch nichtlineare R¨ uckkoppelungen aufweisen (GFSR, general feedback shift register). Die Struktur zeigt Bild 6.17. Im folgenden wollen wir LFSRs genauer betrachten, obwohl Linearit¨at kryptologisch nicht erw¨ unscht ist. Wir werden einige wichtige Ergebnisse auflisten. Als erstes stellt sich die Frage: Welche Periode hat die Folge, die durch ein LFSR erzeugt wird?
130
KAPITEL 6. KRYPTOLOGIE
... +
... 0/1
0/1
+
+
0/1
...
Abbildung 6.16: Lineares r¨ uckgekoppeltes Schieberegister
... +
ci
... Funktion der Schieberegisterstellen linear oder nichtlinear
Abbildung 6.17: Allgemeines Schieberegister mit R¨ uckkoppelung Satz 6.7 m–Sequenzen Eine m–Sequenz oder auch maximale Folge wird erzeugt durch eine LFSR mit m Zellen, dessen R¨ uckkoppelungsanschl¨ usse den Koeffizienten eines primitiven Polynomes entsprechen. p(x) = p0 + p1 x + . . . + pm xm , pi ∈ GF (2), pm = 1. Die Periode ist maximal, n¨amlich 2m − 1 und die Inhalte der Zellen entsprechen den Elementen des GF(2m ). Die Initialisierung (der erste Inhalt) muß selbstverst¨andlich ungleich 0 sein. Beweis: Jedes Element cj der LFSR Folge kann dargestellt werden durch cj = p0 cj−1 + . . . + pm−1 cj−m Wir wissen, daß das Rechnen modulo p(x) = 0 genau alle 2m − 1 Elemente des GF(2m ) erzeugt. Die Folge besteht demnach aus 2m − 1 die dem h¨ochstwertigen bit der Komponentendarstellung entspricht. q.e.d.
6.3. SYMMETRISCHE VERFAHREN
131
Satz 6.8 Eine m–Sequenzen erfu ¨ llt Golombs Postulate Eine m–Sequenz erf¨ ullt die 3 Postulate Golombs f¨ ur Pseudozufallsfolgen. Es gibt einen m–run mit 1 und einen m − 1–run mit 0. Beweis: Das erste Postulat ist trival. Da alle Elemente von GF(2m ), außer dem Nullelement, erzeugt werden, muß jede Komponente der Komponentendarstellung genau 2m−1 − 1 Nullen und 2m−1 Einsen aufweisen.
Das zweite Postulat ist erf¨ ullt, wegen folgender Beobachtung. Wiederum benutzen wir, daß das LFSR alle Elemente von GF(2m ) erzeugt. Der Registerinhalt 11 . . . 1 kommt damit genau einmal vor, d.h. ein m–run mit 1 kann nur einmal vorkommen. Ein m–run mit 0 kann nicht vorkommen, da der Registerinhalt nur 0 nicht vorkommt. Weiterhin folgt, daß das Element 1 . . . 10 Nachfolger vom Alleinszustand und 01 . . . 1 Vorg¨anger davon sein muß. Und daraus ergibt sich, daß es keinen m − 1–run mit 1 geben kann, jedoch einen mit 0, wegen 10 . . . 0. F¨ ur ¨ die i–runs mit i < m − 1 kann man folgende Uberlegung durchf¨ uhren. Um einen i–run mit 0 oder 1 zu erzeugen, muß der Registerinhalt die Form c0 6= c1 = c2 = . . . = ci 6= ci+1 , ci+2 , . . . , cm−1 haben. D.h., da die m − i − 2 Elemente ci+2 , . . . , cm−1 beliebig gew¨ahlt werden d¨ urfen, gibt es 2m−i−2 i–runs mit 0 und 2m−i−2 i–runs mit 1, d.h. 2m−i−1 i–runs insgesamt. Damit ist das zweite Postulat erf¨ ullt. Das dritte Postulat sagt aus, daß ϕc (i) = − n1 sein muß. Dieser Wert ist die ¨ Anzahl der Ubereinstimmungen minus Anzahl der unterschiedlichen Stellen dividiert durch n. Addieren wir eine Folge mit ihrer verschobenen, so ist die Anzahl ¨ der Ubereinstimmungen gleich der Anzahl der Nullen der Summe und die Anzahl der unterschiedlichen Stellen gleich der Anzahl der Einsen dieser Summe. Wegen der Linearit¨at ist aber die Summe aus m–Sequenz plus i–shift dieser m–Sequenz wieder eine m–Sequenz, die mit dem selben LFSR erzeugt werden kann. Damit hat diese Summe genau 2m−1 − 1 Nullen und 2m−1 Einsen. Damit gilt ϕc (i) =
2m−1 − 1 − 2m−1 1 =− n n
q.e.d. Lineare Komplexit¨ at Eine weitere Fragestellung ist: Gegeben eine Folge, was ist das k¨ urzeste LFSR mit dem man diese Folge erzeugen kann ? Die Antwort auf diese Frage heißt die lineare Komplexit¨at einer Folge. Betrachten wir noch einmal die erzeugende Gleichung f¨ ur ein LFSR cj = p0 cj−1 + . . . + pm−1 cj−m
132
KAPITEL 6. KRYPTOLOGIE
und f¨ uhren folgende Verallgemeinerungen ein 1. Die R¨ uckkoppelungfaktoren k¨onnen aus einem GF sein und werden mit -1 multipliziert, ebenfalls k¨onnen die Element der Folge aus einem GF sein. 2. p(x) braucht kein primitives Polynom sein, sondern ist ein R¨ uckkoppelungspolynom r(x) vom Grad L, und der Koeffizient r0 = 1. Damit erhalten wir die Gleichung cj + r1 cj−1 + r2 cj−2 + . . . + rL cj−L = 0 wobei r(x) = 1 + r1 x + r2 x2 + . . . + rL xL ist. H¨aufig wird der Operator x auch als D bezeichnet. Damit ist die Aufgabenstellung: Gegeben eine Folge c finde das Polynom r(x) mit kleinstem Grad L, das diese Folge erzeugt. Dazu sind Verfahren aus der Kanalcodierung bekannt, die dieses Problem sehr effizient l¨osen, z.B. der Berlekamp–Massey–Algorithmus. Dies hat zur Folge, daß ein Kryptoanalytiker sehr leicht ein LFSR berechnen kann. F¨ ur eine Beschreibung des Berlekamp–Massey–Algorithmus und Eigenschaften der linearen Komplexit¨at wird z.B. auf Bossert, Kanalcodierung, Teubner Verlag, 1992 Seiten 66–73 verwiesen. Kombination von LFSRs Um aus LFSRs eine l¨angere Pseudozufallsfolge zu erzeugen, gibt es verschiedene M¨oglichkeiten die Folgen zu kombinieren. Etwa den sogenannten Geffe Combiner (siehe z.B. Fumy,Rieß) oder den Hadamard Combiner, der im folgenden Bild dargestellt ist.
LFSR 1 .
LFSR 2 Abbildung 6.18: Hadamard Combiner Seien die linearen Komlexit¨aten der LFSRs L1 und L2 (ggT (L1 , L2 ) = 1), dann ist die lineare Komlexit¨at der kombinierten Folge das Produkt L = L1 · L2 . Die Periode ist das kleinste gemeinsame Vielfache der Perioden der LFSRs.
6.4. ASSYMMETRISCHE VERFAHREN, PUBLIC KEY VERFAHREN
6.4
Assymmetrische Verfahren
Verfahren,
Public
133
Key
Asymmetrische Kryptosysteme sind seit dem Jahre 1975 bekannt und werden auch h¨aufig als Systeme mit ¨offentlichem Schl¨ ussel (Public Key Systems) bezeichnet. Das folgende Diagramm zeigt die prinzipielle Funktionsweise eines asymmetrischen Verfahrens: Teinehmer A
Teinehmer B
Schl¨ ussel
geheim: kg , ¨offentlich: k¨o
y = fk¨o (m)
←−
k¨o
−→
m 6= fk−1 (m) o ¨ m = fkg (m)
Wegen der Eigenschaft der Funktion fk¨o (m), n¨amlich daß sie nicht (bzw. nur sehr aufwendig) invertierbar ist, wird diese Funktion als Einwegfunktionen (one way function) bezeichnet. Aufgrund der Tatsache, daß es unter Kenntnis des geheimen Schl¨ ussels kg doch m¨oglich ist diese Funktion zu invertieren sagt man, ur bzw. Fallt¨ ur (trapdoor). die Funktion fk¨o ist eine Einwegfunktion mit Geheimt¨ Das Problem ist “nur” noch solche Einwegfunktionen zu finden. Wir werden sehen, daß das Konzept der Einwegefunktion fast immer an ein aufwendig zu l¨osendes mathematisches Problem gekoppelt ist, wie etwa die Faktorisierung von sehr großen Zahlen oder den diskreten Logarithmus oder ¨ahnliches. Es sei noch einmal erw¨ahnt, daß ein neues Verfahren, das ein komplexes Problem einfach l¨ost, das darauf basierende asymmetrische Kryptoverfahren unbrauchbar macht.
6.4.1
Exponent–Logarithmus
Wir wissen, daß alle Zahlen a < n f¨ ur die gilt, ggT(a, n) = 1 bez¨ uglich n invertierbar sind. Man nennt diese Zahlen auch primitive Wurzeln bez¨ uglich n. Definition 6.9 Diskreter Logarithmus Sei a, n, y, x ∈ ZZ mit a < n und ggT(a, n) = 1 und gelte y = ax mod n
so heißt x der diskrete Logarithmus von y zur Basis a mod n.
134
KAPITEL 6. KRYPTOLOGIE
Dieser diskrete Logarithmus, kann nun als Einwegfunktion verwendet werden, da y aus a, n und x zu berechnen relativ einfach ist, dagegen x aus a, n und y zu berechnen sehr komplex ist (momentan sind nur Algorithmen mit exponentieller Komplexit¨at bekannt). Ist n = p eine große Primzahl, hat p − 1 groß Primfaktoren und ist a ein primitives Element von GF(p), so spricht man auch von der Diffie–Hellman–Pohlig Einwegfunktion. Mit dem diskreten Logaritmus k¨onnen sehr elegant Schl¨ ussel erzeugt werden. Der folgende Schl¨ usselaustauschmechanismus geht auf Diffie und Hellmann, 1976 zur¨ uck. Zwei Benutzer A und B gehen dazu wie folgt vor: Sie kennen beibe a und n und berechnen sich jeweils yA = axA mod n bzw. yB = axB mod n Wollen nun beide miteinander kommunizieren, so k¨onnen sie jeweils yA und yB ver¨offentlichen und jeder sich den Schl¨ ussel K = yAxB = yBxA berechnen, mittels den bei sich selbst geheim gehaltenen Exponenten xA und xB . Shamirs No Key – und Massey–Omura–Verfahren Dieses No Key oder auch h¨aufig als Three pass protocol bezeichnete Verfahren kann gut durch folgendes mechanisches Analogon beschrieben werden: A hat eine Nachricht, legt sie in eine Kiste und verschließt diese mit seinem Schloß und beh¨alt den Schl¨ ussel schickt jedoch die verschlossene Kiste zu B. B kann diese nicht ¨offnen, verschließt jedoch die Kiste erneut (sozusagen parallel) mit seinem eigenen Schloß und beh¨alt den Schl¨ ussel. Danach schickt B die doppelt verschlossene Kiste zu A zur¨ uck. A entfernt sein Schloß und schickt die Kiste zu B. Dieser kann nun sein Schloß entfernen und die Kiste ¨offnen und die Nachricht lesen. Welche mathematischen Verfahren sind als Schl¨osser im Shamir three pass protocol geeignet ? Alle kommutativen Verfahren, die nicht das Geheimnis preisgeben. Omura–Massey Sei p eine Primzahl dann ist φ(p) = p − 1. Die Zahl p ist beiden Benutzern bekannt. Die Benutzer A und B w¨ahlen sich jeweils eine Zahl kleiner p aA und −1 aB und berechnen sich a−1 A und aB modulo p − 1. Beide Zahlen werden geheim gehalten.
6.4. ASSYMMETRISCHE VERFAHREN, PUBLIC KEY VERFAHREN
135
Nun w¨ahlt Benuzter A eine Nachricht m und berechnet y1 = maA und Benutzer B macht daraus y2 = y1aB = maA aB Danach macht Benutzer A daraus y3 = a−1
−1
y2 A = m a A a A
aB
m=
aB a−1 B
a−1 y3 B
=m
= maB Daraus kann nun Benutzer B die Nachricht m mittels berechnen.
Massey–Omura Selbes Prinzip, nur daß in GF(2m ) gearbeitet wird, d.h. yi sind aus GF(2m ). Ein weiteres Verfahren, das auf einer Modifikation des diskreten Logarithmus basiert ist das sogenannte Rabin Verfahren. Es hat jedoch entscheidende Nachteile, n¨amlich es ist schwer zu entschl¨ usseln und ist anf¨allig gegen choosen plaintext Attacken, was bei einem public key Verfahren nicht ausgeschlossen werden kann. Deshalb soll dieses Verfahren hier nicht beschrieben werden.
6.4.2
Rucksack Verfahren (Knapsack)
Das Rucksack Problem hat seinen Namen von folgendem Analogon. Gegeben eine Menge von n Sachen mit unterschiedlichen Gewichten g1 , g2 , . . . , gn . Es ist leicht den Ruckscack zu packen und sein Gewicht anzugeben. Dagegen ist es schwierig aus dem gegebenen Gewicht auszuprobieren mit welchen Sachen er gepackt ist. Public key Systeme die auf dem Rucksack Verfahren basieren sind ein Beispiel daf¨ ur wie die Sicherheit eines Systems sich u ¨ber Nacht ¨andern kann. Prinzipiel ist das Rucksack System nicht gel¨ost, jedoch gab es f¨ ur zwei Realisierungen mit spezifischen Parametern in den Jahren 1982 und 1984 erfolgreiche Attacken von Shamir und Brickell. Dies hat dazu gef¨ uhrt, daß Rucksack Probleme eigentlich eine untergeordnete Rolle in public key Systemen spielen. Wir wollen im folgenden, das von Shamir “geknackte” Merkle–Hellman public key System basierend auf einem Rucksack Verfahren beschreiben. Die grundlegende Idee ist, daß ein Rucksack Problem, wenn die Gewichte folgende Eigenschften erf¨ ullen j−1 X gj > gi i=1
sehr einfach zu l¨osen ist. Ein solches Rucksack Problem wird superincreasing genannt. Sei S die Summe der Gewichte, so gilt dann offensichtlich: gn ist im Rucksack, wenn gn ≤ S ist. Weiterhin ist gn−1 im Rucksack, wenn gn−1 ≤ S − gn ist. Allgemein ist gj , j = nn − 1, . . . im Rucksack, wenn gilt: gj ≤ S −
n X
i=j+1
gi
136
KAPITEL 6. KRYPTOLOGIE
Das Merkle–Hellman System geht nun ausPvon einem superincreasing Rucksack Problem g1 , g2 , . . . gn mit gi ∈ ZZ und gj > j−1 i=1 gi Die Gewichte werden nun mit einer Zahl a ∈ ZZ m modulo m multipliziert, d.h. gi0 = gi · a mod m , i = 1, 2, . . . n und anschließend mit einer geheimen Permutation vertauscht. Diese Werte werden dann ¨offentlich bekannt gegeben. Ein Sender hat dann eine Nachricht x = x1 , x2 , . . . xn xi ∈ GF (2) und bildet den Geheimtext y=
n X i=1
xi · gi00
Der Empf¨anger berechnet y‘ = y · a−1 mod m l¨ost das superincreasing Rucksack Problem , macht die Permutation r¨ uckg¨angig und hat die Nachricht entschl¨ usselt.
6.4.3
Rivest Shamir Adleman (RSA) Verfahren
Sei n = p · q und p, q Primzahlen. Dann gilt: φ(p) = p − 1, φ(q) = q − 1, und φ(n) = (p − 1)(q − 1), wobei φ(.) die Eulersche φ Funktion ist. Ein Teilnehmer A w¨ahlt nun 5 Zahlen k¨o , kg , n, p, q derart, daß gilt: n = p · q, k¨o · kg = 1 mod φ(n) Danach gibt er ko¨ und n als seine ¨offentlichen Schl¨ ussel bekannt. Er h¨alt jedoch kg , p, q geheim. Wenn nun Teilnehmer B an A eine Nachricht m < n schicken will, so sendet B den Geheimtext y wie folgt berechnet: y = mk¨o mod n Teilnehmer A entschl¨ usselt den Geheimtext y durch m ˆ = y kg mod n Wir m¨ ussen zeigen, daß m = m ˆ ist. Wegen (Eulersches Theorem) mφ(n) = 1 mod n oder mv·φ(n)+1 = m mod n
6.4. ASSYMMETRISCHE VERFAHREN, PUBLIC KEY VERFAHREN
137
gilt: m ˆ = y kg mod n = mk¨o kg mod n = mv·φ(n)+1 = m mod n Die Schwierigkeit f¨ ur einen Kryptoanalytiker ist es, die Zahl n zu faktorisieren, d.h. die Zahlen p und q zu finden. Hat er dies geschafft, so kennt er alle 5 Zahlen und kann entschl¨ usseln. Selbstverst¨andlich wird eine Nachricht in Symbole m < n zerlegt. Diese Abbildung kann auf mehrere Arten durchgef¨ uhrt werden. Anmerkungen: F¨ ur die Anwendung sind einige Regeln zu beachten, die eine Faktorisierung erschweren: Die Zahlen p und q sollten je etwa 100 Dezimalstellen Haben und nicht zu dicht beieinander liegen. Der ¨offentliche Schl¨ ussel k¨o kann frei gew¨ahlt werden. Es sollte jedoch gelten: ggT(k¨o , n) = 1
6.4.4
El Gamal Verfahren
Sei p eine große Primzahl und a < p eine Zahl mit ggT(a, p) = 1. Ein Teilnehmer berechnet sich nun einen ¨offentlichen Schl¨ ussel k¨o wie folgt: k¨o = akg mod p Das bedeutet die Zahlen p, a, k¨o sind ¨offentlich bekannt und kg ist geheim. Will nun ein Teilnehmer eine Nachricht m senden, 1 ≤ m < p, so geht er folgendermaßen vor. Er w¨ahlt auf¨allig eine Zahl b, die er geheim h¨alt, mit 1 ≤ b < p, und berechnet c = (k¨o )b mod p Danach sendet er zwei Zahlen y und y 0 , wobei y = ab mod p und y 0 = c · m mod p Der Empf¨anger kann nun die Nachricht m in zwei Schritten entschl¨ usseln ygk = abkg = (k¨o )b mod p = c danach kann berechnet werden.
m = y 0 · c−1 mod p
Bisher haben wir public key Verfahren angegeben, die auf Zahlentheoretischen Problemen basieren. Im letzten Abschnitt wollen wir noch zwei Verfahren angeben, die auf Codierungstheorie basieren.
138
KAPITEL 6. KRYPTOLOGIE
Man erz¨ahlt sich die Geschichte eines Kryptoanalytikers, der f¨ ur seine Aufgabe einen Geheimtext zu entschl¨ usseln einmal v¨ollig verzweifelte und unverh¨altnism¨aßig l¨anger gebraucht hat als u ¨blich. Der Grund war die miserable Orthographie des Verschl¨ usselers, die die Statistik verf¨alscht und den Kryptoanalytiker fast get¨auscht h¨atte. Dies mag f¨ ur McEliece eine z¨ undende Idee gewesen sein um sein Verfahren zu erfinden.
6.5
Protokolle
Ein Protokoll oder auch verteilter Algorithmus ist ein Verfahren, bei dem r¨aumlich getrennte Benutzer einen verteilten Algorithmus in bestimmter zeitlicher Reihenfolge durchf¨ uhren, dessen Ergebnis Informationsgewinn/–austausch zwischen den beiden bedeutet. Im Prinzip haben wir in den bisherigen Kapiteln schon h¨aufig in “Protokolldenkweise” argumentiert bzw. Verfahren beschrieben. Ein Beispiel ist der Schl¨ usselaustauschmechanismus von Diffie und Hellmann im vorherigen Kapitel. Es ist offensichtlich, daß alle kryptographischen Verfahren, wenn sie angewendet werden, eines Protokolls bed¨ urfen. Das bedeutet also, daß es einen Satz von Vorschriften und Regeln gibt, nach denen eine Kryptoverfahren abgearbeitet wird. Logisch f¨ uhrt man dazu sogenannte Protokollinstanzen ein, die miteinander kommunizieren. Streng genommen muß durch ein Protokoll die Regel und die Ausnahme, anders ausgedr¨ uckt jedes m¨ogliche Ereignis, das im Ablauf der Kommunikation der beiden Instanzen auftreten kann, abgefangen werden. Also auch ¨ fehlerhafte Aktionen, Verlust von ganzen Nachrichten, Ubertragungsfehler, d.h. teilweise fehlerhafte Nachrichtenbl¨ocke, etc. Wir wollen im folgenden annehmen, daß durch ein entsprechendes Protokoll des zugrundeliegenden Kommunikationssystems folgende Annahmen gew¨ahrleistet sind • Die ankommenden Nachrichten sind fehlerfrei. ¨ • Die Reihenfolge der Nachrichten bleibt durch die Ubertragung unver¨andert. Damit k¨onnen wir uns auf die Protokollinstanzen f¨ ur das kryptographische Verfahren konzentrieren. Betrachten wir als Beispiel den Schl¨ usselaustauschmechanismus, so muß ein entsprechendes Protokoll zwischen den Instanzen der Teilnehmenr A und B wie folgt aussehen: • A (oder B) m¨ochte mit dem anderen einen gemeinsamen Schl¨ ussel erzeugen. Dazu wird zun¨achst eine Nachricht gesendet, die Initialisierung, etwa: Hier A ich w¨ urde gerne mit dir B einen gemeinsamen Schl¨ ussel erzeugen.
6.5. PROTOKOLLE
139
• B best¨atigt den Erhalt und sagt o.k. • A und B berechnen sich den Schl¨ ussel K zu K = yAxB = yBxA • A und B melden sich gegenseitig: Schl¨ ussel berechnet. Damit ist das kryptographische Protokoll beendet und A und B haben den Schl¨ ussel. Zur Erinnerung: Kein anderer als A und B kann den Schl¨ usel berechnen. In diesem Kapitel wollen wir einige kryptographische Protokolle er¨ortern. Zunachst ein Protokol zur Authentifizierung. Dann die sogenannten Zero Knowledge Protocols, bei denen die Besonderheit ist, daß ein Teilnehmer dem anderen beweist, daß er ein Geheimnis besitzt, ohne dieses Geheimnis verraten zu m¨ ussen. Dann wollen wir noch Beweise mittels Protokoll besprechen. Das zugrundeliegende Problem ist dabei, daß zwei Parteien ein Spiel etwa u ¨bers Telefon spielen und sich gegenseitig nicht trauen. Zum Schluß wollen wir noch die Protokolle eines existierenden Systems, des GSM Systems beschreiben.
6.5.1
Omura’s Idendit¨ atsbeweis Protokoll
Die Aufgabenstellung ist, daß ein Nutzer dem anderen beweisen muß, daß er er ist; also eine kryptographische Ausweiskontrolle. ¨ Ahnlich wie bei dem Schl¨ usselaustauschmechanismus von Diffie und Hellmann gehen die Nutzer wie folgt vor: Alle Nutzer A,B,C... kennen a ∈ ZZ und n ∈ ZZ mit a < n und ggT(a, n) = 1. Sie berechnen sich jeweils yA = axA mod n bzw. yB = axB mod n . . . Die Werte a, n, yA , yB , yC , . . . werden in ein o¨ffentliches Verzeichnis geschrieben und jeder h¨alt seinen Exponenten xi geheim. Will nun A mit B kommunizieren, so will etwa B verifizieren, daß A auch wirklich A ist. Dazu kann etwa folgendes Protokoll abgewickelt werden: • A meldet sich bei B mit einem Kommunikationswunsch. • B w¨ahlt eine Zufallszahl r und berechnet yˆR = yAr mod n sendet an A yZ = ar mod n mit der Nachricht ich bin einverstanden, aber identifiziere dich zuerst.
140
KAPITEL 6. KRYPTOLOGIE
• A berechnet mittels seinem geheimen Exponenten xA die Zahl yR = (yZ )xA mod n und sendet yR an B. • B kann nun verifizieren ob yˆR = yR ist. Falls ja, so ist A identifiziert, denn nur A kennt xA . Dieser Identifizierung liegt folgende Beziehung zugrunde: yˆR = yAr mod n = (axA )r mod n = (ar )xA mod n = yR Dieses Protokoll hat einen wesentlichen neuen Aspekt, n¨amlich die Zufallszahl r. Ein Kryptoanalytiker hat damit die zus¨atzliche Schwierigkeit, daß Zuf¨alligkeit mit im Spiel ist.
6.5.2
Zero Knowledge Protokolle
Wie schon erw¨ahnt kann man mittels Zero Knowledge Protokollen beweisen, daß man ein Geheimnis kennt, ohne diese Geheimnis preiszugeben. H¨aufig findet man auch den Begriff Zero Knowledge Proof. In dem Buch von Prof. Beutelspacher finden sich zwei sehr sch¨one Beispiele aus dem Leben, um Zero Knowledge Protokolle zu erl¨autern. Das erste Beispiel handelt davon, daß der Vater sein Kind abends fr¨agt: Hast du deine Hausaufgaben gemacht? Das Kind sagt: Ja, aber ich zeige dir sie nicht. Damit ist die Problemstellung des Zero Knowledge Proofs klar, n¨amlich: Kann das Kind dem Vater beweisen, daß es die Hausaufgaben gemacht hat, ohne ihm diese zu zeigen. Das zweite Beispiel handelt von dem Mathematiker Tartaglia, der 1535 verk¨ undete er habe einen Algorithmus, der kubische Gleichungen l¨ost. Dies war damals noch unbekannt. Nun konnte er sehr einfach beweisen, daß seine Behauptung (Geheimnis) stimmt. Jeder, der sich davon u ¨berzeugen wollte, gab ihm eine kubische Gleichung ax3 + bx2 + cx + d = 0 mit zuf¨allig gew¨ahlten a, b, c, d und u ufte Tartaglias L¨osungen u, v, w indem ¨berpr¨ er (x − u)(x − v)(x − w) berechnete. Ein weiteres Analogon ist die Ausweiskontrolle an der Grenze. Hier kann eine Person ihre Identit¨at beweisen, indem sie dem Grenzbeamten ihren Ausweis zeigt. Damit hat aber der Grenzbeamte den Namen der Person gesehen und k¨onnte aus der Tatsache, daß er nun diese Information besitzt Nutzen ziehen. W¨ urde ein Zero
6.5. PROTOKOLLE
141
Knowledge Proof existieeren, so k¨onnte sich der Grenzbeamte von der Identit¨at der Person u ¨berzeugen, ohne daß er danach den Namen kennt. Man definiert die beiden Teilnehmer eines Zero Knowledge Proofs als den “Prover” als denjenigen, der ein Geheimnis kennt und es beweisen will und den “Verifier”, als denjenigen, der sich davon u ¨berzeugt, daß der Prover das Geheimnis besitzt. Bezeichnend ist, daß der Verifier keine Information erh¨alt, die er nicht selber berechnen kann, auch dann nicht, wenn er versucht das Geheimnis des Provers zu entdecken. Wir wollen im folgenden ein Verfahren genauer beschreiben. Fiat Shamir Protokoll Dieses Zero Knowledge Protokoll stammt von Fiat und Shamir aus dem Jahre 1986. Wie u ¨blich definieren wir uns eine große Zahl n = p·q als Produkt von zwei großen Primzahlen. Jeder Nutzer (A, B, C, . . .) w¨ahlt sich nun eine Zahl xA , xB , . . . und berechnet yA = x2A mod n , yB = x2B mod n , . . . Geheim gehalten werden p, q, xA , xB , . . . und ¨offentlich bekannt sind n, yA , yB , . . . Wir wollen zun¨achst das Protokoll angeben und anschließend analysieren, welche M¨oglichkeiten ein Kryptoanalytiker hat. Die Problemstellung ist hier, daß Teilnehmer A dem Teilnehmer B beweisen will, daß er wirklich A ist oder entsprechend, daß er die Zahl xA kennt. Damit ist B der Verifier. Das nachfolgende Protokoll stellt nun eine Runde im gesamten Verifikationsprotokoll dar und kann mehrfach wiederholt werden. • A w¨ahlt zuf¨allig eine Zahl r aus und bildet y = r 2 mod n und sendet y an den Verifier B • B wirft eine M¨ unze und sendet an A das Ergebnis des M¨ unzwurfs 0 oder 1 • A muß nun folgende Antwort an B senden, je nachdem ob er 0 oder 1 erhalten hat – Hat er 0 erhalten: So sendet A die Zahl yV = r an B – Hat er 1 erhalten: So sendet A die Zahl yV = r · xA mod n an B • B verifiziert das Ergebnis – F¨ ur 0: Ist y gleich yV2 mod n. – F¨ ur 1: Ist y · yA mod n gleich yV2 mod n.
142
KAPITEL 6. KRYPTOLOGIE Falls die
F¨ ur das M¨ unzwurfergebnis 0 ist es offensichtlich, daß A die Zahl r kennt. Aber auch f¨ ur das M¨ unzwurfergebnis 1 kann man sich davon u ¨berzeugen, daß gilt: yV2 mod n = (r · xA )2 mod n = r2 · x2A mod n = r2 · yA mod n = y · yA mod n. Prover ist Kryptoanalytiker Nehmen wir an, ein Kryptoanalytiker will nun vorspiegeln A zu sein, d.h. die Kenntnis von xA zu haben. Er kann nun entweder bei dem M¨ unzwurfergebnis 0 korrekt reagieren, denn dazu braucht er das Geheimnis xA nicht zu kennen. Oder aber, wenn er weiß, daß B das M¨ unzwurfergebnis 1 hat, kann er folgendes y zur¨ ucksenden y = r2 · yA−1 mod n Denn dann kann er yV = r antworten und der Verifier u uft ¨berpr¨ y · yA mod n = r2 · yA−1 · yA mod n = r2 mod n = yV2 mod n Es ist klar, daß der Kryptoanalytiker nur entweder f¨ ur das M¨ unzwurfergebnis 0 oder f¨ ur das Ergebnis 1 korrekt antworten kann. Er kann jedoch nicht f¨ ur beide M¨ unzwurfergebnisse mit der richtigen Zahl antworten. Anders ausgedr¨ uckt: Mit der Wahrscheinlichkeit 1/2 kann er das M¨ unzwurfergebnis richtig vorhersagen und Teilnehmer A korrekt imitieren. Werden t Runden des Protokolls verwendet, so ist die Wahrscheinlichkeit seines Erfolges 1/2t . Da das Verfahren nur eine Multiplikation ben¨otigt, ist der Rechenaufwand relativ klein und es k¨onnen viele Runden t verwendet werden, was die Wahrscheinlichkeit des Erfolgs eines Kryptoanalytikers gegen Null gehen l¨aßt. Verifier ist Kryptoanalytiker Nehmen wir nun an der Verifier versucht die Zahl xA herauszubekommen. Seine einzige Einflußm¨oglichkeit im Protokoll ist der M¨ unzwurf und die Zahlen die er erh¨alt kann er sich auch selber berechnen. Er kann damit nicht gezielt (Zufalls)zahlen ausw¨ahlen, die ihm irgendeinen Informationsgewinn bringen k¨onnten. Es wird vorgeschlagen, eine solche Prozedur auf einer Chipkarte zu implementieren, die dann den Benutzer identifizieren k¨onnte, ohne daß das Geheimnis u ¨bertragen werden muß. Omura‘s Identit¨atsbeweis hat nicht die Eigenschaft Zero Knowledge, denn der Verifier B kann gezielt Zahlen ausw¨ahlen, die ihm Information u ¨ber das Geheimnis xA liefern k¨onnen.
6.5. PROTOKOLLE
6.5.3
143
Mu ¨ nzwurf Protokoll
Nehmen wir an, zwei Teilnehmer wollen das Zufallsexperiment Werfen einer M¨ unze u uhren. Das Grundproblem hier ist, daß keiner dem ¨ber ein Telefon ausf¨ anderen traut. Wirft Teilnehmer A die M¨ unze, so kann er B das korrekte Ergebnis mitteilen oder auch das falsche. Entsprechend, wenn B die M¨ unze wirft. Das folgende Protokoll ist nun geeignet, dieses Zufallsexperiment mittels kryptographischer Verfahren so zu gestalten, daß jeder der beiden Teilnehmer sich vom Ausgang des M¨ unzwurf u ¨berzeugen kann. Hierzu wird wie folgt vorgegangen: • A wirft eine M¨ unze. • B r¨at den Ausgang. • A und B k¨onnen sich nun davon u ¨berzeugen ob B richtig geraten hat oder nicht, ohne daß der M¨ unzwurf modifiziert werden kann. Das zugeh¨orige Protokoll dazu sieht wie folgt aus: • B w¨ahlt zwei große Primzahlen p und q mit p < q und sendet n = q · p an A, und beh¨alt q und p f¨ ur sich. • A w¨ahlt zuf¨allig eine Zahl y < n aus und sendet an B die Zahl yM = y 2 mod n • B bestimmt die beiden L¨osungen von √ yM mod n = yK und yZ = −yK mod n w¨ahlt eine davon aus und sendet sie an A, d.h. yB wird an A gesendet. • Falls yB = y ist, hat B gewonnen sonst A. Die Frage ist nun, wie k¨onnen beide Seiten verifizieren, daß sie gewonnen haben. Dazu betrachten wir die beiden F¨alle • A hat gewonnen:
A muß nun B vom Sieg u ¨berzeugen, was gleichbedeutend ist mit yB 6= y. Dazu sendet A an B die Zahl p, den er kann diese nun berechnen p = ggT(y + yB , n)
Das bedeutet also er kann die Zahl n Faktorisieren • B hat gewonnen:
A kann dann B nicht die Zahl yV berechnen und somit B nich vom Gewinn u ¨berzeugen.
144
KAPITEL 6. KRYPTOLOGIE
Der Beweis basiert auf der Tatsache, daß es mathematisch m¨oglich ist eine Zahl n = q · p zu faktorisieren, wenn man zwei Quadrate kennt. Es gilt also: Gegeben eine Zahl n = q · p mit q und p Primzahl, dann gibt es genau (p − 1)(q − 1) 4 quadratische Reste modulo n und jeder quadratische Rest hat genau 4 Quadratwurzeln. Gilt f¨ ur zwei Wurzeln α1 und α2 α1 6= −α2 mod n, so gilt eine der folgenden Beziehungen p = ggT(α1 + α2 , n) oder q = ggT(α1 + α2 , n) Dies ist ersichtlich aus der Gleichung α12 − α22 = 0 mod n ⇐⇒ (α1 − α2 )(α1 + α2 ) = x · n , x ∈ ZZ n kann weder (α1 − α2 ) noch (α1 + α2 ) teilen, da ja gem¨aß Voraussetzung gilt α1 6= −α2 mod n. Daher muß p entweder (α1 − α2 ) oder (α1 + α2 ) teilen und q das andere.
6.5.4
Kryptographische Verfahren im GSM–System
In diesem Abschnitt wollen wir die kryptographischen Protokolle des GSM Systems beschreiben, um einen Einblick in die Realisierung kryptologischer Verfahren zu erhalten. Die Verfahren selbst sind nicht o¨ffentlich und nur den Herstellerfirmen zug¨anglich und auch dies nur wenn diese nachweisen k¨onnen, daß sie in der Lage sind, die Verfahren geheim zu halten. Anmerkung: Dies entspricht damit nicht dem Kerckhoff Prinzip. Ein potentieller Angreifer muß also zus¨atzlich zu den Schl¨ usseln noch sich erst die geheimen Verfahren besorgen, was wegen den Sicherheitsauflagen f¨ ur die Firmen nicht ganz einfach ist. Im GSM System werden drei kryptographische Verfahren eingesetzt • Verschlu ¨ sselung, Ciphering
Hier handelt es sich um eine Stromchiffre, die auf Bitebene mit dem Datenstrom addiert (EXOR) wird. Der Schl¨ ussel und zus¨atzlich die TDMA Rahmennummer sind die Eingabe f¨ ur den sogenannten Algorithmus A5.
• Authentification of the Mobile
Hier handelt es sich um eine Einwegfunktion. Das Verfahren wird Algorithmus A3 genannt.
• Key computation
Hier handelt es sich ebenfalls um eine Einwegfunktion. Das Verfahren wird Algorithmus A8 genannt.
6.5. PROTOKOLLE
145
Das Hauptproblem in der Praxis ist die Schl¨ usselverwaltung f¨ ur die kryptographischen Verfahren. Im GSM System wird deshalb ein Konzept verwendet, indem ein sogenanntes SIM: Subscriber Idendity Module verwendet wird, das auf einer sogenannten Chipkarte (oft auch smart card) realisiert ist. Auf der Chipkarte ist ein Prozessor, Speicher und nicht fl¨ uchtiger Speicher (soll heißen, selbst wenn die Chipkarte von der Spannungsversorgung entfernt wird bleibt der Speicherinhalt unver¨andert). Damit k¨onnen Verfahren auf der SIM berechnet werden und Schl¨ ussel darauf verwaltet werden. Zus¨atzlich ist diese SIM noch f¨ ur weitere Aufgaben und Prozeduren zust¨andig, etwa Netzauswahl, Telefonnummer der Karte, Kurzwahlnummern, etc. Anders ausgedr¨ uckt beinhaltet die SIM alles was den Mobilteilnehmer betrifft, d.h. der Mobilteilnehmer ist ein Besitzer einer SIM (chipkarte), die er in irgendein GSM–Endger¨at stecken kann und dann reagiert dieses Endger¨at als sein Endger¨at. Unter anderem enth¨alt die SIM auch die IMSI: International Mobil Subscriber Idendity, die aus kleiner gleich 15 Dezimalstellen besteht. Dabei sind die ersten 3 Ziffern der Code des Netzbetreibers, die Ziffern 4 und 5 stellen den Code des Staates dar und die restlichen 10 Ziffern sind die Identifikationsnummer des Teilnehmers. Aus Gr¨ unden der Anonymit¨at wird jedoch diese IMSI im Standardfall nicht verwendet, sondern nur die sogenannte TMSI: Temporary Mobil Subscriber Idendity Diese wird von Zeit zu Zeit ge¨andert, so daß kein Beobachter verfolgen kann, wo sich ein Nutzer aufh¨alt bzw. welche St¨adte und L¨ander er wann besucht. Die SIM (Chipkarte) beinhaltet auch einen geheimen Schl¨ ussel, der Ki genannt wird d.h. bei Verlust der Chipkarte ist auch der Schl¨ ussel verloren. Jedoch kann der Schl¨ ussel nicht von der SIM gelesen werden, d.h. ein Benutzer kennt seinen geheimen Schl¨ ussel nicht. Um die Chipkarte selber an den legalen Besitzer zu koppeln ist sie durch eine sogenannte PIN: Personal Idendity Number gesch¨ utzt. Die PIN besteht aus vier bis acht einstellbaren Dezimalstellen Bei dreimaliger falscher Eingabe der PIN sperrt die Karte. Ein u ¨bergeordnete Instanz, die ebenfalls eine nur dem legalen Besitzer bekannte Zahl verwendet, die sogenannte
146
KAPITEL 6. KRYPTOLOGIE PUK: PIN Unblocking Key
kann dieses Sperren bei dreimaliger falscher Eingabe der PIN wieder aufheben. Die PUK besteht aus 8 Dezimalziffern Wird jedoch die PUK 10 mal falsch eingegeben, so ist die Karte unbrauchbar und muß zum Netzbetreiber eingeschickt werden. Zusammenfassend besteht also die Philosophie in GSM darin, daß die SIM die Verwaltung der Schl¨ ussel gegen¨ uber dem System u ¨bernimmt, w¨ahrend die Benutzung der Chipkarte durch PIN und PUK gegen¨ uber einem illegalen Besitzer gesch¨ utzt ist. Wesentlich ist auch, daß der entscheidende geheime Schl¨ ussel Ki nicht lesbar auf der SIM gespeichert ist und nie u ¨bertragen wird, weder im Mobilnetz noch im Festnetz. Er ist sonst nur im Authentifikationszentrum des Netzbetreibers bekannt (siehe hierzu auch sercrecy sharing im Kapitel Schlußbemerkungen).
Subscriber identity authentication Gehen wir zun¨achst davon aus, daß der Mobilteilnehmer sich im eigenen Netz befindet, d.h. in dem Netz des Netzbetreibers, von dem er seine Karte hat und an den er die Grundgeb¨ uhr entrichtet. Die Authentifizierung eines Mobilteilnehmers funktioniert wie folgt: Das Netz (Authentifikationszentrum) sendet eine Zufallszahl Rand (im Intervall 0 . . . 228 − 1) an den Teilnehmer. Dieser berechnet mittels einer Einwegfunktion (A3) aus Rand und Ki (≤ 128 bit) eine Zahl SRes (32 bit), die er zur¨ ucksendet. Das Authentifikationszentrum, das die einzige Instanz ist, die A3 und Ki kennt, vergleicht die selber berechnete Zahl mit der gemelde¨ ten und hat bei Ubereinstimmung den Teilnehmer identifiziert. Der Algorithmus A3 befindet sich auf der SIM und ist demnach nur dem Netzbetreiber und dem Kartenhersteller bekannt, nicht den Endger¨ateherstellern und nicht den Basisstationsherstellern. Anzumerken ist, daß sich das Netz nicht dem Mobilteilnehmer gegen¨ uber identifizieren muß. Das folgende Bild zeigt die Authentifikation: Einziges Problem in der europ¨aischen Landschaft mit den konkurrierenden Netzbetreibern war die Forderung, daß jeder Netzbetreiber einen eigenen Algorithmus (Einwegfunktion) A3 haben wollte. Wie kann das nun funktionieren ? Die L¨osung ist, daß wegen dem Mobility Management jeder Teilnehmer sich in einem fremden Gebiet melden muß. Tut er dies wird im Home Location Register
6.5. PROTOKOLLE
MS
147
Radiopath
Network Rand
IMSI
Rand Ki
Ki A3
A3
SRes
= yes/no
Abbildung 6.19: Authentifikation (HLR) eingetragen, wo er sich befindet und ein Paar Rand und SRes an das Visiting Location Register (VLR) (Ausland, fremdes Netz: gekennzeichnet durch den ¨ Location Area Index, LAI) u geschieht via Base¨bertragen. Diese Ubertragung station (BS), Mobile Switching Center (MSC) und dann u ¨ber das Festnetz zum Authentication Center (AuC). Damit hat das VLR des fremden Netzes nun ein Paar Rand und SRes zur Verf¨ ugung. Falls das fremde Netz nun einen Teinehmer authentifizieren will, wird ihm Rand gesendet und die Antwort mit SRes verglichen. Damit braucht das fremde Netz weder den Algorithmus A3 des “Home–Netzbetreibers” noch den Schl¨ ussel Ki des Teilnehmers zu kennen. Weiterhin kann jeder Netzbetreiber einen eigenen Algorithmus A3 verwenden. Zu bemerken ist, daß damit das Paar SRes und Rand u ¨ber das Festnetz u ¨bertragen werden und prinzipiell mitgeh¨ort werden k¨onnen.
Anmerkung: Festnetz ist unverschlu¨sselt !! In Protokoll Notation kann die Authentifikation in einem fremden Netz wie folgt dargestellt werden:
148
KAPITEL 6. KRYPTOLOGIE
MS IMSI TMSI, LAI
BS/MSC/VLR TMSI, LAI
HLR/AuC
IMSI Rand (1...n)
Ki
A3 Ki
Rand (1)
Rand (1...n) SRes (1...n) SRes (1...n)
A3 SRes
SRes (1)
= yes/no Abbildung 6.20: Authentifikation in einem fremden Netz
Verschlu ¨ sselung der Daten, Ciphering Die Verschl¨ usselung der Daten erfolgt in zwei Stufen • Schlu ¨ sselerzeugung Hier handelt es sich wie bei dem Algorithmus A3 um eine Einwegfunktion, die Algorithmus A8 genannt wird und aus Rand und Ki den Schl¨ ussel Kc erzeugt. Auch der Algorithmus A8 kann durch den jeweiligen Netzbetreiber frei gew¨ahlt werden. Entsprechend A3 wird also SRes, Kc und Rand an das VLR u ¨bermittelt. • Verschlu ¨ sselung, Ciphering Mit dem Schl¨ ussel Kc und der TDMA Rahmennummer wird mittels des Algorithmus A5 eine Bitfolge erzeugt, die mit dem bin¨aren Datenstrom addiert (EXOR) wird. A5 ist in den Endger¨aten und den Basisstationen
6.5. PROTOKOLLE
149
implementiert und muß selbstverst¨andlich einheitlich von allen Beteiligten verwendet werden. Die Schl¨ usselerzeugung und die Verschl¨ usselung sind in den folgenden Bildern dargestellt:
Ki (128 bits)
RAND (64 bits)
A8
Kc (64 bits)
Network side COUNT
Key Kc
MS side (=TDMA frame number=)
Key Kc
A5 114 bits cipher block
114 bit plain text
bit wise binary addition
COUNT
A5 114 bits cipher block
channel
bit wise binary addition
114 bit plain text
Abbildung 6.21: Schl¨ usselerzeugung und Verschl¨ usselung Die Verschl¨ usselung der Daten erfolgt mit einer Chiffre, die vermutlich aus einer nichtlinearen Abbildung besteht und die Forderungen f¨ ur eine Pseudozufallsfolge (Kapitel 5) erf¨ ullt. Die Verschl¨ usselung kann ein und ausgeschaltet werden, d.h. sie braucht nicht unbedingt verwendet werden. Das GSM System ist ein TDMA System mit 8 Zeitschlitzen. Jeder Zeitschlitz enth¨alt 114 Nutzbits, die verschl¨ usselt werden. Jeweils 8 Zeitschlitze werden als ein TDMA Rahmen bezeichnet. Mittels eines speziellen TDMA Rahmen Synchronisationsmechanismus ist der Basisstation und der Mobilstation die TDMA
150
KAPITEL 6. KRYPTOLOGIE
Rahmennummer, in der ein Zeitschlitz liegt, bekannt. Zus¨atzlich zum Schl¨ ussel Kc der durch A8 bestimmt wird, wird diese TDMA Rahmennummer (COUNT) in der deer Zeitschlitz liegt verwendet. Die TDMA Rahmennummer wird von 0 bis 25 · 50 · (211 − 1) gez¨ahlt und das entspricht einer Zeit von ca. 3.5 Stunden. Dies ist damit auch die Periode der Pseudozufallsfolge. Nach dieser Periode kann der Schl¨ ussel Kc (auch w¨ahrend eines Gespr¨aches) ge¨andert werden.
MS
Network TMSI, LAI RAND
Ki
RAND
Ki
A3/A8
A3/A8 SRES
Kc
SRES
Kc
= yes/no cipher mode Kc data
COUNT
A5
COUNT data ciphered
Kc
A5
data
Abbildung 6.22: Authentifikation und Verschl¨ usselung
Da A3 und A8 mit derselben Zufallszahl Rand arbeiten, werden sie h¨aufig als ein Algorithmus mit zwei Ausgangsgr¨oßen betrachtet. Damit l¨aßt sich das Blockbild (siehe Bild 6.22) f¨ ur Authentifikation und Verschl¨ usselung zeichnen.
Anhang A Einfu ¨ hrung in die diskrete Wahrscheinlichkeitsrechnung Ereignisraum
Ω = {ω1 , ω2 , . . . , ωi }
Ereignis
A⊆Ω ∅ unm¨ogliches Ereignis Ω sicheres Ereignis
Elementarereignis ωi
Mengenoperatoren ⊂ Teilmenge ∪ Vereinigungsmenge ∩ Schnittmenge \ Differenzmenge
Vereinigungsmenge
Schnittmenge
Differenzmenge
Abbildung A.1: Mengenbegriffe Wahrscheinlichkeitsdefinitionen 1) Relative H¨aufigkeit P (A) = lim
n→∞
nA n
(A.1)
Das Zufallsexperiment wird n−mal ausgef¨ uhrt und nA −mal tritt das Ereignis A auf. 151
¨ 152ANHANG A. EINFUHRUNG IN DIE DISKRETE WAHRSCHEINLICHKEITSRECHNUNG 2) Kolmogorov-Axiome i) 0 ≤ P (A) ≤ 1
(A.2)
P (Ω) = 1
(A.3)
ii)
iii) Ai ∩ Aj = 0,
i 6= j =⇒ P
³[
´ X P (Ai ) Ai =
(A.4)
i
bzw. P (A ∪ B) = P (A) + P (B) f¨ ur A ∩ B = 0
(A.5)
3) Kombinatorisch (gleich wahrscheinliche Elementarereignisse) NA = |A|, NA P (A) = N Beispiel:
N = |Ω|
(A.6) (A.7)
26 Buchstaben des Alphabets 5
X 1 5 = = P (A) + P (E) + P (I) + P (O) + P (U ) P (Vokal) = 26 26 i=1
(A.8)
Bedingte Wahrscheinlichkeit P (A ∩ B) P (B) 6= 0 P (B) P (A | B) = 0 P (A | B) = 1 P (A) P (A | B) = P (B)
(A.10) (A.11)
P (A ∩ B) = P (A | B)P (B) = P (B | A)P (A)
(A.13)
P (A | B) = A∩B =0 B⊂A
: :
A⊂B
:
(A.9)
(A.12)
Multiplikationsregel
statistische Unabh¨angigkeit P (A ∩ B) = P (A)P (B)
(A.14)
153 Satz von der totalen Wahrscheinlichkeit X P (A) = P (A | Bi )P (Bi )
Bi ∩ Bj = 0,
i
i 6= j
(A.15)
Satz von Bayes P (Bi | A) =
P (A | Bi )P (Bi ) P (A | Bi )P (Bi ) =P P (A) j P (A | Bj )P (Bj )
(A.16)
a-priori Wahrscheinlichkeit P (Bi ) a-posteriori Wahrscheinlichkeit P (Bi | A)
0.02 ist die Wahrscheinlichkeit, daß ein Mann farbenblind ist. 0.001 ist die Wahrscheinlichkeit, daß eine Frau farbenblind ist. 53 % der Bev¨olkerung sind M¨anner. W¨ahle zuf¨allig eine Person. Wie groß ist die Wahrscheinlichkeit, daß diese Person farbenblind ist ?
farbenblind
0.0
2
Beispiel:
Mann
0.4
0.0
farbenblind
o.k.
01
0.5
3
7
Frau
o.k.
Abbildung A.2: Beispiel zu Bayes
P (f b) = P (Mann)P (f b | Mann) + P (Frau)P (f b | Frau) = 0.53 · 0.02 + 0.47 · 0.001 Beispiel:
(A.17) (A.18)
Es existieren zwei m¨ogliche Nachrichten: 00000 mit der Wahrscheinlichkeit 0.6 und 11111 mit der Wahrscheinlichkeit 0.4. Mit welcher Wahrscheinlichkeit wurde 00000 gesendet, wenn zwei 0 und drei 1 empfangen wurden ?
2 · 0, 3 · 1
sonst
¨ 154ANHANG A. EINFUHRUNG IN DIE DISKRETE WAHRSCHEINLICHKEITSRECHNUNG
00000
0.6
0.4
11111
2 · 0, 3 · 1
sonst
Abbildung A.3: Beispiel zu Bayes
0.9
0
0.1
0
0.1
1
1
0.9
Abbildung A.4: Beispiel zu Bayes
P (2 · 0, 3 · 1 | 00000)P (00000) (Bayes) (A.19) P (2 · 0, 3 · 1) µ ¶ 5 (0.1)3 (0.9)2 (A.20) P (2 · 0, 3 · 1 | 00000) = 3 P (2 · 0, 3 · 1) = P (2 · 0, 3 · 1 | 00000)P (00000) (A.21) +P (2 · 0, 3 · 1 | 11111)P (11111) (A.22) µ ¶ µ ¶ 5 5 (0.1)2 (0.9)3 0.4 (A.23) (0.1)3 (0.9)2 0.6 + = 2 3 P (00000 | 2 · 0, 3 · 1) =
Anmerkung:
M¨ unzwurf n−mal (0 Wappen, 1 Zahl) i mal Zahl, n − i mal Wappen µ ¶ µ ¶i µ ¶n−i µ ¶ µ ¶n n 1 1 n 1 1− = i 2 2 2 i
(A.24)
155 1 2
0
2
1
1
0
2
1
1 1 2
Abbildung A.5: Beispiel zu M¨ unzwurf
Zufallsvariablen
X : Ω −→ {x1 , x2 , . . .}, Beispiel:
(A.25)
xi = Augenzahl i · 10 xi = Anzahl der “Zahl” bei n W¨ urfen
1) W¨ urfel 2) M¨ unzwurf
Prinzipiell:
X(ωj ) = xj
xi ist aus einem Alphabet, das abz¨ahlbar ist. X ist eine Abbildung.
Wahrscheinlichkeitsfunktion fX (x) (-dichte) fX (xi ) = fX (X = xi ) = P (ωi ) Folgerung: Beispiel:
fX (x) > 0,
P
(A.26)
fX (x) = 1
X = {10, 20, 30, 40, 50, 60}
W¨ urfel fX (10) =
1 6
Erwartungswert einer Zufallsvariablen E[X] =
X
xfX (x)
oft auch µX
(A.27)
x
Erweiterung: E[ f kt(X)] =
X
f kt(x)fX (x)
x
dadurch: quadratischer Mittelwert, etc.
(A.28)
¨ 156ANHANG A. EINFUHRUNG IN DIE DISKRETE WAHRSCHEINLICHKEITSRECHNUNG Beispiel:
Berechne den Erwartungswert beim Roulette (38 Zahlen). 1 DM wird auf eine Zahl gesetzt. Verlust: 1 DM Gewinn: 35 DM 37 2 1 + (−1) · =− 38 38 38
E[X] = 35 ·
(A.29)
Wahrscheinlichkeitsverteilung FX (x) x X
fX (x) = FX (x)
(A.30)
−∞
Bedingter Erwartungswert E[ f kt(X) | A] =
X x
f kt(x)fX|A (x | A)
(A.31)
Schranken Beispiel:
(Dirichlet-Prinzip) Gegeben L K¨asten und l > L Briefe, die zuf¨allig auf die L K¨asten verteilt werden (Erwartungswert: Ll ). Zwei Aussagen sind m¨oglich: i) in mindestens 1 Kasten sind mehr als ii) in mindestens 1 Kasten sind ≤
l L
l L
Briefe
Briefe
Markov Ungleichung:
P (X ≥ a) =
X
P (X ≥ a) ≤
fX (x)
x≥a
µX a
a>0
(A.32)
Beweis: x ≥1 a ≤ x −→ X Xx a Xx µX fX (x) ≤ fX (x) ≤ fX (x) = a a a x x≥a x≥a
(A.33) (A.34)
Folgerung: b=
a 1 : P (X ≥ b µX ) ≤ , µX b
b>0
(A.35)
Tschebyscheff Ungleichung: ¡
¢
2 σX P |X − µX | ≥ b ≤ 2 , b
b>0
(A.36)
157 Beweis: Ersetze in der Markov-Ungleichung X durch (X − µX )2 ¡ ¢ E[ f kt(X)] P f kt(X) ≥ a ≤ a Schwaches Gesetz der großen Zahlen: Der Mittelwert von N unabh¨angigen Mustern einer Zufallsvariablen X geht gegen den Erwartungswert E[X] ¡ ¢ lim P |SN − µX | < ² = 1 ,
²>0
(A.38)
Xi Muster der Zufallsvariablen X
(A.39)
N →∞
Folgerung:
N 1 X SN = Xi N i=1
(A.37)
Satz von Bernoulli
¯ ´ ³¯ n ¯ ¯ A ²>0 − P (A)¯ < ² = 1 , lim P ¯ n→∞ n Starkes Gesetz der großen Zahlen: Ab einem N liegen alle Mittelwerte Si>N beliebig dicht beim Erwartungswert ¡ ¢ lim P supi≥N |Si − µX | < ² = 1 ,
N →∞
Central Limit Theorem:
²>0
(A.40)
(A.41)
n unabh¨angige Zufallsvariablen Yj
Y1 + Y 2 + . . . + Y n n ist eine gaußverteilte Zufallsvariable Z=
(A.42)
Zufallsvektoren Zwei Zufallsvariablen: X, Y
=⇒
© ª Ω = (x1 , y1 ), (x1 , y2 ), . . .
Potenzmenge
(A.43)
Wahrscheinlichkeitsfunktion:
¡ ¢ fXY (xi , yj ) = fXY {X = xi } ∩ {Y = yj } = P (Bij )
(A.44)
Unabh¨angige Zufallsvariable (statistisch unabh¨angig)
fX1 X2 ...Xl (x1 , x2 , . . . , xl ) = fX1 (x1 )fX2 (x2 ) . . . fXl (xl )
(A.45)
Bedingte Wahrscheinlichkeitsfunktion: fX|Y (x | y) =
fXY (x, y) fY (y)
(A.46)
¨ 158ANHANG A. EINFUHRUNG IN DIE DISKRETE WAHRSCHEINLICHKEITSRECHNUNG (Wahrscheinlichkeit P (X = x) unter der Voraussetzung Y = y) es gilt:
X x
fX|Y (x | y) = 1
(A.47)
statistisch unabh¨angig: fX|Y (x | y) = fX (x) Bedingte Erwartungswerte: E[ f kt(X, Y ) | A] =
XX x
y
¡ ¢ f kt(x, y)P {X = x} ∩ {Y = y} | A
E[ f kt(X, Y ) | Y = y0 ] =
X x
mit A = {Y = y0 }
f kt(x, y0 )fX|Y (x | y0 )
(A.48) (A.49) (A.50)
Satz des totalen Erwartungswertes: E[X] =
X y
E[X | y] fY (y)
(A.51)
homogene Markov-Ketten Folge von diskreten Zufallsvariablen Xn , wobei gilt
P (Xn = xn | Xn−1 = xn−1 , . . . , X0 = x0 ) = P (Xn = xn | Xn−1 = xn−1 ) (A.52) ¨ Notation zu Ubergangswahrscheinlichkeiten zwischen den Zust¨anden:
pij = P (Xn = sj | Xn−1 = si )
(A.53)
159
p00 p01 0 0 Y p10 p11 p12 0 = 0 p21 p22 p23 0 0 p32 p33 X
Beispiel: p00
Zeile = 1
p11
(A.55)
p33
p22
p01
p23
p12 1
0
(A.54)
2 p21
p10
3 p32
Abbildung A.6: Beispiel einer Geburt-Tod-Kette Eine Markov-Kette heißt irreduzibel, wenn jeder Zustand erreicht werden kann (in einem oder mehreren Schritten). Eine Markov-Kette heißt aperiodisch, wenn sie keine periodischen Zust¨ande enth¨alt, das heißt ein Zustand kann nur nach l oder Vielfachen von l Schritten erreicht werden, dann ist er periodisch. Nur irreduzible, aperiodische Markov-Ketten werden betrachtet: Sei pj die Wahrscheinlichkeit, daß die Markov-Kette im Zustand j ist, dann gilt: X pj = pi Pij f¨ ur alle j (A.56) X
i alle Zust.
pj = 1
(A.57)
j alle Zust.
Globale Gleichgewichtsbedingung X X pi Pij = pj Pij i
(A.58)
i
Detaillierte Gleichgewichtsbedingung
pi Pij = pj Pji Anmerkungen
(A.59)
¨ 160ANHANG A. EINFUHRUNG IN DIE DISKRETE WAHRSCHEINLICHKEITSRECHNUNG pi kann durch die Gleichungen
p0 Y p1 = .. .
p0 p1 .. .
berechnet werden. Markov-Ketten werden als Markov Quellen ben¨otigt.
(A.60)
Anhang B Mathematische Grundlagen B.1
Zahlentheorie “Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk.” Leopold Kronecker
Wir ben¨otigen die Menge der ganzen Zahlen ZZ ZZ = {. . . , −2, −1, 0, 1, 2, . . .} Jede ganze Zahl a ∈ ZZ kann durch eine andere Zahl b ∈ ZZ, b 6= 0 eineindeutig durch den Quotienten q und einen Rest r dargestellt werden. Definition B.1 (Modulo Rechnung) Sei a, b, q, r ∈ ZZ und b 6= 0 a : b = q Rest r a = b·q+r a = r mod b b | a−r
sprich: kongruent b teilt a − r
Falls der Rest r = 0 ist, so teilt b die Zahl a, man schreibt b|a. Die Modulorechnung kann bei Additionen bei den Summanden oder bei Multiplikationen bei den Faktoren durchgef¨ uhrt werden. a + b mod c = (a mod c + b mod c) mod c a · b mod c = ((a mod c) · ( mod c)) mod c ¯ 161
162
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Dies ist plausibel durch die folgende Darstellung der Zahlen: a = qa c + ra und b = qb c + rb
a+b mod c = ((qa c+ra )+(qb c+rb )) mod c = (ra +rb ) mod c = (a mod c+b mod c) mod c Entsprechend bei der Multiplikation. Definition B.2 (Primzahl) Eine Zahl p ∈ ZZ p > 0, die nur durch 1 und sich selbst teilbar ist, heißt Primzahl.
B.1.1
Euklidscher Algorithmus
Der gr¨oßte gemeinsame Teiler ggT von zwei ganzen Zahlen ist die gr¨oßte ganze Zahl, die a und b ohne Rest teilt, Satz B.3 Euklidscher Algorithmus Seien a, b ∈ ZZ, b 6= 0 und a < b, dann kann der gr¨oßte gemeinsame Teiler von a und b, ggT(a, b), mit dem euklidschen Algorithmus wie folgt berechnet werden: b = q1 · a + r1 a = q 2 · r1 + r2 r1 = q 3 · r 2 + r 3 .. .
mit a = r0 , b = r−1 : rj−1 = qj+1 · rj + rj+1
rj+1 < rj
rn−1 = qn+1 · rn + 0 ggT (a, b) = rn . Beweis: rn teilt rn−1 , deshalb auch rn−2 (rn−2 = qn · rn−1 + rn ) und rn−3 , . . . , d.h. auch a und b. Andererseits gilt, w¨ urde t ∈ IN die Zahlen a und b teilen, so w¨ urde t auch r1 , r2 , . . . , rn teilen, somit ist rn der ggT. q.e.d. Definition B.4 (Teilerfremd, Relativ Prim) Gilt f¨ ur zwei Zahlen a, b 6= 0: ggT (a, b) = 1, so sind a und b teilerfremd; man sagt auch: relativ prim.
Satz B.5 F¨ ur beliebige ganze Zahlen a, b ∈ ZZ, b 6= 0 existieren ganze Zahlen w, v ∈ ZZ, so daß gilt ggT (a, b) = w · a + v · b
B.1. ZAHLENTHEORIE
163
Beweis: b = q1 · a a = q 2 · r1 r1 = q 3 · r 2 .. .
+ r1 + r2 + r3
rj = qj+2 · rj+1 + rj+2 .. . rl
= ql+2 · rl+1
+ 0.
Jeder Rest rj kann durch a und b dargestellt werden: rj = v j · b + w j · a . Die vj und wj sind rekursiv berechenbar. Dabei beginnt man zweckm¨aßigerweise mit b, a, r1 , . . . b = a = r1 = .. .
v−1 b + v0 b + v1 b +
w−1 a w0 a w1 a
rj = .. .
vj b +
wj a
rl+2 = vl+2 b + wl+2 a = 0 . Die vj und wj ergeben sich durch: v−1 = v0 = v1 = .. .
1 0 v−1 − q1 v0
vj = vj−2 − qj vj−1
w−1 = w0 = w1 = .. .
0 1 w−1 − q1 w0
wj = wj−2 − qj wj−1 . q.e.d.
Beispiel B.1 Wir berechnen ggT(42, 24): 42 : 24 = 1 Rest 18, 42 = 1 · 24 + 18 24 : 18 = 1 Rest 6, 24 = 1 · 18 + 6 18 : 6 = 3 Rest 0, 18 = 3 · 6 + 0 ggT (42, 24) = 6
164
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Jetzt wollen wir jeden Rest, d.h. 18,6 und 0 durch die Zahlen 42 und 24 darstellen. Entsprechend der Rekursion f¨ ur vi und wi berechnen wir zun¨achst diese Werte mit q1 = 1, q2 = 1 und q3 = 3 v−1 v0 v1 v2 v3
= 1 = 0 = v−1 − q1 v0 = 1 = v0 − q2 v1 = −1 = v 1 − q 3 v2 = 4
w−1 w0 w1 w2 w3
= 0 = 1 = w−1 − q1 w0 = −1 = w 0 − q 2 w1 = 2 = w1 − q3 w2 = −7
Damit ergibt sich 42 24 18 6 0
= 1 · 42 = 0 · 42 = 1 · 42 = −1 · 42 = 4 · 42
− + − + −
0 · 24 1 · 24 1 · 24 2 · 24 7 · 24
Anmerkung: Der euklidsche Algorithmus gilt auch f¨ ur Polynome, d.h. a(x) = a0 + a1 x + . . . + am x m .
Eigenschaften des ggT 1) ggT(a, 0) = |a|, a > 0 2) ggT(a, b) = ggT(a + i · b, b), i ∈ ZZ 3) ggT(a, b) = v · b + w · a, v, w ∈ ZZ Achtung v, w nicht eindeutig !
4) ggT(a, b) = ggT(c, b) = 1 =⇒ ggT(a · c, b) = 1 ¡ ¢ 5) a) a, b gerade, ggT(a, b) = 2 · ggT a2 , 2b ¡ ¢ b) a gerade, b ungerade, ggT(a, b) = ggT a2 , b ¡ ¢ c) a, b ungerade, ggT(a, b) = ggT a−b , b 2 6) a|b · c und ggT(a, b) = 1 =⇒ a|c.
Die Eigenschaften 1,2,5a und 5b sind plausibel. Eigenschaft 3 wurde gerade gezeigt. Im folgenden wollen wir noch die Eigenschaften 4, 5c und 6 plausibel machen.
¨ B.2. GRUPPE, RING, KORPER, GALOISFELD
165
zu 4: Wegen ggT(a, b) = ggT(c, b) = 1 k¨onnen wir schreiben: 1 = vb + wa = v 0 b + w0 c Wir erhalten wa = 1 − vb und w 0 c = 1 − v 0 b
Oder aber: ww 0 ac = (1 − vb)(1 − v 0 b), d.h. der ggT(ac, b) = 1. zu 5c: Mit der Eigenschaft 2 k¨onnen wir schreiben ggT(a, b) = ggT(a + b, b). Da + b und erneut a + b gerade ist gilt Eigenschaft 5b. Mit 12 (a + b) = a−b 2 Eigenschat 2 folgt die Aussage. zu 6: Wir schreiben erneut 1 = vb + wa. Multiplizieren wir mit c, so erhalten wir c = vbc + wac. Daraus folgt, daß a die Zahl c teilen muß. Chinesischer Restsatz Der chinesische Restsatz sagt aus, daß ein System aus k linearen Kongruenzen a1 · x = b1 mod c1 a2 · x = b2 mod c2 .. . ak · x = bk mod ck f¨ ur x genau eine eindeutige L¨osung modulo c = c1 · c2 · . . . · ck hat, wenn alle ci teilerfremd sind und ggT(ai , ci ) = 1 f¨ ur alle i ist.
B.2 B.2.1
Gruppe, Ring, K¨ orper, Galoisfeld Gruppe
Eine Gruppe G ist eine Menge von Elementen A mit einer Verkn¨ upfung ∗, wenn folgende Axiome erf¨ ullt sind: I. Abgeschlossenheit: ∀a,b∈A : a ∗ b ∈ A . II. Assoziativit¨at: ∀a,b,c∈A : a ∗ (b ∗ c) = (a ∗ b) ∗ c . III. Existenz eines neutralen Elementes e: ∃e∈A : ∀a∈A : a ∗ e = a . IV. Inverses Element: ∀a∈A : ∃b∈A : a ∗ b = e . Gilt in einer Gruppe zus¨atzlich Kommutativit¨at:∀a,b∈A : a ∗ b = b ∗ a , dann heißt sie kommutative oder auch abelsche Gruppe.
166
B.2.2
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Ring
Ein Ring R ist eine Menge A mit zwei Verkn¨ upfungen (der Addition + und der Multiplikation ·), wenn die folgenden Axiome gelten: I. A ist eine abelsche Gruppe bez¨ uglich der Addition. II. Abgeschlossenheit bez¨ uglich der Multiplikation: ∀a,b∈A : a · b ∈ A . III. Assoziativit¨at: ∀a,b,c∈A : a · (b · c) = (a · b) · c . IV. Distributivit¨at: ∀a,b,c∈A : a · (b + c) = a · b + a · c . Definition B.6 (Restklassenring Z Z m) Das Rechnen (Addieren, Multiplizieren) modulo m von ganzen Zahlen erf¨ ullt alle Eigenschaften eines Ringes. Die Menge der Zahlen {0, 1, . . . , m − 1} bildet zusammen mit den Verkn¨ upfungen (+, ·) den sogenannten Restklassenring ZZ m = {[0]m , [1]m , . . . , [m − 1]m }. Man sagt: Beim Rechnen mod m bilden die Zahlen m, 2m, 3m, . . . die Restklasse [0]m . Die Elemente von ZZ m besitzen nicht notwendigerweise ein inverses Element bez¨ uglich der Multiplikation, d.h. a−1 , a ∈ ZZ m ,
a−1 : a−1 · a = 1 mod m
muß nicht f¨ ur alle a ∈ ZZ l¨osbar sein. Beispiel B.2 Betrachten wir ZZ 6 : 1·1=1 1·2=2 1·3=3 1·4=4 1·5=5
mod mod mod mod mod
6, 6, 6, 6, 6,
2·2=4 2·3=0 2·4=2 2·5=4
mod mod mod mod
6, 6, 3 · 3 = 3 mod 6, 6, 3 · 4 = 0 mod 6, 4 · 4 = 4 mod 6, 6, 3 · 5 = 3 mod 6, 4 · 5 = 2 mod 6, 5 · 5 = 1 mod 6.
Die Elemente 1 und 5 sind invertierbar und die Elemente 2,3,4 sind nicht invertierbar (0 ist nicht invertierbar).
Satz B.7 (ohne Beweis) Ein Element a ∈ ZZ m ist genau dann invertierbar, wenn gilt ggT(a, m) = 1 und die Menge der invertierbaren Elemente in ZZ m bildet eine abelsche Gruppe bez¨ uglich der Multiplikation.
Definition B.8 (Ordnung einer Gruppe) Die Anzahl der unterschiedlichen Elemente einer Gruppe ist gleich der Ordnung der Gruppe.
¨ B.2. GRUPPE, RING, KORPER, GALOISFELD
167
Definition B.9 (Ordnung eines Elements) Gilt f¨ ur ein Element a ∈ ZZ m : a 6= 0 : ai
= 6 = 6= 6= =
1 1 1 1 1
mod mod mod mod mod
6 6 6 6 6
Die Elemente 1 und 5 haben die Ordnung 2 und die Elemente 2,3,4 die Ordnung ∞. Dies h¨angt selbstverst¨andlich mit der Invertierbarkeit zusammen.
Eulersche φ–Funktion Definition B.10 (Eulersche φ–Funktion) Sei m ∈ IN , so ist die Eulersche φ–Funktion definiert als die Anzahl der Zahlen i : 1 ≤ i < m f¨ ur die ggT(i, m) = 1 ist. φ(m) = |{i : ggT(i, m) = 1}|, 1 ≤ i < m
Es gilt φ(1) = 1.
Damit ist φ(m) also genau die Anzahl der invertierbaren Elemente des Ringes ZZ m . Satz B.11 (Eulers Theorem) Sei m ∈ IN , a ∈ ZZ m und ggT(a, m) = 1, dann gilt aφ(m) = 1 mod m
B.2.3
K¨ orper, Galois–Feld
Ein K¨ orper (field) IF ist eine Menge A mit zwei Verkn¨ upfungen (+, ·), wenn die folgenden Axiome gelten: I. II. III.
A ist eine abelsche Gruppe bez¨ uglich der Addition. A (ohne Nullelement) ist eine abelsche Gruppe bez¨ uglich der Multiplikation. Distributivit¨at: ∀a,b,c∈A : a · (b + c) = a · b + a · c .
168
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Primko ¨rper Definition B.12 (Primko ugen die ¨rper) Sei p ∈ IN eine Primzahl, so gen¨ Elemente {0,1,. . . , p − 1} und das Rechnen (+, ·) modulo p den Axiomen eines K¨orpers. Dieser K¨orper wird Primk¨orper genannt und mit GF (p) bezeichnet (GF: Galois–Feld). Wir wollen nun am Primk¨orper GF (5) die Axiome u ufen. ¨berpr¨ Beispiel B.4 Der Primk¨ orper GF (5) besteht aus 5 Elementen, d.h. A = {0, 1, 2, 3, 4}, die Addition und die Multiplikation sollen in Ergebnistafeln dargestellt werden. Es gilt z.B. : 4 + 3 = 7 = 5 + 2 = 2 mod 5, 2 · 4 = 8 = 5 + 3 = 3 mod 5 . + 0 1 2 3 4
0 0 1 2 3 4
1 1 2 3 4 0
2 2 3 4 0 1
3 3 4 0 1 2
4 4 0 1 2 3
· 0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 4
2 0 2 4 1 3
3 0 3 1 4 2
4 0 4 3 2 1
Die Menge muß eine abelsche Gruppe bez¨ uglich der Addition sein. An der Ergebnistafel erkennt man, daß die Abgeschlossenheit erf¨ ullt ist. Die Kommutativit¨at folgt aus der Symmetrie zur Diagonalen. Die Assoziativit¨at bez¨ uglich der Addition ist erf¨ ullt, denn a+(b+c) = (a+b)+c gilt f¨ ur alle ganzen Zahlen. Das inverse Element zu a ist p−a = 5−a, da a + p − a = p = 0 mod p gilt. Die Menge muß eine abelsche Gruppe bez¨ uglich der Multiplikation sein (ohne 0). Kommutativit¨at und Abgeschlossenheit kann man entsprechend wie bei der Addition aus der Ergebnistafel ablesen. Die Assoziativit¨at bez¨ uglich der Multiplikation ist erf¨ ullt, denn a · (b · c) = (a · b) · c gilt f¨ ur alle ganzen Zahlen. Das neutrale Element ist e = 1. Das inverse Element zu 2 ist 3, wegen 2 · 3 = 1 mod 5 und umgekehrt wegen der Kommutativit¨at. Das inverse Element zu 4 ist 4, denn 4 · 4 = 1 mod 5, d.h. 4 ist zu sich selbst invers. Das letzte Axiom besagt, daß Distributivit¨at gelten muß, die aber f¨ ur alle ganzen Zahlen gilt.
Somit erf¨ ullt GF(5) alle Axiome eines K¨orpers. Primitives Element Definition B.13 (Primitives Element) Ein Element α ∈ GF (p) dessen p − 1 Potenzen αj , j = 1, . . . , p − 1 genau alle Elemente a 6= 0 des Galois–Feldes erzeugen, heißt primitives Element.
¨ B.2. GRUPPE, RING, KORPER, GALOISFELD
169
Da ein Galois–Feld nur endlich viele Elemente a ∈ GF (p) enth¨alt, m¨ ussen sich i die Elemente a , i = 1, 2, 3, . . . modulo p zwangsl¨aufig wiederholen, d.h. f¨ ur ein ir p ir ur ein primitives Element α gilt: α = α mod p muß gelten: a = a mod p. F¨ also αp−1 = 1 mod p. Ist air = a mod p, so ist air +j = a1+j mod p, was bedeutet, daß sich die Elemente in identischer Reihenfolge wiederholen. Definition B.14 (Ordnung eines Elements) Gilt f¨ ur ein Element a eines Galois–Feldes GF (p): a ∈ GF (p), a 6= 0 : ai
q.e.d.
Beispiel B.5 Das Element 2 ist primitives Element von GF (5): 21 = 2, 22 = 4, 23 = 8 = 3, 24 = 16 = 1 mod 5. Das Element 3 ist ebenfalls ein primitives Element: 31 = 3, 32 = 9 = 4, 33 = 27 = 2, 34 = 81 = 1 mod 5. Das Element 4 hat die Ordnung 2 (2 ist Teiler von 4 = p − 1): 41 = 4, 42 = 16 = 1 mod 5. Man kann alle Elemente von GF (5) entweder durch Potenzen von 2 oder 3 darstellen. Der Null wird formal der Exponent −∞ zugeordnet. Um zwei Elemente zu multiplizieren, kann man die Exponenten modulo p − 1 addieren. Etwa: 2 · 4 = 8 = 3 = 21 · 22 = 23 = 3 mod 5 . Wir haben damit zwei m¨ ogliche Darstellungsformen der Elemente eines Galois–Feldes, die Darstellung mittels des Exponenten und die als Zahl.
170
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Existenz eines inversen Elementes: Jedes Element α < p ist gem¨aß der Definition einer Primzahl zu p teilerfremd, d.h. f¨ ur alle α ∈ GF (p) gilt: ggT (α, p) = 1 . Es existieren zwei Zahlen u und w, so daß gilt: w·α+u·p=1 . Anders ausgedr¨ uckt: w · α = 1 mod p w = α−1 . Damit haben wir gezeigt, daß bei jedem Primk¨orper GF (p) zu jedem Element α 6= 0 ein eindeutiges inverses Element α−1 existiert.
B.3
Primzahlen, Faktorisierung von Zahlen
Schon Euklid hat gezeigt, daß es unendlich viele Primzahlen gibt. Nimmt man an es gebe q Primzahlen p1 , p2 , . . . pq dann ist die Zahl q Y
pi + 1
i=1
durch keine der Zahlen p1 , p2 , . . . pq teilbar. Es gab sehr viele Bem¨ uhungen Primzahlen zu konstruieren. So hat Fermat vern mutet, daß jede Zahl 22 + 1 eine Primzahl sei, was falsch ist und schon durch Euler 1732 erkannt wurde. Weiterhin gibt es Mersennsche Primzahlen, n¨amlich 2p −1, p Primzahl. Daß diese Zahl nicht immer Primzahl ist wurde 1886 gefunden. Derart gibt es noch zahllose Beispiele. F¨ ur weitergehende Studien zu Primzahlaspekten sei z.B. auf Hardy, Wright Einf¨ uhfrung in die Zahlentheorie , Oldenburg Verlag 1958 verwiesen. Der Fundamentalsatz der Zahlentheorie besagt, daß jede Zahl eindeutig mittels Primzahlen Faktorisiert werden kann. Satz B.17 Fundamentalsatz der Zahlentheorie Jede Zahl a ∈ IN kann eineindeutig dargestellt werden durch Y a= pei i i
mit pi : Primzahl und ei ∈ IN .
B.3. PRIMZAHLEN, FAKTORISIERUNG VON ZAHLEN
171
Damit k¨onnen wir den ggT von zwei Zahlen mittels den ihrer Faktorisierung gemeinsamen Primzahlen angeben: ggT(a, b) =
Y
min{ei ,e0i }
pi
i
mit a =
B.3.1
Q
i
pei i und b =
Q
e0i
i
pi .
Primzahltest
Aus Eulers Theorem wissen wir, daß gilt aφ(m) = 1 mod m Ein Spezialfall davon, der Fermatsche Satz, ergibt sich, wenn m = p eine Primzahl ist. Dann gilt φ(m) = m − 1 und f¨ ur jede Zahl a < m ist ggT(a, m) = 1. Satz B.18 (Fermatscher Satz) Sei m = p ∈ IN eine Primzahl und a ∈ ZZ m so gilt: ggT(a, m) = 1 und am−1 = 1 mod m Damit kann man nun testen, ob eine gegebene Zahl n eine Primzahl sein kann. Dann n¨amlich muß gelten an−1 = 1 mod n f¨ ur alle 1 ≤ a < n. Falls sich nicht 1 ergibt, so ist n sicher keine Primzahl und falls sich 1 ergibt, so nennt man n eine Pseudoprimzahl bez¨ uglich a. n kann selbstverst¨andlich dann auch eine echte Primzahl sein. Sieb des Eratosthenes Damit kann man eine Primzahltafel bis zu einer bescheidenen Grenze n erstellen. Man weiß, wenn n keine Primzahl ist, dann muß n durch eine Primzahl pi < q teilbar sein, mit q 2 ≥ n und (q − 1)2 < n. Man schreibt sich nun alle Zahlen auf, 2, 3, 4, . . . , n und streicht danach alle Vielfachen von 2 aus, d.h. 2, 4, 6, 8, . . .
172
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Danach nimmt man das erste Quadrat der noch nicht gestrichenen Zahl nach 2, d.h 3 und streicht alle Vielfachen von 3, also
9, 15, 21, 27, . . .
Danach nimmt man das erste Quadrat der noch nicht gestrichenen Zahl nach 3, d.h 5 und streicht alle Vielfachen von 5, also
35, 35, 55, 65, . . .
usw.
Es gibt noch eine Vielzahl von weiteren Primzahltests, auf die hier nicht n¨aher eingegangen werden soll. Interessant ist jedoch, daß fast alle Test als Modifikationen von Fermats Theorem aufgefaßt werden k¨onnen.
B.4
Zusammenfassung
Die Zahlentheorie stellt eine F¨ ulle von Problemen zur Verf¨ ugung, die nur unter sehr großem Aufwand berechenbar sind. Etwa stellt die Faktorisierung einer sehr großen Zahl ein noch sehr rechenaufwendiges Problem dar, da es kein Verfahren zur Berechnung gibt. Dagegen ist die Frage, ob eine gegebene sehr große Zahl (etwa 100 Dezimalstellen) eine Primzahl ist, durch die Tests vergleichsweise z¨ ugig zu l¨osen.
Viele kryptographische Verfahren basieren auf diesem Effekt, d.h. es wird etwa das Produkt von zwei großen Primzahlen benutzt und der Kryptoanalytiker muß die Faktorisierung l¨osen.
B.4. ZUSAMMENFASSUNG
173
Weiterhin wird das Logarithmus Problem verwendet. Hierzu potenziert man eine invertierbare Zahl a ∈ ZZ m und rechnet modulo m. ae = b mod m Das Problem ist nun aus b den Exponenten e zu bestimmen. Auf dem Gebiet der Zahlentheorie gibt es auch noch zahlreiche Forschungsaktivit¨aten, haupts¨achlich auf dem Gebiet der Algorithmen zur L¨osung von zahlentheoretischen Problemen, deren L¨osung identisch ist mit der Kryptoanalyse eines kryptographischen Systems.
174
ANHANG B. MATHEMATISCHE GRUNDLAGEN
Abbildungsverzeichnis 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13
Das allgemeine Modell in der Informationstheorie Datensicherheit als Blockdiagramm . . . . . . . . Schaubild der bin¨aren Entropiefunktion . . . . . . Beispiel zur bin¨aren Entropie . . . . . . . . . . . Grafik zum Lemma der IT-Ungleichung . . . . . . Schranken von Pe . . . . . . . . . . . . . . . . . . Beispiel zur bin¨aren Entropie . . . . . . . . . . . Tabelle zu den typischen Sequenzen . . . . . . . . DMC: Discrete Memoryless Channel . . . . . . . Die Kanalmodelle BSC und BEC . . . . . . . . . Streng dispersiv (a) und streng fokussierend (b) . Blockbild zur Kanalcodierung mit DMC . . . . . Entropie– und Informationsfluß . . . . . . . . . .
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20
Quelle und Alphabet . . . . . . . . . . . . . . . . . . . . . Quellencodierer mit variabler Blockl¨ange . . . . . . . . . . Pr¨afixfreie und nicht pr¨afixfreie Codierung . . . . . . . . . Beispiel zur Kraft-Ungleichung . . . . . . . . . . . . . . . . Shannon-Fano Codierung . . . . . . . . . . . . . . . . . . . Beispiel zur Huffman-Codierung mit D=2 (bin¨ar) . . . . . Beweis zu Huffman-Codierung . . . . . . . . . . . . . . . . Huffman-Codierung mit D=3 . . . . . . . . . . . . . . . . Der Parser zwischen der Quelle und dem Codierer . . . . . Beispiel zu Sequenzen . . . . . . . . . . . . . . . . . . . . . Zum Beweis des Tunstall-Lemmas . . . . . . . . . . . . . . Massey-Beispiel zum Tunstall-Algorithmus . . . . . . . . . Diskrete Markov-Quelle . . . . . . . . . . . . . . . . . . . . Beispiel einer irreduziblen Markov-Quelle . . . . . . . . . . Beispiel zu einer unifilaren Markov-Quelle . . . . . . . . . Anwachsen der Codewortl¨angen mit n f¨ ur B(n), B1 (n) und Elias-Willems-Codierer . . . . . . . . . . . . . . . . . . . . Lempel-Ziv-Codierung LZ78 . . . . . . . . . . . . . . . . . Arbeitsweise des Algorithmus LZ78 . . . . . . . . . . . . . Rate-Distortion . . . . . . . . . . . . . . . . . . . . . . . . 175
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
8 9 12 12 14 20 21 26 28 29 30 30 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B2 (n) . . . . . . . . . . . . . . . .
33 33 34 36 38 39 39 41 41 43 44 46 47 50 51 54 55 58 58 59
176
ABBILDUNGSVERZEICHNIS 2.21 Beispiel zu Rate-Distortion: Testkan¨ale . . . . . . . . . . . . . . .
61
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12
Blockbild der Kanalcodierung . . . . . . . . . . Ein BSC f¨ ur den Wiederholungscode . . . . . . Beispiel zu einem Wiederholungscode mit n = 2 Blockbild eines Wiederholungscodes . . . . . . . Tabelle zu Decodierfehler mit dem Parameter ² Tabelle zur Gewichtsverteilung A . . . . . . . . Skizze zur Blockfehlerwahrscheinlichkeit . . . . Die Unterteilung des Raumes . . . . . . . . . . Tabelle zur Gewichtsverteilung A . . . . . . . . Union-Bound f¨ ur Blockfehlerwahrscheinlichkeit . Die Gewichtsverteilung in Abh¨angigkeit von ² . Schaubild zum Error–Exponenten . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
63 66 66 69 70 72 73 74 74 75 77 78
4.1 4.2 4.3 4.4 4.5 4.6 4.7
Der zeitdiskrete Gaußkanal . . . . Die Situation im Empf¨anger . . . Parallele unabh¨angige Gaußkan¨ale Water-Filling . . . . . . . . . . . Schaubilder zum Abtasttheorem . Schaubilder zum Abtasttheorem . Codiergewinn . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
80 81 82 83 83 84 85
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13
Einige m¨ogliche Szenarien der Mehrbenutzerkommunikation Allgemeiner Fall der Mehrbenutzerkommunikation . . . . . . Blockbild der Duplexkommunikation . . . . . . . . . . . . . EXOR Operation des Kanals . . . . . . . . . . . . . . . . . . Der kompatible Kanal . . . . . . . . . . . . . . . . . . . . . Der inkompatible Kanal . . . . . . . . . . . . . . . . . . . . Blockbild des Vielfachzugriffs mit 2 Sender . . . . . . . . . . Kanalkapazit¨at bei Vielfachzugriff mit 2 Nutzern . . . . . . . Beispiel mit si-f¨ormigem Elementarsignal . . . . . . . . . . . TDMA, mit K Nutzern . . . . . . . . . . . . . . . . . . . . . diskreter ged¨achtnisloser Rundfunkkanal . . . . . . . . . . . Blackwell-Kanal . . . . . . . . . . . . . . . . . . . . . . . . . Kapazit¨atsbereich f¨ ur den Blackwell-Kanal . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
87 88 88 89 89 90 90 91 91 92 94 95 95
6.1 6.2 6.3 6.4 6.5 6.6 6.7
Symmetrisches Verfahren (gleicher Zur Notation von Chiffren . . . . Angriffe auf Kommunikation . . Modell eines Chiffre . . . . . . . . Kryptogramm . . . . . . . . . . Grundstruktur des DES . . . . . Schl¨ usselauswahl . . . . . . . . .
. . . . . .
. . . . . . .
99 99 104 109 112 116 119
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Schl¨ ussel auf beiden Seiten) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ABBILDUNGSVERZEICHNIS
177
6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22
16 Verschl¨ usselungsschritte . . . . . . . . . . . . Transformationen F(.) und T(.) . . . . . . . . . Funktion f . . . . . . . . . . . . . . . . . . . . . Electronic Code Book . . . . . . . . . . . . . . . Cipher Block Chaining . . . . . . . . . . . . . . Output Feedback . . . . . . . . . . . . . . . . . Cipher Feedback . . . . . . . . . . . . . . . . . Strom–Verfahren . . . . . . . . . . . . . . . . . Lineares r¨ uckgekoppeltes Schieberegister . . . . Allgemeines Schieberegister mit R¨ uckkoppelung Hadamard Combiner . . . . . . . . . . . . . . . Authentifikation . . . . . . . . . . . . . . . . . . Authentifikation in einem fremden Netz . . . . . Schl¨ usselerzeugung und Verschl¨ usselung . . . . . Authentifikation und Verschl¨ usselung . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
121 123 123 124 124 124 124 126 130 130 132 147 148 149 150
A.1 A.2 A.3 A.4 A.5 A.6
Mengenbegriffe . . . . . . . . . Beispiel zu Bayes . . . . . . . . Beispiel zu Bayes . . . . . . . . Beispiel zu Bayes . . . . . . . . Beispiel zu M¨ unzwurf . . . . . . Beispiel einer Geburt-Tod-Kette
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
151 153 154 154 155 159
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
178
ABBILDUNGSVERZEICHNIS
Tabellenverzeichnis 2.1 2.2 2.3
bin¨are Darstellung von positiven ganzen Zahlen . . . . . . . . . . pr¨afixfreier Code B1 (n) . . . . . . . . . . . . . . . . . . . . . . . . pr¨afixfreier Code B2 (n) . . . . . . . . . . . . . . . . . . . . . . . .
52 53 53
Problemstellungen der Kryptographie . . . . . . . . . . . . . . . . Auftrittswahrscheinlichkeit der Buchstaben in der deutschen Sprache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Auftrittswahrscheinlichkeit f¨ ur Buchstabenpaare . . . . . . . . . . 6.4 Initial Permutation IP . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Inverse Initial Permutation IP−1 . . . . . . . . . . . . . . . . . . . 6.6 Expansion E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.7 Permutation P . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8 Anzahl der Links-Shifts bei Chiffrierung . . . . . . . . . . . . . . 6.9 Anzahl der Rechts-Shifts bei Dechiffrierung . . . . . . . . . . . . . 6.10 Schl¨ usselpermutation PC-1 . . . . . . . . . . . . . . . . . . . . . . 6.11 Schl¨ usselpermutation PC-2 . . . . . . . . . . . . . . . . . . . . . . 6.12 Substitutionsboxen . . . . . . . . . . . . . . . . . . . . . . . . . .
97
6.1 6.2
179
106 107 117 117 117 118 119 119 120 120 122
180
TABELLENVERZEICHNIS
Literaturverzeichnis [1] J. Ziv and A. Lempel. Compression of individual sequences via variable-rate coding. IEEE Trans. Inf. Theory, 24(5), September 1978. [2] R. G. Gallager. Information Theory and Reliable Communication. John Wiley & Sons, New York, 1968. ISBN W-471-29048-3. [3] R. Johannesson. Informationstheorie - Grundlagen der (Tele-)Kommunikation. Addison-Wesley, Lund, Schweden, 1992. ISBN 3-89319-465-7. [4] R. E. Blahut. Principles and Practice of Information Theory. AddisonWesley, Reading, Massachusetts, 1990. ISBN 0-201-10709-0. [5] T. M. Cover and J. A. Thomas. Elements of Information Theory. John Wiley & Sons, New York, 1991. ISBN 0-471-06259-6. [6] David Slepian (ed.). Key Papers in the Development of Information Theory. IEEE Press, New York, 1973. ISBN 0-87942-027-8. [7] Sheldon M. Ross. Introduction to Probability Models. Academic Press Inc., San Diego, Ca., 1989. ISBN 0-12-598464-2. [8] R. G. Gallager. Discrete Stochastic Processes. Kluwer Academic Puplisher Group, Dordrecht, The Netherlands, 1996. ISBN 0-7923-9583-2. [9] A. Beutelspacher and et al. Kryptologie. Vieweg & Sons, Braunschweig, 1993. ISBN 3-528-06590-7. [10] W. Fumy and et al. Kryptographie. Oldenbourg, M¨ unchen, 1993. ISBN 3-486-22213-9. [11] G. J. Simmons (ed.). Contemporary Cryptology. Kluwer Academic Publishers, 1988. ISBN 0-89838-271-8. [12] H. C. van Tilborg. An Introduction to Cryptology. Kluwer, 1996. ISBN 0-89838-271-8.
181