16 meneos
39 clics
La TSA gastó 47.000 $ en una aplicación que simplemente elige al azar a los pasajeros (ING)
La Administración de Seguridad en el Transporte (TSA) necesitaba una aplicación para elegir pasajeros a los que inspeccionar de manera aleatoria, para evitar criticas sobre racismo. La aplicación TSA Randomizer iPad simplemente apunta hacia la fila de pre-verificación izquierda o derecha de manera aleatoria, algo que incluso un codificador novato escribiría en 10 minutos. Los documentos mostraron un precio de 1.4 millones de $. Sin embargo, la TSA ha aclarado que la aplicación sólo les costó 47.000 $. En español: goo.gl/eAni0w
|
comentarios cerrados
esa app ya existe desde hace mucho y es gratis, se llama Coin Fleep
itunes.apple.com/en/app/coin-flip-free/id299847543?mt=8
en.wikipedia.org/wiki/Random_number_generation#.22True.22_vs._pseudo-r
Más menos explica que los pseudoaleatorios se generan a partir de un número pequeño llamado semilla realizando sobre ella una serie de operaciones. El problema es que genera un rango de números finito y que se podría descubrir la secuencia de creación por lo que se podría adivinar qué número sería el próximo. Esto sería un problema para la seguridad de algunos programas.
En este caso no creo que haga falta tal nivel de aleatoriedad...
int iFila = Math.Ramdom(2);
printf("%dn", iiFila);
Y te habrías ganao 47000 $
1,1,1,1,1,1,1,1,1,1,1,1,,1,1,1,1... es una secuencia random.
Pero para simulaciones, por ejemplo, random más bien es "arbitrario". Es importante que todos los valores tengan la misma probabilidad de salir. Más bien, que si lanzamos el dado infinitas veces, salgan todos los numeros de forma uniforme (white noise). Y además, lo ideal es que salgan separados para que rápidamente podamos evaluar todo el dominio de las funciones (blue noise)
En criptografía, random quiere decir que es imposible predecir cual es el siguiente número (que es lo que necesita la TSA) y basicamente es imposible de generar con un algoritmo. Lo que haces son generar secuencias, que en algun momento empiezan, y lo que es peor, en algun momento se repiten. Los algoritmos de criptografía más avanzados tienen periodos enormes y necesitas millones de muestras para descubrir donde estas en la secuencia, pero eventualmente, se podria descubrir.
Generalmenten necesitas una fuente de "entropia". Linux usa por ejemplo eventos del tipo movimientos del raton o cosas asi (puedes mirar /dev/urandom) pero siempre podrás encontrar algun tipo de patron (he visto papers que hackean los moviles, presupone que el movil está en la misma mesa donde está el teclado, y usando el sensor de movimiento del movil, son capaces de detectar la vibración del teclado, ver el patron de las teclas escritas, y predecir la base de entropia)
Usar metodos fisicos no es nada sencillo tampoco. Sitios como random.org usan ondas de radio, y hay generadores por hardware que usan un efecto que tienen los diodos al descargarse. Pero este tipo de metodos sufren a cambios externos (un atacante podria generar ruido de radiofrecuencia cerca de las oficinas de random.org, o podrias calentar los diodos para generar patrones en los numeros). Hay generadores que se basan en emisiones de isotopos, que creo que no es facil de manipular, pero a tanto ya no llego