04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da die rechte Seite symmetrisch in A und B ist folgt 6.2 Perfekte Sicherheit I(A; B C) = I(B; A C). Wir diskutieren in diesem Abschnitt die Sicherheit von Kryptosystemen. Wir nehmen an, daß einem Angreifer beliebig viele Kryptogramme zur Verfügung stehen. Solche Angriffe heißen in der englischsprachigen Literatur ciphertextonly attacks. Ohne Einschränkung nehmen wir an, daß P M (m) > 0 für alle m M und daß P C (c) > 0 für alle c C gilt. Definition 6.5 (Shannon). Das Verschlüsselungsschema E ist perfekt sicher wenn C und M unabhängig sind, d.h. die Verteilung auf MC ist das Produkt aus den Verteilungen auf M und auf C: P MC (mc) = P M (m) P C (c), for all m M, c C. Perfekte Sicherheit besitzt folgende äquivalenten Charakterisierungen: Satz 6.6. Die folgenden Bedingungen sind äquivalent:. E ist perfekt sicher. 2. p(c m) = P C (c), für alle m M und c C. 3. p(c m) = p(c m ), für alle m, m M und c C. 4. p(m c) = P M (m), für alle m M und c C.
6 KRYPTOGRAPHIE 05 5. Der Kanal (M, C, P M,C ) ist total gestört. 6. Die gegenseitige Information I(M; C) = 0. Lemma 6.7. Sei (K, M, C, E) perfekt sicher. Dann ist die Abbildung E m := E(, m) : K C surjektiv und es gilt M. Beweis. Sei m M und c C. Ohne Einschränkung sei P C (c) > 0 für alle c C. Da E perfekt sicher ist gilt p(c m) = P C (c) für alle mc MC. Mit P C (c) > 0 ist auch p(c m) > 0. Somit gibt es zu mc MC mindestens ein k K mit E(k, m) = c d.h. E m ist surjektiv. Insbesondere folgt C. Da E k injektiv ist folgt C M. Also gilt auch M. Bemerkung. Sei E ein Verschlüsselungsschema mit M =. Wir betrachten die Matrix E := (E(k, m)) k K. Da die Verschlüsselungsfunktion E k = E(k, ) bijektiv ist, sind die Elemente in jeder Zeile von E paarweise verschieden. Ist E perfekt sicher und = C ist, dann ist E m := E(, m) : K C bijektiv. Die Elemente in jeder Spalte von M sind deshalb paarweise verschieden. Für M = C ist jede Zeile und Spalte eine Permutation auf M. Eine n n Matrix E mit dieser Eigenschaft, heißt lateinisches Quadrat der Ordnung n. Jedes lateinisches Quadrat E definiert ein Verschlüsselungsschema E. Die Verschlüsselungsfunktion E k, k K, ist die Permutation, die durch die Zeile E(k, m) definiert ist. Wird der Schlüssel k gleichverteilt in K gewählt, so zeigt Theorem 6.8, daß E perfekt sicher ist. Beispiel. Der Cäsar Chiffre auf dem Nachrichtenraum {a, b, c, d, e, f, g} ist folgendes lateinische Quadrat zugeordnet: a b c d e f g b c d e f g a c d e f g a b d e f g a b c. e f g a b c d f g a b c d e g a b c d e f
06 6.2 Perfekte Sicherheit Theorem 6.8 (Shannon). Sei E ein eindeutig decodierbares Verschlüsselungsschema mit M = = C. Dann sind äquivalent:. (K, M, C, E) ist perfekt sicher. 2. (a) P K (k) =, k K. (b) E m := E(, m) : K C, m M, ist bijektiv. Beweis. Sei E perfekt sicher. Wegen = C und Lemma 6.7 ist die Abbildung E m := E(, m) : K C sogar bijektiv für alle m M. Insbesondere folgt: Zu mc MC gibt es genau ein k mit E(k, m) = c. Somit gilt P MC (mc) = P KM ( km) = P KM (km) = P K (k) P M (m). k K,E( k,m)=c Da M und C unabhänging sind gilt und ( ) P M (m) P C (c) = P MC (mc) = P K (k) P M (m) P K (k) = P C (c), für k = E m (c). Sei nun c fest. Für beliebiges k K betrachte m = E k (c). Dann gilt E(k, m) = E m (k) = c, d.h. Em (c) = k. Wegen ( ) folgt P K (k) = P C (c), d.h. P K ist gleichverteilt. Es gelte die Bedingung 2. Da E m bijektiv ist gibt es zu m, c MC genau ein k mit E(k, m) = c. Also gilt {k K E(k, m) = c} =. Es folgt p(c m) = k K P K (k) = {k K E(k, m) = c} = und P C (c) = km KM = = P M (m) P K (k) = {k K E(k, m) = c} P M (m) P M (m) =. k K P M (m)
6 KRYPTOGRAPHIE 07 Also gilt p(c m) = P C (c), d.h. E ist perfekt sicher. Unmittelbar aus Theorem 6.8 folgt Corollar 6.9. Vernams one-time pad und Caesars Chiffre sind perfekt sicher geanu dann, wenn die Schlüssel gleichverteilt gewählt werden. Bemerkungen.. Wir nehmen an, daß alle Nachrichten die gleiche Länge n besitzen. Wird das one-time pad für Nachrichten unterschiedlicher Länge benutzt, so erfährt ein Angreifer Information über die Nachricht nämlich ihre Länge und perfekte Sicherheit ist nicht gegeben. 2. Die Vorausetzungen, die in Vernams one-time Pad gemacht werden um perfekte Sicherheit zu erreichen, sind hoch. Zur Verschlüsselung einer n- Bit Nachricht werden n unabhängig und zufällig gewählte Schlüsselbits benötigt. Das folgende Theorem von C.E. Shannon zeigt, daß diese Voraussetzung für jedes eindeutig decodierbare Verschlüsselungsschema mit perfekter Sicheheit gilt. Theorem 6.0. Sei E ein eindeutig decodierbares Verschlüsselungsschema. Der Schlüssel k zum Verschlüsseln der Nachricht m werde zufällig und unabhängig von m gewählt. E sei perfekt sicher. Dann gilt H(K) H(M). Bemerkung. Die Entropie von M ist maximal und gleich log 2 ( M ) wenn die M gleichverteilt ist (Proposition 3.5). Für M = {0, } n wie beim onetime pad erfordert perfekte Sicherheit, daß H(K) n gilt. Daher bedeutet die zufällige Wahl des Schlüssels, die zufällige Wahl von n echten Zufallsbits. Beachte, daß perfekte Sicherheit nicht von der Verteilung der Nachrichten M abhängt. Deshalb können wir annehmen, daß M gleichverteilt und deshalb H(M) = n ist. Beweis. Da E eindeutig decodierbar ist, d.h. die Nachricht m ist durch c und k eindeutig bestimmt, gilt H(M KC) = 0. Weiter folgt nach Theorem 6.8, daß auch k durch c und m eindeutig bestimmt ist. Also gilt auch H(K MC) = 0. Da c durch k und m eindeutig bestimmt ist, gilt H(C KM) = 0. Perfekte Sicherheit impliziert I(M; C) = 0 (Proposition 6.6). Äuquivalent dazu ist H(C) = H(C M) (Bemerkung nach Proposition 5.6). Da M and K unabhängig gewählt werden gilt I(K; M) = I(M; K) = 0 (Proposition 6.6). Mit Hilfe von Proposition 6.4 und Definition 6.3 ergibt sich:
08 6.2 Perfekte Sicherheit 0 0 0 + 0 + + + 0 + 0 + H(K) H(M) = I(K; M) + H(K MC) + I(K; C M) (I(M; K) + H(M KC) + I(M; C K)) = I(K; C M) I(M; C K) = H(C M) H(C KM) (H(C K) H(C KM)) = H(C M) H(C K) = H(C) H(C K) = I(K; C) 0. Damit ist Theorem 6.0 gezeigt. Bemerkung. Mit Vernam s one-time pad ist es nicht ohne Verlust von perfekter Sicherheit möglich einen Schlüssel zum Verschlüsseln von zwei Nachrichten zu verwenden. Dies folgt unmittelbar aus Theorem 6.0. Ein derart modifiziertes one-time pad wäre K M M C C, (k, m, m ) (k m, k m ), mit M = K = C = {0, } n. Bei Gleichverteilung auf M M, ergibt sich H(K) = n < H(M M) = 2n.