Teoria informacji/TI Wykład 6

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Doskonale bezpieczne szyfrowanie

Pokażemy teraz jak przy pomocy teorii informacji możemy udowodnić że jakiś system kryptograficzny jest całkowicie bezpieczny.


Definicja [Kryptosystem]

Kryptosystemem nazywamy trójkę zmiennych losowych:
  • 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 Dec:𝒞×𝒦:

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 =𝒦=𝒞={0,1}n dla pewnego n i

C=MK

Gdzie oznacza XOR po bitach (np. 101101110110=011011). Tym samym Dec(v,w)=vw

Dodatkowo zakładamy że K jest wybierana z rozkładem jednostajnym na {0,1}n, czyli v{0,1}np(K=v)=12n, 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 p(C=wM=u)=p(C=w)p(M=u) (patrz twierdzenie o entropii łącznej).

Zaczynamy od:

p(C=w)=up(K=uw|M=u)p(M=u)

=up(K=uw)p(M=u) (bo M i K są niezależne)
=u12np(M=u)
=12n

Jeśli teraz skorzystamy z definicji C i niezależności M i K dostajemy:

p(C=wM=u)=p(K=wvM=u)

=12np(M=u)

QED.


(TODO na ćwiczeniach: Niezależność M i K jest warunkiem koniecznym)


Twierdzenie [Pesymistyczne Twierdzenie Shannona]

Każdy idealnie bezpieczny kryptosystem musi zapewniać:

H(K)H(M)

W konsekwencji (link TODO):

Lr(K)Hr(K)Hr(M)Lr(M)1


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

H(M)=H(M|C,K)+I(M;C)H(M)H(M|C)+I(M;K|C)H(M|C)H(M|K,C)
Ale z definicji M jest funkcją (C,K), czyli H(M


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

Jeśli A i C są niezależne warunkowo przy danym B (czyli I(A;C|B)=0), to
I(A;C)I(A;B).

Dowód

Skorzystajmy z zasady łańcuchowej:

I(A;(B,C))H(A)H(A|B,C)=I(A;C)H(A)H(A|C)+I(A;B|C)H(A|C)H(A|B,C)

Z symetrii, używając niezależności warunkowej A i C dostaniemy:

I(A;(B,C))=I(A;B)+I(A;C|B)=0


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

Dla dowolnej funkcji f,
I(A;f(B))I(A;B)

Dowód

Na podstawie lematu, gdyż
I(A;f(B)|B)=H(f(B)|B)=0H(f(B)|A,B)=0=0