ES2367940A1 - Método para la verificación del correcto registro de una información. - Google Patents
Método para la verificación del correcto registro de una información. Download PDFInfo
- Publication number
- ES2367940A1 ES2367940A1 ES200902326A ES200902326A ES2367940A1 ES 2367940 A1 ES2367940 A1 ES 2367940A1 ES 200902326 A ES200902326 A ES 200902326A ES 200902326 A ES200902326 A ES 200902326A ES 2367940 A1 ES2367940 A1 ES 2367940A1
- Authority
- ES
- Spain
- Prior art keywords
- information
- coding
- entity
- content
- encoded
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000012360 testing method Methods 0.000 claims description 81
- 238000012795 verification Methods 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 5
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims 1
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims 1
- 230000008569 process Effects 0.000 description 29
- 238000012550 audit Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008570 general process Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005056 compaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3218—Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
Método para verificar que una información de un emisor se ha registrado de forma correcta por parte de una entidad receptora preservando la privacidad del emisor,Comprende las siguientes etapas:a) Codificado de la información del emisor en una entidad emisora y envío de dicha codificación a la entidad receptora;b) Generación por parte de la entidad emisora de una prueba de contenido basada en la información codificada en el paso a), y posterior envío de la prueba de contenido a la entidad emisora; yc) Verificación por parte del emisor de que la prueba de contenido se corresponde con la información que se ha codificado.
Description
Método para la verificación del correcto
registro de una información.
La presente invención es apta para aplicaciones
donde se requiere verificar que una información ha sido registrada
de forma correcta. Concretamente, es apta para verificar que la
información enviada por un emisor ha sido recibida correctamente en
el receptor. Esta invención es de especial relevancia en procesos de
envío de información donde se debe preservar la privacidad de la
entidad emisora.
El método es susceptible de ser utilizado en
entornos de voto electrónico remoto.
Cuando es necesario el envío de información a
través de un medio considerado no seguro conservando la
confidencialidad del emisor, esta se cifra de forma que sólo el
destinatario sea capaz de descifrarla. De este modo, otras personas,
entidades o sistemas que accedan a esta información serán incapaces
de leerla.
A pesar de la protección que ofrece el
codificado, este se limita sólo a la privacidad del emisor pero no a
la integridad del mensaje. Por lo tanto, la información a enviar
puede ser modificada durante el proceso de codificado o el envío.
Para evitar que la información sea modificada, el emisor de la
información debe poder detectar esta modificación verificando que la
información registrada en el receptor es la misma que el emisor ha
enviado. Las firmas digitales permiten asegurar la integridad de la
información codificada durante su envío, pero no permiten verificar
que antes del envío la información ha sido correctamente codificada.
En este aspecto, el emisor generalmente debe confiar en el proceso
de codificado. Este proceso, normalmente ejecutado por un software
específico, puede ser manipulado por una entidad externa para que
cifre información distinta a la que el emisor pretende enviar. Una
solución sería firmar la información antes de codificarla y adjuntar
la firma con la información codificada. El problema de esta solución
es que no permite preservar el anonimato del emisor, puesto que la
firma permite vincularlo con la información una vez
descodificada.
En situaciones en las que el receptor inicial de
la información codificada no es el destinatario final y, por tanto,
no posee la capacidad de descifrarla, probar que la información
codificada recibida se corresponde con la que el emisor ha enviado
(antes del proceso de codificado) puede ser un proceso complejo.
Existen diversos métodos que tratan de presentar soluciones a este
problema.
Existen entornos en los que es importante que un
emisor que envía un mensaje codificado a una entidad receptora,
pueda verificar que el mensaje codificado recibido coincide con los
contenidos que ha escogido enviar sin comprometer el secreto de la
información enviada (al menos hasta que esta sea descodificada) ni
el anonimato del emisor. Un ejemplo de ellos son los procesos de
votación electrónica, donde el votante escoge sus opciones de voto,
que son codificadas y almacenadas en un dispositivo receptor. La
firma digital permite verificar que la información, una vez
codificada y firmada (normalmente paso previo a su envío y/o
almacenamiento), no ha sufrido ninguna manipulación, pero esta
información puede manipularse durante el proceso de codificado.
En el momento en que el votante cifra sus
opciones de voto, generalmente debe confiar en que el proceso de
codificado realmente cifra las opciones escogidas, y que, por tanto,
son estas las que se almacenan en el receptor.
Existen varias técnicas desarrolladas para
permitir al votante verificar que el mensaje codificado enviado se
corresponde con su intención de voto. Algunas de estas técnicas
realizan una verificación extremo a extremo, en la que el receptor
del mensaje codificado demuestra al emisor que el contenido es el
mismo que el emisor ha pretendido enviar, mientras que otras se
concentran en la verificación del proceso de codificado.
En [Ch01] y [Ma02] se presenta un método de
verificación del contenido de un mensaje o voto codificado extremo a
extremo, de forma que es el receptor el que proporciona al votante
una prueba de que el voto codificado recibido se corresponde con las
opciones escogidas por el votante.
Este método de verificación se basa en la
generación previa a la fase de votación de códigos asignados a cada
candidato u opción de voto, equivalentes al codificado de la opción.
A partir de estos códigos, mediante una operación criptográfica (por
ejemplo, una función de Hash) y un parámetro secreto, se calcula
para cada uno su correspondiente código de retorno.
Estos códigos se envían en papeletas a los
votantes, y se calculan de forma que sean distintos para cada
votante y cada papeleta.
En el momento de la votación, el votante
selecciona los códigos correspondientes a las opciones de voto
elegidas y los envía al servidor de voto. El servidor de voto
calcula a partir de los códigos de las opciones de voto los códigos
de retorno correspondientes usando el parámetro secreto que sólo él
conoce. A continuación, envía los códigos de retorno al votante, que
comprueba que coinciden con los códigos de retorno impresos en su
papeleta de voto al lado de las opciones de voto seleccionadas.
Dado que solamente el servidor de voto conoce el
parámetro secreto para generar los códigos de retorno, y que éstos
no están previamente almacenados, sino que se calculan a partir de
los códigos recibidos, el votante puede verificar que las opciones
escogidas concuerdan con las que se han recibido en el servidor.
Además, como los códigos de retorno se calculan a partir de los
códigos de las opciones de voto, el secreto del voto se
mantiene.
La debilidad de este método reside en la
protección de las papeletas de voto. Dado que los códigos de
candidato son distintos para cada papeleta de voto y no guardan
ninguna relación con los nombres de los candidatos, cualquiera que
accediera a las papeletas en una fase previa a la votación podría
intercambiar los códigos de dos candidatos, desviando los votos de
uno hacia el otro. Otro de los problemas es la usabilidad del
sistema: la introducción y comprobación de códigos alfanuméricos
aumenta considerablemente la complejidad del sistema de votación
desde el punto de vista del votante.
En [Be06] se presenta una idea distinta, en la
que la verificación va enfocada al proceso de codificado.
Después que el emisor haya escogido el contenido
del mensaje, éste es codificado por una entidad que se compromete
con el mensaje codificado resultante. Des este modo, a partir de
este momento el mensaje codificado no puede ser modificado. Una vez
realizada esta operación, el emisor puede escoger dos opciones:
enviar el mensaje o, en caso de querer realizar el proceso de
verificación, pedir a la entidad que ha codificado el mensaje que lo
descifre para poder comprobar que el contenido del mensaje
codificado se corresponde con el escogido por el emisor. En caso de
realizar la verificación, el mensaje codificado (cuyo contenido ha
sido desvelado) se desecha y se crea otro nuevo para proteger la
privacidad del emisor. Como la decisión de verificar la decide el
emisor de la información, este puede haber facilitado una
información distinta a la entidad de codificación para preservar su
confidencialidad cuando esta es descodificada al verificarse.
En [Ad08] se realiza una implementación basada
en el sistema propuesto en [Be06], Una vez el mensaje ha sido
codificado y la entidad que ha realizado proceso se compromete con
el resultado, existen dos opciones: enviar el mensaje codificado o
realizar el proceso de verificación del codificado. Este método se
diferencia del anterior en que, en lugar de realizar el proceso de
verificación pidiendo a la entidad que ha calculado el codificado
del mensaje que lo descifre, y comprobando que el resultado coincide
con el mensaje escogido por el emisor, el emisor pide a la entidad
que libere ciertos parámetros del codificado para poder comprobar de
forma independiente que el codificado es correcto.
Otra propuesta basada en [Be06] es [Sa08]. Esta
propuesta está especialmente diseñada para los lugares de votación
donde los votantes votan en máquinas de voto. En la propuesta, estas
máquinas están interconectadas mediante una red local aislada de
redes exteriores, de forma que ningún mensaje de una red exterior
pueda acceder a la red local.
Cuando un votante emite un voto codificado en
una de las máquinas, éste se envía a través de la red local y se
almacena en todas las máquinas del lugar de votación. Después de
esta "publicación" del voto codificado en todas las máquinas,
se presenta al votante la opción de verificar si el contenido del
voto codificado se corresponde con las opciones elegidas o enviarlo
(aunque en este caso ya se haya enviado). Si el votante decide
enviar el voto codificado, la máquina simplemente guarda en el
registro esa aceptación, dado que ya ha mandado el voto a las otras
máquinas del lugar de votación. En cambio, si el votante decide
comprobar que las opciones codificadas son las mismas que él ha
elegido, la máquina publica la información con la que ha realizado
el codificado a través de la red local.
Para proporcionar un método de verificación en
tiempo real, se propone que la red local esté conectada a una red
externa o Internet mediante un diodo de datos que asegure que la
información solo circula en una dirección, de modo que un observador
externo pueda observar el tráfico de la red local en tiempo real.
Así, el votante o un observador externo pueden captar el voto y los
parámetros de codificado para verificar que las opciones codificadas
son las que se habían seleccionado en un principio. Una vez se
audita un voto, éste se anula en todas las máquinas de voto a través
de la red local.
La principal desventaja de estos métodos es que
el votante requiere la ayuda de un sistema alternativo para
verificar el correcto codificado de las opciones una vez el sistema
muestra los parámetros del codificado. Para realizar esta
verificación son necesarias operaciones criptográficas que no pueden
ser realizadas a mano o mediante una calculadora convencional. El
uso de un dispositivo alternativo para realizar estos cálculos puede
ocasionar problemas de verificación y de usabilidad para el
votante.
Los métodos de verificación del correcto
registro de un mensaje codificado presentados tienen como principal
problema la usabilidad, dado que el usuario debe realizar
operaciones más o menos complejas para hacer la verificación, como
la introducción y comparación de códigos, o complejas operaciones
matemáticas.
La presente invención se basa en la
implementación de un método para verificar el correcto registro de
una información que resuelva los problemas de usabilidad de los
métodos anteriormente explicados.
La Figura 1a identifica los componentes básicos
del método de verificación de la recepción correcta de
información:
- \circ
- 101: entidad emisora.
- \circ
- 102: entidad receptora.
- \circ
- 103: información a codificar.
- \circ
- 104: información codificada.
- \circ
- 105: pruebas de contenido.
- \circ
- 106: emisor.
La Figura 1b muestra el proceso general de la
invención presentada con las etapas básicas. En ella se detalla de
forma visual el funcionamiento del proceso en el que la información
original 103 se codifica y se envía a la entidad receptora 102, que
envía unas pruebas de contenido 105 correspondientes a la
información codificada 104 a la entidad emisora 101 para verificar
el correcto registro de la información. Los procesos involucrados en
esta Figura 1b son:
- \circ
- La entidad emisora 101 codifica y envía 201 la información original 103 a la entidad receptora 102.
- \circ
- La entidad receptora 102 genera unas pruebas de contenido 105 a partir de la información codificada 104 y las envía 202 a la entidad emisora 101.
- \circ
- La entidad emisora 101 verifica 203 las pruebas de contenido 105 para comprobar el correcto registro de la información codificada 104 en la entidad receptora 102.
La Figura 2a identifica los componentes del
método de verificación de la recepción correcta de información
cuando se implementan las etapas adicionales:
- \circ
- 101: entidad emisora.
- \circ
- 102: entidad receptora.
- \circ
- 103: información a codificar.
- \circ
- 104: información codificada (primera codificación).
- \circ
- 105: pruebas de contenido.
- \circ
- 106: emisor.
- \circ
- 107: información codificada (segunda codificación).
- \circ
- 108: prueba de similitud.
La Figura 2b muestra el proceso general de la
invención presentada con las funcionalidades añadidas gracias a las
etapas adicionales. En esta figura se detalla de forma visual el
funcionamiento del proceso en el que se realizan y envían dos
codificaciones 104, 107 de la información original 103 relacionadas
por una prueba de similitud 108 a la entidad receptora 102, que
envía unas pruebas de contenido 105, correspondientes a la
información codificada 104, 107, a la entidad emisora 101 para
verificar el correcto registro de la información. Los procesos
involucrados en esta Figura 2b son:
- \circ
- La entidad emisora 101 codifica y envía 201 la información original 103 a la entidad receptora 102.
- \circ
- La entidad emisora 101 realiza una segunda codificación 107 de la información original 103 y la envía 204 a la entidad receptora 102.
- \circ
- La entidad emisora 101 también genera y envía 205 a la entidad receptora 102 una prueba de similitud 108 que relaciona la primera codificación de la información 104 y la segunda 107.
- \circ
- La entidad receptora 102 verifica 206 la prueba de similitud 108.
- \circ
- La entidad receptora 102 genera 202 las pruebas de contenido 105 a partir de la información codificada por primera vez 104 o por segunda vez 107 y las envía 202 a la entidad emisora 101.
- \circ
- La entidad emisora 101 verifica 203 las pruebas de contenido 105 para comprobar el correcto registro de la información codificada 104, 107 en la entidad receptora 102.
La Figura 3a identifica los componentes del
método de verificación de la recepción correcta de información en un
ejemplo de implementación en el que existe una entidad intermedia
que realiza uno o varios pasos intermedios de generación de la
información cifrada:
- \circ
- 101: entidad emisora.
- \circ
- 102: entidad receptora.
- \circ
- 103: información a codificar.
- \circ
- 104: información codificada (primera codificación).
- \circ
- 105: pruebas de contenido.
- \circ
- 106: emisor.
- \circ
- 107: información codificada (segunda codificación).
- \circ
- 108: prueba de similitud.
- \circ
- 109: información re-codificada.
- \circ
- 110: entidad intermedia.
La Figura 3b muestra un ejemplo de
implementación de la invención presentada. En la figura se detalla
de forma visual el proceso en el que se realizan y envían dos
codificaciones, una realizada con un algoritmo con propiedades
deterministas 104 y otra realizada con un algoritmo con propiedades
probabilísticas 107, se envía una prueba de similitud 108 que
relaciona las dos codificaciones y se recodifica la información
cifrada 104 en una entidad intermedia 110, que la envía a la entidad
receptora 102 para que genere a partir de la información
recodificada 109 las pruebas de contenido 105 que se envían a la
entidad emisora 101. Los procesos involucrados en esta Figura
3b
son:
son:
- \circ
- La entidad emisora 101 codifica de forma determinista y envía 201 la información original 103 a la entidad intermedia 110.
- \circ
- La entidad emisora 101 realiza una segunda codificación probabilística 107 de la información original 103 y la envía 204 a la entidad intermedia 110.
- \circ
- La entidad emisora 101 también genera y envía 205 a la entidad intermedia 110 una prueba de similitud 108 que relaciona la primera codificación de la información 104 y la segunda 107.
- \circ
- La entidad intermedia 110 verifica 206 la prueba de similitud 108.
- \circ
- La entidad intermedia 110 realiza 207 una recodificación con un algoritmo determinista de la información codificada 104 y la envía 207 a la entidad receptora 102.
- \circ
- La entidad receptora 102 genera 202 las pruebas de contenido 105 a partir de la información recodificada 109 y las envía 202 a la entidad emisora 101.
- \circ
- La entidad emisora 101 verifica 203 las pruebas de contenido 105 para comprobar el correcto registro de la información codificada 104, 107.
La Figura 4 muestra otro ejemplo de
implementación de la invención presentada. En la figura se detalla
de forma visual el proceso en el que se realiza una segunda
codificación 107 de la información original 103 en la entidad
emisora 101, que es enviada a la entidad intermedia 110 para
realizar una primera codificación 104 de la información. Estas
codificaciones envían a la entidad receptora 102 para generar las
pruebas de contenido 105 que son enviadas a la entidad emisora 101
para verificar el correcto registro de la información. Los procesos
involucrados en esta Figura 4 son:
- \circ
- La entidad emisora 101 realiza una segunda codificación de la información (con propiedades probabilísticas) 107 y la envía 204 a la entidad intermedia 110.
- \circ
- La entidad intermedia 110 realiza 201 una primera codificación de la información (con propiedades deterministas) 104 a partir de la información codificada 107, y envía ambas codificaciones 201, 204 a la entidad receptora 102.
- \circ
- La entidad receptora 102 genera 202 las pruebas de contenido 105 a partir de la información codificada 104 y las envía 202 a la entidad emisora 101.
- \circ
- La entidad emisora 101 verifica 203 las pruebas de contenido 105 para comprobar el correcto registro de la información codificada 104, 107.
La presente invención describe un método de
verificación que permite comprobar el correcto registro de una
información (p. ej., que la información que recibe un medio de
almacenamiento es la misma que se le ha proporcio-
nado).
nado).
Este método de verificación es aplicable en
procesos en los que el emisor envía cierta información al receptor y
se quiere comprobar que la información recibida en el receptor es la
misma, especialmente cuando se quiere preservar la privacidad del
emisor.
El método descrito en esta invención se
caracteriza porque la verificación del correcto registro de una
información se realiza preservando la privacidad del emisor,
basándose en el cálculo de un código de retorno en la entidad
receptora correspondiente al contenido de la información registrada
sin necesidad de descodificar esta información, y porque el
conocimiento previo de este código de retorno por parte del emisor
de la información permite su comproba-
ción.
ción.
En una implementación básica, el método
comprende las siguientes etapas:
- a)
- Codificado de la información original por parte de uno o varios emisores en una entidad emisora, y envío de la información codificada a una entidad receptora;
- b)
- Cálculo por parte de la entidad receptora de una prueba de contenido de la información codificada recibida, y envío de dicha prueba a la entidad emisora;
- c)
- Verificación por parte de los emisores de que la prueba de contenido recibida se corresponde con los contenidos originales codificados en la entidad emisora;
En una implementación preferente, el método
utiliza un algoritmo criptográfico asimétrico con propiedades
deterministas. En una implementación específica con EIGamal, se
considera prefijar el factor aleatorio del codificado para codificar
de forma determinista. Una vez se recibe esta información codificada
en la entidad receptora, se calculan una o varias pruebas de
contenido a partir de la información codificada de forma
determinista usando una función criptográfica unidireccional, como
una función de Hash o una HMAC.
En el caso en que el mensaje codificado esté
formado por un conjunto de codificaciones individuales, se considera
la generación de las pruebas de contenido a partir de cada una de
las diferentes codificaciones o de una prueba de contenido a partir
del conjunto de las mismas.
También se considera la posibilidad de la
realización de una segunda codificación de la información. En una
implementación preferente, se relaciona el contenido de los
diferentes codificados de la información mediante una prueba de
similitud, que puede ser una prueba de conocimiento nulo que
demuestre que uno de los dos codificados es el
re-codificado o el descodificado parcial del otro.
En una implementación específica con EIGamal, se considera el uso
del Protocolo de Identificación de Schnorr. En una implementación
preferente la prueba de similitud se calcula a partir de dos
conjuntos de mensajes codificados, de modo que se demuestra que los
mensajes codificados de un grupo corresponden al
re-codificado de los mensajes del otro grupo, o que
los mensajes codificados de un grupo corresponden al descodificado
parcial de los mensajes del otro grupo. En este caso se considera el
uso de algoritmos de codificado con propiedades homomórficas, tales
como EIGamal, Paillier, o algoritmos basados en curvas
elípticas.
elípticas.
En una implementación no preferente se generan
más de dos codificados distintos de la información. En este caso se
contempla la generación de pruebas de similitud que relacionen todos
los codificados.
En una implementación alternativa en la que el
método utiliza un algoritmo criptográfico asimétrico con propiedades
probabilísticas, la/s prueba/s de contenido se calculan a partir de
este codificado usando una función criptográfica unidireccional,
como una función de Hash o una HMAC. En una implementación
específica de este método se considera la realización del
descodificado parcial en la entidad receptora de la información
codificada sin revelar el contenido, para calcular sobre esta
información parcialmente descodificada la/s prueba/s de
contenido.
\newpage
En una implementación práctica de este método se
contempla su utilización en entornos de voto electrónico para la
verificación del correcto registro de las opciones de voto
codificadas enviadas por los votantes al servidor de voto.
La presente invención describe un método de
verificación del correcto registro de una información. Este método
de verificación es aplicable en procesos de registro de información
donde se debe preservar la privacidad del emisor. Este método es
aplicable a entornos de voto electrónico, para facilitar a los
votantes la verificación del correcto registro de su voto.
El método de verificación del correcto registro
de una información descrito en la presente invención permite al
receptor de una información codificada, enviar al emisor una prueba
del contenido codificado en dicha información sin necesidad de que
el receptor deba descodificarla. De este modo el emisor puede
comprobar que la información codificada recibida por el receptor
contiene la misma información original que ha sido codificada por
este emisor sin necesidad de que el receptor la conozca.
El método es independiente del envío de la
información por parte del emisor al receptor, ya sea a través de una
red de comunicación, un medio de almacenamiento (como un CD o DVD),
etc. Además, se contempla que el canal de envío de la información
codificada y de recepción de la prueba de información codificada
sean distintos.
El método de verificación descrito en la
presente invención comprende las siguientes etapas:
- a)
- Codificado de la información original por parte de uno o varios emisores en una entidad emisora, y envío de la información codificada a una entidad receptora;
- b)
- Cálculo por parte de la entidad receptora de una prueba de contenido de la información codificada recibida, y envío de dicha prueba a la entidad emisora;
- c)
- Verificación por parte de los emisores de que la prueba de contenido recibida se corresponde con los contenidos originales codificados en la entidad emisora;
La etapa de codificado consiste en la
codificación por parte de un emisor (p.e., votante) de una
información o de los mensajes originales (p.e., votos) en una
entidad de envío (p.e., un ordenador personal del emisor), con el
objetivo de preservar su privacidad. En una implementación
preferente, en esta etapa se utilizan criptosistemas de clave
pública. El codificado se realizará con la componente pública
P del algoritmo de codificado.
De forma adicional, el algoritmo de codificado
tendría propiedades homomórficas. Existen varios algoritmos del
estado de la técnica que cumplen con esta propiedad, como por
ejemplo EIGamal, Paillier o basados en curvas elípticas.
En el caso de que el algoritmo tenga propiedades
homomórficas, se contempla también la opción preferente de que este
cifrado se realice de forma determinista, de modo que el resultado
de la codificación de una información específica será siempre el
mismo para un emisor concreto. La codificación determinista de la
misma información por parte de distintos emisores sería
preferentemente distinta. En el caso de escoger el algoritmo de
codificado EIGamal, se considera prefijar el exponente aleatorio del
codificado para conseguir esta propiedad determinista. Se contempla
utilizar parámetros únicos para cada emisor e información codificada
con el fin de que esta información sea solo determinista para la
combinación emisor e información. En una implementación preferente,
cada emisor dispondrá de un identificador único y el identificador
de la información original a codificar se obtiene al aplicar una
función de hash sobre dicha información. De este modo, el exponente
aleatorio será una combinación del identificador único del emisor y
el hash de la información original (p.e., una concatenación de ambos
o un hash de dicha concatenación).
También se contempla una implementación
alternativa en la que la codificación determinista la realiza una
entidad intermedia, distinta del emisor, sobre el cifrado del
mensaje que ha realizado el emisor. De este modo, el emisor envía la
información codificada de forma probabilística a la entidad
intermedia y ésta genera un cifrado determinista de dicha
información. Este cifrado determinista puede realizarse sobre el
conjunto global del mensaje codificado por el emisor o sólo
aplicarse sobre el factor de cifrado utilizado por el emisor para
codificar el mensaje o solo una parte. Un ejemplo del primer caso
sería una codificación (p.e., un cifrado o exponenciación) del
mensaje codificado. Un ejemplo del segundo caso sería una
re-codificación del mensaje (p.e., un
re-cifrado de un algoritmo con propiedades
homomórficas utilizando la misma clave pública con la que el emisor
codificó la información). En una implementación específica se
considera el uso del criptosistema EIGamal para el cifrado o
re-cifrado de la información codificada por el
emisor.
En una tercera implementación alternativa, la
codificación determinista se realiza de forma conjunta en el emisor
y una entidad intermedia, y el resultado de esta doble codificación
determinista es facilitado a la entidad receptora.
El envío se realiza por parte de la entidad
emisora a la entidad receptora mediante un canal físico o lógico. En
una implementación preferente, por canal físico se utilizaría el
correo postal o FAX. Para ello, la información codificada se
registraría en formato papel o equivalente. En el caso de canal
lógico, en una implementación preferente se utilizaría una red de
comunicación tal como Internet o telefonía. En este caso, la
información codificada se representaría de forma lógica tal como
binaria o electrónica.
También se contempla la posibilidad de utilizar
modelos híbridos de envío lógico/físico. En estos casos, la
información codificada se guardaría de forma lógica en un
dispositivo físico, tal como un CD-ROM o cinta
magnética o dispositivo removible de almacenamiento. Esta
información se enviaría de forma física a la entidad receptora,
utilizando uno de los canales mencionados anteriormente o
simplemente a mano.
La codificación del mensaje puede realizarse
sobre la totalidad del mensaje original o mediante la codificación
individual de partes del mensaje. En el segundo caso, las distintas
partes codificadas que forman el mensaje codificado pueden enviarse
de forma combinada o de forma independiente. En una implementación
preferente, el mensaje se divide y codifica en partes que combinadas
(p.e., concatenadas) o operadas (p.e., multiplicadas
aritméticamente) permitan obtener la totalidad del mensaje original
codificado. Opcionalmente, estas partes codificadas del mensaje
podrían facilitar información parcial del mensaje global si se
descodifican individualmente. En una implementación práctica de esta
propuesta el mensaje se codifica en partes que descodificadas
individualmente facilitan información parcial significativa del
mensaje global (p.e., cada parte podría contener un selección del
total de las selecciones que ha realizado un votante de un voto).
Opcionalmente, el mensaje podría también contener adicionalmente
partes añadidas con información neutra que no modificaría el
contenido del mensaje original, Esta técnica se utilizaría para
evitar que se pueda romper la privacidad del emisor a partir del
número de partes que forman un mensaje codificado: si hay un solo
emisor que ha enviado un mensaje con un número concreto de partes
codificadas, su identidad se podría descubrir al encontrar cuál de
los mensajes descodificados requiere ese mismo número de opciones
para su codificación. Tomando como referencia un entorno de voto
electrónico, un ejemplo sería encontrar un voto que tuviera un
número de selecciones que que ningún otro votante haya realizado. En
ese caso, todos los votos se codificarían en tantas partes como el
número de selecciones máximas permitidas, y las partes que
correspondan a selecciones no realizadas se representarían como
selecciones vacías o nulas.
En una implementación preferente, el contenido
de la información a codificar se procesaría previamente para
convertirla a un formato numérico susceptible de ser compactado
mediante técnicas aritméticas conocidas en el estado de la técnica,
como sería el producto o la suma. Esta conversión podría hacerse a
nivel del global de la información o por componentes individuales.
Tomando el entorno del voto electrónico como referencia, un voto
podría convertirse en un conjunto o vector de números, cada cual
representado de forma única el valor de cada una de las selecciones.
Esta conversión podría no ser necesaria si la información original
ya estuviera en formato numérico o pudiera descomponerse en este
formato. En una implementación preferente, cada componente del
mensaje se representaría por un número primo, de forma que el
mensaje podría compactarse mediante el producto de los componentes y
descompactarse mediante una operación de factorización. En este
caso, las selecciones nulas se representarían mediante el valor
neutro (i.e., 1). Este método es susceptible de implementarse
utilizando operaciones aritméticas modulares para la compactación
del mensaje cifrado o de sus partes cifradas.
En una implementación práctica, el mensaje se
convertiría en un conjunto de números primos, cada uno representando
a una información del mensaje, tal como una selección, que se
codificarían mediante un algoritmo con propiedades homomórficas
multiplicativas (p.e., EIGamal). De este modo, se podrían verificar
individualmente los contenidos de cada parte del mensaje codificado
y después de verificarlos compactar el mensaje mediante la operación
homomófica de todas a algunas de sus partes codificadas. El mensaje
original se podrá descompactar de nuevo mediante la factorización en
números primos del valor obtenido después de ser descodificado.
En esta etapa la entidad receptora genera una
prueba de contenido de los mensajes codificados recibidos, y envía
dicha prueba a la entidad emisora. En el caso de que el mensaje
codificado esté formado por un conjunto de partes del mensaje
codificadas, la entidad receptora podría enviar una prueba de
contenido individual de cada una de las
partes.
partes.
En una implementación preferente se usa una
función unidireccional para calcular el código de retorno a partir
del mensaje codificado, como podría ser una función de hash:
En otra implementación preferente, la entidad
receptora dispone de una clave secreta S para generar la
prueba de contenido mediante una función MAC, por ejemplo con una
función HMAC:
En el caso de que el mensaje codificado esté
formado por un conjunto de codificaciones individuales, en una
implementación preferente se pueden generar tantas pruebas de
contenido como codificaciones distintas. En este caso, estas pruebas
podrían operarse de forma que se obtenga una única prueba de
contenido, por ejemplo mediante una operación XOR:
Las pruebas de contenido también se pueden
calcular usando el mensaje codificado resultado de la operación de
varios mensajes codificados:
En una implementación alternativa en la que se
ha codificado la información usando un algoritmo probabilístico en
la etapa a), se considera la descodificación parcial de la
información por parte de la entidad receptora con el fin de eliminar
el factor aleatorio de la codificación, sin revelar por ello el
contenido de la información codificada. En esta implementación, las
pruebas de contenido se realizan a partir de la información
parcialmente descodificada.
En esta etapa el emisor verifica que la prueba
de contenido se ha obtenido a partir de la información original
codificada.
En una implementación preferente los emisores de
los mensajes codificados poseerán previamente una lista con los
valores válidos de las pruebas de contenido para cada valor (o
subconjunto de valores válidos) posibles del mensaje original.
Esta lista se puede haber calculado previamente
antes de las etapas de codificado, a partir del conocimiento de los
posibles mensajes a enviar. En una implementación preferente, estos
valores se calculan previamente a partir de la clave S de la
entidad de retorno conjuntamente con el codificado determinista por
parte del emisor específico de cada posible valor válido del
mensaje.
En el caso de que se pueda enviar más de un
mensaje codificado y que solo se genere un único código de retorno,
se podrán especificar también en esta etapa previa los códigos de
retorno correspondientes a determinados conjuntos de mensajes, de
forma que en la etapa de verificación se comprueba un único código
de retorno para varios mensajes codificados.
La invención contempla la implementación de tres
etapas adicionales a las anteriores de generación y envío de una
segunda codificación del mensaje, de generación y envío de una
prueba de similitud y de verificación de la prueba de similitud.
Esta etapa se puede realizar antes o después de
la etapa de codificado y envío a).
En la etapa de segundo codificado, la
información original codificada en el paso a) también es codificada
por la misma entidad emisora y enviada a la misma entidad receptora.
El método de codificación utilizado en esta etapa puede ser el mismo
que en la etapa a) de codificado de la información.
En una implementación preferente se utilizará
para codificar la información el mismo criptosistema de clave
pública, realizando el cifrado con la componente pública P
del algoritmo de cifrado. El criptosistema y la clave pública
utilizados para cifrar pueden ser los mismos que en la etapa a) de
codificado de la información o pueden ser
distintos.
distintos.
En otra implementación preferente este segundo
codificado de la información se realiza con un algoritmo de
codificado con propiedades probabilísticas y homomórficas. De este
modo, no será posible en ningún caso correlacionar la codificación
resultante con el mensaje original cifrado. En el caso de escoger el
algoritmo de codificado EIGamal, el exponente se escogerá siempre de
forma aleatoria.
El envío del segundo codificado del mensaje se
puede realizar del mismo modo que en la etapa a) anterior. De forma
preferente, se utilizaría el mismo canal de envío que en la etapa a)
aunque también podrían enviarse ambas codificaciones por canales
distintos.
Del mismo modo que en la etapa a), la
codificación del mensaje puede realizarse sobre la totalidad o en
partes del mensaje.
En esta etapa la entidad emisora realiza una
prueba de similitud entre la información codificada y la segunda
codificación de la información, y después envía dicha prueba a la
entidad emisora.
Esta etapa se realiza después de las dos etapas
de codificación de la información. El envío de la prueba de
similitud puede hacerse de forma individual o junto con el envío de
cualquiera de las dos codificaciones. La forma de envío puede ser
cualquiera de las vistas anteriormente para la información
codificada.
En una implementación preferente esta prueba de
similitud se obtiene a partir de prueba de conocimiento nulo de
igualdad de contenido entre textos codificados. En un ejemplo de
implementación, se utilizarían en los dos codificados de la
información algoritmos con propiedades homomórficas que permiten
realizar una operación de re-codificado. De este
modo, la prueba de conocimiento nulo puede ser una prueba de
re-codificado o de descodificado parcial. En el caso
de utilizar el sistema de codificado EIGamal en las dos etapas de
codificado, la prueba de conocimiento nulo puede consistir en la
implementación del Protocolo de Identificación de Schnorr. La prueba
de conocimiento nulo podría ser interactiva o no.
En el caso de utilizar el sistema de codificado
EIGamal, tenemos los siguientes componentes:
El codificado se realiza:
Para descifrar calculamos 7
Si se ha utilizado un algoritmo de codificado
determinista en la etapa a) de codificado:
{}\hskip3,3cm únicos del emisor y del mensaje).
En el caso de que el algoritmo de la segunda
codificación sea probabilístico:
Siendo r = v + r', se puede
considerar c_{2} como el re-codificado de
c_{1} con el factor r' y calcular la prueba basada
en el Protocolo de Identificación de Schnorr del siguiente modo:
- -
- Calcular c_{2}/c_{1} = (1 \cdot h^{r'}, g^{r'}).
- -
- Definiendo g' = h y h' = h^{r'}, se puede probar en conocimiento nulo que se conoce el factor de recodificado r':
- -
- Seleccionar un número aleatorio e, 1 \leq e \leq q - 1 , y calcular w = g'^{e}.
- -
- Calcular d = H(w|h'|g'|h|g), donde H es una función de hash.
- -
- Finalmente, calcular s = r' \cdot d + e.
- -
- La prueba de conocimiento nulo de que los dos codificados tienen el mismo contenido consiste en los parámetros [w, s].
En el caso de efectuar esta prueba sobre un
conjunto de mensajes, se considera el uso de algoritmos con
propiedades homomórficas, en los que la operación de los mensajes
codificados con una operación \Phi da como resultado el codificado
de los mensajes operados mediante la operación \Theta. De este
modo se puede obtener un mensaje codificado resultado de la
operación de todos los otros:
Siendo E_{P}(m) el codificado de
un mensaje con una clave pública P, el mensaje codificado
resultante de operar n mensajes es
El mensaje codificado resultante después de
operar los mensajes codificados en la etapa a) es
Mientras que el mensaje codificado resultante
después de operar los mensajes codificados en la segunda etapa de
codificación es
La prueba de conocimiento nulo de que los dos
codificados del conjunto de mensajes tienen el mismo contenido se
puede resumir en una prueba de que los dos mensajes codificados
resultantes tienen el mismo contenido. Ésta puede ser una prueba de
re-codificado o de descodificado parcial. En el caso
de utilizar el sistema de codificado EIGamal en las dos etapas de
codificado, la prueba de conocimiento nulo puede consistir en la
implementación del Protocolo de Identificación de Schnorr.
Si se ha utilizado un algoritmo de codificado
determinista en la etapa a) de codificado:
El mensaje codificado resultante después de
operar un conjunto de n mensajes codificados en la etapa a)
es
\newpage
En el caso en que el algoritmo de la segunda
codificación sea probabilístico:
El mensaje codificado resultante después de
operar el mismo conjunto de n mensajes codificados es
Siendo r_{i} = v_{i} +
r_{i}', se puede considerar C_{2} como el
re-codificado de C_{1} con el factor de
re-codificado R' = r_{1}' +
r_{2}'+... + r_{n}', y calcular la prueba basada
en el Protocolo de Identificación de Schnorr del siguiente modo:
- -
- Calcular C_{2}/C_{1} = (1 \cdot h^{R'}, g^{R'}).
- -
- Definiendo g' = h y h' = h^{R'}, se puede probar en conocimiento nulo que se conoce el factor de re-codificado R':
- -
- Seleccionar un número aleatorio e, 1 \leq e \leq q – 1 , y calcular w = g'^{e}.
- -
- Calcular d = H(w|h'|g'|h|g), donde H es una función de hash.
- -
- Finalmente, calcular s = R' \cdot d + e.
- -
- La prueba de conocimiento nulo de que los dos codificados tienen el mismo contenido consiste en los parámetros [w, s].
En esta etapa la entidad receptora verifica que
las codificaciones recibidas han sido realizadas sobre la misma
información, a partir de la prueba de similitud recibida.
En el caso de que esta prueba se haya obtenido a
partir de una prueba de conocimiento nulo, esta verificación se
realiza verificando que esta prueba conocimiento nulo se ha generado
a partir de las codificaciones recibidas.
En una implementación preferente, los dos
codificados se han realizado con algoritmos que tienen propiedades
homomórficas utilizando la misma clave pública o el mismo factor de
cifrado, y la prueba de similitud se ha generado a partir de una
prueba de conocimiento nulo de re-codificado o de
descodificado parcial.
Si se ha utilizado un algoritmo de codificado
determinista en la etapa a) de codificado:
Y el algoritmo del segundo codificado es
probabilístico:
Siendo r = v + r', la
verificación de la prueba efectuada que demuestra el conocimiento
del factor de re-codificado de c_{1} con el
factor r' para obtener c_{2} se basa en la
verificación de [w, s] si la prueba se ha realizado usando el
Protocolo de Identificación de Schnorr:
- -
- Calcular c_{2}/c_{1} = (1 \cdot h^{r'}, g^{r'}).
- -
- Definir g' = h y h' = h^{r'}.
- -
- Calcular d = H(w|h'|g'|h|g), donde H es una función de hash.
- -
- Verificar que g'^{s} = w \cdot h'^{d}.
En el caso que la prueba de conocimiento nulo se
haya efectuado sobre un conjunto de mensajes codificados con
algoritmos con propiedades homomórficas, en los que la operación de
los mensajes codificados con una operación \Phi da como resultado
el codificado de los mensajes operados mediante la operación
\Theta, la verificación se realiza utilizando el resultado de la
operación de los mensajes codificados en la etapa a) y el resultado
de la operación de los mensajes codificados en la etapa c).
En el caso de utilizar el sistema de codificado
EIGamal en las dos etapas de codificado, la prueba de conocimiento
nulo puede consistir en la implementación del Protocolo de
Identificación de Schnorr.
Si se ha utilizado un algoritmo de codificado
determinista en la etapa a) de codificado:
El mensaje codificado resultante después de
operar un conjunto de n mensajes codificados en la primera
etapa es
En el caso en que el algoritmo de la etapa de
segundo codificado es probabilístico:
El mensaje codificado resultante después de
operar el mismo conjunto de n mensajes codificados en la
segunda etapa es
Siendo r_{i} = v_{i} +
r_{i}', se puede considerar C_{2} como el
re-codificado de C_{1} con el factor de
re-codificado R'= r_{1}' +
r_{2}' +... + r_{n}'. La verificación se efectúa
sobre los parámetros [w, s] si la prueba se ha realizado
usando el Protocolo de Identificación de Schnorr:
- -
- Calcular C_{2}/C_{1} = (1 \cdot h^{R'}, g^{R'}).
- -
- Definir g' = h y h' = h^{R'}.
- -
- Seleccionar un número aleatorio e, 1 \leq e \leq q - 1 , y calcular w = g'^{e}.
- -
- Calcular d = H(w|h'|g'|h|g), donde H es una función de hash.
- -
- Verificar que g'^{s} = w \cdot h'^{d}.
- [Ch01]
- Chaum, D. (\underbar{2001}). "Surevote technical overview (slides)". http://www.vote.caltech.edu/wote01/pdfs/ surevote.pdf.
- [Ma02]
- Malkhi, D; Margo, O; Pavlov, E. "E-voting without ``cryptography''". Conference Information: 6th International Conferene on Financial Cryptography, \underbar{2002}, SOUTHAMPTON BERMUDA. FINANCIAL CRYPTOGRAPHY.
- [Be06]
- Josh Benaloh. "Simple verifiable elections". Proceedings of the USENIX/Accurate Electronic Voting Technology (\underbar{2006}). Vancouver, B.C., Canada.
- [Ad08]
- Ben Adida. "Helios: web-based open-audit voting". Proceedings of the 17th conference on Security symposium, USENIX. Pages 335-348. Year of Publication: \underbar{2008}
- [Sa08]
- Sandler, D., Derr, K., and Wallach, D. S. \underbar{2008}. "VoteBox: a tamper-evident, verifiable electronic voting system". In Proceedings of the 17th Conference on Security Symposium, USENIX Association. Pp. 349-364.
Claims (20)
1. Método para verificar que una información de
un emisor se ha registrado de forma correcta por parte de una
entidad receptora preservando la privacidad del emisor,
caracterizado por comprender las siguientes etapas:
- a)
- Codificado de la información del emisor en una entidad emisora y envío de dicha codificación a la entidad receptora;
- b)
- Generación por parte de la entidad receptora de una prueba de contenido basada en la información codificada en el paso a), y posterior envío de la prueba de contenido a la entidad emisora; y
- c)
- Verificación por parte del emisor de que la prueba de contenido se corresponde con la información que se ha codificado.
\vskip1.000000\baselineskip
2. Método según la reivindicación 1,
caracterizado por comprender las siguientes etapas
adicionales:
- d)
- Realización de un segundo codificado de la información del emisor en la entidad emisora antes o después del paso a), y envío de dicha segunda codificación a la entidad receptora;
- e)
- Cálculo de una prueba de similitud que demuestra que las codificaciones de los pasos a) y d) se han realizado sobre la misma información sin revelar dicha información, y envío de dicha prueba de similitud a la entidad receptora; y
- f)
- Verificación por parte de la entidad receptora de que la prueba de similitud del paso e) se corresponde a las dos informaciones codificadas en los pasos a) y d);
\vskip1.000000\baselineskip
3. Método según la reivindicación 1
caracterizado porque el algoritmo de codificado de la etapa
a) tiene propiedades deterministas.
4. Método según la reivindicación 2
caracterizado porque el algoritmo de codificado de la etapa
a) tiene propiedades probabilísticas.
5. Método según la reivindicación 2
caracterizado porque el algoritmo de codificado de la etapa
d) tiene propiedades probabilísticas.
6. Método según la reivindicación 3
caracterizado porque las propiedades deterministas del
algoritmo de codificado se consiguen utilizando un algoritmo de
codificado probabilístico y con un exponente determinado por el
emisor y el valor del mensaje.
7. Método según la reivindicación 2
caracterizado porque los algoritmos de codificado usados en
las etapas a) y d) tienen propiedades homomórficas.
8. Método según la reivindicación 2
caracterizado porque en el codificado de las etapas a) y d)
se usa un parámetro común, tal como la misma clave pública.
9. Método según la reivindicación 2
caracterizado porque la prueba de similitud de la etapa e) es
la prueba de conocimiento nulo de que el codificado de la etapa a)
es el re-codificado del codificado de la etapa d), o
viceversa.
10. Método según la reivindicación 2
caracterizado porque la información codificada en las etapas
a) y d) está compuesta respectivamente por un conjunto de
codificaciones individuales de partes de dicha información.
11. Método según la reivindicación 10,
caracterizado porque la prueba de similitud de la etapa e)
está compuesta por un conjunto de pruebas de similitud entre el
conjunto de las codificaciones individuales obtenidas en la etapa a)
y el conjunto de las codificaciones individuales obtenidas en la
etapa d).
12. Método según la reivindicación 2
caracterizado porque la prueba de contenido de la etapa b) se
obtiene a partir de una función unidireccional sobre la información
codificada en la etapa a), del grupo que comprende un SHA1, SHA2 o
MD5.
13. Método según la reivindicación 2
caracterizado porque la prueba de contenido de la etapa b) se
genera a partir del codificado de la información codificada en la
etapa a).
14. Método según la reivindicación 13
caracterizado porque la función de codificación es una
función criptográfica que usa una clave secreta S asignada a
la entidad receptora del grupo que comprende un cifrado simétrico o
una función MAC.
15. Método según la reivindicación 10,
caracterizado porque la prueba de contenido generada en la
etapa b) está compuesta por el conjunto de pruebas de contenido de
las codificaciones individuales de la etapa a).
16. Método según la reivindicación 15
caracterizado porque la prueba de contenido generada en la
etapa b) es el resultado de la operación del conjunto de pruebas de
contenido de las codificaciones individuales de la etapa a).
17. Método según la reivindicación 1
caracterizado porque la verificación de la etapa c) se basa
en la posesión por parte del emisor de los valores de las pruebas de
contenido correspondientes a cada posible información válida.
18. Método según la reivindicación 17
caracterizado por comprender una etapa adicional g) de
generación de los valores de las pruebas de contenido
correspondientes a cada posible información válida y envío de estos
valores a los emisores.
19. Método según la reivindicación 17
caracterizado porque la verificación de la etapa c) se
realiza comparando los códigos de contenido generados en la etapa b)
con aquellos que el emisor posee.
20. Método según la reivindicación 4
caracterizado por realizar una etapa adicional h) de
descodificado parcial de la información codificada en la etapa a)
antes de generar la prueba de contenido de la etapa b).
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200902326A ES2367940B1 (es) | 2009-12-04 | 2009-12-04 | Método para la verificación del correcto registro de una información. |
EP10834256.9A EP2509050B1 (en) | 2009-12-04 | 2010-12-01 | Method for verifying the correct registration of an item of information |
ES10834256T ES2936809T3 (es) | 2009-12-04 | 2010-12-01 | Método para verificar el correcto registro de una información |
US13/513,613 US8713319B2 (en) | 2009-12-04 | 2010-12-01 | Preserving privacy of digital communication information |
PCT/ES2010/000490 WO2011067437A2 (es) | 2009-12-04 | 2010-12-01 | Método para verificar el correcto registro de una información |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES200902326A ES2367940B1 (es) | 2009-12-04 | 2009-12-04 | Método para la verificación del correcto registro de una información. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2367940A1 true ES2367940A1 (es) | 2011-11-11 |
ES2367940B1 ES2367940B1 (es) | 2012-09-27 |
Family
ID=44115356
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES200902326A Active ES2367940B1 (es) | 2009-12-04 | 2009-12-04 | Método para la verificación del correcto registro de una información. |
ES10834256T Active ES2936809T3 (es) | 2009-12-04 | 2010-12-01 | Método para verificar el correcto registro de una información |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES10834256T Active ES2936809T3 (es) | 2009-12-04 | 2010-12-01 | Método para verificar el correcto registro de una información |
Country Status (4)
Country | Link |
---|---|
US (1) | US8713319B2 (es) |
EP (1) | EP2509050B1 (es) |
ES (2) | ES2367940B1 (es) |
WO (1) | WO2011067437A2 (es) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230133B2 (en) * | 2014-01-14 | 2016-01-05 | International Business Machines Corporation | Secure access for sensitive digital information |
US9544150B2 (en) | 2014-06-04 | 2017-01-10 | International Business Machines Corporation | Using multiple digital identification documents to control information disclosure |
CN105320892B (zh) * | 2014-06-16 | 2022-01-04 | 腾讯科技(深圳)有限公司 | 社交通信应用的通信记录存储方法及相关系统 |
EP3145114A1 (en) * | 2015-09-18 | 2017-03-22 | Gemalto Sa | Electronic voting using secure electronic identity device |
US10095880B2 (en) * | 2016-09-01 | 2018-10-09 | International Business Machines Corporation | Performing secure queries from a higher security domain of information in a lower security domain |
US10255442B2 (en) * | 2016-11-15 | 2019-04-09 | Adobe Inc. | Controlled publication of sensitive content |
CN107317667B (zh) * | 2017-06-05 | 2020-06-05 | 国政通科技股份有限公司 | 一种身份证件丢失的预警方法及预警装置 |
US11087578B2 (en) | 2018-11-15 | 2021-08-10 | Daniel Bernard Ruskin | Voting booth, system, and methods of making and using same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0697776A2 (en) * | 1994-08-19 | 1996-02-21 | Nec Corporation | Method and apparatus for secure electronic voting |
US20080000969A1 (en) * | 2004-03-25 | 2008-01-03 | Cryptomathic A/S | Electronic Voting Systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409557B2 (en) * | 1999-07-02 | 2008-08-05 | Time Certain, Llc | System and method for distributing trusted time |
US20030159032A1 (en) * | 2000-08-16 | 2003-08-21 | Edgardo Gerck | Automatically generating unique, one-way compact and mnemonic voter credentials that support privacy and security services |
EP1374188A2 (en) * | 2001-03-24 | 2004-01-02 | Votehere Inc. | Verifiable secret shuffles and their application to electronic voting |
US20050193198A1 (en) * | 2004-01-27 | 2005-09-01 | Jean-Michel Livowsky | System, method and apparatus for electronic authentication |
DE602004013846D1 (de) * | 2004-07-27 | 2008-06-26 | Scytl Secure Electronic Voting | Verfahren zum verwalten und schützen von wählprozessen, die mit einem elektronischen wähl-endgerät assoziiert sind, und verwendetes operatives modul |
ES2365887B1 (es) * | 2009-05-05 | 2012-09-03 | Scytl Secure Electronic Voting S.A. | Metodo de verificacion de procesos de descifrado |
-
2009
- 2009-12-04 ES ES200902326A patent/ES2367940B1/es active Active
-
2010
- 2010-12-01 US US13/513,613 patent/US8713319B2/en active Active
- 2010-12-01 ES ES10834256T patent/ES2936809T3/es active Active
- 2010-12-01 WO PCT/ES2010/000490 patent/WO2011067437A2/es active Application Filing
- 2010-12-01 EP EP10834256.9A patent/EP2509050B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0697776A2 (en) * | 1994-08-19 | 1996-02-21 | Nec Corporation | Method and apparatus for secure electronic voting |
US20080000969A1 (en) * | 2004-03-25 | 2008-01-03 | Cryptomathic A/S | Electronic Voting Systems |
Non-Patent Citations (4)
Title |
---|
Fontaine C. et al. "A survey of Homomorphic Encryption for Nonspecialists". Hindawi Publishing Corporation. EURASIP Journal on Information Security, 2007, article ID 13801, pag. 1-10. doi:10.1155/2007/13801 * |
Magkos E. et al. "Accurate and large-scale privacy-preserving data mining using the election paradigm". Data & Knowledge Engineering, 20091101, ELSEVIER BV, NL, vol. 68, pag. 1224-1236. doi:10.1016/j.datak.2009.06.003 * |
Moayed M. J. et al. "A Survey on Cryptography Algorithms in Security of Voting System Approaches". Computational Sciences and Its Applications, 2008. ICCSA '08. International Conference on, 20080630, IEEE, Piscataway, NJ, USA. ISBN 978-0-7695-3243-1. Pg. 190 - 200. doi:10.1109/ICCSA.2008.42 * |
Morales-Rocha V. et al. "New voter verification scheme using pre-encrypted ballots". Computer Communications, 20090402, Elsevier Science Publisher, Amsterdam, NL , vol. 32, pag. 1219 " 1227. doi:10.1016/j.comcom.2009.03.007 * |
Also Published As
Publication number | Publication date |
---|---|
US20120239932A1 (en) | 2012-09-20 |
WO2011067437A3 (es) | 2011-07-14 |
EP2509050B1 (en) | 2022-09-21 |
US8713319B2 (en) | 2014-04-29 |
WO2011067437A2 (es) | 2011-06-09 |
ES2936809T3 (es) | 2023-03-22 |
EP2509050A2 (en) | 2012-10-10 |
EP2509050A4 (en) | 2015-07-01 |
ES2367940B1 (es) | 2012-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Menezes et al. | Handbook of applied cryptography | |
ES2367940B1 (es) | Método para la verificación del correcto registro de una información. | |
CA2652084C (en) | A method and apparatus to provide authentication and privacy with low complexity devices | |
Gennaro et al. | Algorithmic tamper-proof (ATP) security: Theoretical foundations for security against hardware tampering | |
ES2365887B1 (es) | Metodo de verificacion de procesos de descifrado | |
Simmons | Subliminal communication is easy using the DSA | |
JP6042663B2 (ja) | signcryption方法と装置及び対応するsigncryption検証方法と装置 | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
US8352380B2 (en) | Method and system for generating a list signature | |
CN103095453A (zh) | 应用私有集合交集的公钥加密的布隆过滤器 | |
CN105052072A (zh) | 远程认证和业务签名 | |
CN101765996A (zh) | 远程认证和交易签名 | |
CN104821880A (zh) | 一种无证书广义代理签密方法 | |
Achenbach et al. | Improved coercion-resistant electronic elections through deniable re-voting | |
CN105391554A (zh) | 一种采用密文实现指纹匹配的方法和系统 | |
JP2011147047A (ja) | プロキシ再暗号化システム、送信装置、再暗号化鍵生成装置、プロキシ装置、受信装置、プロキシ再暗号化方法、それらのプログラムおよび記録媒体 | |
Ryabko et al. | Basics of contemporary cryptography for IT practitioners | |
Darwish et al. | A new cryptographic voting verifiable scheme for e-voting system based on bit commitment and blind signature | |
CN106789087A (zh) | 确定消息的数据摘要、基于多方的数字签名的方法及系统 | |
Gligoroski et al. | Cryptcoding-Encryption and Error-Correction Coding in a Single Step. | |
WO2008131130A1 (en) | Asymmetric cryptography using shadow numbers | |
JP4843511B2 (ja) | 同報通信暗号化方法、情報復号方法、それらの装置、それらのプログラム、およびそれらの記録媒体 | |
EP2991266B1 (en) | Encrypted text matching system, method, and computer readable medium | |
JP5367023B2 (ja) | 情報暗号化方法、情報暗号化装置、プログラム、および記録媒体 | |
Ghosh | Blockchain Based Election Architecture using XRPL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG2A | Definitive protection |
Ref document number: 2367940 Country of ref document: ES Kind code of ref document: B1 Effective date: 20120927 |