Regional kursus i matematik i Aabenraa Institut for Matematik Aarhus Universitet matjph@math.au.dk 15. februar 2016
Oversigt 1 Offentlig-privat nøgle kryptering 2 3 4
Offentlig-privat nøgle kryptering Kryptering med brug af et nøglepar (sammenhørende offentlig og privat nøgle) er baseret på, at visse matematiske operationer er lette at udføre den ene vej, men meget svære (i praksis umulige) den anden vej. Der produceres et nøglepar med den egenskab, at den ene nøgle kan låse og den anden, og kun den, kan åbne. Fortrolighed Du låser en besked til mig med min offentlige nøgle og kun jeg kan åbne den med min tilhørende private nøgle Digital signatur Jeg kan signere en besked ved at låse den med min private nøgle, du kan låse op med min offentlige nøgle, og derved sikre sig, at jeg har den tilhørende private nøgle
RSA - Rivest, Shamir og Adleman (1977) 1 Sikkerheden beror på vanskeligheden af at faktorisere et helt tal i et produkt af primtal. Diffie-Hellman-metoden (1976) Baseret på det diskrete logaritme-problem. Vælger man to tal g og x og et stort primtal p, så er det let at udregne y = gx mod p, dvs. den rest man får for gx efter division med p. Det er derimod vanskeligt at finde x, hvis man kender y, g og p. ECC - Elliptisk kurve kryptografi. Koblitz og Miller (1985) E elliptisk kurve over et endeligt legeme F q. E/F q : y 2 = x 3 + ax + b (1) Regler for addition of punkter på E (E(F q ) bliver en gruppe). Let at beregne et punkt Q = kp, hvor k er et heltal. Vanskeligt at finde k, hvis man kender P og Q. 1 Clifford Cocks, en engelsk matematiker, der arbejdede for det britiske efterretningsvæsen havde i 1973 udviklet et tilsvarende system, først deklassificeret i 1997
Klassisk versus kvantecomputer Klassisk computer Medmindre nogen har installeret en form for bagdør i algoritmen, anses disse algoritmer for sikre på en klassisk computer - en risiko, som er blevet intenst diskuteret efter Edward Snowdens afsløringer af NSAs omfattende overvågningsprogram. Kvantecomputer Hvad der er umuligt på en klassisk computer, kan dog blive muligt med en kvantecomputer. Matematikeren Peter Shor formulerede i 1994 en kvantealgoritme, som hurtigt kan knække RSA, Diffie-Hellman og elliptisk kurve kryptering! Hvornår en sådan computer bliver fremstillet, hersker der stor usikkerhed om. Nogle taler om en horisont på 10 år, andre om 50 år.
Udfordringen fra kvantecomputere Resistens overfor kvantecomputere National Security Agency (NSA) i USA har meddelt, at de vil igangsætte et program for overgang til krypteringsalgoritmer, der er sikre over for en kvantecomputer McEliece-princippet McEliece-princippet har igennem mere end 35 år modstået alle forsøg på at blive brudt ved hjælp af klassiske computere og der findes ingen kvantealgoritme. McEliece har forbindelse til princippet om fejlkorrigerende koder, som anvendes inden for tele- og datakommunikation: Ved eksempelvis at omsætte information kan en modtager finde og rette fejl i det modtagne signal sendt over en støjfyldt kanal og derved bestemme den oprindelige information.
Et ineffektivt eksempel på en fejlrettende kode Alfabet: F = {0, 1}, et legeme med 2 elementer. Ord af længde 4 i alfabetet F = {0, 1}, eksempelvis u = [0110]. Ialt 2 4 = 16 ord i F 4. Gentag hver karakter i ordet u = [0110] 3 gange: x = [000 111 111 000] Modtager er i stand til at rette 1 fejl i transmissionen af x Prisen har været høj - der skal sendes 3 gange så meget. information.
Et effektivt eksempel på en fejlrettende kode Betragt matricen Med u = [0110] fra før er: 1 0 0 0 1 1 0 G = 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 paritetschecks u 1 0 0 0 1 1 0 u {}}{ x = ug = [ 0110] 0 1 0 0 0 1 1 0 0 1 0 1 0 1 = [ {}}{{}}{ 0110 110 ] (2) 0 0 0 1 1 0 1
Anvender vi matricen G således på de 16 ord i F 4 fås: [0000000] [1111111] [1000110] [0111001] [0100011] [1011100] [0010101] [1101010] [0001111] [1110000] [1100101] [0011010] [1010011] [0101100] [1001001] [0110110] }{{} x Ethvert af de 15 ord (forskellige fra x) er forskellig fra x på mindst 3 positioner minimumsafstanden er 3! Modtagerne kan derfor rette 1 fejl i transmissionen af x Prisen herfor er, at der nu kun skal transmitteres 7 bogstaver og ikke 12 som tidligere. Afkodning er let - læs blot de første 4 karakterer i x
Fejlkorrigerende kode i almindelighed F = F q et endeligt legeme med q elementer. Lad G være en k n matrix, hvis rækker er lineært uafhængige, og den tilhørende lineære afbildning: F k F n u ug * Billedet C F n, der et k-dimensionalt lineært underum, kaldes en (k, n)-fejlkorrigerende kode. * Hamming-afstanden d H (x, y) mellem x, y F n er antallet af koordinater i x og y, der er forskellige. * Minimums-afstanden af C er den minimale Hamming-afstand mellem to forskellige elementer i C. * Koden kan rette t fejl, hvis t < Minimumsafstanden 2.
Afkodning * For visse specielle koder er der effektive afkodningsalgoritmer for lineære koder. * For generelle koder er afkodningsproblemet NP-komplet, der er ingen kendt hurtig metode til at løse det. Det er netop dette spil, der udnyttes til at lave et offentlig/privat nøgle McEliece kryptosystem.
McEliece-princippet. Nøglekonstruktion Alle matricer er over et legeme F = F q med q elementer. Privat nøgle: G en k n matrix, hvor den tilhørende kode kan rette t fejl, og jeg effektivt kan afkode. Offentlig nøgle: G = SGP S en k k matrix, der er invertibel. P en n n permutationsmatrix. For generelle koder er afkodningsproblemet NP-komplet, der er ingen kendt hurtig metode til at løse det - det er tilfældet for koden hørende til G!
McEliece-princippet. Kodning og afkodning Du ønsker at sende u til mig. Indkodning med offentlig nøgle G : Du indkoder u til: x = ug + z, hvor z højst har t positioner forskellige fra 0, og sender til mig. Dekodning med privat nøgle G: Jeg modtager x og afkoder til u og u: x = xp 1 = ug P 1 +zp 1 = (us) }{{} G+ zp }{{} u 1 positioner forskellige fra 0 t Pr. konstruktion kan koden hørende til G let afkodes og rette op til t fejl. Dvs. u kan bestemmes og dermed u, da S er invertibel. u = us u = u S 1,
Litteratur. Tal og Mængder -begreber, metoder og resultater. Aarhus Universitetsforlag, Aarhus, 2012. Jørn Justesen and Tom Høholdt. A course in error-correcting codes. EMS Textbooks in Mathematics. European Mathematical Society (EMS), Zürich, 2004. [] R. McEliece. A public key cryptosystem based on algebraic coding theory. Technical report, JPL DSN Progress Report, 1978.