Elliptic Curves and the State of Survaillence Aleksander Horawa - - PowerPoint PPT Presentation

elliptic curves and the state of survaillence
SMART_READER_LITE
LIVE PREVIEW

Elliptic Curves and the State of Survaillence Aleksander Horawa - - PowerPoint PPT Presentation

Elliptic Curves and the State of Survaillence Aleksander Horawa Imperial College London February 21, 2015 Aleksander Horawa Elliptic Curves and the State of Survaillence Reference: Thomas C. Hales, The NSA Back Door to NIST , Notices of the


slide-1
SLIDE 1

Elliptic Curves and the State of Survaillence

Aleksander Horawa

Imperial College London

February 21, 2015

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-2
SLIDE 2

Reference: Thomas C. Hales, The NSA Back Door to NIST, Notices of the AMS.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-3
SLIDE 3

image credits: https://wordtothewise.com/

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-4
SLIDE 4

image credits: https://wordtothewise.com/

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-5
SLIDE 5

image credits: https://wordtothewise.com/

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-6
SLIDE 6

image credits: https://wordtothewise.com/

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-7
SLIDE 7

image credits: https://wordtothewise.com/

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-8
SLIDE 8

image credits: https://wordtothewise.com/

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-9
SLIDE 9

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . .

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-10
SLIDE 10

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-11
SLIDE 11

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-12
SLIDE 12

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-13
SLIDE 13

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-14
SLIDE 14

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-15
SLIDE 15

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-16
SLIDE 16

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z Bob m b x a z

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-17
SLIDE 17

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z Bob m b x a z 12 1 23 25

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-18
SLIDE 18

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z Bob m b x a z 12 1 23 25 − 5 23 12 15 11

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-19
SLIDE 19

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z Bob m b x a z 12 1 23 25 − 5 23 12 15 11 7

  • 22

11

  • 15

14

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-20
SLIDE 20

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z Bob m b x a z 12 1 23 25 − 5 23 12 15 11 7

  • 22

11

  • 15

14 (26) 7 4 11 11 14

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-21
SLIDE 21

One-time pad

Alice and Bob both have access to the same (secret) list of random numbers. 5, 23, 12, 15, 11, 9, 3, 4, 6, 24, 9, 3, 6, 5, 15, 7, 24, . . . Alice wants to say ”Hello” to Bob. Alice h e l l

  • 7

4 11 11 14 + 5 23 12 15 11 12 27 23 26 25 (26) 12 1 23 25 m b x a z Bob m b x a z 12 1 23 25 − 5 23 12 15 11 7

  • 22

11

  • 15

14 (26) 7 4 11 11 14 h e l l

  • Aleksander Horawa

Elliptic Curves and the State of Survaillence

slide-22
SLIDE 22

Random numbers

  • Problem. Need random numbers! How can we generate them?

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-23
SLIDE 23

Random numbers

  • Problem. Need random numbers! How can we generate them?

Truly random numbers can only come from a physical process.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-24
SLIDE 24

Random numbers

  • Problem. Need random numbers! How can we generate them?

Truly random numbers can only come from a physical process. We can generate numbers that appear random from a recipe using a computational device. These are called pseudo-random numbers.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-25
SLIDE 25

Random numbers

  • Problem. Need random numbers! How can we generate them?

Truly random numbers can only come from a physical process. We can generate numbers that appear random from a recipe using a computational device. These are called pseudo-random numbers. One method comes from the theory of elliptic curves, which are recently very common in cryptography.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-26
SLIDE 26

Elliptic curves

Google Chrome: Key exchange: ECDHE RSA EC = Elliptic Curve

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-27
SLIDE 27

Elliptic curves

Elliptic curves are a special kind of cubic curves on the plane. Definition An elliptic curve over R is the set of solution (x, y) ∈ R2 of y2 = x3 + ax + b for a, b ∈ R such that 27b2 + 4a3 = 0, together with a point O called the point at infinity.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-28
SLIDE 28

Elliptic curves

Examples

y2 = x3 − x + 1 −3 −2 −1 1 2 3 −2 −1 1 2 y2 = x3 − x −3 −2 −1 1 2 3 −2 −1 1 2

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-29
SLIDE 29

Addition on elliptic curves

Why are they so useful? You can define addition on them! P Q P + Q

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-30
SLIDE 30

Addition on elliptic curves

Why are they so useful? You can define addition on them! P 2P

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-31
SLIDE 31

Addition on elliptic curves

Why are they so useful? You can define addition on them! P

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-32
SLIDE 32

Addition on elliptic curves

  • Problem. The definition is geometric. We need formulas!

y = y2−y1

x2−x1 (x − x1) + y1

P = (x1, y1) Q = (x2, y2) P + Q = (x3, y3)

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-33
SLIDE 33

Addition on elliptic curves

  • Problem. The definition is geometric. We need formulas!

y = y2−y1

x2−x1 (x − x1) + y1

P = (x1, y1) Q = (x2, y2) P + Q = (x3, y3)

x3 =

  • y2−y1

x2−x1

2 − x1 − x2 y3 = −y1 +

  • y2−y1

x2−x1

  • (x1 − x3)

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-34
SLIDE 34

Elliptic curves

Computers are good with finite objects.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-35
SLIDE 35

