Vad är symmetrisk kryptering?

Det finns många olika delar av kryptografi. Om du dock vill kryptera vissa data finns det två typer av algoritmer du kan använda: symmetriska krypteringsalgoritmer och asymmetriska krypteringsalgoritmer. Det övergripande konceptet är detsamma, de kan kryptera data, men de arbetar utifrån olika principer och har olika användningsfall. Titulär skillnaden beskriver dock krypteringsnycklarna. En symmetrisk krypteringsalgoritm använder en enda delad nyckel för att både kryptera och dekryptera data. En asymmetrisk krypteringsalgoritm använder två länkade nycklar, en för att dekryptera och en för att dekryptera.

Egenskaper för symmetriska krypteringsalgoritmer

Som nämnts ovan är det nyckelutmärkande draget hos en symmetrisk krypteringsalgoritm det faktum att du använder en enda nyckel för att både kryptera och dekryptera data. Det betyder inte att det bara finns en möjlig krypteringsnyckel, bara om du krypterar något med en nyckel måste du använda samma nyckel för att dekryptera det. Det kallas ibland för kryptering med delad nyckel. Detta beror på att varje deltagare behöver känna till samma nyckel och därför måste du dela den.

Den här egenskapen att använda samma nyckel för att kryptera och dekryptera kan vara lite av ett problem. För att kunna använda en symmetrisk krypteringsalgoritm måste du kunna kommunicera den säkert. Men du kan inte göra det utan att redan ha ett säkert sätt att kommunicera. Tack och lov kan detta problem lösas med asymmetrisk kryptering men det är värt att förstå.

Nycklarna för symmetriska krypteringsalgoritmer tenderar att vara ganska små, åtminstone jämfört med asymmetrisk kryptering. Detta gör dem relativt lätta att överföra även över en långsam nätverksanslutning och mindre sårbara för fel i ett opålitligt nätverk. Symmetriska krypteringsalgoritmer är också snabba jämfört med asymmetriska algoritmer.

Alla dessa egenskaper gör symmetriska krypteringsalgoritmer särskilt användbara för bulkkryptering av data. Detta är särskilt fallet när hastighet är ett problem.

Streama chiffer och block chiffer

AES är förmodligen den mest kända symmetriska krypteringsalgoritmen. Det används i nästan allt som krypterar massor av data och är en standarddel av krypteringssviterna som används i HTTPS. AES är ett blockchiffer med 128-bitars block. Ett blockchiffer fungerar genom att kryptera datablock åt gången. Varje block måste ha samma storlek. Detta är bra när återstående data är större än blockstorleken men innebär att någon form av utfyllnad måste användas för att slutföra blocket.

Ett strömchiffer fungerar genom att kryptera mycket mindre mängder data åt gången, vanligtvis en byte åt gången. En variant av detta koncept är substitutionschifferet som fungerar på bokstäver. Substitutionschiffer är sårbara för frekvensanalys och är därför vanligtvis opålitliga och oanvända. Strömchiffer har dock inte det här problemet.

Symmetriska algoritmer tenderar att vara sårbara för attacker med känd klartext, attacker med vald klartext, differentiell kryptoanalys och linjär kryptoanalys. Moderna algoritmer har dock utformats noggrant med detta i åtanke och så dessa problem är inte ett problem.

Slutsats

Symmetrisk kryptering är en form av kryptering som använder samma nyckel för att både kryptera och dekryptera data. I vissa fall är själva algoritmen densamma för att både kryptera och dekryptera, även om detta inte nödvändigtvis är fallet. Krypteringsnycklar tenderar att vara relativt korta och lätta att överföra. Nyckeln måste dock överföras över en säker kanal eftersom den måste kommuniceras mellan alla inblandade parter. Symmetriska krypteringsalgoritmer tenderar att vara mycket snabbare än asymmetriska krypteringsalgoritmer.