ES2916846B2 - Metodo de control de voto electronico - Google Patents

Metodo de control de voto electronico

Info

Publication number
ES2916846B2
ES2916846B2 ES202131209A ES202131209A ES2916846B2 ES 2916846 B2 ES2916846 B2 ES 2916846B2 ES 202131209 A ES202131209 A ES 202131209A ES 202131209 A ES202131209 A ES 202131209A ES 2916846 B2 ES2916846 B2 ES 2916846B2
Authority
ES
Spain
Prior art keywords
user
commitment
vote
points
parties
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES202131209A
Other languages
English (en)
Other versions
ES2916846A1 (es
Inventor
Rodríguez Damián López
Flor Antonio Manuel Larriba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universidad Politecnica de Valencia
Original Assignee
Universidad Politecnica de Valencia
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universidad Politecnica de Valencia filed Critical Universidad Politecnica de Valencia
Priority to ES202131209A priority Critical patent/ES2916846B2/es
Publication of ES2916846A1 publication Critical patent/ES2916846A1/es
Priority to PCT/ES2022/070810 priority patent/WO2023118632A1/es
Priority to EP22910266.0A priority patent/EP4456476A4/en
Application granted granted Critical
Publication of ES2916846B2 publication Critical patent/ES2916846B2/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Description

DESCRIPCIÓN
MÉTODO DE CONTROL DE VOTO ELECTRÓNICO
OBJETO DE LA INVENCIÓN
La invención se refiere al campo de la votación electrónica y, más particularmente, a la seguridad de la información de identificación, la confidencialidad del sentido del voto y a la precisión del resultado.
Un primer objeto de la invención es un método de control de voto electrónico que permite proteger la identidad de los votantes y evitar la manipulación de los resultados distribuyendo la información entre un conjunto de participantes o partidos.
ANTECEDENTES DE LA INVENCIÓN
Existen numerosas soluciones en el campo de sistemas de control de votación. Tradicionalmente, se han propuesto sistemas de votos basados en papeletas de papel que garantizan la seguridad del usuario sin encriptar el voto. También se han propuesto alternativas en las que la papeleta se separa en trozos que contienen el voto pero no desvelan la identidad del usuario. No obstante, estos no son sistemas de voto electrónicos, y son incompatibles con el voto remoto, además, presentan debilidades ante ataques con ciertos patrones en las papeletas.
La criptografía homomórfica permite trabajar con criptogramas, procesando la información que estos contienen sin necesidad de descifrar esta, obteniendo después el resultado de la desencripción, dando como resultado así el mismo resultado que obtendríamos si trabajáramos con texto plano. Muchos sistemas de voto utilizan estas propiedades para aglutinar votos encriptados y desencriptar el resultado final, sin embargo, los sistemas de encriptado suelen tener altas necesidades de tiempo de cálculo.
El documento de literatura no patente "Anonymous electronic voting protocol with traceability” describe un protocolo de votación electrónica que proporciona trazabilidad, confidencialidad, anonimidad y verificación universal, mediante el uso del esquema de Shamir, compromiso homomórfico, computación segura entre múltiples partes, "key scrow”, y que considera la existencia de una Autoridad confiable con acceso absoluto, cuyo papel definido es auditar el resultado de la votación a partir de una muestra de los votos emitidos.
La anonimidad se protege utilizando un subprotocolo basado en firma ciega durante la fase de registro previa a la fase de votación, para enmascarar la relación entre voto y votante. En la fase de registro, el votante obtiene un certificado nuevo de votación que incorpora su identidad de forma encriptada. En la fase de votación, el votante utiliza su nuevo certificado, divide su voto en diferentes partes y envía a cada entidad contadora de votos una de las partes junto con su compromiso. En la fase de recuento, las entidades contadoras trabajan conjuntamente para recuperar los votos y publicar el resultado.
En este caso, se emplean numerosas autoridades (de registro, de certificados y de claves), además, la estructura del voto es distinta, aunque la papeleta se divide en distintas partes empleando compromisos homomórficos para garantizar su integridad, tanto la identificación como la certificación de las papeletas implica un intercambio de mensajes entre el elector y las autoridades, encareciendo el sistema. Además, esta solución se basa en distribuir una clave de forma segura entre las autoridades. Por último, la existencia de un administrador capaz de rastrear el voto hasta el votante reduce la privacidad del sistema de voto.
El documento de literatura no patente "E-voting scheme using secret sharing and K-anonymity” describe un protocolo de votación electrónica basado en el esquema de secreto compartido de Shamir, homomorfismo y k-anonimato. El modelo del sistema soporte incluye: una Autoridad Central confiable (AC), Sistema de Votación (VS), Votantes (V), Candidatos C y un Panel de Publicación de resultados. Los votantes autorizados emiten su voto a través del sistema de votación, que genera una credencial correspondiente, divide la intención del voto enmascarada en varios fragmentos y los envía a los diferentes candidatos, para su posterior reconstrucción en conjunto con el sistema de votación.
Esta solución emplea el esquema de compartición de secretos de Shamir, donde el sistema de voto es el encargado de crear un polinomio que es utilizado para comunicar las credenciales a los votantes. A los votantes se les asigna un identificador aleatorio que no puede ser relacionado con su identidad, y operan en base a ese identificador. No obstante, el sistema no especifica la implementación y funcionamiento de dicho sistema de identificación.
En general, se asume que el sistema de voto es honesto y los votantes se ven obligados a interactuar con él, no pudiendo generar de manera independiente los parámetros de la votación, por ello, no tiene garantía que su papeleta no es conocida por ninguna autoridad.
En el arte no se ha localizado ninguna solución que permite garantizar la anonimidad del voto frente a cualquier autoridad y la exactitud del escrutinio sin necesidad de basar la ocultación del voto en métodos de criptografía ni de dejar un rastro que permite relacionar los votos con los votantes.
DESCRIPCIÓN DE LA INVENCIÓN
La presente invención se refiere a un método de votación electrónico que permite la obtención de un resultado con la seguridad de que ningún voto ha sido manipulado ni puede ser conocido por ningún subconjunto de participantes o autoridades, sino únicamente por el conjunto de todos los partidos implicados que tienen encomendado realizar el escrutinio de la votación. Para ello, hace uso de una o más autoridades de identificación, un conjunto de j participantes o partidos y un conjunto de usuarios.
Así, el método de la invención no requiere cifrar los votos para asegurar la privacidad e inmutabilidad de los mismos. Al mismo tiempo, no se compromete la seguridad del sistema de votación electrónica, haciéndolo más accesible y reduciendo la complejidad, al evitar algoritmos criptográficos cuya ejecución implica un elevado coste temporal.
El método de la invención permite al usuario generar un voto de manera independiente y dividirlo en un conjunto de porciones de información de modo que no se revela ningún tipo de información, ni sobre el sentido del voto ni sobre el usuario que las creó. La posesión de todas estas porciones permite recuperar el voto original, sin embargo, ningún subconjunto de estas porciones permite obtener el sentido del voto.
Así, en el método de la invención, los partidos acuerdan (de forma consensuada o no) un valor d, mayor o igual que j-1, y, preferiblemente, también un valor k, mayor que d. Alternativamente, los valores d y k pueden ser generados por las autoridades de identificación.
A continuación, se acuerda, por parte de los partidos o las autoridades de identificación, un algoritmo de generación de compromisos y, preferiblemente, también una función de redundancia.
Con este fin, de forma particular, se genera, por parte del usuario, un polinomio de grado d, mayor o igual que j-1, donde el voto generado se corresponde con el término independiente de dicho polinomio. A continuación, para dividir el voto en un conjunto de porciones de información, se calcula, por parte del usuario, un conjunto de valores que contenga d+1 o más puntos del polinomio generado, hasta un máximo de k puntos en caso de que se haya fijado el valor de k, repartiendo posteriormente los puntos entre los partidos implicados.
Seguidamente, el usuario genera un compromiso que identifica unívocamente el conjunto de porciones del voto, representadas por los puntos del polinomio, sin revelar su contenido, mediante el algoritmo de generación de compromisos acordado previamente. Este compromiso puede ser modificado, por parte del usuario, para incluir la redundancia acordada, como por ejemplo una función hash. El resultado es posteriormente enmascarado por el usuario que lo envía junto con su identificación a las autoridades de identificación.
Las autoridades de identificación verifican que el usuario está correctamente registrado en el censo y certifica digitalmente el compromiso del usuario. De esta manera, la autoridad de identificación conoce la identidad del usuario, pero no tiene manera de conocer el voto ya que compromiso ha sido previamente enmascarado. En ese momento, se puede proceder a publicar la identificación del usuario y el compromiso enmascarado.
El enmascaramiento del compromiso debe realizarse de modo que pueda deshacerse posteriormente sin afectar a la certificación. Esto es posible utilizando criptografía homomórfica.
A continuación, el usuario distribuye los puntos del polinomio generados, acompañados del compromiso firmado, entre todos los partidos involucrados en la elección. De este modo, los partidos no conocen la identificación del usuario, sino que sólo reciben una pieza de información relativa a su papeleta de voto y un compromiso certificado que actúa como prueba de la validez de la misma y que permitirá la reconstrucción de la papeleta.
Los partidos pueden comprobar que la verificación de los compromisos recibidos cumple la función de redundancia fijada, en el caso de que el usuario la hubiera generado, descartando el voto en caso contrario.
Finalmente, cuando el periodo de voto ha finalizado, los partidos dejan de aceptar mensajes de los usuarios.
Entonces, comienza la colaboración entre los distintos partidos para reunir las piezas de información con el mismo compromiso firmado. Para ello, cada partido envía los puntos del polinomio que tiene al resto de partidos y, cada partido, reconstruye el polinomio utilizando los puntos previamente obtenidos. El voto se corresponde con el término independiente del polinomio reconstruido y se considera para obtener el resultado de la elección.
Seguidamente, se comprueba, por parte de los partidos, si el número de puntos incluidos en la reconstrucción del voto cumple el criterio fijado de que el compromiso generado por el usuario se haya modificado o, en caso de que se haya fijado el valor de k, que el número de puntos recibidos no supere el máximo de puntos fijado a priori (k), de modo que si se cumple alguna de dichas condiciones el voto se considera nulo.
Preferiblemente, los votos obtenidos y los puntos del polinomio generados son publicados junto con el compromiso asociado a ellos para que todo el mundo pueda comprobar la validez de la elección.
La publicación por parte de los partidos permite a los electores que puedan comprobar que los votos depositados han sido considerados en el sentido en que fueron emitidos.
La invención también se refiere a un sistema de control de voto electrónico que comprende un primer conjunto de una o más unidades de procesamiento que actúan como autoridades de identificación, un segundo conjunto de j unidades de procesamiento que actúan como partidos y un tercer conjunto de una o más unidades de procesamiento que actúan como usuarios. Las unidades de procesamiento están configuradas para llevar a cabo las etapas de:
- acordar entre los partidos (de forma colegiada o no), o alternativamente por parte de las autoridades de identificación, un valor d mayor o igual al número de partidos menos uno (j-1), y, preferiblemente, un valor k mayor que d, así como
un algoritmo de generación de compromisos y, preferiblemente, también una función de redundancia,
- generar un voto, por parte de cada usuario,
- generar, por parte del usuario, un polinomio de grado d, donde el voto generado se corresponde con el término independiente del polinomio generado,
- calcular, por parte del usuario, un conjunto de valores que contenga d+1 o más puntos del polinomio generado, preferiblemente hasta k puntos en caso de que se haya fijado el valor de k,
- generar, por parte del usuario, un compromiso del voto generado mediante el algoritmo de generación de compromisos acordado previamente, - en caso de que se acordara la función de redundancia, modificar, por parte de los usuarios, el compromiso para añadir la función de redundancia generada;
- enmascarar usando criptografía homomórfica, por parte del usuario, el compromiso generado,
- enviar una identificación, por parte del usuario, junto con el compromiso enmascarado a las autoridades de identificación;
- comprobar, por parte de las autoridades de identificación, que el usuario está inscrito como votante y que no ha votado;
- certificar digitalmente, por parte de las autoridades de identificación, el compromiso del usuario y reenviar al usuario el compromiso certificado; - desenmascarar el compromiso certificado, por parte del usuario;
- distribuir, por parte del usuario, los puntos del polinomio generado entre los partidos junto con el compromiso certificado desenmascarado;
- en caso de que se haya acordado la función de redundancia, comprobar, por parte de los partidos, que la verificación de los compromisos recibidos cumple la función de redundancia fijada, descartando el voto en caso contrario,
- enviar cada partido los puntos del polinomio al resto de partidos, una vez ha finalizado la votación;
- reconstruir, por parte de cada partido, el polinomio y obtener el voto que se corresponde con su término independiente, mediante los puntos obtenidos; y
- comprobar, por parte de los partidos, si el número de puntos incluidos en la reconstrucción del voto cumple el criterio fijado de que el compromiso generado por el usuario se ha modificado, o, en el caso de que se haya fijado el valor de k, que el número de puntos recibidos superen el máximo de puntos fijado a priori (k), de modo que si se cumple alguna de dichas condiciones el voto se considera nulo.
La inclusión de límites en el número de puntos a generar por parte del usuario para considerar el voto como válido puede implicar que, si k es muy grande abra la puerta a que un subconjunto de partidos pueda desvelar el sentido del voto, aunque la certificación de la validez tenga que realizarla el conjunto de partidos.
Finalmente, la invención también se refiere a un programa de ordenador adaptado para realizar los pasos del método descrito usando las unidades de procesamiento definidas, así como, un dispositivo de almacenamiento legible por una máquina caracterizado porque comprende dicho programa de ordenador.
DESCRIPCIÓN DE LOS DIBUJOS
Para complementar la descripción que se está realizando y con objeto de ayudar a una mejor comprensión de las características de la invención, de acuerdo con un ejemplo preferente de realización práctica de la misma, se acompaña como parte integrante de dicha descripción, un juego de dibujos en donde con carácter ilustrativo y no limitativo, se ha representado lo siguiente:
Figura 1.- Muestra un esquema de bloques que representa una realización preferente de una implementación del método de la invención.
REALIZACIÓN PREFERENTE DE LA INVENCIÓN
La presente invención se refiere a un método de control de voto electrónico que permite mantener la anonimidad y la seguridad ante la manipulación del voto, mediante un sistema verificable y de responsabilidad distribuida.
La figura 1 muestra una realización particular del método de la invención que hace uso de una autoridad de identificación, un conjunto de partidos que participan activamente en el proceso, un boletín público donde se publica información relativa a la elección y un conjunto de usuarios o electores.
En primer lugar, se procede a acordar (100) entre los partidos o por parte de las autoridades de identificación un valor d, mayor o igual que j-1, y un valor k, mayor que d, así como un algoritmo de generación de compromisos y una función de redundancia.
En este caso, el voto se genera (102) como un polinomio bajo aritmética modular, de modo que, las piezas de información en las que se divide el voto se implementan calculando (103) puntos del polinomio que se pueden utilizar para, en el momento del escrutinio, interpolar el polinomio original, conociendo el sentido del voto.
El usuario genera (101) su voto C y lo codifica como el término independiente del polinomio, que es de grado d, módulo un número primo p.
A continuación, el usuario calcula (103) un conjunto de valores que contenga entre d+1 y k puntos:
Estos puntos no revelan ninguna información del voto ni del elector, pero cuando son agregados todos ellos, se puede recuperar el polinomio y por tanto el voto.
Seguidamente, el usuario genera (104) un compromiso del conjunto de puntos P que permite certificarlo y evitar que se cambie a posteriori.
El usuario envía (107) su identificación y el compromiso, que identifica su conjunto de puntos, enmascarado (106) con una máscara, a la autoridad de identificación. Se modifica (105), por parte del usuario, el compromiso para añadir la función de redundancia generada.
La autoridad de identificación comprueba (108) que el usuario pertenece al censo, que no ha votado previamente y devuelve (109) firmado digitalmente el compromiso enmascarado al usuario. En este caso, también se publica (110) en el boletín público la información que recibe la autoridad de identificación, es decir, la identificación del usuario y el compromiso enmascarado.
El enmascaramiento y la certificación del voto se implementan mediante primitivas criptográficas con propiedades homomórficas, así, el usuario puede desenmascarar (111) el compromiso certificado y obtener una certificación de su voto como válido sin revelar nada acerca del sentido de su voto y no permitiendo relacionar este certificado con su identidad.
A continuación, el usuario distribuye (112) los puntos obtenidos del polinomio entre los partidos que participan en la elección acompañándolos del compromiso firmado que avala la potestad de depositar el voto, de modo que todos y cada uno de los partidos reciban al menos un punto. Los partidos entonces comprueban (113) que la verificación de los compromisos recibidos cumple la función de redundancia fijada, descartando el voto en caso contrario.
Una vez finaliza el proceso de elección, los partidos colaboran entre sí enviando (114) los puntos para agrupar los puntos asociados con el mismo compromiso firmado. Cuando los partidos agrupan los d+1 puntos asociados a un compromiso, proceden a reconstruir (115) el polinomio de manera independiente, dando lugar a un escrutinio de forma descentralizada, tal que:
donde:
Una vez el polinomio se ha interpolado, el voto C se puede recuperar como:
C = q(0)modp
Entonces, se comprueba (116) si el número de puntos incluidos en la reconstrucción del voto cumple el criterio fijado, o superan el máximo de puntos fijado a priori, de modo que si se cumple alguna de dichas condiciones el voto se considera nulo.
La publicación (117) del voto C asociado al compromiso firmado y el conjunto de puntos P en un boletín público para que todo el mundo pueda calcular el resultado de la elección permite la validación universal del proceso.
Si en una elección concurren j opciones distintas, notamos que, para garantizar la seguridad del sistema, el grado d del polinomio a utilizar por cada uno de los electores debe ser al menos igual o mayor que j-1.
Si el usuario genera más puntos de los necesarios, podría permitir a determinados partidos desvelar el sentido del voto, ya que podría repartir suficientes puntos para que un subgrupo de partidos pudiera desvelar el sentido de su voto, por ello, se controla el número de puntos generados por parte del usuario fijando el número de puntos que se genera entre d+1 y k.
Esta implementación proporciona la posibilidad de votar de manera segura y anónima, ya que, incluso en un escenario post-quatum, cualquier atacante necesitaría conseguir todos los puntos relacionados con un voto para conocer la dirección de éste.

Claims (8)

REIVINDICACIONES
1.- Un método de control de voto electrónico que hace uso de una o más autoridades de identificación, un conjunto de j partidos y un conjunto de usuarios, y donde el método comprende las etapas de:
- acordar (100) entre los partidos o por parte de las autoridades de identificación un valor d, mayor o igual que j-1, y un algoritmo de generación de compromisos y una función de redundancia,
- generar (101) un voto por parte del usuario,
- generar (102), por parte del usuario, un polinomio de grado d, donde el voto generado se corresponde con un término independiente del polinomio generado, - calcular (103), por parte del usuario, un conjunto de valores que contenga d+1 o más puntos del polinomio generado,
- generar (104), por parte del usuario, un compromiso del voto generado, mediante el algoritmo de generación de compromisos acordado previamente, - modificar (105) dicho compromiso para añadir la función de redundancia, - enmascarar (106) mediante el uso de criptografía homomórfica, por parte del usuario, el compromiso generado,
- enviar (107) una identificación, por parte del usuario, junto con el compromiso enmascarado a las autoridades de identificación;
- comprobar (108), por parte de las autoridades de identificación, que el usuario está inscrito como votante y que no ha votado;
- certificar (109) digitalmente, por parte de las autoridades de identificación, el compromiso del usuario y reenviar al usuario el compromiso certificado;
- desenmascarar (111) el compromiso certificado, por parte del usuario;
- distribuir (112), por parte del usuario, los puntos del polinomio generado entre los partidos junto con el compromiso certificado desenmascarado;
- comprobar (113) por parte de los partidos que la verificación de los compromisos recibidos cumple la función de redundancia fijada, y descartar el voto en caso contrario.
- enviar (114) cada partido los puntos del polinomio al resto de partidos, una vez ha finalizado la votación;
- reconstruir (115), por parte de cada partido, el polinomio y obtener el voto que se corresponde con su término independiente, mediante los puntos obtenidos; y - comprobar (116), por parte de los partidos, si el número de puntos incluidos en la reconstrucción del voto cumple el criterio fijado de que el compromiso generado por el usuario se ha modificado, de modo que si se cumple alguna de dichas condiciones el voto se considera nulo.
2. - El método según la reivindicación 1, que además comprende una etapa de publicar (117) los votos obtenidos y los puntos del polinomio generados para permitir una validación universal.
3. - El método según la reivindicación 2, que además comprende una etapa de publicar (110), por parte de las autoridades de identificación, la identificación del usuario y el compromiso enmascarado, una vez que se ha certificado (109) digitalmente, por parte de las autoridades de identificación, el compromiso del usuario y se ha reenviado a dicho usuario el compromiso certificado.
4. - El método según la reivindicación 1, donde las etapas de enmascarar (106) y desenmascarar (111) el compromiso generado se realizan mediante primitivas criptográficas con propiedades homomórficas.
5. - El método según la reivindicación 1, donde la etapa de acordar (100) entre los partidos o por parte de las autoridades de identificación un valor d y un algoritmo de generación de compromisos, también incluye acordar un valor k, mayor que d, de modo que en la etapa de calcular (103), por parte del usuario, puntos del polinomio, se calcula un máximo de k puntos, y en la etapa de comprobar (116), por parte de los partidos, si el número de puntos incluidos en la reconstrucción del voto cumple el criterio fijado, también se comprueba si el número de puntos recibidos superan el máximo de puntos fijado a priori (k), de modo que si se cumple alguna de dichas condiciones el voto se considera nulo.
6. - Un sistema de control de voto electrónico que comprende un primer conjunto de una o más unidades de procesamiento que actúan como autoridades de identificación, un segundo conjunto de j unidades de procesamiento que actúan como partidos y un tercer conjunto de una o más unidades de procesamiento que actúan como usuarios, configuradas para llevar a cabo las etapas de:
- acordar (100) entre los partidos o por parte de las autoridades de identificación un valor d, mayor o igual que j-1 y un algoritmo de generación de compromisos y una función de redundancia,
- generar (101) un voto por parte del usuario,
- generar (102), por parte del usuario, un polinomio de grado d, donde el voto generado se corresponde con el término independiente del polinomio generado, - calcular (103), por parte del usuario, un conjunto de valores que contenga d+1 o más puntos del polinomio generado,
- generar (104), por parte del usuario, un compromiso del voto generado mediante el algoritmo de generación de compromisos acordado previamente,
- modificar (105) dicho compromiso para añadir la función de redundancia, - enmascarar (106) mediante el uso de criptografía homomórfica, por parte del usuario, el compromiso generado,
- enviar (107) una identificación, por parte del usuario, junto con el compromiso enmascarado a las autoridades de identificación;
- comprobar (108), por parte de las autoridades de identificación, que el usuario está inscrito como votante y que no ha votado;
- certificar (109) digitalmente, por parte de las autoridades de identificación, el compromiso del usuario y reenviar al usuario el compromiso certificado;
- desenmascarar (111) el compromiso certificado, por parte del usuario;
- distribuir (112), por parte del usuario, los puntos del polinomio generado entre los partidos junto con el compromiso certificado desenmascarado;
- comprobar (113) por parte de los partidos que la verificación de los compromisos recibidos cumple la función de redundancia fijada, y descartar el voto en caso contrario;
- enviar (114) cada partido los puntos del polinomio al resto de partidos, una vez ha finalizado la votación;
- reconstruir (115), por parte de cada partido, el polinomio y obtener el voto que se corresponde con su término independiente, mediante los puntos obtenidos; y - comprobar (116), por parte de los partidos, si el número de puntos incluidos en la reconstrucción del voto cumple el criterio fijado de que el compromiso generado por el usuario se ha modificado, de modo que si se cumple dicha condición el voto se considera nulo.
7.- Un programa de ordenador caracterizado porque está adaptado para realizar los pasos del método de acuerdo con cualquiera de las reivindicaciones 1 a 5 usando las unidades de procesamiento definidas en la reivindicación 6.
8.- Un dispositivo de almacenamiento legible por una máquina caracterizado porque comprende el programa de ordenador de acuerdo con la reivindicación 7.
ES202131209A 2021-12-23 2021-12-23 Metodo de control de voto electronico Active ES2916846B2 (es)

Priority Applications (3)

Application Number Priority Date Filing Date Title
ES202131209A ES2916846B2 (es) 2021-12-23 2021-12-23 Metodo de control de voto electronico
PCT/ES2022/070810 WO2023118632A1 (es) 2021-12-23 2022-12-19 Método de control de voto electrónico
EP22910266.0A EP4456476A4 (en) 2021-12-23 2022-12-19 ELECTRONIC VOTING CONTROL METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES202131209A ES2916846B2 (es) 2021-12-23 2021-12-23 Metodo de control de voto electronico

Publications (2)

Publication Number Publication Date
ES2916846A1 ES2916846A1 (es) 2022-07-06
ES2916846B2 true ES2916846B2 (es) 2024-09-11

Family

ID=82257916

Family Applications (1)

Application Number Title Priority Date Filing Date
ES202131209A Active ES2916846B2 (es) 2021-12-23 2021-12-23 Metodo de control de voto electronico

Country Status (3)

Country Link
EP (1) EP4456476A4 (es)
ES (1) ES2916846B2 (es)
WO (1) WO2023118632A1 (es)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037462B (zh) * 2021-03-31 2022-09-20 华南理工大学 一种基于区块链和安全多方计算的公平电子投票协议方法

Also Published As

Publication number Publication date
EP4456476A4 (en) 2025-12-03
ES2916846A1 (es) 2022-07-06
WO2023118632A1 (es) 2023-06-29
EP4456476A1 (en) 2024-10-30

Similar Documents

Publication Publication Date Title
US20200401726A1 (en) System and method for private integration of datasets
Russo et al. Chirotonia: A scalable and secure e-voting framework based on blockchains and linkable ring signatures
CN113645020A (zh) 一种基于安全多方计算的联盟链隐私保护方法
Shinde et al. Secure E-voting using homomorphic technology
KR20210120514A (ko) 동형 암호 기술 기반 전자 투표 시스템 및 그 방법
Wang et al. A regulation scheme based on the ciphertext-policy hierarchical attribute-based encryption in bitcoin system
Li et al. A taxonomy and comparison of remote voting schemes
Haenni et al. Secure internet voting on limited devices with anonymized {DSA} public keys
Larriba et al. How to grant anonymous access
Islam et al. A new e-voting scheme based on revised simplified verifiable re-encryption mixnet
KR101167647B1 (ko) 전자투표 시스템
Huszti A homomorphic encryption-based secure electronic voting scheme
ES2916846B2 (es) Metodo de control de voto electronico
CN116388953B (zh) 基于分权环境下的同态加密电子投票方法和系统
Sertkaya et al. Estonian Internet voting with anonymous credentials
Konduru et al. Privacy preserving records sharing using blockchain and format preserving encryption
CN117521158B (zh) 联盟链隐私保护方法及系统
Hyla et al. A practical certificate and identity based encryption scheme and related security architecture
ES2904423B2 (es) Metodo de registro distribuido para el control de acceso anonimo
Haghighat et al. An efficient and provably-secure coercion-resistant e-voting protocol
Zhaoju et al. Verifiable receipt-free electronic voting system based on mask ballot
El Baraka et al. Isogeny-Based Secure Voting Systems for Large-Scale Elections
Thant et al. Authentication Protocols and Authentication on the Base of PKI and ID-Based
Sangroula et al. Blockchain based anonymous voting system using ring-signature
Breuer Secritmass: Threshold secret petitions

Legal Events

Date Code Title Description
BA2A Patent application published

Ref document number: 2916846

Country of ref document: ES

Kind code of ref document: A1

Effective date: 20220706

FG2A Definitive protection

Ref document number: 2916846

Country of ref document: ES

Kind code of ref document: B2

Effective date: 20240911