• Nie Znaleziono Wyników

ROZDZIAŁ 2 1 TEORIA SHANNONA

N/A
N/A
Protected

Academic year: 2021

Share "ROZDZIAŁ 2 1 TEORIA SHANNONA"

Copied!
1
0
0

Pełen tekst

(1)

ROZDZIAŁ 2

1 TEORIA SHANNONA

Rozdział ten będzie miał charakter teoretyczny i dotyczy badania bezpieczeństwa systemów kryptograficznych przy bardzo ogólnych założeniach dotyczących tych systemów.

Podstawowym narzędziem badania jest rachunek prawdopodobieństwa. Przedstawiona teoria pochodzi od Clauda Shannona i była podana w jego fundamentalnej pracy: ”Communication Theory of Secrecy Systems” opublikowanej w czasopiśmie Bell Systems Technical Journal w 1949 roku. Praca ta miała duży wpływ na późniejsze badania w zakresie kryptologii.

Przedstawione niżej twierdzenia mają również znaczenie praktyczne, dostarczają ogólnych wskazówek jak projektować systemy kryptograficzne.

1.1 DOSKONAŁA TAJNOŚĆ

Istnieją dwa podstawowe podejścia przy badaniu bezpieczeństwa systemów kryptograficznych. Pierwsze dotyczy tzw. bezpieczeństwa obliczeniowego (computational security). Określa ono moc obliczeniową (zasoby pamięci, czas obliczeń) potrzebną do złamania systemu. Jeśli wymagane zasoby pamięci lub potrzebny czas są nierealne przy zastosowaniu najlepszych aktualnie znanych algorytmów umożliwiających złamanie kryptosystemu to mówimy, że jest on „obliczeniowo bezpieczny”. Drugie podejście dotyczy tzw. bezpieczeństwa bezwarunkowego (unconditional security) systemu. W podejściu tym nie ma żadnych ograniczeń dotyczących mocy obliczeniowej, którą dysponuje przeciwnik.

Zakładamy zatem, że posiada on praktycznie nieograniczoną moc obliczeniową.

Kryptosystem nazywamy bezwarunkowo bezpiecznym jeśli nie może być złamany nawet

przy wykorzystaniu nieograniczonej mocy obliczeniowej. W powyższych rozważaniach

należy określić typ ataku, który dopuszczamy przy badaniu bezpieczeństwa systemu

kryptograficznego. Niżej będziemy rozpatrywali atak z posiadanym tylko tekstem

zaszyfrowanym (ciphertext - only attack). Okazuje się, że omawiane wyżej szyfr

przesuwający, szyfr podstawieniowy i szyfr Vigenere’a są bezwarunkowo bezpieczne jeśli

tylko jeden element tekstu jawnego jest szyfrowany danym kluczem. Metod odpowiednich do

badania bezwarunkowego bezpieczeństwa systemów kryptograficznych dostarcza rachunek

prawdopodobieństwa. Przedstawimy poniżej podstawowe pojęcia i twierdzenia, które będą

nam potrzebne przy badaniu systemów kryptograficznych.

(2)

Niech X i Y będą przestrzeniami zdarzeń elementarnych. Oznaczamy przez p x ( ) prawdopodobieństwo zajścia zdarzenia x X  , zaś przez p y ( ) prawdopodobieństwo zajścia zdarzenia y Y . Wtedy p x y ( , ) oznacza prawdopodobieństwo jednoczesnego wystąpienia x X  i y Y . Natomiast przez p x y ( ) oznaczamy warunkowe prawdopodobieństwo zajścia x pod warunkiem wystąpienia y Y . Zdarzenia X i Y nazywamy niezależnymi jeśli p x y ( , ) p x p y ( ) ( ) dla wszystkich x X  i y Y . Prawdopodobieństwa łączne i warunkowe związane są wzorem:

p x y ( , )  p x y p y ( ) ( ) .

