Las pruebas genéricas de aleatoriedad son " Diehard suite ", pero no garantiza la seguridad . Estas son pruebas que detectan sesgos en la salida de PRNG. La seguridad consiste en derrotar a los atacantes inteligentes que conocen los detalles internos del software que utiliza y pueden pensar mucho; las pruebas estadísticas son autómatas sin sentido que solo encuentran las desviaciones más evidentes de la aleatoriedad pura. Entonces, si un conjunto de estadísticas como las pruebas de Diehard encuentra algo extraño con su RNG, entonces el PRNG es definitivamente malo; pero si las pruebas no encuentran nada, simplemente no sabes si el PRNG es bueno o no.
Una "caja negra" es la representación conceptual de un algoritmo completamente desconocido. Esto no ocurre a menudo en la práctica; Podría decirse que nunca ocurre. El algoritmo implementado por una "caja negra" es siempre conocido o potencialmente conocido, aunque solo sea identificando al desarrollador y asaltando sus cajones una noche. Esa es más o menos la idea detrás de principio de Kerckhoffs . Dado que la "situación de caja negra ideal" no ocurre en la práctica, no existe una "metodología comúnmente aplicada". O, si lo prefiere, la metodología comúnmente aplicada contra las cajas negras es abrir la caja para que deje de ser negra.
Un ejemplo histórico bien documentado es el cryptanalysis of the Enigma . Los criptógrafos polacos que rompieron las primeras versiones militares hicieron muchas suposiciones, pero también conocían las versiones "comerciales" de las que se derivaba el Enigma militar, y esto les ayudó mucho. Durante el curso de la Guerra, se dedicó un gran esfuerzo a la captura de máquinas y llaves reales, esa es la analogía de "abrir la caja", y funcionó.