Elliptic curves

Computers are good with finite objects. We can make elliptic curves finite by reducing them modulo a prime number p: E[Fp] = {(x, y) | y2 ≡ x3 + ax + b mod p} ∪ {O} where a, b ∈ Fp = {0, 1, . . . , p − 1} and 27b2 + 4a3 ≡ 0 mod p.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-36
SLIDE 36

Elliptic curves

Computers are good with finite objects. We can make elliptic curves finite by reducing them modulo a prime number p: E[Fp] = {(x, y) | y2 ≡ x3 + ax + b mod p} ∪ {O} where a, b ∈ Fp = {0, 1, . . . , p − 1} and 27b2 + 4a3 ≡ 0 mod p. The addition formulas also reduce modulo p, because they only use +, −, ×, ÷. We can do all of these in Fp.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-37
SLIDE 37

Pseudo-random number generation

Public: E elliptic curve p prime number P, Q ∈ E[Fp]

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-38
SLIDE 38

Pseudo-random number generation

Public: E elliptic curve p prime number P, Q ∈ E[Fp] Secret: s ∈ N seed (internal state of the algorithm).

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-39
SLIDE 39

Pseudo-random number generation

Public: E elliptic curve p prime number P, Q ∈ E[Fp] Secret: s ∈ N seed (internal state of the algorithm). Algorithm

1 Let r be the x-coordinate of sP = P + P + . . . + P

  • s times

.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-40
SLIDE 40

Pseudo-random number generation

Public: E elliptic curve p prime number P, Q ∈ E[Fp] Secret: s ∈ N seed (internal state of the algorithm). Algorithm

1 Let r be the x-coordinate of sP = P + P + . . . + P

  • s times

.

2 Let t be the x-coordinate of rQ = Q + Q + . . . + Q

  • r times

. Then t is the random number.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-41
SLIDE 41

Pseudo-random number generation

Public: E elliptic curve p prime number P, Q ∈ E[Fp] Secret: s ∈ N seed (internal state of the algorithm). Algorithm

1 Let r be the x-coordinate of sP = P + P + . . . + P

  • s times

.

2 Let t be the x-coordinate of rQ = Q + Q + . . . + Q

  • r times

. Then t is the random number.

3 Let s′ be the x-coordinate of rP = P + P + . . . + P

  • r times

. This is the new internal state.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-42
SLIDE 42

Pseudo-random number generation

This was one of the four official pseudo-random number generators recommended by the National Institute of Standards and Technology (NIST). NIST specifies this data: E, p, n = #E[Fp], P, Q.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-43
SLIDE 43

Pseudo-random number generation

This was one of the four official pseudo-random number generators recommended by the National Institute of Standards and Technology (NIST). NIST specifies this data: E, p, n = #E[Fp], P, Q. There is a back door to this pseudo-random number generator; that is, a way to find the hidden state s and predict the “random” numbers.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-44
SLIDE 44

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-45
SLIDE 45

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e. Theorem If we know e, we can extract the hidden state s′ by observing the

  • utput t.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-46
SLIDE 46

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e. Theorem If we know e, we can extract the hidden state s′ by observing the

  • utput t.

Proof. There are two possible points A with x-coordinate t — one of them is rQ and the other is −rQ.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-47
SLIDE 47

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e. Theorem If we know e, we can extract the hidden state s′ by observing the

  • utput t.

Proof. There are two possible points A with x-coordinate t — one of them is rQ and the other is −rQ. For both of them, we compute eA. For A = rQ we get: eA = e(rQ)

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-48
SLIDE 48

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e. Theorem If we know e, we can extract the hidden state s′ by observing the

  • utput t.

Proof. There are two possible points A with x-coordinate t — one of them is rQ and the other is −rQ. For both of them, we compute eA. For A = rQ we get: eA = e(rQ) = r(eQ)

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-49
SLIDE 49

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e. Theorem If we know e, we can extract the hidden state s′ by observing the

  • utput t.

Proof. There are two possible points A with x-coordinate t — one of them is rQ and the other is −rQ. For both of them, we compute eA. For A = rQ we get: eA = e(rQ) = r(eQ) = rP.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-50
SLIDE 50

The back door

For all the curves E listed by NIST, the number of points of E[Fp] is prime. Since E[Fp] is a group of prime order, every element (except O) is a generator, so P = eQ for some integer e. Theorem If we know e, we can extract the hidden state s′ by observing the

  • utput t.

Proof. There are two possible points A with x-coordinate t — one of them is rQ and the other is −rQ. For both of them, we compute eA. For A = rQ we get: eA = e(rQ) = r(eQ) = rP. But the new internal state s′ is the x-coordinate of rP.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-51
SLIDE 51

Diffie–Hellman Key Exchange

Let’s go back to Google Chrome! ECDHE = Elliptic Curve Diffie–Hellman key Exchange.

Aleksander Horawa Elliptic Curves and the State of Survaillence

slide-52
SLIDE 52

Diffie–Hellman Key Exchange

Let’s go back to Google Chrome! ECDHE = Elliptic Curve Diffie–Hellman key Exchange. What is that? A commonly used well-known key exchange. Every cryptographer knows it. It is based on the same idea as the back door!

Aleksander Horawa Elliptic Curves and the State of Survaillence