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

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

Opgave 1 Regning med rest

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

Fejlkorrigerende koder, secret sharing (og kryptografi)

Matematisk modellering og numeriske metoder. Lektion 16

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

Noter om polynomier, Kirsten Rosenkilde, Marts Polynomier

Projekt 3.5 faktorisering af polynomier

Foredrag i Eulers Venner 30. nov. 2004

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

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui opåasdfghjklæøzxcvbnmqwertyuiopå

Fejlkorligerende køder Fejlkorrigerende koder

Primtal - hvor mange, hvordan og hvorfor?

Matematik for økonomer 3. semester

Svar på opgave 336 (Januar 2017)

Projekt 7.9 Euklids algoritme, primtal og primiske tal

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

Ligningssystemer - nogle konklusioner efter miniprojektet

Fordybelsesprojekt Matematik 2, forår 2005 Potensrækker

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

Note om endelige legemer

Mat 6 projekt Projektoplæg 22. januar 2013

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

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

DesignMat Den komplekse eksponentialfunktion og polynomier

DesignMat Uge 1 Repetition af forårets stof

Store Uløste Problemer i Matematikken. Lisbeth Fajstrup Aalborg Universitet

Bedste rette linje ved mindste kvadraters metode

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

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

Michel Mandix (2014) INDHOLDSFORTEGNELSE:... 2

Start-mat. for stx og hf Karsten Juul

Anvendelse af matematik til konkrete beregninger

Kursusgang 3 Matrixalgebra fortsat

Algebra - Teori og problemløsning

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

1 monotoni & funktionsanalyse

Nøgleord og begreber. Definition 15.1 Den lineære 1. ordens differentialligning er

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1

Der er facit på side 7 i dokumentet. Til opgaver mærket med # er der vink eller kommentarer på side 6.

Oversigt [S] 7.3, 7.4, 7.5, 7.6; [LA] 15, 16, 17

Polynomier. Frank Villa. 26. marts 2012

Funktioner. 3. del Karsten Juul

Undervisningsbeskrivelse

Polynomier af én variabel

Matematisk modellering og numeriske metoder. Lektion 5

Polynomier af én variabel

Mini-formelsamling. Matematik 1

Elementær Matematik. Tal og Algebra

Noter til Computerstøttet Beregning Taylors formel

Komplekse Tal. 20. november UNF Odense. Steen Thorbjørnsen Institut for Matematiske Fag Århus Universitet

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

Matematik og FormLineære ligningssystemer

Matematik for stx C-niveau

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

Projekt 3.4 Fjerdegradspolynomiets symmetri

Løsninger til eksamensopgaver på A-niveau 2017

Mike Vandal Auerbach. Funktioner.

Lineære 1. ordens differentialligningssystemer

Projekt 3.1 Fjerdegradspolynomiets symmetri

Vektorrum. enote Generalisering af begrebet vektor

Lidt historisk om tredje- og fjerdegradsligningen

Besvarelser til de to blokke opgaver på Ugeseddel 7

Matrx-vektor produkt Mikkel H. Brynildsen Lineær Algebra

Undervisningsbeskrivelse

Lokalt ekstremum DiploMat 01905

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

MATEMATIK B. Videooversigt

MM05 - Kogt ned. kokken. Jacob Aae Mikkelsen. 23. januar 2007

Lineær Algebra. Lars Hesselholt og Nathalie Wahl

To find the English version of the exam, please read from the other end! Eksamen i Lineær Algebra

Matematisk modellering og numeriske metoder. Lektion 4

Numerisk. differentiation. Erik Vestergaard

Tidligere Eksamensopgaver MM505 Lineær Algebra

Oversigt [S] 8.7, 8.8, 8.9

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

UGESEDDEL 9 LØSNINGER. Sydsæter Theorem 1. Sætning om implicitte funktioner for ligningen f(x, y) = 0.

matx.dk Enkle modeller

Matematik, Struktur og Form Splines. NURBS

Kursusgang 3 Matrixalgebra Repetition

DesignMat Uge 1 Gensyn med forårets stof

TØ-opgaver til uge 45

Fordybelsesprojekt Analyse 2, forår 2012 Potensrækker

Formler, ligninger, funktioner og grafer

Funktioner. 1. del Karsten Juul

Komplekse tal og rækker

f(x)=2x-1 Serie 1

Undervisningsbeskrivelse

Matematikkens metoder illustreret med eksempler fra ligningernes historie. Jessica Carter Institut for Matematik og Datalogi, SDU 12.

Kapitel 7 Matematiske vækstmodeller

Besvarelser til Calculus Ordinær Eksamen Juni 2018

Komplekse tal og algebraens fundamentalsætning.

Ligninger... 1 Funktioner & modeller... 3 Regression... 6 Sjove opgaver... 7

Kryptering kan vinde over kvante-computere

Heisenbergs usikkerhedsrelationer. Abstrakt. Hvorfor? Funktionsrum. Nils Byrial Andersen Institut for Matematik. Matematiklærerdag 2013

