OpenPGP

**OpenPGP** er nemninga på ein type datateknologi som lèt brukaren kryptera elektroniske informasjon på ein slik måte at det ikkje er mogeleg for andre enn dei informasjonen opphavleg var mynta på å lesa han, og er difor eit utbreidd verktøy mellom folk som ynskjer å kommunisera trygt over Internett. Denne teknologien finst i dag i ei rekkje program, mellom anna Free Software Foundation sitt GNU Privacy Guard-program og PGP Corporation sine PGP-produkt, men han vart fyrst oppfunnen og utvikla i 1991 av US-amerikanaren Philip Zimmermann. OpenPGP-standarden har RFC-nummer 4880.

## Soge
Teknologien vart utvikla i 1991 av US-amerikanaren Philip Zimmermann, som såg på trygg kommunikasjon som ein av rettane i den amerikanske grunnlova, og difor meinte at folk burde ha tilgjenge til eit verktøy som kunne tryggja e-post-kommunikasjon, som er eit veldig usikkert kommunikasjonsmedium dersom ein ikkje nyttar til dømes OpenPGP-kryptografi. Zimmermann var sjølv aktiv i anti-atomvåpen-rørsla, og ynskte seg eit verktøy som kunne syta for at meldingane han utveksla med likesinna ikkje ville verta fanga opp og lesne av styremaktene. Forkortinga PGP står for «Pretty Good Privacy».

På den tida dekte dei amerikanske reglane for våpeneksport òg datakryptografi sterkare enn 40 bitar, og dei amerikanske styremaktene gjekk difor til sak mot Zimmermann i 1993 for å stogga all eksport av PGP til utlandet. For å omgå denne regelen, fekk Zimmermann kjeldekoden til PGP-programmet trykt i ei bok som vart utgjeven av forlaget til MIT-universitetet i delstaten Massachusetts. Den amerikanske grunnlova vernar all eksport av bøker, og difor kunne kjeldekoden framleis eksporterast til utlandet i bokform.

Den frie standarden OpenPGP, som ligg til grunn for dei ulike programma som finst i dag, vart føreslegen i 1997, og spesifikasjonane eit program må ha for å leva opp til denne standarden finst i RFC-dokument 4880.

Dei viktigaste produsentane av OpenPGP-programvare er i dag PGP Corporation, eit privat føretak som sel kommersielle dataløysingar som byggjer på OpenPGP-teknologi, Free Software Foundation, ein organisasjon som kjempar for fri programvare og mellom anna står bak GPL-lisensen, som har eit program som heiter GNU Privacy Guard. NetBSD-prosjektet er òg i ferd med å utvikla ein eigen versjon av programvara som skal vera lisensiert under BSD-lisensen, som ikkje krev deling av koden under same vilkår.

## Korleis fungerer det?
OpenPGP byggjer på «offentleg nykel»-prinsippet (engelsk: *public-key cryptography*). Det tyder at ein brukar i utgangspunktet har to nyklar, ein «hemmeleg» og ein «offentleg». Den hemmelege nykelen bør ideelt sett ha eit godt passord og lagrast trygt slik at uvedkomande ikkje kan få tak i han for best mogeleg tryggleik. Den offentlege nykelen må ein dela med alle ein ynskjer å ha trygg datakommunikasjon med. Det er vanleg å lasta opp den offentlege nykelen ein har til såkalla «nykeltenarar» (engelsk: *keyserver*), slik at kven som helst kan søkja og finna nyklane til folk dei vil kommunisera med.

Når person A har skrive ei melding ho ynskjer å senda til person B, må person A fyrst finna nykelen til person B. Denne kan ho ha fått av person B ved eit anna høve, eller ho kan ha funne han på ein nykeltenar på Internett. Meldinga person A ynskjer å senda, vert så kryptert ved hjelp av ein matematisk algoritme. Person A kan no senda meldinga til person B, som dekrypterer meldinga ved hjelp av den hemmelege nykelen sin, som berre han har tilgjenge til, og har på denne måten høve til å lesa det opphavlege innhaldet i meldinga.

Programma som nyttar seg av OpenPGP-teknologi brukar ulike matematiske algoritmar for å gjera dette på ein måte som er både rimeleg rask og trygg. Nokre døme på slike algoritmar er Digital Signature Algorithm (DSA), ElGamal, Rivest-, Shamir- og Adleman-algoritmen (RSA) og International Data Encryption Algorithm (IDEA). Desse algoritmane byggjer på ein eigenskap ved primtal og primtalprodukt, nemleg at det i praksis er umogeleg å gjetta faktorane til produkta av store primtal.

## Kor trygt er det?
Tryggleiken i dette systemet er avhengig av to ting. Den fyrste er at passordet på den hemmelege nykelen ikkje kan vera lett å knekkja. Det vil som regel seia at dei er lengre enn åtte teikn, inneheld både små og store bokstavar, tal og teikn og at dei ikkje inneheld ord som finst i ordbøker. Den andre er at hemmelege nyklar må lagrast så trygt som mogeleg. Dersom ein hemmeleg nykel ligg på harddisken til ein datamaskin, er det viktig at det ikkje er lett å få tilgjenge til datamaskinen og det som ligg der. Dersom nykelen ligg på eit transportabelt lagringsmedium som til dømes ein minnepinne, må denne gøymast godt. Det kan òg vera eit alternativ å skriva ned den hemmelege nykelen på eit papir dersom han ikkje er i bruk ofte.

Det er per i dag praktisk tala umogeleg å «knekkja» filer og meldingar som er krypterte ved hjelp av OpenPGP-teknologi. Det er truleg at overvakingsorganisasjonar tilknytte store land, som til dømes NSA i USA arbeider med å utvikla metodar for å utnytta veikskapar ved krypteringsalgoritmane som er i bruk, og slike organisasjonar vil ofte òg ha tilgjenge til datamaskinar med stor reknekraft, som gjer dei i stand til å gå gjennom mange ulike primtalfaktorar fort og forsøkja å «gjetta» den rette kombinasjonen. Ein trur likevel at sjølv desse institusjonane har vanskeleg for å knekkja OpenPGP-krypterte filer og meldingar.

Det er ei vanleg oppfatting at såkalla «kvantedatamaskinar» vil ha så stor reknekraft at denne teknologien ikkje lenger vil vera sikker, men dette vert ikkje rekna som eit stort trugsmål av di det ikkje enno er mogeleg å produsera slike datamaskinar.

## Kjelder
* Zimmermann, P. «Why I Wrote PGP» http://www.philzimmermann.com/EN/essays/WhyIWrotePGP.html (engelsk)
* Heimesidene til GNU Privacy Guard-prosjektet http://www.gnupg.org/ (engelsk)
* Heimesidene til PGP Corporation http://www.pgp.com/  (engelsk)
* Heimesidene til BSD Privacy Guard-prosjektet http://netbsd-soc.sourceforge.net/projects/bpg/ (engelsk)
* Forklåring av matematikken bak RSA-algoritmen http://mathworld.wolfram.com/RSAEncryption.html (engelsk)