De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Machtsverheffen als geheimschrift dr Gerard Tel Universiteit Utrecht Nationale Wiskundedagen 2003.

Verwante presentaties


Presentatie over: "1 Machtsverheffen als geheimschrift dr Gerard Tel Universiteit Utrecht Nationale Wiskundedagen 2003."— Transcript van de presentatie:

1 1 Machtsverheffen als geheimschrift dr Gerard Tel Universiteit Utrecht Nationale Wiskundedagen 2003

2 2 Overzicht Cryptografie vroeger Sleuteluitwisseling met getallen ElGamal geheimschrift: machten ElGamal breken: logaritme Generator met samengestelde orde RSA: worteltrekken Discussie, afsluiting

3 3 Cryptografie in de oudheid Caesar aan generaal: Vijand ziet boodschap Aanvallen! Ddqydoohq! + z (Caesar) - z (Gen) maar kent z niet Sleutel: z Symmetrisch Aanvallen!

4 4 Cryptografie in , telefoon, betaalverkeer, disk Alice, Bob en Oscar E z (x) ingewikkelder dan x + z Probleem: sleuteluitwisseling

5 5 Sleuteluitwisseling Alice en Bob hebben z Oscar ziet z niet Zonder ontmoeting?

6 6 Public-keycryptografie Twee sleutels Encryptie: publiek Decryptie: geheim Diffie en Hellman (1976) Pretty Good Privacy RSA en ElGamal

7 7 Diffie-Hellman: (g a ) k = (g k ) a Links: a = Bereken b = 2.51 a Rechts: k = Bereken u = 2.51 k b = u = z = 1.36 afronden grootte random keuze ???? Bereken z = a Bereken z = k Vast: g = 2.51 z = 1.369z = 1.362

8 8 Modulair rekenen Modulus vast getal m = = 600 wordt * 350 = wordt ^ 350 = 1901… wordt 437 Generator g = 4 Orde q = 83 want g 83 = * 498 = 139 ^ 3 = 360 ^ 6 = 1orde(498) = 2 1orde(139) = 3 1orde(360) = 6

9 9 Modulair Diffie-Hellman Alice: a = 40 Bereken b = 4 a Bob: k = 71 Bereken u = 4 k b = 187u = 77 z = Afronden 2. Grootte 3. Random Bereken z = 77 a Bereken z = 187 k Vast: g = 4

10 10 Hoeveel rekenwerk? Alice: tweemaal macht g a en u a Bob: tweemaal macht g k en b k Oscar: ziet g, b en u; z = ?? b = g a u = g k z = g a*k = u a z = u (log b) Kost: 1 macht en 1 log

11 11 Wat kost machtsverheffen? Hoeveel vermenigvuldigingen: g 21 ? g 21 Vermenigvuldigingen: 6 = ((g 10 ) 2 ) * g2 verm uit g 10 = (((g 5 ) 2 ) 2 ) * g1 verm uit g 5 = ((((g 2 ) 2 * g) 2 ) 2 ) * g2 verm uit g 2

12 12 Indiaas machtsverheffen Schrijf 21 binair: g 1 = g, gratis g 10 = g 1 * g 1, 1 verm. g 101 = g 10 * g 10 * g, 2 verm. g 1010 = g 101 * g 101, 1 verm. g = g 1010 * g 1010 * g, 2 verm. Een 0: 1 verm. Een 1: 2 verm. Eerste 1: gratis Lengte: lg q 0 en 1: Half om half Kosten: 1.5 lg q

13 13 3 log 10 berekenen op rijm Het relaas van 3kus en 10a De fout-fracties scheiden w’in tweeerlei soort in die te klein zijn, en die te groot zijn de fractie vijf tweede blijkt boven de maat; waarom dat zo is, valt vrij simpel te zeggen want 3kus hoog vijf wint van 10a-kwadraat Net zo is twee-eerste (da’s 2 dus) te klein, om- dat drie-tot-de-twee-de haalt niet tien-hoog-een. Maar neem je elf-vijfde dan zit j’er weer boven want drie-tot-de-elfde slaat vijfde-macht-van-tien. Elke reele functie is effectief inverteerbaar Verdeling: y < 5/2 want 3 5/2 > 10 y > 2/1 want 3 2 < 10 1 y < 11/5 want 3 11 > 10 5

14 14 De discrete logaritme Geen ordening!! Crypto> [ g^i | i <- [30..38] ] [345,382,31,124,496,487,451,307,230] Geen inperking zoekruimte! Algoritme? Kosten?

15 15 Kleine stappen: b * g j voor j < t: Crypto> [ b*(g^j) | j <- [0..8] ] [187,249,497,491,467,371,486,447,291] Grote stappen: g i voor veelvouden van t: Crypto> [g^i | i <- [9,18..90] ] [169,118,481,451,371,324,365,308,156,416] Shanks: grote stappen, kleine stappen Zoek a = g log b g = 4, b = 187, a < q = 83 g9g9 g 18 g 27 g 45 b b*gb*g b*g2b*g2 b*g8b*g8 b*g5b*g5

16 16 Shanks: Uitkomst en kosten Botsing: g 45 = b * g 5 Dus: b = g 40 Grote stappen: q/t Veelvouden van t tot boven q Kleine stappen: t Samen: q/t + t Minimaal voor t = q : 2q

17 17 Werk per partij: orde q Alice/Bob: 1.5 lg q Oscar: 2 q x Kan op SmartCard Kan niet op Supercomputer

18 18 ElGamal encryptie (1985) AlicePubliekBob 1.Kies a; bereken b = g a PGP public key: a^h479mfjksie$ (dit is b) 2. Boodschap x Kies k; u = g k z = b k ; v = x.z multiply, don’t add (u, v) 3.Ontvang (u, v) z = u a ; x = v/z Sleutel maken: public en secret Versleutelen: public Ontsleutelen: secret Oscar: b, u, v

19 19 Samengestelde orde: Pohlig-Hellman Bepaal a = h log b waar h r = 1 r = c. d Shanks: 2 r Gemengde radix: a = a 0 + c. a 1 Vind a 0 in 2c en a 1 in 2d: Samen 2(c + d) Omdat b = h a : b d = (h a ) d = h (a0 + c. a1)d = h d.a0 + c.d.a1 = (h d ) a0 Dus a 0 = h’ log b d waar h’ = h d, orde(h’) = c

20 20 Gekozen-berichtaanval Oscar zendt nep-bericht Alice ontsleutelt x Oscar pikt x

21 21 Aanval tegen ElGamal Oscar neemt u met samengestelde orde Stuur (u, v) Alice berekent z = u a x = v/z Oscar pikt x Oscar heeft: u, v, x Bereken: z = v/x a = u log z kan met nep-u Behandel een ontsleuteld bericht zo zorgvuldig als je geheime sleutel, ook als het onzin is! controleer dat u q = 1

22 22 RSA: geheim grondtal Eerste PK-systeem Public key (n, e) Encryptie van x door Bob: y = x e (mod n) Ontsleutelen: Discrete wortel e y Rivest, Shamir, Adleman (1978)

23 23 Ontsleutelen met Lagrange n = p. q φ = (p -1)(q -1) x φ = 1 (mod n) Bereken d zo dat e.d = k.φ +1 y d = (x e ) d = x k.φ +1 = 1 k. x = x Kraken? Oscar probeert n te factoriseren. Neem n 1024 bits.

24 24 Discussie Meer informatie:


Download ppt "1 Machtsverheffen als geheimschrift dr Gerard Tel Universiteit Utrecht Nationale Wiskundedagen 2003."

Verwante presentaties


Ads door Google