Tallet π er irrationalt Jens Siegstad

Undervisningsbeskrivelse

Elementær Matematik. Mængder og udsagn

De fire elementers kostbare spejl

Transkript:

Matematiklærerdag 2017 Institut for Matematik, Aarhus universitet 24. marts 2017

Resumé Secret sharing henviser til metoder til fordeling af en hemmelighed blandt en gruppe af deltagere, som hver især får tildelt en andel (et lod, en share) af hemmeligheden Hemmeligheden kan rekonstrueres, når et tilstrækkeligt antal af andele (lodder, shares) kombineres, hvorimod færre andele (lodder, shares) ikke giver nogen viden om hemmeligheden Secret sharing blev opfundet uafhængigt af Adi Shamir og George Blakley i 1979 - matematisk bygges på evaluation og interpolation af polynomier, og ville kunne behandles i gymnasieskolen

To deler en hemmelighed To vil dele en hemmelighed s (et tal), hver part får et lod (et tal). Krav: Begge lodder skal være til stede for at afsløre hemmeligheden. Lad a 0 = s, vælg a 1 tilfældigt og lad f (x) = a 0 + a 1 x, hvis graf er en ret linie Vælg forskellige x 1, x 2 tilfældigt og evaluer y 1 = f (x 1 ), y 2 = f (x 2 ) og få de 2 lodder Er 2 lodder kendt, er der en entydig bestemt ret linie igennem (x 1, y 1 ) og (x 2, y 2 ), hvorfor hemmelighed s = a 0 er bestemt En derimod kun 1 lod kendt, f.eks. (x 1, y 1 ), er der mange linier igennem dette punkt og skæringen med y-aksen b 0 kan være, hvad det skal være

y f (x) = a 0 + a 1 x b 0 y 2 y 1 (x 2, y 2 = f (x 2 )) (x 1, y 1 = f (x 1 )) s = a 0 x 1 x 2 x f (x) = b 0 + b 1 x

Notation Som altid er K er vilkårligt legeme, eksempelvis Q, R, C eller restklasselegemet Z/pZ (p et primtal). Blot skal vi i K kunne addere, multiplicere og dividere (med elementer forskellige fra nul), samt regne associativt, kommutativt og med parenteser (distributivt). At Z/pZ (p et primtal) er et legem, se [Hansen, 2012]. Helt central er Euklids udvidede algoritme.

Sharmir secret sharing, se [Shamir, 1979] En hemmelighed s K deles i n lodder, så vilkårlige t af disse bestemmer s, hvorimod færre end t lodder ikke giver nogen viden: a 0 = s (hemmeligheden) Vælg x 1,..., x n K parvis forskellige Vælg tilfældige a 1,... a t 1 K og konstruere polynomiet f (X ) = a 0 + a 1 x + + a t 1 x t 1 af grad mindre end eller lig med t 1 De n lodder er evalueringerne y i = f (x i ), i = 1,..., n Polynomiet f (x) og dermed a 0 = s er entydigt bestemt af vilkårlige t af evalueringerne y i = f (x i ), i = 1,..., n. Det er ikke tilfældet, hvis færre end t evalueringer er kendte.

y s = 100 y i lod x i spiller (x i, y i ) x f (x) = 1 x 3 + 2 x 2 + 3 x + 100

n=7 lodder, hvoraf vilkårlige t=4 bestemmer hemmeligheden Example En hemmelighed s = 100 deles i n = 7 lodder, så vilkårlige t = 4 bestemmer s = 100, hvorimod færre ikke giver nogen viden: a 0 = s = 100 (hemmeligheden) Vælg x 1 = 1, x 2 = 2, x 3 = 3, x 4 = 4, x 5 = 5, x 6 = 6, x 7 = 7 Vælg (tilfældige) a 1 = 3, a 2 = 2, a 3 = 1 og lad f (X ) = 100 + 3X + 2X 2 X 3 af grad 3 (mindre end eller lig med 3 = t 1) De 7 lodder: f (1) = 104, f (2) = 106, f (3) = 100, f (4) = 80, f (5) = 40, f (6) = 26, f (7) = 124 Polynomiet f (X ) og dermed a 0 = s er entydigt bestemt af vilkårlige 4 lodder

Lagrange polynomiet Som altid er K er vilkårligt legeme, eksempelvis Q, R, C eller Z\pZ (p et primtal). Blot skal vi kunne addere, multiplicere og dividere (med elementer forskellige fra nul), samt regne associativt, kommutativt og med parenteser (distributivt). Sætning Lad x 1,..., x t K være parvis forskellige og lad y 1,..., y t K være vilkårlige værdier. Der findes et entydigt bestemt polynomium f (x) med koefficienter i K med grad f (x) t 1, så y i = f (x i ) for i = 1,..., t. (1) Polynomiet kaldes Lagrange polynomiet.