Zmieniając miejscami wartości x i y otrzymujemy

p x y ( , )  p y x p x ( ) ( ) .

Z powyższych dwóch równości otrzymujemy wzór Bayes’a

p x y ( )  p x p y x p y

( ) ( )

( ) jeśli p ( y ) 0 .

Jako wniosek otrzymujemy, że zdarzenia X i Y są niezależne wtedy i tylko wtedy gdy

p x y ( )  p x ( ) dla wszystkich x X i y Y .

Wracając do systemów kryptograficznych zakładamy, że dany klucz jest użyty tylko do jednego szyfrowania. Niech P oznacza przestrzeń jednostek tekstu jawnego, oznaczmy wtedy przez p

P

( ) prawdopodobieństwo x a priori pojawienia się tekstu jawnego x.

Załóżmy, że klucz k jest wybierany przez Alicję i Boba zgodnie z pewnym rozkładem prawdopodobieństwa; często klucze są wybierane losowo i wszystkie możliwe klucze są jednakowo prawdopodobne, ale nie zawsze tak musi być. Oznaczmy zatem prawdopodobieństwo, że wybrany jest klucz k należący do przestrzeni K przez p

K

( ) k .

Zauważmy, że klucz k jest wybierany zanim Alicja zna tekst jawny; stąd realnym założeniem jest, że wybór klucza k i tekst jawny x są zdarzeniami niezależnymi. Powyższe rozkłady prawdopodobieństw na przestrzeniach P i K indukują rozkład prawdopodobieństwa na przestrzeni C możliwych jednostek tekstu zaszyfrowanego. Policzymy zatem prawdopodobieństwo p

C

( ) y pojawienia się jednostki tekstu zaszyfrowanego y. Dla klucza

k K definiujemy zbiór

 

C ( ) ke x

k

( ): xP ,

tzn. zbiór możliwych jednostek tekstu zaszyfrowanego danym kluczem k. Wtedy dla każdego

(3)

Ponadto dla każdej pary y C i x P możemy policzyć prawdopodobieństwo p

C

( y x ) pojawienia się szyfrogramu y pod warunkiem wystąpienia tekstu jawnego x :

 

p y x p k

k x dk y

C

( )

K

( )

: ( )

.

Możemy teraz policzyć, stosując twierdzenie Bayes’a, warunkowe prawdopodobieństwo p

P

( x y ) , tzn. prawdopodobieństwo, że x jest tekstem jawnym pod warunkiem, że y jest szyfrogramem:

 

   

p x y

p x p k

p k p d y

k x d y

k y k

k

k

P

P K

K C

P

( )

( ) ( )

( ) ( ) .

: ( )

: ( )

Podamy teraz prosty przykład wyliczenia powyższych prawdopodobieństw. Niech

 

P  a b , oraz

p a

P

( )  1 , p b

P

( )  4

3 4 . Niech K  k k k

1

, ,

2 3

 z rozkładem prawdopodobieństwa:

p k

K

( )

1

1 , p k

K

( )

2

p k

K

( )

3

2

1

   4 .

Następnie niech C  1 2 3 4  , , ,  a funkcje szyfrujące określone są tabelą:

a b

k

1

1 2

k

2

2 3

k

3

3 4

której elementy są wartościami funkcji szyfrujących na elementach a, b przy ustalonym kluczu k

i

, i = 1,2,3.

Możemy teraz obliczyć rozkład prawdopodobieństwa p

C

:

p p

p p

C C

C C

( ) , ( ) ,

( ) , ( ) .

1 1

8 2 3

8 1 16

7 16 3 3

16 1 16

1

4 4 3

16

   

   

Następnie obliczamy warunkowe prawdopodobieństwa wystąpienia jednostek tekstu jawnego

pod warunkiem, że zostały zaobserwowane odpowiednie jednostki tekstu zaszyfrowanego:

(4)

p a p b

p a p b

p a p b

p a p b

