Elgamal demonstration project on calculators TI-83+

25
Elgamal Elgamal demonstration demonstration project on project on calculators TI-83+ calculators TI-83+ Gerard Tel Gerard Tel Utrecht University Utrecht University With results from Jos Roseboom With results from Jos Roseboom and Meli Samikin and Meli Samikin

description

Elgamal demonstration project on calculators TI-83+. Gerard Tel Utrecht University. With results from Jos Roseboom and Meli Samikin. Overview of the lecture. History and background Elgamal (Diffie Hellman) Discrete Log: Pollard rho Experimentation results - PowerPoint PPT Presentation

Transcript of Elgamal demonstration project on calculators TI-83+

Page 1: Elgamal demonstration project on calculators TI-83+

Elgamal Elgamal demonstration demonstration

project on project on calculators TI-83+calculators TI-83+

Gerard TelGerard TelUtrecht UniversityUtrecht University

With results from Jos Roseboom With results from Jos Roseboom and Meli Samikinand Meli Samikin

Page 2: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 2

Overview of the lectureOverview of the lecture1. History and background2. Elgamal (Diffie Hellman)3. Discrete Log: Pollard rho4. Experimentation results5. Structure of Function Graph:

Cycles, Tails, Layers6. Conclusions

Page 3: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 3

1. History and background1. History and background1. 2003, lecture for school teachers

about Elgamal2. 2006, lecture with calculator demo

Why Elgamal, not RSA?• Functional property easy to show• Security: rely on complexity• Compare exponentiation and DLog

Page 4: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 4

Math: Modular arithmeticMath: Modular arithmetic• Compute modulo prime p (95917)

with 0, 1, … p-2, p-1• Generator g of order q (prime)• Rules of algebra are valid

(ga)k = (gk)a

Secure application: p has ~309 digits!!

Page 5: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 5

Calculator TI-83, 83+, 84+Calculator TI-83, 83+, 84+• Grafical, 14 digit• Programmable• Generally available

in VWO (pre-academic school type in the Netherlands)

• Cost 100 euro(free for me)

Page 6: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 6

The Elgamal programThe Elgamal program• Ceasar cipher (symmetric)• Elgamal parameter and key

generation• Elgamal encryption and

decryption• Discrete Logarithm: Pollard

Infeasible problem!! But doable for 7 digit modulus

Page 7: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 7

2. Public Key codes2. Public Key codes

The problem of Key Agreement:• A and B are on two sides of a river• They want to have common z• Oscar is in a boat on the river• Oscar must not know z

Page 8: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 8

Solution: Diffie-HellmanSolution: Diffie-Hellman• Alice takes random a, shouts b = ga

• Bob takes random k, shouts u = gk

• Alice computes z = ua = (gk)a

• Bob computes z = bk = (ga)k

The two numbers are the sameThe difference in complexity for A&B

and O is relevant

Page 9: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 9

What does Oscar hear?What does Oscar hear?Seen:1. Public b = ga

2. Public u = gk

Not computable:1. Secret a, k2. Common zThis needs discrete

logarithm

Oscar sees the communication, but not the secrets

Page 10: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 10

The Elgamal programThe Elgamal program• In class use• Program, explanation,

slides on website• Program extendible• Booklet with ideas for

experimenting, papers• (All in Dutch!)

http://people.cs.uu.nl/gerard/Cryptografie/Elgamal/

Page 11: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 11

3. Pollard Rho Algorithm3. Pollard Rho Algorithm• Fixed p (modulus), g, q (order of g);

G is set of powers of g• Discrete Logarithm problem:

– Given y in G– Return x st gx = y

• Pollard Rho: randomized, √q time

Page 12: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 12

Pollard Rho: RepresentationPollard Rho: Representation• Representation of z: z = ya.gb

• Two representations of same number reveil log y:If ya.gb = yc.gd,then y = g(b-d)/(c-a)

• Goal: find 2 representations of one number z (value does not matter)

