dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS...

105
Spis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ I PROBLEM DZIELNIKÓW 5 WYKŁAD 2 9 TESTY PIERWSZOŚCI I LICZBY PSEUDOPIERWSZE 9 LICZBY PSEUDOPIERWSZE EULERA 11 WYKŁAD 3 14 ALGORYTM LEHMANA 14 TEST PIERWSZOŚCI AKS 15 ALGORYTM AKS: 19 WYKŁAD 4 20 KONSTRUKTYWIZM W PROBLEMIE DZIELNIKÓW I ALGORYTM 20 FELLOWSA-KOBLITZA 20 ALGORYTM FELLOWSA-KOBLITZA 22 WYKŁAD 5 23 PROTOKOŁY PODZIAŁU TEJEMNICY I SCHEMATY PROGOWE 23 SCHEMAT PODPISU CYFROWEGO Z PEŁNOMOCNICTWEM 25 WYKŁAD 6 28 LOGARYTM DYSKRETNY I METODA INDEKSU. 28 LOGARYTM DYSKRETNY 28 METODA INDEKSU (IDEA) 28 ALGORYTM POHLIGA-HELLMANA 29 METODA POHLIGA-HELLMANA DLA * p G Z = 30 ELEMENTY GŁADKIE W KRYPTOGRAFII 30 WYSOKOŚĆ ELEMENTU I ODWZOROWANIA REDUKCJI. 31 1

Transcript of dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS...

Page 1: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Spis treści

SPIS TREŚCI 1

WYKŁAD 1 5

ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ I PROBLEM DZIELNIKÓW 5

WYKŁAD 2 9

TESTY PIERWSZOŚCI I LICZBY PSEUDOPIERWSZE 9 LICZBY PSEUDOPIERWSZE EULERA 11

WYKŁAD 3 14

ALGORYTM LEHMANA 14 TEST PIERWSZOŚCI AKS 15 ALGORYTM AKS: 19

WYKŁAD 4 20

KONSTRUKTYWIZM W PROBLEMIE DZIELNIKÓW I ALGORYTM 20 FELLOWSA-KOBLITZA 20 ALGORYTM FELLOWSA-KOBLITZA 22

WYKŁAD 5 23

PROTOKOŁY PODZIAŁU TEJEMNICY I SCHEMATY PROGOWE 23 SCHEMAT PODPISU CYFROWEGO Z PEŁNOMOCNICTWEM 25

WYKŁAD 6 28

LOGARYTM DYSKRETNY I METODA INDEKSU. 28 LOGARYTM DYSKRETNY 28 METODA INDEKSU (IDEA) 28 ALGORYTM POHLIGA-HELLMANA 29 METODA POHLIGA-HELLMANA DLA *pG Z= 30 ELEMENTY GŁADKIE W KRYPTOGRAFII 30 WYSOKOŚĆ ELEMENTU I ODWZOROWANIA REDUKCJI. 31

1

Page 2: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

BAZA ROZKŁADU (ASPEKT ILOŚCIOWY) 32 METODA INDEKSU 32

WYKŁAD 7 34

KRZYWE ELIPTYCZNE 34 CIAŁA SKOŃCZONE qF 36 KRZYWE ELIPTYCZNE )( qFE 37

PORÓWNANIE PODPISÓW CYFROWYCH I ARYTMETYKA NA KRZYWEJ ( )qE F 38 PODPIS EL-GAMALA 38 ALGORYTM DSA 39 ALGORYTM ECDSA 39 PORÓWNANIE SCHEMATÓW PODPISU CYFROWEGO 40 ASPEKTY BEZPIECZEŃSTWA 41

WYKŁAD 8 42

HIERARCHICZNE STRUKTURY DOSTĘPU 42 PRZYKŁAD – STRUKTURY MILITARNE, RZĄDOWE, KORPORACYJNE. 42 WŁASNOŚCI (POSTULOWANE) 42 Q-ASPEKT 43

WYKŁAD 9 44

ELEMENTY TEORII PRAWDOPODOBIEŃSTWA I ALGORYTMÓW 44 PRZESTRZEŃ PRODUKTOWA Z ROZKŁADEM ŁĄCZNYM. 45 ITERACJA ROZKŁADÓW ŁĄCZNYCH 47 ALGORYTM PROBABILISTYCZNY, ROZSZERZENIE DETERMINISTYCZNE, MODELE MONTE CARLO. 48 RODZINY FUNKCJI JEDNOKIERUNKOWYCH 50 RODZINA FUNKCJI WYKŁADNICZYCH 50 RODZINA RSA FUNKCJI ZAPADKOWYCH 51 RODZINA FUNKCJI RABINA 51 ROZRÓŻNIALNOŚĆ RESZT I NIERESZT KWADRATOWYCH 52

WYKŁAD 10 54

BEZPIECZEŃSTWO WSPÓŁCZESNYCH SYSTEMÓW KTYPTOGRAFICZNYCH 54 DEFINICJE BEZPIECZEŃSTWA 54 MODEL PRZECIWNIKA 55 SZYFROWA MAPA DROGOWA 55 FUNKCJE JEDNOKIERUNKOWE SILNE I SŁABE 55 FUNKCJA JEDNOKIERUNKOWA NIEZUNIFORMANIZOWANA 57 FUNKCJE ZAPADKOWE (JEDNOKIERUNKOWE Z ZAPADKĄ) 57

2

Page 3: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

WYKŁAD 11 58

DOBRE SCHEMATY SZYFRUJĄCE 58 BEZPIECZNY SCHEMAT SZYFRUJĄCY W MODELU Z LOSOWANĄ WYROCZNIĄ. 58 DOBRE SCHEMATY SZYFROWANIA 59

WYKŁAD 12 63

PODPISY WIELOGRUPOWE 63 PODPISY GRUPOWE: DEFINICJE, WYMAGANIA I OGÓLNA KONSTRUKCJA 65 DEFINICJE BEZPIECZEŃSTWA SCHEMATÓW PODPISÓW GRUPOWYCH. 66 PEŁNA WYTRAPIALNOŚĆ 68

WYKŁAD 13 70

SYSTEMY KRYPTOGRAFICZNE WYKORZYSTUJĄCE KRZYWE ELIPTYCZNE I HIPOTEZY O LICZBACH PIERWSZYCH. 70 KRYPTOSYSTEMY ELIPTYCZNE: 70 KODOWANIE WIADOMOŚCI NA PUNKTY KRZYWEJ 71 LOGARYTM DYSKRETNY NA KRZYWEJ )( qFE 72

METODA INDEKSU DLA KRZYWEJ ( )qE F 74 DZIAŁANIE WEILA 75 WYBÓR KRZYWEJ I PUNKTU W KONSTRUKCJI KRYPTOSYSTEMU 78 PODSUMOWANIE 78 SYSTEMY KRYPTOGRAFICZNE WYKORZYSTUJĄCE KRZYWE ( )rq

E F 79

ZNAJDYWANIE PUNKTÓW NA KRZYWEJ ( )qE F 79 BEZPIECZEŃSTWO 80

WYKŁAD 14 81

REDUKCJA KRZYWEJ. TWIERDZENIA NAGELLA-LUTZA I HASSE-WEILA 81 REDUKCJA PE, - TWIERDZENIE NAGELLA-LUTZA 82 TWIERDZENIE HASSEGO 84 TWIERDZENIE WEILA 84

WYKŁAD 15 85

SCHEMATY PŁATNOŚCI INTERNETOWYCH I MODEL PIENIĄDZA CYFROWEGO 85 POSTAĆ CERTYFIKATU 86 REJESTRACJA (ASPEKT PŁATNOŚCI) 86 ANONIMOWOŚĆ W ASPEKCIE PŁATNOŚCI 87 KRYPTOGRAFIA CYFROWEGO PIENIĄDZA (IDEA) 87 3

Page 4: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

4

SYSTEMY ANONIMOWE Z CERTYFIKACJĄ 88

WYKŁAD 16 90

MIKROPŁATNOŚCI. 90 SYSTEM BANKOWOŚCI INTERNETOWEJ PLANET 90 SYSTEM MICROMINT (MENNICA ELEKTRONICZNA) 90 SYSTEM PAYWORD 91 SYSTEM PLANET BANKOWOŚCI INTERNETOWEJ 92

WYKŁAD 17 94

BEZPIECZEŃSTWO SYSTEMU RSA I FAKTORYZACJA LENSTRY 94 SYSTEM RSA 94 METODA LENSTRY 95

WYKŁAD 18 98

WYBRANE ASPEKTY HANDLU ELEKTRONICZNEGO 98 ROZSZERZONE PROTOKOŁY UZGADNIANIA KLUCZA 98 ROZSZERZONE PROTOKOŁY UZGADNIANIA KLUCZA ODPORNE NA ATAKI BLOKADY USŁUG 98 ROZSZERZONY PROTOKÓŁ TYPU DIFFIE-HELLMANA 99 KONTRAKTY ELEKTRONICZNE 101 PROTOKOŁY NIEDETERMINISTYCZNE 102

Page 5: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 1

Złożoność obliczeń

Powiemy, że algorytm wykonujący pewne obliczenie dla liczby naturalnej n jest efektywny ⇔ czas jego działania jest rzędu gdzie )(ncL )ln()( nn =L . Problem jest (obliczeniowo) łatwy jeśli istnieje dla niego efektywny algorytm. Będziemy zakładać, że liczba n zadana jest w układzie pozycyjnym przy podstawie g tj.

ii gcn ∑= .

Elementy teorii złożoności obliczeniowej i problem dzielników Będziemy rozróżniać dwa rodzaje problemów:

TAK - decyzyjne: odpowiedź

NIE - poszukiwawcze: rozwiązanie zawiera coś więcej.

Przykład 1: G=(V,E) . Czy istnieje takie, że }3,2,1{: →Vf )()(),( jfifEji ≠⇒∈ (trójkolorowanie grafu).

Przykład 2: Dany zbiór punktów . Znaleźć najkrótszą drogę od obchodzącą wszystkie punkty powracającą do .

},...,,{ 20 mAAA 0A

0A(problem komiwojażera).

Przykład 3: Dla danego znaleźć zbiór wszystkich dzielników naturalnych liczby . N∈n )(nD N(pełny problem dzielników). Przykład 1 – problem decyzyjny Przykład 2 – problem poszukiwawczy Przykład 3 – problem poszukiwawczy W powyższych przykładach problemy można sformułować tak aby były poszukiwawcze lub decyzyjne. Co więcej będą one w istocie równoważne.

Przykład: Dane N i K , M naturalne. Czy istnieje dzielnik N w przedziale [K,M] ? Rozwiązanie problemu decyzyjnego przy użyciu danego algorytmu można wyrazić w terminach języka rozpoznawalnego przez ten algorytm. Niech -alfabet , -zbiór wszystkich skończonych ciągów elementów alfabetu ∑ *∑ ∑ . Język L to pewien podzbiór . *∑ 5

Page 6: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Powiemy, że algorytm akceptuje język L ⇔ odpowiada TAK (1) dla x∈L oraz NIE (0) dla x∉L

Definicja:

Funkcja jest obliczana w czasie wielomianowym ⇔ YX →:f ∃ wielomian p oraz algorytm, który dla dowolnego x∈ oblicza yX ∈ Y przy użyciu co najwyżej p( |x| ) operacji na bitach (|x| -oznacza rozmiar danej wejściowej x tj. ilość bitów w reprezentacji binarnej).

Definicja: Język L należy do klasy złożoności P jeśli funkcja charakterystyczna L jest obliczalna w czasie wielomianowym (istnieje algorytm deterministyczny rozstrzygający przynależność dowolnego słowa do języka L).

Definicja: L∈NP jeśli istnieje algorytm niedeterministyczny rozstrzygający przynależność słowa do języka. W kategoriach problemu oznacza to (nieformalnie), że dysponując nieograniczoną mocą obliczeniową możemy nie tylko odpowiedzieć na pytanie problemu decyzyjnego (TAK/NIE), lecz w przypadku gdy odpowiedź brzmi TAK dostarczyć dowodu poprawności odpowiedzi (certyfikatu o czasie wielomianowym).

Przykład: Czy dana liczba naturalna jest złożona? Odpowiedź TAK → Dowód N= lk ⋅ 1, ≠lk Taki certyfikat złożoności liczby sprawdza się w czasie wielomianowym.

UWAGA: Znacznie trudniej jest znaleźć (krótki) certyfikat pierwszości danej liczby.

Wniosek: Problem dzielników jest problemem klasy NP gdyż odpowiadający mu problem decyzyjny jest w klasie NP.

Przykład:

Pytanie: Czy N ma dzielnik w przedziale [k,2k]? Odpowiedź: TAK. Certyfikat: liczba naturalna l o własności: l∈ [k,2k] , l dzieli N.

Sprawdzenie poprawności odpowiedzi sprowadza się do stwierdzenia, że lN jest liczbą

całkowitą oraz, sprawdzenia nierówności kk 2≤≤ l . Uwaga:

Nie wiadomo czy problem dzielników należy do (potencjalnie mniejszej) klasy P. To, że klasa P jest mniejsza od NP jest treścią hipotezy NP≠P . Kryterium pierwszosci

Definicja: 6

Page 7: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

( )P n− - najmniejszy dzielnik pierwszy liczby . n

1) Kryterium P : −

Liczba jest pierwsza, wtedy i tylko wtedy gdy n ( )P n n− = . Jeśli najmniejszy dzielnik pierwszy równa się samej liczbie to liczba ta jest pierwsza.

2) Kryterium Kraitchik’a – Lehmer’a: Liczba jest pierwsza, wtedy i tylko wtedy gdy istnieje takie n a N∈ , którego rząd w grupie nZ ∗ jest równy . 1n −

7

Dowód: „ ”: - pierwsze to ⇒ n nZ ∗ jest cykliczna. Zatem istnieje w niej generator a , którego rząd jest rzędem tej grupy { }1, 2, , 1nZ n∗ = −K „ ”: Rząd dowolnego elementu dzieli rząd grupy ⇐ ( )nZ nϕ∗ = . Wiemy że rząd jest

równy , ale

a

1n − ( ) 1n nϕ ≤ − gdy oraz, że ( 1n > ) 1n − dzieli rząd grupy a rząd grupy to

. Z tego mamy że oraz ( )nϕ ( ) 1n nϕ ≤ − ( ) 1n nϕ ≥ − zatem ( ) 1n nϕ = − , a jeśli

to musi być pierwsze. ( ) 1n nϕ = − nTwierdzenie (Pratt):

Pierwszość jest problemem klasy NP.

Szkic dowodu: Załóżmy, że n jest liczbą pierwszą. Przypuśćmy, że znamy element maksymalny a (mod n) (generator ) i rozkład . Pokażemy jak skonstruować „wielomianowy”

certyfikat pierwszości dla liczby n (dowód pierwszości n).

*nZ qqnq

αΠ=−1

Podzielimy go na 3 kroki:

I. Sprawdzamy, że rz a = n-1 stosując kryterium Kraitchika-Lehmera II. Sprawdzamy poprawność rozkładu qqn

q

αΠ=−1

III. Dowodzimy, że rozkład qqnq

αΠ=−1 jest istotnie rozkładem n-1 na iloczyn potęg

liczb pierwszych. W tym kroku odwołujemy się do procedury rekurencyjnej typu: Pierwszość n -> pierwszość q | n-1.

Pozostaje udowodnić, że ilość „odwołań” będzie wielomianowa. Zobrazujemy to na modelu drzewa. Wystarczy pokazać, że ilość wierzchołków drzewa zależy wielomianowo od rozmiaru n tj. jest ograniczone przez ( )LL n .

Page 8: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

n

1q ……… 2q mq 1q′ …. 2q′ mq′ … … …… itd. 1q ′′

Niech T(n) będzie ilością wierzchołków drzewa o korzeniu w punkcie n. Mamy T(2)=1 i dalej rekurencyjnie, . Pokażemy indukcyjnie, że . ∑

−<

++=1|2

)()2(1)(nq

ii

qTTnT nnT 2log2)( <

Dla n=2, T(n)<2 jest prawdziwe. Załóżmy, że zachodzi dla wszystkich q<n, tj. Mamy: qqT 2log2)( <

617 2 7 11 2 3 2 5 2 2

nnn

nqTqTnTnq

inq

iii

2222

21|21|2

log1log2)2log1log1(22

1log22)(22)(2)(

<−=−−+=

−+<=+<+= ∑∑

−<−<

Przykład:

Certyfikat pierwszości liczby 617 (2 jest generatorem dla n=2, 5, 11 3 jest generatorem modulo n dla n=7, 617)

8

Page 9: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 2

Testy pierwszości i liczby pseudopierwsze PROBABILISTYCZNE (testy pierwszości) 1.) Klasyfikacja TESTY PIERWSZOSCI –OGÓLNIE Historia : Eratostenes (250 p.n.e.) –sito Fibonacci (13 wiek)(metoda kolejnych działań do n .) Euler (n = x2+y2 repr.jednozn. np 10002 + 32 jest liczbą pierwszą) Lucas (19 wiek ) – wykorzystał twierdzenie Fermata dla celów pierwszości Faktoryzacja Pierwszości Kraitchik, Lehmer (1990) rozwinęli ideę podziału Lucasa Dziś : testy można podzielić na

1.) DETERMINISTYCZNE / NIEDETERMISTYCZNE 2.) UNIWERSALNE / SPECYFICZNE

9

dla wszystkich n dla pewnych n W aspekcie wydajności testy deterministyczne

3.) BEZWARUNKOWE / WARUNKOWE czas działania czas działania wielomianowy na ogół nie (o ile zachodzi pewna hipoteza np.hipoteza Riemanna) wielomianowy WARUNKI : Szybkość , Ogólność , Poprawność SCHEMAT : (testu pierwszości ) Załóżmy , że potrafimy udowodnić twierdzenie typu : Jeśli n jest liczbą pierwszą to …

Wtedy druga część implikacji (teza) może być traktowana jako warunek konieczny pierwszości.

PRZYKŁAD :

Jeśli n- pierwsze to n┴ = n – 1 lub równanie : Jeśli n-pierwsze to

Page 10: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

α ∀ n – 1 = 1 (mod n ) tw. Fermata a ∈ (n ┴) Taki test nazywamy testem Fermata. Jest szybki , ogólny ale nie poprawny bo nie można dowieść , że liczba po przejściu przez test jest pierwsza. KONTRPRZYKŁAD (z ustalonym świadkiem a = 4 ) Mamy 4 14 = 1 (mod n ) KONTRPRZYKŁAD ( dla dowolnego świadka „ a ” ) a560 = 1 ( mod 561 ) DEF.

Liczbę n nazywamy pseudopierwszą przy podstawie „a” jeśli jest złożona i zachodzi warunek Fermata ze świadkiem a.

DEF. Liczbę złożoną , która przechodzi pomyślnie test Fermata dla wszystkich świadków a ∈ ( Z n

* )nazywamy liczbą Carmichaela . TWIERDZENIE : (Heath - Brown 1980’s) # { n x : n jest liczbą Carmichaela } x ≤ ≥ 2/7 TWIERDZENIE : Niech n ∈ P i niech r-1=2R S ,gdzie S jest nieparzyste. Wtedy dla każdego a ∈ Z n

* zachodzą warunki : 1.) an-1 = 1(mod n)

2.) aS = 1(mod n) lub istnieje takie 0 ≤ r < R ,że a = -1 (mod n) Sr

a 2

DOWÓD :

Warunek 1) wynika z twierdzenia Fermata. Dla dowodu drugiego zauważmy że pierwszość n pociąga za sobą , że

21−n

a = )(mod112 na SR

±=−

Zatem w ciągu potęg modulo n r =R-1,R-2,..0 albo będzie potęga dająca resztę -1 modulo n albo a

Sr

a 2

S=1(mod n) co dowodzi tezy. Na powyższych argumentach oparty jest następujący algorytm (Test pierwszości Millera -Rabina).

10

Page 11: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Szkic algorytmu

1.) Dla losowo wybranego a ∈ Z n* (a ≠ 1)

Oblicz an-1(mod n) Jeśli wynik ≠ 1 (mod n) to algorytm daje na wyjściu odpowiedź n∉P. W przeciwnym razie przechodzimy do drugiego kroku. 2.) Zapisz n-1 = 2RS , S – nieparzyste.

Jeśli aS = 1(mod n) lub istnieje takie 0 ≤ r < R ,że a = -1 (mod n) to SZ r

aAlgorytm daje na wyjściu odpowiedź n ∈ P. W przeciwnym przypadku algorytm daje odpowiedź n∉ P.

UWAGA Z powyższego twierdzenia wynika ,że odpowiedź n∉ P jest pewna. Natomiast n ∈ P jest obarczona (prawdopodobnym) błędem. Jak pokazali Miller i Rabin prawdopodobieństwo omyłki nie przekracza

jednak 1/4 . Zatem przy l - iteracjach algorytmu prawdopodobieństwo omyłki jest ≤ 1/4 l , tzn. mamy :

WNIOSEK 1: Jeśli n przechodzi pomyślnie test Millera-Rabina l –razy, to n jest liczbą pierwszą z

prawdopodobieństwem l

⎟⎠⎞

⎜⎝⎛−≥

411 .

DEFINICJA:

n -nazywamy liczbą silnie pseudopierwszą przy podstawie a n⇔ -złożone i spełnia warunki 1.) i 2.).

Liczby pseudopierwsze Eulera Niech g –generator , p –liczba pierwsza. Wtedy każde jest postaci

*pZ )( *

pZa ∈

)(mod pga x= Jeśli x jest parzyste to nazywamy resztą kwadratową , w przeciwnym przypadku nieresztą kwadratową .

*pZa ∈ )(mod p

)(mod p Łatwo zauważyć, że jest resztą kwadratową *

pZa ∈ ⇔)(mod p równanie

)(mod2 pya = ma rozwiązanie . Zy ∈

11

Page 12: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

WNIOSEK 2:

Zbiory reszt i niereszt kwadratowych mają tę samą moc)(mod p2

1−=

p .

DEFINICJA :

Symbol Legendre’a ⎟⎟⎠

⎞⎜⎜⎝

⎛pa definiujemy następująco:

⎪⎩

⎪⎨

⎧−−−

=⎟⎟⎠

⎞⎜⎜⎝

apgdynieresztaagdy

presztaagdy

pa

|0kwadratowa 1

)(modkwadratowa 1

WNIOSEK 3:

Jeśli g -generator to *pZ

)(mod121

pgp

−=−

Warunek Eulera: *pZa ∈∀ mamy )(mod2

1

papa p−

=⎟⎟⎠

⎞⎜⎜⎝

Dowód: Jeśli a -reszta to obie strony są równe . )(modkwadratowa p )(mod1 pJeśli a -niereszta to )(modkwadratowa p

skąd 12 += yga )(mod11)( 21

21

121

pgggapp

ypp

−=⋅=⋅=−−

−−

i lewa strona także , co należało dowieść. 1−=

Definicja: Liczbę n nazywamy liczbą pseudopierwszą Eulera przy podstawie a -złożone i spełnia warunek:

n⇔

)(mod21

nnaa

n

⎟⎠⎞

⎜⎝⎛=

Twierdzenie: (charakterystyka liczb złożonych przechodzących pomyślnie test Millera-Rabina)

Liczba jest liczbą pseudopierwszą Eulera)4(mod3≡n (przy podstawie a) jest liczbą silnie pseudopierwszą

⇔ (przy podstawie a).

Dowód: pomijamy Mamy zatem klasyfikację;

1.) Liczby pseudo-pierwsze przy podstawie a spełniają warunek Fermata : an-1 = 1 (mod n)

2.) Liczby silnie pseudo-pierwsze spełniają warunek Millera-Rabina : j.w.

12

Page 13: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

3.) Liczby pseudo-pierwsze Eulera spełniają warunek Eulera :

an2

1−

= )( na (mod n)

gdzie )( na jest symbolem Jacobiego.

Jeśli dla O(log2n) losowych świadectwo a∈ przy założeniu hipotezy RIEMANNA *

pZmożemy wnioskować , że n ∈ P . Odpowiedni test nazywamy testem SOLOVAYA – STRASSENA. Powyższy symbol Jacobiego jest uogólnieniem symbolu Legenre’a ,a mianowicie jeśli

1 21 2

rrn p p pα α= ⋅ ⋅ ⋅K α (założenie a,n – nieparzyste) to

1

1

r

r

a a an p p

α α⎛ ⎞ ⎛ ⎞⎛ ⎞ = ⋅ ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠K

Dalej jeśli :

11

ssa q qββ= ⋅ ⋅K to

1

1s

sqqap p p

β β⎛ ⎞ ⎛ ⎞ ⎛ ⎞

= ⋅ ⋅⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

K

Pozostaje umieć obliczać ⎟⎟⎠

⎞⎜⎜⎝

⎛qp ,p i q –liczby pierwsze ,q – nie parzyste

Prawo wzajemności Gaussa pokazuje związek symboli Legendre’a

⎟⎟⎠

⎞⎜⎜⎝

⎛qp i ⎟⎟

⎞⎜⎜⎝

⎛pq mianowcie ⎟⎟

⎞⎜⎜⎝

⎛qp = ( )

( )( )1 121

p qqp

− −⎛ ⎞−⎜ ⎟

⎝ ⎠

Jeśli p=2 to obliczamy ( )( )2 1

22 1

q

p

−⎛ ⎞= −⎜ ⎟

⎝ ⎠

oraz ( )( )1

21 1

q

q

−⎛ ⎞−= −⎜ ⎟

⎝ ⎠

WNIOSEK :

Powyższe wzory pozwalają na efektywne obliczenie symbolu Jacobiego i w konsekwencji otrzymujemy wielomianowy, deterministyczny test pierwszości Solovay’a Stressena .

13

Page 14: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 3

Algorytm Lehmana

Twierdzenie (kryterium pierwszosci Lehmana – efektywne obliczeniowo):

Liczba jest pierwsza wtedy i tylko wtedy, gdy zbiór n N∈

( ) {1

2 mod , 1,1n

n

a n a Z−

∗⎧ ⎫∈ = −⎨ ⎬

⎩ ⎭} (*)

14

Dowód: „ ” Jeśli jest pierwsze to ⇒ n ( )1 1 modna − = n na mocy twierdzenia Fermata. Co więcej

nZ jest ciałem -elementowym. Więc równanie n 2 1x − na tym ciele ma dokładnie dwa rozwiązania: ( )1 modx n= ± .

Kładąc 1

2n

x a−

= otrzymujemy, że ( )2 1 modx n= zatem {1

2 1, 1n

a−

∈ − } dla dowolnego

tzn ∗∈ nZa { }1

2 , 1n

na a Z−⎧ ⎫⎪ ⎪∈ ∈ −⎨ ⎬

⎪ ⎪⎩ ⎭, 1

Ale mamy, że (1

21 1 modn−

= )1 . Z drugiej strony: ponieważ jest cykliczna to biorąc

równe generatorowi otrzymujemy, że najmniejszy wykładnik taki, że

jest równy i wtedy

∗nZ a

∗nZ k ( )nak mod1=

1−n (1

2 1 modn

a n−

≠ ) a więc ( )1

21 1 modn−

= − 1 . „ ” Załóżmy, że ⇐ n P∉ , gdzie P to zbiór liczb pierwszych. Pokażmy, że nie zachodzi następująca równość (*) I) , 1 2n n n∉ 2 1n n⊥ ( )1, 21 >nn Zakładamy że nie zachodzi (*)

