Kryptografi
Fra Wikipedia, den frie encyklopedi
Kryptografi er læren om lingvistiske og matematiske teknikker for å sikre informasjon mot innsyn eller modifikasjon, som oftest i forbindelse med kommunikasjon. Den historisk mest interessante delen av kryptografi er kryptering, som består i å prøve å gjøre en melding uleselig for andre enn de som er ment å motta den. Moderne kryptografi omfatter også teknikker for å kunne verifisere at en melding ikke har blitt endret siden den ble sendt, eller at den har blitt sendt av en autorisert sender; dette brukes blant annet i systemer som elektronisk signatur og digitale penger.
Innhold |
[rediger] Ikke databaserte systemer
Den tidligste kjente form for kryptering var egyptiske skribenter som ca 1900 f.kr. byttet ut hieroglyfene med andre. En annen tidlig krypteringsmetode var Cæsarmetoden som ble brukt ca 50 år f.kr. Den gikk ut på å forflytte alle bokstavene i alfabetet et visst antall plasser. Det vil si om nøkkelen er 3, så vil bokstaven "a" bli erstattet med "d", "b" med "e", "c" med "f", osv. Ordet "viktig" blir kryptert til "ylnwlj". Cæsar brukte denne metoden når han sendte meldinger til sine generaler. Metoden er ikke særlig sikker og antall nøkkelkombinasjonen er bare 29 (i det norske alfabet). Antall nøkkelkombinasjoner er en viktig egenskap ved en krypteringsmetode. Antallet må være så høyt at det ikke er praktisk mulig å løse krypteringen ved hjelp av prøv og feil metoden (brute force). Likevel for en som ikke hadde noen form for kjenskap til kryptoanalyse var metoden tilstrekkelig for å beskytte meldingene.
[rediger] Substitusjonschiffer
Monalfabetisk : I denne typen kryptering så bytter man ut en bokstav med en annen. Da vil for eksempel "a", bytte plass med "j", "b" med "y", "c" med "f" etc. I utgangspunktet er antall nøkler i det norske språk (29 bokstaver) formidabelt. Kombinasjonene er 29*28*27*26..1 (ned til 1). Dette gir milliarder av nøkler. Likevel er krypteringen lett å løse ved hjelp av frekvensanalyse. Den har likevel vært mye i bruk gjennom tidene. Som en enkel form for kryptering hvor man ikke vil at en tjener eller andre skal lese inneholdet, var den som regel sterk nok. I kombinasjon med andre krypteringsmetoder kan den bli sterk, se Enigma. Et eksempel på et svært svakt monoalfabetisk substitusjonschiffer er ROT13.
Polyalfabetisk : Svakheten ved en monoalfabetisk kryptering er at bokstaven alltid er den samme. Bokstaven a vil alltid være for eksempel j, slik som i eksemplet over. Om man derimot ved første forekomst av bokstaven «a» erstattet denne med «j» og neste gang erstattet «a» med «y», vil det bli mye vanskeligere å knekke krypteringen siden «a» kan opptre som enten j eller y. Et chiffersystem hvor flere tegn representerer et tegn, kalles polyalfabetisk. Den franske diplomaten Vigenère (1523–1596), introduserte det polyalfabetiske substitusjonschifferet. Dette var en kraftig forbedring i forhold til krypteringsmetodene som eksisterte. Faktisk ble metoden brukt under andre verdenskrig og som reserveløsning i dag. Likevel så ble den ikke brukt i alle sammenhenger fordi den var langsommere og vanskeligere i bruk.
[rediger] Andre verdenskrig
Som ved andre teknologier, fikk andre verdenskrig stor betydelse for utviklingen av kryptografi. Man begynte og gå over til maskinell kryptering, å kryptere for hånd var tidkrevende og tildels en usikker fremgangsmåte. Flere typer elektromekaniske innretninger, slik som den berømte Enigma, så dagens lys. Tyskland som okkuperte store områder over store avstander, hadde et ekstra stort behov for effektiv kryptering. I tillegg til Enigma utviklet de også Lorenz chiffer systemet, et krypteringssystem for fjernskriver. Lorenz brukte hjul slik som Enigma, for så å bruke XOR (eksklusiv eller ) til å kryptere meldingene i ECB modus (se under databaserte systemer). Man greide også å utvikle ekte digitale systemer (SIGSALY), et Amerikansk krypteringssystem beregnet på å kryptere tale. SIGSALY ble brukt av toppledere i de allierte landene, spesielt mellom USA og England.
Kryptoanalysen gjennomgikk også en revolusjon, og det var nettopp dette som førte til at den første programmerbare digitale datamaskinen, Colossus ble tatt i bruk (1944). Den ble med stort hell brukt til å knekke de tyske lorenz meldingene. Ironisk nok greide svensken Arne Beurling å knekke de tyske meldingene mellom Norge og Tyskland med papir og penn, på bare to uker.
[rediger] Databaserte systemer
[rediger] Symmetrisk kryptering
Ved symmetrisk kryptering bruker man samme nøkkel både ved kryptering og dekryptering av data. Krypterings metoden er som regel meget sterk. Problemet er distribusjonen av nøkler. Det er en risiko for at en nøkkel kan komme på avveie, eller at man ikke er i stand til å utveksle nøkler.
Data Encryption Standard eller DES er den mest kjente databaserte krypterings metoden. Den ble introdusert i 1975 av IBM, basert på en tidligere algoritme (Lucifer), konstruert av Horst Feistel. Nøkkelen var på 56 bits, en litt svak nøkkel. Årsaken til at nøkkelen ble på 56 bits, var at NSA USA's sikkerhetstjeneste ikke ville ha en altfor sterk algoritme. Med 56 bits fikk man likevel en ganske sterk kryptering, men ikke så sterk at NSA ikke kunne dekryptere den om nødvendig. Selv om 56 bits DES fortsatt er i bruk er den i dag altfor svak (2006). Et cluster av datamaskiner kan knekke krypteringen i løpet av noen timer (brute force). For fortsatt å kunne bruke hardware lagd for DES, innførte man en ny variant kalt trippel DES. I trippel DES blir informasjonen blir kryptert 3 ganger, styrken er på effektive 112 bits. Trippel DES har milliarder av flere kombinasjoner en 56 bits DES. Den er ennå heller ikke knekkt ved brute force.
DES tilhører kategorien Blokk Chiffer de fleste symetriske krypterings system er basert på denne teknikken. I en blokk chiffer (algoritme) deles informasjonen opp i blokker som så gjennomgår krypterings prosessen. I DES bruker man blokker på 64 bits, disse blir delt i to nye blokker på 32 bits. Disse blokkene kalles høyre og venstre, disse blokkene blir kryptert (Exclusive OR) med 48 bits nøkler i et feistel nettverk. DES kjører 64 bits blokkene 16 runder før den er ferdig med krypteringen.
[rediger] Blokk metoder
Det er flere metoder for å kryptere blokkene i et blokkchiffer system, de fire vanligste er :
Electronic Code Book (ECB) Et relativt enkelt og hurtig system. Her blir hver enkel blokk eller tegn kryptert med XOR (eksklusiv eller), for å produsere chifferteksten. Når man skal dekryptere, gjentar man bare prosessen for å hente fram klarteksten. Systemet er helt sikkert om krypteringsnøkkelen er tilfeldig valgt og er like lang som teksten, da har man et engangschiffer. I de aller fleste tilfeller bruker man en mindre nøkkel for å lage flere nøkler, noe som svekker systemet. Eventuelle svakheter og mønster i nøklene synes lett i chiffermeldingen. For at dette systemet skal være sikkert, må man bare kryptere med samme nøkkel én gang. Under andre verdenskrig gjorde tyske Lorenzoperatører flere tabber, bl.a. å kryptere samme melding to ganger. ECB anbefales kun brukt som system dersom informasjonen er liten eller om man har mulighet til å bytte nøkkel ved ny kryptering.
Cipher Block Chaining (CBC) Ligner på ECB ved at man krypterer blokkene med XOR, men i stedet blir resultatet av krypteringen kryptert på nytt med neste blokk og neste nøkkel. Ved denne metoden så vil klartekste blir blandet med nøkkelen slik at man produserer et chiffer som ikke bare er avhengig av nøkkelen, men også klarteksten.
Cipher Feedback Mode (CFB) Ligner på CBC, her blir resultatet ført tilbake i en selv synkroniserende strøm av chiffer.
Output Feedback Mode (OFB) Lik som CFB, men synkron. Dette beskytter bedre mot feil i overføringen, bla fordi feil rettingssystemer kan brukes før og etter krypteringen.
[rediger] Asymmetrisk kryptering
- Se også utdypende artikkel om Asymmetrisk kryptering
Asymmetrisk kryptering, kalles også offentlig nøkkel kryptering. Man benytter to nøkler, en privat og en offentlig nøkkel. Fordelen er at om Per ønsker å sende en beskjed til Kari, kan han bruke Karis offentlige nøkkel til å kryptere meldingen med. Kari som også har den hemmelige nøkkelen, kan dekryptere meldingen. Selv om for eksempel Eva fanger opp meldingen og er i besittelse av den offentlige nøkkelen, kan hun ikke dekryptere meldingen. Fordelen med dette systemet er at man slipper problemet med nøkkeldistrubusjon, man trenger ikke å være redd for at nøkler skal komme på avveie. Per trenger jo ikke å få noen hemmelig nøkkel av Kari før han skal sende meldingen. Den offentlige nøkkelen kan hvem som helst få, Kari kan legge den på sin hjemmeside eller maile den uten at dette er noen risiko.
Asymmeriske nøkler kan også brukes til signering. Dersom Kari krypterer en melding med sin hemmelige nøkkel, så kan alle som har hennes offentlige nøkkel dekryptere og lese meldingen. Dersom meldingen faktisk er lesbar og gir mening, så er Kari den eneste som kan ha skrevet meldingen.
[rediger] Kvantekryptering
Krypteringsmetode basert på Heisenbergs usikkerhetsrelasjon. Først beskrevet av studenten Stephen Wiesner på slutten av 60 tallet. Prinsippet løser et alvorlig problem med kryptering, utvekslingen av nøkkeler. I tillegg åpnes det en mengde andre muligheter. En egenskap ved kvantemekanikken er prinsippet ved å måle eller registrere en tilstand, så utelukker man muligheten for flere observasjoner. Dette utnyttes i Kvantekryptering ved å sende informasjon fra punkt a til b, så vet man at sålenge B kan lese informasjonen fra A (og motsatt) er det helt umulig for andre å tyvlytte. Samtidig om noen tyvlytter, så vil plutselig informasjonen bli uleselig. En mengde nesten uvirkelige andre muligheter ved kvantekryptering finnes. Et eksempel er en beskjed som inneholder to meldinger, ved å velge å lese en av beskjedene blir det umulig å lese den andre. Kvantepenger, penger som ikke kan forfalskes. Det har nå blitt konstruert overføringssystemer som bruker fotoner for å utveksle symmetriske krypteringsnøkler. Da er man ikke avhengig av asymmetrisk (PKI) kryptering for å utveksle nøkler, noe som styrker krypteringen betydelig siden symmetrisk kryptering som regel er betydelig sterkere en asymmetrisk.
[rediger] Framtiden
Dagens databasert kryptering er meget sikker, i allefall for det private kommersielle markedet. Det er ikke kjent at noen kriminell organisasjon har knekt nøkler på 112 bits (trippel DES) eller andre kraftigere systemer. I en verden hvor informasjon og kommunikasjon spiller en større rolle, blir sikringen av informasjonen viktigere. I Norge og Europa har vi prinsipielt fri tilgang til kryptering, dette i motsetning til mange andre land. Det er ikke sikkert det fortsetter å være slik. Politiets viktigste metoder for å bekjempe kriminalitet og terrorisme er avlytting. Dessverre så er kryptering et toegget sverd, det kan beskytte, men samtidig også misbrukes. Et Engelskt forslag som stadig dukker opp, er "key escrow". Et system hvor en tredjepart oppbevarer nøkler og hvor myndighetene må ha rettens kjennelse for å få nøklen. For å få lov til å benytte sterk kryptering så må man til gjengjeld gi en kopi til denne tredje parten. Likevel så innser de fleste at man ikke kan hindre utbredelsen av kryptering, hverken i form av lovverk eller ved å hindre eksport. Samtidig er kryptering en nødvendighet i dagens moderne samfunn. En betingelse for all e-handel, men kanskje en nødvendighet for å bevare frihet og demokrati.
[rediger] Se også
[rediger] Eksterne linker
- SECOQC, et Europeiskt prosjekt for å utvikle kvantekryptering
- Tom McCune's PGP Page
- Fencry ASCII text scrambler - Et gratis krypteringsprogram.