Top Banner
Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University
33

Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

Jan 18, 2018

Download

Documents

Phebe Hunt

3/33 Elliptic Curve n A curve of the form y 2 + xy = x 3 + ax 2 + b or y 2 = x 3 + ax + b n There are many cryptosystems that use elliptic curve operations.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

Security of Using Special Integers in Elliptic Scalar Multiplication

Mun-Kyu Leeo Jin Wook Kim Kunsoo Park

School of CSE, Seoul National University

Page 2: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

1. Preliminaries

Page 3: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

3/33

Elliptic Curve

A curve of the formy2 + xy = x3 + ax2 + b ory2 = x3 + ax + b

There are many cryptosystems that use elliptic curve operations.

Page 4: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

4/33

Elliptic Curve Operations [1] Point Addition: R = P +Q

– First, draw theline through P and Q.

– Then this line intersectsthe elliptic curvein a third point.

– Define R = P +Q(the sum of P and Q)as the reflection ofthis point in the x-axis.

Page 5: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

5/33

Elliptic Curve Operations [2] Point Doubling: R = 2P

– First, draw the tangent lineto the curve at P.

– Then this line intersectsthe curve ina second point.

– Define R = 2P (the double of P)as the reflection ofthis point in the x-axis.

Page 6: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

6/33

Elliptic Curve Operations [3] Scalar Multiplication kP

– For a nonnegative integer k and a point P,scalar multiplication kP is defined as

• 0P = O, for k = 0, where O is the “point at infinity”which is the additive identity element.

• kP = (k-1)P + P for k > 0.

Page 7: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

7/33

ECDLP

Elliptic Curve Discrete Log Problem – Given two points P and Q on an elliptic curve,– ECDLP is to find k such that kP = Q

Page 8: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

8/33

Scalar Mult. vs. ECDLP

Scalar Multiplicationk, P Q = kP

Efficient

ECDLPP, Q k s.t. Q = kP

- Computationally infeasible- Hence, security of elliptic curve based cryptosystems is based on this problem.

Page 9: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

9/33

The purpose of this paper

is to develop a technique to find harder instances of ECDLP,while keeping the efficiency of a scalar multiplication as the same level.

Page 10: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

2. Previous Results:Efficient Scalar Mult. Algos.

Page 11: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

11/33

[1] Binary Method To compute Q = kP,

– represent k as a binary form.– scan each bit of k from left to right.– if the bit is 1, do a doubling and an addition.

if the bit is 0, do a doubling only. Example: 61P = (1, 1, 1, 1, 0, 1)(2)P

PDBL

2P

1

ADD P3P

16P

1

DBLADD P7P

14PDBL

ADD P15P

01 130P

DBL

DBL60P

ADD PQ = 61P

101

11

110

111

1110

1111

11110 111100

111101

Page 12: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

12/33

[1] Binary Method

Complexity– log k doublings and– HW(k)-1 additions,

where HW(k) is the Hamming weight of k,i.e., the number of 1’s in the binary representation of k.

Page 13: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

13/33

[2] Signed Binary Method [Morain, Olivos 90] Use the following facts.

– For a point P on an elliptic curve, computation of an additive inverse –P is almost free.

• For example,on y2 = x3 + ax + b,–P is the reflection of Pin the x-axis.

– Hence, a subtraction P - Q has the same complexity as that of an addition P +Q.

P = (x, y)

-P = (x, -y)

Page 14: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

14/33

[2] Signed Binary Method To compute Q = kP,

– convert k to a signed binary representation k’ with smaller number of nonzero digits than k.

– if a digit is 1, do a doubling and an addition.if a digit is –1, do a doubling and a subtraction.if a digit is 0, do a doubling only.

Example: 61P = (26 - 22 +1)P = (1, 0, 0, 0,-1, 0, 1)P

PDBL

2P

014P

08P

-10 1101 100 1000

0DBL DBL DBL

16P10000

SUB

15P10001

DBL

30P100010

60P1000100DBL

ADD

Q = 61P1000101

Page 15: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

15/33

[2] Signed Binary Method

Complexity– log k doublings and– SHW(k)-1 additions/subtractions,

where SHW(k) is the signed Hamming weight of k, i.e., the number of nonzeros in the signed binary representation of k.

Page 16: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

16/33

[3] AMV method

In many elliptic curve based systems, we compute kP for a randomly chosen k.

[Agnew, Mullin, Vanstone 93]– Choose special k’s that have small HW(k) to reduce the

number of additions.– Specifically, generate random k’s of length m in a

binary form s.t. HW(k) = w for a fixed small w.– One can control the Hamming weight, and thus the

