Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008

Relaterede dokumenter
Fejlkorrigerende koder, secret sharing (og kryptografi)

Kryptering kan vinde over kvante-computere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Fejlkorligerende køder Fejlkorrigerende koder

Affine - et krypteringssystem

Miniprojekt 3: Fejlkorligerende køder Fejlkorrigerende koder

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

Med udgangspunkt i FIPS-197-standarden AES, baseret på Rijndael-algoritmen. Af Mathias Vestergaard

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Kryptologi 101 (og lidt om PGP)

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)

Kryptografi Anvendt Matematik

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Secret Sharing. Olav Geil Institut for Matematiske Fag Aalborg Universitet URL: olav.

Matematikken bag kryptering og signering RSA

Se hvordan på

Assembly Voting ApS. Kompagnistræde 6, København K CVR:

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,

Matematikken bag kryptering og signering RSA

Ekspertudtalelse om kryptering

Fortroligt dokument. Matematisk projekt

Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering.

Opgave 1 Regning med rest

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Introduktion til Kryptologi

Denne rapport er udarbejdet i L A TEX

Køreplan Matematik 1 - FORÅR 2005

Fagplan og mål for matematik 7-9 klasse

Kursusgang 2: Symmetrisk kryptering (II). 3DES og Rijndael. Kursusgang 2: Symmetrisk kryptering (II). 3DES og Rijndael

Koder og kryptering. Foredrag UNF 4. december 2009 Erik Zenner (Adjunkt, DTU)

Kvanteinformation, kvantekryptografi

Brugertilfredshedsundersøgelse borger.dk - konklusioner. 17. december 2018 JYSK ANALYSE A/S

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Note om endelige legemer

Produkt og marked - matematiske og statistiske metoder

10 danske matematikere 10 matematiske fortællinger. 10 film om forskning inden for matematikkens verden

Generering af Frey-Rück Resistente Elliptiske kurver med Primtalsorden over p 2 c

Større Skriftlig Opgave

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden

Giv Liv tilmeldingssystemet

Udkast til revideret Vedtægt for Mandøforeningen. Ændringer i forhold til gældende vedtægter er anført i understreget kursiv tekst

Perspektiverende Datalogi 2014 Uge 39 Kryptologi

Indhold. 1 Indledning Baggrund... 2

HVOR SIKKER ER ASSYMETRISK KRYPTERING? Nat-Bas Hus semesters projekt, efterår 2004 Gruppe 12

DM507 Algoritmer og datastrukturer

Frivillig musikundervisning. Sct. Ibs Skole

Kryptologi og RSA. Jonas Lindstrøm Jensen

Hemmelige koder fra antikken til vore dage

Grundlæggende kryptering og digital signatur 04/09/2012 ITU 2.1

Hvad er KRYPTERING? Metoder Der findes to forskellige krypteringsmetoder: Symmetrisk og asymmetrisk (offentlig-nøgle) kryptering.

Deltagere: Kirsten Ægidius (KÆ), Kirsten Thoke (KT), Lisbet Jensen, (LJ), Charlotte Larsen (CL), Lene Lebech (LL) og Lise Hansen (LH) (HB)

Lektion ordens lineære differentialligninger

Hyperelliptisk kurve kryptografi

Praktisk kryptering i praksis

DM507 Algoritmer og datastrukturer

Roskilde Universitetscenter, Datalogisk Afdeling Kryptering. Niels Christian Juul. N&P 11: 2001 April 18th

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

Oversigt [LA] 6, 7, 8

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Digital Post og NemPost er ikke det samme. NemPost leveres af firmaet Assemble A/S. Digital Post leveres af e-boks A/S.

Forslag til vedtægtsændringer

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur

Fraktaler. Mandelbrots Mængde. Foredragsnoter. Af Jonas Lindstrøm Jensen. Institut For Matematiske Fag Århus Universitet

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe.

Svar på spørgsmål fra Teknik- og Miljøborgmester Ayfer Baykal om havnetunnel

6. RSA, og andre public key systemer.

