Hemsida » hur » Vad är kryptering och hur fungerar det?

    Vad är kryptering och hur fungerar det?

    Kryptering har en lång historia som går tillbaka till när de forntida grekerna och romarna skickade hemliga meddelanden genom att byta bokstäver endast dechifreras med en hemlig nyckel. Gå med i en snabb historielektion och lär dig mer om hur kryptering fungerar.

    I dagens utgåva av HTG Explains ger vi dig en kort historia om kryptering, hur det fungerar, och några exempel på olika typer av kryptering. Se till att du även kolla in tidigare utgåva där vi förklarade varför så många geeks hatar Internet Explorer.

    Bild av xkcd, självklart.

    Krypteringens tidiga dagar

    De antika grekerna använde ett verktyg som kallades en Scytale för att hjälpa till att kryptera sina meddelanden snabbare med hjälp av en transpositionskodning - de skulle helt enkelt sätta fast pergamentbandet runt cylindern, skriva ut meddelandet och då skulle det inte vara sunt.

    Denna krypteringsmetod kan naturligtvis enkelt brytas, men det är ett av de första exemplen på kryptering som faktiskt används i den verkliga världen.

    Julius Caesar använde en något liknande metod under sin tid genom att flytta varje bokstav i alfabetet till höger eller vänster av ett antal positioner - en krypteringsteknik som kallas Caesars ciffer. Till exempel, med hjälp av exemplet chiffer nedan skulle du skriva "GEEK" som "JHHN".

    Vanligt: ​​ABCDEFGHIJKLMNOPQRSTUVWXYZ
    Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

    Eftersom endast den avsedda mottagaren av meddelandet kände till chiffern, skulle det vara svårt för nästa person att avkoda meddelandet, vilket skulle se ut som gibberish, men den person som hade chiffern kunde lätt avkoda och läsa den.

    Andra enkla krypteringsciphrar som Polybius-torget använde en polyalfabetisk chiffer som listade varje bokstav med motsvarande numeriska positioner över toppen och sidan för att berätta var läget för brevet var.

    Med ett bord som ovanstående skulle du skriva bokstaven "G" som "23" eller "GEEK" som "23 31 31 43".

    Enigma Machine

    Under andra världskriget använde tyskarna Enigma-maskinen för att passera krypterade sändningar fram och tillbaka, vilket tog år innan polen kunde spricka budskapen och ge lösningen till de allierade styrkorna, vilket var medverkande till sin seger.

    Historien om modern kryptering

    Låt oss möta det: moderna krypteringstekniker kan vara ett extremt tråkigt ämne, så istället för att bara förklara dem med ord har vi sammanställt en serietidning som talar om krypteringens historia, inspirerad av Jeff Mosers stavfigurguide till AES.  Obs: tydligt kan vi inte förmedla allt om krypteringens historia i en serietidning.

    Tillbaka på den tiden har människor inte en bra krypteringsmetod för att säkra sin elektroniska kommunikation.

    Lucifer var namnet på flera av de tidigaste civila blockcifrarna, utvecklade av Horst Feistel och hans kollegor hos IBM.

    Datakrypteringsstandarden (DES) är en blockkodning (en form av delad hemlig kryptering) som valdes av National Bureau of Standards som en officiell federal informationsbehandlingsstandard (FIPS) för Förenta staterna 1976 och som sedan har haft stor utsträckning använda internationellt.

    Bekymmer sig om säkerhet och den relativt långsamma driften av DES i mjukvarubaserade forskare för att föreslå en rad alternativa blockcipher designs, som började visas i slutet av 1980-talet och början av 1990-talet. Exempel är RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 och FEAL

    Rijndael-krypteringsalgoritmen antogs av den amerikanska regeringen som standardsymmetrisk nyckelkryptering, eller Advanced Encryption Standard (AES). AES offentliggjordes av National Institute of Standards and Technology (NIST) som USA FIPS PUB 197 (FIPS 197) den 26 november 2001 efter en 5-årig standardiseringsprocess där femton konkurrerande mönster presenterades och utvärderades innan Rijndael valdes som mest lämplig krypteringsalgoritm.

    Krypteringsalgoritm Performance

    Många krypteringsalgoritmer finns och de är alla lämpade för olika ändamål. De två huvudsakliga egenskaperna som identifierar och differentierar en krypteringsalgoritm från en annan är dess förmåga att säkra den skyddade data mot attacker och dess hastighet och effektivitet genom att göra det.

    Som ett bra exempel på hastighetsskillnaden mellan olika typer av kryptering kan du använda benchmarkingsverktyget som är inbyggt i TrueCrypts volymuppställningsguiden. Som du kan se är AES den klart snabbaste typen av stark kryptering.

    Det finns både långsammare och snabbare krypteringsmetoder, och de är alla lämpade för olika ändamål. Om du bara försöker dekryptera en liten bit data varje gång så har du råd att använda den starkaste möjliga krypteringen, eller till och med kryptera den två gånger med olika typer av kryptering. Om du behöver fart, skulle du förmodligen vilja gå med AES.

    För mer om benchmarking av olika typer av kryptering, kolla in en rapport från Washington University of St. Louis där de gjorde massor av test på olika rutiner och förklarade det hela i en mycket nörd skrivning.

    Typer av modern kryptering

    All den fina krypteringsalgoritmen som vi har pratat om tidigare används mest för två olika typer av kryptering:

    • Symmetriska nyckelalgoritmer använd relaterade eller identiska krypteringsnycklar för både kryptering och dekryptering.
    • Asymmetriska nycklaralgoritmer använd olika nycklar för kryptering och dekryptering - det här brukar kallas Public Key Cryptography.

    Symmetrisk nyckelkryptering

    För att förklara detta koncept använder vi posttjänstmetafforen som beskrivs i Wikipedia för att förstå hur symmetriska nyckelalgoritmer fungerar.

    Alice lägger sitt hemliga meddelande i en låda och låser lådan med ett hänglås som hon har en nyckel till. Hon skickar sedan rutan till Bob via vanlig post. När Bob tar emot lådan använder han en identisk kopia av Alices nyckel (som han på något sätt fått tidigare, kanske genom ansikte mot ansikte) för att öppna lådan och läsa meddelandet. Bob kan sedan använda samma hänglås för att skicka sitt hemliga svar.

    Symmetriska nycklaralgoritmer kan delas in i strömkodrar och blockera ciphers-stream-cifrar krypterar bitarna i meddelandet en åt gången och blockcifrar tar ett antal bitar, ofta i block av 64 bitar i taget och krypterar dem som en enda enhet. Det finns många olika algoritmer du kan välja mellan. De mer populära och väl respekterade symmetriska algoritmerna inkluderar Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES och IDEA..

    Asymmetrisk kryptering

    I ett asymmetriskt nyckelsystem har Bob och Alice separata hänglås, istället för det enda hänglåset med flera nycklar från det symmetriska exemplet. Obs! Det här är förstås ett mycket överskattat exempel på hur det verkligen fungerar, vilket är mycket mer komplicerat, men du får den allmänna idén.

    Först ber Alice Bob att skicka sitt öppna hänglås till henne genom vanlig post och hålla sin nyckel till sig själv. När Alice tar emot den använder hon den för att låsa en låda innehållande hennes meddelande och skickar den låsta rutan till Bob. Bob kan sedan låsa upp lådan med sin nyckel och läsa meddelandet från Alice. För att svara, måste Bob på samma sätt få Alices öppna hänglås för att låsa lådan innan den skickas tillbaka till henne.

    Den kritiska fördelen i ett asymmetriskt nyckelsystem är att Bob och Alice aldrig behöver skicka en kopia av sina nycklar till varandra. Detta förhindrar en tredje part (kanske i exemplet, en korrupt postarbetare) att kopiera en nyckel medan den är i transit, så att den tredje parten kan spionera på alla framtida meddelanden som skickas mellan Alice och Bob. Dessutom, om Bob var vårdslös och tillåtet någon annan att kopiera hans nyckeln, Alices budskap till Bob skulle äventyras, men Alices budskap till andra människor skulle förbli hemligt, eftersom de andra skulle ge olika hänglås för Alice att använda.

    Asymmetrisk kryptering använder olika nycklar för kryptering och dekryptering. Meddelandemottagaren skapar en privat nyckel och en allmän nyckel. Den offentliga nyckeln distribueras bland meddelandesändarna och de använder den offentliga nyckeln för att kryptera meddelandet. Mottagaren använder sin privata nyckel alla krypterade meddelanden som har krypterats med hjälp av mottagarens allmänna nyckel.

    Det är en stor fördel att göra kryptering på det här sättet jämfört med symmetrisk kryptering. Vi behöver aldrig skicka någonting hemligt (som vår krypteringsnyckel eller lösenord) över en osäker kanal. Din offentliga nyckel går ut i världen - det är inte hemligt och det behöver inte vara. Din privata nyckel kan vara snygg och mysig på din dator, där du genererade den - den behöver aldrig mailas någonstans eller läsas av angripare.

    Hur kryptering säkerställer kommunikation på webben

    I många år har SSL (Secure Sockets Layer) -protokollet säkrat webbtransaktioner med kryptering mellan din webbläsare och en webbserver, vilket skyddar dig från alla som kan snoopa på nätverket i mitten.

    SSL själv är begreppsmässigt ganska enkelt. Det börjar när webbläsaren begär en säker sida (vanligtvis https: //)

    Webbservern skickar sin offentliga nyckel med sitt certifikat.

    Webbläsaren kontrollerar att certifikatet har utfärdats av en betrodd part (vanligtvis en betrodd root CA), att certifikatet fortfarande är giltigt och att certifikatet är relaterat till webbplatsen kontaktad.

    Webbläsaren använder då den offentliga nyckeln, för att kryptera en slumpvis symmetrisk krypteringsnyckel och skickar den till servern med den krypterade URL som krävs liksom andra krypterade http-data.

    Webbservicen dekrypterar den symmetriska krypteringsnyckeln med sin privata nyckel och använder webbläsarens symmetriska nyckel för att dekryptera dess webbadress och http-data.

    Webbservern skickar tillbaka det begärda html-dokumentet och http-data krypterat med webbläsarens symmetriska nyckel. Webbläsaren dekrypterar http-data och html-dokument med hjälp av den symmetriska nyckeln och visar informationen.

    Och nu kan du säkert köpa det eBay-objekt som du verkligen inte behövde.

    Lär du dig något?

    Om du gjort det här långt är vi i slutet av vår långa resa till förståelse av kryptering och lite hur det fungerar - från och med de första dagarna av kryptering med grekerna och romarna, uppkomsten av Lucifer och slutligen hur SSL använder asymmetrisk och symmetrisk kryptering för att hjälpa dig att köpa den fluffiga rosa kaninen på eBay.


    Vi är stora krypteringsfångare här på How-To Geek, och vi har täckt många olika sätt att göra saker som:

    • Komma igång med TrueCrypt (för att säkra dina data)
    • Lägg till automatisk webbkryptering till Firefox
    • BitLocker To Go krypterar bärbara flashdatorer i Windows 7
    • Så här säkrar du din Linux-dator genom att kryptera hårddisken
    • Lägg till kryptera / dekryptera alternativ till Windows 7 / Vista-menyn
    • Komma igång med TrueCrypt-enhetskryptering i Mac OS X

    Naturligtvis är kryptering alltför komplicerat ett ämne för att verkligen förklara allt. Missade vi något viktigt? Ta gärna kunskap om dina medläsare i kommentarerna.