RSA (Rivest-Shamir-Adleman) är en algoritm som används av moderna datorer för att kryptera och dekryptera meddelanden. Det är en asymmetrisk kryptografisk algoritm. Asymmetrisk innebär att det finns två olika nycklar. Detta kallas också för kryptografi med offentlig nyckel, eftersom en av nycklarna kan ges till vem som helst. Den andra nyckeln måste hållas privat. Algoritmen bygger på det faktum att det är svårt att hitta faktorerna till ett stort sammansatt tal: när faktorerna är primtal kallas problemet för primfaktorisering. Det är också en nyckelpargenerator (offentlig och privat nyckel).

RSA omfattar en offentlig nyckel och en privat nyckel. Den offentliga nyckeln kan vara känd av alla - den används för att kryptera meddelanden. Meddelanden som krypterats med den offentliga nyckeln kan endast dekrypteras med den privata nyckeln. Den privata nyckeln måste hållas hemlig. Det är mycket svårt att beräkna den privata nyckeln utifrån den offentliga nyckeln.