RSA-kryptering

RSA-kryptering , i fullständig Rivest-Shamir-Adleman-kryptering , typ av kryptografi med offentlig nyckel som ofta används för datakryptering av e-post och andra digitala transaktioner via Internet. RSA är uppkallat efter sina uppfinnare, Ronald L. Rivest, Adi Shamir och Leonard M. Adleman, som skapade det medan de var på fakulteten vid Massachusetts Institute of Technology.

Tabellen Vigenère Vid kryptering av vanlig text finns krypteringsbokstaven vid skärningspunkten mellan kolumnen med rubriken bokstavsbokstav och raden indexerad med nyckelbokstaven. För att dekryptera ciphertext finns den klara textbokstaven i kolumnhuvudet bestämd av skärningspunkten mellan diagonalen som innehåller chifferbokstaven och raden som innehåller nyckelbokstaven.Läs mer om detta ämne kryptologi: RSA-kryptering Det mest kända schemat för allmänna nycklar är kryptoalgoritmen Rivest – Shamir – Adleman (RSA). I detta system väljer en användare i hemlighet ett par prim ...

I RSA-systemet väljer en användare i hemlighet ett par primtal p och q så stora att fakturering av produkten n = p q är långt bortom projicerade beräkningsfunktioner under kodens livstid. Från och med 2000 kräver amerikanska säkerhetsstandarder att modulen ska vara 1 024 bitar, dvs. p och q måste vara cirka 155 decimaler, så när ungefär ett 310-siffrigt nummer. Eftersom de största hårda siffrorna som för närvarande kan tas med är bara hälften av denna storlek, och eftersom svårigheten att fakturera ungefär fördubblas för varje ytterligare tre siffror i modulen, antas 310-siffriga moduler vara säkra från factoring i flera decennier.

Har valt p och q , väljer användaren ett godtyckligt heltal e mindre än n och relativt primtal till p - 1 och q - 1, det vill säga så att ett ä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 e d lämnar en återstod på 1 när den delas med den minst gemensamma multipeln av p - 1 och q - 1. Med kunskap om p och q är antalet dkan enkelt beräknas med den euklidiska algoritmen. Om man inte känner till p och q är det lika svårt att hitta antingen e eller d givet den andra när det gäller faktor n , vilket är grunden 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 exponering. För att implementera en sekretesskanal med standardversionen av två nycklar av RSA-kryptosystemet skulle användare A publicera e och n i en autentiserad offentlig katalog men hålla d hemligt. Den som vill skicka ett privat meddelande till A skulle koda det till siffror mindre än n och sedan kryptera det med en speciell formel baserad på e och n . A kan dekryptera ett sådant meddelande baserat på att veta d, men antagandet - och bevis hittills - är att ingen annan kan dekryptera meddelandet för nästan alla cifrar om han inte också kan faktor n .

På samma sätt, för att implementera en autentiseringskanal, skulle A publicera d och n och hålla e hemligt. I den enklaste användningen av denna kanal för identitetsverifiering kan B verifiera att han kommunicerar med A genom att leta 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 hjälp av d för att dekryptera det, kommer han att veta att det med all sannolikhet skapades av någon som känner till e och därmed att den andra kommunikanten förmodligen är A. Att signera ett meddelande digitalt är en mer komplex operation och kräver en kryptosäker “hashing” -funktion. Detta är en allmänt känd funktion som kartlägger vilket meddelande som helst i ett mindre meddelande - kallat ett sammandrag - där varje bit av sammandraget är beroende av varje bit av meddelandet på ett sådant sätt att ändring av en enda bit i meddelandet är ändrad , på ett kryptosäkert sätt, hälften av bitarna i matsmältningen. Med kryptosäkerhet menas att det är beräkningsmässigt omöjligt för vem som helst att hitta ett meddelande som kommer att producera en fördelad sammandrag och lika svårt att hitta ett annat meddelande med samma sammandrag som ett känt. Att signera ett meddelande - som kanske inte ens behöver hållas hemligt - A krypterar sammandraget med det hemliga e, som han bifogar till meddelandet. Vem som helst kan sedan dekryptera meddelandet med den offentliga nyckeln d för att återställa sammandraget, vilket han också kan beräkna oberoende av meddelandet. Om de två är överens, måste han dra slutsatsen att A har sitt ursprung i chifferet, eftersom endast A visste e och därmed kunde ha krypterat meddelandet.

Hittills har alla föreslagna kryptosystem med två nycklar ett mycket högt pris för separationen av sekretess- eller sekretesskanalen från autentiserings- eller signaturkanalen. Den kraftigt ökade mängden beräkning som är involverad i den asymmetriska krypterings- / dekrypteringsprocessen minskar avsevärt kanalkapaciteten (bitar per sekund meddelad meddelandeinformation). I ungefär 20 år har det för jämförelsevis säkra system varit möjligt att uppnå en genomströmning på 1 000 till 10 000 gånger högre för en nyckel än för tvånyckelalgoritmer. Som ett resultat är den huvudsakliga tillämpningen av två-tangent kryptografi 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 för att användas med en enda tangentalgoritm i hög hastighet för huvudkommunikationen.I slutet av sessionen kasseras denna nyckel.