Tegn, tall & koder
Hovedinnhold
Kodeteori finner metoder for å sikre at meldinger kommer frem til tross for støy og forstyrrelser (og bitmonstre!). Alle data som sendes eller lagres -- f.eks. gjennom telefonlinjer, satellittforbindelser og på lagringsmedia som CD-er og DVD-er -- er utsatt for støy. Data som sendes i moderne kommunikasjonssystemer representeres ved bitmønstre, og innimellom blir en 0 oppfattet som 1 eller omvendt. Det er umulig å unngå dette, men virkningene av slike feil kan dramatisk reduseres ved å bruke metoder fra kodeteori. Det vanligste er å sende ekstra informasjon i tillegg til selve meldingen. Selv om feil oppstår, så kan den ekstra informasjonen brukes til å gjenskape den korrekte meldingen. I kodeteorien studeres metoder for å legge til ekstra informasjon, og for å raskt og effektivt finne den sannsynlige meldingen blant all støyen.
Kryptografi er å sikre at hemmelige meldinger ikke kan leses -- eller endres -- av uvedkommende. Til alle tider har det vært viktig å beskytte følsomme data -- selv Cæsar hadde sitt hemmelige kodesystem. Tradisjonelt har sender og mottaker kryptert (kodet meldingen) og dekryptert (avkodet) dataene med samme hemmelige kodenøkkelen. Nøkkelen måtte man bli enig om på forhånd. I 1970-årene kom et gjennombrudd i kryptografien. Da ble offentlig nøkkel ("public key") kryptosystemet oppfunnet. I dette tilfellet har hver bruker to nøkler, en hemmelig og en offentlig. Meldinger kryptert med den offentlige nøkkelen kan leses med den hemmelige nøkkelen, og omvendt. Dermed kan to personer som ikke har møtt hverandre (og utvekslet en hemmelig nøkkel) likevel sende hverandre hemmelige meldinger. Slike systemer brukes også til å unngå uautoriserte endringer av data, som for eksempel beløp eller mottaker i banktransaksjoner. All netthandel og nettbanktjenester baserer seg på kryptografi, men kryptografi alene er ikke nok til å lage sikre systemer. Som for internettet forøvrig, er det ikke sikkert den du utveksler hemmeligheter med er den du tror. Forskning og arbeid med datasikkerhet, og opplæring av brukere er viktig for å lage trygge nettbaserte tjenester.
