Dr inż. Robert Wójcik



Pobieranie 2.08 Mb.
Strona12/13
Data28.10.2017
Rozmiar2.08 Mb.
1   ...   5   6   7   8   9   10   11   12   13

Algorytm RSA
Algorytm Rivesta, Shamira i Adelmana, zwany algorytmem RSA, pojawił się wkrótce po opublikowaniu algorytmu Merklego–Hellmana.
Algorytm ten nadaje się do szyfrowania danych i podpisów cyfrowych. Jest on algorytmem wykładniczym z kluczem publicznym. Bezpieczeństwo szyfru RSA opiera się na trudności faktoryzacji dużych liczb. Schemat blokowy algorytmu pokazano na rysunku.

Klucze tajny i jawny szyfru RSA są funkcjami pary dużych liczb pierwszych.
W celu wygenerowania kluczy odbiorca kryptogramu losuje dwie liczby pierwsze p i q oraz liczbę e. Iloczyn n = p q oraz e stanowią publiczny klucz szyfrujący.
Liczba e musi być względnie pierwsza z funkcją Eulera
ϕ(n) = ϕ(pq) = ϕ(p) ϕ(q) = (p-1)(q-1).
Spełnione są więc zależności:

Kluczem tajnym, służącym do deszyfracji kryptogramu, jest liczba d.
Liczba d spełnia zależność:

Po obliczeniu kluczy liczby p i q należy wymazać z systemu, aby nie zostały ujawnione.
Aby przeprowadzić szyfrowanie, bloki tekstu jawnego przedstawia się w postaci liczb z zakresu od 0 do n −1.
Elementy kryptogramu ci odpowiadające wiadomości mi oblicza się z zależności:

Mając kryptogram ci, możemy obliczyć wiadomość mi z równania:

Wiadomość można również zaszyfrować za pomocą liczby d, a rozszyfrować za pomocą liczby e. Jest to wtedy rodzaj podpisu cyfrowego tajnym kluczem podmiotu.
Obliczenia można wykonywać stosując zasady arytmetyki (redukcji) modularnej lub stosując poniższy algorytm numeryczny.



Pobieranie 2.08 Mb.

Share with your friends:
1   ...   5   6   7   8   9   10   11   12   13




©operacji.org 2020
wyślij wiadomość

    Strona główna