najprosciej mozna to przedstawic jako:
wybiera sie duze liczby pierwsze p i q, oraz liczbe n.
oblicza sie f(n)=(p-1)(q-1).
Kolejnym krokiem jest wybor liczby e (bedacej kluczem prywatnym sluzacym do odkodowania wiadomosci) z zakresu max(p,q);n-1
max(p,q) - jest to wybor wiekszej z liczb p lub q.
Dodatkowo liczba e powinna byc wzglednie pierwsza z f(n), czyli
NWD(e,f(n))=1. NWD - funkcja obliczajaca najwiekszy wspolny dzielnik, np. metoda Euklidesa.
Metoda Euklidesa polega na ponizszych obliczeniach. Przykladowo aby nalezc NWD dla liczb 20 i 6 obliczenia:
20-6=4
6-4=2
4-2=2
2-2=0
Czyli NWD(20,6)=2. Stad wniosek ze nie sa to liczby wzglednie pierwsze.
Po wyznaczeniu klucza e nalezy wygenerowac klucz publiczny d (bedzie nim dokonywane szyfrowanie danych). Obliczenia przeprowadza siew sposob nastepujacy:
d=inv(e,f(n))
Szyfrowanie polega na:
C=M^e mod n
deszyfrowanie :
M=C^d mod n
C- szyfrotekst
M - tekst jawny
Sila algorytmu polega na dlugich kluczach, oraz na problemie uzyskania e majac tylko e (problem faktoryzacji f(n)).
Praktycznie to wszystko, oczywiscie w skrocie, pomylki nie powinno wystapic, ale jak cos to prosze poprawic bo pisalem z glowy.