Fejlkorrigerende koder, secret sharing (og kryptografi)



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

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder

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

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

Lineær algebra 1. kursusgang

DesignMat Uge 1 Gensyn med forårets stof

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

Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2

Kursusgang 3 Matrixalgebra Repetition

Lidt alment om vektorrum et papir som grundlag for diskussion

Oversigt [LA] 6, 7, 8

Lineær Algebra, kursusgang

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning

Figur. To ligninger i to ubekendte. Definition Ved m lineære ligninger med n ubekendte forstås. Definition 6.4 Givet ligningssystemet

Lineær algebra: Spænd. Lineær (u)afhængighed

Besvarelser til Lineær Algebra med Anvendelser Ordinær Eksamen 2016

Matematik og FormLineære ligningssystemer

Vektorrum. enote Generalisering af begrebet vektor

Ligningssystemer - nogle konklusioner efter miniprojektet

Køreplan Matematik 1 - FORÅR 2005

Tidligere Eksamensopgaver MM505 Lineær Algebra

Skriftlig eksamen Vejledende besvarelse MATEMATIK B (MM02)

1 Sætninger om hovedidealområder (PID) og faktorielle

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3

Matematik: Struktur og Form Spænd. Lineær (u)afhængighed

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Lineære 1. ordens differentialligningssystemer

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

Egenværdier og egenvektorer

Besvarelser til Lineær Algebra Reeksamen August 2016

DesignMat Uge 5 Systemer af lineære differentialligninger II

Jeg foretager her en kort indføring af polynomier over såvel de reelle som

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

Matematik og Form Splines. NURBS

Lineær Algebra eksamen, noter

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

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6

Matematisk modellering og numeriske metoder. Lektion 4

Lineære 1. ordens differentialligningssystemer

Pålidelig kommunikation over støjfyldte kanaler

Matematik og Form 3. Rækkereduktion til reduceret echelonfo. Rang og nullitet

Matematik for økonomer 3. semester

LinAlgDat 2014/2015 Google s page rank

Løsninger til udvalgte Eksamensopgaver i Lineær Algebra Juni 2000 og Juni 2001.

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Module 1: Lineære modeller og lineær algebra

Oversigt [LA] 11, 12, 13

Introduktion til Laplace transformen (Noter skrevet af Nikolaj Hess-Nielsen sidst revideret marts 2013)

Lineær algebra: Egenværdier, egenvektorer, diagonalisering

Egenværdier og egenvektorer

3.1 Baser og dimension

Symmetriske og ortogonale matricer Uge 7

1 Vektorrum. MATEMATIK 3 LINEÆR ALGEBRA M. ANV. 4. oktober Miniprojekt: Lineær algebra på polynomier

DesignMat Uge 4 Systemer af lineære differentialligninger I

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

2010 Matematik 2A hold 4 : Prøveeksamen juni 2010

Matricer og lineære ligningssystemer

MASO Uge 8. Invers funktion sætning og Implicit given funktion sætning. Jesper Michael Møller. Department of Mathematics University of Copenhagen

Kursusgang 3 Matrixalgebra Repetition

Lineære ligningssystemer

DesignMat. Preben Alsholm. September Egenværdier og Egenvektorer. Preben Alsholm. Egenværdier og Egenvektorer

Ølopgaver i lineær algebra

Oversigt [LA] 1, 2, 3, [S] 9.1-3

Lineære 1. ordens differentialligningssystemer

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Diagonalisering. Definition (diagonaliserbar)

12.1 Cayley-Hamilton-Sætningen

Polynomium Et polynomium. Nulpolynomiet Nulpolynomiet er funktionen der er konstant nul, dvs. P(x) = 0, og dets grad sættes per definition til.

Symmetriske matricer

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Nøgleord og begreber. Definition multiplikation En m n-matrix og en n p-matrix kan multipliceres (ganges sammen) til en m p-matrix.

Oversigt [LA] 6, 7, 8

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