Vejledning til ældre- og handicapråd vedr. høring af udbudsmaterialet i forbindelse med udbud af Bleer med bevilling

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering

Algebra. Dennis Pipenbring, 10. februar matx.dk

Kvadratiske matricer. enote Kvadratiske matricer

Foredrag i Eulers Venner 30. nov. 2004

FORSLAG 1: ÆNDRINGER I VALGPERIODE

Secret sharing - om at dele en hemmelighed Matematiklærerdag 2017

Integer Factorization

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

3. Moderne krypteringsmetoder

Æstetik og reduktioner Matematisk takt og tone. Mikkel Findinge

Digital Signatur Infrastrukturen til digital signatur

Kursusgang 2: Symmetrisk kryptering (fortsat). Asymmetrisk kryptering. DES' vigtigste sikkerhedsmæssige egenskaber

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

DM507 Algoritmer og datastrukturer

Fraktaler Mandelbrots Mængde

Matematikken. bag løsningen af Enigma. Opgaver i permutationer og kombinatorik

Værdier for samarbejdet med pårørende - Sundhed og Omsorg

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde.

Nøgletal til resultatdokumentation

Status p Skole-it 2010.

Emne Tilbagemelding fra workshop Yderligere tilbagemeldinger Forvaltningens indstilling

Kursusindhold: X i : tilfældig værdi af ite eksperiment. Antag X i kun antager værdierne 1, 2,..., M.

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så

WLAN sikkerhedsbegreber -- beskrivelse

Introduktion til MPLS

Kolde ioner - Kvantecomputere og andet godt

Gode råd om at drikke mindre Fakta om alkohol

Transkript:

Moderne kryptografi Olav Geil Institut for Matematiske Fag Aalborg Universitet Elektronik og IT-Gruppen 24. april 2008

Matematik og ingeniørvidenskab Uden ingeniørvidenskab var komplekse tal blot en kuriøsitet Uden computergrafik var kvaternioner blot en kuriøsitet Uden informationsteknologi var endelige legemer blot en kuriøsitet Matematik halter til tider bagefter ingeniørvidenskaben I moderne kryptografi er matematikken med hele vejen

Agenda Endelige legemer AES McEliece kryptosystem ElGamal kryptosystem Elliptisk kurve kryptosystem

Endelige legemer - type 1 F 5 = {0, 1, 2, 3, 4} Regneregel: 5 = 0. Eksempel: 3 + 4 = 7 = 5 + 2 = 2 3 4 = 12 = 5 + 5 + 2 = 2 + 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1

Endelige legemer - type 2 F 4 = {0, 1, α, α + 1} Regneregler: 2 = 0 α 2 = α + 1 Eksempler: (α + 1) + α = 2α + 1 = 1 (α + 1)α = α 2 + α = (α + 1) + α = 2α + 1 = 1 αα = α 2 = α + 1

Endelige legemer - type 2 F 4 = {0, 1, α, α + 1} Regneregler: 2 = 0 α 2 = α + 1 + 0 1 α α + 1 0 0 1 α α + 1 1 1 0 α + 1 α α α α + 1 0 1 α + 1 α + 1 α 1 0 0 1 α α + 1 0 0 0 0 0 1 0 1 α α + 1 α 0 α α + 1 1 α + 1 0 α + 1 1 α

Endelige legemer - type 2 Repræsentation af F 4 i computer 0 1 α α + 1 (00) (10) (01) (11) Kan konstruere LEGEMER F p m, for alle primtal p og positive heltal m. Eksempel: F 256 = F 2 8 = {a 7 α 7 + a 6 α 6 + + a 1 α + a 0 a 7,..., a 0 {0, 1}} kan repræsenteres vha. bytes.

Advanced Encryption Standard Symmetrisk kryptosystem Eve Klartekst Alice Kryptotekst Bob Klartekst Key Enkryptering Dekryptering DES (kan nu brydes) AES= Rijndael Block Cipher (implementeres fra 2002)

