algorytm RSA jest asymetrycznym algorytmem kryptograficznym. Asymetryczny oznacza, że działa na dwóch różnych kluczach, tj. klucz publiczny i klucz prywatny. Jak sama nazwa wskazuje, klucz publiczny jest nadawany każdemu, a klucz prywatny jest przechowywany w tajemnicy.
przykład kryptografii asymetrycznej:
- klient (na przykład przeglądarka) wysyła swój klucz publiczny do serwera i żąda pewnych danych.
- serwer szyfruje dane za pomocą klucza publicznego klienta i wysyła zaszyfrowane dane.
- Klient otrzymuje te dane i odszyfrowuje je.,
ponieważ jest to asymetryczne, nikt inny poza przeglądarką nie może odszyfrować danych, nawet jeśli osoba trzecia ma publiczny klucz przeglądarki.
pomysł! Idea RSA opiera się na tym, że trudno jest faktoryzować dużą liczbę całkowitą. Klucz publiczny składa się z dwóch liczb, gdzie jedna liczba jest mnożeniem dwóch dużych liczb pierwszych. Klucz prywatny również pochodzi z tych samych dwóch liczb pierwszych. Więc jeśli ktoś może faktoryzować dużą liczbę, klucz prywatny jest zagrożony., Dlatego siła szyfrowania całkowicie zależy od rozmiaru klucza i jeśli podwoimy lub potroimy rozmiar klucza, siła szyfrowania wzrasta wykładniczo. Klucze RSA mogą mieć zazwyczaj długość 1024 lub 2048 bitów, ale eksperci uważają, że klucze 1024 bitowe mogą zostać złamane w najbliższej przyszłości. Ale do tej pory wydaje się to nieosiągalne zadanie.
poznajmy mechanizm stojący za algorytmem RSA :
- >> Generowanie klucza publicznego :
>>Generowanie klucza prywatnego :
teraz jesteśmy gotowi z naszym – kluczem publicznym ( n = 3127 i e = 3) i kluczem prywatnym(d = 2011)
teraz będziemy szyfrować „HI” :
teraz odszyfrowujemy 1394 :
8 = H I i = 9 czyli „cześć”.,
poniżej znajduje się implementacja C algorytmu RSA dla małych wartości:
Wyjście:
Message data = 12.000000Encrypted data = 3.000000Original Message Sent = 12.000000
Ten artykuł autor: Mohit Gupta_omg 🙂. Jeśli lubisz GeeksforGeeks i chciałbyś przyczynić się do tego, możesz również napisać artykuł za pomocą contribute.geeksforgeeks.org lub wyślij artykuł do [email protected]. Zobacz swój artykuł pojawiający się na stronie głównej GeeksforGeeks i pomóż innym Geekom.
Dodaj komentarz