ALG)7

ALG)7



13.1. Kodowanie danych i arytmetyka dużych liczb 297

liczby pierwsze 5, NI i N2 (typowo 100 cyfrowe) i udostępnia publicznie tylko ich iloczyn5 N =NIkN2 oraz pewną liczbę P, spełniającą warunek:

PxS mod (NI-I) x(N2-l)=I.

Zostało udowodnione, że dla każdego ciągu kodowego M (tekst zostaje zamieniony na odpowiadający mu ciąg liczbowy o pewnej skończonej długości) spełniona jest równość: MIS mod N = M.

Kodowanie sprowadzi się zatem do obliczenia rówmości:

{ciąg kodowy}=£or/rr/(!Vl)= M1' mod N,

natomiast dekodowanie jest równoważne obliczeniu:

M=clekoduj({ciąg kodowy})= {ciąg kodowy}s mod N.

Pomimo pozornej trudności wykonania operacji na bardzo dużych liczbach, okazuje się, że własności funkcji modulo powodują, iż zarówno ciąg kodowy, jak i jego zaszyfrowana postać należą do tego samego zakresu liczb. Złamanie systemu RSA byłoby możliwe, jeśli umielibyśmy na podstawie znanych wartości N i P odtworzyć utajnione .9, potrzebne do rozkodowania wiadomości! Nie znaleziono do tej pory algorytmu, który potrafiłby wykonać to zadanie w rozsądnym czasie.

Wszelkie algorytmy kryptograficzne napotykają na problem wykonywania obliczeń na bardzo dużych liczbach całkowitych. Okazuje się, że obliczenia te mogą zostać znacznie uproszczone, pod warunkiem traktowania tych liczb jako współczynników wielomianów. Weźmy dla przykładu liczbę:

12 9876 0002 6000 0000 0054

W systemie o podstawie a-10 powyższa liczba może zostać przedstawiona jako:

a:21 +2x10 +(9xiv + 8a:18 + 7x17 +6xi6) + (2xi2) + (6jcii) + (5xi +4).

Jeśli x— 10 wydaje nam się za małe, to identyczną liczbę otrzymamy podstawiając, np. a-10000:

(1 2xa ) + (9876jc3 ) + (2.x3) + (6x) + 54.

5 Ponieważ nie są aktualnie znane szybkie metody rozkładu na czynniki pierwsze, dokonanie takiego rozkładu przez osobę postronnąjest wysoce nieprawdopodobne.


Wyszukiwarka

Podobne podstrony:
ALG)5 13.1. Kodowanie danych i arytmetyka dużych liczb 295 dencji, jednak w praktyce najczęstsze zas
ALG)9 13.1. Kodowanie danych i arytmetyka dużych liczb 299 ( int w[n]-{1,4,-2,O,7(; // współczynniki
ALG01 13.1. Kodowanie danych i arytmetyka dużych liczb 301 whilo (x!-NULL,) I res=wstaw(res,x->c,
ALG)4 294 Rozdział 13. Kodowanie i kompresja danych jednak w przypadku zwykłych tekstów, zawierający
ALG)8 298 Rozdział 13. Kodowanie i kompresja danych W konsekwencji, jeśli będziemy interpretować duż
Problem A - Duże liczbyZadanie Napisz program podający wyniki operacji arytmetycznych dla dużych lic
ALG)6 296RozdziaH3. Kodowanie i kompresja danych nak jej praktyczna realizacja została opracowana pr
ALG00 300 Rozdział 13. Kodowanie i kompresja danych struct wsp *nastepny; }WSPÓŁCZYNNIKI, * WS
ALG02 302 Rozdział 13. Kodowanie i kompresja danych Podnoszenie do potęgi może być zrealizowane popr
ALG04 304 Rozdział 13. Kodowanie i kompresja danych 304 Rozdział 13. Kodowanie i kompresja danych Ry
ALG06 306Rozdział 13. Kodowanie i kompresja danych tekst zająłby 3x60=180 bitów. Popatrzmy teraz, ja
ALG08 308 Rozdział 13. Kodowanie i kompresja danych •    weź dwa znaki X i Y z najmni
Slajd12 (38) Różnice w reprezentacji danych Różna reprezentacja liczb całkowitych (np. uzupełnienie
page0926 91SŚredni — Średniki harmoniczną 5 Vl35 średnia arytmetyczna dwóch liczb jest zawsze większ
43284 Podstawy statystyki, ekonomiki i organizacji (13) PREZENTACJA DANYCH STATYSTYCZNYCH 1 PREZENTA
13 Co łączy umysł z teorią liczb? 8. PRZYKŁADY PODOBNYCH ZAGADNIEŃ W dotychczasowym tekście

więcej podobnych podstron