Implementación de mi código-Protocolo sigma comprimido

1. Introducción

Prefacio blog Teoría del protocolo sigma comprimido y aplicación práctica a las notas de estudio de algoritmos seguros Plug & Play .

Hice la implementación del código correspondiente para el artículo de 2020 " Teoría del protocolo sigma comprimido y aplicación práctica para algoritmos seguros Plug & Play " de Thomas Attema et al ., Ver:

  • https://github.com/3for/Compressed_sigma-protocol

En esta base de código, la implementación correspondiente se basa actualmente solo en la suposición logarítmica discreta, y la suposición de RSA y la suposición de conocimiento del exponente aún no se han implementado:

  • La suposición logarítmica discreta utiliza curve25519-dalek.
    Uno de los principales inconvenientes de utilizar el esquema de compromiso vectorial de Pedersen es que el número de generadores necesarios es proporcional a la dimensión del vector. Para comprometerse con una nnvector n- dimensional, necesitasn + 1 n + 1norte+1 generadores del grupoG \ mathbb {G}G . Al mismo tiempo, para∑ \ sumcomprimido -protocoloΠ c \ Pi_cPic, Su tiempo de verificación y dimensión nnn es proporcional. [Por lo tanto, los escenarios 5.3.1 y 5.3.2 están diseñados para reducir la demanda del número de generadores.

  • La implementación básica de nizk y scalar se refiere a la biblioteca Spartan , pero la biblioteca Spartan bullet.rs[principalmente basada en Hyrax, que implementa atributos de conocimiento cero, pero tiene el problema del truco de Prover. Para obtener más detalles, consulte el problema: Agregar otro desafío en prueba de dotproduct ? # 33 ] reducir an = 1 n = 1norte=1. Según el artículo, este artículo se reducean = 2 n = 2norte=2. No se requiere conocimiento cero, consulte:
    https://github.com/3for/Compressed_sigma-protocol/blob/main/src/nizk/nozk_noinv_bullet.rs

  • La implementación polinomial se refiere a los módulos de la biblioteca de álgebrapoly . Debido a que curve25519 no es compatible con FFT, solo se implementan rasgos, pero Fieldno se implementan rasgos FFTField.

  • Las diversas implementaciones de protocolo en este documento se enumeran en el sigma_protocoldirectorio y el nombre * .rs corresponde al protocolo.
    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/mutourend/article/details/113588837
Recomendado
Clasificación