El cifrado homomórfico es una de las dos estructuras principales para los protocolos de votación electrónica, pero la parte de cifrado no es el protocolo entero .
Lo que hace bien el cifrado homomórfico es recuento . En tal sistema, cada votante encripta su voto (un cero o uno). Dado que la votación está encriptada, puede administrarse con bastante facilidad: no hay ningún problema en asociar la votación con el votante. Por lo tanto, los votos pueden acumularse en un tablón de anuncios público y todos pueden verificar que su propio voto se tenga en cuenta o que nadie haya votado dos veces. Cuando se obtienen todos los votos, se aplica el homomorfismo para obtener el cifrado de la suma de los votos, y luego se descifra la suma; la clave privada de descifrado se divide entre unas pocas autoridades parcialmente confiables, que colaboran solo para este descifrado único. Mientras que al menos una de las autoridades sea honesta, los votos individuales no se pueden descifrar y se mantiene el anonimato de votos (no podemos saber quién votó qué).
La parte difícil en tales sistemas es cómo asegurarse de que un voto cifrado sea realmente el cifrado de un 0 o un 1, y no el cifrado de otra cosa. Protocolos prácticos para la votación electrónica que se basan en el cifrado homomórfico, utilice pruebas de conocimiento cero no interactivas , que son más bien técnicos, pero se reducen a lo siguiente: con suficientes cálculos arrojados al problema, es posible, para algunos algoritmos de cifrado asimétricos y con la cooperación del votante mismo, probar que un valor cifrado es Realmente el cifrado de un 0 o un 1 pero no de otra cosa. Esto, por supuesto, no se puede hacer sin la cooperación del votante mismo, de lo contrario sería una gran debilidad del sistema de encriptación.
La otra estructura principal para el protocolo de votación electrónica es mezcla de redes : los votos van a través de una secuencia de entidades que los barajan aleatoriamente (esto tiene aplicaciones distintas de la votación electrónica, por ejemplo, Tor ). El cifrado anidado se utiliza para que el barajado no se pueda rastrear externamente. A la salida del último mezclador, los votos se descifran, pero no pueden asociarse con los votantes, siempre y cuando al menos uno de los mezcladores sea honesto. Dado que los votos se descifran, se verifica trivialmente como sintaxis correcta (un 0 o un 1, nada más). Por otro lado, convencer a los votantes de que su voto no se perdió, o que nadie votó dos veces, se vuelve mucho más difícil: las soluciones para eso involucran, nuevamente, algunas pruebas de ZK.
La Asociación Internacional para la Investigación en Criptología , cuando debe votar para elegir a sus directores, utiliza Helios Voting , que se basa en el cifrado homomórfico (con el algoritmo ElGamal , y Chaum -Pedersen ZK pruebas).