AES Klartekst: 128 bits (m 1, m 2,..., m 128 ) 16 bytes (M 1, M 2,..., M 16 ) M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15 M 16 Kryptotekst: M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15 M 16 16 bytes (M 1, M 2,..., M 16 ) 128 bits (m 1, m 2,..., m 128 )

AES M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15 M 16? M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 M 9 M 10 M 11 M 12 M 13 M 14 M 15 M 16 Enkryptering og dekryptering kompliceret men hurtig.

AES Regning med bytes mange muligheder...en er: 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 u 0 u 1 u 2 u 3 u 4 u 5 u 6 u 7 Hvis matrix invertibel, så proces reversibel. (mod2) = v 0 v 1 v 2 v 3 v 4 v 5 v 6 v 7

AES Regning med bytes mange muligheder... en anden er: Identificer (u 7, u 6,..., u 1, u 0 ) med u 7 α 7 + u 6 α 6 + u 1 α + u 0 Regneregler: 2 = 0 α 8 = α 4 + α 3 + α + 1

F 256 (α 2 + 1)(α 7 + α 5 + α 4 + α 3 + 1) = α 9 + 2α 7 + α 6 + 2α 5 + α 4 + α 3 + α 2 + 1 = α 9 + α 6 + α 4 + α 3 + α 2 + 1 = αα 8 + α 6 + α 4 + α 3 + α 2 + 1 = α(α 4 + α 3 + α + 1) + α 6 + α 4 + α 3 + α 2 + 1 = α 6 + α 5 + 2α 4 + α 3 + 2α 2 + α + 1 = α 6 + α 5 + α 3 + α + 1 (α 2 + 1) + (α 4 + α 3 + α 2 + α) = α 4 + α 3 + 2α 2 + α + 1 = α 4 + α 3 + α + 1

F 256 Kan trække fra og dividere: (α 7 + α 5 + α 2 + 1) = α 7 + α 5 + α 2 + 1 fordi (α 7 + α 5 + α 2 + 1) + (α 7 + α 5 + α 2 + 1) = 0 For alle a 7 α 7 + + a 0 findes b 7 α 7 + + b 0 så (a 7 α 7 + + a 0 )(b 7 α 7 + + b 0 ) = 1. 1 Vi skriver = b a 7 α 7 + +a 7 α 7 + + b 0 0, så vi kan også dividere.

AES Indkodning i 10 runder: ByteSub ShiftRows MixColumns AddRoundKey (en hemmelig nøgle genererer 10 nøglematricer K 1,..., K 10 ) Alt kan inverteres.

ByteSub Først a 7 α 7 + + a 0 1 a 7 α 7 + +a 0. Så 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 u 0 u 1 u 2 u 3 u 4 u 5 u 6 u 7 + 1 1 0 0 0 1 1 0 (mod2)

AES runder ShiftRows: Bytes i matrix skifter plads. MixColumns: α α + 1 1 1 1 α α + 1 1 1 1 α α + 1 α + 1 1 1 α AddRoundKey: S 11 S 12 S 13 S 14 S 21 S 22 S 23 S 24 S 31 S 32 S 33 S 34 + K i S 1 S 42 S 43 S 44 S 11 S 12 S 13 S 14 S 21 S 22 S 23 S 24 S 31 S 32 S 33 S 34 S 1 S 42 S 43 S 44

McEliece kryptosystem Gør brug af fejlkorrigerende koder. Fejlkorrigerende koder beskytter data mod støj. En slags elektronisk indpakning. Fejlkorrigerende koder benyttes i CD-afspiller, DVD-afspiller, digital radio og tv, rumfart osv. osv.... og snart i chips i forbrugsvarer.

Fejlkorrigerende koder Indkodning: (a, b, c, d) indkodes til (a, b, c, d, e, f, g) f e c a b d g Regneregel: 2 = 0 Indkodningsregler: a + b + c + e = 0, a + c + d + f = 0, a + b + d + g = 0

Fejlkorrigerende koder Indkodning: (0, 1, 1, 0) indkodes til (0, 1, 1, 0, 0, 1, 1) e 0 f 1 0 0 1 g 1 1 1 0 0 1 Regneregel: 2 = 0 Indkodningsregler: a + b + c + e = 0, a + c + d + f = 0, a + b + d + g = 0

