Dr inż. Robert Wójcik



Pobieranie 2,08 Mb.
Strona12/13
Data14.02.2018
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.



1   ...   5   6   7   8   9   10   11   12   13


©operacji.org 2017
wyślij wiadomość

    Strona główna