P P

P P

P P

P P

( ) ( )

( ) ( )

( ) ( )

( ) ( ) .

1 1 1 0

2 1

7 2 6

7

3 1

4 3 3

4

4 0 4 1

 

 

 

 

Zdefiniujemy teraz pojęcie doskonałej tajności (perfect secrecy). Mówiąc obrazowo, doskonała tajność oznacza, że Oskar nie może otrzymać żadnych informacji o tekście jawnym badając tylko tekst zaszyfrowany. Definicję dokładną formułujemy w terminach rozkładów prawdopodobieństw.

Definicja

Kryptosystem posiada doskonałą tajność jeśli p

P

( x y )  p

P

( ) x

dla wszystkich x P i y C . Znaczy to, że prawdopodobieństwo a posterori wystąpienia tekstu jawnego x pod warunkiem zaobserwowania szyfrogramu y równe jest prawdopodobieństwu a priori występowania tekstu jawnego x.

Można udowodnić następujące:

Twierdzenie

Załóżmy, że 26 kluczy w szyfrze przesuwającym występuje z równym prawdopodobieństwem 1/26. Wtedy dla każdego rozkładu prawdopodobieństwa na przestrzeni jednostek tekstu jawnego P , szyfr przesuwający posiada doskonałą tajność.

Interpretacyjnie oznacza to, że dla danego elementu tekstu zaszyfrowanego y   C Z

26

każdy element tekstu jawnego x   P Z

26

może być otrzymany przez deszyfrowanie y w zależności od użytego klucza k   K Z

26

. Szyfr przesuwający ”nie można złamać” pod warunkiem, że nowy losowo wybrany klucz jest użyty do zaszyfrowania każdej jednostki tekstu jawnego. Dowód twierdzenia polega na wykazaniu równości prawdopodobieństw występujących w definicji doskonałej tajności.

Dla szyfru przesuwającego

P C K = =  Z

26

,

dla k Z

26

funkcja szyfrująca ma postać

e x

k

( ) (   x k ) mod , 26 xZ

26

.

(5)

Z kolei mamy równości

p y k p y

k y

P

(  ) 

P

( )  .

 

 

Z26 Z26

1

W konsekwencji p

C

( ) y  1

26 dla każdego y Z

26

. Liczymy teraz prawdopodobieństwa warunkowe

 

p y x

C

p y x

( ) 

K

(  ) mod 26  1 26 ,

ponieważ dla wszystkich x y ,  Z

26

jedynym kluczem takim, że e x

k

( )  jest y k  ( yx ) mod 26 . Korzystając teraz z twierdzenia Bayes’a obliczamy

p x y p x p x y p y

p x

P P C

p x

C

P

( ) ( ) ( )

P

( )

( )

   ( )

1 1 26 26 co oznacza doskonałą tajność.

Zbadamy teraz ogólne warunki doskonałej tajności kryptosystemu. Z twierdzenia Bayes’a wynika, że warunek p

P

( x y )  p

P

( ) x dla wszystkich x P , y C jest równoważny warunkowi p x y

C

( )  p

C

( ) y dla wszystkich x P , y C . Będziemy zakładać, że p y

C

( )  0 dla y C to y nigdy nie wystąpi i może być usunięte ze zbioru C . Ustalmy teraz x P . Dla każdego y C mamy p x y

C

( )  p y

C

( )  0 . Zatem dla każdego y C musi istnieć co najmniej jeden klucz k K taki, że e x

k

( )  . Wynika stąd dla liczności zbiorów: y

KC . W każdym kryptosystemie mamy C P , ponieważ każda funkcja szyfrująca jest różnowartościowa.

W przypadku K C P można podać następującą charakterystykę doskonałej tajności kryptosystemu:

Twierdzenie (C. Shannon)

