Jeg driver for tiden og leser Simon Singh,
The Code Book. Det er en ganske fin sak, svært interressant. Den handler altså om historien til koding av beskjeder, fra de gamle grekerne og denslags, som skrev på en lærrem som måtte surres rundt en stokk av passe tykkelse for at man skulle kunne lese beskjeden, via Cæsar og Enigma, og opp til RSA, som er kvalitetskryptografering man bruker i dag.
RSA er ganske spenstige greier. Den omgår nemlig latterlig enkelt det største problemet med moderne kryptografering, nemlig nøkkeldistribusjon. Det hjelper nemlig svært lite om krypteringen er sikker, hvis nøkkelen blir stjålet, og stort sett all kryptografering krever at avsender og mottaker blir enige om en nøkkel. Når man skal sende hundrevis av meldinger hver dag, og man helst ikke bør bruke samme nøkkel to ganger, da begynner dette å bli et problem.
RSA funker på en helt annen måte. Poenget her at at det finnes to nøkler. En privat, som du beholder i arkivskapet ditt, og en offentlig, som du poster på calcuttagutta så hele verden kan lese den. Ved hjelp av den offentlige nøkkelen kan alle som måtte ønske det kryptere en melding, som bare du kan dekryptere ved hjelp av din private nøkkel. Hemmeligheten ligger i at den offentlige nøkkelen fremkommer ved å multiplisere to svære primtall, typisk med langt over hundre siffer hver. Den nøkkelen man da får kan man bruke sammen med litt triksing, til å kryptere en beskjed som ikke kan dekrypteres uten å vite hva de opprinnelige to primtallene var. Og det er ikke bare bare.
For å sjekke om et tall er primtall må man forsøke å faktorisere det, det vil si sjekke om det er delelig med alle primtall mindre enn roten av det opprinnelige tallet. For å finne faktorene av et tall dannet ved å gange sammen to store primtall må man sjekke alle primtallene opptil det minste av de to. Det vi si at det er en operasjon som er ca roten av det minste primtallet størrelsesordener mer komplisert og tidkrevende. På norsk betyr det at det er fordømt vanskelig.
The Code Book, som er litt utdatert på alt som har med pcer og internet å gjøre sier at det ville ta alle verdens pcer ca 1000000000 ganger universets levetid å knekke den beste RSA-krypteringen man hadde dengangen. Jeg synes det høres tvilsomt ut, men det illustrerer poenget.
Forøvrig er det en litt tungvint prosess å kryptere med RSA, så det er vanlig å bruke det til å sende en nøkkel, og så kryptere resten av meldingen med en kode som er enklere å anvende.
Mer om RSA kan man lese på
Wikipedia. Det er også litt gøy å nevne at britisk etteretning faktisk kjente til dette systemet i 4 år før R, S og A kom på det i -77.
-Tor Nordam
Comments