Istnieje takie że ∗∈ nZa ( )1

2 1 mod1n

a−

= −

Niech będzie rozwiązaniem układu konkurencji. nb Z ∗∈

( )1modb a n=

( )21 modb n=

(także istnieje na mocy twierdzenia chińskiego o resztach gdyż b 1 2n n⊥ ) Wtedy

( )1 1

2 211 mod

n n

b a n− −

= = −

( )1 1

2 221 mod

n n

b a n− −

= =

Page 15: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Zatem (1

2 1 modn

b−

≠ ± )n wbrew założeniu (*) II) n pα= , p -liczba pierwsza Gdy n pα= gdzie 2α ≥ , to w grupie

pZ α

∗ której rząd równy jest

istnieje element a rzędu ( ) ( )1 1p p pα αϕ −= −

p . Niech będzie tym elementem, wtedy: a

( )(

1 1 mod1 mod

n

p

a na n

− ⎫=

)⎪⎬= ⎪⎭

ponieważ |p n więc rzad 1a = co niemożliwe.

Otrzymana sprzeczność dowodzi implikacji „ ⇐ ”. c.k.d.

Algorytm Lehmana:

Dla losowo wybranych , ja 1,2, ,j k= K obliczamy (1

2 modn

ja−

)n , wtedy:

1) jeżeli istnieje j k≤ , (1

2 1 modn

ja−

≠ ± )n to odpowiedź: n P∉ .

2) jeśli (1

2 1 modn

j k ja−

≤∀ = )n to odpowiedź: n P∉ 3) w przeciwnym wypadku odpowiedź: n P∈

Odpowiedź 1) jest pewna, odpowiedź 2) z prawdopodobieństwem , 3) z prawdopodobieństwem .

1 2 k−≥ −1 2 k−≥ −

Test pierwszości AKS Wymyślony w 2002 roku przez Agravala, Keyala i Saxenę. Algorytm AKS jest algorytmem deterministycznym i działa w czasie wielomianowym(!!!) od rozmiaru liczby . n

Lemat 1: Jeśli jest liczbą pierwszą nieparzystą, to n

)(mod)( naxax nn −=− , gdzie .na ⊥Dowód:

Dwumian Newtona dla ma postać: nax )( −

⎟⎟⎠

⎞⎜⎜⎝

⎛−∑ −

kn

ax knk )( . Z twierdzenia Fermata wynika, że . Tylko dwa wyrazy,

pierwszy i ostatni są różne od . Wszystkie pozostałe są równe bo

)(mod naa n ≡

)(mod0 n )(mod0 n

.)!(!

!knk

nn−

Lemat 2:

Jeśli zachodzi równość, że (gdzie jest nieparzyste), to jest liczbą pierwszą.

)(mod)( naxax nn −=− n n

Dowód:

Niech będzie najwyższą potęgą liczby pierwszej , która dzieli . kq q nJeśli: , gdzie i , lqn k= 1≥k ql ⊥

15

Page 16: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

to wtedy:

=−−⋅⋅−

=⎟⎟⎠

⎞⎜⎜⎝

−=⎟⎟

⎞⎜⎜⎝

⎛!

)1(...)1)(()!(! q

qlqlqlqqlqq

lqqn kkk

k

k

lq k 1− .

tylko ten czynnik ten i następne już nie

dzieli się przez q bo q nie dzieli mq −

16

)(||

)(|mqq

lqqmqlqq

k

k

−⇒⎪⎭

⎪⎬⎫−−

sprzeczność!!!

iin

n

i

nn xain

axax −−

=

−⎟⎟⎠

⎞⎜⎜⎝

⎛=−−− ∑ )()()(

1

1

Weźmy teraz . Wtedy nie jest wielokrotnością , więc także nie jest

wielokrotnością n . Zatem różnica . Stąd jest liczbą pierwszą (na mocy dowodu nie wprost).

qi = ⎟⎟⎠

⎞⎜⎜⎝

⎛in kq

)(mod0)()( naxax nn ≠−−− n

Twierdzenie AKS:

Załóżmy że są liczbami pierwszymi, gdzie rqNn ,∈ ,1| −rq oraz spełnione są cztery poniższe założenia:

1) }1,0{)(mod1

∉−

rn qr

2) - skończony zbiór liczb całkowitych taki, że S

zachodzi: Sbb ∈≠∀ ' nbb ⊥− '

3) ⎣ ⎦rnSSq 2

||1||

>⎟⎟⎠

⎞⎜⎜⎝

⎛ −+

4) , tzn. , gdzie

),1(mod)( nxbxbxSb rnn −+=+∈∀)()1)(()( xngxxfbxbx rnn +−=+−+ [ ]xZgf ∈, .

Wtedy n jest potęgą liczby pierwszej. Przykład:

)(mod0)( nxgn =⋅)

),1(mod012 nxx rr −=− , gdyż 1)(1(1| 21 −+=−− rrrr xxxx

Szkic dowodu twierdzenia AKS.

I. Warunki 1, 2, 3 można traktować jako koszt spełnienia założenia z lematu 2. II. Jeśli zachodzi ( ) ( )(mod 1, )n n rx b x b x+ = − − n , to zachodzi to także dla liczb

w postaci , gdzie m

ji pnm ⋅= p jest dzielnikiem pierwszym liczby , tzn. (jest to propagacja równości z warunku 4 na

liczby postaci ).

n),1(mod)( nxbxbx rmm −+=+

m a) Bierzemy m Otrzymamy wtedy ( .in= nxbxbx rnn ii

−+=+ ),1(mod)

Page 17: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Dla dowodu zauważmy, że: ==+=+=+=+=+

−−−− ...)(])[()(])[()(22211 iiii nnnnnnnnnn bxbxbxbxbx

bxbxii nn +=+= 0)(

17

).

b) Bierzemy tzn. Zauważmy teraz, że

,jpn = ).,1(mod)( nxbxbx rpp jj

−+=+

),)(mod()( 1 nxbxbx rnn −+=+ , więc także , gdyż

,)(mod()( 1 pxbxbx rnn −+=+| np

Mamy . )(mod)(mod)( pbxpbxbx pppp +=+=+ Pozostałe współczynniki znikną, gdyż są podzielne przez p . Na mocy twierdzenia Fermata mamy: Jeśli ,pb ⊥ to . )(mod)(mod11 pbbpb pp =⇒=−

Jeśli , to gdyż bp | ),(mod pbb p = .| bbp p −Zatem

==+=+=+=+=+−−−−

...)(])[()())(()(22211 jjjjj pppppppppp bxbxbxbxbx

).(mod pbxjp +=

Udowodniliśmy więc, że zachodzi ).,1(mod)( nxbxbx rpp jj

−+=+

Jest to o słabszy warunek niż więc (mod ),njeśli równanie jest prawdziwe , to jest też prawdziwe dla

(mod )n).,1(mod nxr −

Połączenie kroków a) i b).

⎪⎩

⎪⎨⎧

−+=+−+=+

),1(mod)(),1(mod)(

nxbxbxnxbxbx

rpp

rnn

jj

ii

ji pnm =

),1(mod)(][])[()( nxbxbxbxbxbx rpnpnpnpnpn jijijijiji

−+=+=+=+=+ krok a) krok b)

III. Załóżmy, że Jeżeli .ab < )(mod rba = , to ).,1(mod nxxx rba −=Dowód:

)1( −=− −babba xxxx . Pokażemy, że jest wielokrotnością )1( −−bab xx .1−rxPołóżmy .lrba =− Wtedy

=+++−=−=−=− − )...)(1(11)(1 12 lllrlr yyyyyxx= . C.N.D. )...1)(1( )1(2 −++++− lrrrr xxxx

IV. Zasada szufladkowa Dirichleta. Jeśli ⎣ ⎦rji ≤≤ ,0 , to wtedy istnieją pary takie, że

),(),( '' jiji ≠

)(mod''

rpnpn jiji =

Page 18: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

(Są to liczby dające tą samą resztę. Dzieje się tak dlatego, gdyż możliwości wyboru par jest o jeden więcej niż istnieje reszt.) )(ij

V. Ekstrapolacja kroku II.

Krok II można zapisać że dla mamy równość 11 )( bxxq += ),,1)(mod()( 11 nxxqxq rmm −=a dla 22 )( bxxq += mamy . ),1)(mod()( 22 nxxqxq rmm −=Wtedy równość zachodzi dla ),1(mod)()( nxxqxq rmm −= .21qqq = Dowód.

(*) ⎩⎨⎧

−=−=

),1mod()()(),1mod()()(

22

11

nxxqxqnxxqxq

rmm

rmm

mmm xqxqxqq )()()( 21

?

21 = Ale lewa strona powyższego równania jest równa ma mocy (*). C.K.D.

mmmm xqxqxqxq )()()()( 2121 =

VI. Konstrukcja elementu dużego rzedu w . 1/][ −rxxZ

Rozważmy grupę G generowaną przez dwumiany bx + , gdzie , w ciele , gdzie jest wielomianem nierozkładalnym w dzielącym

Sb ∈

[ ] )(/ xhxZ p )(b x [ ]xZ p

.11

−−

xxr

Zatem { ( ) , 1, 0}bb b

b Sb S

G x b qα α α∈∈

≥ + ≤ − ≥∑∏ .

Grupa multiplikatywna ciała [ ] )(/ xhxZ p jest cykliczna, zatem grupa G też jest cykliczna.

Jeśli g jest jej generatorem, to rząd | | 1| |

q Sg GS

⎛ ⎞+ −= ≥ ⎜ ⎟

⎝ ⎠

VII. Zakończenie dowodu.

Niech g - generator grupy G , oraz będą elementami zbioru ',mm

⎣ ⎦},0:{ njipn ji ≤≤ takimi, że wtedy prawdziwe jest: ),(mod' rmm ≡

(*) ),1)(mod()('

nxxqxq rmm −= Jeśli spełniają (*) ⇒ 21 , qq 21 qq ⋅ też spełniają (*) Zatem równanie (*) zachodzi dla generatora g w grupieG , tj.

. ),1mod()()( nxxpxq rmm −=

Ponieważ więc i na mocy

multiplikatywności

)(mod' rmm = )1(mod)()('

−+=+ rmm xbxbx

),1(mod))(())(('

nxbxbx rm

Sb

m

Sb

bb −+=+ ∏∏∈∈

αα .

Czyli w grupie G. Wtedy mamy '

)()( mm xqxq = 18

Page 19: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

2' | | 1| |

n q SG m m n G

S⎢ ⎥⎣ ⎦

+ −≤ − ≤ < ≤

Otrzymaliśmy sprzeczność z wnioskiem płynącym z zasady szufladkowej Dirichleta, czyli sprzeczność z . Sprzeczne więc jest , czyli 'mm ≠

'' jiji pnpn ≠'' jiji pnpn =

αpnnn jjii =⇒= −− ''

C.N.D

Algorytm AKS:

1) Znajdź liczbę pierwszą r rzędu L Znajdź – największy dzielnik pierwszy

liczby

).(nc q

1−r taki, że }.1,0{)(mod1

∉−

rn qr

2) Znajdź , takie żes ⎣ ⎦rnssq ⋅≥⎟⎟

⎞⎜⎜⎝

⎛ −+ 21.

3) Sprawdź, czy ma dzielnik pierwszy w zbiorze n }.,...,3,2{ s4) Jeśli nie, to sprawdź następującą kongruencję:

),1(mod)( nxbxbx rnn −+=+ 5) Sprawdź jaką potęgą liczby pierwszej jest .n

19

Page 20: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 4

Konstruktywizm w problemie dzielników i algorytm Fellowsa-Koblitza

a R∈ , gdzie R – dziedzina z jednoznacznością rozkładu

( )aϖ – ilość różnych dzielników pierwszych (z dokładnością do stowarzyszenia )

Przykład:

20

, , 60a = ( ) { }# 2,3,5 3aϖ = = R Z=

Problem:

Znaleźć nietrywialne oszacowanie dla ( )aϖ

Przykład: Znaleźć ograniczenie typu ( )a tϖ ≤

( ) a tϖ ≥

( )aϖ t= , gdzie t R+∈ Metoda konstruktywna pozwala wyznaczyć nietrywalny dzielnik . |d aMetoda konstruktywna pozwala oszacować ( )aϖ ,ale nie implikuje znajomości żadnego nietrywialnego dzielnika . |d a Dowód, że jest konstruktywny jeśli wynika z niego jak można znaleźć ( ) 2aϖ ≥ nietrywialny dzielnik d dzielący a. Dowodzimy teraz problem PSM w ogólności : Dane 1 2

1 2I

Ia p p pα α α= K Szukamy informacji na temat rozkładu a ,badając pierścień ilorazowy S

a , gdzie [ ]S R x⊂ ,

a dokładniej jego grupę jedności ( )SG a∗

= , gdzie G - przemienne

F G⊂ podgrupa grupy G równa 1 2 1I I

S SF Sp p p p p

∗ ∗ ∗⎛ ⎞ ⎛ ⎞ ⎛= = ⊕ ⊕⎜ ⎟ ⎜ ⎟ ⎜⎝ ⎠ ⎝ ⎠ ⎝

KK

⎞⎟⎠

Page 21: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

F1 F 2 F I

F1 F11 ⊕ F 2

1 ⊕ … ⊕ F I1

⊕ ⊕ ⊕ ⊕

F 2 F12 ⊕ F 2

2 ⊕ … ⊕ F I2

⊕ ⊕ ⊕ ⊕

F 3 F13 ⊕ F 2

3 ⊕ … ⊕ F I3

⊕ . . .

...

...

...

F J F J1 ⊕ F J

2 ⊕ … ⊕ F IJ

Fij -grupy cykliczne niekoniecznie nietrywialne gdzie i ≤ I , j ≤ J

ord H = rząd H Mamy ,że ω(a) = I Sq(G) – q podgrupa Sylowa grupy G (podgrupa maksymalnego rzędu qα) Dla oszacowania I będziemy rozważać pewne podgrupy H G . ⊂Niech q | ord F.

(1) Metoda dowodzenia ,że ord Sq (H) > ord Sq (F). (metoda „kolumnowa”)

(2) Metoda dowodzenia ,że jest różny od ord FjFe j . (metoda „wierszowa” ) Dla pewnego j ≤ J

------ e(H) : eH –wykładnik grupy H tzn. e(H) =

HhordhNWW

∈)(

------ Zauważmy ,że jeśli e(Fj) ord F≠ j to grupa Fj nie jest cykliczna , bo gdyby była to rząd generatora byłby równy rzędowi grupy. Wtedy oczywiście I ≥ Z ,więc ω(a) 2. ≥Przykładem demonstrującym metodę (1) jest test pierwszości FEILOWSKA – KOBLITZA ,natomiast metodę (2) test Agravala,Keyala i Saxeny. Przypadek I : a | ord F : Sq ( H F∩ i’ ) > ord Sq ( H ∩ Fi ) > r Jeśli takie H ⊂ F istnieje to naturalnie ord Sq ( H ) > ord q ( Fi ) Przypadek II : (q | ord F) zachodzi ord S∀ q ( H ∩ Fi’ ) = ord Sq ( H ∩ Fi ) > 1

Twierdzenie: Załóżmy , że zachodzi Przypadek II gdzie H G ma rząd > (ord F)⊂ S-1/S oraz wszystkie przecięcia H F∩ i są cykliczne. Wtedy : eH > (ord F )1/s ⇔ ω(a) ≤ S-1.

21

Page 22: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Dowód:

Przy założeniach Przypadku II .mamy ,że ∀ q | ord F , q -podgrupy Sylowa grup H F∩ i i H F∩ i’ są tego samego rzędu. Zatem grupy H ∩ Fi i H ∩ Fi’ mają te same rzędy, ponieważ H F∩ i , i ≤ I są cykliczne ,więc H ∩ Fi oraz H ∩ Fi’ są izomorficzne. Niech H

F∩ i = E , i ≤ I . Wtedy mamy, że H = H ∀ ∩ F = H ∩ ( F1 ⊕ … ⊕ FI ) ⊂ (H F∩ 1) ⊕ (H F∩ I) = = E ⊕ E ⊕ … ⊕ E I razy Załóżmy, że eH > (ord F )1/s i ω(a) >s-1 tj.

I ≥ s Wtedy ( ord F )1/s < eH = ord h = < h > = Hh

NWW∈ Hh

NWW∈

= (H ∩ FHh

NWW∈

i) = ord E = ord E ≤ (ord H)Hh

NWW∈

1/I ≤ (ord F)1/s.

Otrzymana sprzeczność dowodzi , że ω(a) jest ≤ s-1 .Odwrotną implikacje dowodzimy analogicznie, zauważając ,że z cykliczności H ∩ Fi wynika .że eH ≥ (ord H )1/I

więc wykładnik grupy jest duży jeśli tylko H ma duży rząd.

Wniosek 1: Jeśli H jest podgrupą cykliczną F lub wszystkie przecięcia (H ∩ Fi) są cykliczne to w Przypadku II mamy :

1.) Jeśli eH > ( ord F )1/2 to ω(e) = 1. 2.) Jeśli ω(a) = 1 oraz ord H > ( ord F )1/2 to eH > ( ord F )1/2.

Wniosek 2:

Jeśli zachodzi Przypadek II i grupa H jest „duża” to wykładnik eH rozstrzyga o pierwszości lub złożoności elementu a.

Wniosek 3: Przypadek II w odróżnieniu od Przypadku I stanowi niekonstruktywny element dowodu pierwszości lub złożoności a ∈ R .

Wniosek 4: (ALGORYTM F-K) poznizej. Algorytm Fellowsa-Koblitza (deterministyczny ,działający w czasie O(log n)6 operacji) n- Dana wejściowa (Naturalna) zakładamy , że 1 2

1 21 kkn q q qαα α− = K

1) Dla a ∈ N z przedziału [ 2 , log2 n ]wykonuj 2) Jeśli an-1 ≠ 1 (mod n) to zwróć odpowiedź n – złożona. 3) Oblicz ordn a 4) Dla dowolnego q | ordn a wykonuj 5) Jeśli NWD(aordn a/q – 1 ,n ) > 1 to zwróć odpowiedź n- złożona 6) Oblicz

( )( )

22 logNWW ordn

a nl a

≤ ≤=

7) Jeśli nl < to zwraca odpowiedź n – złożona w przeciwnym przypadku zwraca odpowiedź n – pierwsza.

22

Page 23: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 5

Protokoły podziału tejemnicy i schematy progowe Podział tajemnicy i struktura dostępu Rozważmy trójkę ) gdzie: ,,( SPK K - zbiór kluczy, P - zbiór użytkowników, - zbiór udziałów.

S

PZΓ ⊂ - rodzina zbiorów uprzywilejowanych (każdy zbiór z tej rodziny pozwala na zrekonstruowanie klucza , na postawie odpowiadających im udziałów). Taką rodzinę nazwiemy strukturą dostępu.

Kk ∈

Definicja.

Systemem bezpiecznego podziału tajemnicy, realizującym strukturę dostępu , nazywamy metodę podziału klucza pomiędzy użytkowników ze zbioru

ΓKk ∈ P w taki sposób, aby:

1) Każda grupa osób PB ⊂ z rodziny Γ potrafiła wyznaczyć wartość klucza na podstawie swoich udziałów ze zbioru .

Kk ∈S

2) Dowolna grupa osób spoza rodziny Γ nie była w stanie na podstawie swoich udziałów otrzymać żadnej informacji na temat klucza Kk ∈ .

Definicja.

Załóżmy że nP =|| .Schematem progowym typu jest taki schemat bezpiecznego podziału tajemnicy, że każda grupa osób

),( ntPB ⊂ , taka że , jest uprzywilejowana. tB ≥||

Protokół Shamira Niech - ustalone ciało, , F PBb ⊂∈ tB =|| .

23

(b będzie oznaczać element zbioru osób B , a także identyfikator danej osoby)

Twierdzenie. Istnieje dokładnie jeden wielomian ][xFf ∈ (o współczynnikach w ciele F) stopnia 1−≤ t wyznaczony przez węzły , gdzie ),( byb .Bb ∈

Przykład.

Jeśli to istnieje dokładnie jeden liniowy wielomian 2|| =B ][xFf ∈ , taki, że . )()(

22

11

bfybfy

==

Dowód twierdzenia.

Wielomian można określić następującym wzorem (jako wielomian interpolacyjny Lagrange’a):

f

Page 24: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

∑ ∏∈

≠∈

⎟⎠⎞

⎜⎝⎛

−−

=Bb

biBi

b ibixyxf )(

Stopień . Pokażemy że 1−≤ tf bybf =)( .

( ) ''

''b

b B i Bi b

b ibf b y

b i∈ ∈≠

−⎛ ⎞= ⎜ ⎟−⎝ ⎠∑ ∏ y= C.N.D

(W powyższym wyrażeniu jedyny wkład ma ta wartość dla której gdyż dla pozostałych jeden z czynników iloczynu jest zerowy)

'by 'bb =

Schemat Protokołu Shamira.

I. Faza wstępna.

1) Mocodawca (tzw. Dealer) wybiera różnych (niezerowych) elementów ciała (gdzie

0P nF 1|| +≥ nF ) : .,...,2,1 nbbb

2) Mocodawca przydziela liczby osobom , gdzie ib iP .,...,2,1 ni = II. Faza rozdzielania udziałów (w schemacie (t, n)).

Niech będzie rozdzielanym kluczem. Kk ∈1) wyznacza ( losowych liczb 0P )1−t Faaa t ∈−121 ,...,, i definiuje wielomian

. 111 ...)( −

−+++= tt

t xaxakxf2) przydziela udziały osobom , gdzie 0P )( ibf iP .,...,2,1 ni =

Uwaga! Jeśli , to węzły jednoznacznie wyznaczają wielomian , a więc i klucz

tB ≥|| ))(,( ii bfb)(xf Kk ∈ .

Pokażemy, że jeśli tB <|| , to każdy klucz Kk ∈ może być otrzymany z udziałów osób

. Bb ∈ Niech . ii xb =

1−t węzłów pochodzących od osób tworzy układ:

1111

212110

11

112

12110

.....................

...

−−−−−−

−−

=++++

=++++

tttttt

tt

yxaxaxaa

yxaxaxaa

Rozszerzając powyższy układ o równanie możemy obliczyć wartość klucza:

01

0102010 ... yxaxaxaa tt =++++ −−

111011

211

11101

1211

01101

0200

),...,,)(,...,,,1(.........

),...,,)(,...,,,1(

),...,,)(,...,,,1(

−−−−−−

−−

−−

=

=

=

tttttt

tt

tt

yaaaxxx

yaaaxxx

yaaaxxx

24

Page 25: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Zapisując w postaci macierzowej: 0 0

2 11 11 1 1

2 11 11 1 1

1 0 0 ... 01 ...... ... ... ... ...1 ...

t

tt tt t t

a ya yx x x

a yx x x

−− −− − −

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦ ⎣ ⎦⎣ ⎦

M M

Powyższy układ ma jednoznaczne rozwiązanie gdyż jego wyznacznik wynosi:

0)()(1010

≠−=− ∏∏−≤<≤−≤<≤

jitji

jitji

bbxx

C.N.D. Schemat podpisu cyfrowego z pełnomocnictwem Twórcami tego schematu są (Chin-Chen-Chan, Hui-Feng-Huang). Bazuje on na protokole podziału tajemnicy pochodzącym od Shamira (używa systemu RSA). Nowością jest to, że w tym podpisie wszyscy użytkownicy są łatwo rozpoznawani (co wcześniej nie było osiągalne). Ponadto jest jest szybki obliczeniowo.

nPPP ,...,, 10 - pełnomocnicy. I. Faza wstępna.

Zaufany serwer (trusted authority) generuje klucze RSA: ),( ii Ne - publiczny, - prywatny, gdzie id iii qpN = ( jest iloczynem dwóch liczb

pierwszych) przekazuje wartości kluczy odpowiednim pełnomocnikom: iN

0 0 0( , ),e N d ( 0N )ϕ dla , 0P

iii dNe ),,( )( iNϕ dla , gdzie iP 0≠i . II. Generowanie klucza pełnomocnictwa.

1) tworzy informację 10P , 00 ≠∈ mNm (zawierającą identyfikator i czas udzielanego pełnomocnictwa) i oblicza

0P

))((mod11)(

))((mod1))(mod())(mod(

000

000

00

00

0

0

Ned

NEDNeENdD

mm

m

m

ϕ

ϕϕϕ

==

=→⎭⎬⎫

==

Gdzie D - klucz tajny pełnomocnictwa, E - klucz jawny pełnomocnictwa. 2) publikuje 0P )](mod)(),(mod)(,,[ 0000000

00 NEENmmEm dd == σσoraz bezpieczną funkcję haszującą . h

3) Każdy użytkownik może zweryfikować wiarygodność obliczając przy użyciu wartości:

0P

0e

)(mod)(

)(mod)(

00

0000

NEE

Nmmo

o

e

e

=

=

σ

σ

III. Podział tajemnicy.

1) Wybór wielomianu podziału tajemnicy.

