viernes, 12 de septiembre de 2014

Pseudoaleatoridad


Aleatoriedad vs pseudoaleatoridad

 
Se puede generar números verdaderamente aleatorios mediante la medición de las fluctuaciones aleatorias conocidas como “ruido”, cuando medimos este ruido como muestreo, se pueden obtener números, por ejemplo si se miden la corriente eléctrica de la televisión estática con el tiempo, se generara una secuencia de números realmente aleatoria,  esta secuencia aleatoria se puede visualizar si se grafica como un camino, que va desde su número anterior hacia su siguiente número, en este camino podremos observar que este no tiene un patrón en específico y la ruta es verdaderamente “aleatoria” (gif de ejemplo) http://makeagif.com/CHrZ6d


Los procesos aleatorios como este son No Deterministas ya que es imposible determinar cuál sería el siguiente número aleatorio, mientras que una computadora son deterministas, porque su funcionamiento es predecible y repetitivo.
 En 1946 John von Neumann desarrolló un algoritmo para simular mecánicamente los números aleatorios, primero se seleccionaba un número realmente aleatorio llamado “semilla” (seed en inglés) este puede provenir de los ruidos del ambiente, o de la hora especifica (no es tan importante el cómo se obtenga este número, lo importante es que sea de una fuente realmente aleatoria), después esta “semilla” se introduce como entrada a una simple ecuación en donde se multiplicaba por sí mismo y el resultado era la mitad de este nuevo número (ejemplo 121*121= 14641 à nuevo número= 464), después este nuevo número se usa como semilla y se repite el proceso tantas veces sea necesario, a este algoritmo se le conoce como el método de los cuadrados medios y es un algoritmo de pseudoaleatoriedad ; es uno de muchos métodos de este tipo (en su gran mayoría se usa una forma similar para generar números aleatorios) .
El problema con este tipo de algoritmos es que la aleatoriedad de la secuencia depende de la aleatoriedad de la semilla; es decir misma semilla, misma secuencia.
Las diferencias entre un generador de números realmente aleatorios (como el ruido) y un generador de pseudoaleatoriedad, si las dos las representamos gráficamente (como el ejemplo anterior) al principio parecen similares, pero si seguimos generando números aleatorios de formar pseudoaleatoria esta eventualmente se va a repetir, esto sucede porque el algoritmo eventualmente llegara a una semilla que ya había utilizado anteriormente y el ciclo se repetirá (en el siguiente gif se representa el camino blanco como una fuente realmente aleatoria y el camino azul por una fuente pseudoaleatoria) http://makeagif.com/tXv0lU


La longitud antes de que un algoritmo pseudoaleatorio se repita se llama “periodo”, este se limita única y exclusivamente por la semilla inicial, por ejemplo si se usa una semilla de 2 digitos este algoritmo podrá producir máximo 100 números antes de que se repita esta misma semilla y se repita el ciclo, una semilla de 3 dígitos puede producir máximo 1000 números antes de generar la misma semilla y repetir el ciclo.
Así con forme aumentamos la longitud de la semilla se aumentan la seguridad de que alguien no pueda adivinar el siguiente número, es claro que con el tiempo sería posible para una computadora calcular millones de posibilidades para poder dar con esa semilla, pero entre más grande el numero asumimos que es relativamente seguro debido a la cantidad de tiempo que tendría que pasar una computadora calculando con las semillas, un ejemplo para que se entienda mejor, es como si dejamos nuestra bicicleta con un candado de combinación de 4 dígitos 



sabemos que si alguien tiene el suficiente tiempo eventualmente podrá probar todas las posibles combinaciones de la contraseña hasta que la adivine, pero se puede asumir que para un lapso de un par de horas esta estará segura, porque no hay muchas probabilidades que alguien adivine la contraseña en tan corta cantidad de tiempo, algo similar sucede con los algoritmos pseudoaleatorios ,pero mientras las computadoras sigan siendo cada vez más rápidas es importante que la cantidad de bits que se dedican a generar las semillas también incrementen.
Bibliografías:

2 comentarios:

  1. Possible causes of deduction:

    a) -1 discussion of the properties required in crypto poor/absent.
    b) -1 discussion of adequate sources of randomness poor/absent.
    c) -1 discussion implications in information security poor/absent.
    d) -1 poor spelling / grammar.
    e) -1 reflection of own judgment poor/absent.
    f) -1 missing or poorly formatted bibliography and/or citations within text.
    g) -1 unfinished segments present within the entry.

    Aspects possibly resulting to bonus:

    A) Written in English.
    B) Additional posts on topics related to the course.

    Maximum points available for the report were seven.

    In your case, the following deductions apply: a, d.

    Also, the following bonuses apply: None.

    The number of points received is thus min{7 - 2 + 0, 7} = 5.

    Corrections:

    Aprende a puntuar y dividir frases de forma fluida. Presta atención a los espacios blancos alrededor de símbolos de puntuación (que ni falten ni sobren). Presta atención a los acentos.

    ResponderEliminar
  2. Hoy es la fecha límite de DH. Si lo subes antes de las tres de la tarde, mándame un correo al Gmail con la URL directa. Si no llega nada, será un NP.

    ResponderEliminar