Niech kryptosystem ( , , P C K E D , , ) ma K C P . Kryptosystem ten posiada doskonałą tajność wtedy i tylko wtedy gdy każdy klucz występuje z jednakowym prawdopodobieństwem oraz dla każdego x P i y C istnieje jedyny klucz k taki, że

e x

k

( )  y .

Dowód

(6)

Załóżmy wpierw, że dany kryptosystem posiada doskonałą tajność. Wtedy dla każdego x P i y C istnieje co najmniej jeden klucz k K taki, że e x

k

( )  . Mamy zatem y nierówność:

 

Ce x

k

( ): kKK .

Założyliśmy, że C K czyli

e x

k

( ): kK   K

co znaczy, że nie ma dwóch różnych kluczy k

1

i k

2

takich, że e x k 1 ( )  e x k 2 ( )  y .

Wykazaliśmy zatem, że dla dowolnych x P , y C istnieje dokładnie jeden klucz k o własności e x

k

( )  . Oznaczmy y n  K . Niech P x

i

: 1   i n  , ustalmy y C i ponumerujemy wszystkie klucze k

1

,..., k

n

w taki sposób, że e x k i ( ) iy dla 1   i n . Stosując twierdzenie Bayes’a otrzymujemy:

p x y p y x p x p y

p k p x p y

i i i i

P

C P

C

P C

( ) ( ) ( )

K

( )

( ) ( ) ( ) .

 

Z warunku doskonałej tajności p

P

( x y

i

)  p

P

( ) x

i

wynika, że p k

C

( )

i

p y

C

( ) dla 1   i n to znaczy, że wszystkie klucze występują z prawdopodobieństwem równym p

C

( ) . y Wszystkich kluczy jest K , zatem to prawdopodobieństwo musi być równe p k

K

( )  1 / K dla każdego k K .

Z drugiej strony przyjmując, że spełnione są warunki twierdzenia dowodzimy, podobnie jak poprzednie twierdzenie, że dany kryptosystem posiada doskonałą tajność.

Twierdzenie Shannona dowodzi w szczególności, że kryptosystem z losowym kluczem jednokrotnym (one time pad) posiada doskonałą tajność. Przedstawimy formalnie ten kryptosystem.

Niech n  1 będzie długością ciągu 0 - 1 reprezentującego wiadomość jawną. Wtedy P C K    ( ) Z

2 n

.

Jeśli x  ( ... ), x

1

x

n

k  ( ... ) k

1

k

n

wtedy

y e x

k

( ) (  x

1

k

1

,..., x

n

k

n

) mod . 2 Funkcja deszyfrująca wyraża się tym samym wzorem

x d y

k

( ) (  y

1

k

1

,..., y

n

k

n

) mod . 2

Szyfry z kluczem jednokrotnym znalazły szerokie zastosowanie do celów specjalnych,

Cytaty

Powiązane dokumenty

(Fakt ten nosi nazwę Twierdzenia

Czynność ta nosi nazwę ataku siłowego (brute force). W szyfrowaniu przy użyciu komputera można ustalić długość klucza. Wraz z długością klucza wzrasta liczba

Do niedawna uważano, że w dowolnym kryptosystemie znajomość klucza

Wydawałoby się, że nowe przepisy stymulują przed- siębiorczość, a tu tuż przed końcem roku kierownic- two Ministerstwa Zdrowia wygłasza poglądy o nad- miernym rozwoju

2. Trzech studentów przygotowywało się niezależnie do egzaminu z rachunku prawdopodobieństwa. Rzucamy n razy kostką do gry. Obliczyć prawdopodobieństwo tego, że: a) szóstka

2. Trzech studentów przygotowywało się niezależnie do egzaminu z rachunku prawdopodobieństwa. Rzucono 10 razy kostką. Rzucono 10 razy symetryczną kostką. Jakie

Funkcja skrótu musi być także nieodwracalna, to znaczy nie może się dać obliczyć oryginalnego tekstu wiadomości na podstawie jej skrótu5. kryptosystem

[r]