Converter string de referência comum em string aleatória comum
Eu ouvi uma palestra no NIZK há algum tempo e me lembrei vagamente de que o palestrante mencionou algo como - Um esquema que é estatisticamente sólido e computacionalmente ZK no modelo de string de referência comum pode se tornar computacionalmente sólido e estatisticamente ZK no modelo de string aleatório comum.
Não consegui lembrar a palestra e o locutor exatos, mas estou me perguntando se esse tipo de dualidade é comum em construções CRS e, em caso afirmativo, como convertemos um esquema no modelo de string de referência comum em um no modelo de string aleatório comum?
Obrigado!
Respostas
Não há conversão genérica, mas é uma propriedade padrão dos NIZKs de modo duplo. Aqui, o CRS vem em dois modos indistinguíveis, onde um é estruturado, mas o outro é na verdade uma string verdadeiramente aleatória. Normalmente, na construção baseada em grupo, o CRS aleatório será uma tupla de elementos de grupo aleatório, enquanto o CRS estruturado será uma tupla DDH - ambos serão indistinguíveis sob a suposição de DDH.
Em um nível muito alto, a string de referência será usada como um parâmetro de algum esquema de confirmação no qual você coloca a testemunha no NIZK. Então, usando alguma construção apropriada de compromissos, o compromisso pode estar perfeitamente oculto desde que o CRS seja aleatório, mas torna-se perfeitamente vinculativo assim que o CRS é estruturado. Pense, por exemplo, nos compromissos de modo duplo no estilo Groth-Sahai, que têm uma propriedade semelhante.
Alguns exemplos recentes de NIZKs com essa propriedade incluem este trabalho .