Fejlkorrigerende koder Dekodning (fejlretning): (0, 0, 1, 0, 0, 1, 1) afkodes til (0, 1, 1, 0, 0, 1, 1) som svarer til besked (0, 1, 1, 0). 0 0 1 0 0 1 1 0 1 1 1 0 0 1

Lineære koder over F q Lineær [n, k]-kode. Beskeden m indkodes til kodeordet c. g 1,1 g 1,n [m 1,..., m k ]..... = [c 1,..., c n ] g k,1 g k,n Alternativ tjek for, at c kodeord er h 1,1 h 1,n..... h n k,1 h n k,n c 1 c 2. c n = G kaldes generatormatrix. H kaldes paritetstjekmatrix. 0 0. 0

Dekodningsproblemet Et andet kodeord Et kodeord plus en fejl Et kodeord dist( c i, c j ) = # positioner, hvor c i afviger fra c j. dist ( (1, 0, 0, 0, 1), (1, 1, 0, 0, 0) ) = 2 d = min{dist( c i, c j ) c i, c j er forskellige ord i koden} t = d 1 2 fejl kan med garanti rettes. Dekodningsproblemet for generel lineær kode er NP-fuldstændigt.

McEliece kryptosystem Eve klartekst m Alice kryptotekst y=mg+e Bob klartekst m Offentlig nøgle: Generatormatrix G og t (fejlretningsevnen) Hemmelig nøgle: Dekodningsalgoritme for koden med generatormatrix G. Strategi: Alice indkoder besked m til kodeord c = mg og tilføjer tilfældigt op til t fejl (fejlvektor e). Bob dekoder modtaget ord y til kodeord c og genskaber besked m.

Hvorfor McEliece kryptosystemet virker G = SG P S er k k matrix af fuld rang og P er permutationsmatrix. G er generatormatrix for Goppa kode efter Bobs valg. Ud fra G kan man ikke gætte S, G og P Dekodning en integreret proces, hvor S 1, P 1 og dekodningsalgoritme for valgt Goppa kode benyttes. Dekodning er hurtig. Benytter Euklids udvidede algoritme.

Binære Goppakoder Goppapolynomiet: g(x) = g 0 + g 1 X + + g t X t, hvor g i F 2 m γ 0, γ 1,..., γ n 1 F 2 m vælges så g(γ 0 ) 0, g(γ 1 ) 0,..., g(γ n 1 ) 0. Paritetstjekmatrix H = XYZ, hvor X = g t 0 0 0 g t 1 g t 0 0....... Y = g 1 g 2 g 3 g t Z = 1 g(γ 0 ) 1 g(γ 1 ) 1 1 1 γ 0 γ 1 γ n 1...... γ t 1 0 γ t 1 1 γ t 1 n 1... 1 g(γ n 1 )

Binære Goppakoder - fortsat Koden er BINÆR selvom paritetstjekmatricen H lever over F 2 m (subfield-subcode). En slags genereliseret genereliseret Reed-Solomon kode. Tilhørende generatormatrix G kan findes.

McEliece kryptosystem Oprindeligt kodningskryptosystem foreslået af McEliece i 1978 Oprindeligt system benytter Goppakoder. Undgå visse uheldige valg af Goppapolynomier. Endnu ej brudt. Andre forslag af koder er brudt.

Det diskret logaritme problem F 11 = {0, 1, 2,..., 10}. Regneregel: 11 = 0. F 11 = {1, 2,..., 10}. 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 = 5, 2 5 = 10, 2 6 = 9, 2 7 = 7, 2 8 = 3, 2 9 = 6, 2 10 = 1. 3 1 = 3, 3 2 = 9, 3 3 = 5, 3 4 = 4, 3 5 = 1, 3 6 = 3, 3 7 = 9, 3 8 = 5, 3 9 = 4, 3 10 = 1. 2 kaldes primitivt element fordi det genererer hele F 11.

