Faglig Rapport. Udvalgte pointer angående secret sharing og multi-party computation. Fjerde faglige rapport til Rejselegat for matematikere

Størrelse: px
Starte visningen fra side:

Download "Faglig Rapport. Udvalgte pointer angående secret sharing og multi-party computation. Fjerde faglige rapport til Rejselegat for matematikere"

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

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 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

Læs mere

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 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

Læs mere

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag

Læs mere

Køreplan Matematik 1 - FORÅR 2005

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

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

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

Læs mere

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

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

Læs mere

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

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

Læs mere

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

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.

Læs mere

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

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

Læs mere

Kryptologi 101 (og lidt om PGP)

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

Læs mere

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

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

Læs mere

Introduktion til Kryptologi

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

Læs mere

Opgave 1 Regning med rest

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

Læs mere

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk) Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 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

Læs mere

Fejlkorrigerende koder, secret sharing (og kryptografi)

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

Læs mere

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. 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

Læs mere

{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )}

{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )} 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,

Læs mere

Taylors formel. Kapitel Klassiske sætninger i en dimension

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

Læs mere

4 Oversigt over kapitel 4

4 Oversigt over kapitel 4 IMM, 2002-09-14 Poul Thyregod 4 Oversigt over kapitel 4 Introduktion Hidtil har vi beskæftiget os med data. Når data repræsenterer gentagne observationer (i bred forstand) af et fænomen, kan det være bekvemt

Læs mere

UENDELIG, MERE UENDELIG, ENDNU MERE UENDELIG, Indledning

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,

Læs mere

Lad os som eksempel se på samtidigt kast med en terning og en mønt:

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

Læs mere

Lineære 1. ordens differentialligningssystemer

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

Læs mere

Fortroligt dokument. Matematisk projekt

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

Læs mere

Lineære normale modeller (1) udkast. 1 Flerdimensionale stokastiske variable

Lineære normale modeller (1) udkast. 1 Flerdimensionale stokastiske variable E6 efterår 999 Notat 8 Jørgen Larsen 22. november 999 Lineære normale modeller ) udkast Ved hjælp af lineær algebra kan man formulere og analysere de såkaldte lineære normale modeller meget overskueligt

Læs mere

Kryptering kan vinde over kvante-computere

Kryptering kan vinde over kvante-computere Regional kursus i matematik i Aabenraa Institut for Matematik Aarhus Universitet matjph@math.au.dk 15. februar 2016 Oversigt 1 Offentlig-privat nøgle kryptering 2 3 4 Offentlig-privat nøgle kryptering

Læs mere

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

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

Læs mere

Integer Factorization

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

Læs mere

Pointen med Funktioner

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

Læs mere

Affine - et krypteringssystem

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å

Læs mere

Pointen med Differentiation

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:

Læs mere

Tue Tjur: Hvad er tilfældighed?

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

Læs mere

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? 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

Læs mere

Matematisk modellering og numeriske metoder. Lektion 16

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å

Læs mere

Gult Foredrag Om Net

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

Læs mere

Noter til Perspektiver i Matematikken

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

Læs mere

Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)

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,

Læs mere

Matroider Majbritt Felleki

Matroider Majbritt Felleki 18 Rejselegatsformidlingsaktivitet Matroider Majbritt Felleki Den amerikanske matematiker Hassler Whitney fandt i 1935 sammenhænge mellem sætninger i grafteori og sætninger i lineær algebra. Dette førte

Læs mere

Elementær Matematik. Mængder og udsagn

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

Læs mere

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. 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

Læs mere

Perspektiverende Datalogi 2014 Uge 39 Kryptologi

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.

Læs mere

Om hypoteseprøvning (1)

Om hypoteseprøvning (1) E6 efterår 1999 Notat 16 Jørgen Larsen 11. november 1999 Om hypoteseprøvning 1) Det grundlæggende problem kan generelt formuleres sådan: Man har en statistisk model parametriseret med en parameter θ Ω;

Læs mere

Algebra - Teori og problemløsning

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.

Læs mere

Gruppeteori. Michael Knudsen. 8. marts For at motivere indførelsen af gruppebegrebet begynder vi med et eksempel.

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,

Læs mere

Projekt 7.9 Euklids algoritme, primtal og primiske tal

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

Læs mere

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 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

Læs mere

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. 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

Læs mere

En statistikstuderendes bekendelser Søren Wengel Mogensen

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

Læs mere

Kryptografi Anvendt Matematik

Kryptografi Anvendt Matematik Kryptografi Anvendt Matematik af Marc Skov Madsen PhD-studerende Matematisk Institut, Aarhus Universitet email: marc@imf.au.dk Kryptografi p.1/23 Kryptografi - Kryptografi er læren om, hvordan en tekst

Læs mere

Funktionsterminologi

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

Læs mere

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

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........................

Læs mere

Matematisk modellering og numeriske metoder. Lektion 5

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

Læs mere

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

