Hvad er kryptering, og hvordan virker det?
Kryptering har en lang historie, der går tilbage til, hvornår de antikke grækere og romerne sendte hemmelige beskeder ved at erstatte bogstaver, der kun kan dechifreres med en hemmelig nøgle. Bliv medlem for en hurtig historielektion og lær mere om, hvordan kryptering fungerer.
I dagens udgave af HTG Explains giver vi dig en kort historie om kryptering, hvordan det virker, og nogle eksempler på forskellige typer kryptering. Sørg for at du også tjekker den forrige udgave, hvor vi forklarede hvorfor så mange geeks hader internet Explorer.
Billede af xKCD, naturligvis.
De tidlige dage af kryptering
De antikke grækere brugte et værktøj kaldet en Scytale for at hjælpe med at kryptere deres meddelelser hurtigere ved hjælp af en transpositionskryptering - de ville simpelthen pakke strimlen af pergament rundt om cylinderen, skrive meddelelsen ud, og da det ikke ville give mening.
Denne krypteringsmetode kan selvfølgelig ganske let brydes, men det er et af de første eksempler på kryptering, der rent faktisk anvendes i den virkelige verden.
Julius Caesar brugte en lidt lignende metode i sin tid ved at skifte hvert bogstav i alfabetet til højre eller venstre af en række positioner - en krypteringsteknik kendt som kejsers ciffer. For eksempel, ved at bruge eksemplet chiffer nedenunder vil du skrive "GEEK" som "JHHN".
Almindelig: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Da kun den tilsigtede modtager af meddelelsen kendte chifferet, ville det være vanskeligt for den næste person at afkode beskeden, hvilket ville virke som gibberish, men den person, der havde chifferet, kunne nemt afkode og læse det.
Andre enkle krypteringsfelter som Polybius-firkanten anvendte en polyalfabetisk kryptering, der opregnede hvert bogstav med de tilsvarende numeriske positioner over toppen og siden for at se, hvor bogstavets position var.
Ved at bruge en tabel som den ovenstående ville du skrive bogstavet "G" som "23" eller "GEEK" som "23 31 31 43".
Enigma Machine
Under anden verdenskrig brugte tyskerne Enigma-maskine til at passere krypterede transmissioner frem og tilbage, hvilket tog år før polskerne kunne knække budskaberne og give løsningen til de allierede styrker, som var medvirkende til deres sejr.
Historien om moderne kryptering
Lad os se det: moderne krypteringsteknikker kan være et yderst kedeligt emne, så i stedet for blot at forklare dem med ord har vi sammensat en tegneserie, der fortæller om krypteringens historie, inspireret af Jeff Mosers stavefigur guide til AES. Bemærk: Vi kan tydeligvis ikke formidle alt om krypteringens historie i en tegneserie.
Tilbage i disse dage har folk ikke en god krypteringsmetode for at sikre deres elektroniske kommunikation.
Lucifer var navnet på flere af de tidligste civile blok-cifre, udviklet af Horst Feistel og hans kolleger hos IBM.
Datakrypteringsstandarden (DES) er en blok-kryptering (en form for fælles hemmelig kryptering), som blev valgt af National Bureau of Standards som en officiel Federal Information Processing Standard (FIPS) for USA i 1976, og som siden efter har haft en udbredt udbredelse brug internationalt.
Bekymringer om sikkerhed og den relativt langsomme drift af DES i software motiverede forskere til at foreslå en række alternative blokchifferdesigner, som begyndte at fremkomme i slutningen af 1980'erne og begyndelsen af 1990'erne. Eksempler herpå er RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 og FEAL
Rijndael krypteringsalgoritmen blev vedtaget af den amerikanske regering som standard symmetrisk nøgle kryptering eller Advanced Encryption Standard (AES). AES blev annonceret af National Institute of Standards and Technology (NIST) som US FIPS PUB 197 (FIPS 197) den 26. november 2001 efter en 5-årig standardiseringsproces, hvor femten konkurrerende designs blev præsenteret og evalueret, før Rijndael blev valgt som den mest egnet krypteringsalgoritme.
Kryptering Algoritme Performance
Der findes mange krypteringsalgoritmer, og de er alle velegnede til forskellige formål. De to hovedkarakteristika, der identificerer og differentierer en krypteringsalgoritme fra en anden, er dens evne til at sikre de beskyttede data mod angreb og dets hurtighed og effektivitet ved at gøre det.
Som et godt eksempel på hastighedsforskellen mellem forskellige typer kryptering kan du bruge benchmarking-værktøjet indbygget i TrueCrypts volumenoprettelsesguide. Som du kan se, er AES langt den hurtigste type stærk kryptering.
Der er både langsommere og hurtigere krypteringsmetoder, og de er alle velegnede til forskellige formål. Hvis du simpelthen forsøger at dekryptere et lille stykke data hver så ofte, har du råd til at bruge den stærkeste kryptering eller endda kryptere den to gange med forskellige typer kryptering. Hvis du har brug for fart, vil du nok gerne gå med AES.
For mere om benchmarking af forskellige typer kryptering, tjek en rapport fra Washington University of St. Louis, hvor de gjorde masser af test på forskellige rutiner og forklarede det hele i en meget narkotisk skrivning.
Typer af moderne kryptering
Al den fancy krypteringsalgoritme, som vi har talt om tidligere, bruges mest til to forskellige typer kryptering:
- Symmetriske nøglealgoritmer Brug relaterede eller ensartede krypteringsnøgler til både kryptering og dekryptering.
- Asymmetriske nøglealgoritmer Brug forskellige nøgler til kryptering og dekryptering - dette kaldes normalt Public Key Cryptography.
Symmetrisk nøgle kryptering
For at forklare dette begreb, bruger vi posttjenesten metaforen beskrevet i Wikipedia for at forstå, hvordan symmetriske nøglealgoritmer virker.
Alice sætter hendes hemmelige besked i en kasse og låser kassen med en hængelås, som hun har en nøgle til. Hun sender derefter kassen til Bob gennem almindelig post. Når Bob modtager boksen bruger han en identisk kopi af Alice's nøgle (som han på en eller anden måde har opnået, måske fra et ansigt til ansigt møde) for at åbne boksen og læse meddelelsen. Bob kan derefter bruge det samme hængelås til at sende sit hemmelige svar.
Symmetriske nøglealgoritmer kan opdeles i strømcifre og blokere cifre-stream-cifre krypterer bitene af meddelelsen en ad gangen, og blokere cifre tager et antal bits, ofte i blokke med 64 bit ad gangen, og krypterer dem som en enkelt enhed. Der er mange forskellige algoritmer, du kan vælge imellem. De mere populære og respekterede symmetriske algoritmer omfatter Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES og IDEA..
Asymmetrisk kryptering
I et asymmetrisk nøglesystem har Bob og Alice separate hængelås, i stedet for den enkelte hængelås med flere nøgler fra det symmetriske eksempel. Bemærk: Dette er selvfølgelig et meget oversimplificeret eksempel på hvordan det virkelig virker, hvilket er meget mere kompliceret, men du får den generelle ide.
Først beder Alice Bob om at sende sin åbne hængelås til hende via almindelig post og holde sin nøgle til sig selv. Når Alice modtager det, bruger hun det til at låse en kasse indeholdende hendes besked og sender den låste kasse til Bob. Bob kan så låse boksen op med sin nøgle og læse meddelelsen fra Alice. For at svare, må Bob ligeledes få Alice's åbne hængelås til at låse boksen, inden han sender den tilbage til hende.
Den kritiske fordel i et asymmetrisk nøglesystem er, at Bob og Alice aldrig behøver sende en kopi af deres nøgler til hinanden. Dette forhindrer en tredjepart (måske i eksemplet, en korrupt postarbejder) fra at kopiere en nøgle, mens den er i transit, så tredjemand kan spionere på alle fremtidige meddelelser sendt mellem Alice og Bob. Derudover, hvis Bob var skødesløs og tilladt nogen anden at kopiere hans Alice's beskeder til Bob ville blive kompromitteret, men Alice's beskeder til andre mennesker ville forblive hemmelige, da de andre ville give forskellige hængelås til Alice at bruge.
Asymmetrisk kryptering bruger forskellige nøgler til kryptering og dekryptering. Meddelelsesmodtageren opretter en privat nøgle og en offentlig nøgle. Den offentlige nøgle er fordelt mellem meddelelsesafsenderne, og de bruger den offentlige nøgle til at kryptere meddelelsen. Modtageren bruger deres private nøgle til krypterede meddelelser, der er krypteret ved hjælp af modtagerens offentlige nøgle.
Der er en stor fordel ved kryptering på denne måde i forhold til symmetrisk kryptering. Vi behøver aldrig sende noget hemmeligt (som vores krypteringsnøgle eller adgangskode) over en usikker kanal. Din offentlige nøgle går ud til verden - det er ikke hemmeligt, og det behøver ikke at være. Din private nøgle kan forblive tæt og hyggelig på din pc, hvor du genererede den - den skal aldrig mailes overalt eller læses af angribere.
Hvordan kryptering sikrer kommunikation på nettet
I mange år har SSL (Secure Sockets Layer) -protokollen sikret webtransaktioner ved hjælp af kryptering mellem din webbrowser og en webserver, hvilket beskytter dig mod enhver, der måske snooper på netværket i midten.
SSL selv er begrebsmæssigt ret simpelt. Det begynder, når browseren anmoder om en sikker side (normalt https: //)
Webserveren sender sin offentlige nøgle med sit certifikat.
Browseren kontrollerer, at certifikatet er udstedt af en betroet part (normalt en betroet root-CA), at certifikatet stadig er gyldigt, og at certifikatet er relateret til den kontaktede side.
Browseren bruger derefter den offentlige nøgle til at kryptere en tilfældig symmetrisk krypteringsnøgle og sender den til serveren med den krypterede URL, der kræves, samt andre krypterede http-data.
Webserveren dekrypterer den symmetriske krypteringsnøgle ved hjælp af den private nøgle og bruger browserens symmetriske nøgle til at dekryptere dens URL og http data.
Webserveren sender tilbage det ønskede html-dokument og http-data krypteret med browserens symmetriske nøgle. Browseren dekrypterer http-data og html-dokument ved hjælp af den symmetriske nøgle og viser oplysningerne.
Og nu kan du sikkert købe det eBay-emne, du virkelig ikke havde brug for.
Lærte du noget?
Hvis du har gjort det så langt, er vi i slutningen af vores lange rejse til forståelse af kryptering og en lille smule af hvordan det virker - fra de tidlige dage af kryptering med grækerne og romerne, Luciferens opkomst og endelig hvordan SSL bruger asymmetrisk og symmetrisk kryptering til at hjælpe dig med at købe den fluffy pink bunny på eBay.
Vi er store krypteringsfanere her på How-To Geek, og vi har dækket mange forskellige måder at gøre ting som:
- Kom godt i gang med TrueCrypt (for at sikre dine data)
- Tilføj automatisk webkryptering til Firefox
- BitLocker To Go krypterer bærbare flashdrev i Windows 7
- Sådan sikres din Linux-pc ved at kryptere din harddisk
- Tilføj Krypter / dekrypter indstillinger til Windows 7 / Vista Højreklik-menu
- Kom godt i gang med TrueCrypt-drevkryptering på Mac OS X
Selvfølgelig er kryptering alt for kompliceret et emne til virkelig at forklare alt. Har vi savnet noget vigtigt? Du er velkommen til at lægge viden om dine medlæsere i kommentarerne.