Congruencias Lineales y Sucesiones de Números Seudoaleatorios de Período Máximo

You might also like

Download as pdf
Download as pdf
You are on page 1of 6
270 Terceras Jornadas de Matemética Discreta y Algoritmica Congruencias lineales y sucesiones de ntimeros seudoaleatorios de periodo maximo Resumen Eneste trabajo mostramos eémo escoger los parmetros 8, by mdel generador lineal congruente 2141 = (ar. + ‘b)modm de manera que la longitud del perioda de la serie de niimeros seudoaleatorios generada se aproxime fla cota tedrien de ml! 1 Introduccién En muchas areas de las matematicas surge Ia necesidad de utilizar las sucesiones de niimeros seu- doaleatorios para desarrollar técnicas tan alejadas a priori como la localizacién por sondeo primario mediante radares y la criptografia, Una sucesién de niimeros seudoaleatorios se puede obtener por iteracién de una funcién de una o varias variables de manera que la periodicidad de la sucesién no re- sulte evidente. La sucesiin obtenida a partir del generador lineal congruente naa = (0-tq + b)modm, introducido por Lehmer (1949), posee carac- teristicas y propiedades que la hacen especialmente atractiva para su utilizacién de forma masiva, tanto desde el punto de vista estadistico como por la posi- bilidad de obtener periodos suficientemente largos silos pardmetros a, 8, m se eligen convenientemente [1]. Su principal virtud consiste en que el mimero de operaciones por bit generado es un mimero pe- queo. Por otra parte, su mayor desventaja radica fen que las sucesiones que genera son predecibles ((2],(3},[4}). Esta debilidad pone de manifiesto que este generador no es adecuado para la generacién de sucesiones ciftadas pero, puede ser util para el "Dpto. de CC. Experimentales © Ingenieria, {ssancheyg criadodescetunjecs "Dpto. de Matemética Aplicada (DMATI). E-mail; cve- gaGmatcpmes E-mail: JR.Criadoly C.Vega? desarrollo de ciertas herramientas criptogréticas en aplicaciones en las que se modeliza un compor- tamiento aleatorio como la busqueda de mimeros primos grandes donde es necesatio comprobar si un rgimero es compuesto 0 “probablemente” primo. El generador presentado permite corregir algunos de- fectos, pues su configuracién permite romper el or- den natural en la generacién de niimeros aleato- rios y nos permite aproximarnos a una longitud de periodo importante, superior al de los generadores combinados {5], que se acerca a m!, Allser un gen- cerador no lineal dificulta los ataques analiticos. 2 Preliminares Recordemos que si F es un conjunto con tun niimero finito de elementos, un generador de Fes un algorit- mo que obtiene una sucesién {2y},s de elementos de F, y que una sucesion {rn}qsy e5 periédica si 3k, k 2 1 tal que para cualquier n © N se verifique que tn+k = 2a, denominandose periodo al menor rmimero entero A que satisfaga la condicién de que para cualquier n € N, Zan = Za. En lo sucesivo ‘hos vamos a centrar en los generadores de un solo paso, es decir, aquellos que se pueden expresar de la forma tnai = f(tn). donde f es una funcién, J: F = F.Utilizaremos la notacién {F. f,29} para teferirnos a un generador de este tipo. Se dice que {F,f.ta} €s de periodo miximo si el perfodo de la sucesién que genera coincide con el nimero de elementos del conjunto F. No es dificil probar el siguiente resultado: Lema 1 Siendo {F, x9} un generador de un pa- 0, son equivalentes: 8) {F.f.20} es un generador de periado mézimo para x9 € F. b) La aplicacién f es una permutacién ciclica Comunicaciones o) v2 © F, (F,f,z}es un generador de periodo méximo. 4) Para cualesquiera 2,y € F existe r €N, tal que f(a) = y. Si nos centramos en los generadores que utiligan congruencias lineales del estilo de Aas = (a-2_ + b)modm, como consecuencia del lema 2 que, seguidamente, ‘enunciamos, veremos que es posible obtener suce- siones con periodos suficientemente largos si los parémetros a,b y m se eligen convenientemente: Lema 2 ({1]) Bl generador tnsi = (0+ an + B)modm tiene un periodo de longitud mézima si y solo si se cumplen las siguientes condi- 8) bes inversible médulo m. b) a = 1 (mod p) para cualquier primo p que sea divisor de m ©) Si divide a myentonces a= 1 (mod 4) En nuestro caso, el periodo maximo seré \ = m ppor lo que, para centrar ideas, supondremos en lo sucesivo que F = Zm = {0,1,~..m— 1}. Por otra parte, es inmediato comprobar que, siendo 2_ 1 = (a-aq+b)modm, para cualquier k € N se satisface la relation 2 = aFzo-+(1+a+a?+...+a*-*)-bmodm, con lo que, si utilizamos la notacién Sy(a) = (tas? +... ¢a*)-bmodm, resulta que para cualquier k € N se verifca que 21 = a*zo + Se(a), con Io que, considerando el conjunto @ de las fun~ ciones afines invertibles fap : Zm — Zm definidas por la expresién fa(z) =a" 2 +6, donde a-2+6 5 la clase de equivalencia médulo m correspondi- ente al niimero a-2 +b, no es dificil verificar que ® es un subgrupo del grupo simétrico de Zm, ¥ que H= {e,f,f?,..J"3} es un subgrupo ciclico de ®, donde j* : Zq — Zm esti determinada por Ia expresion f*(z) = akz + S4(a). Ahora bien, si f satisface las condiciones del lema 1, f es una per- mutacin ciclica y la igualdad f” = ¢ es equive- lente @ que para cualquier 2 € Zm, f(z) = 2 0, lo que es lo mismo, a que a = 1'¥ b-Sp(a) = 1 Si, por simplicidad, ponemos 6 = 1, obtenemos que Sma(a) =0y, en consecuencia, a” = 1(mod m), con lo que, para el caso en el que m sea un miimero pri- mo, resultaré que f tiene un punto fijo y que una 271 condicién necesaria para que f tenga la longitud maxima del perfodo es que a = (mod m). Lema 8 Sim es un numero primo, a = I(mod m) y b no es congruente con O(mod m),la fun- Gién f + Zm = 2m definida por la expre- sién f(z) = 7240, donde a-z + bes la clase de equivalencia médulo m correspondiente al ‘mimeroa -z +b, es una permutacién ciclica de orden m en Zm (y, en consecuencia, es un generador de periodo completo). Nuestro objetivo es disefiar un generador que se acerque a la cota teérica de las m! posibles per- mutaciones. Es conocido que, siendo|(f)| = s, y dado x € Zyy, se verifica que, 0 bien x es un pun to fijo de un elemento de (f) (en cuyo caso a z le denotaremos por xp), © bien el conjunto H, = {2, f(z), f*"(2)} tiene exactamente ¢ elemen- tos. Ademés, es posible encontrar 23,22) ..21 € Zm tales que 2m = Ho HB, UU HE, {er}, card(H},) =... = card(H!,) = 3 Generacién de ntimeros seudoaletorios y congruen- cias lineales. ‘La generacién basada en la expresién Eau = (a5 + 8)modm, ny depende de cuatro parémetros a,b m y 19. Si considerames los niimeros presentes en la expresion (1), los casos de interés se pueden dividir en dos categorias: 1. Coeficientes a,2,m que facilitan ta generecién de la longtud del periodo completo, 2. Cocficientes que no facilitan esta generacién, El primer caso esté considerado exhaustivamente en {i}, donde se estudian, prineipalmente, las eondi- ciones en las que se obtiene el perfodo maximo y algunos aspectos relacionados con la eficiencia de este método. En nuestro caso vamos realizar el anilsis de la segunda opcién, centrandonos en el caso en el que m es un mimero primo. Para ello 272 ‘eras Jornadas de Matematica Discreta y Algoritmica ‘nos apoyaremos en los siguientes resultados conoci dos, que resumen parte de lo tratado en el apartado anterior: Teorema 1. Si ged(a-1,m)=1 , entonces para cualquier sucesién generada mediante la expresién (i) eaiste wn punto fijo xp tal que ap = (a-zp + b)modm. Teorema 2. Sim es primo, se cumple el Teore- mat y existe un punto fijo xp, el conjunto forma- do por los m~ 1 niimeras restantes se divide en | tramos de s elementos cada uno, de manera que Lis=m-1 2 El mimero de valores posibles de s se puede obtener mediante la expresion r(e(m)) = 1 donde si em) = pi p3?..ra", (PY PE?.-Pa) (ay +1)(a2+1)...(an +1). Cualguier valor posible de s es un divisor de m—l,ezcluido el 1. El ntimero de tramos | es @) le NOTA. El pardmetro a y un valor determi- nado del parémetro s, para el caso en el que m sea primo, se determinan a partir de la ecuacién Lsnodm) ) EI ntimero de soluciones de esta ecuacién es ¢(s), de manera que si s = y(m) tenermos el teorema de Euler. Para poder elegir el coeficiente a de entre los muchos posibles, se pueden tener en cuenta las posibilidades minimas de los lenguajes de progra- macién como Fortran o C. En el caso del lenguaje Fortan para que los resultados intermedios de cal- culo con la expresién (1) no sobrepasen la barrera de 31 bits se puede utilizar la descomposiciin de Schrage [8] que se basa en el hecho que cualquier ‘numero de 31 bits se puede expresar como ag donde a y son niimeros de 15 y 16 bits respectiva- mente. Si se utiliza el lenguaje C con posibilidad de representacién minima de 32 bits se pueden elegit los pardmetros a, & y m de manera que satisfagan la condicion a(m —1) +65 2-1 6) Para imponer condiciones adicionales se pueden seguir las recomendaciones de Kauth [1] para cumplir los criterios tedricos. Asi, en el caso del criterio de correlacién serial, se utilizan la suma generalizada de Dedekind o(a,b,m) que es pequea si las relaciones parciales & son pequeas, En el caso general su evaluacién resulta compleja, Unas condiciones menos preises pero mas senellan (1}) consstenen que a'y m debensetistacer la condi Vii

You might also like