Vad är asymmetrisk kryptering?

click fraud protection

Det finns många olika delar av kryptografi. Om du vill kryptera vissa data, men det finns två typer av algoritmer du kan använda: symmetriska krypteringsalgoritmer och asymmetriska krypteringsalgoritmer. Konceptet är detsamma: de kan kryptera data men arbetar enligt olika principer och har andra användningsfall.

Titulär skillnaden beskriver dock krypteringsnycklarna. En symmetrisk krypteringsalgoritm använder en enda delad nyckel för att kryptera och dekryptera data. En asymmetrisk krypteringsalgoritm använder två länkade nycklar, en för att dekryptera och en för att dekryptera.

Terminologi

Asymmetriska krypteringsalgoritmer är beroende av användningen av två distinkta nycklar. En nyckel kan användas för att kryptera data och den andra för att dekryptera. De två krypteringsnycklarna är inte vilka gamla två värden som helst. De är inneboende relaterade och måste genereras av en nyckelgenereringsalgoritm.

Ett alternativt namn för asymmetrisk kryptering är kryptering med publik nyckel. Detta eftersom det är tänkt att en av de två nycklarna är offentlig. Det traditionella konceptet är att krypteringsnyckeln delas offentligt och dekrypteringsnyckeln hålls strikt privat. Av denna anledning hänvisas till krypteringsnyckeln som den offentliga nyckeln, och dekrypteringsnyckeln är den privata nyckeln.

Denna konfiguration tillåter vem som helst att kryptera ett meddelande så att endast den privata nyckelägaren kan dekryptera det. Detta är användbart eftersom vem som helst kan kommunicera säkert med den avsedda mottagaren med en enda publicerad krypteringsnyckel. För att kommunicera tillbaka på ett säkert sätt skulle mottagaren behöva använda den ursprungliga avsändarens publika nyckel.

Teoretiskt sett finns det ingen anledning till att du inte kunde byta nycklarna och dela dekrypteringsnyckeln samtidigt som du höll krypteringsnyckeln privat. Detta kan användas för att verifiera källans äkthet, om inte ge någon meningsfull säkerhet. Detta görs dock inte i praktiken, eftersom det finns andra mekanismer för att uppnå samma resultat.

Egenskaper för symmetriska krypteringsalgoritmer

Asymmetriska krypteringsalgoritmer kräver användning av mycket större nycklar än symmetriska krypteringsalgoritmer när de tillhandahåller samma säkerhetsnivå. I allmänhet anses en symmetrisk krypteringsalgoritm med en 128-bitars krypteringsnyckel vara säker, även om 256-bitars nycklar är att föredra. I en asymmetrisk krypteringsalgoritm anses 2048-bitars nycklar vara säkra.

2048-bitars nyckelexemplet gäller RSA, som länge har varit standarden för asymmetrisk kryptering. Elliptisk kurvkryptografi är dock ett nyare koncept som också är asymmetriskt men använder betydligt mindre nycklar. En 2048-bitars RSA-nyckel erbjuder likvärdig säkerhet som en 224-bitars elliptisk kurvnyckel.

Dricks: Ovanstående värden anses vara säkra för kommersiellt bruk, men NSA kräver starkare nycklar för topphemlig kryptering. RSA-nycklar på minst 3072-bitar behövs, medan 384-bitars elliptiska kurvnycklar är nödvändiga. Det är värt att notera att en 3072-bitars RSA-nyckel är svagare än en 384-bitars elliptisk kurvnyckel.

Asymmetriska krypteringsalgoritmer tenderar att vara relativt långsamma jämfört med symmetriska krypteringsalgoritmer. Säker kommunikation kan utföras över en osäker kanal om båda parter genererar ett asymmetriskt nyckelpar och sedan byter publika nycklar. På detta sätt kan båda parter skicka meddelanden som bara den andra kan dekryptera.

I praktiken måste minst en av parterna verifiera integriteten hos sin publika nyckel. Detta görs genom PKI eller Public Key Infrastructure. Detta tar formen av certifikatutfärdare som signerar andras nycklar för att visa att deras identitet har verifierats. I detta system måste alla certifikatutfärdare vara betrodda; utan det kommer systemet att falla isär.

Använd i praktiken

Asymmetriska krypteringsalgoritmer används vanligtvis inte för bulkkryptering, särskilt när tid eller prestanda är ett problem. De kan användas för att kryptera engångsmeddelanden såsom innehållet i ett e-postmeddelande. Men deras förmåga att säkra en osäker kanal gör dem till ett utmärkt val för ett nyckelutbytesprotokoll som sänder symmetriska nycklar som sedan kan användas för effektivare bulkkryptering.

Detta är användningsfallet i TLS, som ger säkerhet i HTTPS. En användare ansluter till en webbserver; de utbyter sedan publika nycklar för att kryptera små meddelanden till varandra. Servern genererar sedan en symmetrisk nyckel, krypterar den med användarens publika nyckel och skickar den till dem. Användaren dekrypterar nyckeln och kan sedan använda den symmetriska nyckeln för att effektivt kryptera framtida kommunikationer till servern.

En certifikatutfärdare i processen ovan verifierar serverns publika nyckel. Detta gör att användaren kan vara säker på att de kommunicerar med den de försöker kommunicera med. I de flesta fall genererar användaren en engångsnyckel, eftersom servern inte behöver verifiera vilken användare den kommunicerar med.

Slutsats

Asymmetriska krypteringsalgoritmer använder två distinkta nycklar. En nyckel används för kryptering och den andra för dekryptering. Nycklarna är matematiskt länkade och måste genereras av en nyckelgenereringsalgoritm; slumpmässiga värden fungerar inte. Vanligtvis delas krypteringsnyckeln offentligt, vilket gör att vem som helst kan kryptera ett meddelande avsett för nyckelparets ägare.

Så länge som dekrypteringsnyckeln förblir privat kan endast nyckelägaren dekryptera meddelanden som är krypterade med den offentliga nyckeln. Som sådan kallas asymmetrisk kryptering ofta också som publik nyckelkryptering.