Workshop: Geheimschrift op de TI-83+

30
Workshop: Workshop: Geheimschrift Geheimschrift op de TI-83+ op de TI-83+ Gerard Tel Gerard Tel Universiteit Utrecht Universiteit Utrecht Kom hier met je TI-83 of TI-84 het programma ophalen!

description

Workshop: Geheimschrift op de TI-83+. Kom hier met je TI-83 of TI-84 het programma ophalen!. Gerard Tel Universiteit Utrecht. Wat gaan we doen?. Achtergrondweetjes opfrissen en drie kandidaten zoeken Uitleg en demo: Elgamal geheimschrift Waarom werkt het zo goed? - PowerPoint PPT Presentation

Transcript of Workshop: Geheimschrift op de TI-83+

Page 1: Workshop: Geheimschrift op de TI-83+

Workshop:Workshop:Geheimschrift Geheimschrift op de TI-83+op de TI-83+

Gerard TelGerard Tel

Universiteit UtrechtUniversiteit Utrecht

Kom hier met je TI-83 of TI-

84 het programma

ophalen!

Page 2: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 2

Wat gaan we doen?Wat gaan we doen?1. Achtergrondweetjes opfrissen en drie

kandidaten zoeken2. Uitleg en demo:

Elgamal geheimschrift3. Waarom werkt het zo goed?4. Prijsvraag: gedwongen samenwerken

Page 3: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 3

Wat gaan we doen?Wat gaan we doen?1. Achtergrondweetjes opfrissen en drie

kandidaten zoeken2. Uitleg en demo:

Elgamal geheimschrift3. Waarom werkt het zo goed?4. Prijsvraag: gedwongen samenwerken

Page 4: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 4

Een beetje WiskundeEen beetje Wiskunde• Rekenen modulo priem p (95917)

met 0, 1, … p-2, p-1• Eindig veel getallen,

delen door elk getal ≠0• Normale rekenregels geldig

(ga)k = (gk)a

Praktijk: p heeft ~617 cijfers!!

Page 5: Workshop: Geheimschrift op de TI-83+

VermenigvuldigingstabelVermenigvuldigingstabel

(7) 1 2 3 4 5 6

1 1 2 3 4 5 6

2 2 4 6 1 3 5

3 3 6 2 5 1 4

4 4 1 5 2 6 3

5 5 3 1 6 4 2

6 6 5 4 3 2 1

Workshop Elgamal 5

• “Sudoku”• Delen kan• Machten:• 54 = (52)2

= 42 =

Page 6: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 6

Een beetje InformaticaEen beetje Informatica• Wat kun je uitrekenen? (En hoe?)• Macht y = ga in 5.log(a) verm• Logaritme met grondtal g: gx = b

niet berekenbaar!! Kost ~3.√a verm

|a| Macht Log

5 25 1000

50 250 3E25

100 500 3E50

Page 7: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 7

Een beetje TI-83, 83+, 84+Een beetje TI-83, 83+, 84+• Grafisch• Programmeerbaar• Algemeen in VWO

• Drie Teams, elk met TI83/84 en Elgamal programma

Page 8: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 8

Een beetje CryptografieEen beetje Cryptografie• Caesar Code, boodschap x• Zender en ontvanger

gebruiken dezelfde sleutel: symmetrische code

• Gebruik TI-83:Hoofdmenu, 1:Caesar

• Team 1 kiest sleutel z• Team 1, 2 stel sleutel in (2:)

Page 9: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 9

Demo Caesar codeDemo Caesar code• Team 2: Verzin boodschap x• Team 2: Versleutel x (4: ) en

vertel codebericht y• Team 1: Ontsleutel y (5: )

Formules: Encz(x) = x.zDecz(y) = y/z

Wat weet Team 3 (zaal)?

Page 10: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 10

Wat gaan we doen?Wat gaan we doen?1. Achtergrondweetjes opfrissen en drie

kandidaten zoeken2. Uitleg en demo:

Elgamal geheimschrift3. Waarom werkt het zo

goed?4. Prijsvraag: gedwongen

samenwerken

Page 11: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 11

Public Key codesPublic Key codes• Caesar: T2 gebruikt z voor

versleutelen, T3 voor ontsleutelen

• Idee: Encb(x), Deca(y)Key pair met a secret, b public

Hoofdmenu, 2: Elgamal• T1: 1: Sleutel maken, vertel b• T2: 2: Invoer public, b• T3: Voer ook b in

Page 12: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 12

Team 3 en zaal

Team 2:Team 1:

Key pair alleen voor Team 1Key pair alleen voor Team 1• Team 2 maakt ook een key pair

• Team 1 voert b2 in (met 2: )

Totaal nu 4 sleutels:

a1a2b2b1

Nooit vertellen!

Page 13: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 13

Relatie tussen Relatie tussen aa en en bb• Relatie: b = ga

• Reken van a naar b:Machtsverheffen(in sleutelgeneratie)

• Reken van b naar a:Logaritme: onmogelijk

Page 14: Workshop: Geheimschrift op de TI-83+

Website met httpsWebsite met https• Bv. gmail DigiD bancaire sites• Adresbalk

• Website en browser berekenen samen een geheim getal z

• Versleutel gegevens met z

• Post-DigiNotar tijdperk Workshop Elgamal 14

Page 15: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 15

Versleutelen: gebruik Versleutelen: gebruik bbOpdracht:• T2:

- boodschap x,- Elgamal, 3:

• Uitkomst: 2 getallen (u, v)

• Vertel u en v

Versleuteling:1. Random blinder z2. v = x.z (Caesar!)3. Hint u bevat

