Hva er kryptering, og hvordan virker det?
Kryptering har en lang historie som går tilbake til da de gamle grekerne og romerne sendte hemmelige meldinger ved å erstatte bokstaver som bare kan deklareres med en hemmelig nøkkel. Bli med på en rask historieleksjon og lær mer om hvordan kryptering fungerer.
I dagens utgave av HTG Explains gir vi deg en kort historie om kryptering, hvordan det fungerer, og noen eksempler på forskjellige typer kryptering. Pass på at du også sjekker ut forrige versjon, hvor vi forklarte hvorfor så mange geeks hater Internett Explorer.
Bilde av XKCD, åpenbart.
De første dagene av kryptering
De gamle grekerne brukte et verktøy kalt en Scytale for å kryptere deres meldinger raskere ved hjelp av en transposisjonskryptering. De ville bare vikle stripen av pergament rundt sylinderen, skrive ut meldingen, og da det ikke ville være fornuftig da det ikke var fornuftig.
Denne krypteringsmetoden kan selvfølgelig ganske enkelt brytes, men det er et av de første eksemplene på kryptering som faktisk blir brukt i den virkelige verden.
Julius Caesar brukte en noe lignende metode i løpet av sin tid ved å skifte hvert bokstav i alfabetet til høyre eller venstre av en rekke stillinger - en krypteringsteknikk kjent som keiserens kryptering. For eksempel, ved å bruke eksempelkrypteringen nedenfor, vil du skrive "GEEK" som "JHHN".
Vanlig: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC
Siden kun den tilsiktede mottakeren av beskjeden kjente krypteringen, ville det være vanskelig for den neste personen å dekode meldingen, som ville virke som gibberish, men personen som hadde krypteringen, kunne enkelt dekode og lese den.
Andre enkle krypteringsciphers som Polybius-torget brukte en polyalfabetisk kryptering som oppførte hvert brev med de tilsvarende tallposisjonene over toppen og siden for å fortelle hvor posisjonen til brevet var.
Ved å bruke et bord som det ovenstående ville du skrive bokstaven "G" som "23" eller "GEEK" som "23 31 31 43".
Enigma Machine
Under andre verdenskrig brukte tyskerne Enigma-maskinen til å passere krypterte overføringer frem og tilbake, noe som tok år før den polske var i stand til å sprekke budskapene og gi løsningen til de allierte styrkene, som var medvirkende til seieren.
Historien om moderne kryptering
La oss innse det: moderne krypteringsteknikker kan være et ekstremt kjedelig emne, så i stedet for å bare forklare dem med ord, har vi satt sammen en tegneserie som snakker om krypteringshistorien, inspirert av Jeff Mosers stavfigurveiledning til AES. Merk: Vi kan tydeligvis ikke formidle alt om krypteringens historie i en tegneserie.
Tilbake i disse dager har folk ikke en god krypteringsmetode for å sikre elektronisk kommunikasjon.
Lucifer ble navnet gitt til flere av de tidligste sivile blokkene, utviklet av Horst Feistel og hans kollegaer på IBM.
Datakrypteringsstandarden (DES) er en blokkkryptering (en form for delt hemmelig kryptering) som ble valgt av National Bureau of Standards som en offisiell Federal Information Processing Standard (FIPS) for USA i 1976, og som senere har hatt en omfattende utbredelse bruk internasjonalt.
Bekymringer om sikkerhet og relativt langsom drift av DES i programvare motiverte forskere til å foreslå en rekke alternative blokkeringsdesigner, som begynte å vises i slutten av 1980-tallet og tidlig på 1990-tallet. Eksempler er RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 og feal
Rijndael-krypteringsalgoritmen ble vedtatt av den amerikanske regjeringen som standard symmetrisk nøkkelkryptering, eller Advanced Encryption Standard (AES). AES ble annonsert ved National Institute of Standards and Technology (NIST) som US FIPS PUB 197 (FIPS 197) 26. november 2001 etter en 5-årig standardiseringsprosess der femten konkurrerende design ble presentert og evaluert før Rijndael ble valgt som mest egnet krypteringsalgoritme.
Krypteringsalgoritme ytelse
Mange krypteringsalgoritmer eksisterer, og de er alle egnet til forskjellige formål. De to hovedegenskapene som identifiserer og skiller en krypteringsalgoritme fra en annen, er dens evne til å sikre de beskyttede dataene mot angrep og dets hastighet og effektivitet ved å gjøre det.
Som et godt eksempel på hastighetsforskjellen mellom ulike typer kryptering, kan du bruke referanseprogrammet som er innebygd i TrueCrypts volumopprettingsveiviser. Som du kan se er AES den klart raskeste typen sterk kryptering.
Det er både langsommere og raskere krypteringsmetoder, og de er alle egnet til forskjellige formål. Hvis du bare prøver å dekryptere et lite stykke data hver så ofte, har du råd til å bruke den sterkest mulige kryptering, eller til og med kryptere den to ganger med forskjellige typer kryptering. Hvis du trenger fart, vil du sannsynligvis ønske å gå med AES.
For mer om benchmarking av ulike typer kryptering, sjekk ut en rapport fra Washington University of St. Louis, der de gjorde massevis av testing på ulike rutiner, og forklarte alt i en veldig nerdig oppskrivning.
Typer av moderne kryptering
All den fancy krypteringsalgoritmen som vi har snakket om tidligere, brukes mest for to forskjellige typer kryptering:
- Symmetriske nøkkelalgoritmer Bruk tilhørende eller identiske krypteringsnøkler for både kryptering og dekryptering.
- Asymmetriske nøkkelalgoritmer bruk forskjellige nøkler for kryptering og dekryptering - dette kalles vanligvis Public Key Cryptography.
Symmetrisk nøkkelkryptering
For å forklare dette konseptet, bruker vi posttjenestemetafen beskrevet i Wikipedia for å forstå hvordan symmetriske nøkkelalgoritmer fungerer.
Alice legger sin hemmelige melding i en boks, og låser esken med en hengelås som hun har en nøkkel til. Hun sender deretter boksen til Bob gjennom vanlig post. Når Bob mottar boksen, bruker han en identisk kopi av Alice-nøkkelen (som han på en eller annen måte har oppnådd tidligere, kanskje ved ansikt til ansikt) for å åpne boksen og lese meldingen. Bob kan da bruke samme hengelås for å sende sitt hemmelige svar.
Symmetriske nøkkelalgoritmer kan deles inn i stream-cifre og blokkere cifre-stream-cifre krypterer bitene av meldingen en om gangen, og blokkere cifre tar et antall biter, ofte i blokker med 64 biter av gangen, og krypterer dem som en enkelt enhet. Det er mange forskjellige algoritmer du kan velge mellom. De mer populære og respekterte symmetriske algoritmene inkluderer Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES og IDEA..
Asymmetrisk kryptering
I et asymmetrisk nøkkelsystem har Bob og Alice separate hengelås, i stedet for den eneste hengelåsen med flere nøkler fra det symmetriske eksempelet. Merk: Dette er selvfølgelig et sterkt oversimplisert eksempel på hvordan det virkelig fungerer, noe som er mye mer komplisert, men du får den generelle ideen.
Først spør Alice Bob å sende sin åpne hengelås til henne gjennom vanlig post, og holde nøkkelen til seg selv. Når Alice mottar det, bruker hun det til å låse en boks som inneholder meldingen hennes, og sender den låste boksen til Bob. Bob kan da låse opp boksen med nøkkelen og lese meldingen fra Alice. For å svare, må Bob på samme måte få Alices åpne hengelås for å låse boksen før han sender den tilbake til henne.
Den kritiske fordelen i et asymmetrisk nøkkelsystem er at Bob og Alice aldri trenger å sende en kopi av nøklene til hverandre. Dette forhindrer en tredjepart (kanskje i eksemplet, en korrupt postarbeider) fra å kopiere en nøkkel mens den er i transitt, slik at tredjepart kan spionere på alle fremtidige meldinger sendt mellom Alice og Bob. I tillegg, hvis Bob var uforsiktig og tillot noen andre å kopiere hans nøkkel, vil Alice's meldinger til Bob bli kompromittert, men Alices meldinger til andre mennesker vil forbli hemmelige, siden de andre ville gi forskjellige hengelås for Alice å bruke.
Asymmetrisk kryptering bruker forskjellige nøkler for kryptering og dekryptering. Meldingen mottaker oppretter en privat nøkkel og en offentlig nøkkel. Den offentlige nøkkelen er fordelt mellom meldingsavsenderne, og de bruker den offentlige nøkkelen til å kryptere meldingen. Mottakeren bruker sin private nøkkel til krypterte meldinger som er kryptert ved hjelp av mottakerens offentlige nøkkel.
Det er en stor fordel for kryptering på denne måten å sammenligne med symmetrisk kryptering. Vi trenger aldri å sende noe hemmelig (som vår krypteringsnøkkel eller passord) over en usikker kanal. Din offentlige nøkkel går ut til verden-det er ikke hemmelig, og det trenger ikke å være. Din private nøkkel kan være koselig og koselig på din personlige datamaskin, hvor du genererte den - den må aldri sendes via e-post, eller leses av angripere.
Hvordan kryptering sikrer kommunikasjon på nettet
I mange år har SSL-protokollen (Secure Sockets Layer) sikret nettransaksjoner ved hjelp av kryptering mellom nettleseren din og en webserver, som beskytter deg mot noen som kan snuse på nettverket i midten.
SSL selv er konseptuelt ganske enkelt. Den begynner når nettleseren ber om en sikker side (vanligvis https: //)
Webserveren sender sin offentlige nøkkel med sitt sertifikat.
Nettleseren kontrollerer at sertifikatet ble utstedt av et pålitelig parti (vanligvis en klarert rot CA), at sertifikatet fortsatt er gyldig og at sertifikatet er relatert til nettstedet kontaktet.
Nettleseren bruker deretter den offentlige nøkkelen til å kryptere en tilfeldig symmetrisk krypteringsnøkkel og sender den til serveren med den krypterte nettadressen som kreves, så vel som andre krypterte http-data.
Webserveren dekrypterer den symmetriske krypteringsnøkkelen ved hjelp av den private nøkkelen og bruker nettleserens symmetriske nøkkel til å dekryptere nettadressen og http-data.
Webserveren sender tilbake det forespurte html-dokumentet og http-dataene kryptert med nettleserens symmetriske nøkkel. Nettleseren dekrypterer http-data og html-dokument ved hjelp av den symmetriske nøkkelen og viser informasjonen.
Og nå kan du sikkert kjøpe det eBay-elementet du virkelig ikke trenger.
Lærte du noe?
Hvis du har gjort det så langt, er vi på slutten av vår lange reise til å forstå kryptering og en liten bit av hvordan det fungerer - fra de tidlige dagene av kryptering med grekerne og romerne, oppgangen til Lucifer, og til slutt hvordan SSL bruker asymmetrisk og symmetrisk kryptering for å hjelpe deg med å kjøpe den fluffy rosa kaninen på eBay.
Vi er store fans av kryptering her på How-To Geek, og vi har dekket mange forskjellige måter å gjøre ting som:
- Komme i gang med TrueCrypt (for å sikre dine data)
- Legg til automatisk nettstedkryptering til Firefox
- BitLocker To Go krypterer bærbare flashdrivere i Windows 7
- Slik sikrer du Linux-PCen din ved å kryptere harddisken
- Legg til Krypter / dekrypter Alternativer til Windows 7 / Vista Høyreklikk-meny
- Komme i gang med TrueCrypt-stasjonskryptering på Mac OS X
Selvfølgelig er kryptering altfor komplisert et emne som virkelig forklarer alt. Gjorde vi savner noe viktig? Ta gjerne litt kunnskap om dine medlesere i kommentarene.