ďťż

Ładny brzuch

Witam

Jak w temacie. Potrzebuję informacji o RSA. A dokładniej jak to wykorzystywać i do czego. Nie pisać mi o kluczach, bo o tym znalazłem na wiki ale jak się tym szyfruje (o ile się tym da) i jak się z tego korzysta.

Dzięki



RSA - najpopularniejszy asymetryczny, wykładniczy algorytm szyfrowania danych. Asymetryczność szyfru polega na stosowaniu dwóch kluczy: publicznego i prywatnego.

Tyle teori.
To teraz po koleji jak się tym szyfruje.

krok 1. wybierane są dwie duże liczby pierwsze p i q - np. o długości 512 bitów
krok 2. obliczana jest liczba n będąca iloczynem p i q. n=p*q
krok 3. klucz publiczny e wybieramy ze zbioru [max(p,q)+1, n-1] będący względnie pierwszą liczbą z funkcją Eulera dla n => f(n)=(p-1)*(q-1)
krok 4. klucz prywatny d obliczamy z równania d=inv(e,f(n)), czyli jako odwrotność e modulo f(n), tj. (e*d) mod (p-1)*(q-1)=1
krok 5. Szyfrowanie polega na C=M^e mod n
krok 6. Deszyfrowanie M=C^d mod n;

Przykład:
(krok 1)
p=11
q=17

(krok 2)
więc n= p*q. N = 187.

(krok 3;
funkcja
f(n)=(11-1)*(17-1)=160
klucz publiczby 'e' = 97

(krok 4)
klucz prywatny 'd' =inv(97,160)=33

(krok 5)
Niech tekst jawny M=48, wówczas kryptogram:

C=M^e mod n = 48^97 mod 187 = 82

(krok 6)
deszyfrowanie:
M=C^d mod n = 82^33 mod 187 = 48

Nie spotkałem jeszcze nigdzie implementacji tego algorytmu niestety. Służy on głownie do szyfrowania poczty e-mail, gdzie klucz publiczny zna każdy, a prywatny zna tylko właściciel i służy on do odszyfrowania.
wiem, że jeste też algorytm RSA-OAEP, jednak nie znam zasady jego działania.

Jeśli jednak szyfrujesz dane, które nie są wysyłane to polecałbym inny algorytm (IDEA, Blowfish, DES, Cast12, Rijndael - dłuzo by wimieniać).

Tutaj masz ten algorytm bardzo szczegółowo opisany:
O algorytmie RSA

P.S
Należy pamiętać, iż są specjalne protokoły do wymiany kluczy kryptograficznych np: protokół Diffie-Hellman'a

___________
Wzory pochodzą ze strony anubis.prog.prv.pl
Użytkownik programista1101 edytował ten post 29 maj 2005, 11:17
Moglbys wyjasnic ta linijke: klucz prywatny 'd' =inv(97,160)=33

Co to jest to inv ??


Moglbys wyjasnic ta linijke: klucz prywatny 'd' =inv(97,160)=33

Co to jest to inv ??

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •