Symmetrisk kryptering
Från Unix.se, den fria unixresursen.
Symmetrisk kryptering används främst för säker kommunikation över en osäker "kanal" (Internet är ett bra exempel). Det kan även användas för att säkert förvara filer på osäker media.
Innehåll |
Hur det fungerar
Föreställ dig att Alice vill skicka iväg ett mail med lösenord eller dylikt till Bob. Alice tar meddelandet och krypterar det med nyckeln K och skickar iväg det till Bob. Bob tar emot mailet och dekrypterar det med nyckeln K. Även om någon skulle lyckas sniffa upp mailtrafiken mellan person Alice och person Bob kan de inte läsa meddelandet utan att känna till nyckeln K.
Nackdelar
Det finns dock stora nackdelar med symmetrisk kryptering; alla parter som ska kunna läsa meddelandet måste känna till nyckeln. Om dessa personer bor långt ifrån varandra utan möjlighet att prata (telefon, internet och snigelpost kan anses som osäkra kanaler om man har att göra med extremt hemlig information) blir det svårt att förmedla nyckeln till alla personer säkert. Det finns dock en annan väg att gå med kryptering, ett sätt som löser nyckelproblemet. Se Assymmetrisk kryptering
Typer av algorimter
Det finns huvudsakligen två kategorier av symmetriska algoritmer: Blockchiffer och strömmande chiffer.
Blockchiffer
Blockchiffer krypterar texterna i omgångar, vanligtvis sker det med 64 bitar (8 tecken) åt gången. Chiffertexten har samma längd som den läsbara texten, 8 tecken. Detta betyder att man matar 8 tecken av en text/fil till algoritmen i fråga; algoritmen utför sedan ett antal matematiska funktioner och returnerar det krypterade resultatet. Sedan tar man de följande 8 tecknen, och så vidare.
Strömmande chiffer
Strömmande chiffer är inte begränsade av storleken på den inkommande texten utan krypterar allt eftersom. Detta gör det lämpligt för tex. SSH, där man har en enda lång session öppen där allting krypteras hela tiden.
Vanliga blockalgoritmer
DES
DES står för Data Encryption Standard och skapades av US National Bureau of Standards. Algoritmen utvecklades år 1974 och blev en ANSI-standard år 1977. DES använder sig av en nyckel på 64 bitar (8 tecken, endast 7 tecken (56 bitar) används dock i själva krypteringsprocessen). Algoritmen använder sig av en relativt liten nyckel med tanke på dagens datorkraft, och det är det mest kontroversiella med DES. Eftersom utvecklingsprocessen av DES inte offentliggjordes påstås det att det finns hemliga bakdörrar i algoritmen. Idag anses inte DES ha en tillräckligt hög säkerhet, speciellt beroende på den korta nyckellängden.
IDEA
International Data Encryption Algorithm, IDEA, utvecklades under 1991 vid ETHZ. IDEA använder sig av en nyckel på 128 bitar (16 tecken). Algoritmen fungerar i stort sett likadant som DES, den använder sig av 17 "rundor" för att kryptera datan men är dock snabbare. IDEA är även säkrare p.g.a. av den större nyckeln. Tyvärr är IDEA patenterat.
Blowfish
Blowfish utvecklades år 1993 av Bruce Schneier. Algoritmen var tänkt som en gratis och licensfri konkurrent till DES och IDEA. Blowfishnycklar har variabel längd, 32 till 448 bitar (4 till 56 tecken). Algoritmen är mycket snabbare än både DES och IDEA och används i över 150 produkter. Den är även standard i OpenBSD.
GOST
GOST utvecklades i det forna Sovjetunionen och är ganska okänd. Detaljerna rörande algoritmen, Soviet Standard - GOST 28147-89., publicerades 1990. Algoritmen använder sig av en nyckel på 256 bitar (32 tecken) samt SBOX-permutationer.
TEA
TEA, Tiny Encryption Algorithm, utvecklades av David Wheeler och Roger Needham. TEA är en liten, extremt snabb och säker algoritm. Algoritmen använder en nyckel på 128 bitar (16 tecken).
Triple DES
Triple DES (3DES)är i största enkelhet DES tredubblat. Triple DES använder sig av tre DES-nycklar, totalt 192 bitar (24 tecken). Säkerheten i Triple DES ligger i nyckeln. En nyckel på 8 tecken ger samma effekt som DES, en nyckel på 24 tecken utnyttjar Triple DES till fullo.
Twofish
Twofish är baserad på Blowfish och är utvecklad av Counterpane Labs. Algoritmen använder en nyckel på 256 bitar (32 tecken) och var även den kandidat till AES.
AES
AES (Advanced Encryption Standard), tidigare kallat Rijndael, utvecklades av Joan Daemen och Vincent Rijmen. Algoritmen har en variabel nyckel- och blockstorlek. Rijndael stödjer nyckelstorlekar/blockstorlekar på 128, 192, eller 256 bitar. AES är standardprotokollet i OpenSSH