Faglig Rapport. Udvalgte pointer angående secret sharing og multi-party computation. Fjerde faglige rapport til Rejselegat for matematikere
|
|
|
- Mogens Holm
- 10 år siden
- Visninger:
Transkript
1 Faglig Rapport Fjerde faglige rapport til Rejselegat for matematikere af Kåre Janussen ESAT/COSIC, Katholieke Universiteit Leuven, august 2007 Udvalgte pointer angående secret sharing og multi-party computation Bilag: Template Attacks on Masking: An Interpretation Rotor Exercises
2
3 Indhold Indledning 1 1 Basal teori Basal informationsteori One-way functions Basal kryptologi Public-key systemer Generelt kryptosystem Secret sharing Perfekt secret sharing Eksempel: Brickells vektorrumskonstruktion Multi-Party computation Secret sharing, eksempler (t, w)-threshold schemes Eksempel: Bankboks (1) Eksempel: (t, w)-threshold scheme i p Visual threshold schemes Multi-party computation Sikkerhedsmodeller i multi-party computation Semi-honest model malicious model malicious model Adaptiv malicious model Hovedresultater Multi-Party computation Verifiable threshold schemes Litteratur 45 Indeks 47 i
4
5 Indledning Denne rapport er udarbejdet på grundlag af den vigtigste del af det stof, jeg har studeret under min studierejse i studieåret 2006/2007. Rapporten vil, for ikke at blive i omfang som en lærebog, forudsætte en grundlæggende viden om visse emner indenfor basal algebra og kryptologi, men visse basale konstruktioner og definitioner er for fuldkommenhedens skyld alligevel gennemgået her. Eftersom al litteratur, jeg har læst om disse emner, har været på engelsk, er de fleste begreber engelske, som det ikke altid er særlig elegant at oversætte til dansk. Visse engelske ord og udtryk vil derfor blive anvendt præcis som om, de var en del af det danske sprog. Emnerne, der behandles, er hovedsageligt kryptologi, secret sharing og multiparty computation, hvor der er en vis propagering igennem det meste af stoffet. Efter en kort indføring i basal informationsteori præsenteres nogle basale definitioner og konstruktioner fra grundlæggende kryptologi. En del af dette bruges i afsnittet om secret sharing. I den del, der omhandler multi-party computation, bruges begreber og egenskaber, der er hentet både fra afsnit om kryptologi og om secret sharing. Verifiable secret sharing er en udvidelse af klassisk secret sharing og har meget med multi-party computation at gøre. Som en sidebemærkning omkring secret sharing er der indskudt et kapitel omhandlende praktiske eksempler på secret sharing. Netop denne del har ikke nogen decideret tråd efter sig i efterfølgende kapitler. Indholdet er inddelt i tre kapitler: Kapitel 1 indeholder noget grundlæggende og ekstremt basal teori om informationsteori og kryptologi samt secret sharing og multiparty computation. Det er kort sagt basale beskrivelser af de emner, rapporten behandler. Se [Stinson1], [Delfs, Knebl] eller [Goldreich2] for en mere udførlig gennemgang af disse store emner. Nogle vigtige eksempler på secret sharing er beskrevet i kapitel 2, og endelig omhandler kapitel 3 multi-party computation. Der er vedlagt en artikel, Template Attacks on Masking: An Interpretation, om template side-channel attacks vedlagt som bilag. Det er den workshop-artikel, jeg har været medforfatter på. Et andet bilag til rapporten, Rotor Exercises, er et sæt opgaver om rotormaskiner, jeg blev bedt om at lave til et kursus i basal algebra. Der er en mængde stof, som på baggrund af artikler, jeg har studeret, kunne have været medtaget, men som er blevet udeladt for ikke gøre denne rapport for omfattende. Det kunne have været emner som f.eks. proaktiv secret sharing, multiplikativ lineær secret sharing samt andre former for robusthed, hvor man enten arbejder med andre 1
6 Indledning modstandermodeller eller med andre access-strukturer, end det er gjort her. Mit studieophold har givet mig mulighed for at studere en række forskellige emner, som enten har været helt nye for mig eller har været en videreudvikling af emner, jeg tidligere har arbejdet med under mit studium i Danmark. Ud over de førnævnte artikler, jeg har studeret, har der været andre emner, som var nye for mig. Det er stof, jeg har stødt på dels i kurser lokalt på COSIC eller i Eindhoven, og dels er det stof, der er blevet præsenteret på workshops og til konferencer, jeg har deltaget i, hvilket hovedsageligt er beskrevet i tidligere rapporter. Derudover var det en ny og spændende erfaring at være med til at skrive side-channel-artiklen. Rotormaskiner har jeg heller ikke haft mulighed for at studere før, da det er historiske, mekaniske kryptoapperater fra begyndelsen af forrige århundrede, så det var interessant at prøve at lave algebraopgaver på denne baggrund. 2
7 Kapitel 1 Basal teori Dette kapitel er en gennemgang af de redskaber fra den grundlæggende matematik og informationsteori, som jeg vil benytte mig af i resten af denne tekst, og er for så vidt ikke nødvendigvis en del af den teori, det ville være nødvendigt at gennemgå, hvis det blot antages, at læseren besidder et bredt og stedvist dybt matematisk kendskab. Jeg har dog valgt at lave en kortfattet gennemgang af dette stof dels for fuldstændighedens skyld og dels for at indføre den notation, jeg vil benytte i rapportens følgende kapitler. Læseren kan derfor gå hurtigt igennem dette kapitel, hvis denne mener at besidde de kundskaber, der står beskrevet, men jeg vil fraråde at springe kapitlet helt over. 1.1 Basal informationsteori Vi skal her gennemgå lidt klassisk informationsteori (efter Shannon), hvor begrebet entropi indføres, og nogle basale egenskaber opsummeres. Det ønskes at opstille et mål for usikkerheden på udfaldene af en stokastisk variabel. Dette mål kaldes entropi og er beslægtet med det tilsvarende begreb fra fysikkens termodynamik. C. E. Shannon introducerede begrebet entropi i forbindelse med opbygningen af den moderne informationsteori i 1948 (se evt. [Shannon1]) og brugte det i kryptologi-sammenhæng i 1949 i [Shannon2]. Definition 1. Lad X være en endelig stokastisk variabel med sandsynlighedsfordeling P(X). Da defineres entropien af denne stokastiske variabel til at være H(X)= hvor P i = P(X=x i ) for 1 i n. n P i log 2 P i, i=1 Heraf ses det bl.a., at når en stokastisk variabel X er helt fastlagt, så er H(X) = 0. Hvis derimod den stokastiske variabel X er fuldstændig uniform, så alle punktsandsynlig- 3
8 1.1. BASAL INFORMATIONSTEORI heder er ens, er H(X) maksimal med H(X)=log 2 n. Se også [Stinson1]. Man kan sige, at entropien betegner usikkerheden på den betragtede stokastiske variabel. Hvis udfaldet af den stokastiske variabel kendes, er usikkerheden og dermed entropien lille. Hvis overhovedet ingen ikke-triviel information (kaldet Shannon-information) kendes om udfaldet, er det bedste, man kan gøre, at gætte tilfældigt over en uniform fordeling. I dette tilfælde har X så maksimal entropi. Spørgsmålet om entropien af en stokastisk variabel afhænger altså af den mængde af ikke-triviel information om udfaldet, som er tilgængelig. Desuden kan defineres følgende: Definition 2. Lad X, Y være stokastiske variable. Da defineres H(XY) = P(X=x, Y= y) log 2 P(X=x, Y= y), x X y Y H(X Y= y) = P(X=x Y= y) log 2 P(X=x Y= y), x X H(X Y) = P(Y= y) log 2 P(X Y= y). y Y Der gælder iflg. [Stinson1] følgende egenskaber: Proposition 3. Lad X, Y, Z være stokastiske variable. Da gælder 1. H(XY) H(X), 2. H(X Y) H(X YZ), 3. H(XY) H(X)+H(Y), hvor = gælder, hvis og kun hvis X og Y er uafhængige, 4. H(X Y)=H(XY) H(Y). Af pkt. 4 ovenfor følger, at H(XY Z)=H(XYZ) H(Z) = H(Y XZ)+ H(XZ) H(Z) da H(Y XZ)=H(XYZ) H(XZ) = H(Y XZ)+ H(X Z) da H(X Z)= H(XZ) H(Z). Af pkt. 3 & 4 ovenfor følger, at H(X Y)=H(XY) H(Y) H(X)+H(Y) H(Y)= H(X) som vel også intuitivt kunne forventes, da viden om Y kunne mindske usikkerheden om X. Det følger også af pkt. 3, at = gælder, hvis og kun hvis X og Y er uafhængige. 4
9 1.2. ONE-WAY FUNCTIONS Hvis X og Y ikke er uafhængige, vil en observation af Y afsløre information om X og derfor reducere usikkerheden omkring X. Dvs. den reduktion i usikkerhed omkring X, der forårsages af at observere Y, er lig med den information, der opnås om X ved observation af Y. Den information, som Y afslører omkring X, kaldes the mutual information mellem X og Y og skrives I(X; Y) med en formel givet således: Definition 4. Hvis X og Y er stokastiske variable, defineres deres mutual information I(X; Y) ved I(X; Y)=H(X) H(X Y)=H(X)+H(Y) H(X, Y)=I(Y; X). (1.1) Bemærk den symmetriske egenskab, at mængden af information, Y afslører om X, er lig med mængden af information, X afslører om Y. Mutual information opfylder 0 I(X; Y) H(X), hvor I(X; Y) = 0, hvis og kun hvis X og Y er uafhængige. Den øvre grænse opnås, præcis når Y entydigt bestemmer X. Dvs. jo større mutual information er, jo tættere er relationen mellem X og Y på at være en deterministisk 1-1-relation. 1.2 One-way functions Vi skal her indføre et vigtigt begreb, kaldet one-way functions, som ligeledes er afgørende for forståelsen af de resterende kapitler. Kendt fra kompleksitetsteori er klasser af matematiske problemer, der regnes for at være svære i den forstand, at der ingen effektive generelle algoritmer findes til at løse dem. Ved en effektiv algoritme menes en såkaldt polynomiel-tid (poly-time) algoritme (hvis antal skridt maksimalt er et polynomium af bitlængden af dens input x). Algoritmen kan være probabilistisk (hvis den gør brug af en grad af tilfældighed, dvs. foretager møntkast undervejs) eller deterministisk. Klassen af problemer, der kan løses af deterministiske poly-time algoritmer, kaldes P, mens klassen, der kan løses af probabilistiske poly-time algoritmer, kaldes NP. En kendt klasse af såkaldt svære problemer er de, der siges at være NPkomplette. Det er pr. definition de sværeste problemer indenfor kompleksitetsklassen NP (se [Papadimitriou]). Problemer i denne klasse er ikke nødvendigvis svære for alle inputs, men de er det for visse tilfælde. Man kalder det worst-case hardness. Bemærk, at det klart gælder, at P NP. For moderne kryptografi er det en nødvendig (men ikke tilstrækkelig) betingelse, at P NP, og det er også en udbredt formodning, at denne ulighed gælder, men dette såkaldte P NP-problem er fortsat kompleksitetsteoriens mest berømte uløste problem. En one-way function er kort beskrevet en funktion f, der skal være let at udregne funktionsværdier af, men svær at invertere. Mere præcist skal det være muligt at beregne f (x) med en poly-time algoritme. Derimod må ingen probabilistisk poly-time algoritme findes, som beregner et urbillede af f (x) med mere end negligibel sandsynlighed, når x vælges uniformt tilfældigt. 5
10 1.2. ONE-WAY FUNCTIONS Nedenfor er en mere præcis definition af one-way functions, men først skal vi præcisere, hvad der forstås ved, at en størrelse er negligibel : Definition 5. En funktionµ: siges at være negligibel, hvis der for alle positive polynomier p findes et N, så det for alle n> N gælder, at µ(n) < 1 p(n). Her skal det defineres, hvad en one-way function er. Faktisk er det følgende definitionen af en såkaldt strong one-way function, men forskellen vil jeg ikke gå nærmere ind på i denne rapport. Definition 6. En funktion f :{0, 1} {0, 1} kaldes en one-way function, hvis følgede er opfyldt: 1. Der skal findes en deterministisk poly-time algoritme A, som på input x giver f (x) som output. 2. Lad U n være stokastisk variabel, uniformt fordelt over{0, 1} n. For alle poly-time algoritmer A, alle positive polynomier p og alle tilstrækkeligt store n skal det gælde, at P [ A ( f (U n ), 1 n) f 1( f (U n ) ) ] < 1 p(n), hvor sandsynlighed er taget over alle værdier for U n samt alle uniforme møntkast hos A. Bemærk: Inverteringsalgoritmen A skal ikke finde et bestemt urbillede af f. Det er nok, hvis A kan finde et vilkårligt x med f (x )= f (x). Desværre er det et uløst problem, hvorvidt one-way functions faktisk eksiterer eller ej. Man har bevist, at hvis de eksisterer, så giver de anledning til en række andre nyttige kryptografiske konstruktioner. Specielt gælder det også, at P NP, hvis og kun hvis one-way functions eksisterer. Man håber derfor, at de eksisterer og har derfor fundet kandidater til funktioner, som kunne være one-way. De mest kendte funktioner, man antager, er one-way, er konstrueret, så invertering af funktionen kræver løsning af et NP-komplet problem. Eksempler på disse er følgende: Heltalsfaktorisering Hvis p, q er ulige primtal med p q 3 mod 4, er funktionen f (p, q)= p q let at udregne, mens inverteringen pq (p, q) kræver en heltalsfaktorisering, hvilket er NP-komplet. 6
11 1.2. ONE-WAY FUNCTIONS Diskret logaritme Hvis g er frembringer for en cyklisk gruppe, er funktionen f (x) = g x let at udregne, mens inverteringen g x x er kendt som diskret logaritmeproblemet, hvilket er NP-komplet. For kryptografiske one-way functions er worst-case hardness imidlertid ikke nok. Det er jo klart, at et kryptosystem, hvor en uautoriseret modstander let kan bryde krypteringen af en del af de krypterede beskeder, ikke er acceptabelt. Heller ikke selvom visse andre dele er næsten umulige at bryde. Det, man ønsker sig af et kryptosystem, er snarere noget, man kan kalde average-case hardness, hvor langt de fleste plaintexts er svære at bryde. NP-komplette problemer kan derfor godt udgøre en del af en one-way function, men der må være andre ingredienser til stede også, som kan give average hardness. Begrebet one-way function giver anledning til det afledte begreb trapdoor oneway permutation, som a priori er en bijektiv one-way function, men med den særlige egenskab, at der findes en såkaldt trapdoor, som er en stump information (et tal/bitstreng), der kan bruges til at invertere funktionen i polynomiel-tid. Uden kendskab til denne trapdoor, skal funktionen fortsat være svær at invertere. Dvs. det er bijektioner, der kun med negligibel sandsynlighed lader sig invertere af en poly-time algoritme. Følgende definition er som definition 6, men med bijektivitet og trapdooregenskaben hægtet på: Faktisk kan man definere en form for trapdoor one-way function, kaldet trapdoor permutationer. Selve definitionen fra [Goldreich2] er temmelig teknisk, så den vil jeg udelade her. Blot kan det løst siges, at Definition 7. En bijektion f :{0, 1} {0, 1} kaldes en trapdoor one-way permutation, hvis følgede er opfyldt: 1. Der skal findes en deterministisk poly-time algoritme A, som på input x giver f (x) som output. 2. Lad U n være stokastisk variabel, uniformt fordelt over{0, 1} n. For alle poly-time algoritmer A, alle positive polynomier p og alle tilstrækkeligt store n skal det gælde, at P [ A ( f (U n ), 1 n) f 1( f (U n ) ) ] < 1 p(n), hvor sandsynlighed er taget over alle værdier for U n samt alle uniforme møntkast hos A. 3. Der skal findes en strengτ {0, 1}, kaldettrapdoor samt en deterministisk poly-time algoritme B, som tager inputτ, så det for alle x gælder, at B ( τ, f (x) ) = x. 7
12 1.3. BASAL KRYPTOLOGI e ke (x)=y d kd (y)= x x A y B x k e E k d y??? Figur 1.1. Almindeligt setup 1.3 Basal kryptologi Kryptologi er læren om hemmeligholdelse af information og har eksisteret lige så længe, der har været skriftlige kilder til. Ordet hemmeligholdelse skal her ikke forstås som det at holde på en hemmelighed, men snarere som det at kunne opbevare eller transmittere det hemmelige indhold, kaldet plaintext, i en ulæselig form, kaldet ciphertext, over en usikker kanal. Målet er at opnå dette, uden at en tredje part ud fra ciphertext en er i stand til at lære noget brugbart om plaintext en. Processen, der transformerer information fra en læselig form til en ulæselig, kaldes kryptering. For at dette kan være brugbart må der naturligvis eksistere en metode til at bringe den hemmelige information tilbage til dens eksakt oprindelige form. Transformationen tilbage til læselig form kaldes dekryptering. Både kryptering og dekryptering gør som regel brug af en hemmelig nøgle, der er et ekstra stykke hemmelig information, der er nødvendig for at foretage kryptering og dekryptering. Krypterings- og dekrypteringsnøglerne kan enten være ens eller forskellige, hvilket giver anledning til de to begreber, symmetrisk og asymmetrisk kryptering. Som regel illustreres det ovenfor beskrevede setup som i figur 1.1, hvor en person A (Alice) med sin hemmelige krypteringsnøgle k e krypterer et stykke plaintext x (f.eks. en bitstreng) og sender den resulterende ciphertext y over en usikker kanal til en anden person B (Bob), som med sin dekrypteringsnøgle k d kan dekryptere og læse x. Men fordi kommunikationskanalen antages at være usikker, kan den onde tredje person E (Eva 1 ) opsnappe ciphertext en. Alice og Bob håber nu, deres kryptosystem er stærkt nok til, at Eva, som ingen dekrypteringsnøgle har, ud fra ciphertext en y ikke er i stand til at finde frem til hverken plaintext en x eller dekrypteringsnøglen k d. Normalt betegnes kryptering og dekryptering som følgende bijektive funktioner, der hver afhænger af deres respektive nøgler: e ke : x y d kd : y x 1 Eve på engelsk, forkortelse af ordet eavesdropper 8
13 1.3. BASAL KRYPTOLOGI hvor det naturligvis må gælde, at de er hinandens inverse, dvs. så d e(x) = x, så dekryptering altid giver det ønskede resultat. Ideelt set ville et kryptosystem være sikkert, hvis ciphertext en aldrig afslørede nogen ikke-triviel information om plaintext en. Dette er en løs formulering af den såkaldte informationsteoretiske sikkerhedsmodel, som kan præciseres ved det følgende: Definition 8. Et kryptosystem, hvor ciphertext en vælges fra den stokastiske variabel Y, og dekrypteringsnøglen er en værdi af den stokastiske variabel K, siges at være informationsteoretisk sikkert, hvis H(X Y)=H(Y). Ovenstående definition kan også være praktisk at formulere ved brug af mutual information fra ligning(1.1), som præcis angiver, hvor meget Shannon-information, ciphertext en røber om nøglen: Definition 9. Et kryptosystem, hvor plaintext en vælges fra den stokastiske variabel X, og dekrypteringsnøglen er en værdi af den stokastiske variabel K, siges at være informationsteoretisk sikkert, hvis I(Y; X)=0. Desværre er informationsteoretisk sikre systemer generelt meget ineffektive, hvilket skyldes følgende vigtige resultat af Shannon, som siger, at dekrypteringsnøglen i et informationsteoretisk sikkert system altid er mindst lige så lang som plaintext en 2 : Sætning 10. I et informationsteoretisk sikkert system, hvor plaintext en vælges fra den stokastiske variabel X, og dekrypteringsnøglen er en værdi af den stokastiske variabel K, er H(K) H(X). Filosofien bag informationsteoretisk sikkerhed er, at ciphertext en ikke må overføre nogen som helst ikke-triviel information om plaintext en. Men der er en slækkelse, man med fordel kan foretage: I stedet for informationsteoretisk sikre systemer, der som før nævnt er ineffektive, benytter man sig i praksis af det, man kalder computational security, hvor man ikke bekymrer sig om, om ciphertexts bærer information om plaintexts, kun om denne information nemt kan ekstraheres eller ej. Man forlader sig på kandidater til beregningsmæssigt svære problemer, så man i stedet kan tænke på krypteringsfunktionen som en trapdoor one-way function, hvor dekrypte- 2 Længden af bitstrengene er uløseligt forbundet med entropien, som er et mål for usikkerheden, dvs. for den minimale mængde information, det kræver at beskrive deres værdier. 9
14 1.4. PUBLIC-KEY SYSTEMER ringsnøglen er den trapdoor-information, der kan anvendes til invertering (som input i dekrypteringsfunktionen). Der gælder faktisk følgende om eksistensen af symmetriske systemer: Sætning 11. Hvis trapdoor one-way function eksisterer, så findes der computationally secure symmetriske systemer. Det er vigtigt at notere sig, at inden Alice kan sende sin besked til Bob, skal hun først have genereret sin hemmelige krypteringsnøgle k e, og Bob skal have den tilsvarende hemmelige dekrypteringsnøgle k d. Af hensyn til sikkerheden er det i denne indledende fase vigtigt, at de hemmelige nøgler vælges fra så stor en mængde, at Eva ikke indenfor rimelig tid kan gennemprøve alle muligheder, samt at Bob får sin dekrypteringsnøgle over en sikker kanal, som Eva overhovedet ingen adgang har til. I et symmetrisk system (k e = k d ) vil Alice og Bob altså typisk på forhånd aftale den hemmelige nøgle over en sikker kanal. 1.4 Public-key systemer En upraktisk egenskab ved symmetrisk kryptering er, at udveksling af den hemmelige nøgle mellem de to parter A og B er nødt til at foregå over en sikker kanal, og dette skal oven i købet gøres på ny, hvis A også ønsker at tale med C. Og A skal huske at bruge forskellige nøgler til hver eneste person, hun ønsker at kommunikere med. Derfor er det umådelig praktisk at være i stand til at konstruere asymmetriske systemer, hvor krypteringsnøgle og dekrypteringsnøgle ikke bare er forskellige, men hvor en endnu stærkere egenskab gælder: Det skal ud fra den ene nøgle være umuligt a priori at sige noget som helst brugbart om den anden. Dvs. k d skal være statistisk uafhængig af k e. Der er indledningsvist en kort initialiseringsfase, hvor B i hemmelighed ved hjælp af en poly-time algoritme genererer et nøglepar (ke, B kd B ), som er statistisk uafhængige. Dernæst gemmer han den hemmelige nøgle kd B på et sikkert sted og offentliggør3 sin offentlige nøgle ke B f.eks. på sin hjemmeside på internettet eller i telefonbogen. Nu er B klar til at kommunikere med hvem som helst. Hvis A vil sende en besked x til B, finder hun B s offentlige nøgle ke B og krypterer sin besked, hvilket giver y=e k B e (x). Denne ciphertext sender hun til B, som nu er den eneste i Verden, der kan dekryptere beskeden, fordi han har sin hemmelige dekrypteringsnøgle kd B. Et public-key system er på denne måde at betragte som en sikker kanal, fordi det kan bruges mange gange med det samme nøglesæt og ikke behøver nogen forudgående nøgleudveksling. 3 Deraf navnet public-key 10
15 1.4. PUBLIC-KEY SYSTEMER Denne type asymmetriske kryptosystemer kaldes public-key systemer, og hvis det kan antages, at alle parter er i stand til at generere hemmelige nøgler, er der tale om en såkaldt Public-Key Infrastruktur (PKI). Public-key system 1. B vælger en hemmelig nøgle kd B og anvender en one-way function til at beregne den offentlige nøgle ke B = f (kd B), som offentliggøres. 2. A finder B s offentlige nøgle ke B og krypterer med denne plaintext en x. Derpå sender A den resulterende ciphertext y=e k B e (x) til B, som med sin hemmelige nøgle dekrypterer og får d k B(y)= x. d Det er klart, at et krav til ethvert public-key system må være, at det skal være nemt ud fra den hemmelige dekrypteringsnøgle kd B at generere den offentlige krypteringsnøgle ke B, men at det samtidig skal være uoverstigeligt svært at regne den modsatte vej. Hele sikkerheden i systemet beror jo netop på, at Bob skal kunne offentliggøre sin offentlige krypteringsnøgle, uden at Eva må kunne beregne hans hemmelige dekrypteringsnøgle. Der skal altså eksistere en funktion f : k B d kb e som Bob kan bruge til at generere sin offentlige krypteringsnøgle med, og denne funktion skal være one-way. Det kan lade sig gøre at vise følgende sætning vedrørende forbindelsen mellem public-key systemer og trapdoor permutationer: Sætning 12. Hvis trapdoor permutationer eksisterer, så findes der sikre publickey systemer. Det skal senere defineres, hvad der menes med sikkerhed for public-key systemer. Denne definition af sikkerhed er den førnævnte computational security, der også omtales som semantic security for public-key systemer i definition
16 1.4. PUBLIC-KEY SYSTEMER Det klart mest anvendte public-key system er RSA 4, som anvendes overalt i hverdagen på PC ere og internet. Sikkerheden i RSA er hovedsageligt den førnævnte faktoriseringsantagelse, men det er et åbent spørgsmål, om man er nødt til at faktorisere, for at bryde systemet. Man håber selvsagt, at systemet er sikkert, og denne antagelse kaldes RSA-antagelsen. Se [Papadimitriou] for mere om denne. Det kan imidlertid vises, at RSA-antagelsen, dvs. antagelse af sværheden ved at invertere RSA-kryptering, er ækvivalent med en antagelse om, at RSA-krypteringsfunktionen en trapdoor permutation. Desværre er der i forbindelse med brugen af public-key systemer forbundet nogle mere komplicerede beregninger end i symmetrisk kryptering, hvilket får implementeringer af public-key systemer til at køre op til 1000 gange langsommere end de symmetriske. Dette gør public-key kryptosystemer upraktiske at bruge til store datamængder. Derfor bruges symmetriske systemer i praksis til dette, men disse kræver jo som beskrevet en sikker kanal til overførsel af nøglen, og til denne begrænsede mængde information kan et public-key system anvendes, idet en nøgle næsten altid vil være meget mindre end den mængde data, der ønskes krypteret. Dette giver anledning til de såkaldte hybridsystemer, der anvender public-key teknologi til etablering af en session key, som derefter benyttes i symmetrisk kryptering af data. Hybridsystemer fungerer efter følgende model: Hybridsystem 1. A vælger en session key k til et symmetrisk system. 2. A finder B s offentlige nøgle ke B og krypterer i public-key systemet den valgte session key og sender ciphertext en z = e k B e (k) til B, som dekrypterer og får nøglen d k B(z)=k. d 3. A krypterer data x i det symmetriske system med nøglen k og sender ciphertext en y=e k (x) til B, som dekrypterer med nøglen k og får d k (y)= x. Mange moderne implementeringer af kryptosystemer er hybridsystemer, der som ovenfor beskrevet benytter public-key til etablering af en session key, derpå bruges til kryptering af det ønskede data i et symmetrisk system. 4 For mere om RSA, se f.eks. [Stinson1] 12
17 1.4. PUBLIC-KEY SYSTEMER En variant, som også er umådeligt anvendt, gør i stedet for trin 1 og 2 ovenfor brug af Diffie-Hellman key exchange, som er baseret på diskret logaritme. Målet for personerne A og B er i fællesskab at etablere en fælles session key over en usikker kanal: Diffie-Hellman key exchange 1. A og B enes offentligt om en endelig cyklisk gruppe samt en frembringer g A vælger i hemmelighed et tilfældigt naturligt tal a samt udregner og sender y 1 = g a til B. - B vælger i hemmelighed et tilfældigt naturligt tal b samt udregner og sender y 2 = g b til A På baggrund af det modtagede udregner A nu (y 2 ) a = (g b ) a = g ab. - På baggrund af det modtagede udregner B nu (y 1 ) b = (g a ) b = g ab. Det er nu klart, at A og B nu deler den fælles værdi g ab, mens en eavesdropper E kun har g, g a og g b. For at beregne g ab kræves en løsning af diskret logaritme-problemet, hvilket som før nævnt regnes for svært Generelt kryptosystem Vi skal nu se en mere præcis definition på et generelt kryptosystem (private- eller public-key) samt give en definition af, hvad der kan menes med et sikkert system. Notationen i det følgende er således, at{0, 1} n betegner en ikke nærmere bestemt bitstreng (en følge af 1 er og 0 er) af længde n, mens{0, 1} betegner en bitstreng af vilkårlig længde. Endelig betegner 1 n en bitstreng af længde n, hvor længden er det primære, og værdien af de enkelte bits lige så godt alle kunne være 1. 13
18 1.4. PUBLIC-KEY SYSTEMER Definition 13. Et generelt kryptosystem er en tupel (G, E, D) af tre probabilistiske poly-time algoritmer, der opfylder det følgende: 1. Algoritmen G, kaldet key-generator tager input 1 n, hvor n (længden af input et) er en såkaldt sikkerhedsparameter. Output et er et par af bitstrenge (k e, k d ). 2. For ethvert par (k e, k d ) i G(1 n ) s billede, for alle x {0, 1}, for alle algoritmer E (encryption) og alle algoritmer D (decryption) gælder P [ D ( k d, E(k e, x) ) = x ] = 1, hvor sandsynligheden er taget over de lokale møntkast i algoritmerne E og D. Ethvert par (k e, k d ) i G(1 n ) s billede udgør et nøglepar, hvor k e er krypteringsnøglen, og k d er dekrypteringsnøglen. Strengen E(k e, x) er ciphertext en fremkommet ved kryptering af plaintext x ved nøgle k e i krypteringsfunktionen E. Strengen D(k d, y) er plaintext en fremkommet ved dekryptering af ciphertext en y ved nøgle k d i dekrypteringsfunktionen D. Bemærk: De to algoritmer E og D er præcis de to krypterings- hhv. dekrypteringsfunktioner, der før har heddet e og d. Bemærk også, at denne generelle definition dækker både symmetriske og asymmetriske kryptosystemer, idet der i et symmetrisk system blot gælder k e = k d. Den ovenstående definition siger imidlertid intet om sikkerhed, dvs. ovenstående er ikke en definition af et sikkert system! Det er kun en definition af et system, som ved hjælp af nøgler transformerer plaintext om til ciphertext og tilbage igen. Definitionen dækker derfor også det trivielle og meget lidt anvendelige eksempel, hvor krypteringsog dekrypteringsfunktionerne begge er identiteten: E(k e, x)= x og D(k d, y)=y. Vi skal nu se en definition på sikkerhed af et kryptosystem. Der findes ingen fastlagt definition af computational security, da det afhænger af, hvad det er for en modstander, man vil beskytte sig imod. Den følgende definition er ret anvendelig og kaldes semantic security. Den dækker dog udelukkende plaintext-strenge af en længde, der højst er et polynomium af sikkerhedsparameteren, dvs. hvis x X er en plaintext fra fordelingen X, så er X poly(n), hvor poly er et vilkårligt polynomium. Det samme skal gælde for outputs af de to polynomielt begrænsede funktioner f og h. Der er en definition for private-key og en for public-key systemer: 14
19 1.4. PUBLIC-KEY SYSTEMER Definition 14 (Semantic security, private-key). Et generelt kryptosystem (G, E, D) siges at være semantically secure, hvis der for alle probabilistiske polytime algoritmer A eksisterer en probabilistisk poly-time algoritme A, så der for alle x med x poly(n), for alle par af polynomielt begrænsede funktioner f, h :{0, 1} {0, 1} og for alle positive polynomier p og tilstrækkeligt store n gælder, at P [ A ( 1 n, E ke (X), 1 X, h(1 n, X) ) = f (1 n, X) ] < P [ A ( 1 n, 1 X, h(1 n, X) ) = f (1 n, X) ] + 1 p(n), hvor sandsynligheden er taget over X samt alle lokale møntkast i algoritmerne G, E, A og A. Den tilsvarende definition for generelle public-key systemer adskiller sig kun fra private-key semantic security ved det, at modstanderen A, der ingen plaintext ser, gerne må se krypteringsnøglen k e : Definition 15 (Semantic security, public-key). Et generelt kryptosystem (G, E, D) siges at være semantically secure, hvis der for alle probabilistiske polytime algoritmer A eksisterer en probabilistisk poly-time algoritme A, så der for alle x med x poly(n), for alle par af polynomielt begrænsede funktioner f, h :{0, 1} {0, 1} og for alle positive polynomier p og tilstrækkeligt store n gælder, at P [ A ( 1 n, E ke (X), 1 X, h(1 n, X) ) = f (1 n, X) ] < P [ A ( 1 n, k e, 1 X, h(1 n, X) ) = f (1 n, X) ] + 1 p(n), hvor sandsynligheden er taget over X samt alle lokale møntkast i algoritmerne G, E, A og A. Løst sagt, kan begrebet semantic security af et kryptosystem fortolkes således, at systemet regnes for semantically secure, hvis ciphertext en ikke afslører nogen ikketriviel Shannon-information. I de ovenstående definitioner er det formuleret således, at systemet er semantically secure, hvis enhver poly-time modstander A, der ser en ciphertext kun kan identificere den tilhørende plaintext med marginalt større sandsynlighed end en anden poly-time modstander A, der ingen ciphertext ser. Det kan vises, at semantic security er ækvivalent med en sikkerhedsdefinition, der kaldes indistinguishability of encryptions, hvor idéen er, at kryptering af to tilfældigt valgte plaintexts altid skal være computationally indistinguishable, hvilket betyder, at ingen poly-time modstander vil have mere end en negligibel sandsynlighed (jvf. defi- 15
20 1.5. SECRET SHARING nition 5) for at kende forskel på de to ciphertexts 5. Begrebet computational indistinguishability bliver vigtigt igen senere, så det er passende at give en formel definition: Definition 16. To familier af stokastiske variable X={X n } n og Y={Y n } n siges at være computationally indistinguishable, hvis det for alle probabilistiske poly-time algoritmer D, alle positive polynomier p og tilstrækkeligt store n gælder, at P [ D(Xn, 1 n )=1 ] P [ D(Y n, 1 n )=1 ] < 1 p(n). Dette skrives også som X c Y. 1.5 Secret sharing Vi skal her opsummere nogle basale begreber vedrørende secret sharing schemes samt se et par eksempler på konkrete konstruktioner. Senere i dette kapitel præsenteres også en mere generel beskrivelse samt perfekthed. Det sidste er en ønskværdig egenskab for secret sharing schemes, idet det udtrykker, dels at schemet deler hemmeligheden korrekt, samt at uautoriserede delmængder af personer intet ikke-trivielt kan lære om hemmeligheden. I sektion præsenteres en endnu mere generel men også mere teknisk, protokolteoretisk definition af threshold schemes. I et secret sharing scheme findes en bestemt central dealer D, som vælger en hemmelighed s 0 K ud af en endelig mængde K af hemmeligheder. Desuden er der en endelig mængde P bestående af ialt n personer samt en mængde af delmængder af personerγ 2 P kaldet access-strukturen. Et secret sharing scheme (herefter ofte forkortet SSS) for access-strukturenγ er da en måde for dealeren D at dele sin hemmelighed, s 0, ud blandt personerne i P ved at give hver person p P et stykke hemmelig information en share s p S, hvor S <, således at netop delmængderne i Γ (de autoriserede delmængder) senere er i stand til i fællesskab at rekonstruere hemmeligheden s 0 entydigt ved hjælp af deres shares. Secret sharing er altså en proces, der kan siges at foregå i to faser, som det er illustreret i figuren på modstående side. Det antages foreløbig, at dealeren samt alle delmængderne i Γ er ærlige, dvs. ikke lyver om værdien af deres respektive shares under rekonstruktionen. Schemes, som er resistente overfor uærlighed, er beskrevet i sektion Det er nu klart, at accessstrukturen normalt må være en monoton mængde af delmængder af P, dvs. hvis A B, og A Γ, så er B Γ. Enkelte forfattere 6 har dog under noget besvær konstrueret schemes for access-strukturer, som ikke er monotone, men dette har ikke umiddelbart den store interesse i teorien for secret sharing. For det første fordi det er svært at 5 Givet to forskellige plaintexts samt tilhørende ciphertexts, skal det være svært at afgøre, hvilken ciphertext svarer til hvilken plaintext. 6 For reference til dette, se [Martin], p
21 1.6. PERFEKT SECRET SHARING Figur 1.2. Fordeling Figur 1.3. Rekonstruktion s 1 s 1 s 2 s 2 s 0 D s 3 s 3 A s 0.. Fase 1: Fordeling af hemmeligheden s 0 gennem dealeren D til personerne {p 1, p 2,..., p n }=P ved udsendelse af shares s 1,..., s n. s n s k Fase 2: Rekonstruktion af hemmeligheden s 0 gennem en autoriseret delmængde {p 1,..., p k }=A P med A Γ ved samling af shares s 1,..., s k. finde på anvendelser, hvor en ikke-monoton access-struktur er nødvendig, og for det andet fordi netop monotoni i access-strukturen giver nogle gode egenskaber, når SSS repræsenteres som matematiske objekter. LadΓ være familien af minimale mængder i en monoton access-strukturγ. En sådan familieγ siges da også at være basis forγ. Det antages, at enhver person p P er indeholdt i en af delmængderne fraγ. Dette er det samme som at antage, at der ikke er neglegible personer p, hvor der for alle A P gælder implikationen p A Γ A\{p } Γ. Ligeledes kan det for at undgå neglegible personer antages, at intet par af personer i P altid får samme shares. Personerne adskiller sig jo kun fra hinanden ved værdien af deres respektive shares. Schemes, som opfylder dette krav, kaldes sammenhængende. Vi vil kun behandle sammenhængende schemes. 1.6 Perfekt secret sharing Et generelt SSS kan beskrives som følger. Dealeren har en hemmelighed s 0, som er udvalgt fra mængden K af mulige hemmeligheder med sandsynligheden P(s 0 ). Til fordeling blandt de n personer i P bruger dealeren alfabeternes 1,...,S n, fra hvilke han udvælger de n shares s 1,..., s n. Han giver share s i til person p i uden at afsløre noget om værdien af de andre personers shares. Den samlede fordeling har sandsynlighed P s0 (s 1,..., s n ). Her definerer P altså sandsynlighedsfordelingen på produktmængdens (n) = K S 1 S n. Nu kaldes parret ( P,S (n)) for et SSS og hvert punkt (s 0, s 1,..., s n ) benævnes en fordelingsfunktion. Alle shares s i kan nu realiseres som værdierne af tilsvarende stokastiske variable S i med simultan fordeling P med P(s 0, s 1,..., s n )=P(s 0 )P s0 (s 1,..., s n ), da s 0 er uafhængig af hver enkelt s i, for 1 i n. Lad A P være en delmængde af personerne. Lad da P(s 0 s p, p A) betegne sandsynligheden for, at man gætter på s 0 som værdien af hemmeligheden, givet at man kender mængden af distribuerede shares til A, nemlig{s p p A}. Dvs. hvis personerne i A samler deres shares, så betegner P(s 0 s p, p A) sandsynligheden for, 17
22 1.6. PERFEKT SECRET SHARING at de i fællesskab når frem til værdien s 0 for hemmeligheden. Definition 17. Et secret sharing scheme for access-strukturen Γ siges at være perfekt, hvis følgende er opfyldt: 1. s 0 K: P(s 0 s p, p A) {0, 1}, hvis A Γ, 2. s 0 K: P(s 0 s p, p A)=P(s 0 ), hvis A Γ. Γ siges så at være en perfekt access-struktur. Den første betingelse udtrykker, at for hver værdi s 0 vil en autoriseret mængde A Γ altid enten finde frem til denne værdi for hemmeligheden eller udelukke denne værdi. Den næste betingelse kræver, at sandsynligheden for, at en uautoriseret delmængde A Γ gætter på s 0 som værdien af hemmeligheden, er den samme som den sandsynlighed, hvormed hemmeligheden blev valgt. Dvs. den uautoriserede delmængde har ingen Shannon-information og kan derfor ikke gøre andet end at gætte tilfældigt på værdien af hemmeligheden. Denne informationsteoretisk inspirerede definition kan naturligvis også udtrykkes ved entropi: Definition 18. Et secret sharing scheme for access-strukturen Γ siges at være perfekt, hvis følgende er opfyldt: 1. H(s 0 s p, p A)=0, hvis A Γ, 2. H(s 0 s p, p A)=H(s 0 ), hvis A Γ. Γ siges så at være en perfekt access-struktur Eksempel: Brickells vektorrumskonstruktion Nu vises et spændende eksempel på secret sharing scheme med Brickells vektorrumskonstruktion. Det skal vises, at dette scheme er perfekt. Det kan faktisk også relativt nemt vises, at dette scheme er en generalisering af Shamirs threshold scheme. LadΓvære en access-struktur, lad p være et primtal og lad d med d 2. Da er ( p ) d det endelige d-dimensionale vektorrum af d-tupler over legemet p. Det ønskes at konstruere et SSS med K=S=( p ) d. Antag at der findes en funktion som opfylder, at φ : P ( p ) d, (1, 0,...,0) sp{φ(p i ) p i A} A Γ. Vektoren (1, 0,...,0) ( p ) d kan altså udtrykkes entydigt ved en linearkombination af vektorer fra billedmængdenφ(a). 18
23 1.6. PERFEKT SECRET SHARING Initialisation D giver vektorenφ(p i ) ( p ) d til personen p i for alle 1 i P. Disse vektorer er offentligt kendte. Share-distribution 1. D ønsker at dele hemmeligheden K p. D vælger hemmeligt og tilfældigt d 1 elementer a 2,...,a d p. 2. D udregner for alle 1 i P værdien af s i = ā φ(p i ), hvor ā=(k, a 2,...,a d ). 3. D giver værdien s i som share til personen p i for alle 1 i P. For enhver vektor ā=(a 1, a 2,...,a d ) ( p ) d defineres altså en distributionsfunktion fā F a1 fra rummetf a1 af alle distributionsfunktioner på hemmeligheden K= a 1. Distributionsfunktionen er fā : P S med fā(x)=ā φ(x) x P, hvor betegner det indre produkt modulo p. HverF K indeholder præcis p d 1 forskellige distributionsfunktioner. Det, at D vælger de d 1 elementer tilfældigt i trin 1 i ovennævnte share-distribution, betyder, at alle sandsynlighedsfordelingerne p FK er uniforme, dvs. p FK ( f )= 1 for alle f F p d 1 K. Rekonstruktionen kan foretages af personerne i A Γ på følgende måde. Da netop (1, 0,...,0) sp{φ(p i ) p i A}, findes en linearkombination, så (1, 0,...,0)= {i p i A} c i φ(p i ) (1.2) med c i p. Den i te share er s i = ā φ(p i ), hvor ā ( p ) d er D s hemmelige vektor med K= a 1 = ā (1, 0,...,0). Ved brug af ovenstående linearkombination samt lineariteten af skalarproduktet 19
24 1.6. PERFEKT SECRET SHARING fås K= ā (1, 0,...,0) = ā c i φ(p i ) = = {i p i A} {i p i A} {i p i A} c i ā φ(p i ) Personerne i A skal så beregne koefficienterne c i ud fra ligning (1.2), idet dette system jo har en løsning. Nu skal sikkerheden af dette scheme undersøges ved at studere, hvad der sker, hvis en uautoriseret delmængde af personer B Γ samler deres shares. Lad c i s i. e=dim(sp{φ(p i ) p i B}) Da (1, 0,...,0) sp{φ(p i ) p i B}, er sp{φ(p i ) p i B} et ægte underrum af ( p ) d af dimension e < d. Betragt ligningssystemet φ(p i ) ā= s i, p i B (1, 0,...,0) ā=k. Dette består af lineære ligninger med d de ubekendte a 1, a 2,...,a d. Dette system har rang e+1, idet (1, 0,...,0) sp{φ(p i ) p i B}. Det skal undersøges, om der er en løsning til dette system. Vektoren ā, valgt af D, er en løsning til de første B ligninger, og da (1, 0,...,0) sp{φ(p i ) p i B}, kan den sidste ligning også løses med løsningen ā, så den sidste ligning er konsistent med de første B ligninger. Nu hvor ligningssystemet er konsistent, har løsningsrummet altså dimension d (e+1)=d e 1. Lad en hemmelighed K K være givet. For hver distribution af shares til mængden B vil der da findes p d e 1 forskellige distributionsfunktioner if K. Det ønskes vist, at personerne i B ikke får nogen information om hemmeligheden, dvs. det skal vises, at H(K B)= H(K) for alle K K. Pr. definition af entropien er det imidlertid nok at vise, at p K (K f B )= p K (K) for alle K K og alle f B F, hvor f B F K betegner en fordelingsfunktion restringeret til B på hemmeligheden K. Dvs. givet K K så er 20 f B (p i )= s i p i B.
25 1.7. MULTI-PARTY COMPUTATION Der gælder p K (K f B )= p S (B)( f B K)p K (K). p S (B) ( f B ) Dvs. beviset er færdigt, hvis det bliver vist, at p S (B) ( f B K) = p S (B) ( f B ). Men da D vælger med en uniform fordeling, er det det samme som at vise, at antallet af fordelingsfunktioner er uafhængigt af den valgte hemmelighed K. Men det er jo netop konstateret, at der til hver distribution af shares til B findes præcis p d e 1 forskellige distributionsfunktioner if K. Dermed er det vist, at Brickells vektorrumskonstruktion udgør et perfekt secret sharing scheme. 1.7 Multi-Party computation Secure multi-party computation er et begreb fra kryptografisk protokolteori, der minder om secret sharing, idet der også her er tale om en mængde spillere med lokale (hemmelige) inputs, som de i fællesskab kombinerer til en helhed. Men multi-party computation kan på en måde siges at være mere generelt, idet de deltagende parter i dette setup i fællesskab vil være i stand til at konstruere en beregning af en hvilken som helst funktionalitet, de måtte ønske og ikke blot én bestemt værdi, som i et secret sharing scheme. Desuden er secure multi-party computation også en mere robust familie af cryptografiske protokoller, idet de er mulige at gennemføre, selv hvis spillerne ikke kan stole på hinanden. Der findes resultater for, under hvilke omstændigheder protokollerne er sikre, hvilket afhænger af den anvendte sikkerhedsmodel, dvs. hvor lidt spillerne kan stole på hinanden. Og mest afgørende er det, at der i multi-party computation ikke antages en såkaldt third trusted party, som ellers er dealerens rolle i secret sharing. Kort sagt er en third trusted party en enhed, som ikke er en normal spiller i protokollen, og som, alle spillere kan stole på, følger protokollen. Problemet med third trusted parties er enten, at de generelt ikke eksisterer ret tit i en praktisk emplementering af noget system, eller også, at arbejdet for at etablere en sådan enhed gør protokollen for kompliceret. Hvis man havde haft en third trusted party, kunne alle spillere i protokollen blot have givet deres lokale inputs til denne betroede enhed og bedt om at få beregnet og offentliggjort resultatet af den ønskede funktionalitet. Denne idealiserede situation er illustreret i figur 1.4 på næste side. Nu, hvor man vil lave protokoller uden trusted party, er målet at konstruere protokollerne, så alle spillere ved at kommunikere med hinanden, som i figur 1.5, alligevel kan få foretaget den samme fælles beregning på en lige så sikker måde, som hvis der havde været en trusted party. Man konstruerer derfor den konkrete protokol i den reelle model (uden trusted party) således, at de kan siges at emulere adfærden af en idealiseret ideel model, hvori der optræder en imaginær trusted party. Dvs. alle spillere behandler deres lokale inputs på en måde, så det eneste, de ser som input og outputs i den reelle protokol (deres VIEW ), er identisk med det, de ville kunne have set i en protokol i den ideelle model, 21
26 1.7. MULTI-PARTY COMPUTATION Figur 1.4. Ideel model med trusted party Figur 1.5. Reel model uden trusted party Spiller 1 Spiller 1 Spiller 5 Trusted Party Spiller 2 Spiller 5 Spiller 2 Spiller 4 Spiller 3 Spiller 4 Spiller 3 Alle spillere giver deres lokale inputs til en third trusted party, som beregner den ønskede funktionalitet og offentliggør resultatet. Alle spillere indgår i en protokol, der emulerer den ideelle model, men uden trusted party. hvor de hver især udelukkende kommunikerer med en trusted party. Denne emulering af den ideelle model er den strategi, der generelt bruges i beviserne for multi-party computation-protokoller. Man viser altså, at den reelle protokol beregner den ønskede funktionalitet samt, at spillernes VIEWs (ærlige såvel som uærlige spilleres VIEWs) er som i den ideelle model 7. Et simpelt eksempel på et problem, der kræver multi-party computation er millionær-problemet, hvor to millionærer, Alice og Bob, vil finde ud af, hvem der er rigest, men vel at mærke uden at hverken Alice eller Bob afsløre den præcise størrelse af deres egen formue overfor hinanden. I stedet for at hviske i øret på en trusted party, vil de benytte en protokol, hvis effekt er den samme. Hvis x 1 og x 2 er størrelsen af de to formuer, så findes der altså en protokol 8, der beregner, hvorvidt x 1 > x 2. Denne information er det eneste, de to spillere lærer ved at køre protokollen. Der afsløres intet andet om den anden spillers formue! Ovenstående er et eksempel på en såkaldt funktionalitet med to lokale inputs (x 1, x 2 ), som to spillere A og B i fællesskab kan beregne. I ovenstående tilfælde ville det være fortegnet af funktionen f (x 1, x 2 )= x 1 x 2. Generelt betragter vi protokoller med n spillere, der hver har et lokalt input, som kun de selv kender værdien af. De n spillere ønsker nu at beregne funktionaliteten f (x 1,..., x n ) af alle de n lokale inputs på en måde, så ingen værdier af de lokale inputs bliver afslørede for andre spillere. Begrebet funktionalitet er løst sagt det samme som en funktion, der også afhænger af en grad af tilfældighed. 7 Faktisk vil vi kun kræve, at det reelleview er computationally indistinguishable fra det ideelleview. 8 En løsning, der dog er for teknisk til at blive gennemgået her, er givet i [Yao], selvom den ikke er effektiv nok til at være praktisk. Den fungerer også kun for ærlige spillere. 22
27 1.7. MULTI-PARTY COMPUTATION Definition 19. En funktionalitet af n inputs er en probabilistisk proces, der afbilder n inputs over i n outputs. En deterministisk funktionalitet af n inputs er en funktion af n variable over i n funktionsværdier. Bemærk, at funktionaliteter er generaliserede funktioner, der indkorporerer tilfældighed. Dette forstås i den forstand, at en funktion f (x 1,..., x n )=(y 1,...,y n ) blot er det specialtilfælde, der kaldes en deterministisk funktionalitet. Man kan også betragte en funktionalitet F som en sandsynlighedsfordeling over en familie af funktioner { f (i)}, hvor F er lig f (i) med sandsynlighed p i. Det er i øvrigt ækvivalent med en funktion F (r, x 1,..., x n ), der tager en tilfældig værdi r og giver restriktionen f (r) (x 1,..., x n ) som output. Vi vil kun beskæftige os med poly-time funktionaliteter. Et udmærket eksempel på en 2-party computation er faktisk Diffie-Hellman key exchange som gennemgået på side 13. Her har A det lokale input x 1 = a, mens B har lokalt input x 2 = b, og funktionaliteten, de ønsker at beregne, er f (x 1, x 2 )=g ab. (1.3) I stedet for at sende a hhv. b til en trusted party, som udfører beregningen og returnerer g ab, følger A og B en protokol, hvori de sender andre ting til hinanden, som på grund af kryptering undervejs (her vha. diskret logaritme) ikke afslører de lokale inputs. Til sidst ender begge parter med værdien g ab. Denne protokol er sikker overfor en såkaldt passiv modstander som Eva, der kan lytte med på al kommunikation, men ikke ændre den. Men bemærk: Man kan tænke sig andre typer af modstandere (modstandermodeller), som er mere alsidige, og som kan andre eller flere ting, måske endda aktivt kontrollere visse uærlige spilleres adfærd. Denne tankgang giver anledning til forskellige sikkerhedsmodeller, hvor en protokol, der er sikker i én model ikke nødvendigvis er det i en anden. Det er da også, hvad vi ville forvente, når det er forskellige trusselsscenarier, man beskytter sig imod. En protokol, der udfører en multi-party computation af en funktionalitet f på en måde, der er sikker i en bestemt sikkerhedsmodel, siges også at beregne f i denne sikkerhedsmodel. F.eks. er førnævnte Diffie-Hellman key exchange en protokol, der beregner funktionaliteten i ligning (1.3) sikkert i passiv modstander-modellen. 23
28
29 Kapitel 2 Secret sharing, eksempler 2.1 (t, w)-threshold schemes Her beskrives et meget kendt og simpelt eksempel på et SSS, nemlig (t, w)-threshold schemet for t w, hvor access-strukturen består af samtlige delmængder af personer A P med A t og P = w. Dvs. alle delmængder af mindst t personer kan beregne hemmeligheden, men ingen delmængde af t 1 personer kan få nogen som helst brugbar information (Shannon-information). Denne konstruktion er formentlig den mest intuitive og nok også umiddelbart den, som er lettest at finde på realistiske anvendelser for. Denne specielle access-struktur kaldes også en threshold-struktur. Herunder gives to eksempler på threshold schemes. Det første eksempler er et forsøg på at anskueliggøre nogle realistiske anvendelser, idet de udgør to løsninger til det såkaldte bankboksproblem. Det andet eksempel er den rent matematiske konstruktion af Shamirs threshold scheme i det endelige legeme p Eksempel: Bankboks (1) Et ofte brugt eksempel på en anvendelse er problemet med en bankboks, som det ikke er forsvarligt at lade én enkelt ansat have nøglen til. Det vurderes dog at være forsvarligt at lade eksempelvis 3 betroede ansatte om at åbne boksen sammen. Derfor konstruerer man en lås med 3 nøglehuller, som man så skal have 3 nøgler for at åbne. Låsen er konstrueret, så alle 3 nøgler skal bruges samtidigt for at åbne låsen, så det kræver, at mindst tre personer med nøgler er tilstede. Antag, at der er 10 betroede ansatte. En nøgle gives af bankens ledelse til hver betroet ansat. Nu kan enhver delmængde af betroede ansatte af kardinalitet mindst 3 åbne boksen i fællesskab ved at mødes og bruge nøglerne. Dette er et eksempel på et lidt primitivt (3, 10)-threshold scheme. I praksis ville man dog naturligvis være nødt til at sikre sig imod, at nøglerne kan kopieres. Ellers kunne enhver med en nøgle lave kopier til sine venner, som så med kopinøglerne kunne udgive sig for at være betroet medarbejder. Nøglerne kunne 25
30 2.1. (T, W)-THRESHOLD SCHEMES derfor eksempelvis være en form for smart-card med indbygget elektronisk chip, som hver indeholder en digital signatur evt. udstedt af bankens ledelse. Låsen skulle så kun kunne åbnes, hvis nøgler med forskellige gyldige signaturer benyttes. Det ville således være umuligt at lave flere nøgler, som kan bruges samtidigt på grund af signaturen, som kun bankens ledelse kan lave Eksempel: (t, w)-threshold scheme i p I det følgende beskrives en konkret algebraisk konstruktion af et threshold scheme efter Shamir (beskrevet i [Shamir]), nemlig (t, w)-threshold i p. I dette eksempel er hemmelighed og shares elementer i det endelige legeme p = /p med p elementer, hvor p er et primtal, og rekonstruktion foregår ved beregning i dette legeme 1. Lad t, w med t w, og lad p være et primtal med w p+1. Antag, at der gælder D P. Dealeren D ønsker at dele en hemmelighed s 0 K= p. Schemet virker nu som følger: Initialisation D vælger w forskellige ikke-nul-elementer x i p, 1 i w. D giver x i til person p i for alle 1 i w. Værdierne af x i er offentligt tilgængelige, dvs. ikke hemmelige. Share-distribution 1. D vælger i hemmelighed s 0 p og dernæst hemmeligt og tilfældigt t 1 elementer a 1,...,a t 1 p. 2. D udregner s i = a(x i ) for alle 1 i w, hvor t 1 a(x)= s 0 + a j x j mod p. j=1 3. D giver i hemmelighed share s i til person p i for alle 1 i w. Nu vises, hvordan personerne p 1,..., p t på en entydig måde kan finde frem til hemmeligheden s 0 = a(0). De kender de t funktionsværdier s i = a(x i ), 1 i t 1 At p er et legeme er et grundlæggende resultat i basal algebra. 26
31 2.1. (T, W)-THRESHOLD SCHEMES for det hemmelige polynomium a(x) p [x]. a(x) er af grad højst t 1, dvs. a(x)=a t 1 x t 1 + +a 1 x+a 0, hvor elementerne a 0,...,a t 1 p er ubekendte med a 0 = s 0. Ligningerne s i = a(x i ), 1 i t udgør derfor t lineære ligninger med t ubekendte med aritmetik i p. Hvis disse ligninger er uafhængige, er der en entydig løsning med a 0 som D s hemmelighed. Det viser sig imidlertid, at dette system af ligninger faktisk har en entydig løsning, som det fremgår af det følgende. Systemet af de t lineære ligninger i p er s 1 = a t 1 x t a 2 x a 1x 1 + a 0 s 2 = a t 1 x t a 2 x a 1x 1 + a 0. s t = a t 1 x t 1 t + +a 2 x 2 t+ a 1 x t + a 0, hvilket kan skrives 1 x 1 x 2 1 x t 1 1 a 0 s 1 1 x 2 x 2 2 x t 1 2 a 1 s 2. = x t x 2 t x t 1 t a t 1 s t Koefficientmatricen, kald den A, hedder også en Vandermonde-matrix, og den har som bekendt 2 determinanten det(a) = (x k x j ) mod p, 1 j<k t hvilket altid er forskelligt fra nul i p, da alle faktorer er forskellige fra nul. Ingen af faktorerne (x k x j ) kan være nul, da alle x i erne er forskellige. Da p er et primtal, er p et legeme, og så er produktet af ikke-nul-elementer altid forskelligt fra nul. Dvs. det(a) 0. Det gælder derfor, at enhver delmængde af mindst t personer vil finde en entydig værdi for hemmeligheden a 0. Hvad sker der nu, når en delmængde af t 1 personer samler deres shares? Det første, der sker, er, at de får t 1 ligninger med t ubekendte. Nu kan de forsøge at gætte på en værdi g 0 for hemmeligheden. Dette vil give en t te ligning 2 Velkendt resultat fra lineær algebra. a 0 = a(0)=g 0 27
32 2.2. VISUAL THRESHOLD SCHEMES samt en ny Vandermonde-matrix med entydig løsning. Dvs. for hvert gæt g 0 på værdien af hemmeligheden fremkommer der en entydig løsning, et entydigt polynomium a g0, med s j = a g0 (x i ), 1 j t g 0 = a g0 (0). Enhver værdi af hemmeligheden er altså mulig. En delmængde af t 1 personer har derfor ingen ikke-triviel information om hemmeligheden. I praksis ville en autoriseret delmængde beregne s 0 ved hjælp af Lagrange interpolation, hvilket giver t s 0 = b j s j, hvor hver koefficient b j = j=1 1 k t,k j x k x k x j kan beregnes fra starten, da x i erne jo var offentligt kendte. 2.2 Visual threshold schemes Dette er et eksempel på en konkret implementering af en form for secret sharing, hvor både hemmelighed og shares er digitale billeder. Hemmeligheden, som dealeren ønsker at dele, er altså et digitalt billede, og hver share er også et digitalt billede, der som sædvanligt er tilfældigt konstrueret umiddelbart inden schemets distributionsfase. Shares er selvfølgelig konstrueret, så autoriserede delmængder kan kombineres tilbage til hemmeligheden, men også så de uautoriserede delmængder - og specielt hver enkelt share ikke afslører noget ikke-trivielt. Det vil sige, at hver share enten kan ligne tilfældig støj, eller de kan ligne rigtig grafik, som dog stadig intet afslører om det hemmelige billede. Ideen i den generelle konstruktion er at inddele hvert pixel fra hemmeligheden i et antal subpixels, som så afhængig af den enkelte share kan være farvede eller ej. Man udnytter derefter en additiv egenskab ved farverne til at emulere farven af hele det færdige pixel. Det færdige pixel er på denne måde en form for mosaik af subpixels lagt ovenpå hinanden. I det følgende vil ordet pixel derfor betegne et pixel fra hemmeligheden, hvorimod shares siges at bestå af subpixels. Antallet af subpixels for hvert pixel kaldes schemets pixel expansion. De schemes, der præsenteres her, kaldes visual threshold schemes (VTS), idet deres access-strukturer er threshold-strukturer. Faktisk er det endda muligt at lave et perfekt sort/hvid visuel secret sharing scheme blot med almindelige OHP-transparenter, som det er gjort i f.eks. [Stinson2], hvor kombination af shares foregår ved at lægge trensparenterne ovenpå hinanden på projektoren. Ideen er illustreret på pixel-basis i figur 2.1 på næste side. I eksemplet fra figur 2.1 er hvert pixel fra hemmeligheden inddelt i to subpixels, så schemets pixel expansion er 2. Farven på hvert af hemmelighedens pixels skulle 28
33 2.2. VISUAL THRESHOLD SCHEMES Figur 2.1. Visuelt (2, 2)-threshold scheme i sort/hvid gerne fortolkes som enten sort eller hvidt. I virkeligheden er hvert hvidt pixel dog halvt sort og halvt hvidt med et bidrag fra hvert subpixel. Der er nu, som det er vist på figur 2.1, i alt fire kombinationer af subpixels, hvoraf de to giver et hvidt pixel (der i virkeligheden fremstår som gråt), og de sidste to giver et sort pixel. Det ses, at schemet er perfekt, da en uniform fordeling af shares også giver en uniform fordeling af pixelværdier. Dette følger umiddelbart af, at halvdelen af kombinationerne af shares giver den ene farve, mens den anden halvdel giver den anden. Dette forhold, at hemmelighedens pixels ikke helt får deres rigtige farve, bliver vigtigt, når man generaliserer VTS fra sort/hvide billeder til farvebilleder (color VTS). Det giver anledning til følgende definition af den såkaldte color ratio, der er et mål for, hvor stor en andel af et pixels subpixels, der har den korrekte farve: Definition 20. For et (k, n)-visual threshold scheme defineres for hvert pixel (i, j) med farve c i det hemmelige billede følgende color ratio R c, når k shares lægges sammen: # subpixels med farve c R c =. # subpixels Det er nu klart, at repræsentationen af den rekonstruerede hemmelighed bliver mere farveægte, jo højere ovennævnte color ratio er for hvert at dens pixels. Derfor er man generelt interesseret i at maksimere color ratio. I sort/hvid-eksemplet fra figur 2.1 er de to farvers color ratios R hvid = 1/2, mens R sort = 1. Det er ligeledes klart, at jo større et schemes pixel expansion er, jo større er dets shares. I et scheme med pixel expansion p, kommer hver share netop til at have p gange større opløsning. Man vil derfor forsøge at minimere et schemes pixel expansion. Som det kendes fra f.eks. tv-skærme, så er det muligt at emulere et farvebillede ved brug af subpixels med de tre grundfarver, blå, gul og grøn eller mere præcist 29
34 2.2. VISUAL THRESHOLD SCHEMES (på engelsk): cyan, yellow og green, hvor cyan netop er komplementærfarven til rød. I [Adhikari, Sikdar] vises følgende eksistenssætning for (2, n)-vts: Sætning 21 ([Adhikari, Sikdar], sætning 3). For alle n 3 findes et (2, n)-color VTS med grundfarverne cyan (C), yellow (Y), green (G) med pixel expansion 4m, hvor m er givet ved m= ( n n/2 ), og hvor farvernes color ratios er 3 R Y = R C = 8 + n 1 8 for n lige n 8 for n ulige 1 R G = 4 + n 1 4 for n lige n 4 for n ulige For n=2 findes et (2, n)-color VTS med color ratio 1 2 og pixel expansion 4. I ovennævnte artikel gives desuden også en en konstruktion af et scheme, der opfylder denne sætning. Det ville dog desværre føre for vidt at medtage denne her. I stedet vil vi se, hvad der sker, hvis man øger antallet af farver fra 3 til 6: Sætning 22 ([Adhikari, Sikdar], sætning 4). For alle n 3 findes et (2, n)-color VTS med grundfarverne cyan (C), yellow (Y), green (G), red (R), blue (B), magenta (M) med pixel expansion 6m, hvor m er givet ved m = ( n n/2 ), og hvor farvernes color ratios er 1 R C = R Y = R M = 4 + n 1 12 for n lige n 12 for n ulige 1 R G = R R = R B = 6 + n 1 6 for n lige n 6 for n ulige For n=2 findes et (2, n)-color VTS med color ratio 1 3 og pixel expansion 6. Det ses, at color ratios aftager for alle de tre farver fra det trefarvede scheme, og den gennemsnitlige color ratio taget over samtlige farver er også aftaget. Til gengæld er pixel expansion vokset. Det skal bemærkes, at der findes color VTS med vilkårligt mange farver, men en uheldig effekt af øget farvedybde er bl.a. også en mindsket color ratio. Det kan vises, at der findes en nedre grænse på color ratios, som afhænger omvendt proportionalt med antallet af farver. Til gengæld er denne nedre grænse uafhængig af antallet af shares, dvs. af n. Pixel expansion afhænger ligeledes kun af antallet af farver. Dvs. når man øger farvedybden, så har det to negative sideeffekter: Color ratios aftager, og pixel expan- 30
35 2.2. VISUAL THRESHOLD SCHEMES sion vokser. Det første betyder, at den rekonstruerede hemmelighed får en større grad af farveforvrængning, mens det andet betyder, at hver share bliver større i opløsning og dermed i datastørrelse. Man kan diskutere, hvorvidt farveforvrængningseffekten diskvalificerer sådanne VTS fra at være perfekte i overensstemmelse med definition 17. Det er jo ikke den eksakte hemmelighed, men en forvrænget udgave af den, der bliver rekonstrueret. Derudover kan det hurtigt blive upraktisk med for store pixel expansions, der besværliggør håndteringen af shares både i genererings-, fordelings- og rekonstruktionsfasen. 31
36
37 Kapitel 3 Multi-party computation Dette kapitel drejer sig om multi-party computation, hvor det vil blive præsenteret, hvordan definitioner og resultater formuleres i kryptografisk protokolteori. Metoderne minder mere om teoretisk datalogi end om matematik. Jeg har valgt ikke at give nogen konstruktioner af konkrete protokoller, da det hurtigt ville blive meget omfattende. I stedet henvises til f.eks. [Goldreich1] og [Goldreich2]. Desværre er mange af definitionerne i dette kapitel så lange, at det ikke er muligt at omgive dem med en enkelt kasse i typografien. De er derfor placeret i kasser, der deler sig over page breaks, selvom det eventuelt kan virke en anelse forstyrrende. 3.1 Sikkerhedsmodeller i multi-party computation Vi skal i denne sektion definere tre sikkerhedsmodeller: En såkaldt semi-honest og to såkaldte malicious models. En semi-honest model kaldes også af og til for passiv eller honest but curious, da det betegner en modstander, som følger protokollen, men dybest set er ude på at lære så meget som muligt om andre spilleres inputs mv. Han vil i det hele taget forsøge at snyde så meget, som det nu er muligt uden at bryde protokollen. De to malicious models dækker begge over modeller, hvor modstanderen er aktiv og kan foretage vilkårlige (poly-time) afvigelser fra protokollen. Den første af disse tillader malicious premature abortion 1. Den anden gør det ikke. Definitionenerne er opbygget omkring en sammenligning mellem en ideel og en reel model, som det er illustreret i sektion 1.7. Eftersom disse to malicious models tillader uærlige spillere at gøre næsten hvad som helst, kan de uærlige spillere specielt også antages at samarbejde. Især i en private channel-model, hvor de kan antages at kommunikere indbyrdes udenom de ærlige spillere. Det kan derfor være nyttigt at forestille sig mængden af evt. samarbejdende modstandere som én enkelt ekstern modstander, der tager fuld kontrol over en række 1 utidig abort, protokollen afsluttes, før den er tilendebragt. 33
38 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION spillere. Denne generaliserede eksterne modstanderabstraktion vil vi derfor repræsentere ved en enkelt poly-time algoritme. De to malicious models er: Første malicious model I denne model kan de vilkårligt mange uærlige spillere tvinge protokollen til utidig abort, hvorved den øjeblikkeligt stopper, og dens output blot bliver en følge af er. Anden malicious model I denne model er der kun tilladt et strengt mindretal af uærlige spillere, hvorved de ærlige ved simulering af det uærlige mindretal kan forhindre utidig abort. Det er vigtigt at lægge mærke til, at modstanderen i de to malicious models på forhånd skal vælge, præcis hvilke spille, han vil tage kontrol over, og denne delmængde skal holdes konstant gennem hele kørslen af protokollen. En modstander, der undervejs kan vælge at kontrollere nye spillere, kaldes en adaptiv modstander. En adaptiv modstander er en form for aktiv modstander, der kan alt, hvad en modstandere i 2. malicious model kan, men derudover kan den også løbende under kørslen af protokollen vælge nye spillere at kontrollere. Den må dog stadig, ligesom i 2. malicious model, kun kontrollere et strengt mindretal af spillerne. Årsagen til dette krav har med verifiable secret sharing at gøre. Det bliver forklaret i sektion Semi-honest model Indledende definitioner: Private computing vil i det følgende betyde, at en mængde af passive modstandere kun lærer samme information ved at deltage i protokollen, som kan udledes af deres input og output. Det er det samme som at sige, at de ikke kan kigge over skuldrene på ærlige spilleres inputs og beregninger. En m-input funktionalitet vil i det følgende være en stokastisk afbildning af følger (bitstrenge) på formen x=(x 1,..., x m ) over i stokastiske variable ( f 1 ( x),..., f m ( x)). Dvs. f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)) (x 1,..., x m ) ( f 1 (x 1,..., x m ),..., f m (x 1,..., x m ) ), hvilket skal forstås således, at den i te spiller har lokalt input x i og modtager output f i ( x). Vi antager desuden, at alle lokale inputs er af samme længde, dvs. x i = x j for alle i, j. Husk at skrivemåden X c Y betegner, at de to ikke-uniforme fordelinger X og Y er computationally indistinguishable, jvf. definition 16. Definition 23 (Semi-honest privacy, private channel-model). Lad f være en m-input funktionalitet givet ved f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)). fortsættes 34
39 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION fortsat fra forrige side For I={i 1,...,i t } [m]={1,...,m} betegner f I ( x) delfølgen{ f i ( x)} I. Lad Π være en m-party protokol, der beregner f. Den i te spillers VIEW i løbet af protokollen, der kører på input x er VIEW Π i ( x)=(x i, r, m 1,...,m k ), hvor r er udfaldet af i te spillers lokale møntkast, og m j er den j te besked, spilleren har modtaget. For I={i 1,...,i t } defineres VIEW Π I ( x)=( I,VIEW Π i 1 ( x),...,view Π i t ( x) ). Den i te spillers output eroutput Π i, hvorved protokollens samlede output bliver OUTPUT Π ( x)= ( OUTPUT Π 1,...,OUTPUTΠ m). Deterministisk tilfælde: Hvis f er en deterministisk funktionalitet (en funktion), så sigesπat beregne f privately, hvis der findes en poly-time algoritme S, så det for alle I [m] gælder, at {( S ( I, ( xi1,..., x it ), fi ( x) ), f I ( x) )} x {0,1} m c { VIEW Π I ( x) } x {0,1} m. Generelt: Protokollen Π siges at beregne f privately, hvis der findes en polytime algoritme S, så det for alle I [m] gælder {( ( ( ) S I, xi1,..., x it, fi ( x) ), f I ( x, f ( x)) )} c{ VIEW Π x {0,1} m I ( x),output Π ( x) } x {0,1} m. Bemærk: Det ses i sidste linie ovenfor, hvordan det kræves, at de uærlige spilleres opførsel kan simuleres af en poly-time simulatoralgoritme S. Bemærk også, at da dette er en private channel-model, erview Π I ( x) de lokale views mellem de uærlige spillere og altså ikke mellem de ærlige, da de uærlige spillere, som nævnt, har mulighed for at kommunikere i hemmelighed udenom de ærlige spillere malicious model Kørsel af protokollen i ideel model: Det skal indledningsvist slås fast, hvordan syntaksen er for den ideelle model. Dvs. hvordan spillerne kommunikerer samt håndterer inputs og outputs. Inputs: Hver spiller i modtager fra trusted party et lokalt input x i, som ved modtagelsen kun kendes af denne spiller (samt evt. af trusted party). 35
40 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION Sending af inputs til trusted party: Ærlige spillere sender deres personlige x i til trusted party. Malicious parties kan afhængig af x i, af ekstra-input z samt lokale møntkast vælge enten abort eller at sende et x i {0, 1} x i til trusted party. Trusted party svarer spiller 1: Hvis trusted party modtager (x 1,..., x m ), svarer trusted party med f 1 (x 1,..., x m ) til spiller 1. Hvis trusted party kun modtager (x 2,..., x m ), sender den (abort) til alle spillere. Trusted party svarer resten af spillerne: Hvis spiller 1 er malicious, kan denne tvinge trusted party til abort. Trusted party sender da til alle andre spillere. Ellers sender trusted party f i ( x) til spiller i. Outputs: Ærlige spillere vil altid give resultatet fra trusted party som output. En malicious spiller kan give et output, som er en poly-time funktionalitet af det oprindelige input, et ekstra-input, et lokalt random-tape samt output fra trusted party. Definition 24 (Ideelle model, 1. malicious model). Lad f være en m-input funktionalitet givet ved f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)). For I={i 1,...,i t } [m]={1,...,m} betegner Ī= [m]\i, og x I = { } x i1,..., x it. Parret (I, B), hvor I [m] og B er en poly-time algoritme, repræsenterer en modstander i den ideelle model. Afviklingen af f under (I, B) i den ideelle model på input x og ekstra-input z betegnesideal (1) f,i,b(z) ( x) og er defineret ved uniformt tilfældigt at vælge et random-tape r for modstanderen og lade IDEAL (1) f,i,b(z) ( x)=υ( x, I, z, r), hvor Υ( x, I, z, r) er defineret ved følgende to tilfælde: spiller 1 er ærlig (1 I): Υ( x, I, z, r)= ( f Ī ( x ), B( x I, I, z, r, f I ( x )) ), hvor x = (x 1,..., x m) med x i = B( x I, I, z, r) i for i Iog x i = x i ellers. spiller 1 er uærlig (1 I): ( Ī, B( x I, I, z, r, f I ( x ), ) ) hvis B( x I, I, z, r, f I ( x )= Υ( x, I, z, r)= ( fī ( x ), B( x I, I, z, r, f I ( x )) ) ellers, hvor x = (x 1,..., x m ) med x i = B( x I, I, z, r) i for i Iog x i = x i ellers. 36
41 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION Grunden til opdelingen i de to tilfælde efter spiller 1 er, at man WLOG kan antage, at det er spiller 1, der forårsager en evt. abort af protokollen. Kørsel af protokollen i den reelle model: En malicious spiller kan vælge at følge enhver poly-time strategi dvs. enhver poly-time algoritme, som tager et ekstra-input (ærlige spillere ignorerer et sådant ekstra-input). Specielt kan en sådan spiller til ethvert tidspunkt vælge at aborte protokollen, hvorefter andre spillere intet output modtager fra protokollen. Følgende ting er mulige: Malicious spillere kan vælge fra starten ikke at deltage i protokollen. Malicious spillere kan vælge at ændre deres lokale input. Malicious spillere kan vælge at aborte protokollen i utide. Definition 25 (Modstander, 1. malicious reelle model). Lad f være en m-input funktionalitet givet ved f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)) præcis som i definition 24 og ladπvære en m-party protokol, der beregner f. Lad Ā=(A 1,..., A m ) være en tupel af probabilistiske poly-time algoritmer, der repræsenterer strategier i den reelle model. En sådan tupel siges at være tilladt mht.π, hvis mindst én A i stemmer medπ. Kørsel afπunder Ā i den reelle model på input x og ekstra-input z giver outputreal Π,Ā(z) ( x) og er defineret som protokollens output-tupel fra interaktion med A 1 (x 1, z),..., A m (x m, z). Bemærk: Da enhver ærlig spiller A i ignorerer ekstra-input z, gør det ikke nogen forskel, at de får et sådant. Det er nu muligt at definere en sikker protokol i den reelle model som en sammenligning mellem den ideelle og den reelle model. Definition 26 (Sikkerhed, 1. malicious reelle model). Lad f være en m-input funktionalitet givet ved f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)) som i definition 24. fortsættes 37
42 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION fortsat fra forrige side Kørsel af protokollenπunder (I, Ā) i den reelle model (definition 24) på input x og ekstra-input z giver outputreal Π,I,Ā(z) ( x) og er defineret som output-følgen efter interaktion mellem de m spillere, hvor beskederne fra spillerne i I (de uærlige) er beregnet i forhold til Ā( x I, I, z), og beskederne fra spillerne i Ī= [m]\i (de ærlige) er beregnet medπ. Beskederne fra uærlige spillere (dem i I) er bestemt af modstanderen Ā baseret på de oprindelige lokale inputs, ekstra-input z samt alle beskeder sendt indtil videre fra alle spillere (også fra de ærlige). ProtokollenΠsiges at beregne f på en sikker facon i den 1. malicious model, hvis der for enhver probabilistisk poly-time algoritme Ā (der repræsenterer en reel-model modstanderstrategi) eksisterer en poly-time algoritme B (der repræsenterer en ideel-model modstanderstrategi), så det for alle I [m] gælder, at { IDEAL (1) f,i,b(z) ( x)} x,z Da kaldes Π en implementering af f. c { REAL Π,I,Ā(z) ( x) } x,z. Bemærk: Modstanderen i definitionerne 24 og 26 kan aflytte alle kanaler. Hvis private channels kan antages, skalreal Π,I,Ā(z) ( x) modificeres, så Ā kun afhænger af informationerne modtaget af I malicious model Der antages strengt mindretal af uærlige spillere, hvilket i praksis umuliggør utidig abort af protokollen. Derfor antages det, at alle kørsler forløber og terminerer korrekt i forhold til protokollen. Den følgende definition minder teknisk set en del om definition 26. Definition 27 (Sikkerhed, 2. malicious model). Lad f være en m-input funktionalitet givet ved f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)) som i definition 24. En ideel-model modstander er som i definition 24 bortset fra, at utidig abort ikke længere er tilladt. Kørsel afπiden ideelle model under (I, B) på input x og ekstra-input z betegnes IDEAL (2) f,i,b(z) ( x). Reel-model modstanderen er defineret som i definition 26 bortset fra, at strengt flere end halvdelen af A i erne skal følge protokollenπ. fortsættes 38
43 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION fortsat fra forrige side protokollen Π siges at beregne f på en sikker facon i den 2. malicious model, hvis der for hver probabilistisk poly-time algoritme A (der repræsenterer en reelmodel modstanderstrategi) eksisterer en poly-time algoritme B (der repræsenterer en ideel-model modstanderstrategi), så det for alle I [m] gælder, at Da kaldes Π en implementering af f. { IDEAL (1) f,i,b(z) ( x)} c { REAL x,z Π,I,Ā(z) ( x) }. x,z Adaptiv malicious model I [Goldreich2] gives følgende skitse til en definition af sikkerhed i den adaptive malicious model. Opbygningen er teknisk set den samme som for de to malicious models i definitionerne 26 og 27, hvor man definerer sikkerhed som en computational indistinguishability mellem en ideel model og en reel model. Følgende definition er (også i [Goldreich2]) kun en skitse og indeholder derfor en masse tekst. Definition 28 (Sikkerhed, adaptiv malicious model). Lad f være en m-input funktionalitet givet ved f : ({0, 1}) m ({0, 1}) m x ( f 1 ( x),..., f m ( x)) som i definition 24. Lad t<m/2 være en grænse (threshold) for antallet af spillere, modstanderen tillades at kontrollere. t-adaptiv ideel-model-modstanderen er en probabilistisk process, der opererer i højst t+ 1 trin, som er inddelt i to faser. I hvert trin i første fase kan modstanderen, baseret på den til det tidspunkt tilgængelige information, beslutte, om den vil tage kontrol over endnu en spiller eller gå videre til anden fase. Hvis det første er tilfældet, bestemmer modstanderen identiteten af denne spiller og får dennes lokale input. Hvis det andet er tilfældet, benytter modstanderen sin tilgængelige information til at bestemme et input, som den giver til trusted party. Alle andre spillere giver deres lokale inputs til trusted party, som beregner og forsyner hver spiller med et output. Modstanderen modtager alle outputs fra de spillere, den kontrollerer og kan ikke forhindre ærlige spillere i at modtage deres output (ingen abort). fortsættes 39
44 3.1. SIKKERHEDSMODELLER I MULTI-PARTY COMPUTATION fortsat fra forrige side I hvert trin i anden fase kan modstanderen, baseret på den til det tidspunkt tilgængelige information, beslutte, om den vil tage kontrol over endnu en spiller. Modstanderen bestemmer da identiteten af denne spiller og får dennes lokale input og output. Kørsel af protokollen i den ideelle model under en adaptiv modstander giver en følge af samtlige outputs til ærlige spillere, modstanderens output samt følgen af spillere, der har været kontrolleret. t-adaptiv reel-model-modstanderen er en probabilistisk strategi, der svarer til et angreb på en virkelig kørsel af protokollen. En sådan modstander kan løbende vælge højst t spillere, som den ønsker at kontrollere og modtager deres øjeblikkeligeview. Modstanderen kan vælge et antal spillere før selve protokollen begynder, og nogen efter, at den er afsluttet. I alle tilfælde dog kun højst t. Kørsel af protokollen i den reelle model under en adaptiv modstander giver en følge af samtlige outputs til ærlige spillere, modstanderens output samt følgen af spillere, der har været kontrolleret. Definition af sikkerhed: En protokol Π, der beregner f, siges at være t-adaptively secure, hvis der for hver poly-time t-adaptiv reel-model-modstander A findes en poly-time t-adaptiv ideel-model-modstander B, så kørsel i den reelle model under A er computational indistinguishable fra kørsel i den ideelle model under B. Det skulle nu gerne være klart, at disse modeller, som før nævnt, er opbygget omkring en sammenligning mellem en ideel model og en reel model. Jeg vil her forsøge at klargøre idéen bag denne metode. Man starter med at definere en modstandermodel, dvs. hvilke handlinger modstanderen er i stand til at udføre. Når man så definerer den ideelle model, indebærer det som illustreret i sektion 1.7 en beskrivelse af protokollen med en modstander fra modstandermodellen samt med en trusted party, der udfører alle beregninger og distribuerer resultatet til spillerne. Man definerer så for denne ideelle model et VIEW, hvilket er den mængde information, spillerne har inklusivt alle inputs og outputs fra protokollen (fra trusted party). DetteVIEW kaldes for noget i stil medideal. I den reelle model er der ingen trusted party. Her er det den virkelige protokol, der er tale om, og her defineres også etview over hver spillers samlede information. Dette VIEW kaldes REAL. Eftersom vi ønsker at definere en sikker reel protokol, vil det være nærliggende at kræve, at den skal være lige så sikker som den ideelle model, hvor der er en trusted party. Og det er i princippet, hvad man gør. Dog er kravet ikke, at den reelle model 40
45 3.2. HOVEDRESULTATER skal være præcis som den ideelle, men blot, at det skal være umuligt for den enkelte spiller (og for modstanderen) at skelne imellem det VIEW (den information), de ser i de to modeller. Hvis alle spillere ser praktisk taget den samme information i den reelle model som i den ideelle, bliver modstanderen nødt til at benytte samme strategi i den reelle model som i den ideelle, som jo er sikker. 3.2 Hovedresultater I denne sektion skal en række vigtige resultater angående secure multi-party computation og verifiable secret sharing præsenteres. Først præsenteres resultater for multiparty computation i de forskellige modstandermodeller. Dernæst præsenteres en eksistenssætning for verifiable secret sharing, hvilket jo for det første også kan siges at være en form for multi-party computation og for det andet udgør et vigtigt redskab i konkrete protokoller for multi-party computation Multi-Party computation Først præsenteres et sikkerhedsresultat for semi-honest modellen. Dernæst for de to malicious modeller. Alle disse er uden private channels, men forudsætter enhanced trapdoor permutations. Efterfølgende ses et resultat for en adaptiv malicious modstander i en model med private channels. Slutteligt findes et resultat vedrørende en adaptiv malicious computationally unbounded modstander. Sætning 29 (Semi-honest modellen). Hvis der eksisterer familier af enhanced trapdoor permutations, så kan enhver m-funktionalitet beregnes sikkert i semihonest modellen. Sikkerheden er endda bevaret, selvom modstanderen er i stand til at aflytte al kommunikation mellem ærlige spillere (ingen private channels). Sætning 30 (De to malicious modeller). Hvis familier af enhanced trapdoor permutations eksisterer, så kan enhver m-input funktionalitet beregnes i begge malicious modeller, hvis netværket understøtter en PKI eller en broadcast channel. Sikkerheden er endda bevaret, selvom modstanderen er i stand til at aflytte al kommunikation mellem ærlige spillere (ingen private channels). Det er muligt at udvikle resultater, der gælder for en adaptiv malicious model, men det er også under antagelse af private channels. Den følgende sætning er et vigtigt resultat angående sikkerheden af secure multi-party computation i en adaptive malicious private channel model. 41
46 3.2. HOVEDRESULTATER Sætning 31 (Adaptiv malicious modellen, private channels). 1. I private channel-modellen kan enhver m-input funktionalitet beregnes på en m 1 3 -adaptively secure facon, og emuleringen er perfekt. 2. Under antagelse af sværheden af RSA og DLP kan enhver m-input funktionalitet beregnes på en m 1 3 -adaptively secure facon, også selvom en modstander kan aflytte alle kommunikationslinier. Bemærk at der i punkt 2 nævnes, at modstanderen kan aflytte alle kommunikationslinier, hvilket klart ikke er omfattet af private channel-modellen. Grunden til, at sætningen alligevel ikke strider imod denne model er, at kanalerne i punkt 2 netop sikres af public-key kryptering med (enhanced) trapdoor permutations baseret på RSA eller DLP. I det ovenstående har det hele tiden været antaget, at modstanderen var computationally bounded, dvs. kunne køres som en algoritme i polynomiel-tid. Det er imidlertid også muligt at vise resultater vedrørende en computationally unbounded modstander. Det er altså en modstander, der ikke er begrænset af nogen tidsmæssige forhold i sin algoritme. Det er det samme som at antage ubegrænset beregningskraft. Følgende resultat omhandler en sådan computationally unbounded modstander i private channel-modellen: Sætning 32 (Computationally unbounded modstander, private channels). Multiparty computation med en computationally unbounded modstander i et netværk med private channels er muligt, hvis: 1. Modstanderen er passiv og kontrollerer strengt mindre end halvdelen af spillerne. 2. Modstanderen er adaptiv malicious og kontrollerer strengt mindre end en tredjedel af spillerne. 3. Modstanderen er adaptiv malicious og kontrollerer højst halvdelen af spillerne. Dog kræves en broadcast channel. Jeg har udeladt begrebet fairness, der betegner den egenskab, at en vilkårlig spiller får sit eget korrekte output, hvis og kun hvis alle andre spillere får deres egne korrekte outputs. Problemet er, at en spiller i 1. malicious model kan vælge at aborte protokollen hurtigst muligt efter selv at have modtaget netop nok data. For en gennemgang af dette samt af concurrently secure og environmentally secure protocols henvises i stedet til [Goldreich2]. 42
47 3.2. HOVEDRESULTATER Verifiable threshold schemes Først skal vi se en mere generel definition af et perfekt threshold secret sharing scheme. Den følgende definition baserer sig på (poly-time) algoritmer og sandsynlighedsfordelinger af stokastiske variable. I forhold til formuleringen i sektion 1.6 tillader den lettere en udvidelse til verifiable secret sharing, hvilket også er gjort efterfølgende. Definition 33. Et (t, m)-sss er et par af (evt. poly-time i m) algoritmer (G m,t, R m,t ), der opfylder det følgende: Syntaks: Share-genereringsalgoritmen G m,t er en probabilistisk afbildning fra mængden af hemmelige bits til m-følger af shares: For ethvertσ {0, 1} er den stokastiske variabel G m,t (σ) fordelt over ({0, 1} ) m. Rekonstruktionsalgoritmen R m,t afbilder t-følger af par fra [m] {0, 1} over i en bitσ, hvor [m]={1,...,m}. Rekonstruktionskrav: Alle t-delmængder skal kunne rekonstruere korrekt: For alleσ {0, 1} skal det gælde for enhver følge (s 1,..., s m ) i G m,t (σ) s billede og for enhver t-delmængde{i 1,...,i t } [m], at R m,t ( (i1, s i1 ),...,(i t, s it ) ) =σ. Sikkerhedskrav: For alle (t 1)-delmængder I [m] skal fordelingen af I-komponenterne af G m,t (σ) være uafhængige afσ: For enhver I={i 1,...,i t 1 } [m] og enhver følge (s 1,..., s m ) i G m,t (σ) s billede defineres den stokastiske variabel g I (σ)= ( (i 1, s i1 ),...,(i t, s it 1 ) ). For alle sådanne I skal g I (0) og g I (1) være identisk fordelt. En ulempe ved secret sharing schemes, som de er beskrevet i definition 33, er, at de antager ærlige (semi-honest) spillere. Dvs. de beskytter ikke mod nogen aktiv modstander. Dette giver anledning til begrebet verifiable secret sharing, der netop beskytter mod en sådan modstander i 1. malicious model. Det følgende er en lidt forsimplet definition af et verifiable threshold scheme, dvs. et VSS med en threshold-struktur. Der findes en mere stringent definition bl.a. i [Goldreich2], men den er fire gange så lang som den følgende og meget mere teknisk. Den benytter bl.a. et såkaldt commitment scheme undervejs og bidrager ellers ikke med noget væsentligt i denne sammenhæng. Løst sagt siger den følgende definition, at et VSS er et scheme, der beregner et definition 33-SSS s sharegenereringsfunktionalitet. Definition 34 (Threshold VSS, simpel version). Et (t, m)-vss er en m-party protokol, der implementerer (beregner sikkert i 1. malicious model) sharegenereringsfunktionaliteten fra et (t, m)-sss defineret i definition
48 3.2. HOVEDRESULTATER Ud over at give mulighed for sikre secret sharing-konstruktioner spiller verifiable secret sharing (VSS) også en vigtig rolle i secure multi-party computation. Et VSS kan siges selv at være en form for secure multi-party computation, men det viser sig desuden, at VSS er en del af selve konstruktionerne af secure multi-party computationprotokoller, så snart disse inkluderer flere end to spillere. Disse protokoller bruger simpelthen VSS som et kryptografisk værktøj til at modificere protokoller, der er sikre i 1. malicious model til lignende protokoller, der er sikre i 2. malicious model. Måden, det gøres på, er, at hver spiller VSS-deler sit lokale input med de andre spillere, så mindst et strengt flertal af spillere kan rekonstruere om nødvendigt. Det er årsagen til, at 2. malicious model ikke tillader flere end et strengt mindretal af malicious spillere. Hvis nemlig man tænkte sig at tillade et flertal af malicious spillere, så ville det betyde, at de ærlige spillere ville blive nødt til at VSS-dele deres lokale inputs i et tilsvarende threshold scheme, hvor højst halvdelen af spillerne ville være autoriseret. Men så ville malicious spillere på egen hånd være i stand til at rekonstruere ærlige spilleres lokale inputs. Så den eneste måde, man kan undgå dette, er, hvis de uærlige spillere altid er for få til på egen hånd at rekonstruere i de anvendte VSS. Som værktøj er det vigtigt at forsøge at komme frem til eksistensresultater angående VSS. Det er jo ikke nemt at benytte et værktøj uden at vide under hvilke omstændigheder, det eksisterer. Sætning 35. Hvis trapdoor permutationer eksisterer, så findes der et (t, m)-vss for alle t m. Dette resultat viser, hvorledes trapdoor permutationer viser sig at være et helt centralt begreb for eksistensen af VSS og dermed også for secure multi-party computation. Det er fortsat et uløst problem at fastslå en nødvendig og tilstrækkelig betingelse for eksistensen af trapdoor permutationer. Et sådant resultat ville faktisk være et vigtigt gennembrud for den moderne kompleksitetsteori, idet trapdoor permutationer hænger sammen med one-way functions, hvilket som beskrevet i sektion 1.2 igen ville kunne afgøre P NP-problemet. Netop P NP-problemet (hvorvidt P NP eller ej) regnes af mange for at være umuligt at afgøre, og derfor skal man heller ikke forvente nødvendigvis at komme til at se et sådant gennembrud i studiet af trapdoor permutationer eller one-way functions. Derfor er moderne kryptografi og protokolteori til stadighed baseret på en vis mængde af formodninger som P NP-problemet eller eksistensen af one-way functions og trapdoor permutationer. 44
49 Litteratur [Adhikari, Sikdar] Avishek Adhikari, Somnath Sikdar, A New (2, n)-visual Threshold Scheme for Color Images, INDOCRYPT 2003, Springer-Verlag 2003, LNCS 2904, pp [Delfs, Knebl] [Goldreich1] [Goldreich2] [Martin] [Papadimitriou] [Shamir] [Shannon1] [Shannon2] [Stinson1] [Stinson2] [Yao] Hans Delfs, Helmut Knebl, Introduction to Cryptography, Principles and Applications, Springer-Verlag (2002) Oded Goldreich, Foundations of Cryptography I, Cambrigde University Press, Oded Goldreich, Foundations of Cryptography II, Cambrigde University Press, Keith Murray Martin, Discrete Structures in the Theory of Secret Sharing, Ph.d. thesis, University of London. Christos H. Papadimitriou, Computational Complexity, Addison- Wesley Publishing Company. A. Shamir, How to share a secret, Communications of the ACM, 22 (1979), pp C. E. Shannon, A mathematical theory of communication, Bell Systems Technical Journal, 27 (1948), pp , C. E. Shannon, Communication theory of secret systems, Bell Systems Technical Journal, 28 (1949), pp Douglas R. Stinson, Cryptography Theory and Practice, The CRC Press Series on Discrete Mathematics and Its Applications. Douglas R. Stinson, Doug Stinson s Visual Cryptography Page, dstinson/visual.html A. C. Yao, Protocols for Secure Computations (extended abstract), Proceedings of the 21st Annual IEEE Symposium on the Foundations of Computer Science, 1982, pp
50
51 Indeks abort access-struktur , 28 basis for perfekt asymmetrisk kryptering asymmetrisk kryptering bankboksproblemet Brickells vektorrumskonstruktion. 18, 21 ciphertext color ratio color VTS computational indistinguishability computationally bounded unbounded dealer , 17 dekryptering nøgle Diffie-Hellman key exchange diskret logaritme , 13 -problemet distributionsfunktion Se fordelingsfunktion DLP..... Se diskret logaritme-problemet entropi , 18 fairness faktorisering fordelingsfunktion funktionalitet deterministisk hardness average-case worst-case heltalsfaktorisering hemmelighed , 17 hybridsystem ideel model , 22, 35, 36, 38 implementering , 39 indistinguishable Se computational indistinguishability informationsteoretisk sikkerhed informationsteori , 18 kryptering , 14 asymmetrisk , 10 nøgle symmetrisk kryptologi malicious model adaptiv unbounded anden , 34, 38 første , 34, 36, 37 millionær-problemet model ideel , 22, 35, 36, 38 reel , 22, 37, 38 modstander adaptiv , 39 unbounded aktiv passiv , 33 modstandermodel , 37, 38 monotoni multi-party computation , 33 47
52 INDEKS mutual information negligibel NP (kompleksitetsklasse) , 44 NP-komplet nøgle dekrypterings krypterings one-way function , 11 trapdoor P (kompleksitetsklasse) , 44 P NP-problemet , 44 perfekt access-struktur secret sharing , 18, 21, 29 person , 17 pixel PKI Se public-key infrastruktur plaintext poly-time... Se polynomiel-tid algoritme polynomiel-tid algoritme private channel computing privately beregne public-key infrastruktur reel model , 22, 37, 38 RSA RSA-antagelsen sammenhængende secret sharing scheme perfekt , 18, 21, 29 sammenhængende threshold , 43 visual semantic security , 15 semi-honest model , 34 session key Shamirs threshold scheme , 26 Shannon-information share , 17 sikkerhed informationsteoretisk semantic sikkerhedsmodel , malicious , 36, malicious , 38 adaptiv unbounded malicious semi-honest , 34 SSS Se secret sharing scheme subpixel symmetrisk kryptering third trusted party threshold -struktur , 28 VSS threshold scheme , 43 Shamirs , 26 verifiable visual tilladt trapdoor one-way function permutation trusted party Se third trusted party Vandermonde-matrix verifiable secret sharing threshold scheme VIEW visual threshold schemes VSS Se verifiable secret sharing VTS Se visual threshold schemes color
Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet
Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 3. april 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede sig
Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet
Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 24. august 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede
Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: [email protected]
Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: [email protected] 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag
Køreplan Matematik 1 - FORÅR 2005
Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange
Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet
Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal
Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter
Konfidentialitet og kryptografi 31. januar, 2009 Jakob I. Pagter Oversigt Kryptografi autenticitet vs. fortrolighed ubetinget vs. beregningsmæssig sikkerhed Secret-key fortrolighed Public-key fortrolighed
Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,
Camp om Kryptering Datasikkerhed, RSA kryptering og faktorisering Rasmus Lauritsen August 27, 2013 http://users-cs.au.dk/rwl/2013/sciencecamp Indhold Datasikkerhed RSA Kryptering Faktorisering Anvendelse
RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet
RSA Kryptosystemet Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Kryptering med RSA Her følger først en kort opridsning af RSA kryptosystemet, som vi senere skal bruge til at lave digitale signaturer.
Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.
Matematik YY Foråret 2004 Elementær talteori Søren Jøndrup og Jørn Olsson Kapitel 1. Grupper og restklasseringe. Vi vil i første omgang betragte forskellige typer ligninger og søge efter heltalsløsninger
Kryptologi 101 (og lidt om PGP)
Kryptologi 101 (og lidt om PGP) @jchillerup #cryptopartycph, 25. januar 2015 1 / 27 Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over
Matematikken bag kryptering og signering NemID RSA Foredrag i UNF
Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Disposition 1 PKI - Public Key Infrastructure Symmetrisk kryptografi Asymmetrisk kryptografi 2 Regning med rester Indbyrdes primiske tal
Introduktion til Kryptologi
Introduktion til Kryptologi September 22, 2014 Kryptologi Datasikkerhed Sikker kommunikation over usikre kanaler Kryptografi: Bygge systemer Kryptoanalyse: Bryde systemer Avancerede Protokoller Data er
Opgave 1 Regning med rest
Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan
Kryptologi og RSA. Jonas Lindstrøm Jensen ([email protected])
Kryptologi og RSA Jonas Lindstrøm Jensen ([email protected]) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende
Fejlkorrigerende koder, secret sharing (og kryptografi)
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
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
Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket
{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )}
Stokastisk eksperiment Et stokastisk eksperiment er et eksperiment, hvor vi fornuftigvis ikke på forhånd kan have en formodning om resultatet af eksperimentet. Til gengæld kan vi prøve at sige noget om,
Taylors formel. Kapitel Klassiske sætninger i en dimension
Kapitel 3 Taylors formel 3.1 Klassiske sætninger i en dimension Sætning 3.1 (Rolles sætning) Lad f : [a, b] R være kontinuert, og antag at f er differentiabel i det åbne interval (a, b). Hvis f (a) = f
UENDELIG, MERE UENDELIG, ENDNU MERE UENDELIG, Indledning
UENDELIG, MERE UENDELIG, ENDNU MERE UENDELIG, ESBEN BISTRUP HALVORSEN 1 Indledning De fleste kan nok blive enige om, at mængden {a, b, c} er større end mængden {d} Den ene indeholder jo tre elementer,
Lad os som eksempel se på samtidigt kast med en terning og en mønt:
SANDSYNLIGHEDSREGNING Stokastisk eksperiment Et stokastisk eksperiment er et eksperiment, hvor vi fornuftigvis ikke på forhånd kan have en formodning om resultatet af eksperimentet Til gengæld kan vi prøve
Lineære 1. ordens differentialligningssystemer
enote enote Lineære ordens differentialligningssystemer Denne enote beskriver ordens differentialligningssystemer og viser, hvordan de kan løses enoten er i forlængelse af enote, der beskriver lineære
Fortroligt dokument. Matematisk projekt
Fortroligt dokument Matematisk projekt Briefing til Agent 00-DiG Velkommen til Kryptoafdeling 1337, dette er din første opgave. Det lykkedes agenter fra Afdelingen for Virtuel Efterretning (AVE) at opsnappe
KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)
KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive
Integer Factorization
Integer Factorization Per Leslie Jensen DIKU 2/12-2005 kl. 10:15 Overblik 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder
Pointen med Funktioner
Pointen med Funktioner Frank Nasser 0. april 0 c 0080. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en
Affine - et krypteringssystem
Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på
Pointen med Differentiation
Pointen med Differentiation Frank Nasser 20. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:
Tue Tjur: Hvad er tilfældighed?
Tue Tjur: Hvad er tilfældighed? 16. 19. september 1999 afholdtes i netværkets regi en konference på RUC om sandsynlighedsregningens filosofi og historie. Som ikke specielt historisk interesseret, men nok
Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal?
Her er et spørgsmål, du måske aldrig har overvejet: kan man finde to trekanter med samme areal? Det er ret let at svare på: arealet af en trekant, husker vi fra vor kære folkeskole, findes ved at gange
Matematisk modellering og numeriske metoder. Lektion 16
Matematisk modellering og numeriske metoder Lektion 16 Morten Grud Rasmussen 6. november, 2013 1 Interpolation [Bogens afsnit 19.3 side 805] 1.1 Interpolationspolynomier Enhver kontinuert funktion f på
Gult Foredrag Om Net
Gult Foredrag Om Net University of Aarhus Århus 8 th March, 2010 Introduktion I: Fra Metriske til Topologiske Rum Et metrisk rum er en mængde udstyret med en afstandsfunktion. Afstandsfunktionen bruges
Noter til Perspektiver i Matematikken
Noter til Perspektiver i Matematikken Henrik Stetkær 25. august 2003 1 Indledning I dette kursus (Perspektiver i Matematikken) skal vi studere de hele tal og deres egenskaber. Vi lader Z betegne mængden
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538) Institut for Matematik og Datalogi Syddansk Universitet, Odense Fredag den 25. januar 2013 kl. 1013 Alle hjælpemidler (computer, lærebøger, notater,
Elementær Matematik. Mængder og udsagn
Elementær Matematik Mængder og udsagn Ole Witt-Hansen 2011 Indhold 1. Mængder...1 1.1 Intervaller...4 2. Matematisk Logik. Udsagnslogik...5 3. Åbne udsagn...9 Mængder og Udsagn 1 1. Mængder En mængde er
sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.
sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. lemma: Hvis a, b og c er heltal så gcd(a, b) = 1 og a bc da vil a c. lemma: Hvis p er et primtal og p a 1 a 2 a n hvor hvert
Perspektiverende Datalogi 2014 Uge 39 Kryptologi
Perspektiverende Datalogi 2014 Uge 39 Kryptologi Dette dokument beskriver en række opgaver. Diskutter opgaverne i små grupper, under vejledning af jeres instruktor. Tag opgaverne i den rækkefølge de optræder.
Algebra - Teori og problemløsning
Algebra - Teori og problemløsning, januar 05, Kirsten Rosenkilde. Algebra - Teori og problemløsning Kapitel -3 giver en grundlæggende introduktion til at omskrive udtryk, faktorisere og løse ligningssystemer.
Gruppeteori. Michael Knudsen. 8. marts For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel.
Gruppeteori Michael Knudsen 8. marts 2005 1 Motivation For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel. Eksempel 1.1. Lad Z betegne mængden af de hele tal, Z = {..., 2, 1, 0,
Projekt 7.9 Euklids algoritme, primtal og primiske tal
Projekter: Kapitel 7 Projekt 79 Euklids algoritme, primtal og primiske tal Projekt 79 Euklids algoritme, primtal og primiske tal Projektet giver et kig ind i metodee i modee talteori Det kan udbygges med
Side 9 sætningen: Kolmogorov s konsistensætning Tue Tjur, Institut for Matematisk Statistik
Side 9 sætningen: Kolmogorov s konsistensætning Tue Tjur, Institut for Matematisk Statistik Advarsel: I denne artikel gives udtryk for holdninger til sandsynlighedsregningens grundlag. Disse er forfatterens
Analyse 2. Gennemgå bevis for Sætning Supplerende opgave 1. Øvelser. Sætning 1. For alle mængder X gælder #X < #P(X).
Analyse 2 Øvelser Rasmus Sylvester Bryder 3. og 6. september 2013 Gennemgå bevis for Sætning 2.10 Sætning 1. For alle mængder X gælder #X < #P(X). Bevis. Der findes en injektion X P(X), fx givet ved x
En statistikstuderendes bekendelser Søren Wengel Mogensen
Oplysning 23 En statistikstuderendes bekendelser Søren Wengel Mogensen Om at skrive BSc-opgave i anvendt statistik. Der findes matematikere (i hvert fald matematikstuderende), der mener, at den rene matematik
Kryptografi Anvendt Matematik
Kryptografi Anvendt Matematik af Marc Skov Madsen PhD-studerende Matematisk Institut, Aarhus Universitet email: [email protected] Kryptografi p.1/23 Kryptografi - Kryptografi er læren om, hvordan en tekst
Funktionsterminologi
Funktionsterminologi Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette
Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen
Introduktion til Kryptologi Mikkel Kamstrup Erlandsen Indhold 1 Introduktion 2 1.1 Om Kryptologi.......................... 2 1.2 Grundlæggende koncepter.................... 2 1.3 Bogstaver som tal........................
Matematisk modellering og numeriske metoder. Lektion 5
Matematisk modellering og numeriske metoder Lektion 5 Morten Grud Rasmussen 19. september, 2013 1 Euler-Cauchy-ligninger [Bogens afsnit 2.5, side 71] 1.1 De tre typer af Euler-Cauchy-ligninger Efter at
1 Om funktioner. 1.1 Hvad er en funktion?
1 Om funktioner 1.1 Hvad er en funktion? Man lærer allerede om funktioner i folkeskolen, hvor funktioner typisk bliver introduceret som maskiner, der tager et tal ind, og spytter et tal ud. Dette er også
Lineære differentialligningers karakter og lineære 1. ordens differentialligninger
enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.
Vi indleder med at minde om at ( a) = a gælder i enhver gruppe.
0.1: Ringe 1. Definition: Ring En algebraisk struktur (R, +,, 0,, 1) kaldes en ring hvis (R, +,, 0) er en kommutativ gruppe og (R,, 1) er en monoide og hvis er såvel venstre som højredistributiv mht +.
Matematikken bag kryptering og signering RSA
Matematikken bag kryptering og signering RSA Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA Indbyrdes primiske hele tal
1 Sætninger om hovedidealområder (PID) og faktorielle
1 Sætninger om hovedidealområder (PID) og faktorielle ringe (UFD) 1. Introducér ideal, hovedideal 2. I kommutativt integritetsområde R introduceres primelement, irreducibelt element, association 3. Begrebet
Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering.
Krav til autentificering Vi kan acceptere, at modtager (og måske afsender) skal bruge hemmelig nøgle Krav til metode: må ikke kunne brydes på anden måde end ved udtømmende søgning længde af nøgler/hemmeligheder/hashkoder
TØ-opgaver til uge 46
TØ-opgaver til uge 46 Først laver vi en liste over de ligninger med mere i [ITP], der skal bruges: [1]: Ligning (2.5) på side 4. [2]: Sætning 3.1, ligning (3.3) på side 7. [3]: Sætning 3.1, ligning (3.4)
TØ-opgaver til uge 45
TØ-opgaver til uge 45 Først laver vi en liste over de ligninger med mere i [IPT], der skal bruges: [1]: Ligning (2.5) på side 4. [2]: Ligning (2.6) på side 5. [3]: Sætning 3.1, ligning (3.3) på side 7.
Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning
Chapter 3 Modulpakke 3: Egenværdier 3.1 Indledning En vektor v har som bekendt både størrelse og retning. Hvis man ganger vektoren fra højre på en kvadratisk matrix A bliver resultatet en ny vektor. Hvis
Kønsproportion og familiemønstre.
Københavns Universitet Afdeling for Anvendt Matematik og Statistik Projektopgave forår 2005 Kønsproportion og familiemønstre. Matematik 2SS Inge Henningsen februar 2005 Indledning I denne opgave undersøges,
Kvantitative Metoder 1 - Efterår Dagens program
Dagens program Estimation: Kapitel 9.7-9.10 Estimationsmetoder kap 9.10 Momentestimation Maximum likelihood estimation Test Hypoteser kap. 10.1 Testprocedure kap 10.2 Teststørrelsen Testsandsynlighed 1
Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.
Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).
Afstande, skæringer og vinkler i rummet
Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold
Euklids algoritme og kædebrøker
Euklids algoritme og kædebrøker Michael Knudsen I denne note vil vi med Z, Q og R betegne mængden af henholdsvis de hele, de rationale og de reelle tal. Altså er { m } Z = {..., 2,, 0,, 2,...} og Q = n
Polynomiumsbrøker og asymptoter
Polynomiumsbrøker og asymptoter Frank Villa 9. marts 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold
Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak
Introduktion til differentialregning 1 Jens Siegstad og Annegrete Bak 16. juli 2008 1 Indledning I denne note vil vi kort introduktion til differentilregning, idet vi skal bruge teorien i et emne, Matematisk
Afstande, skæringer og vinkler i rummet
Afstande, skæringer og vinkler i rummet Frank Nasser 9. april 20 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her.
t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42
Slide 1/42 Hvad er matematik? 1) Den matematiske metode 2) Hvad vil det sige at bevise noget? 3) Hvor begynder det hele? 4) Hvordan vælger man et sæt aksiomer? Slide 2/42 Indhold 1 2 3 4 Slide 3/42 Mængder
Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem
Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Johan P. Hansen 18. april 2013 Indhold 1 Indbyrdes primiske hele tal 1 2 Regning med rester 3 3 Kryptering
Ølopgaver i lineær algebra
Ølopgaver i lineær algebra 30. maj, 2010 En stor del af de fænomener, vi observerer, er af lineær natur. De naturlige matematiske objekter i beskrivelsen heraf bliver vektorrum rum hvor man kan lægge elementer
Kursus i IT Sikkerhed
Kursus i IT Sikkerhed Ivan Damgård, Daimi, Århus Universitet Praktiske ting Kursushjemmeside www.daimi.au.dk/dsik Her findes noter, links til materiale, opgaver, m.v. Der bruges et sæt noter, der findes
Projekt 3.5 faktorisering af polynomier
Projekt 3.5 faktorisering af polynomier Hvilke hele tal går op i tallet 60? Det kan vi få svar på ved at skrive 60 som et produkt af sine primtal: 60 3 5 Divisorerne i 60 er lige præcis de tal, der kan
Statistik Lektion 3. Simultan fordelte stokastiske variable Kontinuerte stokastiske variable Normalfordelingen
Statistik Lektion 3 Simultan fordelte stokastiske variable Kontinuerte stokastiske variable Normalfordelingen Repetition En stokastisk variabel er en funktion defineret på S (udfaldsrummet, der antager
MATEMATIK B. Videooversigt
MATEMATIK B Videooversigt 2. grads ligninger.... 2 CAS værktøj... 3 Differentialregning... 3 Eksamen... 5 Funktionsbegrebet... 5 Integralregning... 5 Statistik... 6 Vilkårlige trekanter... 7 71 videoer.
Billedbehandling og mønstergenkendelse: Lidt elementær statistik (version 1)
; C ED 6 > Billedbehandling og mønstergenkendelse Lidt elementær statistik (version 1) Klaus Hansen 24 september 2003 1 Elementære empiriske mål Hvis vi har observationer kan vi udregne gennemsnit og varians
Lidt alment om vektorrum et papir som grundlag for diskussion
Definition : vektorrum, vektorer Et vektorrum er en mængde af elementer med operationerne sum (+) og numerisk multiplikation (), så følgende regler gælder for alle a, b, c og for alle reelle tal s, t R.
Lineære 1. ordens differentialligningssystemer
enote enote Lineære ordens differentialligningssystemer Denne enote beskriver ordens differentialligningssystemer og viser, hvordan de kan løses enoten er i forlængelse af enote, der beskriver lineære
Lineære 1. ordens differentialligningssystemer
enote 7 enote 7 Lineære ordens differentialligningssystemer Denne enote beskriver ordens differentialligningssystemer og viser, hvordan de kan løses Der bruges egenværdier og egenvektorer i løsningsproceduren,
Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6
Indhold 1 Polynomier 2 Polynomier 2 Polynomiumsdivision 4 3 Algebraens fundamentalsætning og rødder 6 4 Koefficienter 8 5 Polynomier med heltallige koefficienter 9 6 Mere om polynomier med heltallige koefficienter
Plan. Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser. Materiale mm.
Institut for Matematiske Fag Plan Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser Helle Sørensen Eftermiddagen vil være bygget om 3 4 eksempler: A. B. Random
Appendiks 6: Universet som en matematisk struktur
Appendiks 6: Universet som en matematisk struktur En matematisk struktur er et meget abstrakt dyr, der kan defineres på følgende måde: En mængde, S, af elementer {s 1, s 2,,s n }, mellem hvilke der findes
De rigtige reelle tal
De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion
Bilag 7. SFA-modellen
Bilag 7 SFA-modellen November 2016 Bilag 7 Konkurrence- og Forbrugerstyrelsen Forsyningssekretariatet Carl Jacobsens Vej 35 2500 Valby Tlf.: +45 41 71 50 00 E-mail: [email protected] Online ISBN 978-87-7029-650-2
Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber
Produktsystemer, substitutions-permutations-net samt lineær og differentiel kryptoanalyse Kryptologi, fredag den 10. februar 2006 Nils Andersen (Stinson 3., afsnit 2.7 3.4 samt side 95) Produkt af kryptosystemer
Hvad er formel logik?
Kapitel 1 Hvad er formel logik? Hvad er logik? I daglig tale betyder logisk tænkning den rationelt overbevisende tænkning. Og logik kan tilsvarende defineres som den rationelle tænknings videnskab. Betragt
Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium
Deskriptiv (beskrivende) statistik er den disciplin, der trækker de væsentligste oplysninger ud af et ofte uoverskueligt materiale. Det sker f.eks. ved at konstruere forskellige deskriptorer, d.v.s. regnestørrelser,
Tidligere Eksamensopgaver MM505 Lineær Algebra
Institut for Matematik og Datalogi Syddansk Universitet Tidligere Eksamensopgaver MM55 Lineær Algebra Indhold Typisk forside.................. 2 Juni 27.................... 3 Oktober 27..................
Punktmængdetopologi. Mikkel Stouby Petersen. 1. marts 2013
Punktmængdetopologi Mikkel Stouby Petersen 1. marts 2013 I kurset Matematisk Analyse 1 er et metrisk rum et af de mest grundlæggende begreber. Et metrisk rum (X, d) er en mængde X sammen med en metrik
DesignMat Uge 1 Gensyn med forårets stof
DesignMat Uge 1 Gensyn med forårets stof Preben Alsholm Efterår 2010 1 Hovedpunkter fra forårets pensum 11 Taylorpolynomium Taylorpolynomium Det n te Taylorpolynomium for f med udviklingspunkt x 0 : P
i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0
BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den
Et eksempel på en todimensional normalfordeling Anders Milhøj September 2006
Et eksempel på en todimensional normalfordeling Anders Milhøj September 006 I dette notat gennemgås et eksempel, der illustrerer den todimensionale normalfordelings egenskaber. Notatet lægger sig op af