DesignMat Uge 11 Vektorrum

Besvarelse af Eksamensopgaver Juni 2005 i Matematik H1

Matematik, Struktur og Form Splines. NURBS

Lineære Afbildninger. enote Om afbildninger

DesignMat Uge 11. Vektorrum

Noter om Komplekse Vektorrum, Funktionsrum og Differentialligninger LinAlg 2004/05-Version af 16. Dec.

1 Vektorrum. MATEMATIK 3 LINEÆR ALGEBRA 6. oktober 2016 Miniprojekt: Lineær algebra på polynomier

Transkript:

Fejlkorrigerende koder, secret sharing (og kryptografi) Olav Geil Afdeling for Matematiske Fag Aalborg Universitet Møde for Matematiklærere i Viborg og Ringkøbing amter 7. november, 2006

Oversigt Fejlkorrigerende koder Lineære koder Dekodning Endelige legemer Reed-Solomon koder Dekodning af Reed-Solomon koder Reed-Muller koder, Hyperbolske koder og Hermitekoder Secret sharing Alle tilstede Lagrange-interpolation Shamirs secret sharing scheme Offentlig nøgle kryptering McElieces kryptosystem

Fejlkorrigerende koder Sikrer troværdig kommunikation i støjfyldte miljøer. Kommunikation fra Mars Stregkoder (forhåbentlig snart chip) Digitalt TV og radio CD DVD FTP (filoverførsel) osv...

Repetitionskoden Hvis vi skal transmitere (0, 1, 1, 0) så kunne vi jo bare sende (0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0). Hvis der så sker en enkelt fejl, da kan den rettes: (0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0) skulle med stor sandsynlighed være (0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0). Er miljøet mere støjfyldt kunne vi jo indkode (0, 1, 1, 0) til (0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0) eller til noget endnu længere. Ulempen er, at dyrt. Indtil 1948 troede man, at dette ikke kunne gøres bedre. Kodningsteori handler om at kunne rette fejl med fornuftlig transmissionshastighed.

Tom som animation...gå til popularization->index.html

En binær lineær kode Eksempel: C = {(0, 0, 0, 0, 0), (1, 0, 1, 1, 0), (0, 0, 1, 1, 1), (1, 0, 0, 0, 1)} Kan opfattes som linearkombinationer af basisvektorerne g 1 = (1, 0, 1, 1, 0) og g 2 = (0, 0, 1, 1, 1). Vi har (0, 0, 0, 0, 0) = 0g 1 + 0g 2, (1, 0, 1, 1, 0) = 1g 1 + 0g 2, (0, 0, 1, 1, 1) = 0g 1 + 1g 2 og (1, 0, 0, 0, 1) = 1g 1 + 1g 2. Dvs. koden svarer til rækkerummet af [ ] 1 0 1 1 0 G = 0 0 1 1 1 Indkodning: Besked (m 1, m 2 ) indkodes til (m 1, m 2 ) = m 1 g 1 + m 2 g 2 = mg, hvor m = (m 1, m 2 ). Enhver matrix G definerer en kode. En (lineær) kode er et vektorrum (indtil videre over det binære alfabet).

Model m c r = c + e m Indkoder Kanal Dekoder e m = (m 1,..., m k ) F k 2, k < n, c = (c 1,..., c n ) F n 2. Indkodning m c vha. matrix G. e = (e 1,..., e n ) F n 2, m F k 2 Pr(e i = 0) = 1 p > 1 2, Pr(e i = 1) = p. Kanalen antages hukommelsesfri, dvs. Pr(e i ), Pr(e j ) er uafhængige for i j.

Minimumafstand w H ((w 1,..., w n )) = #{i w i 0} w H ((1, 1, 1, 1, 0)) = 4 dist H ( w 1, w 2 ) = w H ( w 1 w 2 ) dist H ((0, 1, 0, 1, 1), (1, 1, 1, 1, 0)) = 3 d = min{dist H ( c 1, c 2 ) c 1, c 2 C, c 1 c 2 } = min{w H ( c) c C, c 0}

