68327 Str067

68327 Str067



1.10    4. Kłuci* publiczne

podrozdział 4.1), otrzymując liczbę h z przedziału 0 < h < q. Następnie wybiera losową liczbę k z tego samego przedziału, oblicza gk modulo p i jako r bierze resztę z dzielenia wyniku przez q (a więc najpierw oblicza gk modulo />, a następnie wynik dzieli przez mniejszą liczbę pierwszą q i bierze resztę). Wreszcie Alicja znajduje liczbę całkowitą .v taką. że sk = h + xr (mod q). Jej podpisem jest wtedy para (r, s) liczb całkowitych wziętych modulo q.

Aby stwierdzić autentyczność podpisu, adresat (niech np. będzie nim Bolek) oblicza u{ =s~lh mod q i u2 = s~lr mod q. Następnie oblicza gUiyt(mod p). Jeśli wynik przystaje do r modulo q, uznaje autentyczność podpisu. (Zauważmy, że g"1/"3 =    = gk (mod p).)

Ten schemat podpisu ma tę zaletę, że podpisy są względnie krótkie, składają się z dwóch liczb 160-bitowych (mają taki rząd wielkości jak q). Jednakże bezpieczeństwo systemu wydaje się zależeć od trudności obliczeniowych związanych z problemem logarytmu dyskretnego w grupie multyplikatywnej dość dużego ciała Fp. Chociaż do złamania systemu wystarczyłoby znaleźć logarytmy dyskretne w mniejszej podgrupie generowanej przez g, jednak w praktyce nic wydaje się to być łatwiejsze niż znalezienie logarytmów dyskretnych w F*. Zatem wydaje się, że DSS osiągnął zupełnie wysoki poziom bezpieczeństwa, nie rezygnując z małej pamięci potrzebnej do przechowywania podpisu i szybkiego czasu działania.

Algorytmy znajdujące logarytm dyskretny w ciałach skończonych. Najpierw założymy, że wszystkie dzielniki pierwsze liczby ^ — 1 są małe. Przy tym założeniu istnieje szybki algorytm znajdujący logarytm dyskretny elementu yeFJ o podstawie b. Dla uproszczenia przyjmijmy, źe b jest generatorem grupy FJ. Teraz opiszemy ten algorytm, opracowany przez Silvera, Pohliga i Hcllmana.

Najpierw dla każdego dzielnika pierwszego p liczby q — 1 obliczamy pierwiastki stopnia p z jedności dane wzorem rp l    dla j = 0, 1, ...,

p — 1. (Jak zwykle korzystamy z algorytmu iterowanego podnoszenia do kwadratu, by podnieść b do dużej potęgi). Mając już tablicę {rp j}, możemy przystąpić do obliczania logarytmu dyskretnego dowolnego yeFJ. (Zauważmy, że jeśli podstawa b jest ustalona, to obliczenie wstępne musi być przeprowadzone tylko jeden raz, potem ta sama tablica będzie używana dla dowolnego y)

Naszym zadaniem jest znalezienie liczby *, 0 < * < q — 1, takiej, że b* — y. Jeśli q — 1 = f] pa jest rozkładem liczby q — 1 na czynniki pierwsze, to

p

wystarczy znaleźć x mod pa dla każdego dzielnika pierwszego p liczby q — 1; wtedy liczba x jest wyznaczona jednoznacznie przez algorytm z dowodu chińskiego twierdzenia o resztach (twierdzenie 1.3.3). Zatem ustalamy teraz dzielnik pierwszy p liczby q — 1 i pokażemy, jak obliczyć x mod pa.

