Teoria informacji/TI Wykład 6: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 19: | Linia 19: | ||
Kryptosystem jest ''idealnie bezpieczny'' jeśli I(C;M)=0. | Kryptosystem jest ''idealnie bezpieczny'' jeśli I(C;M)=0. | ||
{{przyklad|Szyfr Vernama (one-time pad)|| | |||
Definiujemy <math>{\mathcal M} ={\mathcal K} ={\mathcal C} = \{0,1\}^n</math> dla pewnego <math>n \in \mathbb{N}</math> i | Definiujemy <math>{\mathcal M} ={\mathcal K} ={\mathcal C} = \{0,1\}^n</math> dla pewnego <math>n \in \mathbb{N}</math> i | ||
:<math>C = M \oplus K</math> | :<math>C = M \oplus K</math> | ||
Gdzie <math>\oplus</math> oznacza XOR po bitach (np. <math>101101 \oplus 110110 = 011011</math>). Tym samym <math>\mathit{Dec} (v,w) = v \oplus w</math> | Gdzie <math>\oplus</math> oznacza XOR po bitach (np. <math>101101 \oplus 110110 = 011011</math>). Tym samym <math>\mathit{Dec} (v,w) = v \oplus w</math> | ||
Linia 32: | Linia 29: | ||
Przy powyższych założeniach Szyfr Vernama jest idealnie bezpieczny. Aby to udowodnić, wystarczy pokazać że M i C są niezależne, czyli że <math> p (C = w \, \wedge \, M = u) = p (C = w) \cdot p ( M = u)</math> | Przy powyższych założeniach Szyfr Vernama jest idealnie bezpieczny. Aby to udowodnić, wystarczy pokazać że M i C są niezależne, czyli że <math> p (C = w \, \wedge \, M = u) = p (C = w) \cdot p ( M = u)</math> | ||
(patrz [[Teoria informacji/TI Wykład 5#do_łącznej|twierdzenie o entropii łącznej]]). | |||
Zaczynamy od: | Zaczynamy od: | ||
Linia 53: | Linia 51: | ||
( | (TODO na ćwiczeniach: Niezależność M i K jest warunkiem koniecznym) | ||
Linia 69: | Linia 67: | ||
Czyli aby uzyskać idealną tajność, musimy użyć klucza równie długiego jak przesyłana wiadomość. Jest to oczywiście bardzo niepraktyczne, ale w niektórych zastosowaniach konieczne. | Czyli aby uzyskać idealną tajność, musimy użyć klucza równie długiego jak przesyłana wiadomość. Jest to oczywiście bardzo niepraktyczne, ale w niektórych zastosowaniach konieczne. | ||
{{dowod||| | |||
:<math>H(M) = H(M| C,K) + \underbrace{I(M;C)}_{H(M) - H(M|C)} + \underbrace{I(M;K|C)}_{H(M|C) - H(M|K,C)}</math> | :<math>H(M) = H(M| C,K) + \underbrace{I(M;C)}_{H(M) - H(M|C)} + \underbrace{I(M;K|C)}_{H(M|C) - H(M|K,C)}</math> | ||
Ale z definicji M jest funkcją (C,K), czyli H(M|C;K)=0. Wymagamy żeby I(M;C)=0, a więc: | Ale z definicji M jest funkcją (C,K), czyli H(M|C;K)=0. Wymagamy żeby I(M;C)=0, a więc: | ||
:<math>H(M)=I(M;K|C)</math> | :<math>H(M)=I(M;K|C)</math> | ||
Rozbijając analogicznie H(K) uzyskujemy: | Rozbijając analogicznie H(K) uzyskujemy: | ||
:<math>H(K) = H(K | M,C) + I(K;C) + \underbrace{I(K;M|C)}_{H(M)}</math>}} | |||
:<math>H(K) = H(K | M,C) + I(K;C) + \underbrace{I(K;M|C)}_{H(M)}</math> | |||
Linia 91: | Linia 83: | ||
:<math>I(A;C) \le I(A;B)</math>.}} | :<math>I(A;C) \le I(A;B)</math>.}} | ||
{{dowod||| | |||
Skorzystajmy z zasady łańcuchowej: | Skorzystajmy z zasady łańcuchowej: | ||
:<math>\underbrace{I(A; (B,C))}_{H(A) - H(A|B,C)}= \underbrace{I(A;C)}_{H(A) - H(A|C)} + \underbrace{I(A; B|C)}_{H(A|C) - H(A|B,C)}</math> | :<math>\underbrace{I(A; (B,C))}_{H(A) - H(A|B,C)}= \underbrace{I(A;C)}_{H(A) - H(A|C)} + \underbrace{I(A; B|C)}_{H(A|C) - H(A|B,C)}</math> | ||
Z symetrii, używając niezależności warunkowej A i C dostaniemy: | Z symetrii, używając niezależności warunkowej A i C dostaniemy: | ||
:<math> I(A; (B,C)) = I(A;B) + \underbrace{I(A; C | B)}_{=0}</math>}} | |||
:<math> I(A; (B,C)) = I(A;B) + \underbrace{I(A; C | B)}_{=0}</math> | |||
Linia 111: | Linia 98: | ||
:<math>I(A;f(B)) \le I(A;B)</math>}} | :<math>I(A;f(B)) \le I(A;B)</math>}} | ||
{{dowod|||Na podstawie lematu, gdyż | |||
:<math>I(A; f(B) | B) = \underbrace{H (f(B) | B)}_{=0}-\underbrace{H (f(B) | A, B)}_{=0} = 0 </math> | :<math>I(A; f(B) | B) = \underbrace{H (f(B) | B)}_{=0}-\underbrace{H (f(B) | A, B)}_{=0} = 0 </math>}} |
Wersja z 06:50, 2 sie 2006
Doskonale bezpieczne szyfrowanie
Pokażemy teraz jak przy pomocy teorii informacji możemy udowodnić że jakiś system kryptograficzny jest całkowicie bezpieczny.
Definicja [Kryptosystem]
- M – ze skończonego zbioru wartości (wiadomości)
- K – ze skończonego zbioru wartości (klucze)
- C – ze skończonego zbioru wartości (zaszyfrowane wiadomości)
Dodatkowo musi istnieć funkcja :
M = Dec(C,K)
(czyli z szyfru i klucza uzyskuje się w sposób jednoznaczny pierwotną wiadomość).
Kryptosystem jest idealnie bezpieczny jeśli I(C;M)=0.
{{przyklad|Szyfr Vernama (one-time pad)||
Definiujemy dla pewnego i
Gdzie oznacza XOR po bitach (np. ). Tym samym
Dodatkowo zakładamy że K jest wybierana z rozkładem jednostajnym na , czyli , i że M jest zmienną niezależną od K.
Przy powyższych założeniach Szyfr Vernama jest idealnie bezpieczny. Aby to udowodnić, wystarczy pokazać że M i C są niezależne, czyli że
(patrz twierdzenie o entropii łącznej).
Zaczynamy od:
- (bo M i K są niezależne)
Jeśli teraz skorzystamy z definicji C i niezależności M i K dostajemy:
QED.
(TODO na ćwiczeniach: Niezależność M i K jest warunkiem koniecznym)
Twierdzenie [Pesymistyczne Twierdzenie Shannona]
Każdy idealnie bezpieczny kryptosystem musi zapewniać:
W konsekwencji (link TODO):
Czyli aby uzyskać idealną tajność, musimy użyć klucza równie długiego jak przesyłana wiadomość. Jest to oczywiście bardzo niepraktyczne, ale w niektórych zastosowaniach konieczne.
Dowód
Ważną cechą informacji jest niemożliwość jej powiększenia przez lokalne obliczenia. Przykładowo niech A i B będą zmiennymi losowymi. Wyobraźmy sobie że A określa jakieś dane eksperymentalne, a B naszą wiedzę o nich. Okazuje się że wszelkie operacje jakich dokonamy na B (analiza, przetwarzanie danych itp.) mogą jedynie zmniejszyć naszą informację o A.
Lemat
- .
Dowód
Zauważmy że nierówność staje się równością, o ile dodatkowo A i B są warunkowo niezależne przy danym C (czyli I(A;B|C)=0).
Wniosek
Dowód