Minimumafstandsdekodning Indenfor en afstand af d 1 2 fra et ord w kan man højst finde 1 kodeord. Hvis der højst er sket d 1 2 fejl, da kan vi rette dem ved simpelthen at vælge det kodeord, som er tættest på den modtagne ord. d

De tre parametre Længden n, dimensionen k og minimumafstanden d. [n, k, d] Hvis k n Hvis d n er stor, da er vi sikret hurtig transmission. er stor, da kan vi rette mange fejl. Udfordringen er at vælge koder, så både k n og d n samtidig. er store Dette er ikke en triviel opgave.

Assymptotisk gode koder Man kender uendelige følger af koder (C 1, C 2,...) med tilhørende parametre ([n 1, k 1, d 1 ], [n 2, k 2, d 2 ],...), som opfylder: n i for i k i R >> 0 for alle i n i d i δ >> 0 for alle i n i Betragt fejlmønstre e af voksende længde n. Lad kanalantagelserne gælde. De store tals lov siger, at w H ( e)/n p i sandsynlighed. Så hvis δ/2 > p kan vi kommunikere vilkårligt sikkert med hastighed mindst R, blot meget lange koder benyttes. Shanons kanalkodningssætning garanterer endnu bedre fejlretning, hvis koderne vælges tilfældigt og af voksende længde. Et meget teoretisk resultat.

Endelige legemer Eksempel: F 5 = Z 5 = {0, 1, 2, 3, 4}. Regneregel: 5 = 0, så 3 + 4 = 2 og 4 4 = 1. + 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 3 = 2 fordi 3 + 2 = 0. 3 1 = 2 fordi 3 2 = 1. 2/3 = 2 3 1 = 2 2 = 4.

F p = Z p = {0, 1,..., p 1}. Regneregel: p = 0. Givet a, p da entydigt r, så a = qp + r med 0 r < p. r = a(mod p). Regneoperationer i F p svarer til (a + b)(mod p) og (a b)(mod p). For a = 0 haves a = 0 For a 0 haves a = p a og a 1 findes vha. den udvidede Euklidsalgoritme (EEA) idet sfd(a, p) = 1. EEA(a, p) returnerer s, t, så sa + tp = 1 og dermed a 1 = s(mod p).

Eksempel: F 2 2 = F 4 = {0, 1, α, α + 1}. Regneregler: 2 = 0 og α 2 + α + 1 = 0. + 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 α α α = α 2 = α 1 = α + 1 α(α + 1) = α 2 + α = 1 = 1 (α + 1)(α + 1) = α 2 + 1 = α.

Eksempel: F 2 3 = F 8 = {0, 1, α, α + 1, α 2, α 2 + α, α 2 + α + 1, α 2 + 1}. Regneregler: 2 = 0 og α 3 + α + 1 = 0. Det generelle set-up: Legemet F p m = {a(α) a(x) F p [X], deg(a) < m}. Regneregler p = 0 og f (α) = 0. Polynomiet f (X) er irreducibelt over F p, dvs. kan ikke faktoriseres. Den udvidede Euklids algoritme give (a(α)) 1 idet, sfd(a(x), f (X)) = 1.

Lineære koder over F q F n q = {(a 1,..., a n ) a i F q } er et vektorrum over F q. Et underrum C F n q kaldes en lineær kode. Enhver lineær kode kan realiseres som rækkerummet af en matrix G, svarende til indkodning c = mg. Al gennemgået teori genereliserer til lineære koder over F q.

Reed-Solomon koderne q = p m og F q = {P 1, P 2,..., P q }. Givet F(X) = F 0 + F 1 X + F k 1 X k 1 F q [X], da er F(P 1 ), F (P 2 ),..., F(P q )) en vektor af længde n = q over F q. RS q (k) = {(F(P 1 ), F(P 2 ),..., F(P q )) F(X) F q [X], deg(f) < k} G = 1 1 1 P 1 P 2 P q P1 2 P2 2 Pq 2........ P k 1 1 P k 1 2 Pq k 1 Besked m = (F 0, F 1,..., F k 1 ) indkodes til (F(P 1 ), F(P 2 ),..., F (P q )) = mg.

