stringtranslate.com

Prueba del siguiente bit

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 siguiente prueba de bits en cualquier posición de la secuencia, si cualquier atacante que conozca los primeros bits (pero no la semilla) no puede predecir el st con un poder computacional razonable.

Declaraciones precisas

Sea un polinomio y una colección de conjuntos que contengan secuencias de bits de longitud. Además, sea la distribución de probabilidad de las cadenas en .

Ahora definimos la prueba del siguiente bit de dos maneras diferentes.

Formulación de circuito booleano

Una colección de predicción [2] es una colección de circuitos booleanos , de modo que cada circuito tiene menos de puertas y exactamente entradas. Sea la probabilidad de que, al ingresar los primeros bits de una cadena seleccionada aleatoriamente con probabilidad , el circuito prediga correctamente , es decir:

Ahora, decimos que pasa la prueba del siguiente bit si para cualquier colección de predicción , cualquier polinomio  :

Máquinas probabilísticas de Turing

También podemos definir la prueba del siguiente bit en términos de máquinas probabilísticas de Turing , aunque esta definición es algo más estricta (véase el teorema de Adleman ). Sea una máquina probabilística de Turing, que trabaja en tiempo polinómico. Sea la probabilidad de que prediga correctamente el st bit, es decir

Decimos que la colección pasa la prueba del siguiente bit si para todos los polinomios , para todos menos para un número finito , 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, por lo tanto, pasarla es una condición necesaria para pasar la prueba de Yao . Sin embargo, Yao también le ha mostrado una condición suficiente . [1]

Lo demostramos ahora en el caso de la máquina probabilística de Turing, puesto que Adleman ya ha realizado el trabajo de sustituir la aleatorización por la no uniformidad en su teorema . El caso de los circuitos booleanos no puede derivarse de este caso (ya que implica decidir problemas potencialmente indecidibles), pero la demostración del teorema de Adleman puede adaptarse fácilmente al caso de familias de circuitos booleanos no uniformes.

Sea un distintivo para la versión probabilística de la prueba de Yao, es decir, una máquina probabilística de Turing, que se ejecuta en tiempo polinómico, de modo que existe un polinomio tal que para una infinidad de

Dejar . Tenemos: y . Entonces, nos damos cuenta de eso . Por lo tanto, al menos uno de ellos no debe ser menor que .

A continuación, consideramos las distribuciones de probabilidad en adelante . La distribución es la distribución de probabilidad de elegir los primeros bits con una probabilidad dada por y los bits restantes de manera uniforme y aleatoria. Tenemos así:

Por lo tanto, tenemos (un simple truco de cálculo lo muestra), por lo tanto, distribuciones y se pueden distinguir por . Sin pérdida de generalidad, podemos suponer que , con un polinomio.

Esto nos da una posible construcción de una máquina de Turing que resuelve la prueba del siguiente bit: al recibir los primeros bits de una secuencia, rellena esta entrada con una estimación de bits y luego con bits aleatorios, elegidos con probabilidad uniforme. Luego se ejecuta y genera si el resultado es y en caso contrario.

Referencias

  1. ^ ab Andrew Chi-Chih Yao . Teoría y aplicaciones de funciones-trampa. En Actas del 23º Simposio del IEEE sobre fundamentos de la informática, 1982.
  2. ^ Manuel Blum y Silvio Micali , Cómo generar secuencias criptográficamente fuertes de bits pseudoaleatorios, en SIAM J. COMPUT., vol. 13, núm. 4, noviembre de 1984