Kryptering
| Den hÀr artikeln behöver fler eller bÀttre kÀllhÀnvisningar för att kunna verifieras. (2025-11) à tgÀrda genom att lÀgga till pÄlitliga kÀllor (gÀrna som fotnoter). Uppgifter utan kÀllhÀnvisning kan ifrÄgasÀttas och tas bort utan att det behöver diskuteras pÄ diskussionssidan. |
Kryptering Àr att göra information svÄrlÀslig för alla som inte ska kunna lÀsa den. För att göra informationen lÀslig igen krÀvs dekryptering.
Historia
[redigera | redigera wikitext]Kryptering Àr troligtvis lika gammalt som skriftsprÄket sjÀlvt. Man vet att kryptering anvÀndes redan under Julius Caesars tid. NÀr ett brev skulle skickas med hemlig information krypterade man informationen. Julius algoritm var att förskjuta alfabetet n steg, och nyckeln var n. Om texten exempelvis Àr "kolobi" och n Àr tio blir det krypterade meddelandet "uyvyls" eftersom de bokstÀverna Àr tio steg framÄt i alfabetet. Detta kallas dÄ för C-10. Mottagaren flyttar bokstÀverna tio steg bakÄt för att dekryptera kryptot. Systemet var mycket enkelt och lÀtt att dekryptera, förutsatt att man visste algoritmen. Genom att prova 26 kombinationer kunde spioner lÀtt dekryptera ett meddelande. Med trÀning kan en van forcör göra förskjutningen "i huvudet" och lÀsa klartexten direkt, nÀstan lika lÀtt som okrypterad text. Krypteringssystemet har vissa likheter med dagens system. Ofta bestÄr krypteringssystemen av en algoritm och en nyckel.
Den moderna krypteringens tid började nÄgon gÄng efter andra vÀrldskriget i slutet av 1940-talet. Kryptografi och kryptoanalys tas upp i tvÄ artiklar av Claude Shannon och Warren Weaver, vilket blir grunden för den moderna tidens kryptering. Efter dessa tvÄ artiklar hÀnde det inte sÄ mycket inom kryptering tills 1969, dÄ IBM publicerade DES (Data Encryption Standard). IBM:s publicering ökade intresse för kryptering. Det medförde att flera varianter av DES dök upp pÄ marknaden, flera av dem anvÀnds Ànnu idag.
Krypteringens ÀndamÄl var frÄn början att i krigstid hindra fienden att fÄ reda pÄ kÀnslig information. Idag Àr det inte bara i krigstid som kryptering anvÀnds. NÀr vi ska betala rÀkningar via vÄr Internetbank, eller handla saker via nÀtet anvÀnds ofta kryptering. Det kan man bland annat se pÄ att ett hÀnglÄs visas i den webblÀsare man anvÀnder, vilket indikerar att trafiken som skickas och tas emot Àr krypterad. Viktig och kÀnslig information flödar stÀndigt pÄ Internet, och Àven lokalt pÄ dagens datorer. För att man ska kunna skydda och garantera att informationen inte snappas eller Àndras pÄ vÀgen, har krypteringen fyllt en viktig funktion. Kryptering har gett oss rÀtten till privatliv, dÄ vi sjÀlva kan avgöra vem som skall kunna ha tillgÄng till den information vi skickar.
I en del lÀnder finns lag som gör att polisen pÄ till exempel uppdrag av en IT-forensiker kan straffa den som ej pÄ dess begÀran lÀmnar ut krypteringsnyckeln; se Lag om nyckelutlÀmning.
Metoder och algoritmer
[redigera | redigera wikitext]Det finns flera olika metoder för kryptografi. Till varje metod finns ett antal sÀtt att rÀkna, det kallas algoritmer. Dessa Àr ofta skyddade av patent. Krav pÄ licens för att fÄ rÀtt att anvÀnda en krypteringsalgoritm Àr vanligt.
Olika metoder skiljer sig Ät, nÀr det gÀller sÀkerhet och hastighet för att kryptera och dekryptera. Vid kryptering av ett e-postbrev har man gott om tid pÄ sig att kryptera och dekryptera, medan vid andra tillfÀllen kanske man inte har sÄ gott om tid. Val av krypteringsalgoritm och metod mÄste sÄledes vÀljas noggrant.
MÄlet med kryptering Àr att sÀkerstÀlla behörighet till information, sÄ att informationen inte förÀndrats, och att man kan lita pÄ informationen. Oberoende av krypteringens ÀndamÄl, ska man strÀva efter att anvÀnda en sÄdan kryptering att det Àr omöjligt att knÀcka det krypterade meddelandet inom en rimlig tid med rimliga resurser. Metoder som Àr svÄra att knÀcka ens med dagens kalkylresurser, kallas starka metoder. Generellt kan man sÀga, att ju lÀngre nycklar man har, desto starkare Àr metoden.
Kryptering
[redigera | redigera wikitext]Kryptering bestÄr av tvÄ delar, en algoritm och en nyckel. NÀr man ska kryptera information anvÀnder man bÄde algoritm och en nyckel. Nyckeln Àr hemlig, och algoritmen kan vara antingen hemlig eller öppen. För dekryptering av informationen mÄste man ha tillgÄng till bÄde nyckeln och algoritmen.
Vanligaste typer av kryptering Àr symmetrisk och asymmetrisk kryptering. En mindre vanlig typ som anvÀnds Àr hashfunktion.[a] Den anvÀnder inte privata nycklar, utan fungerar pÄ sÄ sÀtt att man skriver en text och kör den texten genom en hash-funktion.
Symmetrisk kryptering
[redigera | redigera wikitext]Vid symmetrisk kryptering, Àven kallad rak kryptering, anvÀnds samma nyckel vid kryptering och dekryptering. Vid informationsutbyte mellan sÀndare och mottagare mÄste följaktligen bÄda ha tillgÄng till den nyckeln. Fördelen med symmetrisk kryptering Àr snabbheten. Nackdelen med symmetrisk kryptering Àr att om informationen ska delges flera personer mÄste alla dessa ha tillgÄng till samma nyckel. Ett annat problem Àr hur man pÄ ett sÀkert sÀtt ska överföra nyckeln frÄn sÀndaren till mottagaren (mottagarna). Eftersom en nyckel inte kan skickas krypterad med sin egen nyckel, mÄste man hitta ett annat sÀtt att skicka den frÄn sÀndare till mottagare.
TvÄ sÀkra sÀtt Àr att antingen personligen överlÀmna nyckeln muntligen eller via nÄgot medium, till exempel CD, diskett etc. Eller ocksÄ kan man överföra nyckeln med asymmetrisk kryptering.
Om samma nyckel existerar pÄ fler Àn ett stÀlle, blir resultatet att risken ökar att nyckeln kommer i orÀtta hÀnder. Ju fler stÀllen nyckeln finns pÄ, desto större Àr risken. För att upprÀtthÄlla sÀkerheten Àr det dÀrför viktigt att nyckeln byts ut emellanÄt, och att den gamla nyckeln aldrig mer anvÀnds. Av den anledningen ska den gamla nyckeln oÄterstÀlleligt förstöras omedelbart, sedan ny nyckel börjat gÀlla.
Triple-DES och Advanced Encryption Standard
[redigera | redigera wikitext]Triple DES (3DES) och Advanced Encryption Standard (AES) Àr tvÄ varianter pÄ symmetrisk kryptering. I 3DES anvÀnder sÀndaren och mottagaren tre stycken DES nycklar för att kryptera meddelandet. Genom sÀndaren krypteras det första meddelandet med första nyckeln. Sedan dekrypteras det med andra nyckeln för att slutligen krypteras med tredje nyckeln. SÀndaren skickar meddelandet till mottagaren som dekrypterar meddelandet med tredje nyckeln. Sedan sker en kryptering med andra nyckeln och slutligen en dekryptering med första nyckeln. Detta ger originalmeddelandet. Fördelen med 3DES Àr att det gÄr att anvÀnda samma mjuk- eller hÄrdvara för att kryptera 3DES som DES. 3DES ger en sÀkrare kryptering eftersom den mÄste kryptera tre gÄnger men det gÄr Ät mycket ram-minne och processorkraft.
| DES | 3DES | AES | |
|---|---|---|---|
| NyckellÀngd (bitar) | 56 | 168 | 128 192 256 |
| SÀkerhet | DÄlig | Bra | Bra |
| ProcessoranvÀndning | LÄg | Hög | VÀldigt lÄg |
| RAM-minnesbehov | LÄgt | Högt | VÀldigt lÄgt |
AES Àr tillrÀckligt effektiv i processor och ram för att det skall fungera i mobila telefoner. AES har nyckellÀngder 128,192 och 256bit. AES anvÀnder substitution-permutationskrypto och bygger dÀrmed pÄ omvandlig av text genom en följd av varierande substitutioner och permutationer, dÀr samtliga substitution-permuatation Àr ett varv. Antal varv vÀxlar beroende pÄ nyckellÀngden sÄ att AES-128 har 10 varv, AES-192 har 12 varv och AES-256 har 14 varv. Varje varv innehÄller fyra steg: byte substitution, radskiftning, kolumnblandning och nyckeladdition. Undantaget Àr sista rundan dÀr man hoppar över kolumnblandningen.
Asymmetrisk kryptering
[redigera | redigera wikitext]
Asymmetrisk kryptering skiljer sig frĂ„n symmetrisk kryptering genom att tvĂ„ olika nycklar anvĂ€nds. Den första nyckeln kallas öppen nyckel (engelska "Public Key") och den andra personlig nyckel (engelska "Private Key"). Den öppna nyckeln Ă€r tillgĂ€nglig för alla, medan den personliga nyckeln endast finns hos Ă€garen. Vid asymmetriska krypteringar anvĂ€nds den ena nyckeln â vanligtvis den öppna nyckeln â för att kryptera informationen. För dekryptering anvĂ€nds den personliga nyckeln. PĂ„ sĂ„ sĂ€tt kan man vara sĂ€ker pĂ„ att information som har blivit krypterad med en viss nyckel, kan dekrypteras bara med den motsvarande andra nyckeln. Vid överföring av information mellan sĂ€ndare och mottagare mĂ„ste alltsĂ„ sĂ€ndare A kĂ€nna till mottagare B:s öppna nyckel och kryptera meddelandet med densamma. Den enda som kan dekryptera meddelandet Ă€r nu den som har den tillhörande personliga nyckeln, d.v.s. mottagare B. Inte ens sĂ€ndare A kan dekryptera det meddelande som han sjĂ€lv krypterat eftersom han inte har tillgĂ„ng till B:s personliga nyckel. Man kan sĂ€ga att sĂ€ndare A anvĂ€nder den ena nyckeln (den öppna) för att lĂ„sa in meddelandet frĂ„n insidan av en dörr, medan mottagare B anvĂ€nder den andra nyckeln (den personliga) med ett annat utseende för att lĂ„sa upp dörren frĂ„n utsidan och dĂ€rmed fĂ„ tillgĂ„ng till informationen.
Fördelen med asymmetrisk kryptering Àr att ingen hemlig nyckel behöver skickas mellan sÀndare och mottagare, och att nycklarna vÀxelvis kan anvÀndas för antingen kryptering eller dekryptering, d.v.s. att det Àr Àven möjligt att i omvÀnd förbindelseriktning kryptera med den personliga nyckeln och dekryptera med den öppna. Nackdelen Àr att metoden Àr lÄngsam.
Utbytbarheten möjliggör anvÀndning av elektronisk signatur.
Algoritm för RSA-kryptering
[redigera | redigera wikitext]RSA-kryptering Àr den vanligaste algoritmen för asymmetrisk kryptering. Namnet kommer frÄn upphovsmÀnnen Ron Rivest, Adi Shamir och Len Adleman. Vid RSA-kryptering anvÀnds modulÀr aritmetik (modulo) för att kryptera. För att skapa personliga och öppna nycklar behövs tvÄ enormt stora primtal. Vi kallar primtalen P1 och P2; produkten kallar vi n som ger det antal bit som nyckeln bestÄr av. Sedan behöver vi ett annat tal, 1 < e < (P1 - 1)(P2 - 1) sÄ att e och (P1 - 1)(P2 - 1) Àr relativt prima. Talet e blir öppen nyckel. För att fÄ fram den personliga nyckeln anvÀnds en diofantisk ekvation
dÀr d Àr den personliga nyckeln. AlltsÄ Àr d det inverterade vÀrdet av
Eftersom det inte finns nÄgon effektiv algoritm för primtalfaktorisering av stora tal gÄr det inte att inom rimlig tid rÀkna ut de bÄda primfaktorerna P1 och P2 för n, inte ens om e och n Àr kÀnda. Man kan inte heller rÀkna ut d. Bara den mottagare som kÀnner till P1, P2 och d kan dekryptera meddelandet.
Krypteringen sker med den matematiska funktionen
Dekrypteringen blir dÄ
X Àr en numerisk representation av det meddelande som ska krypteras.
Exempel pÄ kryptering med RSA
[redigera | redigera wikitext]- P1 = 1249
- P2 = 1049
- e = 1 013 (öppen nyckel)
- d = 843Â 101 (personlig nyckel)
- n = 1Â 310Â 201
Det meddelande som skall krypteras med öppen nyckel Àr x = 444 807. Detta görs med
För att dekryptera meddelandet anvÀnder man den personliga nyckeln d = 843 101
Det ursprungliga meddelandet kommer dÄ fram.
NÀr anvÀnds symmetrisk eller asymmetrisk kryptering?
[redigera | redigera wikitext]Symmetrisk kryptering anvÀnds normalt dÄ stora datamÀngder ska krypteras. Den förutsÀtter att bÄda parter har en gemensam nyckel. En sÄdan kan parterna komma överens om eller överföra med hjÀlp av asymmetrisk kryptering. Asymmetrisk kryptering har fördelen att bara mottagaren av ett meddelande behöver kÀnna till den hemliga nyckeln. DÀrför anvÀnds den dÄ en mottagare vill kunna kommunicera sÀkert med mÄnga sÀndare utan att behöva explicit tilldela varje sÀndare en nyckel i förvÀg. Eftersom asymmetrisk kryptering bygger pÄ svÄra matematiska problem sÄ krÀver den betydligt mer komplicerade berÀkningar för att kryptera ett meddelande till en viss sÀkerhetsnivÄ jÀmfört med den berÀkningskraft det tar att uppnÄ motsvarande sÀkerhetsnivÄ med symmetrisk kryptering. Detta gör att man ofta vÀljer att kryptera en lÀngre datamÀngd med en slumpmÀssig engÄngsnyckel för symmetrisk kryptering, krypterar denna nyckel med asymmetrisk kryptering och bifogar det krypterade meddelandet. Asymmetrisk kryptering anvÀnds ocksÄ vid signering av meddelanden.
Symmetrisk kryptering anvÀnder normalt kortare nycklar Àn asymmetrisk kryptering. Det beror pÄ att dessa nycklar Àr hemliga för alla som inte ska kunna lÀsa meddelandet, och det enda sÀttet att knÀcka krypteringen Àr att gissa rÀtt nyckel. Vid asymmetrisk kryptering Àr den publika nyckeln kÀnd av alla, och det Àr i princip tillrÀckligt att kÀnna till den och det krypterade meddelandet för att kunna avkoda det. Krypteringens sÀkerhet ligger i att den operation som krÀvs för att avkoda meddelandet Àr avsevÀrt mycket svÄrare utan kunskap om den privata nyckeln Àn den Àr om den privata nyckeln Àr kÀnd. Att dela upp en produkt i tvÄ primtal Àr lÀtt om man vet det ena primtalet, men svÄrt annars. LikasÄ Àr det svÄrt att berÀkna den diskreta logaritmen, men exponentieringsregler gör att man med rÀtt kunskap inte behöver rÀkna ut den.
En vanlig nyckellĂ€ngd för symmetrisk kryptering Ă€r 128 bitar vilket resulterar i att det totala antalet möjliga nycklar Ă€r 2128. I genomsnitt sĂ„ mĂ„ste man pröva hĂ€lften av alla nycklar innan man kan hitta den rĂ€tta vilket ger 2127 nycklar som mĂ„ste testas innan meddelandet kan lĂ€sas. Testar man 100 miljarder nycklar per sekund sĂ„ tar det 5â 1019 Är innan man hittar den rĂ€tta nyckeln. Symmetriska nycklar med 100 bitars nyckellĂ€ngd eller mer anses sĂ€kra idag. I asymmetrisk kryptering anvĂ€nder man sig av nyckelstorlekar som Ă€r frĂ„n 512 upp till 4096 bitar. RSA har primtalsfaktoriserats upp till en nyckellĂ€ngd av 768 bitar (i december 2009)[1], sĂ„ nyckellĂ€ngden 1024 som tidigare generellt ansetts vara tillrĂ€ckligt sĂ€ker har i ökande utstrĂ€ckning börjat överges till förmĂ„n för 2048 bitar.
Hashfunktioner
[redigera | redigera wikitext]Med en hashfunktion kan man berÀkna en kort kontrollsumma (message digest) av bestÀmd lÀngd ur en datamÀngd av godtycklig lÀngd. Man kan inte rÀkna ut det ursprungliga meddelandet med hjÀlp av kontrollsumman. Eftersom antalet möjliga meddelanden Àr större Àn antalet möjliga kontrollsummor, kommer mÄnga olika meddelanden att ha samma kontrollsumma. En hashfunktion av god kvalitet kan dock konstrueras sÄ att det Àr berÀkningsmÀssigt svÄrt att hitta meddelanden som ger samma kontrollsumma. För att skapa en digital signatur i ett meddelande eller för att spara lösenord i operativsystem anvÀnds hashfunktioner som ocksÄ kallas enkelriktade funktioner. För att en digital signatur ska skapas rÀknar avsÀndaren ut en kontrollsumma med hjÀlp av meddelandet och krypterar den med sin privata nyckel. Mottagaren dekrypterar kontrollsumman med avsÀndarens publika nyckel, berÀknar meddelandets kontrollsumma och jÀmför den berÀknade kontrollsumman med kontrollsumman som dekrypterades med avsÀndarens publika nyckel. Om kontrollsummorna stÀmmer överens har meddelandet signerats med avsÀndarens privata nyckel och meddelandet har inte förÀndrats pÄ vÀgen över nÀtet.
Elektronisk signatur
[redigera | redigera wikitext]En elektronisk signatur sÀkerstÀller avsÀndarens identitet och meddelandets integritet, det vill sÀga att avsÀndaren Àr Àkta och att meddelandet inte har Àndrats pÄ vÀgen. Signaturen utökar dokumentet som skall skickas. För att bestÀmma den elektroniska signaturen anvÀnder avsÀndaren sin privata nyckel. Först rÀknas en kontrollsumma ut av meddelandet. Kontrollsumman krypteras med den privata nyckeln och signaturen bifogas i dokumentet. NÀr mottagaren tar emot meddelandet dekrypteras signaturen med hjÀlp av avsÀndarens publika nyckel. Mottagaren rÀknar sedan ut kontrollsumman pÄ meddelandet och jÀmför sedan dessa tvÄ resultat. Om avsÀndaren var Àkta och meddelandet orört kan mottagaren lita pÄ meddelandets integritet och avsÀndarens identitet.
Kommentarer
[redigera | redigera wikitext]- â Det engelska ordet hash betyder hacka sönder, stĂ€lla till oreda.
Se Àven
[redigera | redigera wikitext]Referenser
[redigera | redigera wikitext]- â âCryptology ePrint Archive: Report 2010/006: Factorization of a 768-bit RSA modulusâ. Arkiverad frĂ„n originalet den 13 december 2012. https://web.archive.org/web/20121213095435/http://eprint.iacr.org/2010/006. LĂ€st 4 februari 2015.
Vidare lÀsning
[redigera | redigera wikitext]- Simon Singh (1999). Kodboken. Stockholm: Norstedts. ISBN 91-1-300708-4
Externa lÀnkar
[redigera | redigera wikitext]
Wikimedia Commons har media som rör Kryptering.- Tom McCune's PGP Page
- Fencry ASCII text scrambler â Ett gratis krypteringsprogram.
- Idrix VeraCrypt byggt pĂ„ TrueCrypt â Ett gratis krypteringsprogram.
- GPG4Win byggt pĂ„ PGP â Kryptering av e-post.
- Keylength.com â HjĂ€lp för att vĂ€lja tillrĂ€cklig nyckellĂ€ngd enligt olika kĂ€llor.