25

Page 26: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

• wybiera losowe liczby całkowite 0P ),0[ 0Nai ∈ i definiuje , wtedy f ma postać

, gdzie ][...)( 1

111 xZxaxaDxf tt ∈+++= −−

∑∈

=Bb

b xgbfxf )()()( ][)( xQxgb ∈ .

• definiuje wielomian pomocniczy 0P !)( nxf = skąd , gdzie )()()( xGbfxH

Bbb∑

= ,!)( nxGb = ][)( xZxgb ∈ .

2) Wyznaczanie udziałów S pomiędzy użytkowników . nPP ,...,1

0P oblicza udziały dla Bb ∈ wzorem ZngbfGbfS bbb ∈== !)0()()0()( i wysyła kryptogramy postaci do wszystkich )(mod))(( 0 b

eb NS bσ .Pb ∈

3) Sprawdzenie wiarygodności udziałów. bP oblicza , a następnie

(jest to weryfikacja podpisu dealera jego kluczem publicznym).

))(mod()))((( 00 bbde

b NSS bb σσ =

))(mod())(( 0 bbe

b NSS b =σ

IV. Tworzenie podpisu pełnomocnictwa.

1) Wzajemne uwierzytelnianie grupy B. Każdy oblicza (jest to wartość publicznie znanej funkcji haszujacej dla danej wiadomości z zawartą informacja o adresacie) i przesyła wyniki do pozostałych udziałowców. Każdy z nich weryfikuje autentyczność otrzymanego kryptogramu obliczając .

0P )(mod),( bd

b NMbhy b=

( , )(mod )beb by h b M N=

2) Składanie częściowego podpisu. Użytkownik oblicza wartość

bP

)(mod)],),(([)( 0)0()( NMMbhhM

Bb

Gbfdb

bb∑∈

( - to otrzymane od Dealera udziały każdego użytkownika) i wysyła parę ] do każdego z pozostałych użytkowników.

)0()( bGbf

)(),([ bdbb MM σσ

3) Weryfikacja poprawności „częściowych” podpisów. • sprawdza, czy . iP ))(mod())(( 0NMM b

edb

bb σσ =• Jeśli tak, to oblicza wartość

!)()( ),()0()(),()( DndB

Bbb

dB

Bbb MyhGbfMyhM == ∑∏

∈∈

σ gdzie

. ∑∈

=Bb

ddB

bMbhy ),()(

4) Obliczanie podpisu z pełnomocnictwa. • Każdy oblicza wspólną wartość iP )(MBσ jak następuje

)(mod)()( 0!

1

NMM n

BbBB ∏

= σσ .

Podpisem pełnomocnictwa pod wiadomością M jest trójka ),),(( BRMBσ , gdzie R jest rozwiązaniem układu równań:

BbNMbhR bdb ∈= ),(mod),( . (równań takich będzie tyle, ilu jest

użytkowników – czyli ). b

V. Weryfikacja podpisu. 1) Sprawdzenie wiarygodności pełnomocnictwa.

26

Page 27: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

• Odbiorca weryfikuje prawdziwość ) (gdzie - identyfikator , t – czas ważności pełnomocnictwa) oraz

),(( 00 tPIdm Id

0P E (gdzie E klucz publiczny pełnomocnictwa) obliczając

. )()(),()( 000σ000 EEnm ee ==σ

2) Weryfikacja wiarygodności grupy na podstawie podpisu ),),(( BRMBσ • Odbiorca oblicza . )(mod),()(mod 0NMbhNR bd

b =

• Sprawdza czy . )(mod,()),(( 0NMbhMbh bb ed =

• Jeśli tak, to oblicza ∑∈

=Bb

ddB

bMbhy ),()( i sprawdza czy

. ))(mod,()( 0NMyhM BE

B =σJeśli tak, to podpis ),),(( BRMBσ uznaje za prawdziwy.

27

Page 28: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 6

Logarytm dyskretny i metoda indeksu.

Logarytm dyskretny

Problem: (logarytmu dyskretnego dla G) Dana jest grupa G i generator oraz g G∈

.GA∈ Znaleźć (o ile istnieje) wartość log(A)=x : . )(GAg x = Metoda indeksu (idea)

Uwaga 1: Zamiast szukać lg(A) będziemy szukać i wtedy )lg()lg( kk ABiB

)lg()lg()lg( kk BABA −= gdzie kB to rodzaj losowego „znacznika”.

Postulat 1: kB jest „efektywnie” generowane przez bazę tj. znajdziemy reprezentację:

)lg((*) iii bx

i

xii

k gbB Π=Π=

dla wielu k.

Postulat 2: kAB jest „efektywnie” generowany przez bazę tj.

)lg(

**

iii by

i

yii

k gbAB Π=Π=⎟⎟⎠

⎞⎜⎜⎝

logarytmując układ (*) i rozwiązując znajdziemy wartości i wstawiając je do

równania otrzymamy:

)lg( ib

⎟⎟⎠

⎞⎜⎜⎝

⎛**

∑ −=i

iii bxyA )lg()()lg(

Konkluzja:

Rozbicie lg(A) na i pozwala zastosować ideę przekątniową (skracającą przeszukiwanie przestrzeni)

)lg( kAB )lg( kB

kAB kB k = 1, 2, 3, ……. 28

Page 29: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Algorytm Pohliga-Hellmana

29

)

b

( ,G ⋅ grupa skończona (przemienna)

aaaaaNxrazyx

x43421 ⋅⋅⋅⋅=∈ ...., Gwaa xx 1)( −− =

Rozważmy problem logarytmu dyskretnego xa = w grupie G.

Uwaga: Wykładnik x jest określony modulo G a ściślej modulo gdyż arz

baaaaa xxGxGx ==⋅=⋅=+ 1 , baaa xarzxarz =⋅=⇒= + 11

Dla „arytmetycznych” grup G nie znamy algorytmu obliczającego logarytm dyskretny w czasie wielomianowym od rozmiaru G .

Uwaga: Niech G = i załóżmy, że a jest generatorem grupy G Π

q

qqα

Załóżmy, że potrafimy znaleźć dla każdego | )(mod iii qxx α= iq G

Wtedy rozwiązując układ równań i=1, 2, 3, 4, ….. k )(mod 1

11αqxx =

… )(mod k

kkk qxx α=

Znajdziemy rozwiązanie x(mod Π )(mod) Gxq ii =α

tzn. otrzymuję logarytm dyskretny dla elementu b przy podstawie a )(Gbax =

Wniosek: Dla G = algorytm jest efektywny, jeśli p-1 jest liczbą gładką, tj. mającą tylko małe dzielniki pierwsze.

*pZ

Problem:

Jak wyznaczyć )(mod αqx1

12

210 ..... −−++++= α

α qxqxqxxx gdzie }1,.....1,0{ −∈ qxi

Page 30: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Metoda Pohliga-Hellmana dla *pG Z= Rozważmy równanie: (w grupie ba qxqxqxx =

−−+++ 11210 .... α

α *pG Z= ) Wtedy

qq pqpqp

qpx

bbba 1)( 11

111

==== −−−−

Załóżmy, że mamy tablicę wszystkich pierwiastków stopnia q z jedności w grupie reprezentowanej przez potęgi generatora a. Teraz mamy

qpx

kpxqp

qkqp

xqp

qxqxx aaaaaa1

1111

.... 000

1110 )()()()(

−⋅

−−−−

+++ ==⋅=−

−α

α Odszukując odpowiednie wartości pierwiastka z jedności znajdujemy wartość . 0x

Dla wyznaczenia zauważmy, że1x qp

xab 1

)(0

jest pierwiastkiem stopnia q z jedności. Z drugiej

strony qpx

qp

qxqxxqpxqx

qp

qpx

qp

aaaaabi

i11

......1)(111

12121

00

)(−

⋅−

+++−

∑−−−

===−

−α

α , więc odszukując tę wartość w naszej tablicy znajdujemy . Kontynuując tę procedurę wyznaczamy wszystkie kolejne cyfry

1x

132 ,........, −αxxx

Uwaga: Połączenie metody Pohliga-Hellmana i Shanksa daje wzmocnienie powyższego algorytmu – algorytm Silvera-Pohliga-Hellmana.

Elementy gładkie w kryptografii

Systemy kryptograficzne są zdefiniowane na ogół na dostatecznie dobrych strukturach algebraicznych, gdzie jest zdefiniowane działanie „ o ”, na przykład: półgrupy, grupy, pierścienie, ciała. Wykorzystywana jest jednokierunkowość pewnych naturalnych funkcji zwiazanych z działaniem „ o ” w danej strukturze. Typowym przykładem są działania mnożenia (dodawania) w strukturach multiplikatywnych (addytywnych) odpowiednio. System kryptograficzny struktura algebraiczna jednokierunkowość wyróżnionych funkcji Przykład: ( ),G o - półgrupa trudność obliczeniowa związana z rozwiązaniem równania → x a b=o w

, gdzie G x N∈ 30

Page 31: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Przykładami są następujące struktury:

( ),Z , , ( ),pZ ( )( ),qE F ⊕

Problem: Rozwiązać równanie x a b=o w półgrupie G (tzn. znaleźć x N∈ czyniące zadość tej równości) Metoda brutalna (sprawdzenie kolejnych możliwości) Metody wyrafinowane (wykorzystujące bazy rozkładu i elementy gładkie) Definicja:

Niech będzie półgrupą. ( ,G o) B G⊂ nazwiemy bazą rozkładu jeśli dużo elementów G jest

postaci i ix p∑ o gdzie ip B∈ . Definicja: Element nazwiemy g G∈ B -gładkim wtedy i tylko wtedy, gdy jest postaci

gdzie ig x= ∑ o ip ix N∈ Wysokość elementu i odwzorowania redukcji. Niech , wtedy pewną funkcją. :h G N→Wykorzystamy ją do mierzenia wysokości elementów półgrupy G . Przykład:

( ),Q , (max ,rhs

⎛ ⎞ =⎜ ⎟⎝ ⎠

)r s , gdzie rs

jest w postaci nieskracalnej.

Będziemy się do tego przykładu odwoływać dalej. Funkcję h zwykle definiujemy na nieskończonych półgrupach. W praktyce będziemy rozważać równanie x a b=o w skończonych strukturach ilorazowych. Taką strukturę można otrzymać wykorzystując odwracalność redukcji. red p

GG P→

red :pGG P→

Przykład 1: - pierścień ( ), ,Z +

( )red : , ,p pZ Z+ →

( ) ( )red modp g g p= Przykład 2: ( )( ),G E Q= ⊕

( ) ( )red :p pE Q E F→

31

Page 32: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

( )red , , modpa c ab cd pb d

⎛ ⎞ =⎜ ⎟⎝ ⎠

określone dla punktu ( ),a cP Eb d

⎛ ⎞= ∈⎜ ⎟⎝ ⎠

Q

Oznaczenie , , ,a b G∈ red pa a=% red pb b=%

Baza rozkładu (aspekt ilościowy) Zauważmy, że zamiast szukać rozwiązania równania x a b= %%o wystarczy znaleźć rozwiązanie x a b=o , gdyż ( )red p x a x=o , red p a xa= % , ( )red p b b= % Zatem będziemy szukać rozwiązania równania x a b=o w półgrupie (nieskończonej) G. Definicja: Powiemy, że B jest -bazą rozkładu w G wtedy i tylko wtedy, gdy ( , ,t u f )

( ) ( ){ } ( )# , , , ,i i ig G h g t g x p h p u f t u∈ < = ≤ >∑ o

32

Przykład: ( ),G N= o - półgrupa

{ }1 2, , , rB u p p p u= = ≤K , gdzie ip - kolejne liczby pierwsze.

Niech ( )log lu O t=

Wtedy { } ( )11

# , : , ,i

i

lun N n t n p P B f t n tα −

∈ ≤ = ∈ > =∏

Metoda indeksu Problem: Znaleźć wartość logarytmu dyskretnego w grupie pG Z ∗= tzn. mając dane , pa b Z ∗∈

Znaleźć takie x Z∈ , że ( )modxa b p=

Wybieramy bazę rozkładu { }1, , rB p p= K takie, że dużo elementów w G jest postaci i

ipα∏

Wybieramy losowe a G∈ i dzielimy ( )modi

i

ka pα= p∏ , jeśli takie przedstawienie nie

istnieje to wybieramy inne k. Logarytmując mamy ( )log logka i a ik a pα= = = i ij x∑ ∑

Podstawiamy to dla wielu k by otrzymać układ r c+ , równań z niewiadomą ix Rozwiązujemy ten układ np. drogą eliminacji Gauss’a. Przedstawiamy w bazie B (jeśli nie można to zmieniamy k) kbaOstatecznie otrzymujemy (po zlogarytmowaniu):

( )log loga ab k pδ+ = ∑ a i

p

skąd znajdujemy: ( )log moda i ib x kδ= −∑ Wniosek:

Page 33: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Podstawowym mankamentem sytuacji gdy ( )pG E F= jest fakt, że za mało punktów na

krzywej pochodzi od punktów na krzywej ( pE F ) P ( )E Q będących elementami ( ) -

gładkimi w .

, ,t u f

( )E Q

, , gdzie u jest analogiczne jak w rozkładzie indeksu dla

grupy i ik pα= ⋅∑ ( )ih p u≤

pZ ∗ . Takie punkty powinny być postaci P i iP Pα= ∑ , gdzie ( )h P t≤ , ( )ih P u≤ a ich liczba

powinna przewyższać zadaną (dostatecznie szybko rosnącą) funkcję ( ),f f t u= .

33

Page 34: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 7

Krzywe eliptyczne K –ciało Definicja: Krzywą algebraiczną płaską (nad K) nazywamy zbiór punktów będących rozwiązaniem równania: ,

2),( Kyx ∈0),( =yxf

gdzie f jest wielomianem nierozkładalnym nad K. Rozważmy wielomian f postaci:

)(),((*) 642

23

312 axaxaxyaxyayyxf +++−++= gdzie Kai ∈

Połóżmy:

0

9278

24

4

4

24

34

64226

348

22

4224

24

232421626

218

6236

3144

2212

≠∆∆

=

+−−−=∆

−=

⎢⎢⎢⎢⎢

−+−+=

+=

+=+=

dlac

j

bbbbbbb

bba

aaaaaaaaaab

aab

aaabaab

∆ nazywamy wyróżnikiem krzywej, j nazywamy j - niezmiennikiem rozważanej krzywej. Równanie nazywamy równaniem Weierstrassa0),( =yxf . Jeśli wyróżnik krzywej jest to krzywą nazywamy nieosobliwą0≠ . To oznacza, że w każdym punkcie ),( yxP = leżącym na krzywej zachodzi:

0),( ≠∂∂ yx

xf lub 0),( ≠

∂∂ yxyf

(taki punkt nazywa się nieosobliwym). Geometrycznie oznacza to, że w każdym punkcie istnieje styczna do krzywej.

34

Przykład: 232 xxy += xxy −= 32

krzywa osobliwa krzywa nieosobliwa (w punkcie (0,0)) Definicja: Krzywą nieosobliwą z dołączonym punktem w nieskończoności O nazywamy krzywą eliptyczną i oznaczamy . )(KE

Page 35: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

W dalszym ciągu równania Weierstrassa krzywej eliptycznej zapisywać będziemy w postaci:

BAxxxfxfy ++== 32 )(,)( Warunek oznacza, że 0≠∆ 0)274(16 23 ≠+−=∆ BA Uwaga: Dla krzywej o równaniu następujące warunki są równoważne: BAxxxfy ++== 32 )(

)(QE ma punkt osobliwy. f i zerują się równocześnie równocześnie w pewnym punkcie krzywej. f ′f ma pierwiastek wielokrotny.

0=∆ . Krzywa eliptyczna jest symetryczna gdy względem prostej 0=y . Co więcej z powyższej charakteryzacji wynika, że jeśli:

)()0,()()0,(),0,( 321 RExtoRExx ∈∈ gdzie jest trzecim pierwiastkiem równania 3x 0)( =xf .

EyxEyxEyxEyx

Eyxxxxxxxxfy

∈∈∈∈−

∈−−−==

),(),(),(),(

),())()(()(

33

22

11

3212

βα += xy ))()(()( 321

2 xxxxxxx −−−=+ βα Działania na krzywej )(KE Niech βα += xy będzie sieczną przechodzącą przez punkty krzywej E wtedy .

),(),,( 2211 yxyxBAxxx ++=+ 1

31

2)( βαgdzie

212

1222212

12

12 ;)( xxxyyyxyxx

xxyy

⋅⎟⎟⎠

⎞⎜⎜⎝

⎛−−

−=−=≠−−

= αβα

Ze wzorów Viete’a 2

321 α=++ xxx skąd

( )⎪⎩

⎪⎨

+=

⎟⎟⎠

⎞⎜⎜⎝

⎛−−

+−−=

βα 33

2

12

12213*

*

xyxxyy

xxx

35

Page 36: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Jeśli (sieczna jest styczną) to jej równanie ma postać 21 xx = βα += xy gdzie dxdy

=α .

Ponieważ:

0=∂∂

+∂∂

= dyyEdx

xEdE więc

yEdxE

dxdy

∂∂∂

=//

yAx

yEdxE

dxdy

23

// 2 +

−=∂∂

∂−==α

układ ( )** zachodzi z odpowiednimi wartościami α i β , to jest mamy

)(82

)(482

23

21

21

21

41

131

21

21

41

2

1

21

13 xfABxAxx

BAxxABxAxx

yAx

xx+−+

=++

+−+=⎟⎟

⎞⎜⎜⎝

⎛ ++−=

Zatem jeśli to (styczna jest pionowa) to jest 01 =y ∞=3x Oyx =),( 33 . W ten sposób określiliśmy działanie na krzywej . Te same wzory zadają działanie na krzywej nad dowolnym ciałem charakterystyki (bo wtedy E zadaje się równaniem Weierstrassa

).

)(RE3,2≠

)(2 xfy =

36

Wniosek: )),(( +KE jest grupą abelową. Przypuszczenie Poincare (1900 r.) mówi, że dla ciał

liczbowych K ,(E(K),+) jest skończenie generowaną grupą abelową i zostało udowodnione przez Mordella w 1928 r.. Natomiast w pełnej ogólności (dla rozmaitości abelowych) przez Weila. Mamy: EZKE r ⊕=)( Mazur (1977 r.) udowodnił, że dla QK = , mmZQE m ,...,1,0,)( == Lub i wyznaczył dopuszczalne wartości . 2( ) mE Q Z Z= ⊕ m Ciała skończone qF Niech . Inaczej mówiąc to zbiór {0,1,…,p-1} z działaniami dodawania i mnożenia modulo p , gdzie p jest liczbą pierwszą.

),,( ⋅+= pp FF pF

Niech będzie wielomianem nierozkładalnym stopnia n o współczynnikach z

ciała . Wtedy dla mamy

)()( xFxg p∈

pF npq =

},...{ 1110 pi

nnq FaxaxaaF ∈+++= −

− gdzie dodawanie i mnożenie są wykonywane modulo . )(xg Inaczej )(αppq FFF n == , gdzie α jest pierwiastkiem wielomianu . )(xg

Przykład:

1)(, 22 ++== xxxgFK

}1,,1,0{4 += ααF , gdzie 1)1( 2 =+=+ ααα xto jest . 11 +=− αα p – liczba pierwsza, }1,..,1,0{ −= pFp

Page 37: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Grupa ma zalety: )(:)(mod pFEpE =

Działanie na jest efektywne obliczeniowo )( pFEStruktura jest ostatecznie bogata )( pFE Zakładamy, że jest zadana przez równanie Weierstrasse )( pFE BAxxy ++= 32

Gdzie i AB = 0(mod p) (ale A i B nie są jednocześnie podzielne przez p). ∆/|p Krzywe eliptyczne )( qFE

EpE pFcielewpqBAxyE

∆/⇒≠∆=++=

|0)(: 32

Dla krzywych E szczególnej postaci 0( =A lub )0=B ilość punktów na krzywej można wyznaczyć explicite korzystając z własności symbolu Legendre’a.

)( pFE

)4(mod3,32 ≡+= pAxxy Kryterium Eulera daje nam

( ) )(mod1112

1p

p

p−=−=⎟⎟

⎞⎜⎜⎝

⎛ − −

to jest -1 nie jest resztą kwadratową modulo p OyxFEyx p =⇔∈ ),()(),( lub 3 (mod )x Ax p+ =

Jeśli i 0≠x 31x Ax+ = to 3 3

1 1 1 1( ) ( ) ( ) (mod )p x A p x x Ax− + − = − + = − ≠ p)

gdyż 1 (mod p− ≠

Zatem 122

111)( +=⋅−

++= ppFE p gdyż dla odpowiedniego :x istnieją dokładnie dwie

wartości takie, że 11 ypiy − )(),( 1 pFEyx ∈ i )(),( 1 pFEypx ∈− )3(mod2,32 ≡+= pBxy Przekształcenie jest odwracalne gdyż: )(mod3 pxx →

3 3 33 1 ( 1) (mod )k px y x y x x x p+ −→ = → = = = gdzie )1(mod3 −p wyznaczamy stosując algorytm Euklidesa do liczb oraz 3 (które na mocy założenia są ortogonalne gdyż

1−p)3(mod11 =−p ). Zatem dla połowy

(ortogonalnych do p) klas reszt mamy )(mod px 3x B+ = i wtedy liczba

wynosi )(),( pFEyx ∈ 12

1211 +=⎟⎠⎞

⎜⎝⎛ −

⋅++ pp .

Przykład: Rozważmy krzywą ( )22

E F zadaną równaniem 2 3: 1E y y x x+ = − + .

Łatwo widać, że na krzywej nie istnieją właściwe punkty wymierne. ( 2E F ))Na krzywej można jednak z łatwością wyznaczyć takie punkty, np. ( 22

E F

37

Page 38: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

0 , y = x t= gdzie { }220,1, , 1F t t= +

Zgodnie z twierdzeniem Hasse’go (patrz wykład 9) na krzywej ( )22E F może leżeć co

najwyżej 2 1 2 2 6+ + < , tj. 5 punktów wymiernych w tym punkt w nieskończoności. Porównanie podpisów cyfrowych i arytmetyka na krzywej ( )qE F Schematy podpisu cyfrowego (M, S , R , sigk , verk ) gdzie k∈R M - przedst. wiadomości S - podpisów R - kluczy sigk - algorytm podpisu verk – algorytm weryfikacji

KkK ∈ Algorytmy : sigk : M → ς verk : MxS {0,1} →

verk(m,s)= 1 gdy ( )0 gdy ( )

k

k

s sig ms sig m

=⎧⎨ =⎩

Podpis El-Gamala (p,g) – parametry publiczne p – duża liczba pierwsza g- generator Zp

* M = Zp

* S = Zp* x Zp-1

K={(x,X) gdzie X = gx mod p } x∈Zp-1 , X∈ Zp

* K Z⊂ p-1 x Zp

* Algorytm: 1.) Wybierz losowe a Zp-1

* i oblicz A= ga(mod p ) 2.) Składanie podpisu. - Obliczamy б=бx(m,a) : = (m-xA) a (mod (p-1)) - Wartość podpisu to sigk (m,a) = (A,б) 3.) Weryfikacja podpisu verX(m,A,б) = 1 X⇔ A Aб = gm(mod p)

Wniosek: Jeśli s=sigk(n,a) to verk(m,s)=1 gdzie k = (x,X)

38Dowód:

Page 39: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

verk(m,s)= 1 X⇔ A Aб = gm(mod p ) (yx)A (ga)(m-xA) a =gxAgm-xA=gm(mod p) Algorytm DSA Parametry publiczne : p - liczba pierwsza co najmniej 5,2 bitowa i taka że problem logarytmu dyskretnego jest dowolny w Zp

*

q - liczba pierwsza 160 bitowa dzieląca p-1 g – pierw. stopnia q z jedności (mod p ) tj. gq=1(mod p) M=Zq

* , ς = Zq x Zq , K = {(x,X) : gx = X (mod p)} 1.) Wybieramy losowe a ∈[1,q-1] i obliczamy A = (ga(mod p))mod q 2.) Składanie podpisu - Obliczamy sigx(m,a)=(A,б) gdzie бx(m,a)=(m+xA) a (mod q) - podpis do (A,б) 3.) Weryfikacje podpisu Obliczamy : u = mб-1 (mod q ),v=Aб-1(mod q ) VerX(m,A,б) = 1 (g⇔ uXu mod p) mod q= A Algorytm ECDSA Publiczne : p - liczba pierwsza q – punkt rzędu pierwszego q na E(Fp) M=Zq , S = ZqxZq , k={(x,Q) ∈ Zq x E(Fp)} gdzie xP=Q, 1<x<q-1} 1.) Wybór parametru losowego - Wybieramy losowe a ∈[1,q-1] 2.) Obliczamy R =Ra= (aP)1(mod q ) gdzie (aP)1 – oznacza pierwszą współrzędną punktu a P jeśli R=0 to wracamy do 1.). 3.) Składanie podpisu a.) Dla danej wartości m ∈Zq obliczamy H(m) (H – odp. funkcja laszująca), oraz element odwrotny a mod q oraz б= a (H(m)+x(aP)1)mod q. Jeśli б=0 to wracamy do 1.) (gdyż weryfikacja podpisu nie powiodła się b.) Podpisem wiadomości jest para ((aP)1,б) 4.) Weryfikacja podpisu. a.) Sprawdzamy czy (aP)1 , б ∈[1,q-1] b.) Obliczamy u = б-1 H(m)(mod q), v=б-1R(mod q) c.) Znajdujemy punkt na krzywej E(Fp) postaci uR+vq d.) Akceptujemy podpis wtt. (aP)1 = (uP + vQ)1 mod q

