Om krypto

Om krypton
Olika metoder
Andra metoder
Utökningar och varianter på denna metod
Diffie-Hellman
Rivest, Shamir och Adler
Fingerprinting
Sign here, please...

 


26/08-02 | Icepic | icepic@64bits.se
Utskriftsvänligare versionUtskriftsvänligare version


Utökningar och varianter på denna metod

Såvitt jag vet, är DES (en väldigt vanlig, berömd metod) snarlik den rullande metoden som jag just beskrivit, fast den tar in åtta bytes (64 bitar!) i taget och applicerar en 56-bitars nyckel på det. Det ingår en hel del snurrande med bitarna, omflyttande och liknande operationer, men principen är ganska lik ändå. Talen är mycket större, alfabetet är enormt mycket större, men i grunden handlar det ändå om att flytta runt all information på olika vis så att den ser obegriplig ut.

Det är ju dessutom en ganska stor vinst i att kunna ta in t.ex 8 bytes i taget och flytta runt bland dem, och inte bara jobba tecken för tecken, eftersom det ytterligare försvårar den typ av ordboksattack som jag beskrev ovan, där man efter att ha hittat "E" kan räkna ut "T" och "H" i en lagom stor engelsk text. Om man tar in texten "THEPLACE" och bortsett från andra transformeringar även flyttar plats på dem så att det blir "EATLCEPH" så kommer det vara mycket svårare att veta om ordet THE finns med eller inte. Det kanske stod "EELPATCH" eller nåt annat.

Efter DES (som har visat sig vara helt otillräcklig för dagens moderna datorer) har det kommit ett antal liknande krypton med varierande namn som 3DES, Blowfish, Rijndael, CAST, IDEA, ARC4.

3DES är precis som DES, fast man kör det tre gånger och har en tre gånger så stor nyckel. Först krypterar man en gång med en del av nyckeln, sen "dekrypterar" man men en annan del av nyckeln och sen krypterar man igen med den tredje och sista delen av nyckeln. Anledningen till att man gjorde på det viset är ju att om man sätteralla tre delarna av nyckeln till samma värde så får man den gamla DES igen. Man har ju krypterat, dekrypterat, och sen krypterat igen. Om man däremot kör den som man ska, så kommer man först förvanska det med första nyckeln, sen dekrypterar man med "fel" nyckel, vilket leder till att det blir än mer förvanskat, och till sist kör man det ett varv till, med den tredje delen av nyckeln.

De övriga metoderna skiljer sig mer från DES och har andra sätt att förvränga datat man kör igenom dem, men de är alla vad man kallar symmetriska krypton. Det betyder att nyckeln som krypterar ett meddelande även är den nyckel som dekrypterar det. Det är dessutom så, att varje gång man krypterar en fil med ett symmetriskt krypto och med en viss nyckel så får man samma resultat. Det kan vara både bra och dåligt, men oftast är det negativt, om man ser det ur ett säkerhetsperspektiv främst.

Oftast lagrar man lösenord med symmetriska krypton, och även om det är jobbigt att få reda på vad "ERTDBDVETERGDSRVSRF" kom ifrån för lösenord när det är krypterat, så kan man gå bakvägen och köra en ordlista genom samma algoritm. Skulle lösenordet finnas med i ordlistan kommer det ordet att bilda samma kryptografiska utdata och då vet man att man funnit lösenordet. Det är en av anledningarna till att man ska välja lösenord som inte återfinns i ordlistor. Givetvis inte heller med 0 (noll) istället för O eller 1 istället för I eller L, eftersom de bra lösenordsknäckarprogrammen provar även dessa kombinationer från alla ordlisteord.

Ett stort bekymmer med dessa algoritmer och metoder är att skydda och överföra nyckeln på ett betryggande sätt. Eftersom samma nyckel krypterar och dekrypterar meddelandet måste både sändaren och mottagaren ha en kopia av nyckeln. Är man orolig att någon fått tag på ens nyckel måste man byta och sända över en ny. Och det duger ju inte att sända den nya nyckeln i ett meddelande som är krypterat med den gamla. Det finns även andra problem, som är ännu mer udda, nämligen hur man ska kunna göra ett komplett nyckelutbyte på en publik kanal där andra hör på hela tiden.