Reed-Solomon kodens parametre Et ikke-nul polynomium af grad højst k 1 kan højst have k 1 nulpunkter. Lad k q og betragt RS q (k) = {(F(P 1 ), F(P 2 ),..., F(P q )) F(X) F q [X], deg(f) < k} Minimumafstand lig minimumvægt. Højst k 1 nuller og dermed mindst q (k 1) = q k + 1 = n k + 1 ikke-nuller. Altså d = n k + 1. Hvis rækkerne i G var lineært afhængige, så ville vi have ikke-nul polynomium af grad højst k 1 q 1 med q nulpunkter. Så G må have fuld rang. [n = q, k, d = n k + 1]

Minimumafstands-dekodning af Reed-Solomon koder Betragt en Reed-Solomon kode RS q (k) = {(F(P 1 ),..., F(P q )) deg(f) < k}. Definer t = (d 1)/2 = (q k)/2. Hvis vi modtager r = (r 1,..., r q ) da bestemmer vi et ikke-nul polynomium Q(X, Y ) = Q 0 (X) + YQ 1 (X) som opfylder følgende Q(P 1, r 1 ) = 0, Q(P 2, r 2 ) = 0,..., Q(P q, r q ) = 0 deg(q 0 ) q 1 t = l 0 deg(q 1 ) t = l 1

Hvordan kan vi nu være sikre på, at et sådant polynomium Q(X, Y ) eksisterer? Lad Q 0 (X) = Q 0,0 + Q 0,1 X + Q 0,2 X 2 + + Q 0,l0 X l 0 og Q 1 (X) = Q 1,0 + Q 1,1 X + + Q 1,l1 X l 1. Vi får Q(P 1, r 1 ) = 0 Q 0,0 + Q 0,1 P 1 + Q 0,2 P 2 1 + + Q 0,l 0 P l 0 1 +Q 1,0 r 1 + Q 1,1 r 1 P 1 + + Q 1,l1 r 1 P l 1 1 = 0 Dette er en homogen ligning med (l 0 + 1) + (l 1 + 1) = q + 1 ubekendte (nemlig Q i,j erne). Der er q sådanne ligninger. Da altså homogent ligningssystem med flere ubekendte end ligninger haves ikke-nul løsning.

På matrixform ser ligningssystemet ud som følger: 1 P 1 P 2 1 P l 0 1 r 1 r 1 P 1 r 1 P l 1 1 1 P 2 P 2 2 P l 0 2 r 2 r 2 P 2 r 2 P l 1 2....... 1 P q P 2 q P l 0 q r q r q P q r q P l 1 q Q 0,0 Q 0,1 Q 0,2. Q 0,l0 Q 1,0 Q 1,1. Q 1,l1 = 0 0 0. 0 0 0. 0

Antag, at c = (F(P 1 ), F(P 2 ),..., F(P q )) var afsendt (men er ukendt) og at der højst skete t fejl under transmissionen. Vi har Q(P 1, r 1 ) = Q(P 2, r 2 ) = = Q(P q, r q ) = 0 og da der højst er sket t fejl, må der altså være mindst q t nuller blandt Q(P 1, F(P 1 )), Q(P 2, F(P 2 )),..., Q(P q, F(P q )). Men opfattes Q(X, F(X)) = Q 0 + F(X)Q 1 (X) som polynomium i X, da har det grad højst max{q 1 t, (k 1) + t} = q 1 t. Et polynomium af grad højst q 1 t, som har mindst q t nulpunkter må være nulpolynomiet. Vi får Q(X, F(X)) = 0 Q 0 (X) + F(X)Q 1 (X) = 0 F(X) = Q 0(X) Q 1 (X)

