Para fijar las ideas, suponga que está sentado a la mesa con unos amigos, entre los que hay una pareja embarazada. Saben, pero quieren mantenerlo en secreto, si su hijo será niño o niña, por lo que utilizan el pronombre neutro de género "eso" al referirse al niño. En algún momento de la conversación, uno de los miembros de la pareja utiliza un pronombre específico de género. Tú eres el único que se da cuenta, y en ese momento estás seguro de que conoces el secreto. Nadie más sabe que lo sabes.
Le cuentas a la pareja lo que le has oído decir, pero no te creen. Quieres convencerles de que sabes el sexo, pero por respeto a su secreto no quieres contarlo de inmediato para que todo el mundo se entere. Llamemos "protocolo" al supuesto procedimiento para convencerles.
Aclaraciones y restricciones
- Secreto" significa aquí el género del niño.
- Toda la comunicación es pública. No puedes susurrarles al oído.
- El protocolo no debería confirmar que está en lo cierto. La pareja no sabe que tú conoces el secreto, y no quiere que el protocolo te dé información sobre si tu "conjetura" (como ellos la perciben) es correcta o no: si sólo pretendieras saberlo, dar información podría filtrarte el secreto.
Todo lo que quieres es convencerlos.
Pregunta 1. ¿Es posible convencerles de que conoces el secreto, sin filtrar el secreto a nadie más, y de tal manera que si sólo pretendieras saberlo, no obtendrías ninguna información a través del protocolo?
Hay dos interpretaciones posibles de "convincente", que conducen a dos preguntas diferentes:
- ¿Es posible decirles simplemente cuál es el secreto, pero encriptando el mensaje para que sólo ellos puedan leerlo? Parece que habría que encriptar el secreto utilizando el propio secreto, ya que toda comunicación es pública...
- ¿Es posible convencerlos al estilo de un Prueba de conocimiento cero ¿ lo que significa que, si suena convincente, sólo hay una probabilidad insignificante de que esté adivinando?
Ten en cuenta que en 1. pueden pensar que sólo tienes suerte de acertar (dependiendo de cómo funcione el protocolo).
Quizá sólo sea posible si el secreto no es binario:
Pregunta 2. ¿Y si el secreto puede tomar más de 2 valores, por ejemplo cuando puede ser cualquier número real?
Intento/ejemplo
Algo que se me ocurrió fue utilizar un dispositivo que emita por cada cadena de entrada otra, única, fija y elegida al azar. Entonces tú y la pareja introduciríais cada uno el secreto, y si el dispositivo emite dos veces la misma cadena, significa que has acertado.
El problema con esto es que, si no fuera correcto, lo sabrías, y como el secreto sólo puede tomar dos valores, se te filtra. Y si la salida sólo se muestra a la pareja, no es esencialmente diferente de susurrarle el secreto, es decir, la comunicación ya no es pública.
Sin embargo, esto proporciona una solución aceptable si el secreto puede ser cualquier número real (o puede tomar infinitos valores): es prácticamente imposible de adivinar, y una conjetura errónea no le da esencialmente ninguna información.
1 votos
Si sólo hay 2 valores, entonces es imposible distinguir entre alguien que conoce el secreto, y alguien que adivinó correctamente.
0 votos
Hmm sí... Por otra parte, parte de la cuestión es si es posible (públicamente) hacer una conjetura.