number of additions.

Page 17: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

17/33

[3] AMV method Example: m = 8, w = 3

0. Initially, there are 8 empty bits.

1. Choose 3 random positions for ‘1’.

2. Set them as ‘1’ and others as ‘0’.

For kP, we need 7 doublings and 2 additions.k = (1, 0, 1, 0, 0, 0, 0, 1)

Page 18: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

3. Proposed Method

Page 19: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

19/33

Our Method

Use special k’s– Generate random k’s that have small SHW(k).– Specifically, generate random k’s of length m in a signed

binary form s.t. SHW(k) = w for a fixed small w. More secure than the AMV selection method, i.e.,

random selection of k’s with HW(k)=w.– (Recall that an ECDLP is to find k such that kP = Q.)– The number of possible k’s in our method is much larger,– while the amount of computation is the same,

i.e., m-1 doublings and w-1 additions/subtractions,in both of the methods.

Page 20: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

20/33

Naïve Approach In order to generate a random k of length m s.t.

SHW(k) = w,– randomly select w locations for nonzero digits out of m

possible digits of k,– and then assign ‘1’ or ‘-1’ to each of these digits

randomly. Problem

– k’s are not unique.• Hence, the search space for k is much smaller than what

we have intended.– Example: m = 6, w = 3

• (1,0,0,1,0,-1) = (1,0,0,0,1,1) = 35

Page 21: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

21/33

Solution

select k’s in the nonadjacent form (NAF).– NAF is a signed binary representation with the

property that no two consecutive digits are nonzero.

– A number’s NAF is unique.

35

(1, 0, 0, 1, 0,-1) (1, 0, 0, 0, 1, 1)

possible representationsin NAF not in NAF

Page 22: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

22/33

Selection Algorithm

Now, we want to generate a random k of length m in NAF s.t. SHW(k) = w to guarantee the uniqueness of k.

To satisfy the NAF property, we use ‘10’ and ‘-10’ as single nonzero units instead of ‘1’ and ‘-1’.

The algorithm has six steps.

Page 23: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

23/33

Step 1

Initially there is an array of m-w+1 consecutive empty slots.

Example: m = 8, w = 3 (m -w +1 = 6)

Page 24: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

24/33

Step 2

Assign two-digit binary number 10 to the first slot to guarantee that k > 0 and that k has exactly m digits.

Example: m = 8, w = 3

10

Page 25: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

25/33

Step 3

Choose w - 1 random slots out of the remaining m – w slots and assign10 or –10 randomly to each of them.

Example: m = 8, w = 3 (w -1 = 2, m -w = 5)

10 10-10

Page 26: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

26/33

Step 4

Assign 0 to each remaining slot.

Example: m = 8, w = 3

10 10-10 0 0 0

Page 27: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

27/33

Step 5

Concatenate all slots to get a number k with m +1 signed binary digits.

Note that, for now, k is always even.Example: m = 8, w = 3

10 10-10 0 0 0

(1, 0, 0,-1, 0, 0, 0, 1, 0)

9 digits

Page 28: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

28/33

Step 6

Set k = k / 2

Example: m = 8, w = 3

k = (1, 0, 0,-1, 0, 0, 0, 1)

8 digits

(1, 0, 0,-1, 0, 0, 0, 1, 0)

For kP, we need 7 DBLs and 2 ADD/SUBs.

Page 29: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

29/33

Distribution of k’s

k’s generated by this algorithm are unique.

k’s generated by this algorithm form a uniform distribution of k’s thathave m digits and satisfy SHW(k) = w.

Page 30: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

4. Security Analysis

Page 31: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

31/33

Security Against BSGS

With k’s of special forms, the best possible attack algorithm against the ECDLP is the baby-step giant-step algorithm, which is a time-memory trade-off version of the exhaustive search.

Hence, k’s with larger search space is more secure against this attack.

Now we compare the size of the search space of our method with that of the AMV method.

Page 32: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

32/33

Comparison of the Sizes of Search Spaces for k

AMV Our Method# digits

# nonzerosmw

mw

sizes ofsearch spaces

11

wm 12

1

w

wwm

complexity ofa scalar mult.

m-1 DBLsw-1 ADDs

m-1 DBLsw-1 ADD/SUBs

Page 33: Security of Using Special Integers in Elliptic Scalar Multiplication Mun-Kyu Lee o Jin Wook Kim Kunsoo Park School of CSE, Seoul National University.

33/33

Comparison in Typical Settings

The size of the search space of our method is much larger.

Our method is expected to be more secure.