Cryptography Reference
In-Depth Information
Note that the index calculus depends heavily on the fact that integers can
be written as products of primes. An analogue of this is not available for
arbitrary groups.
There is a generalization of the index calculus that works for finite fields,
but it requires some algebraic number theory, so we do not discuss it here.
In Section 13.4, we show how an analogue of the index calculus can be
applied to groups arising from hyperelliptic curves.
5.2 General Attacks on Discrete Logs
In this section, we discuss attacks that work for arbitrary groups. Since our
main focus is elliptic curves, we write our group
G
additively. Therefore, we
are given
P, Q ∈ G
andwearetryingtosolve
kP
=
Q
(we always assume
that
k
exists). Let
N
be the order of
G
. Usually, we assume
N
is known. For
simplicity, it is usually assumed that
P
generates
G
.
5.2.1 Baby Step, Giant Step
This method, dev
elo
ped by D. Shanks [107], requires approximately
√
N
steps and around
√
N
storage. Therefore it only works well for moderate
sized
N
. The procedure is as follows.
≥
√
N
and compute
mP
.
1. Fix an integer
m
2. Make and store a list of
iP
for 0
≤ i<m
.
3. Compute the points
Q
−
jmP
for
j
=0
,
1
,
···
m
−
1 until one matches
an element from the stored list.
4. If
iP
=
Q
−
jmP
,wehave
Q
=
kP
with
k
≡
i
+
jm
(mod
N
).
Why does this work? Since
m
2
>N
,wemayassumetheanswer
k
satisfies
0
≤ k<m
2
.Write
k
=
k
0
+
mk
1
with
k
0
≡ k
(mod
m
)and0
≤ k
0
<m
and
let
k
1
=(
k − k
0
)
/m
.Then0
≤ k
1
<m
.When
i
=
k
0
and
j
=
k
1
,wehave
Q − k
1
mP
=
kP − k
1
mP
=
k
0
P,
so there is a match.
The point
iP
is calculated by adding
P
(a “
baby step
”) to (
i −
1)
P
.The
point
Q − jmP
is computed by adding
−mP
(a “
giant step
”) to
Q −
(
j −
1)
mP
. The method was developed by Shanks for computations in algebraic
number theory.
Search WWH ::
Custom Search