1 Priemgetallen, Cryptografie, yp g Digitale handtekening

advertisement
Priemgetallen,
Cryptografie,
yp g
Digitale handtekening
www.kuleuven-kortrijk.be/~igodt
1
Situering
www.kuleuven-kortrijk.be/~igodt
2
Cluster Wiskunde-Informatica-Fysica-Ingenieur
Opleidingen
• Wiskunde (2 jaar)
• Fysica (2 jaar)
• Informatica (2 jaar)
• Ingenieurswetenschappen
(Elektrotechniek, Werktuigkunde,
ComputerWetenschappen)
www.kuleuven-kortrijk.be/~igodt
3
1
Eerste semester
www.kuleuven-kortrijk.be/~igodt
4
Priemgetallen
• Priemgetallen: 2, 3, 5, 7, …, 97, …,
• Elk natuurlijk getal is op unieke manier product van
priemgetallen:
• b.v.
b
78 = 2 . 39 = 2 . 3 . 13
2009 = 7 . 7 . 41
2010 = 2 . 3 . 5 . 67
2011 = 2011
123456789 = 3 . 3 . 3607 . 3803
www.kuleuven-kortrijk.be/~igodt
5
Priemgetallen
• Priemgetallen zijn de “atomen” van de gehele
getallen:
• als p een priemgetal is, en p is deler van n . m,
dan is p een deler van n of een deler van m.
• Er zijn oneindig veel priemgetallen!
• Het is bijzonder moeilijk om een groot getal te
schrijven als product van priemgetallen!
b.v. getal van 200 cijfers ~ 1 eeuw computertijd
www.kuleuven-kortrijk.be/~igodt
6
2
Klokrekenen
• Op de “klok van 12”:
• 6 + 7 = 1 (mod 12)
• 11 + 11 = 10 (mod 12)
• 5 . 5 = 5 + 5 + 5 + 5 + 5 = 1 (mod 12)
• 3^5 = 3 . 3 . 3 . 3 . 3 = 3 ( mod
d 12 )
• Op de “klok van 24”:
• 22 + 10 = 8 (mod 24)
• 12 . 12 = 0 (mod 24)
• 4 . 8 = 8 (mod 24)
• Men kan rekenen op de “klok van n”, voor elk natuurlijk
getal n.
www.kuleuven-kortrijk.be/~igodt
B.v. de “klok van
100”, de “klok van p” (p priem), …
7
Klokrekenen
• Klokrekenen is relatief eenvoudig en snel uit te
voeren met een computer, ongeacht hoe groot de
getallen zijn.
www.kuleuven-kortrijk.be/~igodt
8
Crypto
• Neem 2 GROTE priemgetallen, p en q, en vorm het
product n = p . q (= een heel groot getal);
• Zoek r en s zo dat r . s = 1 ( mod (p-1)(q-1) )
• Maak n en r publiek. Hou s geheim! (s van
“secret”)
• Doe dat voor alle mensen => “Telefoonboek”
www.kuleuven-kortrijk.be/~igodt
9
3
Public Key
Wie
n
r
Jan
n1
r1
Piet
n2
r2
Sofie
n3
r3
Emma
n4
r4
Stan
n5
r5
…
…
…
•
•
•
•
boodschap: b.v. “afspraak morgen om tien uur”
a = 01, b = 02, c = 03, …, z = 26, spatie = 27, …
=> boodschap: 01 06 19 16 18 01 01 11 27 13 15 18 …
verdeel in blokken: 01061 91618 01011 12713 …
www.kuleuven-kortrijk.be/~igodt
10
Verstuur naar Emma
• Zoek Emma in de “public key”-gids;
• Vind n en r van Emma;
• Codeer blok-getallen door :
• a wordt omgevormd naar a^r ( mod n ) (“klok van
n)
n”)
• doe dit voor elk blokgetal;
• boodschap wordt een groot nieuw getal;
• bezorg dit getal aan Emma
www.kuleuven-kortrijk.be/~igodt
11
Emma ontvangt
• Emma ontvangt groot getal, met nieuwe blokken,
b1 b2 b3 b4 …
• Emma heeft een geheim getal,
getal de “sleutel”
sleutel , s
• Emma berekent, voor elk blokgetal, b^s ( mod n ) en
reconstrueert zo de boodschap
• Alleen Emma kan dit snel. Waarom?
www.kuleuven-kortrijk.be/~igodt
12
4
Digitale handtekening
• Opdracht: Jan moet document tekenen t.a.v. Sofie
(m.a.w. Jan moet zijn identiteit bewijzen)
•
Wie
n
r
Jan
Ja
n-jan
ja
r-jan
ja
Sofie
n-sofie
r-sofie
• Jan stuurt akkoord en zijn naam naar Sofie,
• zet om in groot getal
• verdeelt in blokken
• gebruikt zijn “geheime sleutel”
• gebruikt publieke
sleutel van Sofie
www.kuleuven-kortrijk.be/~igodt
13
Digitale handtekening
• stuurt naar Sofie
• Sofie
• ontvangt groot getal, in blokken
• gebruikt haar “geheime
geheime sleutel
sleutel” en decodeert
• vindt een nieuw groot getal
• “als dit van de echte Jan komt, dan …”
• neem de publieke sleutel van de echte Jan,
• ontcijfer nog eens, en …
• … je vindt een leesbaar akkoord en de juiste naam
• HANDTEKENING! = UNIEK!
www.kuleuven-kortrijk.be/~igodt
14
Hou je van Wetenschappen?
Ga ervoor!
Toekomstgericht!
Goede en vele jobs!
Dank u!
www.kuleuven-kortrijk.be/~igodt
15
5
Download