Symmetrisk nyckelkryptografi (eller symmetrisk kryptering) är en typ av krypteringsschema där samma nyckel används både för att kryptera och dekryptera meddelanden. En sådan metod för kodning av information har till stor del använts under de senaste decennierna för att underlätta hemlig kommunikation mellan regeringar och militärer. Numera används symmetriska nyckelalgoritmer i stor utsträckning i olika typer av datorsystem för att förbättra datasäkerheten.
Hur fungerar asymmetrisk kryptering?
Symmetriska krypteringsscheman är beroende av en enda nyckel som delas mellan två eller flera användare. Samma nyckel används för att kryptera och dekryptera den så kallade klartexten (som representerar meddelandet eller den del av data som kodas). Krypteringsprocessen består av att köra en klartext (ingång) via en krypteringsalgoritm som kallas en chiffer, som i sin tur genererar en chiffertext (utgång).
Om krypteringsschemat är tillräckligt starkt är det enda sättet för en person att läsa eller komma åt informationen i chiffertexten att använda motsvarande nyckel för att dekryptera den. Processen för dekryptering omvandlar i princip chiffertexten tillbaka till klartext.
Säkerheten för symmetriska krypteringssystem baseras på hur svårt det är att slumpmässigt gissa motsvarande nyckel för att knäcka dem. En 128-bitars nyckel skulle till exempel skulle ta miljarder år att gissa med vanlig datorhårdvara. Ju längre krypteringsnyckeln är desto svårare blir det att knäcka den. Nycklar med 256-bitars längd betraktas allmänt som mycket säkra och teoretiskt resistenta mot kvantdatorns attacker.
Två av de vanligaste symmetriska krypteringsscheman som används idag är baserade på block- och strömchiffer. Blockchiffer grupperar data i block av förutbestämd storlek och varje block krypteras med motsvarande nyckel och krypteringsalgoritm (128-bitars klartext krypteras till exempel till 128-bitars chiffertext). Å andra sidan krypterar strömchiffer inte klartextdata med block, utan snarare med 1-bitarsintervall (1-bitars klartext krypteras till 1-bitars chiffertext åt gången).
Symmetrisk vs. asymmetrisk kryptering
Symmetrisk kryptering är en av de två huvudsakliga metoderna för att kryptera data i moderna datorsystem. Den andra är asymmetrisk kryptering, vilket är den viktigaste tillämpningen av kryptering med offentlig nyckel. Huvudskillnaden mellan dessa metoder är det faktum att asymmetriska system använder två nycklar, snarare än den som används av de symmetriska systemen. En av nycklarna kan delas offentligt (offentlig nyckel) medan den andra måste hållas privat (privat nyckel).
Användningen av två nycklar istället för en ger även en mängd olika funktionella skillnader mellan symmetrisk och asymmetrisk kryptering. Asymmetriska algoritmer är komplexare och långsammare än de symmetriska. Eftersom de offentliga och privata nycklarna som används vid asymmetrisk kryptering till viss del är matematiskt relaterade, måste själva nycklarna också vara betydligt längre för att ge en liknande säkerhetsnivå som ges av kortare symmetriska nycklar.
Användningar i moderna datorsystem
Symmetriska krypteringsalgoritmer används i många moderna datorsystem för att förbättra datasäkerheten och användarnas integritet. Advanced Encryption Standard (AES) som ofta används i både säkra meddelandeprogram och molnlagring är ett bra exempel på en symmetrisk chiffer.
Förutom programvaruimplementeringar kan AES även implementeras direkt i datorhårdvara. Maskinvarubaserade symmetriska krypteringsscheman utnyttjar vanligtvis AES 256, vilket är en specifik variant av Advanced Encryption Standard och som har en nyckelstorlek på 256 bitar.
Bitcoins blockkedja använder inte kryptering som många tenderar att tro. Istället använder den en specifik typ av digital signaturalgoritm (DSA), känd som Elliptic Curve Digital Signature Algorithm (ECDSA) och som genererar digitala signaturer utan att använda kryptering.
En vanlig missuppfattning är att ECDSA är baserad på elliptisk kurvkryptografi (ECC), som i sin tur kan tillämpas för flera uppgifter, inklusive kryptering, digitala signaturer och pseudo-slumpmässiga generatorer. ECDSA kan dock inte användas för kryptering överhuvudtaget.
Fördelar och nackdelar
Symmetriska algoritmer ger en ganska hög säkerhetsnivå, samtidigt som de möjliggör att meddelanden krypteras och dekrypteras snabbt. Den relativa enkelheten hos symmetriska system är också en logistisk fördel, eftersom de kräver mindre datorkraft än de asymmetriska. Dessutom kan säkerheten som tillhandahålls av symmetrisk kryptering skalas upp, helt enkelt genom att öka nyckellängderna. För varje bit som läggs till längden på en symmetrisk nyckel ökar svårigheten att knäcka krypteringen genom en attack exponentiellt.
Även om symmetrisk kryptering erbjuder ett brett utbud av fördelar finns det en stor nackdel som förknippas med den: det inneboende problemet med att överföra nycklarna som används för att kryptera och dekryptera data. När dessa nycklar delas över en osäker anslutning är de sårbara och kan stjälas av skadliga tredje parter. Om en obehörig användare får åtkomst till en viss symmetrisk nyckel äventyras säkerheten för alla data som har krypterats med den nyckeln. För att lösa detta problem använder många webbprotokoll en kombination av symmetrisk och asymmetrisk kryptering för att skapa säkra anslutningar. Bland de bästa exemplen på ett sådant hybridsystem är Transport Layer Securitys (TLS) kryptografiska protokoll som används för att säkra stora delar av det moderna internet.
Det bör också noteras att alla typer av datorkryptering kan vara sårbarheter på grund av felaktig implementering. Även om en tillräckligt lång nyckel kan göra en attack matematiskt omöjlig, skapar ofta ett fel i implementeringen som gjorts av programmerare svagheter som öppnar vägen för cyberattacker.
Sammanfattningsvis
Tack vare sin relativa snabbhet, enkelhet och säkerhet används symmetrisk kryptering i stor utsträckning i tillämpningar som sträcker sig från att säkra internettrafik till att skydda data som lagras på molnservrar. Även om de ofta förknippas med asymmetrisk kryptering för att lösa problemet med säker överföring av nycklar, förblir symmetriska krypteringsscheman en kritisk komponent i modern datasäkerhet.