Wniosek: Jeśli s= sigx(m,б) to verQ(m,s) = 1

Dowód:

39

Page 40: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Ponieważ Q = xP i punkt P jest rzędu q więc wystarczy pokazać, że a = u + vx mod q a to wynika z definicji u i v. ECDSA jest bardziej elastyczny niż DSA gdyż ustalając Fp każdemu użytkownika możemy pozwolić na wybieranie parametrów publicznych publicznych (Fp) i P indywidualnie. Porównanie schematów podpisu cyfrowego

RSA, DSA (Digital Signature Algorithm), ECDSA (Elliptic Curve DSA).

Przy systemach podpisu cyfrowego ważny jest też system certyfikacji kluczy publicznych. Centrami certyfikującymi klucze w Polsce są m.in.:

1. Unizeto Certum 2. Signet 3. PolCert

Centra te obsługują wszystkie wspomniane typy podpisów. Bezpieczeństwo RSA opiera się na problemie faktoryzacji, DSA na problemie logarytmu dyskretnego w qZ ∗ . Natomiast bezpieczeństwo ECDSA na problemie logarytmu dyskretnego

na krzywej , gdzie - ciało skończone -elementowe, ( qE F ) qF q ( )qE F - krzywa eliptyczna

nad ciałem . qF Długości klucza dla których powiodły się ataki na system (a właściwie na odpowiadający mu problem obliczeniowy):

RSA 512 bitów DSA mniej niż 300 bitów

ECDSA mniej niż120 bitów Długości klucza stosowane w praktyce:

RSA 1024 - 2048 bitów DSA 768 - 2048 bitów

ECDSA większe niż 192 bity Czasy działania algorytmów: RSA-1024 DSA-1024 ECDSA-170 Generowanie klucza 1100ms 7ms 7ms Podpis 45ms 7ms 5ms Weryfikacja 0.6ms 27ms 19ms

Wnioski: 1) ECDSA wydaje się być najlepszy przy dużych ograniczeniach pamięci np.

implementacje dla kart mikroprocesorowych

40

Page 41: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

41

2) RSA bardzo dobry w fazie weryfikacji ale słaby w fazie generacji klucze.; Aspekty bezpieczeństwa W roku 2000 NIST (National Institute of Standard sof Technology) opublikował listę 5 ciał skończonych, nad którymi można generować krzywe eliptyczne dla podpisów cyfrowych. Są nimi ciała Fp dla następujących liczb pierwszych: p=2192-264-1 2224-296+1 2256-2224+2192+296-1 2384-2128-296+232-1 2251-1

Page 42: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 8

HIERARCHICZNE STRUKTURY DOSTĘPU

Dzielenie zasobów sieciowych Zarządzanie zasobami Kontrola dostępu w strukturach hierarchicznych Przykład – struktury militarne, rządowe, korporacyjne. Struktura: klasy bezpieczeństwa z zadanym częściowym porządkiem „ ≤ ” (klasa k2 ma wyższy poziom bezpieczeństwa niż k1 oznacza, że k1 ≤ k2

Przykładowy graf G=(V,E) zadający tę strukturę ma postać:

0C

1C 2C

3C

0 1

0 2

1 3

2 3

C CC CC CC C

≥≥≥≥

Własności (postulowane)

• Przydział kluczy kryptograficznych dla wierzchołków grafu G powinien być zadany w sposób prosty i efektywny.

• Łatwa implementacja kontroli dynamicznego dostępu (dołączanie i usuwanie klas). • Bezpieczeństwo hierarchii. • Efektywność zarządzania kluczami (np. długość kluczy nie powinna zależeć od ilości

użytkowników w hierarchii).

, ,P Q podzbiory nieskończone rozączne zbioru liczb pierwszych tzn P Q. φ− ∩ =

42

Page 43: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

1v 2v

4v3v

W[ , ]W WP Q

w – wierzchołek dołączany

1 5

1 2

... 2

...

,

l

t k

k

W i i

W j j j i ll

l j

P

Q q q q gdzie P

P P q Q

α

ρ ρ

ρ

=

= =

∈ ∈

Q-aspekt Każdemu wierzchołkowi przyporządkowujemy w sposób różnowartościowy dowolną liczbę pierwszą q Q∈Określamy wartości dla każdego z wierzchołków W G,W WP Q ∈

1 5 1... , ...

tW i i W jP Q q jqρ ρ= = Funkcje dostępu (Access function) a(w)=Pw/Qw

4q

3q

1q 2p

33 p=ρ3

2 pρ =

4

32

1 Przykład:

21 1 1 2 3 4

32 2 2 4

33 3 3 4

44 4 4

[ , ] [ , ]

[ , ] [ , ]

[ , ] [ , ]

[ , ] [ , ]

P Q p q q q q

P Q p q q

P Q p q q

P Q p q

=

=

=

=

2q

44 pρ =

( )( ) (mod ), ,{ }

a wA w g n gdzie n iloczyn dwu różnychliczb pierwszychze zbioru liczb pierwszych nienależących do zbioru P Q

= −∪

( ) *, ( )g element rzędu n w grupie n gdzie n funkcjaCARMICHAELAλ λ− Ζ − 43

Page 44: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 9

Elementy teorii prawdopodobieństwa i algorytmów

Def. Rozkładem prawdopodobieństwa nazywamy zbiór 1( ,..., )np p taki, że

1

1; 1,..., 1n

i ii

u p i n oraz p=

≤ ≤ = =∑ Przestrzeń probabilistyczna to para ( , )xX p gdzie: X-zbiór skończony 1{ ,..., }nX x x=

1{ ,..., }yP p p= n -rozkład prawdopodobieństwa taki, że ( ) , 1, 2,...,X i iP x p i n= = Wniosek.

: [0,XP X → 1] jest miarą probabilistyczną na X. Niech Xε ⊂ - dowolne zdarzenie w przestrzeni probabilistycznej ( , )XX p Wtedy ( ) ( )X X

y

p p yε

ε∈

= ∑

Przykład Rozkład jednostajny na X jest zadany wzorem:

x X∈1( )Xp xx

= dla dowolnych x X∈

Oznaczenia: prob ( )ε oznacza prawdopodobieństwo zdarzenia Xε ⊂ prob ( , ) : ( )F prob Fε ε= ∩ dla dowolnych , F Xε ⊂ prob ( , ) : ({ }, )x prob xε ε= Wniosek.

1) probX=1, prob =0 0/2) prob ( ) ( ) 0A B prob A prob B o ile A B∪ = + ∩ = /3) prob ( , ) 1 ( )X A prob= − A

1. Rozkład indukowany Dane ( , )XX p

44

Page 45: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

: ( , )XS X p Y→ nazywamy zmienną losową określoną na przestrzeni probabilistycznej (X,PX) o wartościach w Y. Na Y można zadać miarę probabilistyczną indukowaną przez S wzorem:

( ) ( )( ) ({ | ( ) })X X Xp S S p y p x X S x y= = ∈ = Zmienna losowa rzeczywista to taka, że S:(X, Xp ) ,Y gdzie Y→ =Zmienne losowe binarne to: taką zmienną nazywamy Predykatem Boolowskim.

: ( , ) , {0,1}XS X p Y gdzie Y→ =

UWAGA Zmienna losowa zadaje rozkład prawdopodobieństwa na Y. : ( , )XS X p Y→ Odwrotnie dowolny rozkład prawdopodobieństwa można otrzymać jako rozkład indukowany przez pewną zmienną losową S, a mianowicie:

: ( , )X xid X P X→ Definicja. Niech S – zmienna losowa rzeczywista. Wartością oczekiwaną S nazywamy wartość.

( ) ( ) ( )x X

E S prob x S x∈

= ⋅∑

Definicja. ( , )XX p -przestrzeń probabilistyczna , , ; ( ) 0xA B C X P B⊂ >

( ) ( )( | ) :( ) ( )

X XX

x x

p A B p A Bp A BP B P B

∩ ∩= = − prawdopodobieństwo A pod warunkiem B

({ })( )( | ) :

0

X

XX

p x x Bp Bp x B

X B

⎧ ∈⎪= ⎨⎪ ∈/⎩

Przestrzeń produktowa z rozkładem łącznym. ( , )i i iX p ≤n - rozkłady prawdopodobieństwa Niech 1 2 ... ,nX X X X x X= × × × ∈ Oraz niech ( ) ( , ), ( )i i i i iX X p x xπ π= = Na zbiorze X określamy miarę probabilistyczną w ten sposób aby ( , )i iX p były rozkładami indukowanymi przez 1,...,i i nπ = wtedy ( , )XX p nazywamy przestrzenią produktową z rozkładem łącznym i oznaczamy 1

1 2... .( ( )n i iX X X X Xπ −= nazywamy włóknem nad iX ).

45

Page 46: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Przykład.

1

2

1 1 2

` ` `2 1 2

1 3( , ) ,4 41 3( , ) , ,4 4

X

X

X p ma rozklad p p

X p ma rozklad p p p

= =

= = =35

12

1 21 21 1 1 1 1( , ) {0, , , , , }6 12 4 4 4X XX X P ma rozklad

Definicja.

)i iX P i są niezależne wtedy i tylko wtedy gdy 1 1(( ,..., )) ( )

i

n

X n Xip x x p x

== Π Rozkłady (

Niech - zmienne losowe określone na przestrzeniach probabilistycznych 1,..., nS S

1, 1( ),..., ( , )n nX P X P wtedy zindukują one rozkład łączny na przestrzeni 1 2... nX X X zadany wzorem . 1 1 1(( ... )) ( ,..., )S r S rP x x P S x S x= = = r

Definicja. Zmienne nazywamy niezależnymi w + t. gdy 1,..., nS S

1 1 1( ,... ) ( )

r

r n i iiprob S x S x prob S x

== = = Π =

X – dowolny zbiór skończony

( ){( , ) | , } { }

x x X

x xx X

W WX W X x X W x Wω ω

== ∈ ∈ =>< U ×

Przykład.

46

1xW •

UWAGA

xW to włókno nad elementem x X∈ Definicja.

• •

2xW3xW

X1x 2x 3x

Page 47: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Niech ( , )XYXY p - przestrzeń probabilistyczna z rozkładem łącznym o składowych ( , ), ( , )X YX p Y p wtedy oznaczamy: prob(y|x)= (( , ) |{ } ) ( | )XYprob x y x Y prob Y y X x× = = = Niech ( , ), ( , )X WXX p W p x X∈ - rozkłady prawdopodobieństwa, wtedy na przestrzeni

{( , ) | , }xX W x w x X w W= ← ∈>< rozkład zadany jest wzorem:

( , ) ( ) ( )XW X Wxp x w p x p w= ⋅ Wniosek

~X W X W⊂ ×>< (przestrzeń probabilistyczna z rozkładem łącznym) tzn. można traktować jako podprzestrzeń ( , )XWX W p>< ( , XWXW p )Odwrotnie mając na XYP X W>< można zrzutować X W>< na X i wtedy rozkład indukowany na X jest równy ( ) ( , )

x

X XWw W

P x p x w∈

= ∑ natomiast rozkład indukowany na

jest rozkładem warunkowym równym

xW

( , )( ) {( , ) |{ } }( )x

XWW x

X

p x wP w prob x w x Wp x

= × =

Przykład

{ ;| | | |k }X n p q p q k= Ι = = ⋅ = = - przestrzeń kluczy kryptograficznych, gdzie | . | oznacza długość binarną.

( ) ( )kx x X n nW W ∈= = Z ∈Ι - przestrzeń.

Wtedy funkcja 2( ) (mod )f x x n= jest funkcją szyfrującą występującą w kryptosystemie RABINA. Iteracja rozkładów łącznych

1 2, 13 2 3,( )xx x X XX X X ∈= ><><

i ogólnie 1 2, , .......( , )

jj j x j x x X X XX X P1−∈= >< ><

Przykład

}{ { }1 13 2 3, 3 2 3 3, 1 2 3 1 1 2 2, 3 3, ,( , ), , ( , , ) : , ,x x xX X X x x x X x X x x x x X x X x X= = ∈ ∈ = ∈ ∈ ∈><2x x

Powyższa przestrzeń produktowa 1 2.... jX X>< >< X

.

z rozkładem łącznym jest oznaczana symbolem .

1 2 .. jX X XP11 ..( ... , )

jj X XX X P

47

Page 48: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

( , )xX p - przestrzeń probabilistyczna, B – predykat { }: 0,B x → 1

B można traktować jako zmienną losową Prob { | | 1: }: { | ( ) 1} ( ( ) 1: )B x x X prob x X B x prob B x x X= ∈ = ∈ = = = ← Jeśli Y to X⊂ x Y∈ oznacza, że x jest wybierany z Y zgodnie z rozkładem indukowanym dla funkcji (włożenia)

Idy : Y X →

Algorytm probabilistyczny, rozszerzenie deterministyczne, modele Monte Carlo. Definicja Algorytm probabilistyczny, który do obliczenia wejściowego y dla zadanego wejścia x dokonuje ciągu losowych wyborów tak, że każdy kolejny wybór może zależeć od poprzedniego. Liczba losowych wyborów dla x X∈ nie przekracza , oraz wybory są niezależne z prawdopodobieństwem równym ½ .

xt

Będziemy traktowali f(x) jako zmienną losową o wartościach w zbiorze Y. Prob( A(x)=y):=prob ({r} ( , )DA x r y= }) gdzie r to ciąg losowych wyborów, natomiast DA oznacza rozszerzenie deterministyczne , które na wejściu dostaje parę (x,r).

A

Będziemy zakładać, że . {0,1} xtr ∈

Zatem |{ | ( , ) } |( ( ))2 x

Dt

r A s r yprob A x y == =

:A X Y→ eksperyment modelujemy rozkładem łącznym (XY, Pxy), (rzut monetą w jest niezależny od wyboru A x X∈ ).

( , ( ) ) ( , ) ( ) ( ( ) )XY Xprob x A x y P x y P x pob A x y= = = ⋅ = Podobnie

' ' '( ( ) , ( ) ) ( ( ) ) ( ( ) )'prob A x y A x y prob A x y prob A x y= = = = ⋅ = Eksperyment indukuje rozkład prawdopodobieństwa na przestrzeni Y zgodnie z odwzorowaniem rzutowania:

A

2

2

: ( , ): ( , )

XYXY P Yx y y

ΠΠ =

→ według wzoru:

48

Page 49: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

49

⋅, {0,1} : ( , )

( ) (( , ) | ( , ) ) ( ) ( )tx

D

y D xx X r A x r y

P y prob x r A x r y P x prob r∈ ∈ =

= = = ∑

Definicja. Algorytm probabilistyczny wielomianowy to taki algorytm probabilistyczny, że jego działanie jest ograniczone przez p(|x|), gdzie [ ]p x∈Z jest wielomianem (niezależnym od x). Czas działania uwzględnia „rzuty monetą”. |x| oznacza rozmiar danej wejściowej, x X∈ Niech time ( )A x oznacza czas działania danej wejściowej x. Załóżmy, że rozważamy pewien problem obliczeniowy P. Definicja. Algorytmem Monte-Carlo dla problemu P nazywamy taki algorytm probabilistyczny, którego czas działania jest ograniczony przez wielomian Q i który daje poprawną odpowiedź dla problemu P z prawdopodobieństwem > 2

3.

(tzn. time oraz prawdopodobieństwo

( >

( ) (| |)A x Q x≤

( ) : instancji )A x jest poprawnąodpowiedzią dla P X 23

.

Niech B: X × Y {0,1} – dowolny predykat.

DA - rozszerzenie deterministyczne A

xt - liczba rzutów monetą dla x X∈ Wtedy:

( ( , ( )) 1:prob B x A x x X= ← ( ) ( ( , ( )) 1)

x Xprob x prob B x A x

= =∑ ( ) ( {0,1} ( , ( , )) 1)xtD

x Xprob x prob x B x d x r

= ∈ =∑

|{ {0,1} : ( , ( , )) 1( )2

x

x

tD

tx X

r B x A x rprob x∈

∈ == ∑

Typowym przykładem jest predykat B zadany przez funkcję t tzn.:

(x,y)=Bt(x,y) 1 ( )0 ( )

f x yf x y

=⎧⎨ ≠⎩

( ( , ( )) 1), ( ( ) , )

( ) ( | ) ( , ) : ( , ) 1tprob B x A x x X prob A x y x X

prob x prob y x x y B x y= ← = = ←

= ⋅ = =∑

Page 50: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Uogólnienie: ( , )

ii xX P przestrzeń probabilistyczna− 1 2 1: ...... y yf x x x X−+ + + →

Na Xr mamy rozkład indukowany przez f. _

( , ) ( , )f

_

B x y B x y= , gdzie losowy element przestrzeni .

_

1 2( , ,..., 1)rx x x t= −

..

x

11 ..( ... , )rr x xX X P

Zatem uogólnieniem * jest:

1 1

_ _

1 1 2 2 , ....( ( ), ( )) 1: , ,.....rr r xpr B x A x x X x X x X−

= ← ← ← gdzie rozkład jest rozkładem warunkowym pod warunkiem

. 1 2 1, , ... jj j x xX X

−← x

1 1, ,... jj j x xx X−

Przykład:

1 11 2 3 1 2 3 1 1 2 2, 3 3, ,( ( , , ) ( , , ) : , ,x xpob A x x x f x x x x X x X x X= ← ← ←2x

1 2

1 1 2 1 1 1 1 2

1 2 1 3, 3 , ,

( ) ( | ) ( | , )x X x X x x X x x

pob x pob x x pob x x x∈ ∈ ∈

= =∑ ∑ ∑

Rodziny Funkcji Jednokierunkowych

Nieformalnie jest jednokierunkowa wtedy gdy f jest łatwo obliczalna, ale dla „losowego” y = Y trudno jest znaleźć

:f X Y→: ( )x X f x y∈ = .

Rodzina funkcji wykładniczych

: {( , ) : , pI p g p liczba pierwsza y jest generatorem += − Ζ

, 1: { : * }, ( , )xp g p pgExp Exp x y p g I−= Ζ → Ζ a

,p gExp izomorfizm− zatem istnieje odwzorowanie odwrotne, które oznaczamy:

, 1log : { : * }, ( , )p g p pLog p g I−= Ζ → Ζ ∈ Definicja. Niech :{( , ) ,| | }kI p q I p k gdzie k N i niech Q bedzie= ∈ − ∈ wielomianek dodatnim (tzn. takim ,że dla dowolnego ( )Q x x> )x ∈ Ζ Niech A(p,g,y) bedzie algorytmem probabilistycnym wtedy istnieje

, ,1, ( ( , , ) ( ) : ( , ) *)( )

u n

o p g k y pk takie że prob A p g y Log y p g I Z dla k kQ k

∈ Ν = ← ← < ≥ 0

ten warunek nazywamy założeniem trudności obliczeniowej logarytmu dyskretnego.

50

Page 51: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

z ang. Definicja. Suma rozłącznych podzbiorów skończonych kI jest zwana rodziną kluczy o parametrze bezpieczeństwa k lub zbiorem indeksującym jeśli:

1) k może być obliczone za pomocą deterministycznego algorytmu wielomianowego 2) jest takie stałe , takie, że m N∈ 1/ m m

kk i k dla i I≤ ≤ ≤ Najczęściej oznaczmy ( )kI I k N= ∈ Uwagi k jest miarą binarną długości i Rodzina RSA funkcji zapadkowych Niech : {( , )} , ,0 ( ), ( )}.I n e n pq p q e n e do n= = ≠ ⊥ < < ⊥l l Rodzina: , (: ( : * *, )e

n e n n n e IRSA RSA Z Z x x , )∈= → a nazywa się rodziną RSA. Definicja. Niech : {( , ) | ,| | | | },kI n e I n pq p q k gdzie k N= ∈ = = = ∈ oraz niech ( ) [ ]Q X Z X∈ będzie wielomianem dodatnim. Niech ( , , )A n e y będzie probabilistycznym algorytmem wielomianowym. Wtedy istnieje , takie że 0k N∈

, 01( , , ) ( ) : ( , ) , *( )

u u

n d k nprob A n e y RSA y n e I y Z dla k kQ k

⎛ ⎞= ← ← ≤⎜ ⎟⎝ ⎠

Nazywamy to założeniem RSA. Rodzina funkcji Rabina Niech : { | , ,I n n pq p q= = różne liczby pierwsze, |p|=|q|. Rodzina 2: ( : * *, )n n n nSq Sq Z Z x x I∈= → a jest nazwana Rodziną Modularnych Kwadratów. nie jest ani injekcją ani surjekcją. nSq Definicja. Niech : { | ,| | | | },kI n I n pq p q k dla k N= ∈ = = = ∈ oraz niech ( ) [Q X Z X ]∈ będzie dodatnim wielomianem. Niech ( )A n będzie probabilistycznym algorytmem wielomianowym. Wtedy istnieje takie ,że: 0k N∈

51

Page 52: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

1( ) :( )

u

kprob A n p n IQ k

⎛ ⎞= ← ≤⎜ ⎟⎝ ⎠

0dla k k≥ Nazywamy to wtedy Założeniem trudności faktoryzacji. Rozróżnialność reszt i niereszt kwadratowych

Jeśli p jest liczbą pierwszą oraz *,px Z∈ oznaczenie Legendre’a xp

⎛ ⎞⎜ ⎟⎝ ⎠

mówi nam czy x jest

resztą kwadratową z modulo p: 1xp

⎛ ⎞=⎜ ⎟

⎝ ⎠jeśli ` , 1p

xx QR orazp

⎛ ⎞∈ = −⎜ ⎟

⎝ ⎠ jeśli px QR∈ .

Symbol Legendre’a może być łatwo obliczony używając kryterium Eulera: ( 1) / 2 mod .px x p

p−⎛ ⎞

=⎜ ⎟⎝ ⎠

Teraz, niech p i q będą różnymi liczbami pierwszymi oraz :n pq= . Symbol Jacobi xn

⎛ ⎞⎜ ⎟⎝ ⎠

jest

zdefiniowany jako :x x xn p q

⎛ ⎞ ⎛ ⎞⎛ ⎞ = ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟⎝ ⎠ ⎝ ⎠ ⎝ ⎠

. Jest to obliczalne dla każdego elementu *nx Z∈ - bez

znajomości faktoryzacji liczb pierwszych q i n. Symbol Jacobi nie może być używany do

decyzji czy nx QR∈ . If 1xn

⎛ ⎞ = −⎜ ⎟⎝ ⎠

, wtedy x nie jest w . Jednakże, jeśli nQR 1,xn

⎛ ⎞ =⎜ ⎟⎝ ⎠

obydwa

przypadki n nx QR oraz x QR∈ ∈/ są możliwe. *nx Z∈ jest kwadratową resztą wtedy i tylko

wtedy mod *qx q Z∈ są kwadratowymi resztami, co jest równoważne z 1x xp q

⎛ ⎞ ⎛ ⎞= =⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠

Niech : { | , ,I n n pq p q= = różne liczby pierwsze, | | | |}p q= oraz niech

: { * | 1}nn n

xJ x Zn

+ ⎛ ⎞= ∈ = +⎜ ⎟⎝ ⎠

będą elementami z symbolem Jacobi +1, jest właściwą podgrupą nQR 1nJ + .

Definicja. Niech : { | ,| | | | },kI n I n pq p q k gdzie k N= ∈ = = = ∈ oraz niech ( ) [ ]Q X Z X∈ będzie dodatnim wielomianem. Niech ( , )A n x będzie dowolnym probabilistycznym algorytmem wielomianowym. Wtedy istnieje takie, że: 0 ,k N∈

1 1 1( , ) ( ) : ,2 (

n n

n k nprob A n x PQR x n I x JQ k

+⎛ ⎞= ← ← ≤ +⎜ ⎟⎝ ⎠ )

dla 0k k≥

52

Page 53: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

53

nazywamy to Założeniem nierozróżnialności reszt i niereszt kwadratowych.

Page 54: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 10

BEZPIECZEŃSTWO WSPÓŁCZESNYCH SYSTEMÓW KTYPTOGRAFICZNYCH

KRYPTOGRAFIA to komunikacja w obliczu wroga/przeciwnika (ang. adversery) Wiąże się to z problemami szyfrowania, uwierzytelniania, dystrybucją kluczy etc. Współczesna kryptografia bazuje na założeniu ograniczonej mocy obliczeniowej przeciwnika. Formalnie zakładamy, że przeciwnik to pewien algorytm probabilistyczny wielomianowy (PPT algorithm – probabilistic polynomial time algorithm) . Czas działania algorytmu jest mierzony funkcją zależną od parametru bezpieczeństwa – k. Kryptografia (warunkowa) wykorzystuje dziurę pomiędzy obliczeniowo efektownymi algorytmami szyfrowania dla użytkownika i nieefektywnymi algorytmami deszyfrującymi przeciwnika. Pojęciami pierwotnymi (ang. primitives) są przykładowo pojęcia: funkcji jednokierunkowej, generatorów pseudolosowych, rodzin funkcji pseudolosowych. DEFINICJE BEZPIECZEŃSTWA Bezpieczeństwo jest synonimem odporności na próby złamania systemu prowadzone przez przeciwnika. Minimalnym wymaganiem bezpieczeństwa jest aby przeciwnik, który widzi kryptogram oraz wie jakie algorytmy szyfrowania i deszyfrowania są używane nie może odtworzyć całego tekstu jawnego. Możliwe są inne definicje bezpieczeństwa np.

1. Trudno jest wyznaczyć tekst jawny jeżeli kryptogram pochodzi os „losowej” wiadomości z przestrzeni tekstów jawnych. Zakładamy, że przeciwnik wie jaka jest przestrzeń wiadomości jawnych (zna jej rozkład prawdopodobieństwa)

2. Trudno jest wyznaczyć częściową informację i informacji jawnej na podstawie kryptogramu.

3. Trudno jest wnioskować nt. ruchu wiadomości (ang. traffic of messages) np. stwierdzić czy ta sama wiadomość była szyfrowana dwukrotnie.