Bevis. Entydighed: Lad f 1 (x) og f 2 (x) være 2 polynomier som i (1). Dermed er f 1 (x i ) f 2 (x i ) = 0 for i = 1,..., t. Dermed har polynomiet f 1 (x) f 2 (x), der har grad mindre end eller lig med t 1, mindst t rødder. Det er kun muligt, for nul-polynomiet, hvorfor f 1 (x) og f 2 (x) er identiske.

Bevis. Eksistens: Lagrange basispolynomiet l j (x) := 1 m t m j x x m x j x m, j = 1,..., t har grad t 1, evaluerer til 0 i x = x i (i j) og 1 i x = x j. Polynomiet t L(x) := y j l j (x) j=1 har grad mindre end eller lig med t 1 og evaluerer som ønsket.

Example De første 4 lodder i det tidligere eksempel var f (1) = 104, f (2) = 106, f (3) = 100, f (4) = 80.For at bestemme hemmeligheden ud fra disse, beregner vi de 4 Lagrange basispolynomier l 1 (x), l 2 (x), l 3 (x) og l 4 (x). Det første bliver l 1 (x) = x 2 1 2 x 3 1 3 x 4 1 4 = 1 6 x 3 + 3 2 x 2 13 3 x + 4 Lagrange interpolationspolynomiet bliver 104 l 1 (x) + 106 l 2 (x) + 100 l 3 (x) + 80 l 4 (x) = x 3 + 2 x 2 + 3 x + 100, og den delte hemmelighed er bestemt til at være 100.

Shamir Secret Sharing og Lagrange interpolation Kender vi t eller flere af de n lodder findes et entydigt bestemt Lagrange interpolationspolynomium af grad mindre end eller lig med t 1. Hemmeligheden s er bestemt Beviset giver en metode til at bestemme Lagrange interpolationspolynomiet u lodder (u < t) siger intet om hemmeligheden s. Lad s 1 være en vilkårlig. Der findes et Lagrange interpolationspolynomium af grad mindre end eller lig med u t 1 igennem de u oprindelige lodder og loddet (0, s 1 )

Let udregning af Lagrange polynomiet - Szegö-metoden se [Szeg o, 1975]. π(x) = (x x 1 )(x x 2 ) (x x t ) Ved formel differentation, hvor produktreglen for differentation stadig gælder, fås ( ) d t dx π(x) = (x x m ) π (x j ) = i=1 Lagrange basispolynomiet bliver l j (x) = 1 m t m i 0 m t m j (x j x m ) π(x) (x x j )π (x j )

SAGE - (https://cloud.sagemath.com/) Example SAGE - koden nedenfor bestemmer ved hjælp af Szegö-metoden udledt ovenfor Lagrange interpolationspolynomiet i vort eksempel. sage: xs = [1,2,3,4] sage: ys = [104, 106, 100, 80] sage: pi(x) = prod(x-i for i in xs); pi(x) sage: pid(x) = diff(pi(x),x); sage: P(x) = sum(pi(x)/(x-i)/pid(i)*j for (i,j) in zip(xs,ys)) sage: P(x).collect(x)

TI-nspire CAS calculator Example Koden nedenfor bestemmer ved hjælp af Szegö-metoden udledt ovenfor Lagrange interpolationspolynomiet i vort eksempel. t := 4 xs := 1, 2, 3, 4 ys := 104, 106, 100, 80 t Define q(x) = (x xs[i]) ( i=1 ) d qs := seq dx (q(x)) x = xs[i], i, 1, t Define L(x) = t ( i=1 q(x) (x xs[i]) qs[i] ys[i] )

Lineær algebra Et polynomium af grad mindre end eller lig med t 1 har t koefficienter a i K. f (x) = a 0 + a 1 x + + a t 1 x t 1 t lodder er evalueringerne y i = f (x i ), i = 1,..., t og giver anledning til t lineære ligninger i de t ubekendte koefficienter. y i = a 0 + a 1 x i + + a t 1 x t 1 i Ligningerne kan løses da deres antal er mindre end lig med antallet af variable. Dermed kan f (x) og hemmeligheden bestemmes. Har vi kun u lodder (u < t ), får vi u lineære ligninger, der er færre end antallet af variable, og dermed uendelig mange løsninger til ligningssystemmet. Se f.eks. [Nielsen & Salomonsen, 2011].

Hansen, Johan P. 2012. Tal og mængder. Begreber, metoder og resultater. Aarhus: Aarhus Universitetsforlag. Nielsen, Holger Andreas, & Salomonsen, Hans Anton. 2011. Lineær algebra via eksempler. Aarhus: Aarhus Universitetsforlag. Shamir, Adi. 1979. How to share a secret. Comm. ACM, 22(11), 612 613. Szeg o, Gábor. 1975. Orthogonal polynomials. Fourth edn. American Mathematical Society, Providence, R.I. American Mathematical Society, Colloquium Publications, Vol. XXIII.