
www & kryptering
Som vi tidligere har set, er internettet en åben forbindelse og oplysninger bliver sendt i klartekst, dvs. alle kan læse den data, som bliver sendt. Det er ikke særligt sikkert. Slet ikke når det drejer sig om fx betalingsoplysninger og andre oplysninger, vi ikke vil have andre kan se.
Derfor bruger alle websites, hvor det kun er afsender og modtager, som må se meddelelsen, protokollen HTTPS (HyperText Transport Protocol Secure), som er en krypteret udgave af HTTP, der benytter SSL (Secure Socket Layer) eller TLS (Transport Layer Security). Man kan altid se om et website benytter HTTPS-protokollen ved at se i URL’en om S’et optræder i adresselinjen og om der er en hængelås.

SSL og TLS benytter sig af en række certifikater, som sikrer, at afsenderen er dem, de påstår, fx domæne verificeret-certifikat og firma verificeret-certifikat. De er begge kryptografiske protokoller, hvilket vil sige, at de muliggøre kryptering af følsomme oplysninger og autentificerer forbindelsen.
Kryptering
Kryptering er en teknologi, som krypterer og dekrypterer data, oftest følsom data. Vi bruger stort set alle sammen kryptering flere gange dagligt, fx når vi bruger websites, der benytter HTTPS-protokollen. Kryptering betyder, at en besked gøres ulæselig for andre end afsender og modtager samt andre som har nøglen til at dekryptere beskeden. Kryptering består af en algoritme, som kan omsætte almindelige læsbare beskeder (klartekst) til en krypteret ulæselig besked (chiffertekst).

Øvelse i kryptering 1
I foråret 2021 lagde CIA for sjov en lille gimmick op på deres Twitter-konto. Se om I kan dekryptere beskeden og forklare hvad der er står i beskeden.

Substitutionskoder
Den krypterede besked fra CIA er et eksempel på en såkaldt substitutionskode (også kaldet en ombytningskode), som kort forklaret betyder at man ombytter bogstaver og tegn i klartekst med andre tegn. For at læse en substitutionskode, skal modtageren altså kende den nøgle, afsenderen har brugt. Substitutionskoder bruger altså altid symmetrisk kryptering, hvor afsender og modtager har aftalt en hemmelig nøgle, som skal bruges.
De to mest almindelige substitutionskoder er mono-alfabetiske og poly-alfabetiske ombytningskoder.
Monoalfabetisk substitution
Monoalfabetiske ombytningskoder er enkelt-alfabetiske ombytningskoder, hvor man tager et bogstav og udskifter det med et andet bogstav. Den mest kendte er Cæsarkoden.
Polyalfabetisk substitution
Polyalfabetiske substitutionskoder er mange-alfabetiske, dvs. at der bruges mere end én nøgle til at kryptere beskeden. Fx bruges der en shift cipher på 5 til første bogstav, en på 14 til det andet bogstav osv. Det betyder, at der er flere nøgler til en besked. Den mest kendte polyalfabetiske substitutionskode er Vigenèrealgoritmen.

Cæsaralgoritmen
Cæsaralgoritmen er et eksempel på monoalfabetisk substitution, som blev benyttet under den romerske kejser Julius Cæsar. Hvert bogstav erstattes med et bogstav et antal pladser længere nede i alfabetet (shift cipher). Nøglen er antallet af pladser der flyttes.
Et shift cipher for det danske alfabet er givet ved
- e(x) = x+K modulo 29
- d(x) = x-K modulo 29
F.eks. i teksten “cæsar” med K=3 bliver “c” til “F”, “æ” til “A” osv., hvilket giver teksten “favdu”. Cæsaralgoritmen flytter hvert bogstav et antal pladser ned i alfabetet.
Eksemplet viser et skift på tre pladser, således at et B i klarteksten bliver til et E i chifferteksten.

