Este documento trata sobre generación de secuencias aleatorias y pseudoaleatorias, y sus aplicaciones en criptografía, finanzas y otros campos. Explica métodos para generar números aleatorios usando funciones y registros de desplazamiento, así como generadores como Dual EC que han demostrado vulnerabilidades. También cubre temas como estimación de poblaciones usando algoritmos de Monte Carlo, precios de derivados financieros, y detección de objetos mediante radar usando señales aleatorias.
Secuencias, un número detrás de otro - Dr. Domingo Gómez Pérez
1. Secuencias, un número detrás de otro
Domingo Gómez Pérez
Facultad de Ciencias
Universidad de Cantabria
Universidad Complutense de Madrid, 2016
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 1 / 46
2. ¿Qué es la aleatoriedad?
Idea de la definición
Una secuencia de números es aleatoria con una cierta distribución si
cada elemento es obtenido al azar, independientemente del resto y
tiene una cierta probabilidad de estar en un cierto rango.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 2 / 46
3. El sorteo del servicio militar obligatorio de 1997
El proceso para determinar quienes formaban excedente era el
siguiente:
Cada aspirante recibía un número entre 1 y 165.342.
Se extraían bolas de seis bombos diferentes.
Si alguna extracción daba un número fuera de rango, se repetía la
extracción.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 3 / 46
4. El sorteo del servicio militar obligatorio de 1997
El proceso para determinar quienes formaban excedente era el
siguiente:
Cada aspirante recibía un número entre 1 y 165.342.
Se extraían bolas de seis bombos diferentes.
Si alguna extracción daba un número fuera de rango, se repetía la
extracción.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 3 / 46
5. El sorteo del servicio militar obligatorio de 1997
El proceso para determinar quienes formaban excedente era el
siguiente:
Cada aspirante recibía un número entre 1 y 165.342.
Se extraían bolas de seis bombos diferentes.
Si alguna extracción daba un número fuera de rango, se repetía la
extracción.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 3 / 46
6. Secuencias y Criptografía
Se necesitan muchos números aleatorios:
Generación de parámetros aleatorios.
Transport Layer Security.
Firmas digitales.
DSA.
ElGamal.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 4 / 46
12. ¿Cómo podemos generar secuencias aleatorias?
. . . 101 . . .
f
. . . 000 . . .
g
salida0
f . . . . . . . . .
g
salida1
f . . . . . . . . .
g
salida2
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 10 / 46
13. El k-generador de números pseudoaleatorios
Generador de números aleatorios que contiene:
Saltos condicionales dependiendo del valor de ciertos registros.
Sumas, restas, complemento base 10.
Selección de cifras.
¡Las secuencias convergían al número 6065038420!
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 11 / 46
14. El k-generador de números pseudoaleatorios
Generador de números aleatorios que contiene:
Saltos condicionales dependiendo del valor de ciertos registros.
Sumas, restas, complemento base 10.
Selección de cifras.
¡Las secuencias convergían al número 6065038420!
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 11 / 46
15. Generadores de números pseudoaleatorios
(usados en Criptografía)
Teóricos (basados en la máquina Turing Universal, BBS,. . .).
Basados en registros de desplazamiento (LFSR).
RC4.
Generador Dual EC.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 12 / 46
16. El generador Dual EC
Basado en curvas elípticas.
Estandarizado por el NIST, ANSI y ISO.
Diseñado para ser seguro para “muchos”, no todos.
La vulnerabilidad fue patentada antes de ser pública.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 13 / 46
17. El generador Dual EC
Basado en curvas elípticas.
Estandarizado por el NIST, ANSI y ISO.
Diseñado para ser seguro para “muchos”, no todos.
La vulnerabilidad fue patentada antes de ser pública.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 13 / 46
18. Kleptography
La kleptography trata de:
Esconder información en textos cifrados.
Permitir puertas traseras a criptosistemas seguros para usos
legítimos.
No debilitar los criptosistemas que implementan esto.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 14 / 46
19. Esteganografía
La Esteganografía trata de:
Esconder información a la vista de todo el mundo.
Utilizar canales inseguros para transmitir información de forma
segura.
Promover comunicación anónima.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 15 / 46
20. Marcas de agua
Las marcas de agua tratan de:
Permitir la recuperación de información en medios digitales.
No degradar la información que se transmite.
Ser resistentes a ataques.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 16 / 46
21. Marcas de agua
Usos:
Monitorizar obras con derechos de autor.
Medir audiencias.
Demostrar modificación.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 17 / 46
22. Modelización
Las imágenes se modelan como arrays multidimensionales, a las que
se embebe una marca de agua:
I : Nn
→ {0, 1}
i → . . . .
s : Nn
→ {0, 1}
i → . . . .
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 18 / 46
23. Características de las marcas de agua
Deben ser posibles generar eficientemente.
Deben de ser difíciles de predecir.
Deben poder ser detectadas en presencia de “ruido”.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 19 / 46
25. Moreno-Tirkel Multidimensional Watermarks
Esta familia de arrays tiene las siguientes características:
Baja autocorrelación.
Tienen buena complejidad lineal.
Resistencia al ruido.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 21 / 46
27. Algoritmo Monte Carlo
Los algoritmos (o métodos) Monte Carlo son algoritmos que
devuelven un resultado basado en muestreos aleatorios.
No se devuelve siempre el mismo resultado.
No se tiene certeza del resultado.
Si no tienen sesgo, puede hallarse aproximaciones tan buenas
como queramos.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 23 / 46
28. Algoritmo Monte Carlo
Problema
Dada la medición, hallar una fórmula para la desviación esperada sin
ninguna suposición adicional.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 24 / 46
29. Algoritmo Monte Carlo
Cruz, Gomez, Cruz-Orive. Efficient and Unbiased Estimation of Population Size.
Dividir una rejilla con cuadrados de lado T.
Dentro de ese cuadrado, tomar un cuadrado pequeño de lado t.
Lanzarlo sobre la figura y contar el número de personas dentro de
cuadrados.
Multiplicar ese número de personas por (T/t)2.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 25 / 46
31. Algoritmo Monte Carlo
Cruz, Gomez, Cruz-Orive. Efficient and Unbiased Estimation of Population Size.
Nuestra contribución:
Proponer una regla de conteo sin sesgo.
Dar una estimación del error en base a la sucesión de personas
en cada cuadrado.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 27 / 46
32. Algoritmos probabilistas para estimación de longitudes
Muchas veces, necesitamos saber propiedades geométricas de
curvas, como por ejemplo, la longitud. En este caso, el problema es
mucho más difícil:
¿Donde empieza y acaba la curva?
¿Qué forma parte de la curva?
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 28 / 46
33. Moléculas de DNA
Podestà et al. Atomic force microscopy study of DNA deposited on poly L-ornithine
mica
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 29 / 46
34. Algoritmo probabilista
El siguiente algoritmo aproxima la longitud de la curva:
Dibujar una rejilla con separación T,
poner la curva encima de la rejilla con orientación arbitraria,
calcular el número total de intersecciones I,
la estimación es L = π/4TI.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 30 / 46
35. Algoritmo probabilista
T = 37nm (Longitud real de la curva 416nm)
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 31 / 46
36. Matemáticas financieras
Hecho
80% de las operaciones bursátiles son automáticas.
Hecho
No existe un modelo suficientemente simple que determine las
subidas y bajadas en la bolsa.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 32 / 46
37. Matemáticas financieras
Precios en derivados financieros
Bono: paga un interés especificado.
Acción: participación en una empresa.
Contingente financiero: instrumento cuyo valor es determinado
por otros instrumentos.
European Call Option (premium).
Asian Call Option.
Cash-or-Nothing Option.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 33 / 46
38. Matemáticas financieras
Precios en derivados financieros
Ofertamos un contingente financiero, ¿cuál es el precio justo?
Hipótesis del mercado eficiente.
Las acciones no tienen dividendos.
Las transacciones son inocuas.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 34 / 46
39. Matemáticas financieras
Precios en derivados financieros
Ofertamos una European Call Option, ¿cuál es el precio justo?
Una acción que vale 1, y en un año puede valer 2 o 1/2.
Queremos poner un premium de 1 euro.
El precio justo parece ser 1/2 euro.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 35 / 46
40. Arbitraje
Vendemos 4 European Call Options a 1/2 y compramos tres
acciones.
Si las acciones bajan, ganamos 1/2.
Si las acciones suben, ganamos 1 euro.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 36 / 46
41. Arbitraje
Vendemos 4 European Call Options a 1/2 y compramos tres
acciones.
Si las acciones bajan, ganamos 1/2.
Si las acciones suben, ganamos 1 euro.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 36 / 46
42. Arbitraje
Vendemos 4 European Call Options a 1/2 y compramos tres
acciones.
Si las acciones bajan, ganamos 1/2.
Si las acciones suben, ganamos 1 euro.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 36 / 46
43. Precio justo
Existe una fórmula para hallar el precio bajo ciertas restricciones.
[0,1)s
f(x)dP.
una primera aproximación es:
[0,1)s
f(x)dP ≈
1
N
N
i=1
f(xi).
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 37 / 46
44. Métodos quasi Montecarlo
Los métodos quasi Montecarlo se basan en buscar buenos puntos
para evaluar la integral.
Son uniformemente distribuidos.
Pueden ser generados eficientemente.
Deben ajustarse a diferentes hipótesis sobre las funciones a
evaluar.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 38 / 46
45. Métodos quasi Montecarlo
Hemos propuesto nuevas secuencias de puntos:
Secuencias basadas en polinomios sobre cuerpos finitos.
Secuencias de puntos híbridas.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 39 / 46
46. Radar
La idea para detectar objetos es la siguiente:
Emitir señales.
Recibir la señal emitida.
Calcular el retardo.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 40 / 46
51. Barker sequences
Una secuencia de Baker (Baker sequence) es una secuencia para la
cuál las correlaciones son todas a lo sumo 1.
Existen hasta longitud 13.
No existen para longitudes menores que 1012.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 45 / 46
52. Secuencias y otras áreas
Secuencias utilizadas en criptografía tienen malas propiedades.
Pero arryas utilizados en esteganografía se pueden utilizar.
Aunque búsquedas por ordenador muestran que son lejos de ser
óptimas.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 46 / 46
53. Secuencias y otras áreas
Secuencias utilizadas en criptografía tienen malas propiedades.
Pero arryas utilizados en esteganografía se pueden utilizar.
Aunque búsquedas por ordenador muestran que son lejos de ser
óptimas.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 46 / 46
54. Secuencias y otras áreas
Secuencias utilizadas en criptografía tienen malas propiedades.
Pero arryas utilizados en esteganografía se pueden utilizar.
Aunque búsquedas por ordenador muestran que son lejos de ser
óptimas.
Domingo Gómez Pérez (UC) Secuencias Madrid, 2016 46 / 46