4. Powyższe warunki powinny zachodzić z dużym prawdopodobieństwem.

SZYFOWANIE PRZEKAZ WIADOMOŚCI W ZAKLEJONEJ KOPERCIE ↔ b kopertę umie otworzyć tylko prawowity adresat listu

PROBLEMY: 1) Każda koperta jest nienaruszona? 2) Czy zamykaniu kartki w kopercie można nadać sens matematyczny? 3) Jak można „udowodnić”, że wiadomość „w kopercie” jest bezpieczna?

54

Page 55: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

MODEL PRZECIWNIKA Przeciwnik pasywny: ogląda kryptogramy, czyta publicznie dostępne pliki (w systemach z kluczem publicznym), generuje kryptogramy dowolnie wybranych wiadomości, wykonuje tylko obliczenia wielomianowe (PPT) Przeciwnik aktywny:

- może wstrzymywać przepływ kryptogramu lub zmienić (w pewnym stopniu) jego kształt

- - może zadawać wielomianowa liczbę pytań o zdeszyfrowanie zadanych kryptogramów.

Istnieją schematy szyfrowania odporne na obydwa rodzaje przeciwników. SZYFROWA MAPA DROGOWA Pierwszym celem schematów szyfrujących jest zaprojektowanie takich systemów, które spełniają wymogi bezpieczeństwa dla sprecyzowanych typów przeciwników. Następnie próbujemy opisać model bezpieczeństwa w którym można udowodnić bezpieczeństwo prezentowanego systemu (ang. provable security). Przykładem mogą być systemy, których bezpieczeństwo wynika z istnienia funkcji jednokierunkowych, jednokierunkowych z zapadką lub funkcji pseudolosowych. Na koniec przeprowadzamy dyskusje nt. wydajności obliczeniowej systemu, możliwych oszczędnościach np. przez wykonywania części obliczeń w trybie off-line. FUNKCJE JEDNOKIERUNKOWE SILNE I SŁABE Funkcje jednokierunkowe: łatwo obliczalne ale trudno odwracalne. Przykładem są powszechnie stosowane passwordy.

- gwarantują poprawność logowania lecz nie stanowią niebezpieczeństwa dla użytkownika nawet ze strony administratora.

Motywacje teoretyczne:

1) Hipoteza P jedna nie wystarcza dla dowodu istnienia funkcji jednokierunkowych

NP≠

2) Złamanie (lokalne odwracanie funkcji jednokierunkowej) nie może dokonać się w ramach PPT – algorytmu.

Zatem warunkiem koniecznym istnienia funkcji jednokierunkowych jest, że (więc tym bardziej NP BPP≠ P NP≠ )

Warunek implikuje jedynie, że schemat szyfrujący jest trudny do złamania, w najgorszym (pesymistycznym

P NP≠) przypadku (instancji).

Nie wiemy czy implikuje, że istnieje język w klasie NP, który jest trudny w średnim (po wszystkich istniejących problemu przynależności do języka).

P NP≠

Z drugiej strony istnienie problemu w klasie NP, który jest trudny w średnim nie wystarcza do dowodu istnienia bezpiecznych schematów szyfrujących, gdyż wymagają one możliwości wygenerowania takich trudnych instancji wraz z dodatkową informacją pozwalającą na efektywne deszyfrowanie przez legalnego użytkownika.

55

Page 56: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Zatem istnienie bezpiecznego systemu szyfrowania implikuje istnienie efektywnego sposobu generowania (PPT) instancji pewnego problemu (przy znajomości pewnego pomocniczego inputu) takiego, że

1) łatwo jest rozwiązać ten problem jeśli znany jest ten pomocniczy input, oraz 2) trudno jest rozwiązać ten problem w średnim po instancjach (bez znajomości

dodatkowego inputu). Definicja funkcji silnie jednokierunkowej Nieformalnie: Każdy PPT algorytm może wyznaczyć przeciwobrazy dla elementów przeciwdziedziny funkcji jedynie z zaniedbywalnie małym prawdopodobieństwem w przestrzeni o rozkładzie łącznym dla dziedziny funkcji i losowych ciągów wykorzystywanych do odwracania funkcji. Formalnie Niech : N Rε → będzie funkcją o własności: Istnieje stała oraz , takie, że dla wszystkich 0C ≥ ck ( ) c

ck k zachodzi k kε −≥ <Funkcję taką nazywamy zaniedbywalną. Funkcję zaniedbywalną nazywamy taka funkcję : N Rε → , że istnieje wielomian Q taki, że

dla dostatecznie dużych k zachodzi 1( )( )

kQ k

ε >

Def. Funkcję f: nazywamy jednokierunkową jeżeli: *{0,1} {0,1}→ *

1) Istnieje PPT algorytm, który dla wejścia x daje wyjście f(x) 2) Dla każdego PPT algorytmu A istnieje zaniedbywalna funkcja Aε ε= t. Że dla

dostatecznie dużych k zachodzi: [ ( ) : {0,1} ; ( ); (1 , )] ( )u k k

Apr f ż y x y f x ż A y V k= ←⎯⎯ ← ← ≤ Uwaga 1 A(1 oznacza, że na miejscu A jest dany ciąg złożony z k-jedynek, gdzie k jest długością x. Gwarancja powodzenia jest probabilistyczna, zależy od losowego wyboru x z dziedziny funkcji oraz ciągu rzutów monetą przeciwnika.

, )k y

Uwaga 2 Przeciwnik działa w czasie wielomianowym od długości x nawet jeśli f(x) jest znacznie krótsze. To wyklucza sytuację, w której powodem trudności odwracania f byłby fakt, że wyjście z w stosunku w stosunku do wejścia y dla algorytmu A Uwaga 3 Wprost z definicji wynika, że f(x) ma rozmiar ograniczony wielomianowy od k gdyż f jest obliczalne w czasie wielomianowym. Uwaga 4 Definicja jednokierunkowości dotyczy złożoności algorytmicznej (gdyż ). k → ∞Przy ustalonym k możemy ograniczać się do f: a następnie zbiegać z k do nieskończoności dla wszystkich k (co czyni się w praktyce).

*{0,1} {0,1}k →N∈

Funkcja słabo jednokierunkowa Nieformalnie: Żaden PPT algorytm nie może wyznaczać przeciwobrazów elementów z przeciwdziedziny z prawdopodobieństwem zaniedbywalnie bliskim jedności. 56

Page 57: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Formalnie: Def. Funkcja f: jest słabo jednokierunkowa jeśli: *{0,1} {0,1}→ *

1) Istnieje PPT algorytm, który dla wejścia x daje wyjście f(x) 2) Istnieje wielomian Q taki, że dla dowolnego PPT algorytmu A i dostatecznie dużego

k

zachodzi: 1[ ( ) : {0,1} ; ( ); (1 , )]( )

u k kpr f ż y x y f x ż A yQ k

≠ ←⎯⎯ ← ← ≥

Przykład Funkcje f: ,Z Z Z× → ( , )f x y x y= ⋅ nie jest silnie jednokierunkowa lecz ma szansę być słabo jednokierunkowa.

Dla liczb złożonych n=pq, p q k= = , których gęstość wynosi k 2− (a rozmiar )kZ nie znamy PPT algorytmu odwracającego funkcję f więc definicje słabej jednokierunkowości ma szanse zachodzić dla 2( ) .Q k k= TWIERDZENIE Funkcja słabo jednokierunkowa istnieją wtedy i tylko wtedy gdy istniej silnie jednokierunkowa. Funkcja jednokierunkowa niezuniformanizowana Zamiast rozważać jeden algorytm A „odwracający” funkcję f:{0, 1} * możemy rozważać ciąg algorytmów

*{0,1}→( )k k NA M ∈= „odwracających” funkcji f:{0, 1} *{0,1}k →

To daje silniejszą definicję jednokierunkowatości Def. Funkcja f nazywamy niezuniformanizowaną funkcją silnie jednokierunkową jeżeli zachodzą warunki:

*:{0,1} {0,1}→ *

1) Istnieje PPT algorytm obliczający f 2) Dla każdej (także niezuniformanizowanej) rodziny PPT algorytmów A { kM }k N∈

istnieje zaniedbywalna funkcja Av v= taka, że dla dostatecznie dużych k, zachodzi [ ( ) : {0,1} ; ( ); ( )] ( )u k

k Apv f Z y x y f x ż M y V k= ←⎯⎯ ← ← ≤ FUNKCJE ZAPADKOWE (jednokierunkowe z zapadką) funkcja jednokierunkowa, dla której istnieje pewien sekret (zapadka) , który pozwala posiadaczowi efektywnie odwracać f w każdym punkcie. Generacja pary (f, t) powinna być efektywna. Po jej obliczeniu publikacja funkcji f nie powinna zdradzać żadnych informacji nt. odwracania f.

1(t t f −= )

Def. Funkcja zapadkowa nazywana funkcją jednokierunkową f , że istnieje wielomian p i PPT algorytm I takie, że dla każdego k

*:{0,1} {0,1}→ *

N∈ istnieje takie, że *{0,1}kt ∈

( )kt p k≤ i dla dowolnego x mamy, że *{0,1}∈ ( ( ), )kI f x t y= oraz f(y)=f(x). Na koniec zdefiniujemy (ważne i wygodne dla zastosowań) kolekcje funkcji jednokierunkowych i zapadkowych parametryzowane parametrem bezpieczeństwa k.

57

Page 58: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 11

Dobre schematy szyfrujące Bezpieczny schemat szyfrujący w modelu z losowaną wyrocznią. Definicja 1. Przeciwnik to ciąg algorytmów taki, że istnieje wielomian p, taki że dla każdego n∈ Ν algorytm rozwiązuje problem dla danych niedłuższych niż n w czasie nie nAprzekraczającym ( )p n . Definicja 2.

: N Rε → jest zaniedbywalna że 0c K N>⇔ ∀ ∃ ∈ k K∀ > zachodzi warunek 1( ) ckk

ε ≤

Definicja3. Generator permutacji zapadkowych to probabilistyczny działający w czasie wielomianowym algorytm F, taki że zwraca parę (1 )kF 1( , )f f − gdzie f jest permutacją zbioru { . 0,1}k

Dodatkowo zakładamy, że dla dowolnego przeciwnika prawdopodobieństwo : 1Pr{( , ) (1 ), {0,1} ; ( ); ( , ) }k kf f F x y f x M f y x− ← ← ← = jest zaniedbywane jako funkcja k.

Skąd się bierze D:

1

( ( ) || ( ))( ) ( ( ) || ( ))

( )( )

y f x G r r H kf y x G r r H sr H tG rS G r t

< ⊕ +

= ⊕ ⊕= ⊕

⊕ =

Zarówno f jak i 1f − muszą być deterministyczne i możliwe do obliczenia w czasie wie-lomianowym. Dodatkowo wymagamy, by dla każdego przeciwnika M prawdopodobieństwo (objaśnienie poniżej)

było zaniedbywane (jako funkcja parametru k).

58

Page 59: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

59

Zdarzenie, o którego prawdopodobieństwie jest mowa składa się z ciągu następujących po sobie eksperymentów. Najpierw generujemy permutacje zapadkowe, potem losujemy z roz-kładem jednostajnym wiadomość x i szyfrujemy ją. Wreszcie przeciwnik usiłuje odgadnąć treść wiadomości na podstawie permutacji / oraz szyfrogramu.

W celu modelowania niedeterminizmu algorytmów, będziemy zakładali, że mają one do-stęp do jakiegoś zewnętrznego źródła losowości (nazwiemy je wyrocznią). W szczególności użyjemy dwóch „losowych" funkcji

gdzie . Możemy o nich myśleć tak, że zanim nie zadamy pytania o ich wartość na konkretnym argumencie, nie wiemy o niej nic. Możemy jedynie założyć, że rozkład odpowiedzi jest jednostajny na przeciwdziedzinie. W praktyce często będą one zastępowane odpowiednio skomplikowanymi funkcjami deterministycznymi.

Używanie bezpośrednio permutacji zapadkowych jako systemu kryptograficznego z klu-czem publicznym ma wiele wad. Już sam fakt, że są one deterministyczne, pozwala przeciw-nikowi trywialnie wykryć sytuację, gdy przesyłamy wielokrotnie tę samą wiadomość. Per-mutacje zapadkowe dobrze służą jednak przy budowie bardziej skomplikowanych schematów szyfrowania. Dobre schematy szyfrowania

Definicja 4 (Basic Encryption Scheme). Wybierzmy k ∈ N (tzw. parametr bezpieczeń-stwa) oraz takie że przeciwnik dysponuje tylko czasem dużo mniejszym niż 2k°. Ustalmy długość wiadomości (liczoną w bitach)

Użyjemy generatora permutacji zapadkowych T i „losowych" funkcji

• Generowanie kluczy polega na wykonaniu algorytmu , który zwróci parę

Kluczem publicznym jest /, kluczem prywatnym

• Szyfrując wiadomość x G {0, l}n losujemy i zwracamy

gdzie || oznacza konkatenację słów,

• Tekst jawny odpowiadający szyfrogramowi ma postać

gdzie s to pierwsze n bitów w, t to pozostałe ko bitów

Definicja 5 (Plaintext-Aware Encryption Scheme). Tym razem wybierzmy k ∈G N oraz , takie że przeciwnik dysponuje tylko czasem dużo mniejszym niż . Ustalmy długość wiadomości (liczoną w bitach)

Użyjemy generatora permutacji zapadkowych F i „losowych" funkcji

Generowanie kluczy polega na wykonaniu algorytmu , który zwróci parę Kluczem publicznym jest , kluczem prywatnym

Page 60: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

60

Szyfrując wiadomość losujemy i zwracamy

gdzie || oznacza konkatenację słów,

Tekst jawny odpowiadający szyfrogramowi

gdzie x to pierwsze n bitów , z to pozostałe bitów , s to pierwsze

bitów w, t to pozostałe bitów

Bezpieczeństwo schematów

Przedstawimy teraz pewną agitację za poprawnością i bezpieczeństwem tych schematów szy-frowania. Jednak żeby móc cokolwiek powiedzieć o odporności schematów najpierw trzeba ustalić język opisu przeciwników.

Definicja 6. Niech będzie generatorem permutacji zapadkowych. Powiemy ze algorytm

oraz M działa w co najwyżej t krokach.

Definicja 7. Niech będzie generatorem schematu szyfrowania. Rozważmy przeciwnika A działającego w dwóch fazach. W pierwszej, find, dostaje on algorytm szyfrowania S i produkuje parę wiadomości . Następnie losowo wybieramy jedną z nich (w zależności od losowego bitu b) i w fazie guess przedstawiamy przeciwnikowi szyfrogram wraz z obydwoma ciągami, oczekując że odgadnie on bit b. Mówimy że -łamie jeśli

oraz obie fazy A działają w łącznym czasie co najwyżej t, wykonując łącznie co najwyżej i odwołań do odpowiednio G i H. Zakładamy że obie fazy algorytmu działają całkowicie niezależnie, a jedyna komunikacja między nimi to podawane parametry. Z tego też powodu została wprowadzona zmienna c, w której pierwsza faza może zapisać dowolne informacje które chce przekazać drugiej fazie.

Następujące twierdzenie opisuje bezpieczeństwo podstawowego schematu szyfrowania. Mówi ono że jeśli schemat daje się złamać, to z pewnym prawdopodobieństwem daje się odwrócić permutację zapadkową. Wniosek z tego że jeśli uważamy że używana funkcja za-padkowa jest dobra (a jest to domyślne założenie) to schemat jest bezpieczny.

Twierdzenie 1. Niech będzie podstawowym schematem szyfrowania z parametrami oraz długością tekstu jawnego n. Istnieje wówczas maszyna wyroczniowa U i stała A taka że dla każdej liczby k, jeśli -łamie-odwraca , gdzie

Page 61: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

gdzie oznacza czas obliczania funkcji na danych długości k.

Żeby udowodnić ten fakt, pokażemy zachowanie algorytmu M. M ma podaną funkcję . Stara się znaleźć

1. Najpierw M konstruuje według podstawowego schematu. Następnie tworzy dwie puste listy, nazywane G-listą i i losuje bit

2. M symuluje fazę find, uruchamiając A na danych (£,find). Jeśli A odwołuje się do wyroczni H podając h, M dostarcza losowy ciąg długości i dodaje h do Podobnie jeśli A odwołuje się do wyroczni G podając g, M zwraca losowy ciąg Gg długości n i dodaje g do G-listy. Niech będą wynikiem działania A.

3. Teraz M symuluje fazę guess, uruchamiając A z danymi. Odpowiada na pytania wyroczni w sposób następujący: (a) Załóżmy że A pyta wyrocznię H o h. M zwraca A losowy ciąg długości i

dodaje h do . Potem dla każdego g na G-liście konstruuje i liczy Jeśli istnieje takie h,g że któreś to M ustawia

(b) Załóżmy że A pyta wyrocznię G o g. Wtedy dla każdego fena M konstruuje ciąg i liczy

i. Jeśli są takie h, g że to M ustawia, ustawia , dodaje g do G-listy i zwraca Gg do A. W przeciwnym wypadku M dostarcza A

losowego ciągu Gg długości n i dodaje g do G-listy.

Wynikiem działania M jest w* jeśli ciąg został w tym algorytmie zdefiniowany i porażka jeśli nie. Łatwo widać że czas działania algorytmu wynosi t' jak w twierdzeniu, jak również że M może wykonać pewna maszyna uniwersalna U. Jednocześnie szacuje się prawdopodobieństwo porażki algorytmu. To kończy szkic dowodu.

Analogicznie twierdzenie opisuje bezpieczeństwo drugiego schematu. Twierdzenie 2. Niech będzie poprawionym schematem szyfrowania z parametrami i k\ oraz długością tekstu jawnego n. Istnieje wówczas maszyna wyroczniowa U i stała A taka że dla każdej liczby k, jeśli A -łamie -odwraca , gdzie

Dowód tego jest prostym pokazaniem przeciwnika który pozbywa się dodatkowych bitów i sprowadza problem do złamania schematu podstawowego.

Drugi schemat ma jednak dodatkową właściwość, nazywaną „świadomością tekstu". Pomysł polega na tym, że nie daje się wyprodukować prawidłowego kryptogramu nie znając tekstu jawnego do którego się ten kryptogram odnosi. Notacja zakłada, że pewien uniwersalny algorytm K (wydobywacz wiedzy) potrafi odszyfrować każdy kryptogram wyprodukowany przez B mając do dyspozycji listę odwołań B do G,H. Definicja 10. Niech będzie generatorem schematu szyfrowania i B przeciwnikiem produ-kującym ciąg. Algorytm K nazywamy -wydobywaczem tekstu dla jeśli

i K działa w co najwyżej t krokach.

Zapis oznacza, że uruchamiamy algorytm który produkuje

gdzie oznacza czas obliczania funkcji na danych długości k.

Page 62: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

y. Jednocześnie zapisujemy odwołania tego algorytmu do wyroczni. Istnieje zatem lista Tgen która dla każdego pytania zadanego przez B dla G zapisuje g i odpowiedź G(g). Podobnie dla

i para składa się na

Poniższe twierdzenie opisuje że drugi schemat szyfrowania ma własność „świadomości tekstu". Twierdzenie 11. Niech będzie poprawionym schematem szyfrowania z parametrami i niech n będzie odpowiednią długością tekstu jawnego. Wówczas istnieje maszyna wyrocz-niowa K i stała takie że dla każdej liczby całkowitej k jeśli B jest przeciwnikiem dla działającym w czasie co najwyżej t kroków i wykonującym co najwyżej zapytań do G i

zapytań do H, to jest -wydobywaczem tekstu dla gdzie

Żeby to udowodnić pokażemy wydobywacz K. Niech i niech będzie zdefiniowaną przez schemat funkcją szyfrującą. Niech , gdzie

Nazwiemy G-listą i K dostaje na wejściu i działa

następująco:

1. maszyna K

(a) Ustawia na pierwsze n bitów na pozostałe bitów (b) Ustawia i oblicza

62

Page 63: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 12

Podpisy wielogrupowe

1 2{ , ,..., } ( )

2n

p

i

P P P P zbiór graczy użytkowników

U rodzina wyróżnionych podzbiorówU U elementy tej rodziny

= −

⊂ −∈ −

(Rodzina U nie musi być zadana z góry. Ui mogą być zadane w trakcie realizacji podpisu wielogrupowego.)

Założenie: Każda grupa Ui posiada swój klucz publiczny pki, który służy do weryfikacji podpisu iσ wygenerowanego przez grupę Ui. Weryfikacja podpisu iσ powiedzie się, jeśli w przypadku interakcji w obrębie reprezentowanego podzbioru i iR U⊂ . M – wiadomość

( ) ( , )iU R ii M M Rσ σ=

Przykłady:

1. – jednoelementowe. U = {P}, UU i=P={P1, P2,...Pn) Podzbiór reprezentatywny jest zbiorem jednoelementowym {Pi}. W tej sytuacji – podpis grupowy.

2. , rodzina podzbiorów U mamy t (t2 pU ⊂ ≥ ≤ n)

Podzbiór reprezentatywny (| | )i i iR U r u= ≥ . To prowadzi do tzw. podpisu progowego typu (u,n), gdzie „u” jest progiem.

3. - dowolna rodzina podzbiorów zbioru P. U 2 pU ∈ . Zbiór reprezentatywny ,i i iR U gdzie U U= ∈ . To prowadzi do tzw. wielopodpisu (multisignature).

4. Jeżeli założymy, że w rodzinie 2p jest zadana hierarchia i klucz publiczny jest także kluczem publicznym wszystkich elementów niższych w hierarchii, to mówimy o podpisie hierarchicznym.

2 piU ∈

Wielopodpisy:

Model komunikacyjny P={P1,P2,..Pn} z bezpiecznymi kanałami ( point – to – point) łączącymi dowolnych dwóch użytkowników grupy.

63

Page 64: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Niech „i” oznacza wektor informacji publicznych (globalnych). Schemat MS=(MK, MS, MV) MK (generacja kluczy) - (I,P) (ski,pki), i ≤ n.

MS (złożenie podpisu, na ogół zrandomizowane) – interkatywny protokół w obrębie dowolnej grupy Ui ∈U przeprowadzany przez Pji∈Ui, (I,M,U,(ski)j) (M, V,σ ), gdzie „j” indeksuje granicy zbioru Ui. MV (weryfikacja podpisu) – algorytm deterministyczny (M, U, iσ ,pki) 0 lub 1

Podpis progrowy – model komunikacyjny j.w. Progrowy podzial sekretu (s1,...,sn) nazywamy (t,n) podziałem sekretu s jeśli każde k ≤ t-1 wartości si nie ujawnia informacji na temat s orraz istnieje wielomianowy algorytm, który dla t wartości wejściowych ze zbioru {s1,...sn} daje na wyjściu watość s.

Ozn.: (s1,....,sn) s ( , )t n

→ Podpis progowy s =(K,S, V) I – wektor informacji publicznych Schemat

TS = (TR, TS, V) TK – protokół interaktywny (I,{P1...Pn}) (pl, {x1,x2....xn}) – udziały dla P takie, że

(x1,x2....xn) sk, sk – klucz prywatny odpowiadający p.k. ( , )t n

→TK nazywamy całkowicie zgodnym wtedy i tylko wtedy, gdy rozkład (sk, pk) ma ten sam rozkład prawdopodobieństw co K.

TS na ogół zrandomizowany, interaktywny protokół wykonywany przez grupę graczy, gdzie wejście dla każdego gracza Pi to (I, M, Xi) (M,

1,2..i n=→ iσ )

Faza I Generacja częściowego podpisu (I, M, Xi) (M, iσ )

Faza II Rekonstrukcja podpisu (I, M, 1....σ , nσ ) (M, σ )

TS nazywamy całkowicie zgodnym, jeśli daje na wyjściu (M, σ ) = S(I, SK, M) dla dowolnej wiadomości M ∈{0, 1}*

Weryfikacja (I, M, σ , pk) (0,1) warunek zawartości – jeśli (M, σ ) = S(I, sk, M) to weryfikacja daje na wyjściu 1.

64

Page 65: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Podpisy Grupowe: Definicje, wymagania i ogólna konstrukcja

Opis podstawowych pojęć schematu podpisu grupowego.. W podpisie grupowym przedstawionym przez Chaum’a i Van’a Heyst znajduje się grupa mająca licznych członków i jenego manadżera (kierownika). Z grupą skojarzony jest jeden klucz weryfikujący podpisu gpk (signature-verification key) nazwany kluczem publicznym grupy (group public key).Każdy członek danej grupy „i” posiada swój własny klucz prywatny (secret signing key), dzięki któremu może stworzyć podpis odpowiadający gpk. Podstawowym wymogiem jest aby menadżer grupy posiadał klucz prywatny gmsk, na podstawie którego, znając sygnaturę σ , mógłby zidentyfikować członka grupy który stworzył σ (traceability), a z drugiej strony użytkownik nie posiadający gmsk, ale znający σ , nie mógłby zidentyfikować podpisującego σ (annomity). Nie ma ostatecznej definicji bezpieczeństwa schematu podpisu grupowego. Na przykład, wymagania anonimowości są sformułowane po prostu jako stwierdzenie „posiadając właściwą sygnaturę jakiejś wiadomości, zidentyfikowanie właściciela podpisu jest „obliczeniowo” bardzo trudne dla użytkownika nie będącego menadżerem grupy”. Szyfrogram nie powinien ujawniać informacji o wiadomości nikomu oprócz właściciela klucza tajnego. Czy atakujący może znać, lub wywołać poprzednie podpisy? Czy może wchodzićw koalicję z nieuczciwymi? Z takimi pytaniami mamy do czynienia mówiąc o tzw. bezpieczeństwie dowodliwym (provable security). Rozważymy tu nowe możliwości ataków oraz definicję sukcesu, a następnie

formułujemy mocne wersje wymagań, które nazywamy pełną anonimowością (full-anonymity) oraz pełną wytrapialnością (full-traceability). Pokażemy, że te dwa wymagania są wystarczające, a wszystkie inne wynikają z nich.

