Hace 8 años | Por jm22381 a arstechnica.com
Publicado hace 8 años por jm22381 a arstechnica.com

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: http://goo.gl/eAni0w

Comentarios

Mister_Lala

int iFila = Math.Ramdom(2);

Boleteria

#1 Uncaught TypeError: Math.Ramdom is not a function

derethor

#1 con tu código, mirando un rato la fila, puedes predecir si va a tocar en la izquierda o en la derecha. Es criptografía básica, porque Random es un "Linear congruential generator", donde el valor se basa en el anterior.

Mister_Lala

#6 Bueno, pues que me paguen $40.000 solamente, entonces.

D

La aplicación TSA Randomizer iPad simplemente apunta hacia la fila de pre-verificación izquierda o derecha de manera aleatoria

esa app ya existe desde hace mucho y es gratis, se llama Coin Fleep

https://itunes.apple.com/en/app/coin-flip-free/id299847543?mt=8

D

Pregunto desde la ignorancia y por curiosidad. ¿Conseguir números realmente aleatorios no es muy jodido en informática? ¿Se puede solucionar por software?

D

#5 El tema es que para según qué funcionalidad los vayas a utilizar te sirven los pseudoaleatorios o no.

https://en.wikipedia.org/wiki/Random_number_generation#.22True.22_vs._pseudo-random_numbers

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...

derethor

#5 Según el uso que le vayas a dar, se usan unas técnicas u otras.

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

D

#5 soy ingeniero de pcs, los numeros realmente aleatorios se consiguen de manera analógica, con un generador de ruido blanco, el cual está conectado a una puerta lógica que saca un 1 o un 0 y es la unica manera que tenemos de generar aleatorios de calidad.

Los ingenieros superiores de informática e incluso los licenciados en matemáticas son incapaces de resolver el problema, para eso estamos los de fp

porque las matemáticas, a la hora de la verdad, no resuelven los problemas reales sino solo son pajas mentales para autistas

D

#12 ¿Ingeniero de PCs en FP?

D

#13 empecé con un curso CCC de informática donde daban conceptos clave como discos flexibles ,ms-dos , tipos de memoria de solo lectura y solo escritura, y despues un ciclo superior donde ya nos metian programación en quickbasic 4.5 y las ciberautopistas de la información. Acabé el año pasado y ya tengo trabajo

D

#14 Sigues sin ser un ingeniero. Así nunca honrarás a tu familia.

jabujavi

#12 Recoge la bilis y cierra al salir.

D

Cualquier calculadora barata ya saber hacer esto.

EmiHermes

Pues ya que vamos a por precios, yo la hubiese hecho por la mitad, y luego hubiese pagado la mitad a un becario recién salido para que la hiciese!!!

dphi0pn

#include
int iFila = Math.Ramdom(2);
printf("%dn", iiFila);

Y te habrías ganao 47000 $