Det diskrete logaritme problem F 11 = {0, 1, 2,..., 10}. Regneregel: 11 = 0. 2 1 = 2, 2 2 = 4, 2 3 = 5, 2 4 = 5, 2 5 = 10, 2 6 = 9, 2 7 = 7, 2 8 = 3, 2 9 = 6, 2 10 = 1. Spørgsmål: Det oplyses, at 2 er primitivt element i F 11. Givet x F 11, hvilket b opfylder 2 b = x? For store legemer et svært problem.

Det diskrete logaritme problem F 8 = {0, 1, α, α + 1, α 2, α 2 + 1, α 2 + α, α 2 + α + 1}. Regneregler: 2 = 0, α 3 = α 2 + 1 F 8 = {1, α, α + 1, α2, α 2 + 1, α 2 + α, α 2 + α + 1}. α 1 = α, α 2 = α 2, α 3 = α 2 + 1, α 4 = α 2 + α + 1, α 5 = α + 1,α 6 = α 2 + 1, α 7 = 1. Spørgsmål: Det oplyses, at α er et primitivt element i F 8. Givet x F 8, hvilket b opfylder α b = x? Eksempel: x = α 2 + α + 1, så b = 4

ElGamal kryptosystem Eve klartekst m Alice kryptotekst (y_1,y_2) Bob klartekst m Offentlig nøgle: {F q, primitivt element α, β = α a } Hemmelig nøgle: {a}, så 1 a < q 1. Enkryptering af besked m: Alice vælger tilfældigt k, så k F q. Udregner y 1 = α k og y 2 = mβ k. Dekryptering: Bob udregner m = y 2 ( y a 1 ) 1.

ElGamal kryptosystem Kryptosystemet virker fordi diskret logaritme problem er svært og fordi: ( ) y 2 y a 1 1 = ( mβ k)( ( α k ) ) 1 a ( (α = mβ k a ) ) 1 k = mβ k( β k) 1 = m. Eksponentiering er hurtigt (smart algoritme haves)

ElGamal - et eksempel Offentlig nøgle: {F 11, α = 2, β = 2 4 = 5}. Hemmelig nøgle: a = 4. Alice enkrypterer besked m = 7 som følger: Vælger tilfældigt k = 8. Udregner y 1 = α k = 2 8 = 3. y 2 = mβ k = 7 5 8 = 6. Bob dekrypterer: m = y 2 ( y1 ) 1 = 6(3 4 ) 1 = 6 4 1 = 6 3 = 18 = 7.

Genereliseringer af ElGamal ElGamal: Gruppe (struktur) er (F q, ) Elliptisk kurve kryptografi: Gruppe (struktur) er (E, +), hvor E...

Motiverende eksempel Ligning: Y 2 = X 3 4X. Den elliptiske kurve E består af (x, y) R R som løsning til ligning. Herforuden indeholder E et (imaginært) element kaldet O.

Motiverende eksempel - fortsat P + O = P = O + P (x, y) + (x, y) = O P + Q = R som på figur

Elliptisk kurve over F q Specielt nemt for F p med p > 2. Ligning: Y 2 = X 3 + ax + b. Samme formler som før : P + O = P = O + P P = (x 1, y 1 ), Q = (x 2, y 2 ). P + Q = (x 3, y 3 ) hvor x 3 = λ 2 x 1 x 2 y 3 = { λ(x 1 x 3 ) y 1 (y2 y λ = 1 )(x 2 x 1 ) 1 hvis P Q (3x1 2 + a)(2y 1) 1 hvis P = Q

Elliptisk kurve kryptografi Ikke sikkert, at E har primitivt element, men så har delgruppe af E. Kryptosystem a la ElGamal. Næste generation af systemer benytter hyperelliptiske kurver

Kvantecomputere ej lavet endnu. McEliece kryptosystem og elliptisk kurve kryptosystem synes MINDST USIKRE overfor kvantecomputerangreb. Sikker kommunikation mulig ved brug af kvantekryptografi. Maskine bygget af NEC, Japan. Benytter optisk kabel (16 km).