Protocolo Fiat-Shamira

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de diciembre de 2020; la verificación requiere 1 edición .

El protocolo Fiat-Shamir es uno de los protocolos de identificación de conocimiento cero  más conocidos . El protocolo fue propuesto por  Amos Fiat y Adi Shamir 

Hágale saber a A algunos secretos . Es necesario demostrar el conocimiento de este secreto a alguna parte B sin revelar ninguna información secreta. La seguridad del protocolo se basa en la dificultad de extraer la raíz cuadrada módulo de un número compuesto n suficientemente grande cuya factorización se desconoce.

Descripción del protocolo

A le demuestra a B que sabe s en t rondas. La ronda también se llama acreditación. Cada acreditación consta de 3 etapas.

Acciones preliminares

Mensajes transmitidos (etapas de cada acreditación)

Acciones básicas

Las siguientes acciones se realizan secuencial e independientemente t veces. B considera probado el conocimiento si todas las rondas fueron exitosas.

La elección de e del conjunto {0,1} implica que si la parte A realmente conoce el secreto, siempre podrá responder correctamente, independientemente de la elección de e . Digamos que A quiere engañar a B. En este caso, A , solo puede responder a un valor específico de e . Por ejemplo, si A sabe que obtendrá e = 0, entonces A debe actuar estrictamente de acuerdo con las instrucciones y B aceptará la respuesta. Si A sabe que recibirá e = 1, entonces A elige una r aleatoria y la envía al lado B , como resultado obtenemos la deseada . El problema es que A inicialmente no sabe qué e recibirá y por lo tanto no puede con un 100% de probabilidad enviar al lado B la r y la x necesarias para engañar ( para e = 0 y para e = 1). Por lo tanto, la probabilidad de hacer trampa en una ronda es del 50%. Para reducir la probabilidad de hacer trampa (es igual a ) t se elige suficientemente grande ( t =20, t =40). Por lo tanto, B se asegura de que A sepa si y solo si todas las t rondas han tenido éxito.

Ejemplo

Dónde

Si e era igual a 0, entonces Confirmado.

De lo contrario,

y Confirmado.

Literatura