RSA (Rivest-Shamir-Adleman) este un algoritm utilizat de computerele moderne pentru criptarea și decriptarea mesajelor. Este un algoritm criptografic asimetric. Asimetric înseamnă că există două chei diferite. Acesta se mai numește și criptografie cu cheie publică, deoarece una dintre chei poate fi dată oricui. Cealaltă cheie trebuie să fie păstrată privată. Algoritmul se bazează pe faptul că găsirea factorilor unui număr compus mare este dificilă: atunci când factorii sunt numere prime, problema se numește factorizare primă. Este, de asemenea, un generator de perechi de chei (cheie publică și cheie privată).

RSA implică o cheie publică și o cheie privată. Cheia publică poate fi cunoscută de toată lumea - este utilizată pentru a cripta mesaje. Mesajele criptate cu ajutorul cheii publice pot fi decriptate numai cu ajutorul cheii private. Cheia privată trebuie să fie păstrată secretă. Calcularea cheii private din cheia publică este foarte dificilă.