szyfrowanie RSA, w pełni Szyfrowanie Rivest-Shamir-Adleman, Typ kryptografii klucza publicznego szeroko stosowany do szyfrowania danych poczty elektronicznej i innych transakcji cyfrowych przez Internet. Nazwa RSA pochodzi od nazwiska jej wynalazców, Ronalda L. Rivesta, Adiego Shamira i Leonarda M. Adlemana, którzy stworzyli ją na Wydziale w Massachusetts Institute of Technology.,
w systemie RSA użytkownik potajemnie wybiera parę liczb pierwszych p I q tak dużą, że obliczanie iloczynu n = pq znacznie wykracza poza przewidywane możliwości obliczeniowe przez cały okres istnienia szyfrów. Od 2000 roku w USA., standardy bezpieczeństwa publicznego wymagają, aby moduł miał rozmiar 1024 bitów—tzn. p I q muszą mieć rozmiar około 155 cyfr dziesiętnych, więc n jest mniej więcej liczbą 310-cyfrową. Ponieważ największe liczby twarde, które mogą być obecnie factored są tylko o połowę tego rozmiaru, a ponieważ trudność faktoringu z grubsza podwaja się dla każdego dodatkowego trzy cyfry w module, 310-cyfrowe moduły są uważane za bezpieczne od faktoringu przez kilka dziesięcioleci.,
Po wybraniu p I q, użytkownik wybiera dowolną liczbę całkowitą e mniejszą od n i względnie pierwszą do p – 1 i q-1, czyli tak, że 1 jest jedynym czynnikiem wspólnym między E A iloczynem (P-1) (q-1). Zapewnia to, że istnieje inna liczba d, dla której produkt ed pozostawia pozostałą liczbę 1, gdy dzieli się ją przez najmniejszą wspólną wielokrotność p-1 i q-1. Dzięki znajomości p I q liczba d może być łatwo obliczona za pomocą algorytmu Euklidesowego., Jeśli ktoś nie zna p I q, równie trudno jest znaleźć e lub d, biorąc pod uwagę drugi czynnik n, który jest podstawą kryptosecurity algorytmu RSA.
etykiety d i e będą używane do oznaczania funkcji, do której wkładany jest klucz, ale ponieważ klucze są całkowicie wymienne, jest to tylko wygoda dla ekspozycji. Aby zaimplementować kanał tajności przy użyciu standardowej, dwujajowej wersji kryptosystemu RSA, użytkownik a publikowałby e i n w uwierzytelnionym katalogu publicznym, ale zachowywał D w tajemnicy., Każdy, kto chce wysłać prywatną wiadomość do A, zakoduje ją na liczby mniejsze niż n, a następnie zaszyfruje ją za pomocą specjalnej formuły opartej na e i N. A może odszyfrować taką wiadomość na podstawie znajomości d, ale domniemanie—i dowody do tej pory—jest takie, że dla prawie wszystkich szyfrów nikt inny nie może odszyfrować wiadomości, chyba że może również czynnik n.
podobnie, aby zaimplementować kanał uwierzytelniania, a opublikuje d i n i zachowa E w tajemnicy., W najprostszym użyciu tego kanału do weryfikacji tożsamości, B może sprawdzić, czy jest w kontakcie z A, szukając w katalogu, aby znaleźć klucz deszyfrujący A d i wysyłając mu wiadomość do zaszyfrowania. Jeśli otrzyma z powrotem szyfr, który odszyfruje jego wiadomość wyzwania za pomocą d, aby ją odszyfrować, będzie wiedział, że najprawdopodobniej został stworzony przez kogoś, kto zna e, a tym samym, że drugim komunikatorem jest prawdopodobnie A. cyfrowe podpisywanie wiadomości jest bardziej złożoną operacją i wymaga funkcji „hashowania” kryptosecure., Jest to powszechnie znana funkcja, która mapuje każdą wiadomość na mniejszą wiadomość-zwaną digest—w której każdy bit digest jest zależny od każdego bitu wiadomości w taki sposób, że zmiana nawet jednego bitu w wiadomości jest odpowiednia do zmiany, w sposób kryptosekuryczny, połowy bitów w digest. Przez cryptosecure oznacza, że jest obliczeniowo niewykonalne dla każdego, aby znaleźć wiadomość, która będzie produkować wstępnie przypisany digest i równie trudne do znalezienia innej wiadomości z tym samym digest jako znany., Aby podpisać wiadomość—która może nawet nie być utrzymywana w tajemnicy—A szyfruje fragment za pomocą tajnego e, który dołącza do wiadomości. Każdy może odszyfrować wiadomość za pomocą klucza publicznego d, aby odzyskać fragment, który może również obliczyć niezależnie od wiadomości. Jeśli obaj się zgadzają, musi dojść do wniosku, że a pochodzi szyfr, ponieważ tylko a znał e, a tym samym mógł zaszyfrować wiadomość.
do tej pory wszystkie proponowane dwu-kluczowe kryptosystemy dokładają bardzo wysoką cenę za oddzielenie kanału prywatności lub tajemnicy od kanału uwierzytelniania lub podpisu., Znacznie zwiększona ilość obliczeń związanych z asymetrycznym procesem szyfrowania / deszyfrowania znacznie zmniejsza pojemność kanału(bitów na sekundę przekazywanych informacji). Od około 20 lat w przypadku porównywalnie bezpiecznych systemów możliwe jest osiągnięcie przepustowości od 1000 do 10 000 razy wyższej dla algorytmów z jednym kluczem niż dla algorytmów z dwoma kluczami. W rezultacie, główne zastosowanie dwufunkcyjnej kryptografii znajduje się w systemach hybrydowych., W takim systemie algorytm dwufunkcyjny jest używany do uwierzytelniania i podpisów cyfrowych lub do wymiany losowo wygenerowanego klucza sesji, który ma być używany z algorytmem jednotarczowym z dużą prędkością dla głównej komunikacji. Po zakończeniu sesji klucz ten jest odrzucany.