58
Primtal, faktorisering och RSA Johan H˚ astad 17 november, 2007 Johan H˚ astad Primtal, faktorisering och RSA

Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Primtal, faktorisering och RSA

Johan Hastad

17 november, 2007

Johan Hastad Primtal, faktorisering och RSA

Page 2: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ett Exempel

N = 93248941901237910481523319394135

4114125392348254384792348320134094

3019134151166139518510341256153023

2324525239230624210960123234120156

809104109501303498614012865123

Kan vi avgora om N ar sammansatt?

Ja, latt.

Om sa kan vi faktorisera N? Betydligt svarare.

Spelar det nagon roll? Kunskap vart miljarder.

Johan Hastad Primtal, faktorisering och RSA

Page 3: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ett Exempel

N = 93248941901237910481523319394135

4114125392348254384792348320134094

3019134151166139518510341256153023

2324525239230624210960123234120156

809104109501303498614012865123

Kan vi avgora om N ar sammansatt?

Ja, latt.

Om sa kan vi faktorisera N?

Betydligt svarare.

Spelar det nagon roll? Kunskap vart miljarder.

Johan Hastad Primtal, faktorisering och RSA

Page 4: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ett Exempel

N = 93248941901237910481523319394135

4114125392348254384792348320134094

3019134151166139518510341256153023

2324525239230624210960123234120156

809104109501303498614012865123

Kan vi avgora om N ar sammansatt?

Ja, latt.

Om sa kan vi faktorisera N?

Betydligt svarare.

Spelar det nagon roll?

Kunskap vart miljarder.

Johan Hastad Primtal, faktorisering och RSA

Page 5: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ett Exempel

N = 93248941901237910481523319394135

4114125392348254384792348320134094

3019134151166139518510341256153023

2324525239230624210960123234120156

809104109501303498614012865123

Kan vi avgora om N ar sammansatt? Ja, latt.

Om sa kan vi faktorisera N?

Betydligt svarare.

Spelar det nagon roll?

Kunskap vart miljarder.

Johan Hastad Primtal, faktorisering och RSA

Page 6: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ett Exempel

N = 93248941901237910481523319394135

4114125392348254384792348320134094

3019134151166139518510341256153023

2324525239230624210960123234120156

809104109501303498614012865123

Kan vi avgora om N ar sammansatt? Ja, latt.

Om sa kan vi faktorisera N? Betydligt svarare.

Spelar det nagon roll?

Kunskap vart miljarder.

Johan Hastad Primtal, faktorisering och RSA

Page 7: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ett Exempel

N = 93248941901237910481523319394135

4114125392348254384792348320134094

3019134151166139518510341256153023

2324525239230624210960123234120156

809104109501303498614012865123

Kan vi avgora om N ar sammansatt? Ja, latt.

Om sa kan vi faktorisera N? Betydligt svarare.

Spelar det nagon roll? Kunskap vart miljarder.

Johan Hastad Primtal, faktorisering och RSA

Page 8: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Plan

1 En hel del om primtal.

2 Lite om faktorisering.

3 Kryptosystemet RSA som finns pa grund av vara formaga atttesta primtal och var oformaga att faktorisera.

Det ar sma heltal i mina exempel men tank pa tal storre an det paforra sidan.

Johan Hastad Primtal, faktorisering och RSA

Page 9: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Plan

1 En hel del om primtal.

2 Lite om faktorisering.

3 Kryptosystemet RSA som finns pa grund av vara formaga atttesta primtal och var oformaga att faktorisera.

Det ar sma heltal i mina exempel men tank pa tal storre an det paforra sidan.

Johan Hastad Primtal, faktorisering och RSA

Page 10: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Fermatprimtal

Fi = 22i+ 1.

F0 = 3

F1 = 5

F2 = 17

F3 = 257

F4 = 65537

F5 = 4294967297

Pierre de Fermat (amatormatematiker fran 1600-talet) noterade attdet forsta 5 ar primtal och pastods ha trott att alla Fi ar primtal.

Johan Hastad Primtal, faktorisering och RSA

Page 11: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Vi vet idag

Fermat hade (helt) fel!

F5 = 4294967297 = 641 · 6700417 och inga andra kanda tal iserien ar primtal.

Borde Fermat insett att F5 inte ar primtal?

Johan Hastad Primtal, faktorisering och RSA