Øvelse i kryptering 2
- Aftal med din sidemand en nøgle på 1 ciffer (0-9). Vælg et ord på 6-10 tegn. Kryptér med Cæsaralgoritmen og få din makker til at dekryptere ordet.
- Lav en hemmelig nøgle på 1 ciffer. Kryptér med Cæsaralgoritmen en hemmelig besked på 6-10 tegn, og få sidemanden til at dekryptere den.
- Aftal med din sidemand en nøgle på 2 cifre (10-29). Kryptér en hemmelig besked på 6-10 tegn, og få sidemanden til at dekryptere den.
- Lav en hemmelig nøgle på 2 cifre. Kryptér en hemmelig besked på 6-10 tegn, og få sidemanden til at dekryptere den.
Metoder til at bryde en mono-alfabetisk substitutionskode
Cæsaralgoritmen er ikke en effektiv krypteringsteknik. Der er tre oplagte måder, at bryde koden på, og I har brugt i hvert fald én af dem i øvelsen før.
Brute force.
krypteringen kan brydes med rå kraft ved at prøve alle mulige 29 forskydninger af indtil chifferteksten giver mening. Så har du brudt koden.
Smarte gæt.
Fordi Cæsarkoden kun forskyder alfabetet, kan man benytte sig af smarte gæt. Det er nok at gætte et enkeltord i koden, så følger resten af chifferteksten samme nøgle. Hvis chifferteksten har bevaret mellemrum er det ekstra let at gætte.
xiqvox vsqqoø s zyåaukååox
Der findes ikke mange enstavelses-ord i det danske sprog, så s må nødvendigvis svare til et i. Tæller vi baglæns ser vi at a ligger 8 bogstaver før i. Dvs. der er brugt en nøgle på 8. Tilsvarende begynder de fleste enstavelsesord med e og de mest brugte dobbeltkonsonanter på dansk er bb, ff, gg, kk, ll, mm, nn, pp og tt.
Frekvensanalyse.
Den sidste metode bruger et statistisk kendskab til det danske sprog. Vi ved at bogstavet E er det mest brugte og udgør 16% af en gennemsnitlig dansk tekst.
D, N og R bliver også brugt relativt meget. De optræder ca. halvt så ofte som bogstavet E.
Øvelse i kryptering 3
Her er et eksempel på en frekvensanalyse udført på en krypteret tekst (chiffertekst)
sxpyøwkasu loricoå suuo chøo åchøa.
noa oø lkøo oa åziøqåwjv yw ka pivqo
won yq vkco yzqkcoøxo
En hurtig optælling af bogstaverne viser, at…
- O optræder 14 gange
- Ø optræder 7 gange
- K optræder 5 gange
- A optræder 5 gange
Det vil derfor være logisk, at O svarer til E i chifferteksten, dvs. at nøglen er 10. Vi kan derfor bruge dette skema til at dekryptere chifferteksten.

Asymmetrisk kryptering
Som øvelserne har vist er symmetrisk kryptering og substitutionskoder ikke en effektiv måde at kryptere data på mere. Slet ikke når der bruges computere. Selv poly-alfabetiske substitutionskoder vil kun tage en almindelig computer kort tid at bryde.
Asymmetrisk kryptering gør brug af flere nøgler. En offentlig nøgle, som er kendt af både afsender og modtager og alle andre, samt to private nøgle, som er forskellige for afsender og modtager.

Diffie-Hellman
Et eksempel på asymmetrisk kryptering er Diffie-Hellman metoden. Videoen giver en forklaring på hvordan asymmetrisk kryptering fungerer (se fra 2.14).
Vigtige begreber
- Kryptering
- Klartekst og chiffertekst
- Substitutionskode
- Monoalfabetisk kryptering (ex Cæsaralgoritmen)
- Metoder til at bryde monoalfabetisk kryptering
- Polyalfabetisk kryptering (ex Vigenèrealgoritmen)
- Symmetrisk kryptering
- Asymmetrisk kryptering