Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR CONTROLLING ELECTRONIC VOTING
Document Type and Number:
WIPO Patent Application WO/2023/118632
Kind Code:
A1
Abstract:
The invention relates to a method and system for controlling electronic voting that makes use of identification authorities, parties and users and comprises the steps of the user generating a vote and a polynomial of degree d, wherein the generated vote corresponds to an independent term of the polynomial, calculating a set of k points of the polynomial, generating a vote commitment, sealing said commitment and sending an identification along with the sealed commitment to the identification authorities, who verify that the user is a registered voter and has not already voted and digitally certify the user's commitment, sending it back to the user, who reveals the commitment certificate and distributes the polynomial points among the parties along with the revealed commitment. Once the voting has finished, each party sends their own points to the rest of the parties to reconstruct the polynomial and obtain the vote.

Inventors:
LÓPEZ RODRÍGUEZ DAMIÁN (ES)
LARRIBA FLOR ANTONIO MANUEL (ES)
Application Number:
PCT/ES2022/070810
Publication Date:
June 29, 2023
Filing Date:
December 19, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV VALENCIA POLITECNICA (ES)
International Classes:
H04L9/08; H04L9/32
Foreign References:
CN113037462A2021-06-25
Other References:
BOYEN XAVIER ET AL.: "E poque: ''Practical End-to-End Verifiable Post- Quantum-Secure E-Voting", IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P, 6 September 2021 (2021-09-06), pages 272 - 291, XP034011899, DOI: 10.1109/EuroSP51992.2021.00027
V P BINU; DIVYA G NAIR; A SREEKUMAR: "Secret Sharing Homomorphism and Secure E-voting", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 17 February 2016 (2016-02-17), 201 Olin Library Cornell University Ithaca, NY 14853 , XP080684171
LI HUIAN ET AL.: "A taxonomy and comparison of remote voting schemes", 23RD INTERNATIONAL CONFERENCE ON COMPUTER COMMUNICATION AND NETWORKS (ICCCN, 4 August 2014 (2014-08-04), pages 1 - 8, XP032651977, DOI: 10.1109/ICCCN.2014.6911807
Attorney, Agent or Firm:
PONS ARIÑO, Angel (ES)
Download PDF:
Claims:
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, 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, 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; 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.- El método según la reivindicación 1 , donde la etapa de acordar(IOO) entre los partidos o por parte de las autoridades de identificación un valor d y un algoritmo de generación de compromisos, además comprende acordar una función de redundancia, de modo que tras generar (104) el usuario un compromiso del voto, modifica (105) dicho compromiso para añadir la función de redundancia y, tras distribuir (112) el usuario los puntos del polinomio generado entre los partidos, dichos partidos comprueban ( 113) que la verificación de los compromisos recibidos cumple la función de redundancia fijada, y descartan el voto en caso contrario.

7.- 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, 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, 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; 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.

8.- Un programa de ordenador caracterizado porque está adaptado para realizar los pasos del método de acuerdo con cualquiera de las reivindicaciones 1 a 6 usando las unidades de procesamiento definidas en la reivindicación 7.

9.~ Un dispositivo de almacenamiento legible por una máquina caracterizado porque comprende el programa de ordenador de acuerdo con la reivindicación 8.

Description:
MÉTODO DE CONTROL DE VOTO ELECTRÓNICO

DESCRIPCIÓN

OBJETO DE LA INVENCIÓN

La invención se refiere ai 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úitiples 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 impiementació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 iievar a cabo ias 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 tos partidos, que ia 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 tos 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 limites 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 tos 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 certificado 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.