Page 12: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Fermats lilla sats

Sats: Om 1 ≤ a ≤ p − 1 sa ar resten av ap−1 vid division med plika med 1.

≡p betyder rest vid divison med p

16 = 1 ≡7 1

26 = 64 ≡7 1

36 = 729 ≡7 1

46 = 4096 ≡7 1

56 = 15625 ≡7 1

66 = 46656 ≡7 1

Johan Hastad Primtal, faktorisering och RSA

Page 13: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Slutsatser av Fermats lilla sats

28 = 256 ≡9 4

9 definitivt inte primtal

210 = 1024 ≡11 1

11 ar kanske primtal

414 = 268435456 ≡15 1

15 ar kanske primtal

Johan Hastad Primtal, faktorisering och RSA

Page 14: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Slutsatser av Fermats lilla sats

28 = 256 ≡9 4 9 definitivt inte primtal

210 = 1024 ≡11 1

11 ar kanske primtal

414 = 268435456 ≡15 1

15 ar kanske primtal

Johan Hastad Primtal, faktorisering och RSA

Page 15: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Slutsatser av Fermats lilla sats

28 = 256 ≡9 4 9 definitivt inte primtal

210 = 1024 ≡11 1 11 ar kanske primtal

414 = 268435456 ≡15 1

15 ar kanske primtal

Johan Hastad Primtal, faktorisering och RSA

Page 16: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Slutsatser av Fermats lilla sats

28 = 256 ≡9 4 9 definitivt inte primtal

210 = 1024 ≡11 1 11 ar kanske primtal

414 = 268435456 ≡15 1 15 ar kanske primtal

Johan Hastad Primtal, faktorisering och RSA

Page 17: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Lite storre tal

N = 257

3256 = 139008452377144732764939786789661

303114218850808529137991604824430

036072629766435941001769154109609

521811665540548899435521

och ger rest 1 vid division med 256 vilket ar rimligt da 257 ar

primtal.

Borjar bli tungt att rakna...

Johan Hastad Primtal, faktorisering och RSA

Page 18: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Lite storre tal

N = 257

3256 = 139008452377144732764939786789661

303114218850808529137991604824430

036072629766435941001769154109609

521811665540548899435521

och ger rest 1 vid division med 256 vilket ar rimligt da 257 ar

primtal.

Borjar bli tungt att rakna...

Johan Hastad Primtal, faktorisering och RSA

Page 19: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Ater till F5

34294967296 ger rest 3029026160 vid division med F5 = 4294967297och vi kan med sakerhet saga att F5 inte ar primtal.

Hur inser man detta?

34294967296 ar ett tal med ett par miljarder siffror...

Johan Hastad Primtal, faktorisering och RSA

Page 20: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre rakningar

Vad ar sista siffran i 15412311?

1

Vad ar sista siffran i 15432311? Samma som 32311

Sista siffran i 3-potenser ar 3,9,7,1,3,9,7,1...

och svaret blir 7.

Johan Hastad Primtal, faktorisering och RSA

Page 21: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre rakningar

Vad ar sista siffran i 15412311? 1

Vad ar sista siffran i 15432311? Samma som 32311

Sista siffran i 3-potenser ar 3,9,7,1,3,9,7,1...

och svaret blir 7.

Johan Hastad Primtal, faktorisering och RSA

Page 22: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre rakningar

Vad ar sista siffran i 15412311? 1

Vad ar sista siffran i 15432311?

Samma som 32311

Sista siffran i 3-potenser ar 3,9,7,1,3,9,7,1...

och svaret blir 7.

Johan Hastad Primtal, faktorisering och RSA

Page 23: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre rakningar

Vad ar sista siffran i 15412311? 1

Vad ar sista siffran i 15432311? Samma som 32311

Sista siffran i 3-potenser ar 3,9,7,1,3,9,7,1...

och svaret blir 7.

Johan Hastad Primtal, faktorisering och RSA

Page 24: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre rakningar

Vad ar sista siffran i 15412311? 1

Vad ar sista siffran i 15432311? Samma som 32311

Sista siffran i 3-potenser ar 3,9,7,1,3,9,7,1...

och svaret blir 7.

Johan Hastad Primtal, faktorisering och RSA

Page 25: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Generalisering

Sista siffran ar resten vid division med 10.

For att berakna den behover vi bara sista siffran i operanderna ochkan slanga alla andra siffor.

