RSA to algorytm kryptografii asymetrycznej opublikowany w 1977 roku przez Ronalda Rivesta, Adiego Shamira i Leonarda Adlemana. Opiera się na trudności rozkładu bardzo dużych liczb na czynniki pierwsze i służy do szyfrowania kluczy oraz do podpisów cyfrowych.
Jak działa RSA?
Generuje się parę kluczy: publiczny, który można udostępniać, i prywatny, który zna tylko właściciel. Dane zaszyfrowane kluczem publicznym odszyfruje wyłącznie klucz prywatny. W drugą stronę podpis wykonany kluczem prywatnym może sprawdzić każdy za pomocą klucza publicznego.
Do czego używa się RSA?
- certyfikaty SSL/TLS i podpisy cyfrowe,
- uwierzytelnianie w SSH (klucze RSA),
- podpisywanie kodu i dokumentów,
- wymiana kluczy w starszych połączeniach.
Jak długi powinien być klucz?
Dziś za minimum uznaje się klucze 2048-bitowe, a 3072 lub 4096 bitów to wybór ostrożniejszy. Nowsze wdrożenia coraz częściej wybierają krzywe eliptyczne (ECDSA, Ed25519), które dają podobny poziom bezpieczeństwa przy krótszych kluczach.
Ciekawostka
Podobne rozwiązanie wymyślił wcześniej, w 1973 roku, brytyjski matematyk Clifford Cocks z agencji GCHQ, ale jego praca była tajna i ujawniono ją dopiero w 1997 roku.
Algorytm opublikowali Rivest, Shamir i Adleman w 1977 roku.
Bezpieczeństwo opiera się na trudności rozkładu dużych liczb na czynniki pierwsze. Obecnie zaleca się klucze o długości co najmniej 2048 bitów.