RSA-kryptering, i full Rivest-Shamir-Adleman-kryptering, typ av kryptering med offentlig nyckel som ofta används för datakryptering av e-post och andra digitala transaktioner via Internet. RSA är uppkallad efter sin uppfinnare, Ronald L. Rivest, Adi Shamir och Leonard M. Adleman, som skapade det medan forskare vid Massachusetts Institute of Technology.,
i RSA-systemet väljer en användare i hemlighet ett par primtal p och q så stort att factoring av produkten n = pq är långt bortom projicerade datorfunktioner för ciphers livstid. Från och med 2000, USA, Statliga säkerhetsstandarder kräver att modulen ska vara 1,024 bitar i storlek-dvs p och q måste vara cirka 155 decimaler i storlek, så n är ungefär ett 310-siffrigt nummer. Eftersom de största hårda siffrorna som för närvarande kan vägas är bara hälften av denna storlek, och eftersom svårigheten att factoring ungefär fördubblas för varje ytterligare tre siffror i modulen, tros 310-siffriga moduli vara säkra från factoring i flera decennier.,
Efter att ha valt p och q väljer användaren ett godtyckligt heltal e mindre än n och relativt prime till p-1 och q − 1, det vill säga så att 1 är den enda faktorn gemensamt mellan E och produkten (p − 1)(q − 1). Detta försäkrar att det finns ett annat nummer d för vilket produkten ed kommer att lämna en återstod av 1 när dividerat med den minst vanliga multipel av p − 1 och q − 1. Med kunskap om p och q kan numret d enkelt beräknas med hjälp av Euclidean-algoritmen., Om man inte känner till p och q är det lika svårt att hitta antingen e eller d med tanke på den andra om faktor n, vilket ligger till grund för RSA-algoritmens kryptosäkerhet.
etiketterna d och e kommer att användas för att beteckna den funktion som en nyckel sätts till, men eftersom tangenterna är helt utbytbara är detta bara en bekvämlighet för exposition. För att implementera en sekretesskanal med den vanliga tvånyckelversionen av RSA cryptosystem, skulle användare a publicera e och n i en autentiserad offentlig katalog men hålla d hemlig., Den som vill skicka ett privat meddelande till en skulle koda det till siffror mindre än n och sedan kryptera den med en speciell formel baserad på e och n. A kan dekryptera ett sådant meddelande baserat på att veta d, men presumtionen—och bevis hittills—är att för nästan alla ciphers ingen annan kan dekryptera meddelandet om han inte också kan faktor n.
På samma sätt, för att implementera en autentiseringskanal, A skulle publicera d och n och hålla e hemlig., I den enklaste användningen av denna kanal för identitetsverifiering kan B verifiera att han är i kommunikation med A genom att titta i katalogen för att hitta A: S dekrypteringsnyckel d och skicka honom ett meddelande som ska krypteras. Om han får tillbaka en chiffer som dekrypterar till sitt utmaningsmeddelande med d för att dekryptera det, kommer han att veta att det var med all sannolikhet skapat av någon som känner e och därmed att den andra kommunikatorn förmodligen är A. digitalt signerar ett meddelande är en mer komplex operation och kräver en kryptosecure ”hashing” – funktion., Detta är en allmänt känd funktion som kartlägger ett meddelande till ett mindre meddelande—kallat en smältning—där varje bit av smältningen är beroende av varje bit av meddelandet på ett sådant sätt att det är lämpligt att ändra ens en bit i meddelandet, på ett kryptosecure sätt, hälften av bitarna i smältningen. Med cryptosecure menas att det är beräkningsmässigt omöjligt för någon att hitta ett meddelande som kommer att producera en förpassad smältning och lika svårt att hitta ett annat meddelande med samma smältning som en känd., Att underteckna ett meddelande—som kanske inte ens behöver hållas hemligt-en krypterar smälta med den hemliga e, som han lägger till meddelandet. Vem som helst kan sedan dekryptera meddelandet med den offentliga nyckeln d för att återställa digest, som han också kan beräkna oberoende av meddelandet. Om de två är överens, måste han dra slutsatsen att en har sitt ursprung chiffret, eftersom endast en visste e och därmed kunde ha krypterat meddelandet.
hittills har alla föreslagna kryptosystem med två nyckel exakt ett mycket högt pris för separation av sekretess-eller sekretesskanalen från autentiserings-eller signaturkanalen., Den kraftigt ökade mängden beräkning som är involverad i den asymmetriska krypteringen/dekrypteringsprocessen minskar kanalkapaciteten avsevärt (bitar per sekund av meddelandeinformation som kommuniceras). För ungefär 20 år, för jämförelsevis säkra system, har det varit möjligt att uppnå en genomströmning 1,000 till 10,000 gånger högre för ennyckel än för två nyckelalgoritmer. Som ett resultat är den huvudsakliga tillämpningen av två nyckelkryptografi i hybridsystem., I ett sådant system används en två-nyckelalgoritm för autentisering och digitala signaturer eller för att utbyta en slumpmässigt genererad sessionsnyckel som ska användas med en enkel nyckelalgoritm med hög hastighet för huvudkommunikationen. I slutet av sessionen kasseras denna nyckel.