Allmant: Vill vi veta resten av svaret av en berakning vid divisionmed N, kan vi kasta alla multipler av N pa vagen.

Johan Hastad Primtal, faktorisering och RSA

Page 26: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Generalisering

Sista siffran ar resten vid division med 10.

For att berakna den behover vi bara sista siffran i operanderna ochkan slanga alla andra siffor.

Allmant: Vill vi veta resten av svaret av en berakning vid divisionmed N, kan vi kasta alla multipler av N pa vagen.

Johan Hastad Primtal, faktorisering och RSA

Page 27: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 28: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 29: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 30: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 31: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 32: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 33: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 34: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 35: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 36: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 37: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 38: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 39: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1

Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 40: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Att rakna ut 3256 modulo 257

3256 = 9128

= 8164

= 656132

≡257 13632

= 1849616

≡257 24916

= 620018

≡257 648

= 40964

≡257 2414

= 580812

≡257 2562

= 55536 ≡257 1Enbart 8 multiplikationer av tresiffriga tal.

Johan Hastad Primtal, faktorisering och RSA

Page 41: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre berakning F5

Fermat kunde ha raknat ut resten av 34294967296 vid division med4294967297 med 32 multiplikationer av 10 siffriga tal och 32resttagningar.

Tar hogst nagon timme for en van handraknare.

Skulle dock inte ha gett faktoriseringen som kraver betydligt merjobb att fa fram for hand.

Johan Hastad Primtal, faktorisering och RSA

Page 42: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre berakning F5

Fermat kunde ha raknat ut resten av 34294967296 vid division med4294967297 med 32 multiplikationer av 10 siffriga tal och 32resttagningar.

Tar hogst nagon timme for en van handraknare.

Skulle dock inte ha gett faktoriseringen som kraver betydligt merjobb att fa fram for hand.

Johan Hastad Primtal, faktorisering och RSA

Page 43: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Datorkorningar

En dator klarar att gora ett “Fermattest” pa 1000 siffriga tal pahogst nagon minut, en bra implementation pa nagon sekund.

Slutsats antingen Definitivt inte primtal eller Kanske primtal.

Johan Hastad Primtal, faktorisering och RSA

Page 44: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Battre upp

Gary Miller och Michael Rabin visade 1976 att om vi utvidgartestet en aning och provar 50 slumpvis a sa fas

Definitivt inte primtal eller Troligen primtal.

Sannolikhet att ha fel ar 2−100.

Johan Hastad Primtal, faktorisering och RSA

Page 45: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Behovs slump for primtalstest?

Felsannolikhet 2−100 gor detta till en akademisk fraga av litetpraktiskt intresse.

Stort filosofiskt och teoretiskt intresse. Finns det ett effektivtdeterministiskt primtalstest?

Johan Hastad Primtal, faktorisering och RSA

Page 46: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Agarwal, Saxena, Kayal, 2002

Det finns ett deterministiskt primtalstest som pa tal med n sifforgor ≈ n6 operationer.

Mycket battre an provdivision som gar i tid√

N ≈ 10n/2, menmycket samre an Miller-Rabin som gar i tid ≈ n3.

Johan Hastad Primtal, faktorisering och RSA

Page 47: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Hur svart ar faktorisering?

Basta datorprogrammen klarar ca 200 decimala siffror om man korpa hundratals datorer under ett par manader.

“Troligen” mycket svarare an primtalstest.

Inte i narheten av ett matematiskt bevis att faktorisering verkligenar svarare.

Johan Hastad Primtal, faktorisering och RSA

Page 48: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Kryptering baserat pa dessa ideer

Betrakta foljande:

Fermats lilla sats ger att a21 och a ger samma rest vid divison med11.

Satt b till resten av a7 vid divison med 11.

Da 21 = 7 · 3 ger resten av b3 vid division med 11 tillbaka a.

a = 2 ger a7 = 128 ≡11 7 = b och b3 = 343 ≡11 2.

Vi kan aterskapa forvanskad information, kryptering ochdekryptering.

Johan Hastad Primtal, faktorisering och RSA

Page 49: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Kryptering baserat pa dessa ideer

Betrakta foljande:

Fermats lilla sats ger att a21 och a ger samma rest vid divison med11.

Satt b till resten av a7 vid divison med 11.

