50 Dlaczego znalezienie dzielników modułu M w algorytmie

Transkrypt

50 Dlaczego znalezienie dzielników modułu M w algorytmie
50 Dlaczego znalezienie dzielników modułu M w algorytmie RSA
powoduje złamanie klucza prywatnego?
WPROWADZENIE
RSA - asymetryczny algorytm kryptograficzny. Bezpieczeństwo RSA opiera się na trudności
faktoryzacji (rozkładu na czynniki) dużych liczb złożonych (tutaj N).
Moduł M, jest tym samym co moduł N, czyli tak jak mieliśmy na ćwiczeniach.
Tworzenie kluczy (informacje z ćwiczeń)
1. Losowo wybieramy dwie duże liczby pierwsze p i q (liczby tajne),
2. Obliczamy N = p * q,
3. Obliczamy φ(N) = (p – 1) * (q – 1),
4. Wybieramy takie e, żeby spełnione były warunki:
•
1 < e < φ(N)
•
NWD (e, φ(N)) = 1 – liczby: e, oraz φ(N) są względnie pierwsze.
5. Obliczamy d = e-1 mod φ(N)
I tak obliczyliśmy klucze dla danej osoby (np. Boba):
•
klucz prywatyny (d,N)
•
klucz publiczny (e,N)
Wysyłając do odbiorcy wiadomość kodujemy ją jego kluczem publicznym, odbiorca dekoduje ją
swoim kluczem prywatnym, np. Ala wysyła do Boba. Zatem Ala koduje kluczem publicznym Boba.
Bob – odbiorca dekoduje swoim prywatnym.
Kodowanie:
•
c = me mod N,
Dekodowanie
•
m = cd mod N
m<N
ODPOWIEDŹ NA PYTANIE
Zakładam, że znamy klucz publiczny odbiorcy (e,N)
Gdyby znalazł dzielniki liczby N czyli p i q to:
•
łatwo obliczę: φ(N) jako (p – 1) * (q – 1)
•
następnie na podstawi e i obliczonego φ(N) obliczę d (pokazano w kroku 5) czyli
złamie/poznam klucz prywatny odbiorcy (d,N)
Na szczęście faktoryzacja dużych liczb złożonych jest trudna – na tej trudności opiera się
bezpieczeństwo algorytmu RSA.
(Podobno Ulek tak odpowiedział na wykładzie – wzięte z forum, pokładam w tym wiarę).

Podobne dokumenty