Diffie-Hellman

Det problemet blev ett livsverk för två herrar med efternamnen Diffie och Hellman. Finns det ens en teoretisk möjlighet för de tänkta personerna Alice och Bob (A & B) att börja prata skyddat med varandra trots att de aldrig utbytt nycklar med varandra innan? Kan de dessutom göra det, även om person E (Eliza) sitter och lyssnar på hela nyckelutbytet?

Med de vanliga metoderna finns det ingen som helst chans att någon som hört hela nyckelutbytet inte kan dekryptera ett meddelande, Eliza har ju hört precis lika mycket som Bob, och om Alice sänder nyckeln till honom, så måste ju Eliza veta precis lika mycket som Bob. Men här kom det finurliga i deras "uppfinning":

Alice sänder inte hela nyckeln, hon sänder bara så mycket av den så att någon annan (Bob) kan identifiera henne, och så att han kan kryptera saker som bara hon kan dekryptera. För att Alice ska kunna sända till Bob så har hon tagit emot en del av hans nyckel. Men den delen Alice har fått av Bob (och tvärsom) gör inte att man kan kryptera som om man var nån annan, bara kryptera med den personer som mottagare.

Nyckeln delas alltså in i två delar, en hemlig del som man aldrig ger bort och som måste hållas skyddad, och en publik del som man kan (och bör) ge bort till hela världen. Alice nyckel består då av Ha och Pa, dvs Hemlig-del-A och Publik-del-A. Bobs nyckel består på samma sätt av Hb och Pb. Helt öppet (så Eliza kan höra) sänder Alice Pa till Bob, och Bob returnerar Pb. Nu har Alice nycklarna Ha,Pa och Pb och Bob har Hb, Pb och Pa. Eliza, den onda avlyssnerskan har He,Pe och givetvis Pa och Pb.

Det råder ett samband mellan H och P-nycklarna. Inte så att man kan få fram den hemliga med hjälp av den publika, men ändå ett samband. När Alice ska sända ett krypterat meddelande till Bob så använder hon sin hemliga nyckel Ha och Bobs publika nyckel, Pb. Det snillrika i det här systemet är då att det som krypterats med [HaPb] enbart kan dekrypteras av [HbPa]. Bob kan alltså inte dekryptera meddelandet om han inte har Alice publika nyckel. På det viset vet han dessutom att det är Alice som sänt meddelandet. Det kan man använda till att skapa digitala signaturer bland annat.

Den elaka Eliza som hörde deras nyckelutbyte och som har Pa och Pb kan inte dekryptera meddelandet, eftersom enbart kombinationen [HbPa] får upp låset. Hon kan dessutom inte fejka ett meddelande från Alice och sända till Bob, för Bob kommer inte kunna dekryptera ett meddelande som är krypterat med [HePb].

Detta var det Diffie och Hellman "uppfann". De har fått all ära för den snillrika upptäckten, men för ett par år sen visade det sig att en person på den brittiska underrättelse-tjänsten uppfunnit det först, men det blev hemligstämplat och förblev dolt och outnyttjat långt efter att D&H fått uppfinningen tillägnade sig.

Den som har hängt med här kan ha lagt märke till en udda finess som dessa s.k. assymetriska krypton har. Alice kan nämligen inte själv dekryptera meddelandet hon sänt till Bob. När jag skrev att enbart nyckelparet [HbPa] kan dekryptera meddelandet så menade jag det. Enbart Bob innehar just den kombinationen, så bara han kan läsa vad som stod där. Det problemet går att komma runt om man vill, jag återkommer till det senare. Men det är en finess som helt klart skiljer assymetriska krypton från symmetriska, eftersom de symmetriska kryptona krypterar och dekrypterar med samma nyckel.


« Föregående Nästa sida »

 

26/08-02 | Icepic | icepic@64bits.se
Utskriftsvänligare versionUtskriftsvänligare version

Diskutera denna artikeln i vårt forum!