De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Machtsverheffen als geheimschrift

Verwante presentaties


Presentatie over: "Machtsverheffen als geheimschrift"— Transcript van de presentatie:

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

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

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

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

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

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

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

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

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

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

11 Wat kost machtsverheffen?
Hoeveel vermenigvuldigingen: g21? g21 = ((g10)2) * g 2 verm uit g10 = (((g5)2)2) * g 1 verm uit g5 = ((((g2)2 * g)2)2) * g 2 verm uit g2 Vermenigvuldigingen: 6

12 Indiaas machtsverheffen
Een 0: 1 verm. Een 1: 2 verm. Eerste 1: gratis Schrijf 21 binair: 10101 g1 = g, gratis g10 = g1 * g1, 1 verm. g101 = g10 * g10 * g, 2 verm. g1010 = g101 * g101, 1 verm. g = g1010 * g1010 * g, 2 verm. Lengte: lg q 0 en 1: Half om half Kosten: 1.5 lg q

13 3log 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. Verdeling: y < 5/2 want 35/2 > 10 y > 2/1 want 32 < 101 y < 11/5 want 311 > 105 Elke reele functie is effectief inverteerbaar

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

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

16 Shanks: Uitkomst en kosten
Botsing: g45 = b * g5 Dus: b = g40 Grote stappen: q/t Veelvouden van t tot boven q Kleine stappen: t Samen: q/t + t Minimaal voor t = q : 2q

17 Werk per partij: ordeq Alice/Bob: 1.5 lg q Oscar: 2 q 83 10 18 106 30
2000 1012 60 1048 240 2 x 1024 Kan op SmartCard Kan niet op Supercomputer

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

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

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

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

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

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

24 Discussie Meer informatie: gerard@cs.uu.nl


Download ppt "Machtsverheffen als geheimschrift"

Verwante presentaties


Ads door Google