Hack x Crack - Comunidad de Seguridad informática

Hack x Crack => Dudas Generales => Mensaje iniciado por: r1ghtz0 en Abril 23, 2019, 04:00:58 am

Título: Que es por azar
Publicado por: r1ghtz0 en Abril 23, 2019, 04:00:58 am
Hace tiempo lei en un libro de informatica que nada podía ser por azar pero entonces me di cuenta de que las
funciones del lenguaje c podían recibir datos al azar ¿que piensan ustedes.?
Título: Re:Que es por azar
Publicado por: ¿RAS?L en Abril 29, 2019, 07:36:59 pm
Hace tiempo lei en un libro de informatica que nada podía ser por azar pero entonces me di cuenta de que las
funciones del lenguaje c podían recibir datos al azar ¿que piensan ustedes.?

No entiendo bien lo que quieres saber, me imagino que sea recibir datos variables, por ejemplo una secuencia de numeros al azar, que se genere dicha secuencia al azar tenendo en cuenta algunos parametros.

Pero eso se puede hacer utilizando distintos lenguajes de programación.

Bueno, al menos es lo que creo que seria lo del al azar que dices.

Salu2...
Título: Re:Que es por azar
Publicado por: animanegra en Abril 30, 2019, 09:30:04 am
En un lenguaje imperativo, osea que los que se ejecuta depende de las variables de entrada y que siempre se ejecuta lo mismo dando el mismo resultado, si, la generación de números aleatorios es algo problemática. Los ordenadores no hacen números aleatorios, hacen cadenas grandes de números pseudoaleatorios, se les introduce una semilla y a partir de esta empieza una generación de una serie definida a partir de dicha semilla.
Eso significa que si consigues la semilla, consigues toda la secuencia de números aleatorios. Esto viene por la imposibilidad de un sistema basado en reglas definidas de generar una salida diferente para las mismas variables de entrada. Hay sistemas que han usado semillas basadas en el timestamp, una de las formulas simples es usar el timestamp como semilla, para generar numeros de entrada para sistemas de seguridad. Y se han terminado por romper de forma sencilla ya que simplemente habia que tener en cuenta el rango de tiempo en el que se hacía la petición y se probaban semillas con todos los segundos dentro del mismo minuto.
Hubo un problema gordisimo por ejemplo en 2006 con debian que se flipo haciendo su propio sistema de numeros pseudoaleatorios, y todas las claves generadas (normalmente para el ssh) podían predecirse con lo que hubo un problema de seguridad brutal.
En resumen, cuidadito con pensar que los números aleatorios que genera un ordenador son realmente aleatorios. Y cuidadito con usar esas secuencias de la forma correcta, los números pseudoaleatorios ofrecen una herramienta que permite desde una semilla generar números con mucha entropia, pero no significa que si generamos numeros usando distintas semillas, una semilla para cada número como hacen algunos genios, se cumpla que entre ellos tengan entropia. Es un error bastante común.
Título: Re:Que es por azar
Publicado por: ravenheart en Mayo 05, 2019, 08:56:22 am
Bueno, eso es cierto en general, pero los micros modernos (intel y AMD) llevan un auténtico generador de números aleatorios integrado.

https://en.wikipedia.org/wiki/RdRand

No obstante, C no genera números realmente aleatorios.


Hace tiempo lei en un libro de informatica que nada podía ser por azar
Eso no es del todo exacto. Un generador de entropía muy lento (22 kilobits por segundo, algo más según el micrófono) se puede hacer de la siguiente manera: conectas un micrófono al ordenador, y te
quedas con el bit menos significativo de cada muestra. Tiene algunos problemas pero a grandes rasgos funciona.