Pełna anonimowość Przejmujemy formalizację nieodróżnialności w której przeciwnik tworzy wiadomość i parę tożsamości członków grupy, dostaje on docelowy podpis pod daną wiadomością którejś z dwu tożsamości i próbuje rozszyfrowac z nich podpis otrzymał. Wtedy posiada jedynie nieistotną przewagę w sprawdzeniu spod której z tych dwóch tożsamości wyszedł podpis docelowy. W tej strukturze zakładamy mocnego przeciwnika który może korumpować wszystkich członków grupy, wliczając tego który złożył podpis. Widzimy również możliwość tego, że przeciwnik może widzieć rezultat prób algorytmu odkrywającego tożsamość przeprowadzonych przez managera grupy przeprowadzonych przez manadżera grupy na sygnaturach podpisach wybrał. Pełna wytrapialność

65

Page 66: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Definicja wytrapialności jest dużo silniejsza niz w przeszlosci i moze byc postrzegane jako swego rodzaju odporność na zmowy (collusion-resistance). Wymaga ono od grona członków grupy pozostających w zmowie, którzy uzyskują swoje klucze prywatne aby nie mogli stworzyć prawidłowego podpisu którego algorytm otwierający nie zidentyfikowal jako należącej to jakiegoś członka grupy będącej w zmowie. Duża i ciągle rosnąca lista nieformalnych wymagań bezpieczeństwa podpisów grupowych okazuje się być zawarta w pojęciach pełnej anonimowości i pełnej wytrapialności. Definicje bezpieczeństwa schematów Podpisów Grupowych. Zapis i terminologia. Jeśli x należy do ciągu wtedy |x| oznacza jego długość, oraz jeśli S jest liczbą stałą wtedy |S| oznacza jego rozmiar. Pusty ciąg oznaczony jest jako ε. Jeśli k należy do N wtedy 1k oznacza ciąg k jedynek. Jeśli n jest liczbą naturalną to wtedy [n] = {1,...,n}. Jeśli A jest losowym algorytmem wtedy [A(x,y,…)] oznacza zbiór wszystkich punktów posiadających możliwość zostania danymi wyjściowymi przez A na danych wejściowych x,y,…, i przez z $←A(x,y,…) wynik obiliczeń A na tych samych danych wejściowych z dopuszczalnymi wyborami losowymi. Definicja funkcji µ: N→N będącej zaniedbywalną jest standardowe. Rozszerzając ja na funkcje dwuargumentowe µ: N x N → N mówimy, że takie µ jest zaniedbywalne jeśli dla każdej dobrej funkcji wielomianowo ograniczonej n: N → N, funkcja µn: N → N jest zaniedbywalna, gdzie µn(k) = µ(k,n(k)) dla wszystkich k należących do N. Złożoność schematów Podpisów Grupowych. Schemat Podpisów Grupowych GS = (GKg, Gsig, GVf, Open) składa się z czterech algorytmów o złożoności wielomianowej:

• Losowy algorytm generacji klucza grupowego GKg pobiera dane wejścia 1k,1n, gdzie k należy do N jest parametrem bezpieczeństwa i n należy do N jest rozmiarem grupy (to znaczy ilością członków grupy), i daje wektor (gpk, gmsk, gsk), gdzie gpk jest publicznym kluczem grupy, gmsk jest tajnym kluczem managera a gsk jest n-wymiarowym wektorem o _____ kluczy z gsk[i] będących tajnymi kluczami podpisu dla gracza i należącego do [n].

• Losowy algorytm grupy podpisu Gsig bierze jako dane wejścia tajny klucz podpisu gsk[i] i wiadomość m do zwrócenia podpisu m pod gsk[i] (i należy do [n]).

• Deterministyczny algorytm grup weryfikacji podpisu GVf bierze jako dane wejścia publiczny klucz grupy gpk, wiadomość m, i sygnaturę kandydata ơ dla m aby zwrócić 1 lub 0.

• Deterministyczny algorytm otwierający - Open bierze jako dane wejścia tajny klucz

managera grupy gmsk, wiadomość m, i podpis pod identyfikatorem m dla zwrócenia tożsamości i lub symbolu ┴ dla oznaczenia błędu.

~o

Dla ułatwienia przypisujemy członkom kolejne całkowite tożsamości 1,2,…,n. Mówimy, że jest

poprawnym podpisem m jeśli istnieje i należące do [n] takie, że należy do [Gsig(gsk[i],m)].

Mówimy, że jest prawdziwą sygnaturą (true) m w odniesieniu do gpk jeśli GVf(gpk,m, )=1.

~o

~o

~o

~o

66

Page 67: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Poprawność. Schemat musi spełniać następujące wymagania poprawności: Dla każdych k,n należących do N każdy gpk,gmsk,gsk należy do [GKg(1k,1n)], każde „i” należy do [n] i każde m należy do {0,1}*. Dla takich elementów mamy 2 postulaty. GVf(gpk,m,Gsig(gsk[i],m)) = 1 i Open(gmsk,m,Gsig(gsk[i],m)) = i. Pierwszy mówi, że poprawne sygnatury są zawsze prawdziwe. Drugie stwierdza, że algorytm otwierający poprawnie odzyskuje tożsamość osoby wystawiającej poprawny podpis. Dyskusja. Podane wyżej definicje odnoszą się do środowiska w którym ta grupa jest niezmienna (statyczna), to znaczy liczba i tożsamości członków określona jest w czasie tworzenia grupy i nowi członkowie nie mogą być później dodawani. Przypadek dynamicznych grup można rozważać w sposób całkiem naturalny. Zwartość. W praktyce lepiej jest kiedy rozmiary kluczy i sygnatur w sygnaturze grupy nie rosną wprost proporcjonalnie do liczby członków n. Prawdę mówiąc zależność wielomianu od tych rozmiarów na log(n) może byś pokazana jako nie do uniknięcia, ale najlepiej byłoby gdyby się więcej nie wymagało. W naszym kontekście to prowadzi do następującego kryterium wydajności dla schematu sygnatur grup. Schemat podpisów grup owego GS = (GKg,Gsig,GVf,Open) nazywamy zwartym, jeśli istnieją wielomiany p1(.,.) i p2(.,.,.) takie, że |gpk|, |gmsk|, |gsk[i]| ≤ p1(k,log(n)) i | ơ|≤ p2(k,log(n),|m|) dla każdego k,n należących do N, gpk, gmsk, gsk należące do [GKg(1k,1n)], każdego i należącego

do [n], każdego m należącego do {0,1}* i każdego należącego do [Gsig(gsk[i],m)]. ~o

Pełna anonimowość. Nieoficjalnie anonimowość wymaga żeby przeciwnikowi, który nie jest w posiadaniu tajnego klucza managera grupy trudno było odzyskać tożsamość sygnatariusza z podpisu. Jak już wspomniano we wprowadzeniu nasza formalizacja bazowała na pojęciu nierozróżnialności, na który nałożony jest przeciwnik z dużymi możliwościami ataku. Dla uchwycenia zmowy przeciwnika z członkami grupy dajemy im tajne klucze wszystkich członków grupy. Dla uchwycenia możliwości zobaczenia wyników poprzednich otwarć managera grupy dajemy mu

dostęp do wyroczni Open(gmsk,.,.), które dla zadanych m,σ i gmsk odpowiada Open(gmsk,m, ). ~o

Przejdźmy teraz do formalizacji. Do jakiegokolwiek schematu podpisu grupowego GS=(GKg,Gsig,GVf,Open) przeciwnik A i bit b kojarzymy z pierwszym eksperymentem przedstawionym na Obrazku 1. Tu A jest przeciwnikiem, który funkcjonuje w dwóch etapach, etapie wybierania i etapie zgadywania. W etapie wybierania A bierze jako dane wejścia tajne klucze członków grupy członków grup, gsk, razem z publicznym kluczem grupy gpk. Podczas tego etapu może także zapytać o wyrocznię otwierającą Open(gmsk(,.) na sygnaturach grupowych własnego wyboru i jest wymagane żeby na końcu etapu A dane były dwie ważne tożsamości 1 ≤ i0, i1 ≤ n i wiadomość m. Przeciwnik również podaje dane wyjścia jakieś informacje do użytku w drugim etapie ataku. W drugim etapie przeciwnik otrzymuje informacje i podpis pod m wytworzoną przy użyciu tajnego klucza jednego z dwóch użytkowników i0, i1 wybranych losowo.

67

Page 68: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Celem jest odgadnięcie który z tych dwóch tajnych kluczy został użyty. Przeciwnik może wciąż zadawać pytania wyroczni ale nie pytania dotyczące podpisu zadania. Oznaczamy przez: Advanon

GS,A (k,n)=Pr[Exp anon-1GS,A (k,n)=1] - Pr[Exp anon-0

GS,A (k,n)=1] przewagę przeciwnika A w przełamaniu pełnej anonimowości GS. Mówimy, że schemat podpisu grupy jest w pełni anonimowy jeśli dla każdego wielomianowego Eksperymentu składanego przez i0 lub i1 pod wielomianem m.

Jeśli A nie wysłało zapytania do oracle z m, ơ w etapie zgadywania wtedy zwróci d EndIf Return 0

Użyte eksperymenty używały, odpowiednio, do określenia pełnej anonimowości i pełnej wykrywalności w schematach grup podpisów GS=(GKg,Gsig,GVf,Open). Tutaj A jest przeciwnikiem b ∈ {0,1} losowym bitem podpisu a St oznacza informacje *** przekazane przez przeciwnika pomiędzy etapami. Przewaga przeciwnika A w funkcji dwu-arguemtowej Advanon

GS,A (.,.) jest nieistotne w znaczeniu pomijalności funkcji dwu-arguemtowych zdefiniowanych na początku tej sekcji. W powyższym eksperymencie przeciwnik wysyła prośbę o sygnowanie wiadomości m pod jedną z dwóch tożsamości i0, i1 które określa i wygrywa jeśli potrafi odgadnąć który został wybrany. Można odnieść wrażenie iż pozwolenie na tylko jedną taką prośbę jest ograniczające i przeciwnikowi powinno się zezwolić na całą serię takich próśb/żądań. Losowy bit b pozostaje takie samo podczas odpowiadania na wszystkie prośby) Jednak standardowe argumenty hybrydowe pokazują, że pozwalające na wielomianową ilość próśb redukują się do pozwolenia tylko na jedną prośbę, więc definicja ta jest restrykcyjna. Argumenty hybrydy zależą od faktu czy przeciwnik posiada publiczny klucz grupy i tajny klucz sygnowania wszystkich członków. Pełna wytrapialność W przypadku złego użycia, anonimowość sygnatariusza może być unieważniona/cofnięta przez managera grupy. Aby uczynić z tego skuteczny środek odstraszający /czynnik powstrzymujący schemat podpisu grupy powinien zaspokoić następujące, nieformalnie opisane, wymagania bezpieczeństwa. Wymagamy, aby żaden zbiór S członków grup w zmowie (nawet składających się

68

Page 69: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

z całych grup i nawet będących w posiadaniu tajnego klucza gmsk) nie może stworzyć podpisu, których nie da się otworzyć, lub podpisu, których nie da się powiązać z członkiem koalicji podrabiającej podpis. Zauważmy, iż dawanie klucza otwierającego przeciwnikowi nie podwyższa istotnie poziomu skorumpowania grupy.

69

Page 70: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 13

Systemy kryptograficzne wykorzystujące krzywe eliptyczne i hipotezy o liczbach pierwszych.

Zagadnienia omówione na tym wykładzie:

1. Kryptosystemy „eliptyczne” 2. Kodowanie na krzywej 3. Problem logarytmu w ( )qE F4. Aspekt bezpieczeństa - działanie Weila

Kryptosystemy eliptyczne:

1. Protokół Diffie-Hellmana na krzywej P – punkt dużego rzędu (np.: generator) na krzywej E(Fq). | E(Fq)| ~q ≈ A aP B (a) bP (b) Q = abP jest tajnym kluczem wymiany Diffiego-Hellmana 2. System Massey’a – Omury na krzywej eliptycznej N = |E(Fq)| znane de = 1(mod N) M P = Pm A w, P B eBeaP dAeAeB P B mnoży da i otrzymuje P.

3. Systemy eliptyczne ElGamala (szyfrowanie ze wskazówką). M P= Pm E(Fq),Q- znane publiczne Wartość N=|E(Fq)| nie musimy znać.

A B

70

Page 71: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

xA – tajny klucz xB – tajny klucz xBQ – jawny

Do przekazania wiadomości P,A używając losowej wartości k ∈ Z przekazuje (kPQ, P+kxBQ) gdzie Q jest publicznie znanym punktem krzywej E(Fq). B xBkQ=kxBQ i odejmując od drugiej współrzędnej dostaje wiadomość P.

Kodowanie wiadomości na punkty krzywej Zakładamy, że jest zadana przez równanie Weierstrasse )( pFE BAxxy ++= 32

Gdzie i AB = 0(mod p) (ale A i B nie są jednocześnie podzielne przez p). ∆/|p Kodowanie punktów krzywej E(mod p). Kodowanie musi być JEDNOZNACZNE i PRZEJRZYSTE m – wiadomość (np. binarna)

mP - punkt na E(mod p) odpowiadający wiadomości m. Wtedy mamy następujące procesy

mPQPm mmm →→→→ kodowanie szyfrowanie deszyfrowanie dekodowanie Przejrzystość kodowania zapewniamy określając Eyxxm y ∈∃→ ),(:: Mankament: dla wybranego x odpowiednie y może nie istnieć! Dlatego algorytm A : xm →→ A będzie PROBABILISTYCZNY, jeśli dla x nie powiedzie się to x . Dokładniej niech (k = 50), gdzie M jest ograniczeniem wiadomości m tj. 1+→ x Mkp >

.,0[ Mm∈ Kodowanie określamy następująco jK

jkmmK j += )()( , j=1, 2, ……, k. Jeśli jest „złe” to sprawdzamy itd. xmK =)(1 )(2 mK Załóżmy, że dla pewnego j < k mamy

)(mK j dobre tj. )(mod),(: pEyxy ∈∃

tzn. ٱ =++= BAxxxf 3)( )(mod pdla Wtedy przyjmujemy: ).(mKx j=

71

Page 72: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

pmKfmKyxP jjm mod))((,)((),( 2=

Dekodowanie ma zwrócić wartość wiadomości m, więc obliczamy je wyznaczając część całkowitą liczby

k

jmk

jmkkmK j 111)( −

+=−+

=−

, która wynosi m, gdyż 111<

−=

−k

kk

j .

Prawdopodobieństwo, ze kodowanie powiedzie się najdalej w =k-tej próbie

wynosi: , gdyż dla 50% wartości x(mod p)dokładnie 502121 −− −≥− k

21−p wartości

ٱ .(mod na mocy założenia że AB=O(mod p). =∈ ⊥ )(),( xfpx )p Dla krzywych szczególnej postaci KODOWANIE można określić deterministycznie. Tak jest na przykład dla krzywych rodziny gdzie pFAxxy mod: 32 +=Ε )4(mod3≡p . Jak

pokazaliśmy, jedna z wartości lub jest kwadratem w ciele gdyż ich symbole Legendre’a różnią się znakiem. W takim przypadku kodowanie można określić następująco:

Axx +3 )()( 3 xAx −+− pF

( ))(mod)(,)(mod 3 pAmmpmPm m +±±=→ gdzie znak wybieramy w zależności od tego czy jest resztą kwadratową czy nie (odpowiednio).

± )(mod3 pAmm +

DEKODOWANIE

3 (mod )( , )

. . .x gdy x Ax p

P x yx w p p

⎧ + == → ⎨

−⎩

Logarytm dyskretny na krzywej )( qFE Metody znajdowania wartości logarytmu dyskretnego na krzywej E(Fq) :

1.) Metoda naiwna. Wybieramy kolejne wartości x= 2,3,4 i sprawdzamy, czy x P = Q? 2.) Algorytm Pohlig’a – Hellmana 3.) Metoda wielkich wielkich małych kroków (baby - step ,giant - step) 4.) Algorytm ρ -Pollarda 5.) Analogon metody indeksu

Problem: Dane P i Q ∈ . Znaleźć (o ile istnieje) x całkowite: xP=Q )( qFE Większość algorytmów obliczających logarytm dyskretny w grupie punktów wymiernych na krzywej to algorytmy uniwersalne, a więc nie wykorzystujące szczególnej struktury grupy

. W latach 90’tych MENEZES, VANSTONE i OKAMOTO wykorzystali działania WEILA, aby zanurzyć w i tym samym zredukować problem L.D. do grupy G= .

Efektywność redukcji wymaga, aby k – było małe a to może się zdarzyć tylko dla krzywych SUPEROSOBLIWYCH (o jakich była mowa w rozważanych przypadkach, AB=0 mod p). Jeśli

)( qFE)( qFE

)( qFE *kqF *kq

F

72

Page 73: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

więc będziemy rozważać krzywe niesuperosobliwe i takie, że )( qFE ma duży dzielnik pierwszy to odpowiedni system kryptograficzny dla krzywej będzie bardziej BEZPIECZNY niż dla G =

(przy porównywalnych wielkościach parametrów grupy). *pZBezpieczeństwo na krzywej przewyższa bezpieczeństwo w grupie , gdyż jak dotąd nie mamy odpowiedniego algorytmu imitującego metodę indeksu dla grupy .

)( qFE *qF*qF

Dla pokazania przyczyny za to odpowiedzialnej rozważmy krzywą xxyyQE −=+ 32:)( .Grupa punktów wymiernych na niej leżących jest nieskończona, generowana przez punkt P=(0,0).

Łatwo obliczamy, że jeśli )1)(,)(()1(),( 32 −+−−=+= yxyx

xyPktoyxkP .

Ponieważ x,y są wymierne to możemy dla dcy

bax == , zdefiniować wysokość punktu P=(x,y)

jako },,,max{log)( dcbaPH = Spełnia ona równość H(P) = h(P)+O(1), gdzie h(P) to tzw. kanoniczna wysokość NERONA – TATE’A h(P) spełnia warunek h(P+Q)+h(P-Q)=2(h(P)+h(Q)) skąd w szczególności h(2P)=4h(P) a więc H(2P)=4H(P)+O(1) i podobnie )()()2()()(4......)1()2(4)22()2( 211 kOPHkOPHOPHPHPH kkkkk +⋅=+==+=⋅= −−

co dowodzi, że wzrost wysokości punktu (przy k-tym podwojeniu punktu) następuje w tempie kwadratowym! Reasumując mamy:

1. Wysokość punktu przy k-tej iteracji rośnie szybszej w grupie niż grupie . )( qFE *qF2. Na krzywej liczba punktów o „małej” wysokości jest relatywnie mniejsza niż w

grupie , )( qFE

*qF

tj. < ∑ <= })(:{# tPxHPxQ iiii }:{# tbbQ ii xi

xi <Π=

Przykład:

E(Q) : xxyy −=+ 32

P = (0, 0), 2P = (1, 0), ….. Dla k = 1, 2, …… otrzymamy dla współrzędnych y-tych kolejnych wielokrotności punktu P.

73

Page 74: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

12167361264

206534343512569278

Mianowniki wzrastają w tempie , więc ilość odpowiadającym im cyfr w tempie . )(

2keO )( 2kO Metoda indeksu dla krzywej ( )qE F

Dane: T,S ∈ E(Fp). Znaleźć: n: S = n T Q – ciało liczb wymiernych

1.) Wybieramy krzywą E(Q) , która redukuję się do krzywej E(Fp) , która ma dużą ilość niezależnych punktów p1,p2,…,pr (generatorów grupy E(Fp)).

2.) Wyliczamy wielokrotności S,2S,3S,… ∈ E(Fp) i dla każdego takiego punktu znajdujemy odpowiedni Punkt Si ∈ E(Q) redukujący się do punktu i S ∈ E(Fp).

3.) Rozwiązujemy równanie :

w E(Q) ∑=

=r

jjji pnS

1

4.) r – krotne powtórzenie punktu 3 daje r- równań:

∑=

=r

jiSj Pnj

1)(log

które można rozwiązać dla danych P.

5.) Podnosimy T + j S ∈ E(Fp) .(dla pewnego j) do Tj ∈ E(Q) (tzn. znajdując punkt z E(Q)), który redukuje się do T + jS ∈ E (Fp). Rozkładamy :

∑=

=r

iiSij PmT

1)(log

6.) Mając już wszystkie dane możemy policzyć n korzystając ze wzoru :

74

Page 75: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

∑=

=+r

iiS PjT

1)()(log

WNIOSKI : Tak zmodyfikowana metoda indeksu , ma 3 „słabe” punkty :

1.) Trudno jest znaleźć krzywe E(Q) z wysoką rangą (nieznane są krzywe z rangą większą niż 2 ,3)

2.) Trudno jest znaleźć krzywe E(Q) generowane przez punkty o małej wysokości. 3.) Mając daną krzywą E(Q) i liczbą pierwszą p ,oraz punkt S ∈ E(Q) który redukuje się

do punktu S. Działanie Weila Działanie Weila (które redukuje problem logarytmu dyskretnego na krzywej do

analogicznego problemu dla ) to przyporządkowanie

)( qFE*

qF

,,),()( 2 >→<∋ QPQPQE które spełnia następujący warunek dwuliniowości

><+>>=<+< QPQPQPP ,,, 2121 Wysokość punktu P to z definicji wartość )(Ph

>=< PPPh ,)(

Wniosek:

( ))()()(21, QhPhQPhQP −−+>=<

Dowód: ><++=+><+>=++=<+ QPQhPhQPQQPPQPQPQPh ,2)()(),(2,),(,)(

WŁASNOŚCI )(PhZachodzi następujący związek pomiędzy wysokością punktu i jego rzędem (w grupie ). )(QE

∞<⇔= rzPPh 0)( gdzie jest kanoniczną wysokością Nerona-Tate’a. )(Ph Dla dowodu zauważmy, że ciąg punktów jest okresowy jeśli ,...2,12 =nPn ∞<rzP i wtedy jest też odpowiedni ciąg wysokości jest ograniczony, skąd na mocy własności )2( Ph n

)1()(4)2( OPhPh nn += otrzymujemy, że . 0)( =PhOdwrotnie jeśli to 0)( =Ph )1(0)2()(40 +== PhPh nn

Skąd ograniczony, więc ciąg jest w istocie skończony. Zatem punkt P ma rząd skończony.

)2( Ph n ,...2,1,2 =nPn

Uwaga:

Powyższa równoważność pozwala na ignorowanie części torsyjnej przy badaniu grupy Mordella-Weila.

75

Page 76: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Niech )}(,2{' QEPPG ∈=Ponieważ działanie dodawania punktów jest przemienne więc 'G jest podgrupą grupy . )(QEZachodzi następujące (słabe twierdzenie Mordella):

Twierdzenie: Grupa ilorazowa )(2

)(QE

QE jest skończona.

W oparciu o nie pokażemy teraz, że dowolny punkt grupy jest kombinacją liniową punktów o wysokościach ograniczonych przez wysokości reprezentantów powyższej grupy ilorazowej.

)(QE

Dowód: Niech generuje wszystkie elementy modulo i niech

. Jeśli rPPP ,...,, 21 )(QE )(2 QE

)(max iriPhM

≤= })(:)({ MPhQEPS ≤∈= to pokażemy, że )(QES = .

Niech SQEP −∈ )( będzie takim punktem, że jest minimalne. Wtedy )(Ph RPP i 2+=

gdzie ri ≤ oraz SR ∉ . Na mocy minimalności mamy, że )(Ph

))((21))()((

21)(

41)2(

41)()( MPhPhPhPPhRhRhPh ii +≤+≤−==≤ skąd MPh <)(

otrzymana sprzeczność kończy dowód.

I.) Efektywna arytmetyka na krzywej E(Fq). Krzywe eliptyczne izomorficzne. 1.) K- ciało ,E(k) krzywa e eliptyczna nad K w ogólnej postaci Weierstrassa. E: y2 + a1xy + a3y = x3 +a2 x2 + a4 x +a6 gdzie ai ∈ K Powiemy ,że dwie krzywe E i E’ są izomorficzne wtedy i tylko wtedy gdy jedna da się otrzymać z drugiej przez (dopuszczalną) zamianę zmiennych postaci : (x,y) → (u2x + r , u3y + u2sx + t ) podzielenie otrzymanego równania przez u6, gdzie u∈K\{0}., r , s ,t ∈K.

