Ole Tange er talnørd og ekspert i kryptering. Han tager gerne ud og underviser PROSA medlemmer i krypteringens krinkelkroge.

KRYPTERING

Forstå kryptering – og hvordan den kan brydes

Politisk rådgiver og talnørd hos PROSA, Ole Tange, giver her en hurtigt introduktion til kryptering.

 

Din smartphone bruger kryptering hver eneste dag. I apps sker dette helt automatisk: Du behøver sjældent tage stilling til kryptering – det sker bare.

Det er en velgennemtestet teknologi, så selv situationer, hvor man kunne nøjes mindre avanceret teknologi, er det ofte nemmere blot at bruge kryptering.

Alt digitalt kan udtrykkes som en række 0'er og 1'er. Det er uanset om det er en webside, en video eller et ”Like” på Facebook.

Hvis hvert atom i solsystemet (10^57) var en supercomputer, der kunne teste 1 mia nøgler i sekundet (10⁹), så ville det tage over 1.000 år at finde den rigtige (10^11 sekunder).

Tilfældige rækker

Moderne kryptering går ud på at lave metoder, der kan generere en række tal, der ser ud til at være tilfældige, men som ikke er det. < Dette er den vigtigste sætning inden for moderne kryptering, så læs den lige igen.

Man genererer den "tilfældige" række ud fra en nøgle. Nøglen også blot et tal.

Hver eneste gang der sendes noget krypteret, så laver computeren en ny ”tilfældig” række, og i de fleste situationer vælger computeren blot et tilfældigt tal som ny nøgle til at danne rækken. Tallet er ofte 256-bit hvilket vil sige 77 cifre langt.

Her er et tilfældigt 256-bit tal: 87054462466121336796499689506081535497288989265948394827620308805539190747955. 
 

Vores mest udbredte asymmetriske krypteringsmetoder (kaldet RSA og ECC) kan pga. en matematisk svaghed knækkes af kvantecomputere


Flip og xor

Det geniale i kryptering ligger i at flippe tilfældige rækker af tegn udtrykt ved 1 og 0. 

Her er 80 bits. Det kunne være 10 tegn fra en email:

01000000010100000111001001101111011100110110000101001111011011000110010100111011

Hvis vi har en lige så lang (80 bit) tilfældig række 0'er og 1'er - f.eks:

10110011010101110011100100101001101001001010000100001010111110101110101001000010

Ved at sætte de to rækker op mod hinanden kan vi flippe (vende) bitten i den originale række, hver gang den tilfældige række har tallet 1 og lade være med at flippe, hvis den tilfældige række har tallet 0.

Så får vi en række så ser sådan her ud:

11110011000001110100101101000110110101111100000001000101100101101000111101111001

Det kalder vi 'xor' (udtales eks-or).

Matematisk kan man vise, at hvis den tilfældige række *er* tilfældig, så vil man aldrig kunne gætte den oprindelige række tal.

Hvis man xor'er den tilfældige række på igen, så kommer man tilbage til den oprindelige værdi.

Således magien bag kryptering. Hvis afsender og modtager begge har den tilfældige række, så kan afsender kryptere sin hemmelige besked ved at xor’e den med den tilfældige række, sende resultatet uden at nogen kan forstå den, og modtager kan så dekryptere den ved at xor'e den samme tilfældige række på igen og dermed få den hemmelige besked tilbage.

 

Sådan kan kryptering brydes:

Når man laver end-to-end kryptering, så er det kun afsender og modtager, der har nøglen. Der findes altså ikke en server på vejen, der kan låse op for krypteringen.

Hvis man skal bryde kryptering, så er der 3 veje:

  • Test alle nøgler.
    På engelsk: brute-force. Hvis der er 2²⁵⁶ (2^256) mulige nøgler, så er der flere nøgler, end der er atomer i universet – ikke blot solsystemet, men universet! (For at forstå tallenes størrelse så er der, er der 30.000.000.000.000.000.000 atomer (19 nuller) blot i en 1 kubikcentimeter luft!). Det betyder, at hvis hvert atom i solsystemet (10^57) var en supercomputer, der kunne teste 1 mia nøgler i sekundet (10⁹), så ville det tage over 1.000 år at finde den rigtige (10^11 sekunder).
     
  • Find en matematisk fejl.
    Hvis man kan forudsige det næste tal i fra vores generator af "tilfældige" tal, så er krypteringen brudt. I praksis betragter man generatoren, som væsentligt svækket, hvis man kan finde en metode, der kan skelne de ”tilfældige” tal fra reelt tilfældige tal. Der er trængsel på krypteringmetodernes kirkegård, fordi man har fundet fejl i mange krypteringsmetoder, der gjorde det nemmere at forudsige det næste tal. Da mange matematikere prøver på dette for moderne kryptering, så er det imidlertid ikke nemt, men med AI får matematikerne et nyt værktøj, som måske kan finde matematiske svagheder.
    Vores mest udbredte asymmetriske krypteringsmetoder (kaldet RSA og ECC) kan pga. en matematisk svaghed knækkes af kvantecomputere. Derfor har vi udviklet kryptering, der kan modstå kvantecomputere (kaldet CRYSTALS-Kyber).
     
  • Stjæl nøglen.
    På engelsk: use a backdoor or side channel. Hvis du kan stjæle nøglen, så kan offeret kryptere lige så tosset han vil, for så kan du dekryptere den krypterede besked. Dette er typisk, hvad man gør i dag; også her kan AI nogle gange gøre det nemmere.


Hvis du udvikler software i dag, så bør du bruge et krypteringsbibliotek, der gør det muligt for dig at skifte til CRYSTALS-Kyber; og med mindre, du har gode grunde, bør du bruge 256-bit nøgler ved symmetrisk kryptering.

 

Ole Tange giver gerne en grundigere introduktion og forklaring til kryptering.

Hvis du kan samle 12 PROSA-medlemmer, kan du bestille Ole Tange til at komme forbi og forklare om den matematiske tryllekunst bag kryptering. 


Læs også...

Det var en helt ny fornemmelse, da Søren tidligere på året blev ramt af stress, for han havde aldrig oplevet stresssymptomer før. Søren har arbejdet i…

I 1999 havnede Berit Søgaard mere eller mindre tilfældigt i IT-branchen, og hun har arbejdet her lige siden. I dag er hun compliancedirektør i Visma,…

Nettet er proppet til randen med websider, som kan hjælpe dig med det ene eller andet eller har så nørdet viden, at de med fordel kan besøges.

Unge tech-folk fortæller om deres håb og drømme for fremtiden. Danske virksomheder kigger mod et tysk eksporteventyr. Forfatter sætter spot på Kina og…

26-årige Francesca Tremulo rejste til Danmark fra Italien for tre år siden for at realisere drømmen om en fremtid i spilbranchen. Hun er uddannet…

Kinas tech fungerer og er udviklet i benhård konkurrence til at være bedst og billigst. Talentmassen er enorm, og der er prestige og attraktive…

Alberte Viendahl er 25 år og har læst multimediedesign på KEA. Hun er blevet vild med at kode og nørde, og nu vil hun gerne tage en top up-uddannelse…

Benjamin Elias Harris er 27 år, og han har gået på datamatikerlinjen på KEA. Han startede egentlig med at læse engelsk på Københavns Universitet, men…

28-årige Yousra Diab arbejdede i flere år som socialrådgiver, inden hun tog springet og startede på datamatikeruddannelsen. Det har været svært at…

26-årige Sophie Ankjær Andersen har læst multimediedesign på KEA. Hun drømmer om, at hun i fremtiden skal tage sit arbejde med til Bali og arbejde…