Ο RSA (Rivest-Shamir-Adleman) είναι ένας αλγόριθμος που χρησιμοποιείται από τους σύγχρονους υπολογιστές για την κρυπτογράφηση και αποκρυπτογράφηση μηνυμάτων. Είναι ένας ασύμμετρος κρυπτογραφικός αλγόριθμος. Ασύμμετρος σημαίνει ότι υπάρχουν δύο διαφορετικά κλειδιά. Ονομάζεται επίσης κρυπτογραφία δημόσιου κλειδιού, επειδή το ένα από τα κλειδιά μπορεί να δοθεί σε οποιονδήποτε. Το άλλο κλειδί πρέπει να παραμείνει ιδιωτικό. Ο αλγόριθμος βασίζεται στο γεγονός ότι η εύρεση των παραγόντων ενός μεγάλου σύνθετου αριθμού είναι δύσκολη: όταν οι παράγοντες είναι πρώτοι αριθμοί, το πρόβλημα ονομάζεται πρώτος παραγοντισμός. Πρόκειται επίσης για μια γεννήτρια ζεύγους κλειδιών (δημόσιο και ιδιωτικό κλειδί).