Listedekodning d Det er langt fra altid, at der findes et kodeord i afstanden t = (d 1)/2 fra et modtaget ord r. Det giver derfor god mening, at betragte kugler med større radius end t. Gør vi det, må vi så blot acceptere, at vi en sjælden gang imellem finder flere kandiderende kodeord.

Generelisering af minimumafstandsdekodningsmetoden til listedekodning som følger. Søger Q(X, Y ) = Q 0 (X) + Q 1 (X)Y + + Q m (X)Y m således at Q(P i, r i ) = 0 for i = 1,..., q Visse gradbetingelser på Q i erne skal være opfyldt Bestemmer herefter samtlige faktorer Y F(X) i Q(X, Y ). Der kan højst være m sådanne faktorer. Metoden kan yderligere forbedres, hvis nulpunkter regnes med multiplicitet. Multiplicitet af polynomier i flere variabler er ikke trivielt. Der er mange forskellige definitioner.

Reed-Muller koder og hyperbolske koder F (X, Y ) F 4 [X, Y ]. F 4 F 4 = {(a, b) a, b F 4 } = {P 1, P 2,..., P 16 }. Hvor mange nulpunkter kan F have? Definerende ligninger for F 4 er X 4 X = 0 og Y 4 Y = 0, altså (a, b) F 4 F 4 a 4 a = 0 og b 4 b = 0 Hvor mange fælles nulpunkter mellem X 4 X, Y 4 Y og F(X, Y )? Eksempel: F(X, Y ) = X 2 Y + αxy 2 + XY + 1. Hvad er ledende monomium? Mange monomielle ordninger, når flere variable. Nogle ville give lm(f ) = X 2 Y andre ville give lm(f) = XY 2.

Vælg monomiel ordning så lm(f) = X 2 Y. Vi har lm(x 4 X) = X 4 og lm(y 4 Y ) = Y 4. Y 4 Y 3 Y 2 Y 1 1 X X 2 X 3 X 4 Antal fælles nulpunkter for F(X, Y ), X 4 X og Y 4 Y er højst 10.

Y 3 12 13 14 15 Y 2 8 10 12 14 Y 4 7 10 13 1 0 4 8 12 1 X X 2 X 3 Antal nulpunkter for F(X, Y ) med lm(f) = XY 3 er højst 13 osv. RM 4 (s, 2) = {(F(P 1 ),..., F(P 16 )) total grad af F er højst s 1}

Y 3 12 13 14 15 Y 2 8 10 12 14 Y 4 7 10 13 1 0 4 8 12 1 X X 2 X 3 Koder n k d RM 4 (1, 2) 16 1 16 RM 4 (2, 2) 16 3 12 RM 4 (3, 2) 16 6 8 RM 4 (4, 2) 16 10 4 RM 4 (5, 2) 16 13 3 RM 4 (6, 2) 16 15 2 RM 4 (7, 2) 16 16 1 Hyp 16 11 4

Hermitekoder X 3 + Y 2 + Y har 8 nulpunkter {P 1, P 2,... P 8 } i F 4 F 4. Givet F(X, Y ), hvor mange nuller kan der risikere at være i ordet (F(P 1 ), F(P 2 ),..., F(P 8 ))? Svar: lad w(x i Y j ) = i2 + j3. Definer wdeg(f) til at være højeste w(x i Y j )-værdi for monomier X i Y j i F(X, Y ). Eksempel: wdeg(x 2 + XY ) = max{4, 5} = 5. Resultat: Antal nulpunkter i (F(P 1 ), F(P 2 ),..., F(P 8 )) er højst lig wdeg(f).

Algebraisk-geometri koder Reed-Solomon koder, Reed-Muller koder og Hermite koder de allersimpleste eksempler på AG-koder Algebraisk geometri er en meget dyb matematisk teori Meget har vist sig at kunne laves vha. simplere Gröbner basis teori. Vægte (eller valuationer) spiller stor rolle. Ikke nødvendigvis numeriske.

