364 Shares 4751 views

RSA szyfrowania. Opis i implementacja algorytmu RSA

RSA szyfrowanie jest jednym z pierwszych praktycznych kryptosystemy kluczem publicznym, który jest szeroko stosowany do bezpiecznej transmisji danych. Jego główną różnicą jest to, że podobne usługi klucz szyfrowania jest otwarty i różni się od klucza deszyfrowania, który jest utrzymywany w tajemnicy. Technologia RSA , ta asymetria jest oparty na praktycznych trudności faktoringu odtwarzanie dwóch dużych liczb pierwszych (problem z faktoringu).

Historia powstania

RSA Nazwa składa się z pierwszych liter nazwisk Rivest, Shamir i Adleman – naukowców, którzy po raz pierwszy publicznie tych opisanych algorytmów szyfrowania w 1977 roku. Klifford Koks, angielski matematyk, który pracował dla brytyjskich służb specjalnych, pierwszy do opracowania równoważnego systemu w 1973 roku, ale nie było aż do 1997 roku odtajnione

RSA użytkownik tworzy, a następnie publikuje klucz publiczny opiera się na dwóch dużych liczb pierwszych wraz z wartością pomocniczą. Liczby pierwsze powinny być utrzymywane w tajemnicy. Każdy może używać klucza publicznego do szyfrowania wiadomości, ale jeśli jest wystarczająco duży, to tylko ktoś ze znajomością liczb pierwszych może dekodować komunikat. ujawnienie szyfrowania RSA jest znany jako główny problem dzisiaj jest otwarta dyskusja o tym, jak niezawodnego mechanizmu.

algorytm RSA jest stosunkowo powolne, z tego powodu, że nie jest tak powszechnie stosowany bezpośrednio do szyfrowania użytkownika. W większości przypadków, metoda ta służy do transmisji w współdzielonego klucza zaszyfrowanego za pomocą symetrycznego klucza szyfrującego, które z kolei mogą wykonywać operacje szyfrowania i deszyfrowania luzem na znacznie większą prędkością.

Kiedy nastąpił Kryptosystem w obecnej formie?

Pomysł asymetrycznego klucza kryptograficznego nadana Diffie i Hellman, który opublikował koncepcję w 1976 roku, wprowadzając podpisów cyfrowych i próbuje zastosować teorię liczb. Ich formuła wykorzystuje współdzielony tajny klucz wygenerowany z pewna liczba potęgowania modulo liczba pierwsza. Jednak pozostawił otwartą kwestię realizacji tej funkcji, ponieważ zasady faktoring nie został dobrze zrozumiany w tamtym czasie.

Rivest, Adi Shamir i Adleman na MIT podjęli kilka prób na przestrzeni lat do stworzenia jednokierunkową funkcję, która jest trudna do dekodowania. Rivest i Shamir (jak informatyków) zaproponowali wiele potencjalnych funkcji, natomiast Adlemana (jak matematyka), aby sprawdzić „słabych punktów” algorytmu. Używali dużo podejść i ostatecznie opracować ostateczny układ, obecnie znany jako RSA w kwietniu 1977 r.

podpisu elektronicznego i klucz publiczny

Cyfrowy podpis lub podpis elektroniczny, jest integralną częścią elektronicznych typów dokumentów. Tworzy się on w pewnym kryptograficznych zmian danych. Dzięki tej właściwości możliwe jest sprawdzenie integralności dokumentu, jego poufności, a także ustalić, kto jest jej właścicielem. W rzeczywistości, jest alternatywą dla zwykłego standardowego podpisu.

Ten Kryptosystem (RSA zaszyfrowane) oferuje klucza publicznego, w przeciwieństwie do symetrycznego. Jego zasada działania jest to, że dwa różne klucze są używane – zamknięte (zaszyfrowane) i na zewnątrz. Pierwszy służy do generowania podpisu cyfrowego, a następnie być w stanie odszyfrować tekst. Po drugie – dla rzeczywistego szyfrowania i podpisu elektronicznego.

Korzystanie z podpisów, aby lepiej zrozumieć szyfrowanie RSA, czego przykładem może być zmniejszona jak normalny ukryciu „zamknięte od wścibskich oczu,” dokumentu.

Co to jest algorytm?

algorytm RSA składa się z czterech etapów: wytwarzania, dystrybucji kluczy, szyfrowania i deszyfrowania. Jak już wspomniano, szyfrowanie RSA zawiera klucz publiczny i klucz prywatny. Na zewnątrz może być znane wszystkim i jest używany do szyfrowania wiadomości. Jej istota polega na tym, że komunikaty szyfrowane za pomocą klucza publicznego można odszyfrować tylko w danym okresie czasu, przy użyciu tajnego klucza.

Ze względów bezpieczeństwa, liczby całkowite mają być wybierane losowo i są identyczne pod względem wielkości, ale różnią się długością przez kilka liczb, aby faktoring trudniejsze. Same same liczby mogą być skutecznie znaleźć za pomocą testu w swojej prostocie, więc szyfrowanie informacji koniecznie musi być skomplikowane.

Klucz publiczny składa się z modułu i wykładnikiem publicznym. Urządzenie wewnętrzne i składa się z prywatnej figury, które powinny być utrzymywane w tajemnicy.

szyfrowanie RSA plików i słabości

