Estoy leyendo acerca de un protocolo de votación que utiliza el cifrado de clave pública.
Según las notas, si A vota v a , entonces A difunde R a (R b (R c (E a (E b ( E c (v a ))))). Aquí, R a es una función de codificación aleatoria que agrega una cadena aleatoria a un mensaje antes de cifrarlo con la clave pública de A y E a es un cifrado de clave pública con la clave pública de A .
Entonces, si hay un grupo de votantes, cada votante participa en un proceso de firma y descifrado y retransmisión de un nivel de cada mensaje / voto. Al final del protocolo, cada votante tiene un registro de auditoría firmado completo y se asegura la validez del voto.
Luego, puedes hacer dos rondas de procesamiento. En la primera ronda, los votantes pueden verificar que su voto haya sido contado al hacer esto:
Enlasegundaronda,losvotantespuedendescubrirlosvotosrealesalhaceresto:
Sin embargo, todavía estoy bastante confundido acerca de todo el mecanismo. Por ejemplo, ¿por qué es necesario utilizar la función de codificación aleatoria? ¿Cómo se decodifica cuando se ha agregado una cadena aleatoria? ¿Dónde está ocurriendo el conteo de votos? Me gustaría leer más sobre esto, pero ni siquiera puedo encontrar los términos correspondientes para buscar. ¡Si pudiera ayudarme a explicarme / señalarme algunos recursos relevantes, sería muy apreciado!