Wniosek: Jeśli char k 2 ,3 to dopuszczalna zamiana zmiennych prowadzi od (szczególnej ) postaci ≠ Weierstrassa E : y2 = x3 + A + B Wtedy mamy następujące wzory na podwojenie i dodawanię punktów. (1.) P = to -P = Θ Θ (2.) P = (x,y) to -P = (x , -y) (3.) P ≠ -P i P = (x,y) to

)(2)2( )(2)(3 2

PxPx PyAPx −= + i ( ) )()2()(()2(

2

)(2)(3 2

PyPxPxPy PyAPx −−= +

(4.) Jeśli P Q to ≠ ±

[ ] )()()( 2)()()()( QxPxQPx PxQx

PyQy −−=⊕ −−

[ ] )()()(()( )()()()( PyQPxPxQPy PxQx

PyQy −+−=⊕ −−

Przykład:

1.) E(F23) : y2 = x3 +x +4 E(F23) jest grupą rzędu 29 generowaną przez punkt P = (0,2).

76

Page 77: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Przykład:

E(Q) : y2 + y = x3- x Punkt (0,0) jest jej generatorem nieskończonego rzędu. Dopuszczalna zmiana zmiennych prowadzi do krzywej w szczególnej postaci Weierstrassa : y2 = x3 + Ax + B i wykorzystując wzory na podwojenie i dodawanie punktów otrzymujemy : 2P = (1, 2

1 ) i ogólnie jeśli kP=(x,y) to (k+1)P = [( xy )2 – x ; - ( x

y )3 + y – 1 ] Zamieniana układu współrzędnych (x,y) (x , y - → 2

1 ) przeprowadza krzywą E na E’ : y2 = x3 –x + 4

1 oraz punkt P=(0,0) na P’=(0, 21 ).Układ współrzędnych przesuwamy o

wektor (0, - 21 ) współrzędne punktu przesunięte są o wektor (0, 2

1 ). 2P’ = (1, 2

1 ) 2P = (1,⇒ 21 ) + (0,- 2

1 ) = (1,0) Niech kP=(x,y) wtedy (kP)’ = (x,y) + (0, 2

1 )= (x,y + 21 )

(k+1)’ = kP’ P’ = P’ kP’ = (x,y+⊕ ⊕ 21 ) ⊕ (0, 2

1 ) = (( xy )2 –x, - ( x

y )3 +y - 21 ),Zatem

(k+1)P=(k+1)P’ +(0,- 21 )=

2 3

, 1y yx yx x

⎛ ⎞⎛ ⎞ ⎛ ⎞− − + −⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎝ ⎠ ⎝ ⎠⎝ ⎠

krzywe eliptyczne nad ciałem Fqr.

Uwaga: Istnieje wiele systemów kryptograficznych wykorzystujemy arytmetykę w skończonej grupie apelowej G. (np. G = Zp

* lub G = E(Fq)) ,których bezpieczeństwo jest oparte na problemie logarytmu dyskretnego w G. ( np. system Diffiego-Hellmana , ElGamala i inne ). Aby uniemożliwić atak oparty na algorytmie Pohliga-Hellmana, rząd grupy G musi być podzielny przez dużą liczbę pierwszą. W przypadku grupy G = E(Fq

r) powstaje pytanie: „Dla jakich r możemy spodziewać się ,że #E(Fqr)

jest podzielny przez dużą liczbę pierwszą. Po pierwsze zauważmy ,że jeżeli P = (x,y) ∈ E(Fq

r) to x= x(t), y = y(t) gdzie x (t) ,y(t) ∈Fu[Fq] są wielomianami st r -1 .W szczególności wielomiany stałe (stopnia 0 ) dają punkty (x,y) ≤ ∈ E(Fq). Ponieważ (Fq) jest zbiorem zamkniętym, że względem na branie punktu przeciwnego, dodawanie punktów więc E(Fq) jest podciąłem E(Fq

r).Podobnie jeśli FqS jest podciałem ciała Fq

r to Fqs={ a∑

<≤ ki0iti , ai ∈ (Fq

s) }, a zatem

#Fqr = (qs)k i w konsekwencji s|r . Odwrotnie jeśli s|r to Fq

s jest podciałem Fqr ,zatem E(Fq

s) jest podgrupą grupy E(Fq

r) jeśli s|r i z tw. Lagrange’a wynika , że

)(#)(#

s

r

FqEFqE

jest liczbą całkowitą. Zatem dużych dzielników pierwszych dzielących rząd grupy

E(Fqr) powinniśmy raczej szukać dla r będących liczbami pierwszymi , niż złożonymi . Niech zatem r będzie l.pierwszą. Rozważmy iloraz :

)(#)(#

FqEFqE r

Na mocy twierdzeń Hasse-Weila mamy, że Nr = |αr - 1| dla r ∈ N gdzie α ,α to pierwiastki trójmianu T2 + aT + qa = q + 1 – N1 operujące w twierdzeniu Hassego.

77

Page 78: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Reasumując mamy 2

11

−−= α

α rrN

N

Hipoteza:

11

−−

αα r

jest liczbą pierwszą dla nieskończenie wielu r ∈N.

Teraz pokażemy w jaki sposób możemy wybierać krzywe i punkty na niej leżące do konstrukcji systemów kryptograficznych Wybór krzywej i punktu w konstrukcji kryptosystemu Metoda 1: Losowy wybór krzywej i punktu : E P , , -ustalone ( ),E P ( )qE E F= q

Wybieramy losowy x , , należące do ciała i definiujemy y A ( )2 3B y x ax= − + wtedy punkt

leży na krzywej zadanej równaniem ( ,P x y= ) B2 3y x Bx= + + . Metoda 2: Redukcja krzywej globalnej

a) wybieramy krzywą eliptyczną ( )E Q taką, że jej rząd jest nieskończony (ranga krzywej > 0). Można to osiągnąć znajdując punkt na krzywej i dowodząc, że jest trywialne. torsE

b) wyznaczamy punkt P leżący na ( )E Q nieskończonego rzędu.

c) Wybieramy dużą liczbę pierwszą p i rozważamy redukcję krzywej ( )modE p

Uwaga: Dla prawie wszystkich p tak określona redukcja daje dobrze określoną krzywą eliptyczną

d) Zmieniając p generujemy wiele par ( ),p pE P , gdzie - redukcja punktu pP ( )modP p

Przykład: Załóżmy α = 2. Wtedy liczby pierwsze postaci

121212 −=−

− rr nazywamy liczbami pierwszymi Marsenne’a

Podsumowanie Q - ciało liczb wymiernych

qF - ciało skończone

78

Page 79: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Systemy kryptograficzne wykorzystujące krzywe ( )rq

E F PARAMETRY ( ), , ,q r A B Ciało qF r N∈ ( ) 2 3, :E E A B y x Ax B= = + + a to nam daje

( )rqE F

Wybór krzywej i punktu ( )qP E F∈

( )E Q - krzywa globalna ,A B - ustalone

( )P E Q∈ homomorfizm redukcji ( ) red p

( ) ( )red p qP E F∈

problem bezpieczeństwa Badanie liczb pierwszych

postaci ( )#

#q

tors

E FE

Hipoteza Goldbacha, liczby pierwze Sophie-Germain czyli postaci 2 1q p= +

Ustalamy ( )qE F rozszerzenie algebraiczne ciała qF

( )rqE F

twierdzenie Hasse-Weil’a badanie liczb pierwszych

postaci 11

rαα

−−

liczby pierwsze Maresnne’a

Ustalamy ciało qFZmieniamy krzywe

( ),q qE E A B= twierdzenie Hassego # 1 2 , 1 2qE q q q 2⎡ ⎤∈ + − + +⎣ ⎦

problem bezpieczeństwa Dla jednych jest pierwsza

,A B # qE

problem rozmieszczenia 2 liczb pierwszych w „krótkim przedziale” Hipoteza Riemann’a

Znajdywanie punktów na krzywej ( )qE F Rozkład krzywej nad ciałem liczb wymiernych , r - generator ( ) r

torsE q E Z= ⊕ działanie Weil’a twierdzenie Nagelle-Lutza homomorfizm redukcji red p

79

Page 80: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Bezpieczeństwo Jeśli uda się złamać problem logarytmu dyskretnego to te systemy stracą zastosowanie. Problem logarytmu dyskretnego w ( )qE F Wysokość Neron’a-Tate’a i działanie Weil’a

Wybór parametrów takich że ilość punktów n krzywej

, , ,A B q r

( )# rqE F ma duży

dzielnik pierwszy.

Znane algorytmy znajdujące logarytm dyskretny na krzywej ( )qE F („metoda indeksu”)

80

Page 81: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 14 Redukcja krzywej. Twierdzenia Nagella-Lutza i Hasse-Weila

Większość algorytmów obliczających logarytm dyskretny w grupie punktów wymiernych na krzywej to algorytmy uniwersalne, a więc nie wykorzystujące szczególnej struktury grupy

. W latach 90’tych Menezes, Vanstone i Okamoto wykorzystali działania Weila, aby

zanurzyć w i tym samym zredukować problem logarytmu dyskretnego do grupy

G= . Zanurzanie, o którym mowa istnieje w szczególności dla tzw. Krzywych superosobliwych.

)( qFE)( qFE

)( qFE kqF ∗

kqF ∗

Definicja:

( )qE F - nazywamy superosobliwą wtedy i tylko wtedy gdy moc tego zbioru wynosi 1q −

( )# 1qE F q= + Dla krzywych superosobliwych takie zanurzenie ( )qE F w kq

F ∗ istnieje już dla relatywnie małych

i wtedy „bezpieczeństwo” na krzywej k N∈ ( )qE F jest porównywalne do bezpieczeństwa w

grupie (porównywalnej z ). kqF ∗

qF

Dalej będziemy zakładać, że:

1) krzywa nie jest superosobliwa. ( )qE F

2) liczba punktów wymiernych na ( )qE F dzieli się przez dużą liczbę pierwszą. Dla krzywej: 2 3:E y y x x+ = −można pokazać, że jeśli ( ) (,mP x y E a= ∈ )to

( )2 3

1 , 1y ym P x yx x

⎛ ⎞⎛ ⎞ ⎛ ⎞+ = − − + −⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎝ ⎠ ⎝ ⎠⎝ ⎠2>

)

dla m P 2P mP

Wypisując kolejne wartości otrzymujemy mP

gdzie ( ,m mmP x y mm

m

ayb

=

wzrost typu ponadwykładniczego ( )2O me

81

Page 82: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Porównanie wzrostu wysokości punktów ( )mP E Q∈ ze wzrostem wysokości punktów mx w

grupie . qF ∗

Przyjmujemy, że przez wysokość punktu ( )p E Q∈ nazywamy maksimum modułów , , ,a b c d

gdzie ,a cpb d

⎛ ⎞= ⎜ ⎟⎝ ⎠

, ,a cb d

- są nieskracalne. Natomiast wysokością punktu mx jest wartość mx w

grupie . qF ∗

W przypadku (krzywej eliptycznej) mamy, że wysokość jest rzędu razy wysokości

. W przypadku to l( )E Q mP 2m

P qF ∗ og logmx m x= = m razy (wysokość x )

wysokości P 2P Pm m→ → mx x m→ → wysokości x Oznacza to, że na krzywej istnieje wiele punktów, które można otrzymać za pomocą

redukcji modulo (modE )p

p z punktów wyznaczonych na ( )E Q o małej wysokości. Sytuacja wygląda

zupełnie inaczej niż w przypadku , gdzie wiele punktów można otrzymać przez redukcję modulo

qF ∗

p , liczb całkowitych małej wysokości.

( ) (log max , , ,H P a b c d= ) (H od height – wysokość)

Wtedy jest związane z kanoniczną wysokością Nerona-Tate’a przez równość

. ( )H P

( ) ( ) ( )1H P h P O= + Redukcja - twierdzenie Nagella-Lutza PE, Redukcja krzywej )(QEE =

Niech gdzie BAxxyQEE ++== 32:)(2

1

2

1 ,bbB

aaA ==

Niech p –liczba pierwsza 22| bap / Redukcją krzywej E modulo p nazywamy krzywą o równaniu

)(mod212132 pbbxaaxy ++= i oznaczamy . )(mod pE

Inaczej, krzywa zredukowana to krzywa o współczynnikach zredukowanych . pmodRozważać będziemy takie redukcje krzywej E dla których Ep ∆/| i wtedy krzywa zredukowana

jest krzywą eliptyczną . )(mod pE )( pFEE = Redukcja punktów krzywej modulo p Rozważmy odwzorowanie

)()(: pp FEQEred → określone wzorem

82

Page 83: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

),(),(: 21212

1

2

1 yyxxyy

xxred p =

gdzie )(),(2

1

2

1 QEyy

xxP ∈=

Jeśli to jest punktem właściwym 22| yxp / Pred p )( O≠ na krzywej eliptycznej . )( pFE Teraz pokażemy, że odwzorowania zachowuje działanie dodawania punktów na krzywej

,a więc jest homomorfizmem. To oznacza, że jeśli to

pred)(QE RQP =+

)()()( QredPredRred ppp +=W tym celu niech

)),(),,(( QPgQPfR = gdzie f i g to odpowiednie funkcje wymierne od współrzędnych punktów P i Q. Mamy zatem:

QredPredQredPredgQredPredf

QPgredQPfredQPgQPfredRred

pppppp

pppp

+==

===

)),(),,((

)),(),,(()),(),,((

co należało dowieść. Dla zastosowań kryptograficznych istotny jest wybór krzywej eliptycznej o dobrych własnościach (np. gwarantujących bezpieczeństwo odpowiedniego kryptosystemu). Na przykład istotna jest informacja, że grupa punktów wymiernych krzywej jest nieskończona. W tym celu wystarczy wskazać jakikolwiek punkt wymierny na krzywej a następnie udowodnić, że część torsyjna krzywej jest TRYWIALNA. Z częścią torsyjną krzywej związane jest twierdzenie NAGELLA-LUTZA, które powiada, że punkty torsyjne mają współrzędne całkowite. W takim przypadku redukcja punktu jest zawsze dobra i punkt torsyjny ma redukcję będącą punktem właściwym na krzywej . Innymi słowy tylko punkt w nieskończoności może dawać redukcję będącą punktem niewłaściwym (to jest =O w grupie

).

)(QE

)(QE

)|( 22 yxp / )( 11 yxP =)( pFE

)( pFEPonieważ jest homomorfizmem oznacza to, że jest odwzorowaniem różnowartościowym (monomorfizmem) i wtedy obraz przy działaniu redukcji ma rząd będący dzielnikiem rzędu .

torsQEpred )(|

torsQE )()( pFE

Jeśli uda nam się znaleźć takie liczby pierwsze , że 21 , pp |)(||)(|11 pp FEFE ⊥ to rząd

będąc dzielnikiem obu rzędów musi być równy 1 i wtedy wiemy, że jest podgrupą TRYWIALNĄ.

torsQE )(|)(||)(|

11 pp FEiFE

torsQE )(Następujący wniosek pozwala na „efektywne” wyznaczenie punktów torsyjnych krzywej . )(QE

Wniosek: Jeśli gdzie to . torsQEyxP )(),( ∈= BAxxyE ++= 32: 2332 32| BAy +

Dowód:

Z określenia działania dodawania mamy )','(2 yxP = gdzie 22

23

2' ⎟⎟⎠

⎞⎜⎜⎝

⎛ ++−=

yAx

xx . Na mocy

twierdzenia NAGELLA-LUTZA jest całkowita 'x

83

Page 84: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

skąd . Ponieważ więc proste rachunki pokazują, że Axy +23| BAxxy ++3|

1632| 2332 ∆−

=+ BAy .

Kolejne twierdzenie pokazuje strukturę podgrupy dla rodziny krzywych postaci torsQE )(

AxxyE += 32:

Twierdzenie: Niech wtedy ma rząd 1,2 lub 4. AxxyQE += 32:)( torsQE )(

Dowód:

Rozważmy redukcję krzywej gdzie i )(mod pE 3>p )4(mod3 Ap ≡ . Ponieważ więc i redukcja daje krzywą eliptyczną .

Ap 2|/)2(16| 32 Ap −=∆/ )( pFE

Niech q będzie liczbą pierwszą dzielącą . Istnieje liczba pierwsza leżąca w postępie .

torsQE )( 1p)4(mod3oraz)(mod3 Aq

Biorąc redukcję mamy 1pred )(mod41|)( 1 qpQE tors ≡+ skąd to jest lub 4. 4|q 2=q

Twierdzenie Hassego Niech będzie krzywą eliptyczną – wtedy zachodzi nierówność ( )qE E F=

( ) ( )# 1qE F q q− + ≤ 2

)

Niech - rozszerzenie ciała r-tego stopnia rqF

i niech . Wprowadzimy teraz definicję zeta funkcji krzywej eliptycznej (# rr qN E F= ( )qE F

Definicja:

Zeta funkcją krzywej nazywamy funkcję określoną wzorem ( )qE F

( )( ) 1,r

rr

TNr

qZ T E F e

=

⋅∑=

Twierdzenie Weila Zeta funkcja jest funkcją wymierną zmiennej T określoną wzorem ( )qE F

( )( ) ( )( )21,

1 1qaT qTZ T E FT qT

− +=

− − gdzie 1a q N= + −

pierwiastkami są liczby zespolone sprzężone o module równym 21 aT qT− + q Uwaga:

Zeta funkcja ( )( , q )Z T E F pełni ważną rolę przy konstrukcji systemów kryptograficznych

opartych na krzywych eliptycznych (patrz wykład 10).

84

Page 85: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 15

Schematy płatności internetowych i model pieniądza cyfrowego

Podział

on-line warianty off-line np. ikp pośrednie np. payword (probabilistyczne) micromint Bank Klient (K) Sprzedawca (S) on-line 2N + 2N = 4N off-line 2N + ε Koszty transakcji: sprzęt połączenie (ilość) obsługa ludzka ubezpieczenie Zagrożenia klient - przekroczenie salda, limitu dziennego PROCES - pranie brudnych pieniędzy rozliczania - oszustwa transakcji sprzedawca - powielanie zleceń (zamówień) (płatność + autoryzacja) Bank - monitorowanie klienta Zewnętrzne - wykorzystywanie przerw w połączeniach - ataki hackerskie

85

Page 86: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Korzyści - zakupy wirtualne - bezpieczeństwo fizyczne - większa anonimowość Podstawowe wymogi (zawarcie transakcji) kto komu podstawowe jak długo Certyfikat klucz publiczny ] kryptograficzne limit wydatków ] specyficzne

