RSA (Rivest–Shamir–Adleman abreviatūra) – viešojo rakto kriptosistema, kurios algoritmą 1977 metais sukūrė Ronald Rivest, Adi Shamir ir Leonard Adleman.
Pasirenkame du pirminius skaičius ir (jie turi būti pakankamai ilgi), ; sudauginame juos: . Pasirenkame natūralųjį skaičių taip, kad jis būtų santykinai pirminis su
, t. y. .
Naudojantis Euklido algoritmu surandame skaičių , kad būtų .
Sudarome raktus: viešąjį ir privatųjį .
Pranešimai, kuriuos norime siųsti yra aibės skaičiai. Šifravimas apibrėžiamas lygybe:
- ,
– pranešimo šifras ( yra skaičius iš aibės , tad )
Dešifravimo algoritmas visiškai toks pat, kaip ir šifravimo:
Duotajam surasti pirminius ir , kad , laikoma labai sunkia matematine užduotimi. Visas RSA kriptosistemos saugumas remiasi šiuo faktu. RSA Laboratories paskelbė konkursą, kurio esmė yra surasti ir duotajam . Pavyzdžiui, surasti ir skaičiui
- .
Nuo 2007 m. RSA Laboratories šių konkursų neberengia.