Professional Documents
Culture Documents
Facultad de Ciencias
Universidad de Cantabria
Santander E-39071, Espaa
jaime.gutierrez@unican.es
Abstract. Sean
p un
primo,
a y c enteros
mdulo
p tales
que
u n +1 p au n2 + c .
En este
u n , u n +1 , entonces
u 0 , excepto para un
1. Introduccin
En el corazn de gran parte de los sistemas criptogrficos usados actualmente est la
generacin de nmeros secretos o aleatorios, que no puedan ser adivinados para la
seguridad del criptosistema.
La motivacin de la generacin de nmeros
pseudoaleatorios es que en algunos casos necesitamos manipular ms bits aleatorios de
los que pueden proporcionarnos nuestras fuentes fsicas de entropa. En estos casos se
recurre a los PRNG, generadores de nmeros pseudoaleatorios, que constituyen, en
definitiva, una forma de expandir unos pocos bits realmente aleatorios.
Un PRNG es una transformacin que toma cierta cantidad aleatoria, llamada semilla,
y genera una secuencia de bits que pueden usarse como si fuesen nmeros casi
aleatorios. Un campo muy activo es, precisamente, estudiar y analizar cunto de
aleatoriedad posee la sucesin obtenida.
Un bien conocido y estudiado PRNG, pero muy inseguro criptogrficamente, es el
generador congruente lineal, definido por un polinomio lineal. Nosotros consideramos
un generador definido por un polinomio cuadrtico.
Para un primo p , denotamos por F p el cuerpo de p elementos y, como siempre,
asumiremos que est representado por el conjunto {0,..., p 1} . Algunas veces
trataremos los elementos de F p como enteros en ese rango.
mod p
n = 0,1,...
(1)
x n +1 ax n + c
mod p
n = 0,1,...
n = 0,1,...
mod p
En todo el trabajo, las palabras tiempo polinomial significan polinomial en log p . Los
resultados involucran otro parmetro , el cual mide cuanto de aproximados son los
valores w j en trminos de u n + j . Este parmetro vara independientemente de p sujeto a
la desigualdad < p , y no aparece en la estimacin de la complejidad del algoritmo
presentado.
Debemos sealar que el algoritmo presentado es riguroso y determinista (ver [2] para
una discusin rigurosa y heurstica de este tipo de algoritmos).
Comienza el artculo con un breve repaso de los resultados bsicos sobre retculas en
la Seccin 2.1 y, polinomios en la Seccin 2.2. En la Seccin 3.1 formulamos el
resultado principal y un esquema de demostracin, la cual aparece en la Seccin 3.2.
Finalmente, la Seccin 4 est dedicada a presentar algunas comentarios concluyentes y
a presentar problemas abiertos.
2. Retculas y Polinomios
2.1. Sumario sobre Retculas
En esta subseccin recogemos varios resultados conocidos sobre retculas, que forman
los antecedentes para nuestros algoritmos.
Revisamos varios resultados y definiciones relacionados sobre retculas (lattices), que
pueden encontrarse en [6]. Para ms detalles y referencias ms recientes, recomendamos
consultar [1,7,8,14-16].
Sea b1 ,...bs un conjunto de vectores linealmente independientes en R r . El conjunto
vol ( L) = det bi , b j
i , j =1
{b1 ,..., bs }.
Dado un vector u , sea u su norma eucldea. El famoso Teorema de Minkowski, (ver
Teorema 5.3.6 en la Seccin 5.3 de [6]), proporciona una cota superior
min{ z : z L \ {0}} s 1 2 vol ( L)1 s
(2)
La cota de Minkowski (2) motiva una pregunta natural: cmo encontrar un vector no
nulo y con norma mnima en una retcula? Diremos que es un vector corto de la retcula.
El clebre algoritmo LLL de Lenstra, Lenstra y Lovsz [13] proporciona una solucin
deseable en la prctica, y se sabe que el problema es resoluble en tiempo polinomial
determinista (polinomial en el tamao-bit de la base de L ) suponiendo que la
dimensin de L est fijada (ver Kannan [9, Section 3], por ejemplo). Las retculas en
este artculo tienen dimensin fija (ntese que se conocen varios indicios de que el
problema del vector ms corto es NP-completo cuando la dimensin crece).
De hecho, en este artculo slo consideramos retculas muy especiales.
Concretamente, retculas que consisten en soluciones enteras x = ( x0 ,..., x s 1 ) Z s del
sistema de congruencias
s 1
ij
xi 0 mod q j ,
j = 1,..., m
i =0
j = 0,1
cardinal V ' (; a, c) = O(4 ) (que tambin se define como el conjunto de ceros de una
cierta familia paramtrica de polinomios lineales).
Etapa 6: Encontramos un vector no nulo corto f ' en L' y mostramos que si
u 0 U (; a, c) , donde U (; a, c) = V (; a, c) V ' (; a, c) es trivial recuperar e' (y por
tanto encontrar la informacin secreta) a partir de f y f ' .
3.2. Demostracin del resultado principal
u i = wi + i , i
i = 0,1
Tenemos que:
u1 p f (u 0 ) w1 + 1 p a (w0 + 0 ) + c
2
aw02 + c w1 + 2aw0 0 + ({
1) 1 + a{ 02 p 0
142
4 43
4 123
(3)
L : x0 0 mod 2
x , x 0 mod
1 2
(4)
f = (2 f 0 , f 1 , f 2 , f 3 ) un vector corto
Por la definicin de L ,
2aw0 d1 d 2 + ad 3 0 mod p
Substituyendo w0 = u 0 0 en esta ecuacin, obtenemos:
M (u 0 ) = 2ad1u 0 E mod p
2ad1v E mod p
Como la cantidad de valores que E puede tomar est en O(3 ) , se sigue que
# V (; a, c) = O(; a, c) .
Ahora, si u 0 V1 (; a, c) , entonces debe ser d1 = 0 f 0 0 f 1 = 0 . Adems,
tenemos que
d 2 + ad 3 0 mod p
0 = f 1 f 01
Por tanto, conocemos u 0 = w0 + 0 y, aplicando el generador cuadrtico, u1 .
Etapa 4: Construccin de la retcula L' .
f2
,
mcd ( f 2 , f 3 )
s :=
f3
mcd ( f 2 , f 3 )
L': x0 0 mod 3
2
x1 0 mod
(5)
Supongamos lo contrario, luego existe un vector f ' L' no paralelo al vector e' con
f ' e' < 3 23 , que tendr la forma
f ' = (3 f 0' , 2 f 1' , f 2' )
(6)
Utilizando las cotas, tenemos que si d1' 0 mod p , entonces d1' = d 2' = 0 y los
vectores e' y f ' son paralelos. Esto contradice la eleccin de f ' .
Sustituyendo w0 = u 0 0 en la ecuacin (6), obtenemos:
M ' (u 0 ) = 2rd 1' u 0 E ' mod p
2rd1' v E mod p
Como la cantidad de valores que E ' puede tomar est en O(3 ) , se sigue que
#V ' (; a, c) = O(4 ) .
Etapa 6: Prediccin del generador cuando f 0 p 0 .
Utilizamos un algoritmo determinista y polinomial (ver [9]) para computar un vector
corto f ' L' , y este vector debe ser paralelo a e' . Podemos reconstruir con sencillez
e' = f ' f 0' , lo que nosproporciona 0 y consecuentemente u 0 .
Finalmente,
demostracin.
definiendo
U (; a, c) = V (; a, c) V ' (; a, c) ,
se
concluye
la
Referencias
[1] M. Ajtai, R. Kumar and D. Sivakumar, A sieve algorithm for the shortest lattice
vector problem, Proc. 33rd ACM Symp. on Theory of Comput. (STOC 2001),
Association for Computing Machinery, 2001, 601-610.
[2] S.R. Blackburn, D. Gmez-Prez, J. Gutirrez, I. Shparlinski, Predicting nonlinear
pseudorandom number generators, Mathematics of Computation, (en prensa).
[3] J. Boyar, Inferring sequences produced by pseudorandom number generators, J.
ACM, 36 (1989), 129-141.
[4] J. Boyar, Inferring sequences produces by a linear congruential generator missing
low-order bits, J. Cryptology 1 (1989) 177-184.
[5] E. F. Brickell and A. M. Odlyzko, Cryptanalysis: A survey of recent results,
Contemp. Cryptology, IEEE Press, NY, 1992, 501-540.