Postać certyfikatu

)(},,,,{ m

m

UMBu BLIMExpXIdIdC σ4444 34444 21

=

Weryfikacja podpisu Banku )())(())(( mHmHxXmHx BBB =→H – funkcja haszujące (silna kryptograficznie) (x, X) para kluczy: prywatny, publiczny

TYPOWE FAZY transakcji Rejestracja Płatność Rozliczenie Rejestracja (aspekt płatności) Założenie: S zna ! BX

SURej , )(},,,{ m

m

su uPTIdC σ43421

=

T – data i czas zakupu P – pole płatności (forma płatności) Model graficzny (|| oznacza konkatenację)

86

Page 87: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

SURej , : )(|| mm uσ

Sprzedawca uC )(|| mm uσ weryfikacja podpisu uX Sprzedawca wykonuje: - sprawdza wartość certyfikatu (Exp!) - weryfikuje autentyczność klienta (sprawdza, że )( uCUU = ) - akceptuje płatność (po połączeniu z Bankiem) Realizacja kolejnych płatności - ograniczenie: LIM (dzienny) zawarty w uC- na koniec (dnia) – raport do Banku Rozliczenie z Bankiem S informacja o transakcji B Przelew na konto S Anonimowość w aspekcie płatności E – czek (imienny) np. ikp ma postać

)(|| mm Bσ gdzie m zawiera dane: emitentna, właściciela, ew. kwoty. Deponując czek Bank identyfikuje klienta. Anonimowość klienta wobec Banku polegałaby na tym, że Bank deponując autoryzowany swoim podpisem cyfrowym banknot elektroniczny nie mógłby powiązać go z tożsamością klienta-właścicielka banknotu. Inaczej bank nie może oznaczyć banknotu, który podpisuje. Realizuje: ślepy podpis Aby zapobiec oszustwom ze strony klienta Bank sprawdza „duże” próbkę banknotów do ślepego podpisu. Jeśli są zgodne ze standardem pozostałe podpisując na „ślepo”. Kryptografia cyfrowego pieniądza (idea) M – Dane Banku, Identyfikacyjny numer banknotu. Podpis mxm BB o=)(σ

87

Page 88: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Podpis ślepy: Maska dla m postaci ( )m BXr ogdzie r – losowy czynnik (maskujący) Podpis pod maską

)()())()(())((])[(])[( mrmxrmxrxXmxrXxmrXmXr BBBσσσ ⋅===== ooooooo

Uwaga: Wykorzystaliśmy homomorfizm przekształcenia podpisu (np. deszyfrowanie RSA) W praktyce (bezpieczeństwo) rozważamy σ)]()[( mHrX o

Systemy anonimowe z certyfikacją Założenia Certyfikat zawiera i stałe protokołu (bez danych U). Jeśli Bank obliczy to C.A. podaje dane użytkownika (demaskuje oszusta!)

uX ux

)(mod},,,,.,.{ pXqpXACC uxuuu γγ ==

1. Moneta cyfrowa - Odkrycie strony monety to ujawnienie wartości m lub uIdm ⊕ odpowiednio H(m) H( ) uIdm ⊕ Płatność: Ujawnienie m lub uIdm ⊕ Sprzedawca sprawdza czy H( )=H Jeśli dwukrotnie U płaci tą samą monetę z szansą 1:2 odkryje różne strony monety i wtedy m ⊕ m ⊕ Id = Id 2. Podpis Banku (ślepy). Załóżmy, że wszystkie monety są tego samego nominału (uproszczenie!) Bank podpisuje na ślepo BuCRn },,{ 1

ilość monet klucz publiczny pierwszej transakcji Transakcje Podpis transakcyjny składa się z trójki )(mod:),,( qxhrzRzh kkkk += gdzie

88

Page 89: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

)',,( 1 nRIdHh ks +=n’ – ilość monet pozostałych do wydania zatem podpis pod kolejną transakcją zależy od wcześniejszej.

kr - losowo wybrany przez klienta klucz prywatny k-tej transakcji. Klient nie może bezkarnie powielić transakcji u, tego samego sprzedawcy. Jeśli i Bank obliczy '' hhtoss ≠≠

xhhhhx

hhzz

=−−

=−−

')'(

'' i w połączeniu z C.A. zdemaskuje oszusta

'kk rr =

89

Page 90: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 16

Mikropłatności.

System Bankowości Internetowej PLANET System MicroMint (mennica elektroniczna) Ekwiwalentem pieniądza jest k - kolizja to jest wektor )(...)(:),...,( 11 kk xhxhxx == . Zakładamy, że Sprzedawca zna Bank i parametry . ),( khSystem nie wykorzystuje certyfikatów cyfrowych. Porównanie kosztów Obliczenie h : szybsze niż generowanie RSA x2100 x szybsze niż weryfikacja podpisu RSA 210 Faza wstępna (Klient-Bank) Bank przydziela (sprzedaje) użytkownikowi l k- kolizji (na przykład do końca danego miesiąca). (Można zakładać, że ciągi różnią się istotnie !). Są przechowywane w bazie danych Banku.

),...,( 1 Kxx

Płatność: = jednostka płatnicza K. S sprawdza, czy ),...,( 1 kxx )(....)( 1 kxhxh == . raport S na koniec dnia (S przekazuje ciągi do B). Bank sprawdza, że kolizje nie powtarzają się (powtórzenie stanowi tą samą monetę!) i powiększa saldo na rachunku Sprzedawcy Generacja (kolizji) Bank wcześniej przygotowuje kolizję (proces opłacalny w kosztach obliczeniowych). Na dany

miesiąc akceptuje szczególne typy np. . )1.....01(........,876bitówe

ix =To utrudnienie generowanie ciągów kolizji ewentualnym oszustom. Koszt generowania kolizji odpowiedniego nominału czyni oszustwo nieopłacalnym. Bezpieczeństwo

)( ixh - ciągi n – bitowe Paradoks urodzinowy: 222 nn = przeszukiwań znajduje 2 – kolizję z dużym prawdopodobieństwem. Podejście probabilistyczne Mamy k – kostek - ściennych n2Kolizje: na każdej kostce wypada taka sama liczba „oczek”

90

Page 91: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

k = 2 Średni czas oczekiwania na tę samą liczbą oczek to 22n .

Ogólnie kkn 1

2−

System Payword h - funkcja haszująca Rejestracja: gdzie

m σ (m)

)}(),(,{ 001 xhxhCm nn

U−=

0x - losowo wybrany przez U [ ]nn hh ,1− - pierwsza płatność płatność rejestracji. KOLEJNE PŁATNOŚCI Klient płaci i – jednostkami podając wartość . Sprzedawca sprawdza czy 1−−inh 11 −−− = nini hhhAkceptacja płatności dopóki . ni ≤∑ Payword – wielokrotne zakupy u jednego sprzedawcy Koszt: n iteracji funkcji h Bezpieczeństwo: . itdhhh nnn ...21 −− →/→/ WARIACJA Sprzedawca losowo raportuje do Banku żądając potwierdzenia salda

Ten wariant pośredni (on / off) jest tańszy niż klasyczny „on”.

91

Page 92: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

System PLANET bankowości internetowej KLIENT

• Klient wchodzi na stronę internetową oddziału banku • Za pomocą appletu wypełnia wniosek (następuje generacja pary kluczy prywatny /

publiczny) • Klucz prywatny i publiczny zapisywany jest na dyskietce klienta. • wypełniony wniosek wraz z kluczem publicznym przesyłany jest za pośrednictwem

internetu do banku (dane klienta są przesyłane w postaci zaszyfrowanej). • Poprawny przekaz implikuje wyświetlanie potwierdzeń dostarczenia wniosku zawierając

„odciski palca” klucza publicznego użytkownika (np. ciąg 32 bitowy w systemie PLANET).

• Klient zapisuje „odcisk palca” lub drukuje potwierdzenie dla późniejszej weryfikacji poprawności certyfikatu wydawanego przez oddział banku.

ADMINISTRATOR systemu w centrali banku po otrzymaniu wniosku i weryfikacji jego poprawności wykonuje:

• Pobiera odpowiadający wnioskowi plik żądania wytworzenia certyfikatu i generuje certyfikat dla naszego użytkownika.

• Utworzony certyfikat dołącza do właściwego wniosku w module administracji wnioskami. • Akceptując wniosek zostaje automatycznie wysłany do obsługi infolinii.

ADMINISTRATOR systemu w zespole obsługi infolinii po otrzymaniu wniosku z certyfikatem:

• Wprowadza nowego użytkownika do systemu. • Nadaje użytkownikowi identyfikator. • Akceptując wniosek automatycznie jest przekazywany do odpowiedniego oddziału.

PRACOWNIK oddziału kontaktuje się z klientem i ustala: • Datę podpisania wniosku i odbioru certyfikatu • Przygotowuje dyskietkę z zapisanym certyfikatem i instrukcją

KLIENT przed podpisaniem wniosku w oddziale: • Porównuje „odcisk palca” klucza publicznego obliczony przez klienta z odciskiem palca

klucza publicznego zawartego w certyfikacie. • Otrzymuje swój identyfikator.

SYSTEM BANKOWOŚCI INTERNETOWEJ

• Staje się dostępny po kilku godzinach, po wprowadzeniu go do systemu w aplikacji administratora.

• Po zakończeniu obsługi klienta przez pracownika oddziału wniosek jest przekazywany do ZOI.

• Jeśli nie ma konieczności wprowadzenia zmian w konfiguracji konta użytkownika ZOI przekazuje wniosek automatycznie do archiwum.

92

Page 93: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

PORÓWNANIE

Klucz prywatny zabezpieczony hasłem klient wykorzystuje do tworzenia PODPISU ELEKTRONICZNEGO pod wszelkimi dyspozycjami składanymi w ramach SYSTEMU B.I.

STRONA INTERNETOWA BANKU

KLIENT

WNIOSEK

KLUCZ PUBLICZNY

WYTWARZA CERTYFIKAT

ZESPÓŁ OBSŁUGIINFOLINII ZOI

WNIOSEK

CERTYFIKATIDENTYFIKATOR

ODDZIAŁ BANKU

IDENTYFIKATOR

ZESPÓŁ BANKOWOŚCIELEKTRONICZNEJ

[Centrala banku]

WNIOSEK

APPLET

KLUCZ PRYWATNY

Odcisków palca, klucza publicznego klienta i wartość klucza zawartego w certyfikacie klienta

PRZYDZIELENIE Dyskietki z certyfikatem.

PODPISANIE Wniosku

93

Page 94: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 17

Bezpieczeństwo Systemu RSA i faktoryzacja LENSTRY (P , ς , K , Ek , Dk ) -system kryptograficzny (k ∈ K) System RSA P=ς=Zn , K=Zφ(n) = {k ∈ n : k n} ⊥ Ek(x)=Kk(mod n) , Dk(y) = y k (mod n ) , gdzie k k =1 (mod φ(n) ) I. Atak na szyfrogram : Dane : y= Ek(x) .Znaleźć x (wiadomość jawną) takie ,że D k (y) = x II. Atak na wykładnik szyfrujący : Dsane : Ek(x)=y Znaleźć x tzn. Dk (y) : Dk (Ek(x))=x. Wartości Dk(y) szukamy w postaci y yk (mod n), gdzie yk wykładnik deszyfrujący dla kryptogramu „y”. III. Atak na klucz deszyfrujący : Dane (k,n).Znaleźć k (mod n) takie że dla każdego x kk =ς(mod n). Pokażemy ,że algorytm realizujący atak II. Implikuje algorytm probabilistyczny faktoryzujący liczbę n .

Twierdzenie: Niech (P , ς , K , Ek , Dk ) - kryptograf RSA oraz „A” będzie algorytmem takim, że dla danej wejściowej y znajduje takie yk ,że y yk = x (mod n). Wtedy algorytm A implikuje algorytm probabilistyczny faktoryzujący liczbę n w czasie wielomianowym.

Szkic dowodu :

I. Mamy dla y = xk (mod n) , (xk) yk = x (mod n ),skąd *AZx ∈

∀ xm =1,

gdzie m = m(k,x) = k yk = 1. Zauważmy ,że ponieważ liczba x= n-1 otrzymamy, że m musi być parzysta .

Niech mm↵

2 .

II. Dla l-losowych świadectw x1 , x2 , … , xl sprawdzamy ,czy zachodzi równość x m

i = 1 (mod n).

Pozytywna odp. Gwarantuje ,że z prawdopodobieństwem błędu ≤21 l mamy

94

Page 95: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

(*) x *nZx ∈

∀ m = 1(mod n).

Wynika to z twierdzenia LAGRANGE’A dla Z *n ,gdyż dla równań (*) jest

podgrupą Z * .Jeśli tak będzie to kładziemy n mm↵

2.

III. Rozważmy ten krok algorytmu , w którym dla co najmniej 1 z wiadomości

x = xi mamy ,że xm 1(mod n) gdzie n =pq . ≠ Przypadek 1: Jeśli p-1|m lub p-1|m ale NWD (p-1,q-1) nie jest podzielny przez m to w 50% przypadków mamy ,że xm = -1 (mod q) .i wtedy 1<NWD (x-1,m) <m.

Przypadek 2: Jeśli p-1 nie jest podzielne przez n i q-1 nie jest podzielne przez m to xm=1(mod p) i xm = 1(mod q) w 25% przypadków, xm= -1(mod p) i xm = -1(mod q) w 25% przypadków, oraz xm=1(mod p) i xm = -1(mod q) lub odwrotnie w pozostałych 50 % przypadków. Reasumując w co najmniej 25 % przypadków mamy faktoryzację

1<NWD (xm-1,n) <n.

Wniosek: System RSA jest bezpieczny (ze względu na atak II.) o ile nie znajdziemy „dobrych” algorytmów faktoryzujących m .

Uwaga: W roku 1987 . H.W.Lenstra podał nieoczekiwanie algorytm faktoryzacji działający w czasie podwykładniczym oparty na metodzie krzywych eliptycznych . Przyjrzyjmy się idei metody Lenstry. Metoda Lenstry Rozważmy (E(Q),+) : y2 = x3 + ax + b a,b∈ Z , ∆ =4e3 + 27b2 ≠ 0

P= ⎟⎠⎞

⎜⎝⎛

nt

sr , ⊥ n sn ⊥ n. ⇔

Definicja:

E(Q,n) = {P∈ E(Q) : P n}. ⊥

Definicja: E(Zn) = {(x (mod n), y (mod n)) : y2 = x3 +ax+b} Niech redn: E(Q,n) E(Z→ n) zdefiniowane jak następuje :

Jeśli P= ⎟⎠⎞

⎜⎝⎛

nt

sr , to redn P=(r s mod n , t n modn n)

Niech p będzie dowolnym dzielnikiem pierwszym liczby n(p|n) wtedy redukując redpP : =(r s mod p , t n modn p). Mamy zatem diagram (*):

95

Page 96: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

),()(),(ln

43421321ukowanakrzywazred

ppn

aakrzywaglob

FEZEQE +→→+

Twierdzenie:

Mamy równoważność P+R ∉ E(Q,n) ⇔ ∃ p|n ( P̂ )p +p ( R̂ )p = ( - punkt w nieskończoności) Θ Θ (*) Niech P̂ będzie obrazem punktu P∈ E(α,ω) przy przekształceniu redukcji redp

tzn. ( P̂ )p = redpP.

Dowód: Załóżmy ,że P + R ∈ E(Q,n) i rozważmy p|nx P+R) lub (P+R) ma w mianowniku liczbę pierwszą p. Ponieważ redp jest homomorficzna więc gdyby ( P̂ )p + ( R̂ )=(V,ω) był punktem

właściwym to P+R =(Vkk′ , ω

ll′).

k = (mod p ) k ′ll ′= (mod p ) gdzie V k k ′⊥

ω ll ′⊥ Wtedy = 0 (mod p ),a więc (P+R) nie ma liczby pierwszej p w mianowniku, co przeczy założeniu i dowodzi implikacji.

k k ′ ≠

Niech P|n ( P̂ )p +p ( R̂ )p = Q załóżmy wprost ,że P+R ∈E(Q,n)

Wtedy P+R = ⎟⎠⎞

⎜⎝⎛

nt

sr , , sn ⊥ n .Zatem redp(P+R) = =(r s mod p , t n modn q)

jest p-tem właściwym krzywej zredukowanej E(Fp) Ponieważ redp jest homomorfizmem zatem redpE(α,+) → Redze(Fp,+p) więc (P+R) = redpP +p redp R = ( P̂ )p +p ( R̂ )p Co dowodzi ,że ( P̂ )p +p ( R̂ )p jest punktem właściwym krzywej zredukowanej E(Fp).Otrzymana sprzeczność kończy dowód twierdzenia.

Przykład: E:y2 + y = x3 – x , P=(0,0), @p =(1,0) jeśli kP=(x,y) to (k+1)P = = ((y/x)2 – x,(y/x)3 + y -1).

Niech kp= ⎟⎟⎠

⎞⎜⎜⎝

+

+

+

+

1

1

1

1 ,k

k

k

k

nt

sr

gdzie 1

1

+

+

k

k

sr

= 2

||

⎟⎟⎠

⎞⎜⎜⎝

kk

kk

srnt

- k

k

sr

= kkk

kkkk

srnnrst

22

332 −

(bez uwzględniania skróceń w liczniku i mianowniku) Podobnie dostajemy:

33

3322333

1

1 1||

kk

kkkkkkk

k

k

kk

kk

k

k

nrnrrntst

nt

srnt

st −+−

=−+⎟⎟⎠

⎞⎜⎜⎝

⎛−=

+

+

Załóżmy ,żę przy obliczaniu (k+1)P otrzymaliśmy po raz pierwszy punkt (k+1)P∉E(Q,p) to oznacza ,(1.)że p+Sknk ale p|nkrksk lub p|rknk tzn. że k jest minimalne.

96

Page 97: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

(2.)p|rk tzn. p dzieli licznik współrzędnej punktu kP.

Wniosek: Jeśli k jest minimalne takie ,że (k+1)P∉E(Q,p) to p musi dzielić licznik współrzędnej x(kP).

Postępowanie: Dane n. Szukamy dzielnika pierwszego p|n Niech E(Q) :y2 +y=x3 – x , ∆ ≠ 0 Załóżmy ,że n. Obliczamy wielokrotność punktu kP , P=(0,0) k=1,2,3,… ∆ ⊥Mamy P=(0,0) , 2P=(1,0),3P=(-1,-1), 4P=(2,-3),%P=(-17/4,-59/8) y(7P)=8/27,y(8P) =69/125 , y(9P) =435/343. Niech n=91 .Wyznaczyć punkty kP . Redukując modulo n otrzymamy y(7P)=8 72 mod 91 y(8P) = 69 521 (mod 91) y(9P)=435 343 (-20)(- 12 ) i obliczamy 12 korzystając z algorytmu Euklidesa. Mamy :

91=4 * 21 +7 21=3*7 Zatem NWD (91,21)=7 i 7 jest dzielnikiem pierwszym liczby n=91

Uwaga: W praktyce nie obliczamy kolejnych wielokrotności punktu p, wybierane są takie k, które są liczbami gładkimi k = ∏ qB, q∈ B –bazy rozkładu Jeśli baza jest „dostatecznie duża” to dużo punktów na krzywej E(Fp) jest postaci kP(mod p). Dla tak określonych k obliczamy kP metodą wielokrotnego podwajania k= a020 + a121 + …+ae2e to kP=∑ a i ..2iP ,gdzie 2iP =

4434421razy i

(2P)))2(2(… .

Znalezienie punktu (k+1)P takiego ,że (K+1)P∉E(Q,n) jest bardzo prawdopodobne a to oznacza, żę rząd P(mod p) jest dzielnikiem liczby k+1. Na mocy tw.Hassego

rząd P(mod p) |#E(Fp) = p+1+Q( p ) (*).

Przykład: Załóżmy ,że otrzymaliśmy równość 2P +2nP = Q. Zatem 18P=Q czyli rząd P|18, więc rząd P∈{1,9,18} (*) Zatem mianownik którejś z liczb x((k+1)P) lub y((k+1)P) nie jest prostopadły do n. Obliczając odpowiednie wartości NWD otrzymujemy dzielnik n większy od 1. Jeśli jest on równy n to oznacza ,że ∀ p|n redp(k+1)P jest punktem w nieskończoności i wtedy rząd ( )p|k+1.Jeśli nie „n” ma co najmniej 2 dzielniki pierwsze p i q to P̂

obliczając wielokrotności k1P dla k1|k+! jest bardzo prawdopodobne ,że np. rząd( )p P̂<rząd( )q. P̂Zatem kładąc k1= rząd ( )p otrzymujemy ,że przy obliczaniu redP̂ p(kP) w mianowniku pojawi się liczba pierwsza p ,ale nie pojawi się liczba pierwsza q i wtedy algorytm Euklidesa da nam na wyjściu nietrywialny dzielnik p liczby n

97

Page 98: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Wykład 18

Wybrane aspekty handlu elektronicznego

Skoncentrujemy się na dwóch aspektach transakcji elektronicznych:

1) Aspekt poufności transmisji 2) Aspekt sprawiedliwej wymiany

Poufność transmisji zapewnić możemy stosując tzw. klucze sesyjne. Z tym wiąże się tzw. problem gońca (czy można ustalić klucz sesyjny bez uprzedniej wymiany informacji ustalenia tajemnicy). Rozwiązaniem jest protokół Diffie-Hellmana. Drugi aspekt wiąże się z przyjęciem kontraktu elektronicznego (transferu dokumentacji ustalających wzajemne zobowiązania obu stron kontraktu). Rozszerzone protokoły uzgadniania klucza Protokół Diffie-Hellmana jest wrażliwy na ataki typu:

1) Man in The Middle 2) Denial of Service

Pierwszy z nich polega na tym, że przeciwnik może się podszywać pod obie komunikujące się strony z każdą z nich tworząc odpowiedni klucz wymiany. Standardowym rozwiązaniem tego problemu jest wprowadzenie systemu certyfikacji. Drugi atak polega na przeciążeniu zasobów jednej ze stron (powiedzmy serwera) oraz kanałów transmisji między nimi, uniemożliwiając przepływ informacji i w konsekwencji wyznaczenie klucza sesyjnego. Rozszerzone protokoły uzgadniania klucza odporne na ataki blokady usług Wynikiem ataku „blokada usługi” (Denial of Service) jest przeciążenie i spowolnienie pracy atakowanego serwera, co w efekcie prowadzi do zawieszenia danej usługi sieciowej lub całego serwera. W celu przywrócenia działania systemu konieczna staje się wówczas interwencja administratora. Zlokalizowanie sprawcy ataku sprowadza się do określenia IP komputera, z którego wysyłane są pakiety (co nie jest trudne nawet gdy stosuje on technikę fałszowania adresów – IP spoofing).

98

Page 99: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Rozszerzony protokół typu Diffie-Hellmana 1. , q p - liczby pierwsze; ; - element rzędu w | 1q p − g q qZ ∗ 2. Oznaczenia:

Duże litery , S R , oznaczać będą potęgi KsS g= , rR g= , (kK g= )mod p odpowiednio.

h - ustalona funkcja haszująca. A lub B wskazuje na stronę posiadającą dany klucz. - ustalony klucz „tajny”; , k - klucze losowe. s r Cel 1: kolejne kroki protokołu mają zapewnić integralność danych. Cel 2: połączenie bezstanowe – po odpowiedzi serwera na pierwsze zapytanie inicjatora (A) wszystkie dane dotyczące inicjatora są usuwane (zapobiega to atakowi na przeciążenie zasobów serwera). Idea protokołu (schemat):

A B

A A AA

A A A

, ,A A Id

, ,s k r

S K R⎛ ⎞

= ⎜ ⎟⎝ ⎠

B B BB

B B B

, ,B B Id

, ,s k r

S K R⎛ ⎞

= ⎜ ⎟⎝ ⎠

Krok 1: Wezwanie A : ( )A AId , BK ⇒ Krok 2: Odpowiedź B

1) Stworzenie certyfikatu (wystawiany przez B) poświadczającego nierozłączny związek z i AK BK BR . ( )B B B BCert Cert , ,K R K= A . Jest to tak zwany mały klucz

weryfikujący. 2) Wyznaczenie liczby kontrolnej : ( ) (B B B B B B B B B B B, , , Cert , , , Cert )k r s w s k r= =

rtId , C t , , w

w w zależnej od tajnych kluczy k , , z certyfikatem Ce . r s B

3) Związek certyfikatu i liczby kontrolnej . Weryfikacja zgodności certyfikatu i liczby kontrolnej.

B B BKer B

4) B przekuje swoje klucze k , B BR w postaci zaszyfrowanej do A natomiast dane w postaci jawnej. Następnie usuwa wszystkie informacje dotyczące

A ze swojej pamięci. B B BId , Cert , ,K wB

Krok 3: Wezwanie A

1) Inicjator (A) przeprowadza weryfikację ( )A B Bver ver Cert , ,K w= B potwierdzającą czy zachodzi związek z kroku 2.

2) Inicjator tworzy rozszerzony certyfikat, dołączając obliczenie potwierdzające weryfikację . ( )A,B A A A B ACert Cert , , , verK R K=

99

Page 100: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

3) Przekazuje tekstem jawnym do B następujące dane: i oblicza klucz wymiany . A A A,B A A B BId , , Cert , , ver , , , CertK w K C B ( )A-

A B modkU K p= Krok 4: Odpowiedź B (finalna)

1) B deszyfruje (kryptogram , BC BK BR ) i sprawdza czy otrzymał i BK BR . 2) Sprawdza czy obliczenie potwierdzające (z kroku 3) jest zgodne z . Aver BCert

3) B przeprowadza weryfikację ( )A,B A,B A A B B Bver ver Cert , , , Cert , ,w K w K= potwierdzając, że odpowiednie obliczenie jest zgodne z certyfikatem rozszerzonym A, B i oblicza klucz wymiany ( )B-

B A modkU K p= . Ten protokół pochodzi z roku 2001, autorami są Hiros -Matsuura. W powyższym schemacie mały klucz weryfikujący jest zdefiniowany następująco: ( ) ( )B B B B A B B ACert Cert , , h , ,R K K R K K= = oraz liczba kontrolna zdefiniowana następująco: ( )2Cert Cert modw r k s p= + ⋅ + ⋅ Weryfikacja polega na sprawdzeniu czy

tj. czy .

(Bver ver Cert, ,K w= )Cert , ,wg K S K K− −= ⋅ ⋅ ( )2Cert Cert modwg R K S p− −= ⋅ ⋅

)

( )2Cert CertB B A

W odpowiedzi A (krok 3) używany jest mały klucz weryfikacyjny

( ) (A,B A A B B A A B BCert h , , , ver h , , ,R K K R K K R= = %% % . Weryfikacja polega na sprawdzeniu czy A,Bver

. ( )2Cert CertA,B A B BCert h , , ,wg K S K K R− −= ⋅ ⋅%%

100

Page 101: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Kontrakty elektroniczne Kontrakt klasyczny (schemat): CA, CB

T

A

( ) ( )D , C D , D , σ D⎡ ⎤

DA uzgodnione dokumenty

Opis:

A i B - strona kontraktu DA, DB - odp. Dokumenty T - zaufana trzecia strona (trustee)

Aσ , - podpisy Bσ Kontrakt elektroniczny Bez zmniejszania ogólności będziemy zakładać, że D=DAdokumentem.

( )Aσ D , to podpisy cyfrowe stron A i B „złożone na d( )Bσ D

( )AA D, σ D→ ⎡ ⎤⎣ ⎦ ( )BB D, σ D→ ⎡ ⎤⎣ ⎦ Rola T (ogólnie)

- sprawdzanie poprawności DA i DB (standard, form= DB.

- Weryfikacja , (ważność lub nieważność podAσ Bσ

- Przekazanie ( ) ( ) ( )A B T A BD, σ D , σ D , σ D,σ ,σ⎡ ⎤⎣ ⎦ za

Wynik: A i B mają gwarancję, że kontrakt jest uprawomocniony przez

Wada: T zna treść D i uczestniczy aktywnie w realizacji kontraktu. Wariant minimalistyczny (bez udziału T):

A AσD

B Bσ

B

A A A B B B⎣ ⎦

DB

=DB jest wspólnym uzgodnionym

okumencie D”.

at) ewentualnie sprawdzenie czy DA

pisów).

interesowanym stronom.

T (podpis ). Tσ

101

Page 102: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Ograniczenie: Nie można zapewnić sobie jednoczesności w otrzymaniu podpisów ( )Aσ D i . Strona X, która pierwsza osiąga podpis cyfrowy kontrahenta ma nad nim przewagę, gdyż:

( )Bσ D

anuluje kontrakt (niszczy ' )

X ma wybór udawania ważność kontraktu (przedstawia ' )

anulować kontraktu (zobowiązanie w postaci podpisu ' )

X’ nie może udowodnić jego ważność (brak ' )

X, X‘ { }A, B∈ „Rozmycie” przewagi: Przewaga może być zmniejszona, jeśli protokół rozbijemy na n-rund.

A ... Aσ' 2Aσ

nAσ

D B ... Bσ' 2

AσnBσ

( , ..., ) – pełen podpis Aσ' , 2Aσ

nAσ

Problem 1:

W ostatnim kroku A osiąga „przewagę” nad B.

Problem 2: Częściowy podpis (σ , ..., ) może wystarczyć którejś ze stron do wyznaczenia brakującej części pełnego podpisu.

' kσ

Protokoły niedeterministyczne Algorytmy probabilistyczny daje „równe” szanse obu uczestnikom kontraktu. Zasada równych szans: Kontrakt K obowiązuje X ⇔ zobowiązuje X’ tzn. X może udowodnić, że X’ podpisał kontrakt ⇔ X’ może udowodnić, że X podpisał kontrakt.

102

Page 103: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

Protokół stopniowego uwierzytelniania (z arbitrem): W odróżnieniu od stopniowego składania podpisu ( )1σ= σ , , σK n żadna ze stron nie może wykorzystać tu swej przewagi obliczeniowej. Zadaniem arbitra T jest stopniowe uprawomocnianie kontraktu (z prawdopodobieństwem rosnącym do 1 w n-tej rundzie kontraktu). Przerwanie kontraktu w jakiejkolwiek wcześniejszej rundzie daje przewagę którejś ze stron z

prawdopodobieństwem 1n

≤ .

Zalety:

1. kolejne części podpisu równoważą szanse stron. 2. łączą zasadę równych szans i stopniowego uprawomocnienia kontraktu.

Równoważenie szans ( )kAσ ( )k+1

( )kBσ ( )k+1

Bσ Zagrożenie:

Większa moc obliczeniowa jednej ze stron.

Rozwiązanie: T o dużej mocy obliczeniowej z ograniczoną aktywnością (ingeruje w przypadku zerwania „kontraktu” przez „nieuczciwą” stronę, która wcześniej uzyskuje pełen podpis drugiej).

Przykład: Niech podpis będzie n-bitowy oraz oznacza i-ty bit podpisu. Znajomość k-bitów podpisu może wystarczyć do obliczenia n – k bitów (problem mocy obliczeniowej B).

Aσ Aσi

Możliwe uniknięcie Problemu 2 to powrót do koncepcji trustee (a ograniczoną aktynością) – np. protokoły stopniowego uwierzytelniania kontraktu. Problem 1 można rozwiązać stosując koncepcje niedeterministyczne.

kAσ orzeł k+1

Aσrzut monetą

kBσ reszka k+1

BσPostać protokołu

A Aσ

1D,n

⎡ ⎤⎢ ⎥⎣ ⎦

, Aσ

2D,n

⎡ ⎤⎢ ⎥⎣ ⎦

, ..., Aσ

nD,n

⎡ ⎤⎢ ⎥⎣ ⎦

B Bσ

1D,n

⎡ ⎤⎢ ⎥⎣ ⎦

, Bσ

2D,n

⎡ ⎤⎢ ⎥⎣ ⎦

, ..., Bσ

nD,n

⎡ ⎤⎢ ⎥⎣ ⎦

Gdzie: D - treść dokumentu

kn

- oznacza, że kontrakt jest zawarty (prawomocny) z prawdopodobieństwem kn

103

Page 104: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

A zrywa kontrakt w punkcie kD,n

⎡⎢⎣ ⎦

⎤⎥ (co oznacza, że B jest w punkcie k-1D,

n⎡ ⎤⎢ ⎥⎣ ⎦

.

Wtedy T losuje liczbę [ ]i 1, n∈ i jeśli i zobowiązuje A, ik≤ k-1≤ zobowiązuje B. A ma przewagę nad B tylko w przypadku, gdy tj. k-1 i k≤ ≤ i=k-1

co może zaistnieć z prawdopodobieństwem 1n

= .

Stopniowe uprawomocnianie kontraktu:

A →Aσ

kD,n

⎡ ⎤⎢ ⎥⎣ ⎦

B →Bσ

kD,n

⎡ ⎤⎢ ⎥⎣ ⎦

xT

kD,n

⎡ ⎤⎢ ⎥⎣ ⎦

zobowiązuje stronę X do kontraktu D z prawdopodobieństwem kn

, [ ]k 1, n∈

Realizacja:

T losuje [ ]i 1, n∈ . Jeśli i k≤ to X

x

σσ

kD, Dn

⎡ ⎤ =⎢ ⎥⎣ ⎦

kD,n

⎡ ⎤⎢ ⎥⎣ ⎦

i=1 i=2 M

i=k Protokół z arbitrem T T – mało aktywny

- nie uczestniczy w zrealizowanych kontraktach. - uczestniczy w anulowanych kontraktach, ale nie musi znać ich treści.

Schemat:

T A

( ) ( )( )A BK, σ D , σ D

D Dodatkowo kontrakt ( )K K D, Nr, U=zawiera: Nr – numer kontraktu, U – datę uprawomocnienia

B

(treść dokumentu)

.

104

Page 105: dervish.wsisiz.edu.pldervish.wsisiz.edu.pl/~szmaus/Semestr6/KB/KB2005-20.06.pdfSpis treści SPIS TREŚCI 1 WYKŁAD 1 5 ZŁOŻONOŚĆ OBLICZEŃ 5 ELEMENTY TEORII ZŁOŻONOŚCI OBLICZENIOWEJ

( )AA D, σ D⎡ ⎤⎣ ⎦ ≥ Uprawomocnienie ( t U ) Uprawomocnienie ( t U ) ≥

( )A B BT D, σ , σ , K, σ K⎡ ⎤⎣ ⎦

( )BB D, σ D⎡ ⎤⎦ Anulowanie ⎣ Zgłoszenie anulowania może być przeprowadzone przez którąkolwiek ze stron przed upływem daty uprawomocnienia się kontraktu t = U.

Przykład protokołu (optymistycznego) Protokół chroniący każdą ze stron przed ewentualną nieuczciwością drugiej. Jeśli jedna ze stron potrafi obliczyć podpis drugiej po przerwaniu protokołu to druga także (za pomocą T) pierwszej. Fazy:

1. A ( )*

Bσ D

B ( )*Aσ D

2. A – przerywa protokół

A ( )Bσ D

A ( )Aσ D T

105