Blum, Micali e Feldman (BFM) propongono un nuovo modello (crittografico), in cui tutte le parti (oneste o contraddittorie) hanno accesso ad alcune stringhe. Si presume che la stringa sia selezionata in base a una distribuzione (in genere, distribuzione uniforme) da una parte attendibile. Si chiama stringa di riferimento e il modello viene appropriatamente denominato modello di stringa di riferimento comune (CSR).
Il modello ci consente di eseguire molti protocolli interattivi interessanti in modo non interattivo , sostituendo le query con bit dalla stringa di riferimento. In particolare, le prove a conoscenza zero per qualsiasi linguaggio NP possono essere condotte in modo non interattivo, dando origine alla nozione di conoscenza zero non interattiva (NIZK).
NIZK ha molte applicazioni, come fornire un metodo per realizzare sistemi crittografici a chiave pubblica sicuri contro attacchi di testo cifrato (adattivo) scelti .
BFM per prima cosa ha dimostrato l'esistenza di una versione a singolo teorema di NIZK per ogni linguaggio NP ; cioè, dato un riferimento stringa e un linguaggio , si può dimostrare che una sola teorema della forma . Inoltre, la lunghezza del teorema è limitata in. Se il prover tenta di riutilizzare alcune parti di nelle prove successive, c'è il pericolo di perdita di conoscenza (e la prova non sarà più NIZK).
Per rimediare a ciò, BFM ha usato una versione multi-teorema basata sul NIZK a singolo teorema. A tal fine, hanno usato un generatore pseudo-casuale per espandere , e quindi hanno usato i bit espansi. Ci sono anche altri dettagli, ma non ho intenzione di scavare.
Feige, Lapidot e Shamir (nella prima nota a piè di pagina nella prima pagina del loro articolo) dichiararono:
Il metodo suggerito in BFM per superare questa difficoltà è risultato difettoso.
(La difficoltà si riferisce all'ottenimento di prove multi-teorema piuttosto che a teorema singolo).
Dove sta il difetto BFM?