Kryptologi 101
April 16, 2015Kryptologi er læren om å skjule et budskap i åpen kommunikasjon. På gresk betyr 'krypto' skjult, og 'logi' betyr ord. Den romerske keiseren Cæsar brukte ofte bokstavsubstitusjon for å kommunisere med generalene sine når brevet stod i fare for å bli fanget opp på veien. Bokstavsubstitusjon er en rudimentær metode for å kryptere et budskap. Den enkleste formen, som er svært lett å gjennomskjue, er 'A'=1, 'B'=2 osv. Denne metoden kan gjøres mer innfløkt ved at 'A' begynner på et annet tall enn 1, eller ved å hoppe over flere tall mellom hver bokstav. Nevnte metode møter dog ingen motstand fra en lærd person, eller selv de enkleste datamaskinene i moderne tid. En mer sofistikert variant av denne krypteringsmetoden utføres ved at tall refererer til sidetall og bokstavnummer på en side, i en på forhånd avtalt bok. Bibelen er kanskje den aller mest brukte boken til dette.

Bokstavsubstitusjon egner seg som eksempel på en enkel krypteringsmetode. Den kan enkelt veksle mellom kodet melding og klartekst, så lenge en kjenner metodikken (nøkkelen). Dette er et eksempel på symmetrisk kryptering. Samme nøkkel brukes da både for å kode og dekode meldingen. En har også den mer avanserte varianten, asymmetrisk kryptering, som benytter to ulike nøkler. Èn privatnøkkel og èn offentlig nøkkel (public). Den asymmetrisk krypteringen er et litt større tema som jeg ønsker å komme tilbake til i en senere artikkel.
Sånn illustreres symmetrisk-nøkkel kryptering:

Kryptering kan foregå tegn-for-tegn (stream cipher) eller blokkvis (block cipher). Stream ciphers er raskere, trenger mindre minne, men har også lavere krypteringsstyrke. Den er best i tilfeller der mengden data er ukjent, eller kontinuerlig, som i en nettverksstrøm, og på utstyr med mindre ressurser. Block ciphers, på den andre siden, er mer anvendelig når en sender filer eller hele nettsider som har en kjent størrelse og er avgrenset. Den kan kryptere dypere og kan også verifisere datainnholdet samtidig.
I prinsippet er det kun disse to operasjonene som utføres i ulike kombinasjoner for å obfuskere den opprinnelige meldingen; substitusjon og transposisjon, eller sagt enklere bytting og flytting:


