Está en la página 1de 35

I

N
D
I
C
E

18 de septiembre de 2008 Eugenio Soler Galán


I
N
D
I
C
E

18 de septiembre de 2008 Eugenio Soler Galán


Índice
Aleatoriedad y pseudoaleatoriedad
– Resumen
– Introducción
I – ¿Dónde encontramos aleatoriedad?
N – Otros conceptos relacionados con la aleatoriedad
D – Criptografía y números aleatorios
I – ¿Cómo conseguir números pseudoaleatorios?
C – Contrastes de aleatoriedad
E – Análisis de aleatoriedad
– El caos
– Conclusiones
– Agradecimientos
– Referencias
18 de septiembre de 2008 Eugenio Soler Galán
Resumen
Este trabajo de investigación forma parte de la asignatura
del Master Oficial en Ciencia y Tecnología Informática
denominada Trabajo de Investigación de Sistemas
I Distribuidos. Multimedia y Seguros I. En él se pretende
N ver el estado en el que se encuentra hoy en día la
D aleatoriedad, sobre todo en el campo de la aleatoriedad
I simulada, ya que la aleatoriedad propiamente dicha es un
C dilema filosófico, sobre el que muchos han estado
E discutiendo durante siglos, como podrá comprobarse en el
informe, ...

18 de septiembre de 2008 Eugenio Soler Galán


Introducción (1/2)
• La aleatoriedad no es algo que tan solo tenga una
aplicación técnica, desde siempre el hombre se ha
preguntado si su destino está no o escrito.
• A día de hoy todo está escrito, pero el hombre tiene el
I poder de cambiarlo, (¿por qué alguien va a ser
N encarcelado por sus actos, si no puede hacer nada para
D evitarlo?
I • algo es aleatorio, cuando no se puede volver a reproducir
C con los medios actuales, en un tiempo más o menos corto,
E en exactamente las mismas condiciones que se hizo
anteriormente

18 de septiembre de 2008 Eugenio Soler Galán


Introducción (2/2)
• la pseudoaleatoriedad que no se plantea la existencia o no
de la aleatoriedad pero que intenta imitarla. Que dicho sea
de paso no existe como tal en el diccionario de la lengua
I castellana. pseudo aleatorio tiene simplemente el
N significado de falsa aleatoriedad.
D • Para la Informática, y en concreto en el campo de la
I seguridad en redes tiene mucha importancia la
C aleatoriedad, ya sea en sistemas de cifrados asimétricos
E como en los simétricos

18 de septiembre de 2008 Eugenio Soler Galán


¿Dónde encontramos
aleatoriedad? (1/2)
• En la Filosofía. Comentado anteriormente.
• En la Física. Con las nuevas teorías científicas sobre
sistemas caóticos o turbulentos y con la mecánica cuántica,
I algunos científicos consideran que no está tan claro que el
N azar no forme parte del mundo. Según la interpretación
D estándar (o de Copenhagen) de la mecánica cuántica, en un
I experimento controlado hasta sus más mínimos detalles
C siempre hay un grado de aleatoriedad en el resultado.
E Muchos procesos físicos de carácter cuántico podrían ser
irreductiblemente aleatorios.

18 de septiembre de 2008 Eugenio Soler Galán


¿Dónde encontramos
aleatoriedad? (2/2)
• En la Matemática. Hay que cuestionarse si la Estadística y el
cálculo de probabilidades es o no un cálculo meramente
determinista. Las teorías del Caos.
• En la Informática. El azar interviene fundamentalmente en la
I seguridad de la información. Las claves son mas largas a medida
N que va aumentado la potencia de los ordenadores, ya que lo que
D era seguro hace 10 años puede que hoy no se tarde más de unos
minutos o quizás segundos en descifrar (siempre utilizamos esta
I palabra con un significado relativo, todo depende del tiempo).
C Además con el paso del tiempo estos algoritmos de código
E abierto cada vez están más estudiados y se pueden encontrar
vulnerabilidades, en definitiva, el tiempo juega en contra en el
“azar” en la informática.

18 de septiembre de 2008 Eugenio Soler Galán


Otros conceptos relacionados con
la aleatoriedad
• Número aleatorio. Es un resultado de una variable al azar
especificada por una función de distribución.
• Número pseudo-aleatorio. Generado en un proceso
aparentemente azaroso. Las secuencias de números no muestran
I ningún patrón, desde un punto de vista estadístico, a pesar de
N haber sido generadas por un algoritmo determinista. A mismas
D condiciones iniciales, tenemos siempre el mismo resultado.
I • Incertidumbre. Falta de certeza respecto a la resolución de un
experimento o problema
C
• Impredectibilidad. Imposibilidad de predecir las consecuencias
E de un experimento.
• Caos. Sistemas dinámicos (que evolucionan en el tiempo)

18 de septiembre de 2008 Eugenio Soler Galán


Criptografía y nos aleatorios (1/3)
Los algoritmos de llave pública, debido a su mayor orden
de complejidad, suelen ser empleados en conjunción con
algoritmos de llave privada de la siguiente forma: el
I mensaje primero se codifica empleando un algoritmo
N simétrico y la llamada clave de sesión, que será diferente
D cada vez. Es la clave de sesión la que se codifica
I empleando criptografía asimétrica. La única manera de que
estas claves sean seguras es que no exista ningún tipo de
C
dependencia entre una clave y la siguiente, esto es, que
E
sean aleatorias. De aquí surge el interés por los números
aleatorios en Criptografía.

18 de septiembre de 2008 Eugenio Soler Galán


Criptografía y nos aleatorios (2/3)
Secuencias estadísticamente aleatorias: Secuencias que superan los
tests estadísticos de aleatoriedad. Un generador congruencial lineal
cumple esta propiedad.

I Secuencias criptográficamente aleatorias: debe ser impredecible


N (computacionalmente intratable: no se puede averiguar el siguiente
número de la secuencia, teniendo total conocimiento acerca de todos
D los números anteriores y del algoritmo de generación empleado. Sin
I embargo no es suficiente, debido a que se necesita una semilla para
C inicializar el generador.
E
Secuencias aleatorias: no puede ser reproducida de manera fiable
(impredecibles y no reproducibles)

18 de septiembre de 2008 Eugenio Soler Galán


Criptografía y nos aleatorios (3/3)
Para poder obtener secuencias a la vez impredecibles y no
reproducibles, se usan generadores de secuencias
criptográficamente aleatorias, en conjunción con algún
I mecanismo de recolección de bits aleatorios, que nos va a
N permitir inicializar la semilla del generador. Un esquema
D de este tipo será seguro siempre que se salvaguarde
I adecuadamente la semilla empleada.
C
E

18 de septiembre de 2008 Eugenio Soler Galán


¿Cómo conseguir números
pseudoaleatorios? (1/5)
Se considera aleatoria cualquier sucesión de números que
cumpliera las dos condiciones siguientes:
• -Cualquier persona que desconozca cómo se ha
obtenido la sucesión debe ser incapaz de predecir el
I siguiente término.
N
• -La sucesión de números debe pasar con nota todos los
D tests de aleatoriedad a que sea sometida: rachas, gaps,
I serial, etc.
C
E
La siguiente secuencia 1001 1010 1001 0100 es más
aleatoria que esta otra 0000 0000 0000 0000 . Se mide no
solo la probabilidad sino tambiçen la entropía

18 de septiembre de 2008 Eugenio Soler Galán


¿Cómo conseguir números
pseudoaleatorios? (2/5)
Etapa1: generar una semilla (si es através de software se
debe usar: el sistema de reloj, el teclado, el ratón, el
contenido de buffers de entrada y salida, una combinación
de los anteriores...)
I Etapa2: generar una cadena de números
N pseudoaleatorios que provienen de una función de un sólo
D sentido, en la práctica se usan MD5, SHA-1, la función
I RSA, la función logaritmo en curvas elípticas, etc.
C Prueba: Para probar que un dispositivo genera números
E peudoaleatorios, éste debe de pasar una prueba que detecte
las propiedades más conocidas de no aleatoriedad, por
ejemplo la prueba de Maurer.

18 de septiembre de 2008 Eugenio Soler Galán


¿Cómo conseguir números
pseudoaleatorios? (3/5)
xn+1 = (axn + c) mod m
Las constantes X0, a, c, y m, se eligen para que el periodo sea
máximo con:
i. c y m son primos entre sí
I ii. a–1 es múltiplo de todos los primos que dividen a m
N iii. si m es múltiplo de 4, a–1 también lo es
D El parámetro m determina el número de cifras, se suelen tomar
I potencias de dos.
C Cuando c = 0 el generador se denomina multiplicativo. Este tipo de
E métodos es más rápido y, aunque se reduce un poco la longitud
del ciclo, la aparición de estos no es problema si m se elige
suficientemente grande.

18 de septiembre de 2008 Eugenio Soler Galán


¿Cómo conseguir números
pseudoaleatorios? (4/5)
x0=2 a=3 c=2 m=16 x0=2 a=5 c=9 m=16

12 16

I 10 14
12
8
N 6
10
8
D 4 6
4
I 2 2
0 0
C
E
Figura 1. Donde no se cumplen las condiciones y por tanto no hay Figura 2. Donde sí se cumplen las condiciones y por tanto sí hay
apariencia de aleatoriedad. apariencia de aleatoriedad.

18 de septiembre de 2008 Eugenio Soler Galán


¿Cómo conseguir números
pseudoaleatorios? (5/5)
Características de los números obtenidos deben ser:
1 Uniformemente distribuidos.
2. Estadísticamente independientes.
3. Su media debe ser estadísticamente igual a 1/2.
I
N 4. Su varianza debe ser estadísticamente igual a 1/4.
D 5. Su periodo o ciclo de vida debe ser largo.
I 6. Deben ser generados a través de un método rápido.
C 7. Generados a través de un método que no requiera mucha
capacidad de almacenamiento de la computadora.
E
Ejemplo:
Generadores de Fibonacci Ni=(Ni-r  Ni-s) mod m

18 de septiembre de 2008 Eugenio Soler Galán


Contrastes de aleatoriedad (1/6)
La aproximación a los generadores de números aleatorios
exige contrastar ciertas propiedades estadísticas de sus
salidas. Algunos de los contrastes son genéricos y pueden
utilizarse en la evaluación de generadores de variables
I aleatorias. Muchos de estos contrastes se encuentran
N implementados en los paquetes estadísticos comerciales
D más importantes. Además algunos generadores disponen
I de una teoría analítica que conduce a contrastes teóricos
C específicos.
E Para aumentar su potencia, los contrastes siguientes
pueden repetirse N veces.

18 de septiembre de 2008 Eugenio Soler Galán


Contrastes de aleatoriedad (2/6)
• Contraste de rachas-1
7 3 6 7 11 23 5 23 15 4 31 22 20

I
N 3 4 5 6 7 7 11 15 20 22 23 23 31

D
I
C
E

18 de septiembre de 2008 Eugenio Soler Galán


Contrastes de aleatoriedad (3/6)
• Contraste de rachas-2
Si el tamaño de cualquiera de las dos muestras es mayor
que 30, y consideramos una muestra de tamaño n que ha
I sido dividida en dos categorías (+) y (-) con n1 y n2
N observaciones cada una. Se denomina racha a una
D sucesión de valores de la misma categoría la distribución
I de R se aproxima a una normal de media y varianza las
C
siguientes:
E

18 de septiembre de 2008 Eugenio Soler Galán


Contrastes de aleatoriedad (4/6)
• Test de Wald-Wolfowitz -1
Valores muestra 1: 1 5 6 2 8    

I Valores muestra 2: 2 8 6 4 2 9 3

N
D
Valores ordenados 1 2 2 2 3 4 5 6 6 8 8 9
I
C
Número de racha 1 1 2 2 2 2 3 3 4 5 6 6
E

18 de septiembre de 2008 Eugenio Soler Galán


Contrastes de aleatoriedad (5/6)
• Contraste de rachas-2
Cuando ambos tamaños muestrales son superiores a 10 la
distribución de R es aproximadamente normal de
I parámetros:
N
D
I
C
E

18 de septiembre de 2008 Eugenio Soler Galán


Contrastes de aleatoriedad (6/6)
• Pruebas estandar que debe pasar una secuencia de bits
para que esta se considere aleatoria:
- Contraste de Kolmogorov – Smirnov
I - Prueba de frecuencia
N
- Prueba de series (prueba de los dos bits)
D
I - Prueba de póquer
C - Prueba de rachas
E - Prueba de autocorrelación

18 de septiembre de 2008 Eugenio Soler Galán


Análisis de aleatoriedad (1/4)
Como es sabido, no se dispone de ninguna prueba
matemática que asegure de forma categórica la
aleatoriedad de una secuencia de bits. No obstante, si las
I secuencias obtenidas mediante un determinado generador
N superan todas las pruebas diseñadas para tal fin, entonces
D es aceptado como generador de secuencias aleatorias. A
I continuación se presentan las pruebas fundamentales de
C aleatoriedad para dicho análisis.
E

18 de septiembre de 2008 Eugenio Soler Galán


Análisis de aleatoriedad (2/4)
Postulados de Golomb
Tienen un importante interés histórico puesto que fueron
los primeros definidos y usados para establecer las
principales condiciones necesarias para que una secuencia
I de bits pudiera ser considerada como aleatoria. No
N obstante, en la actualidad estas condiciones no se
D consideran suficientes, aunque si necesarias para poder
I aceptar como aleatoria una secuencia dada. Los postulados
C de aleatoriedad de Golomb son los siguientes:
E

18 de septiembre de 2008 Eugenio Soler Galán


Análisis de aleatoriedad (3/4)
  1.- En la secuencia binaria s de longitud n (sn), el número de
unos debe diferir del número de ceros, como máximo, en una
unidad. Puede comprobarse que se cumple este postulado
mediante el test de frecuencia o monobit.
I
N 2.- En la secuencia sn, al menos la mitad de las cadenas de
D dígitos iguales tiene longitud uno, al menos una cuarta parte de
I esas cadenas tiene longitud dos, al menos una octava parte tiene
longitud tres, etc. Además para cada una de las longitudes se
C dispone de tantas cadenas de unos como de ceros. Puede
E comprobarse que se cumple este postulado mediante el test de
series( de los dos bits), test de rachas y el test del póquer.

18 de septiembre de 2008 Eugenio Soler Galán


Análisis de aleatoriedad (4/4)
  3.- La función de correlación C(t) tiene dos valores. Esto
es, para algún valor K. Puede comprobarse que se
cumple este postulado mediante el test de
I autocorrelación.
N
D
I
C
E

18 de septiembre de 2008 Eugenio Soler Galán


El caos
• El caos aparece en situaciones muy dispares, en la
frecuencia del goteo de un grifo, en el movimiento de los
planetas, o inclusive, en el comportamiento de los
I consumidores.
N • Un ejemplo clásico es el goteo de un grifo: si el caudal es
D muy pequeño las gotas caen de forma periódica. La
I frecuencia a la a que caen las gotas se dobla si abrimos un
C poco el grifo. Cuando lo abrimos más vuelve a doblarse
E hasta que llega un momento en el que las gotas caen de
modo completamente caótico.

18 de septiembre de 2008 Eugenio Soler Galán


Conclusiones (1/3)
• Los diferentes tipos de generadores(hardware/software) de
secuencias de aleatorias, con mejores o peores propiedades
estadística, y más o menos costosos en su implementación, son
totalmente predecibles, esto los hace “no muy bondadosos” con
I propósitos de seguridad, no así para otro tipo de aplicaciones
como por ejemplo la simulación. Toda la secuencia depende de
N un valor inicial.
D
I • Que lo que en un momento dado puede ser seguro, poco después
C puede dejar de serlo, así pasa por ejemplo con la longitud de las
E llaves que se usan en el sistema RSA, que han ido aumentado
paulatinamente. Según va aumentando la velocidad de proceso
disminuye el tiempo necesario para probar todas esas llaves

18 de septiembre de 2008 Eugenio Soler Galán


Conclusiones (2/3)
• El aumento de la velocidad de proceso, unido a técnicas de
afinado que no usan todas las llaves, hacen posible que lo
que antes era “incalculable”, se obtenga en pocos segundos.
A día de hoy podemos poner a trabajar probando claves a
I miles de ordenadores con una potencia que no parecía
N imaginable hace 30 años.
D
I • Para generar la semilla de un dispositivo pseudoaleatorio
C basado en software se deben de usar eventos que estén muy
E alejados de la intervención humana, por ejemplo, el reloj, el
teclado, el ratón, el contenido de buffers de entrada y salida,
o una combinación de los anteriores.

18 de septiembre de 2008 Eugenio Soler Galán


Conclusiones (3/3)
• Para generar la cadena pseudoaleatoria se debe de hacer
uso de funciones de un solo sentido como las funciones
Hash: MD5, SHA-1,..., la función RSA, la función
logaritmo en curvas elípticas, etc
I
N
• Cualquier generador de números aleatorios tendrá que
D superar los tests estadísticos básicos. Considerando, por
I tanto, que dicho algoritmo es válido para generar
C secuencias que se pueden tomar como realmente
E aleatorias. O al menos que supera un porcentaje fijo de
test, aunque haya alguno que no pase.

18 de septiembre de 2008 Eugenio Soler Galán


Agradecimientos
A Benjamín Ramos Álvarez, que ha sido la persona que
ha permitido que este trabajo exista, a Julio Cesar
Hernández Castro y a Paloma Díaz Pérez sin cuya
I colaboración no habría podido llegar a este momento,
N académicamente hablando. Todos ellos profesores del
D departamento de Informática de la Universidad Carlos III
I de Madrid.
C
E

18 de septiembre de 2008 Eugenio Soler Galán


Referencias (1/2)
• [Alcocer et al, 2005] Alcocer Garau, Pedro M., García Carrasco, Jose M., Hernández
Encinas, L.: Revista de la asociación de Técnicos de Informática ISSN 0211-2124, nº
174, ejemplar dedicado a: IPv6. Más que un protocolo. Pp. 59-65.

• [Alvarez, 2005] Álvarez González, Francisco: Manual electrónico Métodos


I estadísticos aplicados a las auditorias sociolaborales. En http://www.uca.es/dpto
/C146/pag_personal/f_alvarez (2005). Pp. 120-121.
N
D • [Ariza et al., 2001 ] Ariza, F.J., Pinilla, C., López, R., Caridad, J.M.: Revista
Mapping ISSN 1131-9100, nº 71, 2001. Pp. 54-75. Paper Uso de la Simulación en
I Cartografía: Conceptos Básicos y aplicaciones.
C
• [Caridad, 1987] Caridad, J.M. Métodos de Estadística no Paramétrica para
E investigadores. Universidad de Córdoba.

• [Ibarra, 2004] Ibarra Onofre, Julian: Ensayos volumen XXIII, núm. 1 -Caos en el
Mercado cambiario mexicano. Aplicación de la teoría del caos en los tipos de cambio
–pp. 31-60

18 de septiembre de 2008 Eugenio Soler Galán


Referencias (2/2)
• [Lucena, 2008] Lucena López, Manuel José: Libro electrónico Criptografía y
seguridad en computadores (4ª edición). En Creative Commons (2008).

• [Miglietti, 2000] Miglietti, R.: Paper Gambling El azar en la ciencia. Pp. Todas.

I • [Molina et al., 2007] Molina Vilchis, A., Silva Ortigoza, R., y Vega Alvarado, E..:
Tercer congreso Internacional Tendencias Tecnológicas en Computación 2007,
N jueves-15 de noviembre de 2007 Paper Pruebas de Aleatoriedad para Secuencias
D Pseudos-Aleatorias. Pp. Todas.

I • [Peña, 1992] Peña Sánchez de Rivera, Daniel: Estadística Modelos y Métodos –Tomo
C 1: Fundamentos-. En Alianza Universidad Textos, (1992), pp. 521-522. Tablas test de
rachas. Pp. 360-364. Contraste x2 de Pearson. Pp.365-367. Contraste de Kolmogorov-
E Smirnov. Pp. 392-393. Contraste de rachas.

• [Ríos, 1997] Ríos, S., Simulación, Métodos y aplicaciones. Ed Ra-Ma.

18 de septiembre de 2008 Eugenio Soler Galán


Lugares WEB
• http://es.wikipedia.org/wiki/Azar
• http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060015/Lecciones/Capitulo
%20VI/metodos.htm
• http://www.lawebdefisica.com/apuntsmat/num_aleatorios/
• http://jungla.dit.upm.es/~trdt/apuntes/t1.html
I
N
D
I
C
E

18 de septiembre de 2008 Eugenio Soler Galán

También podría gustarte