Discrete Logarithms: Carl Pomerance
Discrete Logarithms: Carl Pomerance
1
Finding a discrete logarithm can be very easy. For example, say
G = Z/mZ and g = 1. More specifically, say m = 100 and
t = 17. Then logg t = 17 (or more precisely 17 mod 100).
ng ≡ t mod m
for n, which we’ve known how to do easily essentially since
Euclid.
2
The cyclic group of order m:
What does this title mean, especially the key word “The”?
So, there are two versions of computing log3 17, one in G1 and
one in G2.
17 ?
That is, is 17 a square? That is, what is 101
5
From the prior calculations, if we were observant, we noticed
that 175 ≡ −1 mod 101. Thus, 1720 ≡ 1 mod 101, so that
log3 17 is 0 mod 5.
So, log3 17 is one of 5 possibilities: 10, 30, 50, 70, 90. Now
35 ≡ 41 mod 101, so 310 ≡ −36 mod 101.
6
There are two thoughts/questions suggested by these
calculations:
7
If g has order m, t ∈ hgi, and d | m, then write
t = g n = g n1d+n2 ,
so that
(g d)n1 = tg −n2 ,
so n1 is a solution of a dl problem in the group hg di of order
m/d.
8
This kind of reduction is attributed to Pohlig and Hellman and
because of it, cryptographers prefer groups of large prime
order, or of an order divisible by a large prime.
Cryptographers?
9
The Diffie–Hellman key-exchange protocol:
Alice and Bob want to set up a secure session with a secret key
that only they know, yet they want to set this up over a pubic
line. Here’s how they do it: Alice takes Bob’s group element g b
and raises it to her secret exponent a, getting (g b)a = g ab. Bob
arrives at the same group element via a different method,
namely (g a)b = g ab.
12
This kind of thing can be formalized into the “index calculus”
algorithm:
13
If
a a
g r t ≡ p11 . . . pkk mod p,
then using the pre-computed numbers logg pi, we get
14
So, for example, the index calculus method can be used in
many cases for finding dl’s in F× a
q . Eg, say q = p , with p prime
and a large. We can view Fq as Fp[x]/(f (x)) where f is
irreducible of degree a. And Fp[x] is a Euclidean domain.
√
• Have g of order m and t ∈ hgi. Find k = ⌈ m ⌉ and g −1.
16
Why must there be a coincidence between the two lists?
√
In all, baby steps, giant steps takes O( m log m) group
operations. It is essentially a universal algorithm, so
cryptographers can’t avoid it.
17
A downside of baby steps, giant steps is that it is not so easy
to distribute the work to many computers. Another algorithm
due to Pollard can be distributed and is what’s used in practice
to benchmark cryptosystems. It’s interesting that Pollard’s
method is heuristic while baby steps, giant steps is rigorous.
Of course, if an answer is found, it is easily checked, so the
heuristic part deals with whether the algorithm will terminate
√
within the supposed time bound (which is also about m).
18
So, can we find a family of convenient groups for which the
only dl algorithms take exponential time?
It’s hard to prove that it is so, but many people feel that
elliptic curve groups over finite fields fit this bill.
But what about the situation with E(Fq )? Here we have the
√
theorem of Hasse–Weil: #E(Fq ) is within 2 q of q + 1,
√ √
that is, #E(Fq ) ∈ [( q − 1)2, ( q + 1)2].
#E(Fq ) = q + 1 − t,
√
and t, which is always at most 2 q in absolute value, satisfies
t2 = jq for j = 0, 1, 2, 3, 4. In the cases where t 6= 0, the group
is far from cyclic, it is of the form Ck × Ck . So, these would not
have been used for cryptography in any event. In the cases
when t = 0, the group is either Cq+1 or C(q+1)/2 × C2. So,
these so-called supersingular cases are off the table for
cryptographic purposes.
23
There are more complicated attacks based on “Tate pairing”
and on “Tate–Lichtenbaum” pairing.
26
In a new paper still being written
(K. Karabina, A. Menezes, C. Pomerance, and I. E. Shparlinski,
On the asymptotic effectiveness of Weil descent attacks)
we study the question statistically and ask what happens for a
typical elliptic curve. We show that in fact the genus g grows
exponentially with n and also obtain somewhat larger
exponential upper bounds. Something like
2(1/2+o(1))n ≤ g ≤ 2(2/3+o(1))n almost always.
27