WO2011067437A2 - Método para verificar el correcto registro de una información - Google Patents
Método para verificar el correcto registro de una información Download PDFInfo
- Publication number
- WO2011067437A2 WO2011067437A2 PCT/ES2010/000490 ES2010000490W WO2011067437A2 WO 2011067437 A2 WO2011067437 A2 WO 2011067437A2 ES 2010000490 W ES2010000490 W ES 2010000490W WO 2011067437 A2 WO2011067437 A2 WO 2011067437A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- coding
- encoded
- entity
- test
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012360 testing method Methods 0.000 claims abstract description 92
- 238000012795 verification Methods 0.000 claims description 42
- 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 30
- 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
- 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
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 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
Definitions
- the present invention is suitable for applications where it is required to verify that information has been recorded correctly. Specifically, it is suitable to verify that the information sent by a sender has been correctly received at the receiver. This invention is of special relevance in processes of sending information where the privacy of the issuing entity must be preserved.
- the method is likely to be used in remote electronic voting environments.
- the information to be sent can be modified during the coding process or the sending.
- the sender of the information must be able to detect this modification by verifying that the information registered in the receiver is the same as the sender has sent.
- Digital signatures make it possible to ensure the integrity of the information encoded during its shipment, but they do not allow to verify that before sending the information has been correctly encoded.
- the issuer must generally rely on the coding process. This process, normally executed by a specific software, can be manipulated by an external entity to encrypt information other than what the issuer intends to send.
- One solution would be to sign the information before encoding it and attach the signature with the encoded information. The problem with this solution is that it does not allow to preserve the anonymity of the issuer, since the signature allows to link it with the information once decoded.
- This verification method is based on the generation prior to the voting phase of codes assigned to each candidate or voting option, equivalent to the option coding. From these codes, by means of a cryptographic operation (for example, a Hash function) and a secret parameter, its corresponding return code is calculated for each one.
- a cryptographic operation for example, a Hash function
- the voter selects the codes corresponding to the voting options chosen and sends them to the voting server.
- the voting server calculates the corresponding return codes from the voting option codes using the secret parameter that only he knows. He then sends the return codes to the voter, who verifies that they match the return codes printed on his ballot next to the selected voting options.
- the voting server Since only the voting server knows the secret parameter to generate the return codes, and that these are not previously stored, but are calculated from the codes received, the voter can verify that the options chosen are consistent with those chosen. They have received on the server. In addition, as the return codes are calculated from the voting option codes, the secrecy of the vote is maintained.
- the sender After the sender has chosen the content of the message, it is coded by an entity that commits to the resulting coded message. In this way, as of this moment the encoded message cannot be modified.
- the sender can choose two options: send the message or, if he wants to carry out the verification process, ask the entity that has encoded the message to decrypt it in order to verify that the content of the encoded message is corresponds to the one chosen by the issuer. In case of verification, the coded message (whose content has been disclosed) is discarded and a new one is created to protect the privacy of the sender.
- the decision to verify is decided by the issuer of the information, it may have provided information other than the coding entity to preserve its confidentiality when it is decoded upon verification.
- a voter When a voter casts a coded vote on one of the machines, it is sent through the local network and stored on all the machines in the place Voting After this "publication" of the coded vote on all machines, the voter is presented with the option to verify whether the content of the coded vote corresponds to the chosen options or to send it (although in this case it has already been sent). If the voter decides to send the coded vote, the machine simply keeps that acceptance in the register, since it has already sent the vote to the other machines in the polling place. On the other hand, if the voter decides to verify that the coded options are the same as the one he has chosen, the machine publishes the information with which he has made the coding through the local network.
- the local network be connected to an external network or the Internet through a data diode that ensures that information only circulates in one direction, so that an external observer can observe the traffic from the local network in real time.
- the voter or an external observer can capture the vote and the coding parameters to verify that the encoded options are those that had been selected at the beginning. Once a vote is audited, it is annulled on all voting machines through the local network.
- the main disadvantage of these methods is that the voter requires the help of an alternative system to verify the correct coding of the options once the system shows the encoding parameters. To perform this verification, cryptographic operations are necessary that cannot be carried out by hand or by means of a conventional calculator. The use of an alternative device to perform these calculations can cause verification and usability problems for the voter.
- the methods of verifying the correct registration of a coded message presented have usability as the main problem, since the user must perform more or less complex operations to perform the verification, such as the introduction and comparison of codes, or complex mathematical operations.
- the present invention is based on the implementation of a method to verify the correct registration of information that solves the usability problems of the methods explained above. Brief description of the drawings
- Figure 1a identifies the basic components of the verification method of the correct reception of information:
- Figure 1b shows the general process of the invention presented with the basic steps. It visually details the operation of the process in which the original information 103 is encrypted and sent to the receiving entity 102, which sends content tests 105 corresponding to the encoded information 104 to the issuing entity 101 to verify the Correct registration of information.
- the processes involved in this Figure 1b are:
- the issuing entity 101 encodes and sends 201 the original information 103 to the receiving entity 102.
- the receiving entity 102 generates content tests 105 from the encoded information 104 and sends them 202 to the sending entity 101.
- the issuing entity 101 verifies 203 the content tests 105 to verify the correct recording of the information encoded 104 in the receiving entity 102.
- Figure 2a identifies the components of the verification method of the correct reception of information when the additional steps are implemented:
- encoded information (first encoding).
- Figure 2b shows the general process of the invention presented with the added functionalities thanks to the additional steps. This figure visually details the operation of the process in which two encodings 104, 107 of the original information 103 related by a similarity test 108 are made and sent to the receiving entity 102, which sends content tests 105, corresponding to the encoded information 104, 107, to the issuing entity 101 to verify the correct registration of the information.
- the processes involved in this Figure 2b are:
- the issuing entity 101 encodes and sends 201 the original information 103 to the receiving entity 102.
- the sending entity 101 performs a second encoding 107 of the original information 103 and sends it 204 to the receiving entity 102.
- the issuing entity 101 also generates and sends 205 to the receiving entity 102 a similarity test 108 that relates the first encoding of the information 104 and the second 107.
- the receiving entity 102 verifies 206 the similarity test 108. o The receiving entity 102 generates 202 the content tests 105 from the information coded for the first time 104 or the second time 107 and sends them 202 to the issuing entity 101.
- the issuing entity 101 verifies 203 the content tests 105 to verify the correct registration of the encoded information 104, 107 in the receiving entity 102.
- Figure 3a identifies the components of the verification method for the correct reception of information in an implementation example in which there is an intermediate entity that performs one or more intermediate steps of generating the encrypted information:
- encoded information (first encoding).
- Figure 3b shows an example of implementation of the presented invention.
- the figure shows in a visual way the process in which two encodings are made and sent, one performed with an algorithm with deterministic properties 104 and another performed with an algorithm with very probable properties 107, a similarity test 108 is sent that relates the two encodings and the encrypted information 104 is recoded into an intermediate entity 110, which sends it to the receiving entity 102 so that it generates from the recoded information 109 the content tests 105 that are sent to the issuing entity 101.
- the processes involved In this Figure 3b they are:
- the issuing entity 101 encodes deterministically and sends 201 the original information 103 to the intermediate entity 110.
- the issuing entity 101 performs a second probabilistic coding 107 of the original information 103 and sends it 204 to the intermediate entity 110.
- the issuing entity 101 also generates and sends 205 to the intermediate entity 110 a similarity test 108 that relates the first encoding of the information 104 and the second 107.
- the intermediate entity 110 verifies 206 the similarity test 108. o
- the intermediate entity 110 performs 207 recoding with a deterministic algorithm of the encoded information 104 and sends it 207 to the receiving entity 102.
- the receiving entity 102 generates 202 the content tests 105 from the recoded information 109 and sends them 202 to the issuing entity 101.
- the issuing entity 101 verifies 203 the content tests 105 to verify the correct registration of the encoded information 104, 107.
- Figure 4 shows another example of implementation of the presented invention.
- the process visually details the process in which a second coding 107 of the original information 103 in the entity is detailed station 101, which is sent to intermediate entity 110 to perform a first coding 104 of the information.
- These encodings send to the receiving entity 102 to generate the content tests 105 that are sent to the sending entity 101 to verify the correct registration of the information.
- the processes involved in this Figure 4 are:
- the issuing entity 101 performs a second encoding of the information (with probabilistic properties) 107 and sends it 204 to the intermediate entity 110.
- the intermediate entity 110 performs 201 a first encoding of the information (with deterministic properties) 104 from the encoded information 107, and sends both encodings 201, 204 to the receiving entity 102.
- the receiving entity 102 generates 202 the content tests 105 from the encoded information 104 and sends them 202 to the sending entity 101.
- the issuing entity 101 verifies 203 the content tests 105 to verify the correct registration of the encoded information 104, 107.
- the present invention describes a verification method that allows checking the correct registration of an information (eg, that the information received by a storage medium is the same as that provided).
- This verification method is applicable in processes in which the sender sends certain information to the receiver and it is wanted to verify that the information received in the receiver is the same, especially when you want to preserve the privacy of the sender.
- the method described in this invention is characterized in that the verification of the correct registration of an information is carried out preserving the privacy of the issuer, based on the calculation of a return code in the receiving entity corresponding to the content of the registered information without the need to decode this information, and because prior knowledge of this return code by the issuer of the information allows its verification.
- the method comprises the following stages:
- the method uses an asymmetric cryptographic algorithm with deterministic properties. In a specific implementation with EIGamal, it is considered to prefix the random coding factor to code deterministically.
- a unidirectional cryptographic function such as a Hash function or an HMAC.
- the encoded message is formed by a set of individual encodings
- the generation of the content tests from each of the different encodings or of a content test from the set of them is considered.
- the content of the different encoded information is related by a similarity test, which can be a null knowledge test that demonstrates that one of the two encoded is the re-encoded or partial decoded of the other.
- a similarity test can be a null knowledge test that demonstrates that one of the two encoded is the re-encoded or partial decoded of the other.
- the similarity test is calculated from two sets of coded messages, so it is shown that the coded messages of a group correspond to re-encode the messages of the other group, or that the encoded messages of a group correspond to the partial decoding of the messages of the other group.
- the use of coding algorithms with homomorphic properties such as EIGamal, Paillier, or algorithms based on elliptic curves, is considered.
- more than two different encodings of the information are generated. In this case, the generation of similarity tests that relate all the encoded ones is contemplated.
- the content test (s) are calculated from this encoded using a unidirectional cryptographic function, such as a Hash function or an HMAC.
- a unidirectional cryptographic function such as a Hash function or an HMAC.
- the present invention describes a method of verifying the correct registration of information.
- This verification method is applicable in information registration processes where the privacy of the issuer must be preserved.
- This method is applicable to electronic voting environments, to make it easier for voters to verify the correct registration of their vote.
- the method of verifying the correct registration of an information described in the present invention allows the receiver of an encoded information to send to the sender a proof of the content encoded in said information without the need for the receiver to decode it. In this way the sender can verify that the encoded information received by the receiver contains the same original information that has been encoded by this sender without the need for the receiver to know it.
- the method is independent of the sending of the information by the sender to the receiver, either through a communication network, a storage medium (such as a CD or DVD), etc.
- the channel for sending the encoded information and receiving the encoded information test are different.
- the verification method described in the present invention comprises the following steps:
- the coding stage consists of the encoding by an issuer (eg, voter) of an original information or messages (eg, votes) in a sending entity (eg, a personal computer of the issuer), with the aim to preserve your privacy.
- issuer eg, voter
- messages eg, votes
- sending entity eg, a personal computer of the issuer
- public key cryptosystems are used at this stage.
- the coding will be done with the public component P of the coding algorithm.
- the coding algorithm would have homomorphic properties.
- the preferred option for this encryption to be performed deterministically is also contemplated, so that the result of the coding of specific information will always be the same for a specific issuer.
- the deterministic coding of the same information by different issuers would be preferably different.
- unique parameters for each issuer and coded information so that this information is only deterministic for the sender and information combination.
- each issuer will have a unique identifier and the identifier of the original information to be encoded is obtained by applying a hash function on said information.
- the random exponent will be a combination of the unique identifier of the issuer and the hash of the original information (eg, a concatenation of both or a hash of said concatenation).
- An alternative implementation is also contemplated in which the deterministic coding is carried out by an intermediate entity, other than the sender, on the encryption of the message made by the sender.
- the issuer sends the coded information in a probabilistic way to the intermediate entity and it generates a deterministic encryption of said information.
- This deterministic encryption can be performed on the overall set of the message encoded by the sender or only applied on the encryption factor used by the sender to encode the message or only a part.
- An example of the first case would be an encoding (e.g., encryption or exponentiation) of the encoded message.
- An example of the second case would be a re-encoding of the message (e.g., a re-encryption of an algorithm with homomorphic properties using the same public key with which the sender encoded the information).
- the use of the EIGamal cryptosystem is considered for the encryption or re-encryption of the information encoded by the sender.
- the deterministic coding is carried out jointly in the issuer and an intermediate entity, and the result of this double deterministic coding is provided to the receiving entity.
- the sending is made by the issuing entity to the receiving entity through a physical or logical channel.
- a physical channel the postal mail or FAX would be used.
- the encoded information would be recorded in paper or equivalent format.
- a communication network such as Internet or telephone.
- the encoded information would be logically represented as binary or electronic.
- the encoded information would be logically stored on a physical device, such as a CD-ROM or magnetic tape or removable storage device. This information would be sent physically to the receiving entity, using one of the channels mentioned above or simply by hand.
- the encoding of the message can be done over the entire original message or by individual coding of parts of the message.
- the different coded parts that make up the coded message can be sent in combination or independently.
- the message is divided and coded into parts that combined (eg, concatenated) or operated (eg, arithmetically multiplied) allow obtaining the entire coded original message.
- these encoded parts of the message could provide partial information of the global message if they are individually decoded.
- the message is encoded in parts that individually decoded provide significant partial information of the global message (eg, each party could contain a selection of the total of selections made by a voter of a vote).
- the message could also additionally contain parts added with neutral information that would not modify the content of the original message.
- This technique would be used to prevent the sender's privacy from being broken from the number of parts that form a coded message: if there is A single sender who has sent a message with a specific number of encoded parts, their identity could be discovered by finding which of the decoded messages requires that same number of options for encoding. Taking an electronic voting environment as a reference, an example would be to find a vote that had a number of selections that no other voter has made. In that case, all votes would be coded in as many parts as the number of maximum selections allowed, and the parts corresponding to unrealized selections would be represented as empty or void selections.
- the content of the information to be encoded would be preprocessed to convert it to a numerical format capable of being compacted by arithmetic techniques known in the state of the art, such as the product or the sum. This conversion could be done at the global information level or by individual components. Taking the electronic voting environment as a reference, a vote could become a set or vector of numbers, each uniquely representing the value of each of the selections. This conversion may not be necessary if the original information was already in numerical format or could be broken down into this format.
- each component of the message would be represented by a prime number, so that the message could be compacted by the product of the components and decompressed by a factoring operation. In this case, the null selections would be represented by the neutral value (ie, 1). This method is capable of being implemented using modular arithmetic operations for compacting the encrypted message or its encrypted parts.
- the message would become a set of prime numbers, each representing a message information, such as a selection, that would be encoded by an algorithm with multiplicative homomorphic properties (e.g., EIGamal).
- EIGamal multiplicative homomorphic properties
- the receiving entity At this stage the receiving entity generates a proof of content of the received coded messages, and sends that proof to the issuing entity.
- the coded message is formed by a set of coded message parts
- the receiving entity could send a proof of individual content of each of the parts.
- the receiving entity has a secret key S to generate the content test by means of a MAC function, for example with an HMAC function:
- the encoded message is formed by a set of individual encodings
- as many content tests as different encodings can be generated.
- these tests could be operated so that a single content test is obtained, for example by an XOR operation:
- CR CRfrrii) ⁇ CR (m 2 ) ⁇ CR (m 3 ) ⁇ ... ⁇ CR (m n ),
- n is the number of coded messages.
- CR (M) HMAC (E (M), S).
- the partial decoding of the information by the receiving entity is considered in order to eliminate the random factor from the coding, without revealing therefore the content of the encoded information.
- content tests are performed based on partially decoded information.
- the senders of the coded messages will previously have a list with the valid values of the content tests for each possible value (or subset of valid values) of the original message.
- This list may have been previously calculated before the coding stages, based on the knowledge of the possible messages to be sent. In a preferred implementation, these values are previously calculated from the key S of the return entity together with the deterministic coding by the specific issuer of each possible valid value of the message.
- the return codes corresponding to certain message sets can also be specified in this previous stage, so that in the stage of verification a single return code is checked for several encoded messages. Additional stages
- the invention contemplates the implementation of three additional steps to the previous generation and sending of a second message encoding, of generating and sending a similarity test and verification of the similarity test.
- This stage can be done before or after the coding and sending stage a).
- the original information encoded in step a) is also encoded by the same sending entity and sent to the same receiving entity.
- the coding method used in this stage may be the same as in step a) of information coding.
- the same public key cryptosystem will be used to encode the information, performing the encryption with the public component P of the encryption algorithm.
- the cryptosystem and the public key used to encrypt may be the same as in step a) of information coding or they may be different.
- this second coding of the information is performed with a coding algorithm with probabilistic and homomorphic properties. In this way, it will not be possible under any circumstances to correlate the resulting encoding with the original encrypted message. In the case of choosing the EIGamal coding algorithm, the exponent will always be chosen randomly.
- the second encoded message can be sent in the same way as in step a) above.
- the same send channel as in step a) would be used although both encodings could also be sent on different channels.
- the encoding of the message can be done on all or parts of the message.
- the issuing entity performs a similarity test between the encoded information and the second encoding of the information, and then sends said test to the issuing entity.
- This stage is performed after the two stages of information coding.
- the similarity test can be sent individually or together with the sending of any of the two encodings.
- the shipping method can be any of the views above for the encoded information.
- this similarity test is obtained from the null knowledge test of equal content between coded texts.
- algorithms with homomorphic properties that allow a re-encoded operation would be used in the two encoded information.
- the null knowledge test can be a re-encoded or partial decoded test.
- the null knowledge test may consist of the implementation of the Schnorr Identification Protocol. The null knowledge test could be interactive or not.
- c (mh r , where r is a random number in Z q .
- Ci (mh v , g v ) where v is a number in Z q calculated from fixed values (eg, unique identifiers of the sender and the message).
- c 2 can be considered as the re-coding of ci with the factor r' and calculate the test based on the Schnorr Identification Protocol as follows:
- M m 1 ⁇ m 2 ⁇ ... ⁇ m n
- the proof of null knowledge that the two encoded messages in the message set have the same content can be summarized in a proof that the two resulting encoded messages have the same content.
- This can be a re-encoding or partial decoding test.
- the null knowledge test may consist of the implementation of the Schnorr Identification Protocol.
- the algorithm of the second coding is probabilistic:
- the receiving entity verifies that the encodings received have been made on the same information, based on the similarity test received.
- this verification is performed by verifying that this null knowledge test has been generated from the encodings received.
- the two codings have been performed with algorithms that have homomorphic properties using the same public key or the same encryption factor, and the similarity test has been generated from a re-encoded null knowledge test or of partial decoding.
- the verification is performed using the result of the operation of the messages encoded in step a) and the result of the operation of the messages encoded in step c).
- the null knowledge test may consist of the implementation of the Schnorr Identification Protocol.
- the algorithm of the second encoded stage is probabilistic:
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 Ia privacidad del emisor, comprendiendo las siguientes etapas: a) Codificado de Ia información del emisor en una entidad emisora y envío de dicha codificación a Ia entidad receptora; b) Generación por parte de Ia entidad emisora de una prueba de contenido basada en Ia información codificada en el paso a), y posterior envío de Ia prueba de contenido a Ia entidad emisora; y c) Verificación por parte del emisor de que Ia prueba de contenido se corresponde con Ia información que se ha codificado.
Description
MÉTODO PARA VERIFICAR EL CORRECTO REGISTRO DE UNA
INFORMACIÓN
Campo de la invenció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.
Antecedentes de la invención
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. Comprobación de que la información enviada coincide con la que se ha querido enviar
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.
Verificación punto a punto
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.
Verificación del proceso de codificado
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.
Breve descripción de los dibujos
La Figura 1a identifica los componentes básicos del método de verificación de la recepción correcta de información:
o 101 : entidad emisora.
o 102: entidad receptora.
o 103: información a codificar.
o 104: información codificada.
o 105: pruebas de contenido.
o 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:
o La entidad emisora 101 codifica y envía 201 la información original 103 a la entidad receptora 102.
o 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.
o 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:
o 101 : entidad emisora.
o 102: entidad receptora.
o 103: información a codificar.
o 104: información codificada (primera codificación).
o 105: pruebas de contenido.
o 106: emisor.
o 107: información codificada (segunda codificación)
o 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:
o La entidad emisora 101 codifica y envía 201 la información orig 103 a la entidad receptora 102.
o 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.
o 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.
o La entidad receptora 102 verifica 206 la prueba de similitud 108. o 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.
o 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:
o 101 : entidad emisora.
o 102: entidad receptora.
o 103: información a codificar.
o 104: información codificada (primera codificación).
o 105: pruebas de contenido.
o 106: emisor.
o 107: información codificada (segunda codificación).
o 108: prueba de similitud.
o 109: información re-codificada.
o 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ísimas 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:
o La entidad emisora 101 codifica de forma determinista y envía 201 la información original 103 a la entidad intermedia 110.
o 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.
o 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.
o La entidad intermedia 110 verifica 206 la prueba de similitud 108. o 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.
o 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.
o 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:
o 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.
o 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.
o 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.
o La entidad emisora 101 verifica 203 las pruebas de contenido 105 para comprobar el correcto registro de la información codificada 104, 107.
Breve exposición de la invención
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 proporcionado).
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 comprobació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.
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.
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. Descripción detallada de la invención
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;
Etapa de codificado y envío de la información
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 implementacion 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 ¡mplementació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 ¡mplementació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órfícas 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.
Generación de una prueba de contenido
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.
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: Código Retorno: CR(m)=H(E(m)), donde E(m) es el codificado del dato m.
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:
Código Retorno: CR(m)=HMAC(E(m), S), donde E(m) es el codificado de los datos.
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:
CR(m2)=HMAC(E(m2), S)
CR(m3)=HMAC(E(m3), S)
CR(mn)=HMAC(E(mn), S)
CR= CRfrrii) φ CR(m2) Φ CR(m3) φζ... φ CR(mn),
donde n es el número de mensajes codificados.
Las pruebas de contenido también se pueden calcular usando el mensaje codificado resultado de la operación de varios mensajes codificados:
E(M)= Efirti) Φ E(m2) Φ... Φ E(mn)
CR(M)=HMAC(E(M), S). 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.
Verificación de la prueba de contenido
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. Etapas adicionales
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.
Etapa de segunda codificación y envío de una información
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.
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.
Etapa de generación y envío de una prueba de similitud
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: g generador del subgrupo Gq de Zp* q es un primo grande, y p=2*q+1 clave privada: x x número aleatorio en Zq clave pública: (h, g) donde h=gx mod p mensaje: m
El codificado se realiza: c = (m.hr, donde r es un número aleatorio en Zq.
Para descifrar calculamos m = c*( (f)~x.
Si se ha utilizado un algoritmo de codificado determinista en la etapa a) de codificado:
Ci = (m.hv, gv) donde v es un número en Zq calculado a partir de unos valores fijos (p.e., unos identificadores únicos del emisor y del mensaje).
En el caso de que el algoritmo de la segunda codificación sea probabilístico: c2 = (m.hr, cf) donde r es un número aleatorio en Zq.
Siendo r=v+r', se puede considerar c2 como el re-codificado de ci con el factor r' y calcular la prueba basada en el Protocolo de Identificación de Schnorr del siguiente modo:
- Calcular c2/c1 = (Lh"', ).
Definiendo g' = h y h' = hr, se puede probar en conocimiento nulo que se conoce el factor de recodificado r':
Seleccionar un número aleatorio e, 1 < e < q-1, y calcular w - ge.
Calcular d = H(w\h'\g'\h\g), donde H es una función de hash.
- Finalmente, calcular s = r'.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 Φ da como resultado el codificado de los mensajes operados mediante la operación Θ. De este modo se puede obtener un mensaje codificado resultado de la operación de todos los otros:
Siendo EP(m) el codificado de un mensaje con una clave pública P, el mensaje codificado resultante de operar n mensajes es
EP(M) = Epfrrii) Φ EP(m2) Φ... Φ EP(mn), donde M = m1 Θ m2 Θ... Θ mn
El mensaje codificado resultante después de operar los mensajes codificados en la etapa a) es
EIP(M) = Eipfmi) Φ Eip(m2) Φ... Φ EiP(mn), donde M = m-, Θ m2 Θ... Θ mn
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:
Ei(m¡) = (m¡.hvl, gvi) donde v¡ es un número en Zq acordado antes del proceso de codificado.
El mensaje codificado resultante después de operar un conjunto de n mensajes codificados en la etapa a) es d = (M.hv, gv) = {m,.tí gv1) * (m2.hv2, gv2) *... * (mn.hvn, gvn), donde M = mi * m2 *... * mn y V = v-i+v2+... +vn. En el caso en que el algoritmo de la segunda codificación sea probabilístico:
E2(m¡) = (m¡.hn, grl) donde A", es un número aleatorio en Zq.
El mensaje codificado resultante después de operar el mismo conjunto de n mensajes codificados es
C2 = (M.hR, gR) = (mi.hr1, tf1) * (m2.hr2, 2) *... *(mn.hrn, g™), donde = * m2 *... * mn y R=r1+r2+... +rn.
Siendo r¡ = v¡+r¡ se puede considerar C como el re-codificado de C7 con el factor de re-codificado R' = ri'+r2'+... +rn', y calcular la prueba basada en el Protocolo de Identificación de Schnorr del siguiente modo:
- Calcular C2/ d = (1.hR gR).
Definiendo g' = h y h' = hR , se puede probar en conocimiento nulo que se conoce el factor de re-codificado R'\
Seleccionar un número aleatorio e, 1≤e≤q-1, y calcular w = ge.
Calcular d = /-/(w|/7'|g'|/7|gj, donde H es una función de hash.
- Finalmente, calcular s = R'.d+e.
La prueba de conocimiento nulo de que los dos codificados tienen el mismo contenido consiste en los parámetros [w, s].
Verificación de ¡a prueba
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:
Ci - (m.hv, gv) donde v es un número en Zq determinado antes del proceso de codificado.
Y el algoritmo del segundo codificado es probabilístico:
c2 = (m.hr, < ) donde res un número aleatorio en Zq.
Siendo r = v+r la verificación de la prueba efectuada que demuestra el conocimiento del factor de re-codificado de Ci con el factor r' para obtener c2 se basa en la verificación de [w, s] si la prueba se ha realizado usando el Protocolo de Identificación de Schnorr:
Calcular C2/ CÍ = (1. f, tf).
- Definir g' = h y h - H .
Calcular d = H(w\h'\g'\h\g), donde H es una función de hash.
Verificar que g = w.hd.
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 Φ da como resultado el codificado de los mensajes operados mediante la operación Θ, 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:
Ei(m¡) = (mj.hvl, gvi) donde v¡ es un número en Zq acordado antes del proceso de codificado.
El mensaje codificado resultante después de operar un conjunto de n mensajes codificados en la primera etapa es d = (M.hv, gv) = ( i. v1, gv1) * (m2.hv2, gv2) *... * (mn.hvn, gvn), donde M = mi * m2 *... * mn y V=vi+v2 +... +vn.
En el caso en que el algoritmo de la etapa de segundo codificado es probabilístico:
E2(m¡) = (mj.h", g") donde r,es un número aleatorio en Zq.
El mensaje codificado resultante después de operar el mismo conjunto de n mensajes codificados en la segunda etapa es
C2 = (M.hR, gR) = (m^H1, tf1) * (m^lY2, 2) *... *(mn.hrn, tfn), donde M = m1 * m2 *... * mn y R=ri+r2+... +rn.
Siendo r¡ = v¡+r¡', se puede considerar C2 como el re-codificado de C7 con el factor de re-codificado R'= ri'+r2'+... +rn'. 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 C2/ C7 = (1.hR
Definir g' = h y h' = hR'.
Seleccionar un número aleatorio e, 1≤e≤ q-1, y calcular w = ge.
Calcular d = H(w\h'\g'\h\g), donde H es una función de hash.
- Verificar que g's = w.hd.
Referencias
[Ch01] Chaum, D. (2001). "Surevote technical overview (slides)". http://www. vote, caltech. eduA/voteO 1/pdfs/surevote.pdf
[Ma02] Malkhi, D; Margo, O; "Pavlov, E. E-voting without 'cryptography'". Conference Information: 6th International
Conferene on Financial Cryptography, 2002, SOUTHAMPTON BERMUDA. FINANCIAL CRYPTOGRAPHY
[Be06] Josh Benaloh. "Simple verifiable elections". Proceedings of the USENIX/Accurate Electronic Voting Technology (2006). Vancouver, B.C., Canadá.
[Ad08] Ben Adida. "Helios: web-based open-audit voting". Proceedings of the 17th conference on Security symposium, USENIX. Pages 335-348. Year of Publication: 2008
[Sa08] Sandler, D., Derr, K., and Wallach, D. S. 2008. "VoteBox: a tamper-evident, verifiable electronic voting system". In
Proceedings of the 17th Conference on Security Symposium, USENIX Association. Pp. 349-364.
Claims
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 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; y
c) Verificación por parte del emisor de que la prueba de contenido se corresponde con la información que se ha codificado.
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 segunda codificación 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);
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 c) 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 9 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 9 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 (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
EP10834256.9A EP2509050B1 (en) | 2009-12-04 | 2010-12-01 | Method for verifying the correct registration of an item of information |
Applications Claiming Priority (2)
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. |
ESP200902326 | 2009-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2011067437A2 true WO2011067437A2 (es) | 2011-06-09 |
WO2011067437A3 WO2011067437A3 (es) | 2011-07-14 |
Family
ID=44115356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/ES2010/000490 WO2011067437A2 (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 (9)
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 |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495532A (en) * | 1994-08-19 | 1996-02-27 | Nec Research Institute, Inc. | Secure electronic voting using partially compatible homomorphisms |
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 |
KR100727281B1 (ko) * | 2001-03-24 | 2007-06-13 | 데이트그리티 코포레이션 | 검증가능한 비밀 셔플들 및 전자 투표에 대한 그 응용 |
US20050193198A1 (en) * | 2004-01-27 | 2005-09-01 | Jean-Michel Livowsky | System, method and apparatus for electronic authentication |
US20080000969A1 (en) * | 2004-03-25 | 2008-01-03 | Cryptomathic A/S | Electronic Voting Systems |
US20090144135A1 (en) * | 2004-07-27 | 2009-06-04 | Andreu Riera Jorba | Methods for the management and protection of electoral processes, which are associated with an electronic voting terminal, and operative module used |
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 WO PCT/ES2010/000490 patent/WO2011067437A2/es active Application Filing
- 2010-12-01 ES ES10834256T patent/ES2936809T3/es active Active
- 2010-12-01 EP EP10834256.9A patent/EP2509050B1/en active Active
- 2010-12-01 US US13/513,613 patent/US8713319B2/en active Active
Non-Patent Citations (6)
Title |
---|
BEN ADIDA: "Helios: web-based open-audit voting", PROCEEDINGS OF THE 17TH CONFERENCE ON SECURITY SYMPOSIUM, USENIX, 2008, pages 335 - 348 |
CHAUM, D., SUREVOTE TECHNICAL OVERVIEW (SLIDES, 2001, Retrieved from the Internet <URL:http://www.vote.caltech. edu/wote01/pdfs/surevote. pdf> |
JOSH BENALOH: "Simple verifiable elections", PROCEEDINGS OF THE USENIX/ACCURATE ELECTRONIC VOTING TECHNOLOGY, 2006 |
MALKHI, D; MARGO, O: "Pavlov, E. E-voting without 'cryptography", CONFERENCE INFORMATION: 6TH INTERNATIONAL CONFERENE ON FINANCIAL CRYPTOGRAPHY, 2002 |
SANDIER, D.; DERR, K.; WALLACH, D. S.: "VoteBox: a tamper- evident, verifiable electronic voting system", PROCEEDINGS OF THE 17TH CONFERENCE ON SECURITY SYMPOSIUM, USENIX ASSOCIATION, 2008, pages 349 - 364 |
See also references of EP2509050A4 |
Also Published As
Publication number | Publication date |
---|---|
ES2367940B1 (es) | 2012-09-27 |
ES2936809T3 (es) | 2023-03-22 |
EP2509050A2 (en) | 2012-10-10 |
ES2367940A1 (es) | 2011-11-11 |
US20120239932A1 (en) | 2012-09-20 |
US8713319B2 (en) | 2014-04-29 |
EP2509050B1 (en) | 2022-09-21 |
WO2011067437A3 (es) | 2011-07-14 |
EP2509050A4 (en) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2367940B1 (es) | Método para la verificación del correcto registro de una información. | |
Menezes et al. | Handbook of applied cryptography | |
Simmons | Subliminal communication is easy using the DSA | |
CN104811450B (zh) | 云计算中一种基于身份的数据存储方法及完整性验证方法 | |
ES2251475T3 (es) | Mezclas secretas verificables de datos cifrados, como por ejemplo datos cifrados en elgamal para elecciones seguras de autoridades multiples. | |
JP6042663B2 (ja) | signcryption方法と装置及び対応するsigncryption検証方法と装置 | |
ES2365887B1 (es) | Metodo de verificacion de procesos de descifrado | |
CA2652084C (en) | A method and apparatus to provide authentication and privacy with low complexity devices | |
CN104270249B (zh) | 一种从无证书环境到基于身份环境的签密方法 | |
Yung | Practical signcryption | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
CN103095453A (zh) | 应用私有集合交集的公钥加密的布隆过滤器 | |
CN104821880B (zh) | 一种无证书广义代理签密方法 | |
US20060083370A1 (en) | RSA with personalized secret | |
EP2874346A1 (en) | Encoded text checking system, method, and program | |
GB2487503A (en) | Authentication of digital files and associated identities using biometric information | |
CN101626364A (zh) | 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法 | |
Simmons | Secure communications and asymmetric cryptosystems | |
CN109887150A (zh) | 支持投票系统的代理重签密方法 | |
Ryabko et al. | Basics of contemporary cryptography for IT practitioners | |
Damgård et al. | Stronger security and constructions of multi-designated verifier signatures | |
Darwish et al. | A new cryptographic voting verifiable scheme for e-voting system based on bit commitment and blind signature | |
EP2991266B1 (en) | Encrypted text matching system, method, and computer readable medium | |
CN113807534A (zh) | 联邦学习模型的模型参数训练方法、装置和电子设备 | |
CN116346367A (zh) | 一种基于格的具备委托测试功能的签密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13513613 Country of ref document: US Ref document number: 12012501102 Country of ref document: PH |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010834256 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 10834256 Country of ref document: EP Kind code of ref document: A2 |