Secret sharing - problemet Bank med 5 bankdirektører. Simpleste opgave: Elektronisk lås laves således, at alle 5 skal være tilstede for at pengeskab kan åbnes Lidt mere avanceret opgave: Elektronisk lås laves således, at vilkårlige 3 bankdirektører kan sammen åbne pengeskabet intet sæt af blot 2 bankdirektører kan alene åbne pengeskabet

Alle tilstede - naivt set-up Bankdirektør b 1 får koden s 1, bankdirektør b 2 får koden s 2, bankdirektør b 5 får koden s 5. s 1, s 2,..., s 5 {0000, 0001,..., 1999}. Den hemmelige nøgle er s = s 1 + s 2 + s 3 + s 4 + s 5 {0000, 0001,..., 9995} Imidlertid har {b 1, b 2, b 3, b 4 } information om s, idet de ved s {s 1 + s 2 + s 3 + s 4 + 0000,..., s 1 + s 2 + s 3 + s 4 + 1999}

Alle tilstede - smart set-up Nu istedet: s 1, s 2,..., s 5 {0000,..., 9999}. Regner, modulo 10000. Dvs. 5012 + 6013 (mod 10000) = 1025. 0000 9999 0001 9998 0002.. 5002 4998 5001 4999 5000 s = (s 1 + s 2 + s 3 + s 4 + s 5 ) (mod10000).

Alle tilstede - smart set-up 0000 9999 0001 9998 0002.. 5002 4998 5001 4999 5000 {b 1, b 2, b 3, b 4 } har ingen information om s. De ved blot, at s {(s 1 + s 2 + s 3 + s 4 + 0000) (mod10000),..., = {0000,..., 9999} (s 1 + s 2 + s 3 + s 4 + 9999) (mod10000)}

Legemet Z p Z p = {0, 1,..., p 1} er et legeme. a + b (mod p) og a b (mod p). Eksempel: Z 5 = {0, 1, 2, 3, 4}, 3 + 4 = 2 og 4 4 = 1. + 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 3 = 2 fordi 3 + 2 = 0. 3 1 = 2 fordi 3 2 = 1.

Lagrange-interpolation u 1 u 2. Der findes entydigt polynomium F(X) af grad højst 1 så F(u 1 ) = v 1 og F(u 2 ) = v 2. Entydighed: Antag både F 1 (X) og F 2 (X). Men så har F(X) = F 1 (X) F 2 (X) nulpunkter u 1 og u 2. Dermed F(X) = 0. Eksistens: F (X) = X u 2 u 1 u 2 v 1 + X u 1 u 2 u 1 v 2

Lagrange-interpolation u 1, u 2 og u 3 forskellige. Der findes entydigt polynomium F(X) af grad højst 2, så F(u 1 ) = v 1, F(u 2 ) = v 2 og F(u 3 ) = v 3. Eksistens: F(X) = (X u 2)(X u 3 ) (u 1 u 2 )(u 1 u 3 ) v 1 + (X u 1)(X u 3 ) (u 2 u 1 )(u 2 u 3 ) v 2 + (X u 1)(X u 2 ) (u 3 u 1 )(u 3 u 2 ) v 3 Det generelle set-up: u 1, u 2,..., u n forskellige F(X) af grad højst n 1 osv.

Lagrange-interpolation Eksempel: Legeme er R F(X) af grad højst 1, så F (3) = 2 og F(4) = 6 er givet ved F (X) = X 4 3 4 2 + X 3 4 3 6 = 10 + 4X Eksempel: Legeme er Z 5 F (X) af grad højst 1, så F(3) = 2 og F(4) = 1 er givet ved F(X) = 4X

