Blum, Micali y Feldman (BFM) presentaron un nuevo modelo (criptográfico), en el que todas las partes (honestas o adversas) tienen acceso a alguna cadena. Se supone que la cadena se selecciona de acuerdo con alguna distribución (generalmente, distribución uniforme) por una parte confiable. Se llama la cadena de referencia , y el modelo se llama acertadamente el modelo de cadena de referencia común (CSR).
El modelo nos permite realizar muchos protocolos interactivos interesantes de manera no interactiva , reemplazando consultas por bits de la cadena de referencia. En particular, las pruebas de conocimiento cero para cualquier lenguaje NP pueden realizarse de forma no interactiva, dando lugar a la noción de conocimiento cero no interactivo (NIZK).
NIZK tiene muchas aplicaciones, como proporcionar un método para realizar sistemas criptográficos de clave pública seguros contra ataques (adaptables) de texto cifrado elegido .
BFM demostró primero la existencia de una versión de NIZK de un solo teorema para cada lenguaje NP ; Es decir, dada una cadena de referencia y un lenguaje , se puede probar sólo un único teorema de la forma . Además, la longitud del teorema está limitada por. Si el probador intenta reutilizar algunos bits de en pruebas posteriores, existe el peligro de pérdida de conocimiento (y la prueba ya no será NIZK).
Para remediar esto, BFM usó una versión multi-teorema basada en el teorema único NIZK. Para este fin, usaron un generador pseudoaleatorio para expandir , y luego usaron los bits expandidos. También hay algunos otros detalles, pero no voy a profundizar.
Feige, Lapidot y Shamir (en la primera nota de pie de página en la primera página de su artículo) declararon:
Se encontró que el método sugerido en BFM para superar esta dificultad era defectuoso.
(La dificultad se refiere a obtener pruebas de teoremas múltiples en lugar de pruebas de un solo teorema).
¿Dónde se encuentra la falla BFM?