Page 13: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 13

Strategy: Birthday TheoremStrategy: Birthday Theorem• All values z = ya.gb are in G• Birthday Theorem:

In a random sequence, we expect a collision after √q steps

• Simulate effect of random sequence by pseudorandom function: zi+1 = f (zi)(Keep representation of each zi)

Page 14: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 14

Cycle detectionCycle detection• Detect collision by storing previous

values: too expensive• Floyd cycle detection method:

– Develop two sequences: zi and ti

– Relation: ti = z2i

– Collision: ti = zi, i.e., zi = z2i

In each round, z “moves” one step and t moves two steps.

Page 15: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 15

4. Experimentation results4. Experimentation results

p q x m 1 2 3 4 5 Ave

971 97 4 3 8 16 8 16 8 11,2

3989 997 114 10 30 30 60 15 60 39

39869 9967 4 3 117 117 117 117 53 104,2

39869 9967 1144 15 192 65 192 65 192 141,2

999611 99961 4 3 335 335 335 335 335 335

999611 99961 11 6 683 683 683 683 683 683

999611 99961 1144 15 680 340 340 340 680 476

Spring 2006, by Barbara ten Tusscher, Jesse Krijthe, Brigitte Sprenger

Page 16: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 16

ObservationsObservations• Average number of iterations

coincides well with √q• Almost no variation within one row

• Is this a bug in the program??– Bad randomization in calculator?– Or general property of Pollard Rho?

Page 17: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 17

5. Function graph5. Function graph• Function f: zi -> zi+1 defines graph• Out-degree 1, cycles with in-trees• Length, component, size• Graph is the same when algorithm is

repeated with the same input• Starting point differs• As zi = z2i, i must be multiple of cycle

length

Page 18: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 18

Layers in a componentLayers in a component• Layer of node measure distance to

cycle in terms of its length l:– Point z in cycle has layer 0– Point z is in layer 1 if f(l)(z) in cycle– Point z is in layer c if f(c.l)(z) in cycle

• Lemma: z0 in layer c gives c.l iter.

• Is there a dominant component or layer?

Page 19: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 19

Layers 0 and 1 dominateLayers 0 and 1 dominateProbability theory analysis by Meli

Samikin

Lemma: Pr(layer ≤ 1) = ½Proof: Assume collision after k steps: z0 -> z1 -> … -> … -> zk-1 -> ??

Layer of z0 is 0 if zk = z0, Pr = 1/k

Layer of z0 is 1 if zk = zj < k/2, Pr ≈ 1/2

Page 20: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 20

Dominant ComponentDominant ComponentLemma: Random z0 and w0,

Pr(same component) > ½.Proof: First collision after k steps: z0 -> z1 -> … -> … -> zk-1 -> ??

w0 -> w1 -> … -> … -> wk-1 -> ??

Pr ( z meets other sequence ) = ½.Then, w-sequence may collide into z.

Page 21: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 21

Experiments: dominanceExperiments: dominance• Jos Roseboom:

count points in layers of each component

• Plays national korfbal team

• World Champion 2007, november, Brno.

Page 22: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 22

Size of largest componentSize of largest componentVerdeling puntenwolk Pollard

0

10

20

30

40

50

60

70

80

90

100

1,00E+00 1,00E+01 1,00E+02 1,00E+03 1,00E+04 1,00E+05 1,00E+06 1,00E+07

Omvang resterende zoekruimte

Per

cen

tag

e zo

ekru

imte

do

or

gro

ots

te c

ykel

Page 23: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 23

ConclusionsConclusions• Elgamal + handcalculators = fun• Functional requirements easier to

explain than for RSA• Security: experiment with DLog• Pollard, only randomizes at start• Iterations: random variable, but

takes only limited values• Most often: size of heaviest cycle

Page 24: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 24

Rabbit FormulaRabbit Formula• 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 25: Elgamal demonstration project on calculators TI-83+

Workshop Elgamal 25

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?