Jednakże, istnieje kilka prostych mechanizmów hakerskich RSA. Przy szyfrowaniu przy niskich i małych wartości numerów kodowych można łatwo otworzyć, jeśli zaszyfrowany korzeń pick ciągu liczb całkowitych.

Ponieważ szyfrowanie RSA jest algorytm deterministyczny (czyli nie ma składnika losowego), atakujący może z powodzeniem uruchomić zaznaczonego tekstu otwartego ataku na kryptosystemu szyfrując prawdopodobnych plaintexts pod kluczem publicznym i sprawdza, czy są one równe szyfrogram. Semantycznie bezpieczne Kryptosystem nazywa się w przypadku, gdy atakujący nie może rozróżnić dwie szyfrowanie od siebie, nawet jeśli zna odpowiednie teksty w rozszerzonej formie. Jak opisano powyżej, RSA inne usługi bez wyściółki nie jest semantycznie bezpieczne.

Dodatkowe algorytmy szyfrowania i ochrony

Aby uniknąć powyższych problemów, w praktycznej realizacji RSA są zazwyczaj umieszczony w jakiejś formie strukturalnej, randomizowanym napełniania przed szyfrowaniem. To gwarantuje, że zawartość nie mieści się w zakresie od niepewnych plaintexts, i że ta wiadomość nie może zostać rozwiązany poprzez losowy wybór.

Bezpieczeństwo i szyfrowanie RSA kryptograficzny oparty na dwóch problemów matematycznych: problem z faktoringu dużych ilościach i rzeczywiste problemy RSA. Pełne ujawnienie szyfrogramu i podpis w RSA jest uznany za niedopuszczalny na założeniu, że oba te problemy nie mogą być rozwiązane zbiorowo.

Jednakże, z możliwością odzyskania czynniki pierwsze, atakujący może obliczyć wykładnik tajnego klucza publicznego, a następnie odszyfrować tekstu przy użyciu standardowej procedury. Pomimo faktu, że dziś nie istniejące metody faktoringu dużych liczb całkowitych na klasycznym komputerze nie można znaleźć, że nie zostało udowodnione, że on nie istnieje.

automatyzacja

Narzędzie o nazwie YAFU, mogą być wykorzystywane do optymalizacji procesu. Automatyzacja w YAFU to zaawansowana funkcja, która łączy algorytmów faktoryzacji w intelektualnych i adaptacyjne metodologii, która minimalizuje czas na znalezienie czynników dowolnych liczb wejściowych. Większość implementacji algorytmu pozwalającego YAFU wielowątkowe pełne wykorzystanie multi- lub wielu procesorów wielordzeniowych (w tym SNFS, SIQS i ECM). Przede wszystkim jest ona kontrolowana przez narzędzie wiersza poleceń. Czas spędzony poszukiwania czynnika szyfrowanie YAFU wykorzystaniem konwencjonalnego komputera, może być zmniejszona do sekundy 103.1746. Narzędzie przetwarza binarnego pojemności 320 lub więcej bitów. Jest to bardzo skomplikowane oprogramowanie, które wymaga pewnej umiejętności technicznych do instalacji i konfiguracji. W ten sposób szyfrowania RSA mogą być podatne C.

Prób włamania w ostatnich czasach

W 2009 Bendzhamin Mudi użyciem RSA-512 bitowy klucz działa na rozszyfrowanie kriptoteksta do 73 dni, przy użyciu tylko znanego oprogramowania (GGNFS), a średnia pulpit (dwurdzeniowy Athlon64 przy 1900 MHz). Jak wynika z doświadczenia, wymaga nieco mniej niż 5 GB dysku i około 2,5 GB pamięci dla procesu „przesiewanie”.

Począwszy od 2010 roku, największa liczba została uwzględniona RSA 768 bitów (232 cyfr dziesiętnych lub RSA-768). Jego ujawnienie trwała dwa lata na kilkuset komputerach naraz.

W praktyce, klucze RSA są długie – zazwyczaj od 1024 do 4096 bitów. Niektórzy eksperci uważają, że klucze 1024-bitowe mogą stać się zawodne w najbliższej przyszłości lub nawet dłużej, może być pęknięty napastnikowi bardzo dobrze finansowane. Jednak niewielu twierdzą, że klucze 4096-bitowe mogą być ujawnione w niedalekiej przyszłości.

perspektywy

W związku z tym, z reguły zakłada się, że RSA jest bezpieczny, jeśli numery są wystarczająco duże. Jeśli liczba bazowa 300 bitów lub krótsze i szyfrogram podpisu cyfrowego może być rozłożona w ciągu kilku godzin na komputerze osobistym za pomocą oprogramowania dostępnego już w domenie publicznej. Długość klucza 512 bitów, jak pokazano, może być otwarty już w 1999 roku, przy wykorzystaniu kilkuset komputerów. Obecnie jest to możliwe w ciągu kilku tygodni z użyciem publicznie dostępnego sprzętu. Tak więc możliwe jest, że w buduschembudet łatwo ujawnione RSA zaszyfrowane na palcach, a system będzie beznadziejnie przestarzałe.

Oficjalnie w 2003 roku, została podważona bezpieczeństwo kluczy 1024-bitowych. Obecnie zaleca się, aby mieć minimalną długość 2048 bitów.