Secret sharing - om at dele en hemmelighed Matematiklærerdag 2017 Matematiklærerdag 2017 Institut for Matematik, Aarhus universitet 24. marts 2017 Resumé Secret sharing henviser til metoder til fordeling af en hemmelighed blandt en gruppe af deltagere, som hver især

Læs mere

1 Om funktioner. 1.1 Hvad er en funktion?

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å

Læs mere

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

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.

Læs mere

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

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 +.

Læs mere

Matematikken bag kryptering og signering RSA

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

Læs mere

Funktionsterminologi

Funktionsterminologi Funktionsterminologi 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

Læs mere

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

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

Læs mere

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

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

Læs mere

TØ-opgaver til uge 46

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)

Læs mere

TØ-opgaver til uge 45

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.

Læs mere

Definition. Definitioner

Definition. Definitioner Definition Landmålingens fejlteori Lektion Diskrete stokastiske variable En reel funktion defineret på et udfaldsrum (med sandsynlighedsfordeling) kaldes en stokastisk variabel. - kkb@math.aau.dk http://people.math.aau.dk/

Læs mere

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

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

Læs mere

Kønsproportion og familiemønstre.

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,

Læs mere

Kvantitative Metoder 1 - Efterår Dagens program

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

Læs mere

Reeksamen 2014/2015 Mål- og integralteori

Reeksamen 2014/2015 Mål- og integralteori Reeksamen 4/5 Mål- og integralteori Københavns Universitet Institut for Matematiske Fag Formalia Eksamensopgaven består af 4 opgaver med ialt spørgsmål. Ved bedømmelsen indgår de spørgsmål med samme vægt.

Læs mere

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.

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).

Læs mere

Afstande, skæringer og vinkler i rummet

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

Læs mere

Euklids algoritme og kædebrøker

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

Læs mere

Polynomiumsbrøker og asymptoter

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

Læs mere

Introduktion til differentialregning 1. Jens Siegstad og Annegrethe Bak

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

Læs mere

Afstande, skæringer og vinkler i rummet

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.

Læs mere

Nanostatistik: Stokastisk variabel

Nanostatistik: Stokastisk variabel Nanostatistik: Stokastisk variabel JLJ Nanostatistik: Stokastisk variabel p. 1/29 Repetition Ω: udfaldsrummet: alle de mulige udfald af et experiment P(A): ss for hændelsen A = frekvens i uafhængige gentagelser

Læs mere

t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42

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

Læs mere

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 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

Læs mere

Ølopgaver i lineær algebra

Ø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

Læs mere

Kursus i IT Sikkerhed

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

Læs mere

Projekt 3.5 faktorisering af polynomier

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

Læs mere

Statistik Lektion 3. Simultan fordelte stokastiske variable Kontinuerte stokastiske variable Normalfordelingen

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

Læs mere

MATEMATIK B. Videooversigt

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.

Læs mere

Billedbehandling og mønstergenkendelse: Lidt elementær statistik (version 1)

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

Læs mere

Lidt alment om vektorrum et papir som grundlag for diskussion

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.

Læs mere

Lineære 1. ordens differentialligningssystemer

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

Læs mere

Lineære 1. ordens differentialligningssystemer

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,

Læs mere

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

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

Læs mere

Plan. Markovkæder Matematisk modelling af kølængde, yatzy, smittespredning og partikelbevægelser. Materiale mm.

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

Læs mere

Appendiks 6: Universet som en matematisk struktur

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

Læs mere

De rigtige reelle tal

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

Læs mere

Bilag 7. SFA-modellen

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: kfst@kfst.dk Online ISBN 978-87-7029-650-2

Læs mere

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

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

Læs mere

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

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo Kursusindhold: Produkt og marked - matematiske og statistiske metoder Rasmus Waagepetersen Institut for Matematiske Fag Aalborg Universitet Sandsynlighedsregning og lagerstyring Normalfordelingen og Monte

Læs mere

Hvad er formel logik?

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

Læs mere

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium

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,

Læs mere

Sandsynlighedsregning 3. forelæsning Bo Friis Nielsen

Sandsynlighedsregning 3. forelæsning Bo Friis Nielsen Sandsynlighedsregning 3. forelæsning Bo Friis Nielsen Anvendt Matematik og Computer Science Danmarks Tekniske Universitet 2800 Kgs. Lyngby Danmark Email: bfni@dtu.dk Dagens emner Stokastiske variable:

Læs mere

Tidligere Eksamensopgaver MM505 Lineær Algebra

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..................

Læs mere

Punktmængdetopologi. Mikkel Stouby Petersen. 1. marts 2013

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

Læs mere

DesignMat Uge 1 Gensyn med forårets stof

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

Læs mere

Nanostatistik: Stokastisk variabel

Nanostatistik: Stokastisk variabel Nanostatistik: Stokastisk variabel JLJ Nanostatistik: Stokastisk variabel p. 1/34 Repetition Ω: udfaldsrummet: alle de mulige udfald af et experiment P(A): ss for hændelsen A = frekvens i uafhængige gentagelser

Læs mere

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

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

Læs mere

Et eksempel på en todimensional normalfordeling Anders Milhøj September 2006

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

Læs mere