Przypuśćmy, że x = x0 + xvp + ... + xa_ip*~i (mod p“), przy czym 0 < x{ < p. Aby znaleźć x0, obliczamy y(,_ 1)/p. Otrzymujemy pierwiastek stopnia p z jedności, gdyż y,_1 = 1. Ponieważ y ~ b*, więc    — £*(«-i)/p —

5- ffM~l),p =* rPi Xfl. Zatem porównujemy /* z \rf j}<,<j<p i jako x0 bierzemy tę wartośćdla której y~l)lf = rpy

Następnie, aby znaleźć zastępujemy y przez y, = y/ó*\ Wtedy loga-rytin dyskretny y,, równy x - x0, przystaje do xtp + ... + xf_1p*~1 modulo «*. Ponieważ yi jest p-tą potęgą, więc = a zatem    =

*    = ffk- uiP * znów porównujemy

y«"1)/pl z {r^j} i jako x, bierzemy tę wartośćJ, dla której y^"1^ = rpj.

Teraz już powinno być jasne, w jaki sposób indukcyjnie znajdujemy wszystkie współczynniki x0, *„    xa_,. Mianowicie dla każdego i- 1,2,...,

a -1 bierzemy

y, = y/ó*®‘fx,,+ ”'+**',p,*,f

którego logarytm dyskretny przystaje do x,pł +... + xa_ł/'1 modulo />“. ponieważ y, jest p-tą potęgą, więc yj*_1,/p‘ = 1 i    =

= ó(x,+*,+,p+'")(,1)/p = bx,lq~i)lp = rpX|. Znów jako x, bierzemy tę wartośćy, dla której yj*-1^’ = rpj.

Po zakończeniu tego postępowania znamy x mod p* i po powtórzeniu tego dla wszystkich p\q - 1 korzystamy z chińskiego twierdzenia o resztach, by znaleźć x.

Ten algorytm działa dobrze, gdy wszystkie dzielniki pierwsze liczby q- 1 są małe. Ale jasne jest, że wyznaczenie tablicy {rp j} i porównywanie yjł'1)/p,+l z elementami tej tablicy zabierze bardzo dużo czasu, gdy ę -1 jest podzielna przez dużą liczbę pierwszą. (Przez „dużą” rozumiemy liczbę mającą co najmniej 20 cyfr dziesiętnych. Jeśli liczba p\q - 1 jest mniejsza niż lO20, to można połączyć algorytm Silvera-Pohliga-Hellmana z metodą wielkich i małych kroków (ang. giant step - baby step) Shanksa; por. strony 9, 575-576 drugiego tomu książki Knutha.)

Przykład 4. Znajdźmy logarytm dyskretny z 28 o podstawie 2 w F|7 za pomocą algorytmu Silvera-Pohliga-Hellmana. (2 jest generatorem grupy F*7.)

Rozwiązanie. Mamy rozkład 37 - 1 = 22 • 32. Obliczamy 219 = -1 (mod 37), skąd otrzymujemy r2 0 = 1, r2 t = -1. (Dla p = 2 zawsze (r2 /} = {±1}). Następnie 236/3 = 26, 22*36/3 = 10 (mod 37), skąd {r3J} = {1,26,10}. Teraz niech 28 = 2* (mod 37). Najpierw bierzemy p- 2 i znajdujemy x mod 4, które zapisujemy jako x0 + 2xv Obliczamy 2836/2 = 1 (mod 37) i stąd otrzymujemy x„ = 0. Następnie obliczamy 2836/4 s -1 (mod 37) i stąd xl = 1, czyli x = 2 (mod 4). Teraz bierzemy p = 3 i znajdujemy x mod 9, które zapisujemy jako x0 + 3xr (Oczywiście dla każdego p współczynniki x, są zdefiniowane inaczej). Aby znaleźć x0 obliczamy 2836/3 s 26 (mod 37), skąd otrzymujemy x0 = 1. Następnie obliczamy (28/2)36/9 = 144 s 10 (mod 37); zatem xt = 2, czyli x = 1 + 2 • 3 = 7 (mod 9). Pozostaje znaleźć jedyne x mod 36 takie, że x = 2 (mod 4) i x s 7 (mod 9). Jest nim x = 34. Zatem 28 = 234 w F}7.


Wyszukiwarka

Podobne podstrony:
Do równania ClapeyronapV = nRTpodstawiamy/? = 10 Pa, V= 0,25 -10 nr i T= 293 K. Otrzymujemy liczbę
ZGŁĘBIAM SEKRETY LICZENIA KL 1 2 (10) 1. Napisz nad każdą liczbą liczbę o 4 mniejszą, a pod&nbs
0000098 (2) V = F-Ax A +(FJrd) • A.y 10.4 Z pomiarów Hilla wartości A i a otrzymuje się wydajność do
skanuj0064 (10) B. Cieślar Podstawiając (5), (4), i (3) do (2) otrzymujemy równanie: (-MA)2a (-MA+MQ
img235 Przykład 10. W przypadku schorzenia tarczycowego otrzymujemy *1/2 = 5.17 ,    
46599 Str065 126    4. Kłuci* publicmc mniej przy obecnym stanic technologii i wiedzy
skanowanie0063 2 11 138 Elektromagnetyzm (Er-E,*e f) eV ZŁ kT e kT (34.10)31 W analogiczny sposób ot
Matematyka  Kocha - nie kocha... Uzupełnij działania tak, aby za każdym otrzymać liczbę 8.
10.    Finanse publiczne. 10.1.    Charakterystyka systemu finansów
2012 10 05;09;582 otrzymuje się szczególną postać równania (4.4) dla zgorzelin typu NiO, która prow
czytanie0027 liczbę przeczytanych słów, a wynik podzielić przez liczbę minut, aby otrzymać liczbę sł
Str065 126    4. Kłuci* publicmc mniej przy obecnym stanic technologii i wiedzy teore
10)    samodzielne publiczne zakłady opieki zdrowotnej; 11)    uczelni

więcej podobnych podstron