Prueba de conocimiento cero (CKP). Criptografía

La criptografía es el “arte y técnica de escribir con procedimientos o claves secretas o de un modo enigmático, de tal forma que lo escrito solamente sea inteligible para quien sepa descifrarlo”. En dos palabras “escritura oculta”.

En criptografía,  un protocolo de conocimiento cero o prueba de conocimiento nulo (CKP, Zero Knowledge Proof),  establece un método para que una de las partes pruebe a otra que una declaración (generalmente matemática) es cierta, sin revelar nada más que la veracidad de la declaración.

Estamos en la era de la informática, el uso masivo de comunicaciones digitales lleva a un creciente problema de seguridad. Tenemos que evitar que las transacciones que realizamos a través de la red puedan ser captadas.

En esta línea la criptografía se encarga del estudio de algoritmos para proteger la información y las comunicaciones entre varias entidades.Prueba de conocimiento cero (CKP). Criptografía

Los algoritmos son un grupo determinado de secuencias lógicas y ordenadas que nos permiten solucionar un determinado problema.  El más básico y conocido es el algoritmo que permite descomponer un número muy alto en sus divisores y así calcular el máximo común divisor. Los pasos son lógicos y consecutivos, hasta llegar a la solución final.

Los criptógrafos  usan estas técnicas matemáticas avanzadas como una secuencia de instrucciones  que conducen a realizar una operación con  la informática. Y eso nos lleva a la programación.

Objetivos de una prueba de conocimiento cero

La prueba de conocimiento cero es un método interactivo para que un ente “A” pruebe a otro “B”  que una declaración es verdadera, sin afirmar nada más. Esto lleva a que aparezca un “Probador” y un “Verificador” y establezcamos un protocolo a seguir con las siguientes propiedades:

  • Totalidad: si la declaración es correcta el “verificador” fiable quedará convencido de lo que dice el “probador”que también es fiable.
  • Solvencia: si la declaración es falsa, no hay ningún “probador” engañoso que pueda probar al “verificador” que es verdadera. La probabilidad de error es muy baja.
  • Conocimiento cero: si la declaración es verdadera, no hay ningún “verificador”engañoso que aprenda otra cosa que ese hecho.  En este punto tenemos pruebas de autenticación en donde una parte quiere probar su identidad a la otra a través de alguna información secreta, pero no quiere que el segundo conozca nada del secreto.

Pasos de una prueba de conocimiento cero

  1. El probador da un mensaje de compromiso.
  2. A continuación planteamos un desafío dado por el verificador.
  3. Finalmente el probador da una respuesta al desafío.

Esto se puede hacer tantas veces como se quiera y dependiendo de las respuestas se puede aceptar o no la prueba.

Ejemplo: La cueva de Alí BabáPrueba de conocimiento cero (CKP). Criptografía

Filo (el probador) quiere demostrarle  a Samu (el verificador) que ella conoce las palabras secretas que abren la puerta C-D en la cueva pero sin decirle el secreto.  En realidad lo quiere convencer haciendo lo siguiente:

  • Filo toma   el camino A o B y puede que llegue a C o a D.
  • Pepe se dirige por B hacia el punto D y  Filo aparece en D.
  • Si Filo tomó el camino B, no tiene que conocer las palabras secretas que abren la puerta C-D habría sólo una probabilidad  del 50% de que necesitara  conocer el secreto para abrir la puerta.
  • Por tanto Pepe puede que la crea o no.
  • Si Filo fue por el camino A necesita conocer el secreto para aparecer por el lado D y encontrarse con Pepe.

Si Filo realmente conoce el secreto, no importa cuántas veces se repita el proceso siempre saldrá del lado correcto. Pero cada vez que repetimos la prueba la probabilidad de que necesite el secreto disminuye de la forma siguiente:

  • La primera vez que se hace hay un 50% de probabilidad de necesitar saber el secreto.
  • La segunda vez hay un 50% multiplicado por otro 50%  que resulta ser un 25% .
  • La tercera vez que hace la prueba hay un 12,5% y así sucesivamente va disminuyendo la probabilidad de que necesite saber el secreto para abrir la puerta.
  • Lo que indica que a mayor número de veces que se realice la probabilidad tiene a ser nula.

 

0 comments on “Prueba de conocimiento cero (CKP). CriptografíaAdd yours →

Deja un comentario