Shamirs secret sharing scheme 3 bankdirektører. Vilkårlige 2 må åbne pengeskab sammen, men ingen må alene. Hemmelig nøgle f 0 Z p. Dealer vælger tilfældigt f 1 Z p og danner F(X) = f 0 + f 1 X. Bankdirektør b 1 får: u 1 = 1 og v 1 = F(u 1 ) = F(1) Bankdirektør b 2 får: u 2 = 2 og v 2 = F(u 2 ) = F(2) Bankdirektør b 3 får: u 3 = 3 og v 3 = F(u 3 ) = F(3) Vha. Lagrangeinterpolation kan vilkårlige 2 direktører genskabe F (X) og dermed specielt den hemmelige nøgle f 0. Hvad ved b 1 alene? Kald v 2 = T. F(X) = X 2 1 2 v 1 + X 1 2 1 T = (2v 1 T ) + (T v 1 )X Så f 0 = 2v 1 T og b 1 ved intet.

Shamirs secret sharing scheme 5 bankdirektører b 1, b 2,..., b 5. Vilkårlige 3 må genskabe nøgle, men ej 2. Hemmelig nøgle f 0 Z p, p > 5. Dealer vælger tilfældigt f 1, f 2 Z p og danner F(X) = f 0 + f 1 X + f 2 X 2. b 1 : b 2 : b 5 : u 1 = 1 og v 1 = F(1) u 2 = 2 og v 2 = F(2). u 5 = 5 og v 5 = F(5)

b 1, b 2 og b 3 danner Lagrangepolynomiet F(X) = (X u 2)(X u 3 ) (u 1 u 2 )(u 1 u 3 ) v 1 + (X u 1)(X u 3 ) (u 2 u 1 )(u 2 u 3 ) v 2 og finder heraf + (X u 1)(X u 2 ) (u 3 u 1 )(u 3 u 2 ) v 3 f 0 = v 1 u 2 u 3 (u 1 u 2 )(u 1 u 3 ) + u 1 v 2 u 3 (u 2 u 1 )(u 2 u 3 ) + u 1 u 2 v 3 (u 3 u 1 )(u 3 u 2 ) Uden kendskab til v 1 vides intet om første led. Uden kendskab til v 2 vides intet om andet led. Uden kendskab til v 3 vides intet til sidste led.

(åbn Maple 10 og vælg recent documents ) Maple-worksheet

Secret sharing generelt Givet {b 1, b 2..., b n } specificer en familie af delmængder af {b 1, b 2,..., b n } som skal have adgang til at generere hemmelig nøgle. Lad eventuelt nogle personers share vægte højere end andres. Enhver access-struktur kan realiseres matematisk. Effektivitet: Forhold mellem størrelsen på hemmelig nøgle og størrelsen på share. Ikke altid lige effektivt, derfor forskningsområde stadig. Hvad, hvis en af personerne er en pirat? Er det smart, hvis share er stor?

Offentlig nøgle kryptosystem Funktion f med invers f 1 Offentliggør f Hemmeligholder f 1 Kan bruges til kryptering, hvis det er meget svært at beregne f 1 alene ud fra viden om f. Alice (indkodning): f ( m) = c Bob (afkodning): m = f 1 ( c) Alice Kanal Bob Eve

McElieces kryptosystem G : S : P : G : k n generator matrix for binær irreducibel [n, k] Goppa-kode G, som kan rette t fejl k k randomiseret binær matrix af fuld rang n n permutationsmatrix SG P Offentlig nøgle: (G, t) Hemmelig nøgle: (S, D G, P), hvor D G er en effektiv dekodningsalgoritme for koden G.

Alice (indkodning): Vælg e med w H (e) = t tilfældigt. Indkod c = f ( m) = mg + e. Bob (afkodning): Beregn cp 1 = ( msg P + e)p 1 = msg + ep 1. Bemærk, at w H ( ep 1 ) = t og at msg er et kodeord. Dekod vha. D G til msg. Find herefter ms og til sidst m = ( ms)s 1. Hvorfor virker McElieces kryptosystem? Svar: Fordi det er uhyre svært at dekode, når man ikke har en god beskrivelse af ens kode. Dermed er det svært at finde f 1.