Cryptography Reference
In-Depth Information
Each processor runs for πr/ 2 /N P +
1 steps and therefore is expected to send
θ πr/ 2 /N P +
1 distinguished points in its lifetime. The total number of points to store is
therefore θ πr/ 2
+
N P .
Exercise 14.2. 15 shows that the complexity in the case N P =
1 can be taken to be
o (1)) πr/ 2 group operations with polynomial storage.
(1
+
Exercise 14.3.3 When distributing the algorithm it is important to ensure that, with very
high probability, each processor finds at least one distinguished p oint i n less than its total
expected running time. Show that this will be the case if 1
πr/ 2 / ( N P log( r ) ) .
Schulte-Geers [ 480 ] analyses the choice of θ and shows that Heuristics 14.2.13 and 14.3.1
are not valid asymptotically if θ
o (1 / r )as r
(e.g., walks in this situation are
more likely to fall into a cycle than t o hit a distinguished point). In any case, since e ach
processor only travels a distance of πr/ 2 /N P it follows we should take θ>N P / r .In
practice, one tends to determ ine t he available storage first (say, c group elements where
c> 10 9 ) and to set θ
=
→∞
c/ πr/ 2 so that the total number of distinguished points visited
is expected to be c . The results of [ 480 ] validate this approach. In particular, it is extremely
unlikely that there is a self-collision (and hence a cycle) before hitting a distinguished point.
=
14.4 Speeding up the rho algorithm using equivalence classes
Gallant, Lambert and Vanstone [ 215 ] and Wiener and Zuccherato [ 565 ] showed that one
can speed up the rho method in certain cases by defining the pseudorandom walk not on the
group
but on a set of equivalence classes. This is essentially the same thing as working
in an algebraic group quotient instead of the algebraic group.
Suppose there is an equivalence relation on
g
g
. Denote by x the equivalence class
of x
g
.Let N C be the size of a generic equivalence class. We require the following
properties:
1. One can define a unique representative x of each equivalence class x .
2. Given ( x i ,a i ,b i ) such that x i =
g a i h b i one can efficiently compute ( x i , a i , b i ) such that
g a i h b i .
x i =
We give some examples in Section 14.4.1 below.
One can implement the rho algorithm on equivalence classes by defining a pseudorandom
walk function walk ( x i ,a i ,b i ) as in Definition 14.2.1 . More precisely, set x 1 =
g,a 1 =
1 ,b 1 =
0 and define the sequence x i by (this is the “original walk”)
x i
if S ( x i )
=
0
x i + 1 =
f ( x i )
=
(14.6)
x i g j if S ( x i )
=
j, j
∈{
1 ,...,n S
1
}
g u j h v j are as in Definition 14.2.1 . When
using distinguished points one defines an equivalence class to be distinguished if the unique
equivalence class representative has the distinguished property.
where the selection function S and the values g j =
 
Search WWH ::




Custom Search