de blinder zinformatie over

die T1 kan gebruiken

Random kBlinder z = bk

Hint u = gk

Page 16: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 16

Ontsleutelen: gebruik Ontsleutelen: gebruik aaOpdracht:• T1:

- Elgamal, 4: - Voer u en v in

• Uitkomst: 1 getal x• x aan T2

(Gelijk???)

Ontsleuteling:1. Blinder z = ua

2. Boodschap x = v/z

Versleutel-Blinder:z = bk = (ga)k

Ontsleutel-Blinder:z = ua = (gk)a

Page 17: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 17

Afluisteren?Afluisteren?Gezien:1. Public b = ga

2. Hint u = gk

3. Product v = x.z

Niet te berekenen:1. Secret a2. Blinder z3. Getal x

T3 ziet de communicatie maar niet de secrets

Page 18: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 18

Wat gaan we doen?Wat gaan we doen?1. Achtergrondweetjes opfrissen en drie

kandidaten zoeken2. Uitleg en demo:

Elgamal geheimschrift3. Waarom werkt het zo goed?4. Prijsvraag: gedwongen samenwerken

Page 19: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 19

Prijsvraag: samenwerkenPrijsvraag: samenwerken• Versleutelen met b:

nodig a = log(b) voor ontsleutelen• Kies een random getal b …?

Niemand kan ooit ontsleutelen!

• Stel in als b: Product b1.b2

Versleutel getal op snoepwaar.• Vertel mij getal op reep!

Page 20: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 20

Zijn er veel sleutels nodig?Zijn er veel sleutels nodig?Symmetrisch z: 1 Public a1 b1 a2 b2: 4

Een sleutel per gebruikerspaar:

½ n(n-1)

sleutels

Een sleutelpaar per gebruiker:

2 n

sleutels

Page 21: Workshop: Geheimschrift op de TI-83+

Nou is het vast erg veilig?Nou is het vast erg veilig?• Als T2 de goede b

(van T1) heeft: JA!• Aanval: T3 maakt

zelf a en b, stuur b naar T2

• Zet T1 buitenspel!Phishing

• Certificaten

• 2011: ruim 600 certificaataanbieders

• 1 rotte appel bederft hele systeem

Workshop Elgamal 21

Page 22: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 22

RSA en ElgamalRSA en ElgamalElgamal• Versleutelen kiest

random k• Opnieuw

versleutelen van dezelfde x geeft ander resultaat

• Boodschap raden en zelf versleutelen kan niet!

RSA• Versleutelen is

deterministisch• Prijsvraag:

versleutel 80 t/m 200, vergelijk resultaat

Belangrijk voor veiligheid als er maar weinig boodschappen mogelijk zijn.

Stemming: JA / NEE

Page 23: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 23

Stemmen met ElgamalStemmen met ElgamalHomomorfie• Versleutel:

Encb(x1): (u1, v1)Encb(x2): (u2, v2)

• Vermenigvuldig:(u, v) = (u1u2, v1v2)

• Ontsleutel:Deca(u, v): x1x2

Geheime stemming• JA: versleutel g

NEE: versleutel 1• Vermenigvuldig

alle stemmen: u = u1u2…un

v = v1v2…vn

• Ontsleutel (u, v) geeft g#JA

Page 24: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 24

Manipuleerbaarheid: VeilingManipuleerbaarheid: VeilingWerking van veiling• Representeer bod

met macht: gr

• Gesloten veiling: versleuteld bod

• Bod r: (gk, bk.gr)• Ontcijfer berichten

en kies hoogste

Overbied bod (u1, v1):

• Bereken (u2, v2) als Encb(g)

• Bied (u1u2, v1v2)

• Win met onbekende prijs!

Page 25: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 25

Wat gaan we doen?Wat gaan we doen?1. Achtergrondweetjes opfrissen en drie

teams maken2. Uitleg en demo:

Elgamal geheimschrift3. Waarom werkt het zo goed?4. Prijsvraag: gedwongen samenwerken

Page 26: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 26

Sleutel bij Sleutel bij bb = = bb11bb22

• Omdat b1 = ga1 en b2 = ga2 is b = g??

• Omdat b1 = ga1 en b2 = ga2 is b = g(a1+a2)

• Vind x = v/u(a1+a2)

zonder elkaar a1 of a2 te vertellen

Page 27: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 27

Het Elgamal programmaHet Elgamal programma• Te gebruiken in VWO klas• Programma, workshop-

boekje, uitleg, deze slides op website

• Programma uitbreidbaar• Boekje heeft ideeën voor

experimenten/scripties

www.staff.science.uu.nl/~tel00101/Cryptografie/Elgamal/

Page 28: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 28

ConclusiesConclusies• Symmetrische of

public-key crypto• Elgamal gebaseerd

op discrete log• Demo op TI-83+

• ??: Boek of collegeBOL: Crypotgrafie

Page 29: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 29

Oplossing PrijsvraagOplossing Prijsvraag• Ontsleutelen is: v delen door ua

• u(a1+a2) is: ua1.ua2

• Deel eerst door ua1 en dan door ua2

• Team 1: bereken v’ = Deca1(u, v)Team 2: bereken x = Deca2(u, v’)

Page 30: Workshop: Geheimschrift op de TI-83+

Workshop Elgamal 30

Overzicht van formulesOverzicht van formules• Constanten:

Priemgetal p, grondtal g• Sleutelpaar:

Secret a en Public b = ga

• Encryptie: (u, v) = (gk, x.bk) met bDecryptie: x = v/ua met a

• Prijsvraag: b = b1b2. Ontsleutelen?