Da 21 = 7 · 3 ger resten av b3 vid division med 11 tillbaka a.

a = 2 ger a7 = 128 ≡11 7 = b och b3 = 343 ≡11 2.

Vi kan aterskapa forvanskad information, kryptering ochdekryptering.

Johan Hastad Primtal, faktorisering och RSA

Page 50: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Kryptering baserat pa dessa ideer

Betrakta foljande:

Fermats lilla sats ger att a21 och a ger samma rest vid divison med11.

Satt b till resten av a7 vid divison med 11.

Da 21 = 7 · 3 ger resten av b3 vid division med 11 tillbaka a.

a = 2 ger a7 = 128 ≡11 7 = b och b3 = 343 ≡11 2.

Vi kan aterskapa forvanskad information, kryptering ochdekryptering.

Johan Hastad Primtal, faktorisering och RSA

Page 51: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Kryptering baserat pa dessa ideer

Betrakta foljande:

Fermats lilla sats ger att a21 och a ger samma rest vid divison med11.

Satt b till resten av a7 vid divison med 11.

Da 21 = 7 · 3 ger resten av b3 vid division med 11 tillbaka a.

a = 2 ger a7 = 128 ≡11 7 = b och b3 = 343 ≡11 2.

Vi kan aterskapa forvanskad information, kryptering ochdekryptering.

Johan Hastad Primtal, faktorisering och RSA

Page 52: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

RSA Kryptering

Valj stort tal N och e och d sa att aed och a alltid ger samma restvid division med N.

Ta ett medelande och koda som ett stort heltal M.

Kryptotexten blir resten av Me vid division med N, kalla den C .

Klartexten aterskapas som resten av Cd med division med N.

Johan Hastad Primtal, faktorisering och RSA

Page 53: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Exempel

Meddelande HEJ JOHAN. A=1, B=2 etc ger

M = 805101015080114

Vi kan ha N = 23942194232123139 och lampliga e och d .

Langre meddelanden delas upp i delar, ett blockkrypto.

RSA efter upptacktarna av Ron Rivest, Adi Shamir och LenAdleman.

Johan Hastad Primtal, faktorisering och RSA

Page 54: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Egenskaper hos RSA

Kryptering och dekryptering ar tamligen effektiva, ungefar som ettMiller-Rabin test.

Valj N som produkten av tva stora (kanske 150 decimala siffror)primtal.

Berakna lampliga e och d . Kraver eftertanke men ar blixtsnabbt.

Publicera N och e.

Vi publicerar KRYPTERINGSNYCKELN, alla kan kryptera, avende vi inte traffat.

Johan Hastad Primtal, faktorisering och RSA

Page 55: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Egenskaper hos RSA

Kryptering och dekryptering ar tamligen effektiva, ungefar som ettMiller-Rabin test.

Valj N som produkten av tva stora (kanske 150 decimala siffror)primtal.

Berakna lampliga e och d . Kraver eftertanke men ar blixtsnabbt.

Publicera N och e.

Vi publicerar KRYPTERINGSNYCKELN, alla kan kryptera, avende vi inte traffat.

Johan Hastad Primtal, faktorisering och RSA

Page 56: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Public key cryptography

Oppen nyckel ger fantastiska mojligheter.

Alla publicerar sina nycklar pa sina hemsidor.

Vi kan kommunicera med alla utan att nyfikna hackers ellermyndigheter kan snoka.

Johan Hastad Primtal, faktorisering och RSA

Page 57: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

RSA egenskaper

Latt att skapa nycklar via primtalstest.

Enda kanda sattet att forcera ar att faktorisera N.

Latt att se att N inte ar primtal, svart att faktorisera.

Kan eventuellt anvanda e = 3 men e = 65537 ar battre.

Johan Hastad Primtal, faktorisering och RSA

Page 58: Primtal, faktorisering och RSA - Chalmers...2 Lite om faktorisering. 3 Kryptosystemet RSA som finns p˚a grund av v˚ara f¨orm˚aga att testa primtal och v˚ar oform˚aga att faktorisera

Slutord

Inte svart att skriva egen implementation av RSA for realistisktstora tal. Kraver bara aritmetik pa stora heltal.

Rimligt projekt att forsta talteorin bakom att RSA fungerar.

Matematiken ligger till grund for stora investeringar och samhalletssakerhet.

Johan Hastad Primtal, faktorisering och RSA