Institutt for informatikk og matematiske fag

Kurs 850 Internett og intranett

Kryptering


Hva er målet, problemet og løsningen?

Mål 1:

Når det er ønsket: Sikkerhet for at kun rette vedkommende kan lese informasjonen (filene, e-postmeldingene).

Problemet:

At Internett ikke er et sikkert overføringsmedium, dvs. at de elektriske signalene som representerer informasjonen, kan fanges opp og tolkes som informasjon av uvedkommende.

Og løsningen?

Å kryptere informasjonen (selve transmisjonslinjene på Internett kan vi jo ikke gjøre sikrere i en håndvending), som mottakeren så må dekryptere.

Mål 2:

Når det er ønsket: Sikkerhet for at den mottatte informasjonen har rett avsender.

Problemet:

En hver kan utgi seg for å være en annen.

Og løsningen?

Å stemple avsendt informasjon med en signatur, som mottakeren så kan verifisere.


Det generelle prinsippet for kryptering og dekryptering

Koding: Den opprinnelige meldingen blir kodet (eng.: encoded) ved å transformere de opprinnelige tegnene til nye "uforståelige" tegn.

Dekoding: Transformasjonen reverseres, eller inverteres.

Man har en kodenøkkel eller en dekodenøkkel dersom man kjenner transformasjonene.

Jo enklere transformasjonen foregår, jo lettere er det å oppdage nøkkelen. For meget enkle transformasjoner, kan man oppdage nøkkelen ved å betrakte antall forekomster av tegn, og man kan anta at de oftest forekomne kodene svarer til de oftest forekomne tegnene. Eksempelvis er bokstaven "e" den vanligste bokstaven. Vanlige ord, dvs. tegnsekvenser, kan også identifiseres, og dermed dekodes, på denne måten.

Kompliserte kodenøkler innebærer bruk av resultater fra tallteori. Ifm. militær kommunikasjon baseres nøklene på faktorisering av svært store heltall, det kan være heltall som representeres med 40 bits. Med 40 bits kan 2^40 = 10^12 ulike sekvenser av 0 og 1 representeres. Det skal med slike kodenøkler svært mye til at (selv en datamaskin) kan dekode meldingen.


Enkelnøkkel-kryptering

Dette går ut på at koding og dekoding foregår med én og samme kodenøkkel. Detter kalles også symmetrisk kryptering.

Eksempler på krypteringsprogramvare (gratis):


Dobbelnøkkel-kryptering

Dette innebærer at det brukes én nøkkel til å kryptere og en annen nøkkel til dekryptere meldingen.

Disse to nøklene er:

  • Den offentlige nøkkelen (eng.: public key).
  • Den private nøkkelen (eng.: private key). 

Disse to nøklene hører sammen. Den offentlige nøkkelen kan distribueres over hele verden. Den kan f.eks. legges ut på en webside. Eksempel på offentlig nøkkel.  Den private nøkkelen derimot, er unik for hver person, og den må du oppbevare kun på din PC.


Bruk av dobbelnøkkel for å kryptere en fil

  1. Du må ha (lage) en offentlig nøkkel og en tilhørende privat nøkkel.
  2. Jeg må kjenne din offentlige nøkkel.
  3. Jeg bruker din offentlige nøkkel til å kryptere meldingen.
  4. Du bruker din private nøkkel til å dekryptere meldingen. (Ingen andre enn du kan dekryptere denne meldingen.)

Merk at det gjør ingen ting om alle andre kjenner din offentlige nøkkel. De kan ikke bruke den til dekryptering! Det er jo bare fordelaktig om alle andre kjenner din nøkkel, for da kan de sende deg krypterte meldinger!


Bruk av dobbelnøkkel til å signere fila

Dette punktet er punktet ovenfor opp-ned!

Anta at du (NN) skal motta en melding fra meg (FH), og du vil forsikre deg om at det faktisk er meg som har sendt meldingen. Jeg krypterer da meldingen og sender den krypterte meldingen, og du dekoder den. Framgangsmåten er detaljert:

  1. Jeg må ha (lage) en offentlig nøkkel og en tilhørende privat nøkkel.
  2. Jeg bruker min private nøkkel til å kode meldingen.
  3. Du må kjenne min offentlige nøkkel.
  4. Du bruker min offentlige nøkkel til å dekode meldingen.

Når kryptering brukes for å lage en "sikker" avsender, sier vi at det er laget en sikker (data)signatur (eng.: signature).


PGP

PGP=Pretty Good Privacy.

PGP er en dobbelnøkkelbasert kryperingsmetode oppfunnet av studenten Phil Zimmermann rundt midten av 90-tallet. PGP-programvare er tilgjengelig for forskjellige plattformer (Unix, Windows, Mac).

PGP er tilgjengelig fra MIT (Mass. Inst. of Techn.) i USA. PGP er patentert i USA, og det er ikke tillatt å laste ned PGP fra MITs PGP-side utenfra USA (og Canada). Imidlertid fins det en lovlig, gratis "internasjonal" versjon av PGP, kalt PGPi, tilgjengelig fra http://www.pgpi.org/.

I PGP kan du samle offentlige nøkler i en nøkkelring (virtual key ring), som bare er en fil som inneholder nøklene.

PGPi inneholder en rekke krypteringsfunksjoner:

  • Kryptering av filer og hele kataloger
    • vha. privat nøkkel
    • og vha. et fritt valgt passord ("konvensjonell kryptering")
    • selvdekrypering
  • Dekryptering
  • Signering
  • Verifisering (at avsender er autentisk)

[Kursets hjemmeside] [Framdriftsplanen]
Oppdatert 8.11.01 av Finn Haugen (e-post: Finn.Haugen@hit.no)