En criptografía y teoría de la computación , la prueba del siguiente bit [ 1 ] es una prueba contra generadores de números pseudoaleatorios . Decimos que una secuencia de bits pasa la prueba del siguiente bit para cualquier posición.en la secuencia, si algún atacante que conoce elLos primeros bits (pero no la semilla) no pueden predecir elcon una capacidad de cálculo razonable.
Declaración(es) precisa(s)
Dejarsea un polinomio, ysea una colección de conjuntos tal quecontieneSecuencias de -bits de longitud. Además, deje quesea la distribución de probabilidad de las cadenas en.
Ahora definimos la prueba del siguiente bit de dos maneras diferentes.
Formulación de circuitos booleanos
Una colección predictiva [ 2 ]es una colección de circuitos booleanos , de tal manera que cada circuitotiene menos depuertas y exactamenteentradas. Dejesea la probabilidad de que, en la entrada elprimeros fragmentos de, una cadena seleccionada aleatoriamente encon probabilidad, el circuito predice correctamente, es decir :
Ahora decimos quesupera la prueba del siguiente bit si para cualquier colección predictivacualquier polinomio :
Máquinas de Turing probabilísticas
También podemos definir la prueba del siguiente bit en términos de máquinas de Turing probabilísticas , aunque esta definición es algo más fuerte (véase el teorema de Adleman ). SeaSea una máquina de Turing probabilística, que funcione en tiempo polinomial .sea la probabilidad de quepredice elst bit correctamente, es decir
Decimos que esa colecciónsupera la prueba del siguiente bit si para todos los polinomios, para todos excepto para un número finito de personas, para todos:
Completitud de la prueba de Yao
La prueba del siguiente bit es un caso particular de la prueba de Yao para secuencias aleatorias, y superarla es, por lo tanto, una condición necesaria para superar la prueba de Yao . Sin embargo, Yao también ha demostrado que es una condición suficiente . [ 1 ]
Ahora lo demostramos en el caso de la máquina de Turing probabilística, ya que Adleman ya realizó el trabajo de reemplazar la aleatorización por la no uniformidad en su teorema . El caso de los circuitos booleanos no se puede derivar de este caso (ya que implica la resolución de problemas potencialmente indecidibles), pero la demostración del teorema de Adleman se puede adaptar fácilmente al caso de familias de circuitos booleanos no uniformes.
Dejarser un elemento distintivo para la versión probabilística de la prueba de Yao, es decir, una máquina de Turing probabilística, que se ejecuta en tiempo polinomial, de tal manera que existe un polinomialde tal manera que para infinitos
Dejar. Tenemos:y. Entonces, observamos que. Por lo tanto, al menos uno de losno debe ser menor que.
A continuación, consideramos las distribuciones de probabilidad.yen. Distribuciónes la distribución de probabilidad de elegir elprimeros fragmentos encon probabilidad dada pory elLos bits restantes se distribuyen uniformemente al azar. Por lo tanto, tenemos:
Por lo tanto, tenemos(un sencillo truco de cálculo lo demuestra), por lo tanto, las distribucionesyse puede distinguir porSin pérdida de generalidad, podemos suponer que, conun polinomio.
Esto nos da una posible construcción de una máquina de Turing que resuelve la prueba del siguiente bit: al recibir elprimeros bits de una secuencia,rellena esta entrada con una suposición de bity luegobits aleatorios, elegidos con probabilidad uniforme. Luego se ejecutay resultadossi el resultado es, ydemás.
Referencias
- 1 2 Andrew Chi-Chih Yao . Teoría y aplicaciones de las funciones de puerta trasera . En Actas del 23.er Simposio IEEE sobre Fundamentos de la Informática, 1982.
- ↑ Manuel Blum y Silvio Micali , Cómo generar secuencias criptográficamente seguras de bits pseudoaleatorios, en SIAM J. COMPUT., Vol. 13, No. 4, noviembre de 1984
- Generadores de números pseudoaleatorios