WO2005071881A1 - ミックスネットシステム - Google Patents

ミックスネットシステム Download PDF

Info

Publication number
WO2005071881A1
WO2005071881A1 PCT/JP2005/000841 JP2005000841W WO2005071881A1 WO 2005071881 A1 WO2005071881 A1 WO 2005071881A1 JP 2005000841 W JP2005000841 W JP 2005000841W WO 2005071881 A1 WO2005071881 A1 WO 2005071881A1
Authority
WO
WIPO (PCT)
Prior art keywords
hash value
data
output
decryption
verification
Prior art date
Application number
PCT/JP2005/000841
Other languages
English (en)
French (fr)
Inventor
Jun Furukawa
Kazue Sako
Original Assignee
Nec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nec Corporation filed Critical Nec Corporation
Priority to EP05709285.0A priority Critical patent/EP1708407A4/en
Priority to JP2005517293A priority patent/JP4687465B2/ja
Priority to US10/546,645 priority patent/US7672460B2/en
Publication of WO2005071881A1 publication Critical patent/WO2005071881A1/ja
Priority to US12/684,192 priority patent/US8223973B2/en
Priority to US13/491,778 priority patent/US8583925B2/en
Priority to US13/491,727 priority patent/US8553889B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Definitions

  • a plurality of institutions jointly cooperate to change the order and decrypt the lines, so that the correspondence with the input ciphertexts is not understood.
  • the technology of output mixednet in particular, if there is no restriction on the length of the input ciphertext and there were some agencies that did not operate correctly, even a third party can not do so. Relating to technology that can identify and prove that fact.
  • a mixed net performs inter-element substitution and decryption of each element with respect to an input ciphertext column, so that each element of the output decrypted text column and the input ciphertext column It is an operation to hide the correspondence of each element.
  • the proving device of document 1 is a device for proving that substitution and decryption have been correctly performed
  • the verifying device of document 1 is a device for verifying that the proof performed by the proving device is correct. Due to the action of both devices, if the proof device does not operate correctly (replacement and decryption), the proof fails, and the verification device can find out that the proof device did not operate correctly.
  • the proof device and verification device of Document 1 are used as a whole as a mixed net as shown below.
  • a secret key 906 is determined corresponding to each permutation decryption device 912.
  • a public key 901 is generated from this secret key 906, and this public key 901 is distributed to all participant devices 903.
  • the participant device 903 of the Mixnet encrypts a short plaintext 902 of a fixed length using the public key 901.
  • the permutation decryption apparatus 912 performs permutation decryption on the input ciphertext string 913, and performs the next permutation decryption. Pass to 912 (process 907). The following is repeated to finally obtain a plaintext string 911.
  • the replacement and decryption apparatus 912 proves that the replacement and decryption operations performed by itself are correct using the proving apparatus of reference 1 (process 908).
  • the verification device 909 verifies the proof performed by the replacement decryption device using the verification device of reference 1. This verification can be done by a third party as long as the verification device can be prepared.
  • the plaintext 902 that can be encrypted by the participant device 903 is limited to the same length as the length of the public key. Therefore, longer ciphertext can not be handled as plaintext.
  • the above relationship will be described with reference to FIG.
  • the mixed net described in reference 2 operates almost in the same way as the mixed net of the prior art (1). Even if the input plain text is a long plain text 1002, it is fine. Further, it is possible to mutually verify whether the substitution and the decoding were correctly performed by the substitution decoding apparatuses (processing 1014). However, verification by a third party can not be different from conventional technology (1).
  • an object of the present invention is to enable a third party to identify an unauthorized person when decryption and replacement of a ciphertext are performed by a plurality of agencies.
  • Another object is to eliminate the restriction of ciphertext length.
  • the participant device of the present invention is a participant device of the present invention.
  • Key encryption means for encrypting one of a plurality of common keys of the common key encryption system with a single public key of a plurality of replacement decryption apparatuses
  • Data encryption means for encrypting given data with one of a plurality of common keys of the common key cryptosystem
  • a hash value encryption unit that calculates a hash value of given data using a cryptographic hash function, and encrypts the hash value with a public key of one of the plurality of permutation / decryption devices;
  • the first input of the data encryption means is plaintext
  • the next input of the data encryption means is the output of the previous data encryption means, the key encryption means, and the hash value encryption means.
  • the compiling device of the present invention is
  • a plurality of data are input, the legitimacy of the data is verified, and only the data that is found to be valid is output.
  • the permutation decoding apparatus of the present invention is
  • Each element of the input data string is divided into a common key of the common key encryption method encrypted by the public key encryption method, data encrypted by the common key encryption method, and a hash value encrypted by the public key encryption method.
  • Data decryption means for decrypting the encrypted data using the decrypted common key to generate output data
  • Hash value decrypting means for outputting a result of decrypting the encrypted hash value with the secret key of the public key cryptosystem
  • Hash value verification means for comparing the decoded hash value with the hash value of the generated output data and outputting a hash value acceptance if they match, and a hash value non-acceptance if they are different;
  • a hash value decryption validity proving means for generating a hash value decryption validity proving sentence which is
  • a hash value non-acceptance validity proving means for generating a hash value non-acceptance validity proving text which is a proof sentence that the non-acceptance output is valid when the non-acceptance is outputted in the hash value verification means;
  • the verification device of the present invention is
  • the decrypted hash value included in the hash value decryption validity proving text matches the decrypted hash value of a certain element of the input data string, and both have a one-to-one relationship. If there is a one-on-one relationship between the two, there is no acceptance.
  • Hash value match verification means for outputting acceptance if the decoded hash value matches the hash value of each element of the output data string, and non-acceptance if they do not match;
  • a hash value which is a proof text indicating that the output of rejection is valid.
  • a hash value nonconforming justification verifying means for verifying nonconforming justification proof text and outputting acceptance if this proof text is correct, and nonconforming if it is unfair;
  • the value is received by the value decryption validity verification means, is received by the hash value match verification means, is not accepted by the hash value match verification means, and is accepted by the hash value non-acceptance validity verification means, and
  • the output data string is only the one corresponding to the element accepted by the hash value matching verification means, and if they are all included, acceptance is output, otherwise rejection is output.
  • legitimacy decision means that
  • the mixnet system of the present invention is
  • Security variable area variable of public key cryptosystem, cryptographic hash function, encryption function of common key cryptosystem, public key of each of the plurality of permutation / decryption devices, common key of multiple common keys cryptosystem,
  • the plaintext different for each participant is input to each of the participant devices,
  • Participation processing for outputting data to be input to the permutation decoding device from each of the participant devices;
  • a permutation decryption process in which an input data string and a secret key of a public key cryptosystem are input to one of the permutation decryption apparatus, and the permutation decryption apparatus outputs an output data string and a string of validity proof sentences;
  • the input data sequence in the first permutation decoding process is a process in which the permutation decoding process is repeatedly performed one after another while exchanging the permutation decoding apparatus using the input data sequence that is the output of the consolidation process as the first input data sequence.
  • the input data string output from the summarizing process is the input data string to be output from the last replacement decoding process, and the input data string in the subsequent replacement decoding process is the output data string from the last replacement decoding process.
  • the output data string output from each permutation decoding process except for the final permutation decoding process is taken as the decryption in-progress result
  • the legitimacy prose sentence output from all the permutation decoding processes is taken as the whole legitimacy prose sentence Integrated replacement / decryption processing that outputs the result of the decryption and the whole legitimacy proof sentence
  • each permutation decryption device are separated from the decryption result, the decryption middle result, and the whole legitimacy prose, and the input data string, the output data string and the legitimacy prose of each permutation decryption process are the verification devices described above.
  • the verification device outputs the acceptance or non-acceptance, and the output of the verification process related to all permutation decoding processes is collected. If all are accepted, the acceptance as the whole is received, otherwise the whole is received. Mixednet judgment processing that outputs rejection as
  • each participant device encrypts the plaintext using the common key of the common key cryptosystem, encrypts the encryption key with the public key, and sends these to the substitution decryption device. This eliminates the restriction on the length of the ciphertext that can be handled.
  • the verification device verifies the verifiable proof text using the public key, which is performed by each substitution decryption device, using the public key.
  • FIG. 1 is a block diagram showing an overall configuration of a mixnet system according to the present invention.
  • FIG. 2 is a block diagram showing a configuration example of a participant device in Embodiment 1 of the present invention.
  • FIG. 3 is a block diagram showing a configuration example of a permutation decoding apparatus in Embodiment 1 of the present invention.
  • FIG. 4 is a block diagram showing a configuration example of a verification device in Embodiment 1 of the present invention.
  • FIG. 5 is a block diagram showing a configuration example of a participant device in a second embodiment of the present invention.
  • FIG. 6 is a block diagram showing a configuration example of a permutation decoding apparatus in a second embodiment of the present invention.
  • FIG. 7 is a block diagram showing a configuration example of a verification device in a second embodiment of the present invention.
  • FIG. 8 is a block diagram for explaining a prior art 1
  • FIG. 9 is a block diagram for explaining a prior art 2.
  • the mixnet system is composed of a plurality of participant devices 103, a collection device 104, a plurality of substitution decoding devices 112, and a verification device 109.
  • the participant device 103 includes key encryption means 205, data encryption means 206, hash value encryption means 207, knowledge connection means 208, repetition means 213, and knowledge of random numbers. Proving means 210, and output means 215.
  • the key encryption means 205 uses one public key 101 of the plurality of replacement / decryption devices 112 to encrypt one of the plurality of common keys of the common key cryptosystem, and at this time, the key encryption unit 205 further performs encryption. Generate proof text of the common key knowledge.
  • the data encryption means 206 uses one of the plurality of common keys of the common key cryptosystem to encrypt the given data 214.
  • Hash value encryption means 207 Uses a cryptographic hash function to calculate a hash value of given data, and encrypts this hash value with one public key of a plurality of substitution decryption devices 112.
  • the knowledge linking means 208 assigns the given data 214 to the public key 101 of the plurality of permutation / decryption devices 112 using the public key 101, and further uses the knowledge of the secret random number used for the secret number at this time. Generate proof sentence
  • the repetition means 213 takes the first input of the data encryption means 206 as the plaintext 102, and inputs the data encryption means 206 from the next as the previous data encryption means 206, key encryption means 205, hash value
  • the processing as the output of the encryption means 207 and the knowledge connection means 208 is repeated as many as the number of permutation / decryption devices 112.
  • the means 210 for proving the knowledge of the whole random number is the proof sentence of the knowledge of the sum of the secret random numbers used in all the repetition of the process for the data finally obtained by repeating the process by the means 208 for connecting knowledge.
  • the output means 215 outputs the data obtained by the processing of the repeating means 213 as the ciphertext 211, and outputs data certifying that it is a valid participant device that created the ciphertext 211.
  • a ciphertext 211 and data certifying that this ciphertext 211 has been created are input from the plurality of participant devices 103 to the coordinating device 104. Then, the compiling device 104 verifies that the input ciphertext 211 is generated by a valid participant device, and outputs only one that is found to be valid to one of the replacement decryption devices 112.
  • the permutation decryption apparatus 112 includes a data division means 322, a verification means 307 for knowledge of the common key, a verification means 308 for knowledge of the secret random number, a common key decryption means 310, and data decryption.
  • the data dividing means 322 is input from the compiling device 104 or another substitution decoding device.
  • Each element of the input data string 105 to be input is encrypted by the common key 302 of the common key cryptosystem encrypted by the public key cryptosystem, the data 303 encrypted by the common key cryptosystem, the public key cryptosystem
  • the hash value 304, the concatenated data 305 encrypted by the public key cryptosystem, the proof text of knowledge of the common key encrypted 301, and the proof text of the secret random number knowledge used for the concatenated data encryption 306 Divide into
  • the common key knowledge verification means 307 verifies the legitimacy of the common key knowledge proof 301, and outputs a disapproval if the acceptance is not valid if it is legitimate.
  • the secret random number knowledge verification means 308 verifies the secret random number knowledge proof text 306, and outputs a disapproval if the acceptance is invalid if it is valid.
  • the common key decryption unit 310 decrypts the encrypted common key of the common key cryptosystem with the secret key 106 of the public key cryptosystem.
  • the data decryption means 313 decrypts the encrypted data 303 using the decrypted common key to generate output data.
  • the hash value decrypting means 312 outputs the hash value 304, which has been encrypted, with the secret key 106 of the public key cryptosystem.
  • the hash value verification means 317 compares the decrypted hash value with the hash value of the generated output data, and outputs a hash value acceptance if they match, and a hash value non-acceptance if they are different.
  • the concatenated data decryption unit 314 decrypts the encrypted concatenated data 305 with the secret key of the public key cryptosystem.
  • the output data string generation means 311 corresponds to the hash value verification means 317, common key in the sense that the output data and the decrypted concatenated data are generated from data of the same element of the input data ⁇ IJ 105.
  • a data string is generated in which only the ones for which acceptance has been output are the elements of the sequence, and furthermore, the order of each element is uniformly randomized. Assume that a replacement output data string 107 is obtained.
  • the hash value decryption validity proving means 315 is a decryption of the encrypted hash value in which the hash value of each element of the output data ⁇ IJ 107 is necessarily included in an element of the input data sequence 105, and Generates a hash value decryption legitimacy proof sentence, which is a proof sentence that the correspondence between the two is one to one.
  • Concatenated data decryption legitimacy proving means 316 is a decryption of decrypted concatenated data in which the decrypted concatenated data included in each element of output data string 107 must be included in an element of input data string 105.
  • Hash value rejection When the hash value verification means 317 outputs rejection, the legitimacy proving means 318 generates a hash value rejection justification proving sentence which is a proving sentence that the output of the non-permission is right.
  • the output means uses the hash value decryption validity proof sentence, the combined data decryption validity proof text and the hash value non-acceptance validity proof text as the validity proof text 108, and this and the output data string generation means 311. And the output data string 107 output by
  • the verification device 109 includes a common key knowledge verification means 402, a secret random number knowledge verification means 404, a hash value decryption validity verification means 406, and a hash value coincidence verification means 408. And a linked data decryption validity verification unit 407, a hash value non-acceptance validity verification unit 409, and a validity determination unit 405.
  • the verification means 402 of the knowledge of the common key verifies the legitimacy of the proof text 301 of the knowledge of the common key belonging to each element of the input data string 105 input from the compilation device 104 or the substitution decryption device 112. Then, if the acceptance is invalid, the rejection is output.
  • the secret random number knowledge verification means 404 verifies the proof text 306 of the secret random number knowledge belonging to each element of the input data string 105, and outputs a disapproval if the acceptance is not valid if it is valid.
  • the hash value decryption validity verification means 406 matches the decrypted hash value power of the element with the decrypted hash value power included in the hash value decryption validity proof text 401 and the IJ 105 Then, verify that there is a one-to-one relationship between the two, and output acceptance if there is a match and one-to-one relationship, otherwise output rejection.
  • the hash value match verification means 408 outputs acceptance if the decoded hash value matches the hash value of each element of the output data ⁇ IJ 107 of the permutation decryption apparatus 112, and outputs non-acceptance if they do not match.
  • the concatenated data decryption validity verification means 407 is a decryption of the encrypted concatenated data 305 in which the decrypted concatenated data included in each element of the output data string 107 is included in an element of the input data ⁇ IJ 105. Match, and verify that there is a one-to-one relationship between the two, and output acceptance if the two match and one-to-one relationship, otherwise reject.
  • the hash value non-acceptance validity verification means 409 relates to the element corresponding to the hash value for which rejection was output in the hash value match verification means 408 among the elements of the input ciphertext string 303. In this case, it verifies the hash value rejection justification proof statement 400 which is a proof sentence that the output of this rejection is right, and if this proof To force.
  • Validity determining means 405 is any element of input data string 105 that has been accepted by both the means 402 for verifying the knowledge of the common key for this element and the means 404 for verifying the knowledge of the secret random number. With regard to, output acceptance if all the following conditions are met, otherwise rejection.
  • the output data string 107 includes only the elements corresponding to the elements accepted by the common key knowledge verification means 402, the secret random number knowledge verification means 404, and the hash value match verification means 408, and All of them are included.
  • an initialization process 100 is performed to generate and release a secure variable, an area variable of a public key cryptosystem, a cryptographic hash function, and an encryption function of a common key cryptosystem. Then, the public key of each of the plurality of substitution decryption apparatuses 112 is generated, and the initialization processing 320 of the substitution decryption apparatus to be released is performed.
  • each of the security variable, the area variable of the public key cryptosystem, the cryptographic hash function, the encryption function of the common key cryptosystem, and the plurality of replacement / decryption devices 112 respectively.
  • a public key, a plurality of common keys of the common key cryptosystem, and a plaintext different for each participant device 103 are input, and participation processing is performed to generate data to be output to the substitution decryption device via the compilation device 104.
  • all the data obtained by the participation process are input to the compiling device 104, the grouping process is performed, and the result is output to one of the permutation decoding devices 112 as the input data string 105.
  • the input data string 105 and the secret key 106 of the public key code system are input, and the string of the output data string 107 and the legitimacy proof text 108 is generated.
  • the input data string 105 in the first permutation decoding apparatus 112 is the input data string 105 from the compiling apparatus 104, and the input data strings 105 in the subsequent permutation decoding apparatus 112 are from the substitution decryption apparatus 112 immediately before them.
  • the output data string 107 in the final permutation decoding device 112 is taken as the decoding result, and the output data ⁇ 1J 107 from each permutation decoding device 112 excluding the final permutation decoding device 112 is taken as the decryption intermediate result.
  • the legitimacy proof sentence 108 output from all the permutation / decoding devices 112 is taken as the whole legitimacy proof sentence, and the decryption result, the decryption result, and the whole legitimacy proof sentence are outputted.
  • the above processing is called integrated replacement decoding processing.
  • each permutation / decoding device 112 is separated from the decryption result, the result during decryption, and the whole validity proof text, and the input data string 105 and the output data string 107 in each permutation / decoding device 112 are valid.
  • the sex proof text 108 is input to the verification device 109, and the verification device 109 performs verification processing to output acceptance or non-acceptance.
  • the results of verification processing for all permutation decoding processing are collected, and mixednet determination processing is performed to output acceptance as a whole if all are accepted, and to output rejection as a whole otherwise.
  • the participant device 103 as the first input to the hash value encryption means 207, is a random number, a date and time, a value specific to the Mixnet session, and data combining these, in combination with the plaintext 102. You may use either.
  • HashO is a cryptographic hash function
  • q is a prime number
  • C is an elliptic curve of order power 3 ⁇ 4
  • G is a point on C
  • enc [e] () is an encryption function of symmetric key cryptography
  • De C [e] () is an encryption function of symmetric key cryptography
  • e represents the common key used for encryption or decryption.
  • L be the number of bits in the range of the hash function
  • L be the number of bits in the key of the encryption function in the common key cryptosystem
  • q be 5 or more bits greater than L.
  • L a safe variable.
  • the addition symbol "+" is used for a point on an elliptic curve, this means an operation on the elliptic curve.
  • the third-party verifiable Mixnet system that can handle an arbitrary-length ciphertext according to the present invention includes a plurality of permutation / decryption devices, participant devices of a plurality of Mixnet participants, and verification devices of a verification organization. , Organizing Organization Consisting of organization equipment.
  • the number m of permutation decoders Let n be the number of adding devices, let S ( j ) be the permutation decoding device of the first eye, and let S be the second device of the first eye.
  • is a one-to-one mapping of L-bit integer power to a point on elliptic curve C, and ⁇ is a surjective from a point on the elliptic curve to an L-bit integer value, ⁇ ⁇ ⁇ is In the identity map, both ⁇ and ⁇ can be efficiently calculated.
  • in this case, when a bit string e of L bits is given, the lower L bit of the X coordinate of the point on the elliptic curve is set to e, and the remaining bits are padded with 0.
  • Example 1 will be specifically described with reference to FIGS.
  • the initial setting organization for initial setting uses the initial setting device 100 realized by a computer or the like to set the bit length ⁇ ⁇ of the plaintext, the safety variable L, and the prime number q whose length is 5 larger than L and ,
  • Method enc [e] () and decoding function dec [e] L bit sequence to point on C ⁇ 0, C point to L bit sequence Determine the map 0 0 and publish it.
  • the prime number q, the elliptic curve C of order q, and the point on C become the region variables of the G-force public key cryptosystem.
  • the initialization means 320 in each permutation decoding device S® randomly selects r Q) ⁇ Z / q Z at random.
  • participant device 103 U determines a plaintext 102 M of length ⁇ bits.
  • Arbitrary data 203 (arbitrary character string of L bits +1 each) , p (m + 1) ) and data are generated (process 200).
  • a random number, a session-specific number, a date and time, etc. may be selected as an arbitrary character string. If a random number is used, the participant device confirms the existence of its own plaintext from the final set of decrypted texts. There is an effect that can be recognized, and if the session-specific number and date and time are entered, it is possible to reuse the ciphertext used for other sessions and find that it is not possible.
  • c 0) enc [e (i) ] ( ⁇ ( ⁇ ( ⁇ ⁇ ⁇ +1) , ⁇ ' 0 + 1) , c 0 + 1) , S (i + 1) , S' 0 + 1) , T (i +1) , T 'P 0 +1) )
  • ⁇ ' 0) Hash ( ⁇ ⁇ ) , ⁇ ' 0) , c (i) , S "] ', ⁇ 0) , ⁇ ' ⁇ ) , [r [5] 0) ] ⁇ 0) )
  • ⁇ '(.) Hash (K (1) , K' (1) ,), S (1) , S ' (1) , T (1) , T' (1) , [r [4] (0 ) ] G) , (0) Al (0), (0) v ⁇ .
  • the participant device 103 U proves that the ciphertext 211 (K (1) K (1) c (1) S (1) S ′ (1) , ⁇ ⁇ ⁇ ′ ⁇ )
  • a common key 302 of encrypted common key encryption method (abbreviated as common key ciphertext in FIG. 3) ⁇ ⁇ ⁇ , ⁇ ) ,
  • Encrypted hash value 304 (in FIG. 3, abbreviated as hash value ciphertext)
  • Encrypted concatenated data 305 (in FIG. 3, abbreviated as concatenated data ciphertext)
  • This input data string 105 is a data dividing means
  • ⁇ 0) Hash ( ⁇ ⁇ ), ⁇ '0), c (i), S 0), S' 0), ⁇ ⁇ ), ⁇ ), aV + [ ⁇ 0) lK 0))
  • a verification means 308 of secret random number knowledge is
  • ⁇ ' 0) Hash ( ⁇ ⁇ ) , ⁇ ' 0) , c (i) , S "] ', ⁇ 0) , ⁇ ' ⁇ ) , [a ' (i) ] X (i) + [ ⁇ , (] ')] ⁇ 0) )
  • the common key decryption unit 310 The common key decryption unit 310
  • Hash value decrypting means 312 is
  • the obtained data sequence is (K 0 + 1) , K ′ 0 + 1) , c (i + 1) , S 0 + 1) , S ′ G + 1) , T, (i + 1) , P 0 + 1) , H (i) , ⁇ ′.
  • Substitution means 311 selects substitution 7i [j] () from [ ⁇ ,.,. ,,] to [ ⁇ ,.,., ⁇ ] uniformly randomly, and performs the following substitution process Do.
  • the hash value decryption validity proof means 315 generates a proof that the above is correctly generated (hash value decryption validity proof text).
  • the connected data decryption legitimacy proving means 316 generates a proof that the T ′ (i + 1) is correctly generated (a connected data decryption legitimacy proof sentence).
  • ⁇ ( ⁇ 0) ) Hash ( ⁇ ⁇ +1) , ⁇ , (] +1) , c C +1 ) ,), T , T ,), P )
  • the justification proving means 318 reveals ⁇ ⁇ and ⁇ ⁇ ⁇ ⁇ ⁇ with respect to the i, and generates a zero knowledge proof (hash value rejection justification proof sentence) of having correctly generated.
  • the hash value decryption validity proof text, the concatenated data decryption validity proof text, and the hash value non-acceptance validity proof text are sent to the verification device 109 as the validity proof text 108.
  • the verifier's verification device 109 The verifier's verification device 109
  • Hash value decryption validity proof statement 401 (hash value certification statement and abbreviation in FIG. 4), connected data decryption validity proof statement 403 (in FIG. 4 and connection proof statement and abbreviation), and hash value non-acceptance validity statement A legitimacy proving text 108 consisting of 400 (in FIG. 4, non-accepting proving text and abbreviation);
  • a proof sentence 110 of knowledge of the whole random number is input.
  • the verification means 500 for verifying the proof sentence 110 of the knowledge of the whole random number for all i,
  • the verification means 404 performs verification processing of knowledge of secret random numbers by
  • ⁇ ' 0) Hash (K (i) , K' 0) , c (i) , S0 ) , S ' (i) , T0 ) , T' (i) , [hi '(] ⁇ )] ⁇ (] ⁇ ) + [ ⁇ '(] ⁇ )] T 0) )
  • Verify that it has been done (perform in a way that corresponds to the proof, eg use the method of the previous document).
  • ⁇ ( ⁇ 0) ) Hash ( ⁇ ⁇ +1) , ⁇ , (] +1) , c C +1 ) ,), T , T ,), P )
  • the verification means 409 for verifying the hash value rejection justification reveals that ⁇ i ⁇ ] ( ⁇ ), ⁇ ⁇ with respect to i.
  • the verification means 406 for verifying the hash value decryption validity and the verification means 407 for verifying the coupled data decryption validity are both accepted and compared by the comparison means 408 for verifying the hash value coincidence.
  • Value matching verification processing is performed by the comparison unit 408 performing non-acceptance and hash value non-acceptance validity verification processing by the verification unit 409, and in the output data string, verification processing of the knowledge of the common key and the secret If only those corresponding to the elements accepted by the process of verifying the random number knowledge and the process of verifying the hash value match, and if all of them are included, accept it, otherwise reject it. Forces.
  • the mixnet system is composed of a plurality of participant devices 103, a collection device 104, a plurality of replacement / decoding devices 112, and a verification device 109.
  • the participant device 103 has the configuration as shown in FIG. 5 and is similar to the participant device in the first embodiment except that it does not have the knowledge connection means 208 and the random number knowledge proving means 210. It is.
  • the management device 104 is also similar to the management device in the first embodiment.
  • the permutation decryption apparatus 112 includes a data division means 723, a verification means 707 for knowledge of the common key, a common key decryption means 710, a data decryption means 713, and a hash value decryption means 712. It has a hash value verification means 717, an output data string generation means 711, a duplicate data deletion confirmation means 720, a hash value decryption validity proving means 715, a hash value non-acceptance validity proving means 718, and an output means. .
  • the data dividing means 723 is common to the common key encryption method in which each element of the input data string 105 input from the compiling device 104 or another substitution decryption device is encrypted according to the public key encryption method. It is divided into a key 702, data 703 encrypted by the common key cryptosystem, a hash value 704 encrypted by the public key cryptosystem, and a proof sentence 701 of knowledge of the encrypted common key.
  • the output data string generation unit 711 corresponds to the output data in the sense that the output data string is generated from the data of the same element of the input data string 105.
  • the hash value verification unit 717 and the common key knowledge verification unit 707 In all of the above, a data string is generated in which only elements for which acceptance has been output are the elements of the string, and the order of each element is uniformly and randomly rearranged to be the output data string 107.
  • the duplicate data deletion confirmation means 720 outputs acceptance if it is confirmed in the subsequent process that the duplicate is deleted in the subsequent processing, and otherwise rejects if there is duplication in each element of the output data string 107.
  • the hash value non-acceptance validity proving unit 715 decrypts the encrypted concatenated data in which the decrypted concatenated data included in each element of the output data ⁇ IJ 107 is always included in an element in the input data ⁇ IJ 105.
  • a hash value rejection test is generated, which is a proof that the output of the rejection is valid.
  • the output means uses the hash value decryption validity proof text and the hash value non-acceptance validity proof text as the validity proof text 108, and the output of the output data string generation means 711 And the output data string 107 that has been output.
  • the other configuration is the same as that of the permutation decoding apparatus in the first embodiment.
  • the verification device 109 includes a common key knowledge verification means 802, a hash value decryption validity verification means 806, a hash value coincidence verification means 808, and a hash value non-acceptance validity verification means 809. And a legitimacy judging means 805.
  • the legitimacy judging means 805 satisfies all the following conditions with respect to all the elements accepted by the common key knowledge verifying means 402 for this element: Output acceptance, otherwise output rejection.
  • the output data string 107 includes only those corresponding to the elements accepted by the common key knowledge verification means 802 and the hash value match verification means 808, and all of them are included.
  • the other configuration is the same as that of the verification device in the second embodiment.
  • the operation of the mixnet system is the same as that of the first embodiment, and thus the description thereof is omitted.
  • the initialization apparatus 100 outputs a plaintext bit length ⁇ , a safety variable L, a prime number q whose length is 5 greater than L, an elliptic curve C of order q, a point G on C, and A common key cryptosystem using a cryptographic hash function HashO with a bit length of L and a key of length L, and a decryption function enc [e] () of the common key cryptosystem and a decryption function dec Determine and publish [e], a function ⁇ () from a bit string of L bits to a point on C, and a mapping (() from a point on C to a bit string of L bits.
  • the initialization means 721 in each permutation decoding device S® selects r 0) e Z / q Z uniformly at random,
  • participant device 103 U determines a plaintext 102M of length ⁇ bits.
  • the key encryption means 605, the data encryption means 606, the hash value encryption means 607, and the output means 615, “' 111, (111-1),. Repeat the following process 613 in order.
  • random strings, session-specific numbers, date and time may be selected as arbitrary character strings.
  • Using a random number has the effect that the participant's device can confirm the existence of its own plaintext from the final set of decrypted texts, and if the session-specific number and date / time are entered, the ciphertext used for other sessions is There is an effect that it is understood that it is not reusing.
  • c 0) enc [e (]) ] (K (] +1) , K, 0 + 1) , c 0 +1) ; S (] +1) , S, ⁇ +1) , P (] + 1) )
  • participant device 103 U has the following sentences 611 ( 1 ), ( 1 ), c (1) , S a ), S ′ ⁇ ) and the proof text ⁇ ⁇ , ⁇ (°)
  • the coordinating device 104 collectively sends the data collected from the participant devices to the first permutation decoding device.
  • Common key of encrypted common key cryptosystem (abbreviated as common key ciphertext in FIG. 6)
  • Encrypted hash value 704 (in FIG. 6, abbreviated as hash value ciphertext)
  • the input data string 105 is divided by the data dividing means 723 into the respective elements 701 and 704.
  • ⁇ 0) Hash ( ⁇ ⁇ ) , ⁇ ' 0) ,, S 0) , S' 0) , [a 0) ] ⁇ 0) + [ ⁇ V)
  • ⁇ 0) ⁇ ' 0) - [1 / ⁇ ⁇ )] performs ⁇ ⁇ ) becomes operational.
  • the substitution means 711 uniformly and randomly selects [ ⁇ ,.,., ⁇ ] to [ ⁇ ,.,., ⁇ ] 7i [j] () and calculates the following.
  • the hash value decrypting means 712 and the replacing means 711 are identical to The hash value decrypting means 712 and the replacing means 711.
  • the hash value decryption validity proving unit 715 generates a proof that the above is correctly generated (hash value decryption validity proof text).
  • the method of the above-mentioned literature is used.
  • ⁇ ( ⁇ ⁇ ) Hash ( ⁇ ⁇ + 1), ⁇ '(), c 0 + 1), S ⁇ S ⁇ 1), P 0 + 1))
  • the verification device 109 includes a hash value decryption validity proof text 801 (in FIG. 7, a hash value proof text and abbreviation) and a hash value non-acceptance validity proof text 800 (in FIG. 7, non acceptance text and abbreviation). And the input data string 105 and the output data string 107 are input.
  • Verify (perform in a way that corresponds to the proof, eg use the method of the previous document).
  • ⁇ ( ⁇ ⁇ ) Hash ( ⁇ ⁇ + 1), ⁇ '(), c 0 + 1), S 0 + 1), S, (J' +1), P 0 + 1))
  • Verification means 805 for performing legitimacy determination processing accepts in hash value decryption legitimacy verification processing for everything accepted in both the verification processing of common key knowledge and the verification processing of secret random numbers. And the hash value match verification process is accepted or the hash value match verification process is not accepted and the hash value not accepted validity verification process is accepted, and the output data string has the common key knowledge verification process and the secret.
  • hash value verification processing it is confirmed by hash value verification processing whether or not the participant device has generated a hash value ciphertext by valid processing. If the legitimate process has not been performed, the hash value non-acceptance validity proof process proves that the participant device is illegitimate, and this proves the legitimacy of the process of the replacement decryption apparatus.
  • the reason is that the processing of the participant device is not valid, which may be due to the fraud of another participant device.
  • Other participant devices copy data of one participant device and generate appropriate data based on the ciphertext.
  • the replacement decryption apparatus decrypts the participant device's ciphertext on the assumption that the participant device is illegal, and proves the validity of the decryption. It may be an attack on
  • a process for preventing such an attack on privacy is a process for proving connection data.
  • the second embodiment is a process of deleting duplicate data.
  • the consolidated data prevents simple copying, since it can not make a proof at the end unless it is generated by itself. Deletion of duplicate data is the process of removing the copied data as it is.
  • the participant device may input a string such as a random number, a session-specific number, a date and time, etc. together with the plaintext, but since these values are finally decrypted, this is decrypted
  • a string such as a random number, a session-specific number, a date and time, etc.

Abstract

 各参加者装置103が、平文を共通鍵暗号方式の共通鍵を使用して暗号化すると共に、上記暗号鍵を公開鍵により暗号化し、これらを置換復号装置112へ送付する。これにより、扱うことのできる暗号文の長さに制限をなくすことができる。また、本発明では、各置換復号装置が行った、公開鍵を利用した検証可能な証明文を、検証装置109が公開鍵を利用して検証する。これにより、暗号文の復号と入れ替えを行う複数の機関の中に操作を正しく行わなかったものが存在した場合、これを第三者が特定し、特定されたものが不正者であることを証明できる。                                                                                 

Description

明 細 書
ミックスネットシステム 技術分野
[0001] 本発明は、複数の暗号文が入力されたとき、複数の機関が共同してこれらの順番 の入れ替えと復号を行レ、、入力された暗号文との対応が分からないようにして出力す るミックスネットの技術に関し、特に、入力される暗号文の長さに制限がなぐ且つ、複 数の機関の中に正しく操作を行わなかったものがあったならば、第三者でもそれを特 定し、その事実を証明することができる技術に関する。
背景技術
[0002] ミックスネットは入力された暗号文の列に対して要素間の置換と各要素の復号を行 うことにより、出力される復号文の列の各要素と入力された暗号文の列の各要素の対 応を分からなくする操作である。
[0003] [従来の技術 (1)]
従来のミックスネットで、正しく操作を行わなかった機関を特定しその事実を特定で きるものとして、証明装置と検証装置とを用いる方法がある(例えば、特開 2002—34 4445号公報 (文献 1)参照)。この方法を図 8を用いて説明する。
[0004] 文献 1の証明装置は、置換と復号を正しく行ったことを証明する装置で、文献 1の検 証装置は、証明装置が行った証明が正しいことを検証する装置である。この両装置 の作用により、仮に証明装置が正しく操作 (置換と復号)しなければ、証明に失敗し、 検証装置はこの証明装置が正しく操作しなかったことを突き止めることができる。
[0005] 文献 1の証明装置と検証装置とを以下に示すように用いて、全体としてミックスネット として動かす。最初に、各置換復号装置 912に対応して秘密鍵 906が決まる。この秘 密鍵 906から公開鍵 901を生成し、この公開鍵 901を全ての参加者装置 903に配る。長 さの決まった短い平文 902をミックスネットの参加者装置 903が、公開鍵 901を用いて 暗号化する。
[0006] 置換復号装置 912は、入力された暗号文の列 913を置換復号し、次の置換復号装 置 912に渡す(処理 907)。以下これを繰り返すと最後に平文の列 911が得られる。置 換復号装置 912は、 自分の行った置換と復号の操作が正しいことを、文献 1の証明装 置を用いて証明する(処理 908)。検証装置 909は、文献 1の検証装置を用いて置換 復号装置の行う証明を検証する。この検証は、検証装置さえ準備できれば第三者に も可能である。
[0007] 以上において、参加者装置 903が暗号化できる平文 902は、公開鍵の長さと同程度 の長さのものに限られる。それゆえ、より長い暗号文を平文を扱うことはできない。
[0008] [従来の技術 (2)]
従来のミックスネットで、任意長の長さの暗号文を扱うことができるものにとして、ジュ ール (Juels)とヤコブソン (Jakobsson)による方式がある(例えば、「An Optimally Robust Hybrid ix Network, Proc. of the 20th annual ACM Symposium on Principles of Distributed Computation, 2001」(文献 2)参照)。この方式では入力される暗号文は、 任意の共通鍵暗号方式により平文を暗号ィヒしたものであるため、平文の長さに特に 制限がない。その一方、この方式は、暗号文の復号と入れ替えを行う複数の機関の 内、これらの操作を正しく行わな力つたものがあった場合、この共同して復号と入れ 替えに当っている機関はこれを特定することができる。しかし、これら複数の機関の協 力の無い第三者には、暗号文の操作を正しく行わなかった機関を特定することはで きない.
[0009] 上記関係を図 9を用いて説明する。文献 2記載のミックスネットは、従来の技術 (1)の ミックスネットとほぼ同様に動作する力 入力される平文が長い平文 1002であっても良 レ、。さらに置換と復号が正しく行われたかを置換復号装置同士で互いに検証すること ができる(処理 1014)。しかし、第三者がこれを検証することは、従来の技術 (1)と異な りできない。
発明の開示
発明が解決しょうとする課題
[0010] 従来の技術 (1)は、暗号文の復号と入れ替えを行う複数の機関の内、これらの操作 を正しく行わなかったものが存在した場合、これを第三者が特定し、特定したものが 不正者であることを証明できる。一方この方式は、扱うことのできる暗号文の長さが限 られているという欠点を持つ。
[0011] 従来の技術 (2)は、扱うことのできる暗号文の長さに制限が無い一方、暗号文の復 号と入れ替えを行う複数の機関の内これらの操作を正しく行わなかったものが存在し た場合、これを第三者が単独で特定することは不可能であるという欠点を持つ。
[0012] そこで、本発明の目的は、暗号文の復号と入れ替えを複数の機関で行なう場合に、 第三者が不正者を特定できるようにすることにある。
また、他の目的は、暗号文の長さの制限をなくすことにある。
課題を解決するための手段
[0013] 本発明の参加者装置は、
共通鍵暗号方式の複数の共通鍵の一つを、複数の置換復号装置の一つの公開鍵 により暗号化する鍵暗号化手段と、
共通鍵暗号方式の複数の共通鍵の一つで、与えられたデータを暗号化するデータ 暗号化手段と、
暗号学的なハッシュ関数を用いて、与えられたデータのハッシュ値を計算し、この ハッシュ値を前記複数の置換復号装置の一つの公開鍵により暗号化するハッシュ値 暗号化手段と、
前記データ暗号化手段の最初の入力を平文とし、次からの、前記データ暗号化手 段の入力を前回の前記データ暗号化手段,前記鍵暗号化手段,前記ハッシュ値暗号 化手段の出力とする処理を、前記置換復号装置の数だけ繰り返す、繰り返し手段と、 前記繰り返し手段の処理により得られたデータを出力する出力手段と
を備えることを特 ί敷とする。
[0014] 本発明の取りまとめ装置は、
複数のデータが入力されて、これらのデータの正当性を検証し、正当であることが 判明したものだけを出力する構成を備えることを特徴とする。
[0015] 本発明の置換復号装置は、
入力データ列の各要素を、公開鍵暗号方式により暗号化された共通鍵暗号方式の 共通鍵,共通鍵暗号方式により暗号化されたデータ,公開鍵暗号方式により暗号化さ れたハッシュ値に分割するデータ分割手段と、 前記暗号化された共通鍵暗号方式の共通鍵を前記公開鍵暗号方式の秘密鍵によ り復号する、共通鍵復号手段と、
復号した前記共通鍵を用いて、前記暗号化されたデータを復号して出力データを 生成するデータ復号手段と、
前記暗号化されたハッシュ値を、前記公開鍵暗号方式の秘密鍵により復号したもの を出力するハッシュ値復号手段と、
前記復号されたハッシュ値と前記生成された出力データのハッシュ値とを比較し、 一致すればハッシュ値受理を、異なればハッシュ値不受理を出力するハッシュ値検 証手段と、
前記出力データで、前記入力データ列の同一の要素のデータから生成されたとい う意味において対応する、前記ハッシュ値検証手段において受理を出力されたもの だけを列の要素とするデータ列を生成し、さらに各要素の順番を一様無作為に並び 替え出力データ列とする、出力データ列生成手段と、
前記出力データ列の各要素のハッシュ値が、必ず前記入力データ列のある要素に 含まれる前記暗号化されたハッシュ値を復号したものであり、かつ両者の対応が一対 一であることの証明文であるハッシュ値復号正当性証明文を生成する、ノ、ッシュ値復 号正当性証明手段と、
前記ハッシュ値検証手段において不受理を出力された場合、この不受理の出力が 正当であることの証明文であるハッシュ値不受理正当性証明文を生成するハッシュ 値不受理正当性証明手段と、
前記ハッシュ値復号正当性証明文と前記ハッシュ値不受理正当性証明文とを正当 性証明文とし、これと前記出力データ列生成手段の出力した前記出力データ列とを 出力する出力手段と
を備えることを特 ί敷とする。
本発明の検証装置は、
ハッシュ値復号正当性証明文に含まれる復号されたハッシュ値が、入力データ列 のある要素の喑号ィ匕されたハッシュ値を復号したものに一致し、両者に一対一の関 係があることを検証し、両者が一致し一対一の関係があれば受理を、無ければ不受 理を出力するハッシュ値復号正当性検証手段と、
前記復号されたハッシュ値が、出力データ列の各要素のハッシュ値と一致すれば 受理を、一致しなければ不受理を出力するハッシュ値一致検証手段と、
入力暗号文の列の要素の内、前記ハッシュ値一致検証手段において不受理が出 力されたハッシュ値に対応する要素に関しては、この不受理の出力が正当であること の証明文であるハッシュ値不受理正当性証明文を検証し、この証明文が正当であれ ば受理を、不当であれば不受理を出力するハッシュ値不受理正当性検証手段と、 前記入力データ列の要素に関して、前記ハッシュ値復号正当性検証手段で受理さ れ、かつ前記ハッシュ値一致検証手段で受理及び前記ハッシュ値一致検証手段で 不受理かつ前記ハッシュ値不受理正当性検証手段で受理のいずれかであり、かつ 前記出力データ列には前記ハッシュ値一致検証手段で受理された要素に対応する ものだけで、かつそれらが全て含まれているならば受理を、そうでなければ不受理を 出力する正当性判定手段と
を備えることを特 ί数とする。
本発明のミックスネットシステムは、
前記参加者装置複数と、前記取りまとめ装置と、前記置換復号装置と、前記検証装 置とを備え、
安全変数,公開鍵暗号方式の領域変数,暗号学的なハッシュ関数,共通鍵暗号方式 の暗号化関数を生成し、公開する初期設定処理と、
前記複数の置換復号装置のそれぞれの公開鍵を生成し、公開する置換復号装置 の初期設定処理と、
安全変数,公開鍵暗号方式の領域変数,暗号学的なハッシュ関数,共通鍵暗号方式 の暗号化関数,前記複数の置換復号装置のそれぞれの公開鍵,複数の前記共通鍵 暗号方式の共通鍵及び前記参加者ごとに異なる平文とが前記参加者装置のそれぞ れに入力され、
前記参加者装置のそれぞれから、前記置換復号装置へ入力するデータをそれぞ れ出力する参加処理と、
前記参加処理で得られた置換復号装置へ入力するデータ全てが前記取りまとめ装 置に入力され、この時の前記取りまとめ装置の出力を入力データ列とする、取りまと め処理と、
前記置換復号装置の一つに、入力データ列と公開鍵暗号方式の秘密鍵とが入力 され、この置換復号装置が出力データ列、正当性証明文の列を出力する、置換復号 処理と、
前記取りまとめ処理の出力である入力データ列を最初の入力データ列として前記 置換復号処理を、用いる置換復号装置を交換しながら次々と繰り返し行う処理で、最 初の置換復号処理における入力データ列は、前記取りまとめ処理の出力する入力デ ータ列であり、以降の置換復号処理における入力データ列は、直前の置換復号処理 における出力データの列とし、最後の置換復号処理の出力する出力データ列を復号 結果とし、最後の置換復号処理を除く各置換復号処理の出力する出力データ列を 復号途中結果とし、全ての置換復号処理の出力する正当性証明文を、全体の正当 性証明文とし、復号結果,復号途中結果,全体の正当性証明文とを出力する統合置 換復号処理と、
復号結果,復号途中結果,全体の正当性証明文から各置換復号装置の入力及び出 力を分離し、各置換復号処理の入力データ列と出力データ列と正当性証明文とが前 記検証装置に入力され、前記検証装置が受理または不受理を出力する検証処理と 全ての置換復号処理に関する検証処理の出力を集めて、全てが受理であれば全 体としての受理を、そうでなければ全体としての不受理を出力するミックスネット判定 処理と
を行うことを特徴とする。
発明の効果
[0018] 本発明では、各参加者装置が、平文を共通鍵暗号方式の共通鍵を使用して暗号 化すると共に、上記暗号鍵を公開鍵により暗号化し、これらを置換復号装置へ送付 する。これにより、扱うことのできる暗号文の長さに制限をなくすことができる。
[0019] また、本発明では、各置換復号装置が行った、公開鍵を利用した検証可能な証明 文を、検証装置が公開鍵を利用して検証する。これにより、暗号文の復号と入れ替え を行う複数の機関の中に操作を正しく行わなかったものが存在した場合、これを第三 者が特定し、特定されたものが不正者であることを証明できる。
図面の簡単な説明
[0020] [図 1]本発明に係るミックスネットシステムの全体構成を示すブロック図である。
[図 2]本発明の実施例 1における参加者装置の構成例を示すブロック図である。
[図 3]本発明の実施例 1における置換復号装置の構成例を示すブロック図である。
[図 4]本発明の実施例 1における検証装置の構成例を示すブロック図である。
[図 5]本発明の実施例 2における参加者装置の構成例を示すブロック図である。
[図 6]本発明の実施例 2における置換復号装置の構成例を示すブロック図である。
[図 7]本発明の実施例 2のおける検証装置の構成例を示すブロック図である。
[図 8]従来の技術 1を説明するためのブロック図である。
[図 9]従来の技術 2を説明するためのブロック図である。
発明を実施するための最良の形態
[0021] 次に本発明の実施例について図面を参照して詳細に説明する。
[0022] 1 実施例 1
1. 1 概要
実施例 1の概要にっレ、て、図 1一図 4を参照しながら説明する。
[0023] 本実施例に係るミックスネットシステムは、図 1に示すように、複数の参加者装置 103 と、取りまとめ装置 104と、複数の置換復号装置 112と、検証装置 109とから構成される
[0024] [参加者装置]
図 2に示すように、参加者装置 103は、鍵暗号化手段 205と、データ暗号化手段 206 と、ハッシュ値暗号化手段 207と、知識の連結手段 208と、繰り返し手段 213と、乱数の 知識の証明手段 210と、出力手段 215とを有する。
[0025] ここで、鍵暗号化手段 205は、共通鍵暗号方式の複数の共通鍵の一つを、複数の 置換復号装置 112の一つの公開鍵 101により喑号ィ匕し、さらにこの時暗号化した共通 鍵の知識の証明文を生成する。データ暗号化手段 206は、共通鍵暗号方式の複数 の共通鍵の一つで、与えられたデータ 214を喑号ィ匕する。ハッシュ値暗号化手段 207 は、暗号学的なハッシュ関数を用いて、与えられたデータのハッシュ値を計算し、こ のハッシュ値を複数の置換復号装置 112の一つの公開鍵により暗号ィヒする。知識の 連結手段 208は、与えられたデータ 214を、複数の置換復号装置 112の一つの公開鍵 101により喑号ィ匕し、さらにこの時の喑号ィ匕に用いた秘密の乱数の知識の証明文を生 成する
[0026] 繰り返し手段 213は、データ暗号化手段 206の最初の入力を平文 102とし、次からの 、データ暗号化手段 206の入力を前回のデータ暗号化手段 206,鍵暗号化手段 205, ハッシュ値暗号化手段 207,知識の連結手段 208の出力とする処理を、置換復号装置 112の数だけ繰り返す。全体の乱数の知識の証明手段 210は、知識の連結手段 208 による処理を繰り返すことにより最終的に得られたデータに関して、処理の繰り返し全 てで使った秘密の乱数の和の知識の証明文を生成して出力する。出力手段 215は、 繰り返し手段 213の処理により得られたデータを暗号文 211として出力すると共に、こ の暗号文 211を作成したのが正当な参加者装置であることを証明するデータを出力 する。
[0027] [取りまとめ装置]
取りまとめ装置 104には、複数の参加者装置 103のそれぞれから、暗号文 211と、こ の暗号文 211を作成したのが正当な参加者装置であることを証明するデータが入力 される。そして、取りまとめ装置 104は、入力された暗号文 211が正当な参加者装置に よって生成されたことを検証し、正当であることが判明したものだけを置換復号装置 112の一つに出力する。
[0028] [置換復号装置]
図 3に示すように、置換復号装置 112は、データ分割手段 322と、共通鍵の知識の検 証手段 307と、秘密の乱数の知識の検証手段 308と、共通鍵復号手段 310と、データ 復号手段 313と、ハッシュ値復号手段 312と、ハッシュ値検証手段 317と、連結データ 復号手段 314と、出力データ列生成手段 311と、ハッシュ値復号正当性証明手段 315 と、連結データ復号正当性証明手段 316と、ハッシュ値不受理正当性証明手段 318と 、出力手段とを有する。
[0029] ここで、データ分割手段 322は、取りまとめ装置 104または他の置換復号装置から入 力される入力データ列 105の各要素を、公開鍵暗号方式により暗号化された共通鍵 暗号方式の共通鍵 302,共通鍵暗号方式により暗号化されたデータ 303,公開鍵暗号 方式により暗号化されたハッシュ値 304,公開鍵暗号方式により暗号化された連結デ ータ 305,暗号ィヒされた共通鍵の知識の証明文 301,連結データ暗号化に用いた秘密 の乱数の知識の証明文 306に分割する。
[0030] 共通鍵の知識の検証手段 307は、共通鍵の知識の証明文 301の正当性を検証し、 正当なら受理を不当なら不受理を出力する。秘密の乱数の知識の検証手段 308は、 秘密の乱数の知識の証明文 306を検証し、正当なら受理を不当なら不受理を出力す る。共通鍵復号手段 310は、暗号化された共通鍵暗号方式の共通鍵を、公開鍵暗号 方式の秘密鍵 106により復号する。データ復号手段 313は、復号した共通鍵を用いて 、暗号化されたデータ 303を復号して出力データを生成する。ハッシュ値復号手段 312は、喑号ィ匕されたハッシュ値 304を、公開鍵暗号方式の秘密鍵 106により復号した ものを出力する。ハッシュ値検証手段 317は、復号されたハッシュ値と生成された出力 データのハッシュ値とを比較し、一致すればハッシュ値受理を、異なればハッシュ値 不受理を出力する。連結データ復号手段 314は、暗号化された連結データ 305を、公 開鍵暗号方式の秘密鍵により復号する。
[0031] 出力データ列生成手段 311は、出力データと復号された連結データで、入力データ 歹 IJ105の同一の要素のデータから生成されたという意味において対応する、ハッシュ 値検証手段 317、共通鍵の知識の検証手段 307、秘密の乱数の知識の検証手段 306 の全てにおいて受理を出力されたものだけを列の要素とするデータ列を生成し、さら に各要素の順番を一様無作為に並び替え出力データ列 107とする。
[0032] ハッシュ値復号正当性証明手段 315は、出力データ歹 IJ107の各要素のハッシュ値が 、必ず入力データ列 105のある要素に含まれる暗号化されたハッシュ値を復号したも のであり、かつ両者の対応が一対一であることの証明文であるハッシュ値復号正当性 証明文を生成する。連結データ復号正当性証明手段 316は、出力データ列 107の各 要素に含まれる復号された連結データが、必ず入力データ列 105のある要素に含ま れる喑号化された連結データを復号したものであり、かつ両者の対応が一対一であ ることの証明文である連結データ復号正当性証明文を生成する。ハッシュ値不受理 正当性証明手段 318は、ハッシュ値検証手段 317において不受理を出力された場合 、この不受理の出力が正当であることの証明文であるハッシュ値不受理正当性証明 文を生成する。
[0033] 出力手段は、ハッシュ値復号正当性証明文と連結データ復号正当性証明文とハツ シュ値不受理正当性証明文とを正当性証明文 108とし、これと出力データ列生成手 段 311の出力した出力データ列 107とを出力する。
[0034] [検証装置]
図 4に示すように、検証装置 109は、共通鍵の知識の検証手段 402と、秘密の乱数 の知識の検証手段 404と、ハッシュ値復号正当性検証手段 406と、ハッシュ値一致検 証手段 408と、連結データ復号正当性検証手段 407と、ハッシュ値不受理正当性検証 手段 409と、正当性判定手段 405とを有する。
[0035] 共通鍵の知識の検証手段 402は、取りまとめ装置 104または置換復号装置 112から 入力される入力データ列 105の各要素に属する共通鍵の知識の証明文 301の正当性 を検証し、正当なら受理を不当なら不受理を出力する。秘密の乱数の知識の検証手 段 404は、入力データ列 105の各要素に属する秘密の乱数の知識の証明文 306を検 証し、正当なら受理を不当なら不受理を出力する。ハッシュ値復号正当性検証手段 406は、ハッシュ値復号正当性証明文 401に含まれる復号されたハッシュ値力 入力 データ歹 IJ105のある要素の喑号ィ匕されたハッシュ値を復号したものに一致し、両者に 一対一の関係があることを検証し、両者が一致し一対一の関係があれば受理を、無 ければ不受理を出力する。
[0036] ハッシュ値一致検証手段 408は、復号されたハッシュ値が、置換復号装置 112の出 力データ歹 IJ107の各要素のハッシュ値と一致すれば受理を、一致しなければ不受理 を出力する。連結データ復号正当性検証手段 407は、出力データ列 107の各要素に 含まれる復号された連結データが、入力データ歹 IJ105のある要素に含まれる、暗号化 された連結データ 305を復号したものに一致し、両者に一対一の関係があることを検 証し、両者が一致し一対一の関係があれば受理を、無ければ不受理を出力する。ハ ッシュ値不受理正当性検証手段 409は、入力暗号文の列 303の要素の内、ハッシュ 値一致検証手段 408において不受理が出力されたハッシュ値に対応する要素に関し ては、この不受理の出力が正当であることの証明文であるハッシュ値不受理正当性 証明文 400を検証し、この証明文が正当であれば受理を、不当であれば不受理を出 力する。
[0037] 正当性判定手段 405は、入力データ列 105の要素のなかで、この要素に対する共通 鍵の知識の検証手段 402と秘密の乱数の知識の検証手段 404の両方において受理さ れたもの全てに関して、以下の全ての条件が満たされているならば受理を、そうでな ければ不受理を出力する。
(A)ハッシュ値復号正当性検証手段 406と、連結データ復号正当性検証手段 407との 両方において受理。
(B)ハッシュ値一致検証手段 408で受理、あるいは、ハッシュ値一致検証手段 408で不 受理かつハッシュ値不受理正当性検証手段 409で受理。
(C)出力データ列 107には、共通鍵の知識の検証手段 402と秘密の乱数の知識の検 証手段 404とハッシュ値一致検証手段 408とで受理された要素に対応するものだけで 、かつそれらが全て含まれている。
[0038] [ミックスネットシステムの動作]
まず、安全変数,公開鍵暗号方式の領域変数,暗号学的なハッシュ関数,共通鍵喑 号方式の暗号化関数を生成し、公開する初期設定処理 100を行なう。ついで、複数 の置換復号装置 112のそれぞれの公開鍵を生成し、公開する置換復号装置の初期 設定処理 320を行なう。
[0039] ついで、複数の参加者装置 103のそれぞれにおいて、安全変数,公開鍵暗号方式 の領域変数,暗号学的なハッシュ関数,共通鍵暗号方式の暗号化関数,複数の置換 復号装置 112のそれぞれの公開鍵,共通鍵暗号方式の複数の共通鍵及び参加者装 置 103ごとに異なる平文を入力し、取りまとめ装置 104を介して置換復号装置へ出力 するデータを生成する参加処理を行なう。ついで、参加処理で得られたデータ全てを 取りまとめ装置 104に入力し、取りまとめ処理を行ない、その結果を入力データ列 105 として置換復号装置 112の一つに出力する。
[0040] ついで、複数の置換復号装置 112のそれぞれにおいて、入力データ列 105と公開鍵 喑号方式の秘密鍵 106とを入力し、出力データ列 107と正当性証明文 108の列とを生 成する置換復号処理を行なう。この際、最初の置換復号装置 112における入力デー タ列 105は、取りまとめ装置 104からの入力データ列 105とし、以降の置換復号装置 112における入力データ列 105は、それぞれの直前の置換復号装置 112からの出力 データ列 107とする。最後の置換復号装置 112における出力データ列 107を復号結果 とし、最後の置換復号装置 112を除く各置換復号装置 112からの出力データ歹 1J107を 復号途中結果とする。全ての置換復号装置 112から出力される正当性証明文 108を、 全体の正当性証明文とし、復号結果,復号途中結果,全体の正当性証明文とを出力 する。以上の処理を統合置換復号処理という。
[0041] ついで、復号結果,復号途中結果,全体の正当性証明文から各置換復号装置 112の 入力及び出力を分離し、各置換復号装置 112における入力データ列 105と出力デー タ列 107と正当性証明文 108とを検証装置 109に入力し、検証装置 109において受理 または不受理を出力する検証処理を行なう。全ての置換復号処理に関する検証処 理の結果を集めて、全てが受理であれば全体としての受理を、そうでなければ全体と しての不受理を出力するミックスネット判定処理とを行う。
[0042] なお、参加者装置 103は、ハッシュ値暗号化手段 207の最初の入力として、平文 102 と併せて、乱数,日時,ミックスネットのセッションに固有の値,及びこれらを組み合わせ たデータ,のいずれかを使ってもよい。
[0043] 1. 2 記法
以下で用いる記法の説明をする。 HashOを暗号学的なハッシュ関数、 qを素数、 Cを 位数力 ¾の楕円曲線、 Gを C上のある点、共通鍵暗号方式の暗号化関数を enc[e]()、 復号関数を deC[e]()とする。但ここで、 eは暗号化または復号に使う共通鍵を表すとす る。ハッシュ関数の値域のビット数を Lとし、共通鍵暗号方式の暗号化関数の鍵のビッ ト数は Lとし、 qのビット数は Lより 5ビット以上大きいとする。 Lを安全変数と呼ぶ。数式 X=[x]Gは Xが Gの楕円曲線上の X倍点であることを表す。また、加算記号「+」は、楕円 曲線上の点に対して使われた場合、これは楕円曲線上の演算を意味する。
[0044] 本発明の任意長の暗号文を扱える第三者検証可能なミックスネットシステムは、複 数の置換復号装置と、複数のミックスネット参加者の参加者装置と、検証機関の検証 装置と、取りまとめ機関の取りまとめ装置から構成される。置換復号装置の数を m、参 加者装置の数を nとし、潘目の置換復号装置を S(j)、潘目の参加者装置を と記す。
[0045] Ψは、 Lビットの整数値力 楕円曲線 C上の点への一対一の写像で、 Φは、楕円曲 線上の点から Lビットの整数値への全射で、 Φ · Ψは恒等写像で、 Φ , Ψ共に効率的 に計算できるものとする。具体的な Φの例として、楕円曲線の点 Εが与えられたとき e= Φ (Ε)として、 Εの X座標の下から Lビットを採用する写像が挙げられる。この場合の Ψ の具体例としては、 Lビットのビット列 eが与えられたとき、楕円曲線上の点の X座標の 下 Lビットを eとし、残りのビットに決められた 0をパディングする。そして C上この様な X 座標を持つ点があるかを調べる。もしなければパディングを決められた手順で変更し ていき、これが C上の点のな X座標となるまで続ける。 C上の点が見つかればこれを Ψ (e)とする。この点 (Ψ(Θ》の X座標の下 Lビットは常に eであり続けるので、明らかに Φ · Ψ(Θ) = eで、 Φ · Ψは恒等写像である。
[0046] 1. 3 具体例
実施例 1について、図 1一図 4を参照しながら具体的に説明する。
[0047] [初期設定]
最初に初期設定のための初期設定機関は、コンピュータ等によって実現される初 期設定装置 100を用いて、平文のビット長 Λと、安全変数 Lと、 Lより 5そのビット長が 大きい素数 qと、位数が qの楕円曲線 Cと、 C上の点 G、出力のビット長が Lの暗号学的 なハッシュ関数 HashOと、長さ Lの鍵を使う共通鍵暗号方式と、上記共通鍵暗号方 式の喑号ィ匕関数 enc[e]()および復号関数 dec[e]と、 Lビットのビット列から C上への 点への関数 Ψ0と、 C上の点から Lビットのビット列への写像 Φ 0とを決定し公開す る。ここで、素数 qと、位数が qの楕円曲線 Cと、 C上の点 G力 公開鍵暗号方式の 領域変数となる。
[0048] [置換復号装置の初期設定]
次に全ての置換復号装置 112は、次の初期設定処理を行う。全ての置換復号装置 S0) (j'=l,...,m)内の初期設定手段 320(図 3参照)は、秘密鍵 106 x(i)≡ Z/qZを一様無 作為に選び、それを自置換復号装置 S(])内に保存すと共に、公開鍵 101 XG)=[x(i)]Gを 生成し、公開する。
[0049] 更に、各置換復号装置 S®内の初期設定手段 320は、 rQ)≡ Z/qZを一様無作為に選 び、
0) (i) (i) 0) j
= r - y r mod q
を計算し、 ]), ひ①を x®の知識の零知識証明文 321として公開する。
[0050] [参加者装置の暗号文生成]
i=l,...,nに関して、参加者装置 103 U (図 2参照)は、長さが Λビットの平文 102 Mを 決定する。各参加者装置 103 Uは、最初のデータ 214として、 c(m+1)=M と、 T'(m+1)=Gと
i i i i
、任意データ 203(それぞれが Lビットの任意の文字列 +1), p(m+1) )とを含むデータを生成する (処理 200)。更に、鍵生成手段 204が、 j=l,...,mに関して Z/qZの要素 r[l](]V[2]0), r[3] 0 [4] (】·), r[5]0)及び C上の点 EG)を一様無作為に選ぶ
i
[0051] その後、鍵暗号化手段 205、データ暗号化手段 206、ハッシュ値暗号化手段 207、知 識の連結手段 208、証明文まとめ手段 209、証明生成手段 210および出力手段 215が 、 j=m,(m-l),...,lの順番で繰り返し以下の処理 213を行う。
[0052] ここで任意の文字列としては、乱数,セッション固有の数, 日時等を選ぶ場合がある 乱数を用いれば、最終的な復号文の集合から自分の平文の存在を参加者装置が確 認できる効果があり、セッション固有の数や日時を入れれば、他のセッションに使わ れた暗号文を再利用してレ、なレ、ことが分かる効果がある。
[0053] ·鍵暗号化手段 205における暗号化処理
共通鍵 e(j)の暗号化のため、
e(i) = Φ(Ε0))
なる Ε(])を求め、
(K(i),K'0)) = ([r[l]0)]X0), [r[l](i)]G + E(i) )
i i i i i
を計算し、計算結果を出力手段 215に入力する。
[0054] ·鍵暗号化手段 205における共通鍵の知識の証明文の生成処理
y 0) = Hash( K(i),K'0), c(i), S^ S'®, T(i),T'0), [r[4] (i)]XG))
i i i i i i i i i
と、 ϋ) = r[4] (]') - γ ϋ) r[l] (]') mod q
とを計算し、それらを証明文まとめ手段 209に入力する。
[0055] ·データ暗号化手段 206におけるデータ暗号化処理
e(i) = Φ(Ε0))
と、
c0) = enc[e(i)]( Κ(】·+1),Κ' 0+1), c0+1), S(i+1),S' 0+1), T(i+1),T' P0+1))
とを計算し、 c^)を出力手段 215に入力する。
[0056] ·ハッシュ値暗号化手段 207におけるハッシュ値暗号化処理
(S0),S,(】)) = ( [r[2](])]XG), [r[2]0)]G + ¥(Hash( Κϋ+1),Κ, (】+1), c0+1), S(】+1),S, 0+1), T0+1),T'
, P(】+1))))
を計算し、 S^S を出力手段 215に入力する。
[0057] ·知識の連結手段 208における知識の連結処理
(τϋ),τ'Φ ) = ([Γ[3]ϋ)ϋ), [r[3](i)]G + τ+1)) を計算し、 T0),T'(i)を出力手段 215に入力する。
[0058] ·知識の連結手段 208における乱数の知識の証明文の生成処理
γ '0) = Hash( Κϋ),Κ'0), c(i), S "]'), Τ0),Τ'ϋ), [r[5] 0)0))
と、
- r[5] - y r[3] mod q
とを計算し、それらを証明文まとめ手段 209に入力する。
[0059] ·証明文まとめ手段 209における共通鍵の知識の証明文と乱数の知識の証明文との まとめ処理
共通鍵の知識の証明文 Ί 0), α ωと、乱数の知識の証明文 γ ' (]), a ' 0とをまとめた 証明文 P® =[ y 0), ひ 0), y, (】·), a, G) ]を生成し、 j=lであれば (PG)であれば)、それを証 明文 212の一部として出力する。
[0060] ·証明生成手段 210における処理
Z/qZの要素 r[4](°)を一様無作為に選び、以下の全体の乱数の知識の証明を計 算し、 P(Q)を証明文の一部として出力する。
γ '(。) = Hash( K(1),K'(1), ), S(1),S'(1), T(1),T'(1), [r[4](0)]G) ,(0) Al (0) ,(0) v · . 「り 1
a = rL4」 ― γ ∑尸 lmrL3」 mod q
i i i i
n (0) (0) (0) η
P = Ly , 」
i i i
[0061] ·出力手段 215における処理
鍵暗号化手段 205からの入力 ΚΚ'ωと、データ暗号化手段 206からの入力 c(i)と、
i i i ハッシュ値暗号化手段 207からの入力 S^S'®と、知識の連結手段 208からの入力 T(]) i i i
,下, とからデータ? ^, , c0), S^S'®, T(i),T'0))を生成し、 j=lでなければ、デー i i i i i i i i
タ 214'をデータ 214としてフィードバックし、 j=lならば、(Κω,Κ'ω c(1), S(1),S'(1), Τω,Τ' i i i i i i i を暗号文 211として出力する。
[0062] つまり、参加者装置 103 Uは、暗号文 211(K(1)K (1) c(1) S(1)S'(1), Τω Τ'ω)と証明
i i i i i i i i
文 P(1),P(Q)とを取りまとめ機関の取りまとめ装置 104へ送付する。
i i
[0063] [取りまとめ装置による暗号文の検証]
取りまとめ装置 104は、 i=l nに関して、全体に対する証明文を検証して、 (0) τ (1 ο ο' ^ ^(D ^ (1) (0)Ί^ (1) , (0)Ί
y = Hash( Κ Κ c S S T T Lひ . 」G +ly 」 G)
が成り立つことを確認する。
[0064] また、この全体に対する証明文を検証装置 109に送る (図 1、処理 110)。これが成り 立つことを確認できた に関してだけ、
(1) ,(1) (1) ハ(1) 0, (1) (1) (0)
Κ ,Κ c S S , Τ , Ρ Ρ
i i i i i i i i i
を一番目の置換復号装置に送る (処理 105)。 図 1中では取りまとめ装置 104に入力さ れたデータは 5個であったのが、 4個になって出てきた例を表している。以下暗号文 の数が減少するが、減った後のこの数も nで表し、それぞれの暗号文を i=lから n までの番号で順番付ける。また、以下において、
γ 0) G') 0) (j) G) T(j)丁, ') p(j)
i i i i i i i i
は、 j=lの場合を除いて前記のそれとは一般に異なる。
[0065] [置換復号装置による暗号文の順序入れ替えと復号]
j=l,..,mに関して順番に、置換復号装置 112 S0)は、以下の計算及び検証を行う。
[0066] 置換復号装置 112 S(i)には、
暗号化された共通鍵暗号方式の共通鍵 302(図 3中、共通鍵暗号文と略記) κφκ,ϋ)と、
i i 暗号化されたデータ 303 (図 3中、データ暗号文と略記)
c とレ、
暗号化されたハッシュ値 304 (図 3中、ハッシュ値暗号文と略記)
と、
暗号化された連結データ 305 (図 3中、連結データ暗号文と略記)
Γγ G)丁,(】)と 共通鍵の知識の証明文 301(図 3中、鍵の知識証明文と略記)と秘密の乱数の知識 の証明文 306(図 3中、乱数知識証明文と略記) とからなる入力データ列 105が入力される。この入力データ列 105は、データ分割手段
322によって上記した各要素 301— 306に分解される。
[0067] 置換復号装置 112 S(i)では全ての i(i=l,...,n)に関して,以下の処理を行う。
[0068] 共通鍵の知識の検証手段 307が、
γ 0) = Hash( Κϋ),Κ'0), c(i), S 0),S' 0), Τϋ),Τ ), aV +[ γ 0)lK0))
を確認する。
[0069] 秘密の乱数の知識の検証手段 308が、
γ'0) = Hash( Κϋ),Κ'0), c(i), S "]'), Τ0),Τ'ϋ), [a'(i)]X(i) +[γ,(]')] Τ0))
i i i i i i i i i i i
を確認する。等式が成り立たない iに関しては、最終的な出力データ列には加えな レ、。
ここでも暗号文の数が減少する力 減った後のこの数も nで表し、それぞれの暗号 文を i=lから nまでの番号で順番づける。
[0070] 共通鍵復号手段 310が、
Figure imgf000019_0001
をデータ復号手段 313に入力する。
[0071] データ復号手段 313が、
e(i)= Φ(Ε0))、
(K(】+1),K'0+1), cG+1), S(】+1),S,0+1), T,G+1), P0+1)) = dec[e0)](cG))
i i i i i i i i i
なる演算を行う。 [0072] ハッシュ値復号手段 312が、
H 0) = S' (i) - [l/xG)]S (i)
i i i
なる演算を行う。
[0073] 連結データ復号手段 314が、
丁,( )—丁, ') _ J 0)jr G)
i i i
なる演算を行う。
[0074] 得られたデータ列は( K 0+1),K' 0+1),c (i+1),S 0+1),S' G+1),T, (i+1),P 0+1),H (i) ,Τ' である。
i i i i i i i i i
[0075] 置換手段 311は、一様無作為に [Ι,. ,.,η]から [Ι,. ,.,η]への置換 7i [j]()を選び、 以 下の置換処理を行う。
K (】+1) = Κ π [j](i)°+1)
K'I(i+1) = Κ' π [j](i)0+1)
i
c ) = c π [j](i "
S = S π圆 1)
S': +1) = S' π [j](i)0+1)
Τ +1) = T' π [j](i)0+1)
Ρ = Ρ π
Η = Η π
Τ +1) = Τ' π [j](i)0+1)
[0076] 次に、ノ、ッシュ値復号正当性証明手段 315により、上記 が正しく生成されたこと の証明 (ハッシュ値復号正当性証明文)を生成する。
[0077] 連結データ復号正当性証明手段 316により、 T' (i+1)が正しく生成されたことの証明( 連結データ復号正当性証明文)を生成する。
[0078] これらの証明には、例えば文献「An Implementation of a Universally Verifiable
Electronic Voting Scheme based on Shuffling, Financial cryptography 2002」の方法 を用いれば可能である。
[0079] 次に、全ての i(i=l,...,n)に関して、ハッシュ値検証手段 317において、
Φ (Η 0)) = Hash( Κ ϋ+1),Κ,(】+1), c C+1), ), TT, ), P
が成り立つことを確認する。この式が成り立たない iが存在すれば、ハッシュ値不受理 正当性証明手段 318により、その iに関して πϋ ΰ,Ε^を明らかにして、 を正しく 生成したことの零知識証明(ハッシュ値不受理正当性証明文)を生成する。ここでも喑 号文の数が減少する力 (処理 319)、減った後のこの数も nで表し、それぞれの暗号文 を i=lから nまでの番号で順番付ける。
[0080] 最後に出力データ歹 θ7(Κ0+1),Κ'ϋ+1), c(i+1), S0+1),S,G+1), T(i+1),T'0+1), Ρ(】·+1)ϋ))を次の i i i i i i i i i 置換復号装置 S 1)に送る。
[0081] ハッシュ値復号正当性証明文と連結データ復号正当性証明文とハッシュ値不受理 正当性証明文とを正当性証明文 108とし検証装置 109に送る。
[0082] 全ての置換復号装置 S® (j=l,...,m)に関して処理が終わると順番が入れ替えられた 平文 111 [M] が得られる。
I 1=1,..., n
[0083] [検証装置の処理]
検証者の検証装置 109には、
ハッシュ値復号正当性証明文 401(図 4中、ハッシュ値証明文と略記)、連結データ復 号正当性証明文 403(図 4中、連結証明文と略記)およびハッシュ値不受理正当性証 明文 400(図 4中、不受理証明文と略記)からなる正当性証明文 108と、
入力データ列 105と、
出力データ列 107と、
全体の乱数の知識の証明文 110とが入力される。
[0084] 最初に全ての iに関して、全体の乱数の知識の証明文 110を検証する検証手段 500 で、
γ 0)Ί
」 G)
Figure imgf000021_0001
が成り立つことを確認する。
[0085] 全ての j=l,...,mに関して順番に以下の計算及び検証を行う。全ての i(i=l,...,n)に 関して、共通鍵の知識の検証処理を行う検証手段 402により、
y 0) = Hash( K(i),K'0), , S^S'®, T(i),T'0), [ひ 0)]X0) +[ y 0); 0))
を確認し、秘密の乱数の知識の検証処理を行う検証手段 404により、
γ'0) = Hash( K(i),K'0), c(i), S0),S'(i), T0),T'(i), [ひ ' (】·)]Χ(】·) +[γ '(】·)] T0))
i i i i i i i i i i i
を確認する。等式が成り立たない iのみに関しては以降の処理を行わない。 [0086] ハッシュ値復号正当性の検証処理を行う検証手段 406により、 [Η ϋ)] が正しく生
i i=l,...'n
成されていることを検証する (証明に対応した方法で行う、例えば前出の文献の方法 を使う)。
[0087] 連結データ復号正当性の検証処理を行う検証手段 407により、 {T' (]+1)] が正し く生成されていることを検証する (証明に対応した方法で行う、例えば前出の文献の 方法を使う)。
[0088] ハッシュ値一致検証処理を行う比較手段 408において、全ての i(i=l,...,n)に関して
Φ (Η 0)) = Hash( Κ ϋ+1),Κ,(】+1), c C+1), ), TT, ), P
が成り立つことを確認する。もし成り立たない iが存在すれば、ハッシュ値不受理正当 性の検証処理を行う検証手段 409において、その iに関して π ϋ](ί),Ε ωを明らかにさ
i
れていること、式 Ε が正しく復号さ
Figure imgf000022_0001
れていることを確認する。
[0089] 正当性判定処理を行う検証手段 405において、共通鍵の知識の検証処理を行う検 証手段 402と秘密の乱数の知識の検証処理を行う検証手段 404の両方において受理 されたもの全てに関して、ハッシュ値復号正当性の検証処理を行う検証手段 406と連 結データ復号正当性の検証処理を行う検証手段 407の両方において受理され、かつ ハッシュ値一致検証処理を行う比較手段 408で受理あるいはハッシュ値一致検証処 理を行う比較手段 408で不受理かつハッシュ値不受理正当性検証処理を行う検証手 段 409で受理であり、かつ出力データ列には、共通鍵の知識の検証処理と、秘密の 乱数の知識の検証処理と、ハッシュ値一致検証処理とで受理された要素に対応する ものだけで、かつそれが全て含まれているならば受理を、そうでなければ不受理を出 力する。
[0090] 2 実施例 2
2. 1
実施例 2の概要について、図 1,図 5,図 6,図 7を参照しながら説明する。
[0091] 本実施例に係るミックスネットシステムは、図 1に示すように、複数の参加者装置 103 と、取りまとめ装置 104と、複数の置換復号装置 112と、検証装置 109とから構成される 。参加者装置 103は、図 5に示すような構成を有し、知識の連結手段 208及び乱数の 知識の証明手段 210を有しない点を除いて、第 1の実施例における参加者装置と同 様である。取りまとめ装置 104もまた、第 1の実施例における取りまとめ装置と同様であ る。
[0092] [置換復号装置]
図 6に示すように、置換復号装置 112は、データ分割手段 723と、共通鍵の知識の検 証手段 707と、共通鍵復号手段 710と、データ復号手段 713と、ハッシュ値復号手段 712と、ハッシュ値検証手段 717と、出力データ列生成手段 711と、重複データ削除確 認手段 720と、ハッシュ値復号正当性証明手段 715と、ハッシュ値不受理正当性証明 手段 718と、出力手段とを有する。
[0093] ここで、データ分割手段 723は、取りまとめ装置 104または他の置換復号装置から入 力される入力データ列 105の各要素を、公開鍵暗号方式により暗号化された共通鍵 暗号方式の共通鍵 702,共通鍵暗号方式により暗号化されたデータ 703,公開鍵暗号 方式により暗号化されたハッシュ値 704,暗号化された共通鍵の知識の証明文 701に 分割する。
[0094] 出力データ列生成手段 711は、出力データで、入力データ列 105の同一の要素の データから生成されたという意味において対応する、ハッシュ値検証手段 717及び共 通鍵の知識の検証手段 707の全てにおいて受理を出力されたものだけを列の要素と するデータ列を生成し、さらに各要素の順番を一様無作為に並び替え出力データ列 107とする。重複データ削除確認手段 720は、出力データ列 107の各要素に重複があ る場合、以降の処理でこれが削除されていることを確認したら受理を、でなければ不 受理を出力する。
[0095] ハッシュ値不受理正当性証明手段 715は、出力データ歹 IJ107の各要素に含まれる 復号された連結データが、必ず入力データ歹 IJ105のある要素に含まれる暗号化され た連結データを復号したものであり、ハッシュ値検証手段 717において不受理を出力 された場合、この不受理の出力が正当であることの証明文であるハッシュ値不受理正 当性証明文を生成する。出力手段は、ハッシュ値復号正当性証明文とハッシュ値不 受理正当性証明文とを正当性証明文 108とし、これと出力データ列生成手段 711の出 力した出力データ列 107とを出力する。その他の構成は、第 1の実施例における置換 復号装置と同様である。
[0096] [検証装置]
図 7に示すように、検証装置 109は、共通鍵の知識の検証手段 802と、ハッシュ値復 号正当性検証手段 806と、ハッシュ値一致検証手段 808と、ハッシュ値不受理正当性 検証手段 809と、正当性判定手段 805とを有する。
[0097] 正当性判定手段 805は、入力データ列 105の要素のなかで、この要素に対する共通 鍵の知識の検証手段 402において受理されたもの全てに関して、以下の全ての条件 が満たされてレ、るならば受理を、そうでなければ不受理を出力する。
(A)ハッシュ値復号正当性検証手段 806で受理。
(B)ハッシュ値一致検証手段 808で受理、あるいは、ハッシュ値一致検証手段 808で不 受理かつハッシュ値不受理正当性検証手段 809で受理。
(C)出力データ列 107には、共通鍵の知識の検証手段 802とハッシュ値一致検証手段 808とで受理された要素に対応するものだけで、かつそれらが全て含まれている。 その他の構成は、第 2の実施例における検証装置と同様である。
[0098] ミックスネットシステムの動作は、第 1の実施例と同様であるから、その説明を省略す る。
[0099] 2. 2 具体例
実施例 2について、図 1,図 5,図 6,図 7を参照しながら具体的に説明する。
[0100] [初期設定]
最初に初期設定装置 100は、平文のビット長 Λと、安全変数 Lと、 Lより 5そのビット 長が大きい素数 qと、位数が qの楕円曲線 Cと、 C上の点 Gと、出力のビット長が L の暗号学的なハッシュ関数 HashOと、長さ Lの鍵を使う共通鍵暗号方式と、上記共 通鍵暗号方式の喑号ィ匕関数 enc[e]()および復号関数 dec[e]と、 Lビットのビット列か ら C上への点への関数 Ψ()と、 C上の点から Lビットのビット列への写像 Φ ()とを決定 し公開する。
[0101] [置換復号装置の初期設定]
次に全ての置換復号装置 S® (j=l,... ,m)は、次の初期設定処理を行う。全ての置換 復号装置 S®内の初期設定手段 721(図 6参照)は、秘密鍵 106 x0)≡ Z/qZを一様無 作為に選び、それを自置換復号装置 S(])内に保持すると共に、公開鍵 101 X(i)=[x0)]G を生成し公開する。更に、各置換復号装置 S®内の初期設定手段 721は、 r0)e Z/qZを 一様無作為に選び、
Figure imgf000025_0001
0) (i) (i) 0) ,
ひ = r — γ r mod q
とを計算し、 ひ0を χωの知識の零知識証明文 722として公開する。
[0102] [参加者装置の暗号文生成]
i=l,...,nに関して、参加者装置 103 U (図 5参照)は、長さが Λビットの平文 102Mを 決定する。各参加者装置 U 103は、最初のデータ 614として、 c(m+1)=M と、任意データ 603(それぞれ力 SLビットの任意の文字歹 ljK(m+1),K'(m+1), S(m+1),S'(m+1), P(m+1) )とを含むデ ータを生成する。更に、鍵生成手段 604が、 j=l,...,mに関して Z/qZの要素 ι·[1]ϋ)Γ[2]
0), r[3]0)及び C上の点 E(j)を一様無作為に選ぶ。
[0103] その後、鍵暗号化手段 605、データ暗号化手段 606、ハッシュ値暗号化手段 607、お ょび出カ手段615が、」'=111,(111-1),...,1の順番で繰り返し以下の処理613を行ぅ。
[0104] 実施例 1と同様に、ここで任意の文字列としては、乱数,セッション固有の数,日時等 を選ぶ場合がある。乱数を用いれば、最終的な復号文の集合から自分の平文の存 在を参加者装置が確認できる効果があり、セッション固有の数や日時を入れれば、他 のセッションに使われた暗号文を再利用していないことが分かる効果がある。
[0105] ·鍵暗号化手段 605における共通鍵の暗号化処理
共通鍵 e(j)の暗号化のため、
e(i)= Φ(Ε0))
なる Ε(])を求め、
(K(i),K'0)) = ([r[l]0)]X0), [r[l](i)]G + E(i) )
を計算し、計算結果 Κω,Κ'(])を出力手段 615に入力する。
[0106] ·鍵暗号化手段 605における共通鍵の知識の証明文の生成処理
y 0) = Hash( K(i),K'0), c(i), S^ S'®, [r[3] (i)]XG))
と、 ') = r[3] (j - y。) r[l] (j mod q
i i i i
と、
P =L γ , a 」
i i i
とを計算し、 Ρ^,Ρ^を共通鍵の知識の証明文 612として取りまとめ装置 104に送付す る。
[0107] ·データ暗号化手段 606におけるデータの暗号化処理
e(i) = Φ(Ε)
i
と、
c0) = enc[e(])]( K(】+1),K, 0+1), c0+1) ; S(】+1),S, ϋ+1), P(]+1))
i i i i i i i i
とを計算し、 c.0)を出力手段 615に入力する。
[0108] ·ハッシュ値暗号化手段 607におけるハッシュ値の暗号化処理
(S0^' ) = ( [r[2](i)]X0), [r[2]0)]G + ¥(Hash( Κϋ+1),Κ, ϋ+1), c0+1), S 0+1),S' , P0+1)))) i i i i i i i i i i を計算し、 S^S を出力手段 615に入力する。
[0109] ·出力手段 615における処理
鍵暗号化手段 605からの入力 Κϋ),Κ'ϋ)と、データ暗号化手段 606からの入力 c(j)と、
1 1 1 ハッシュ値暗号化手段 607からの入力 S®^®とからデータ 614'(Κϋ),Κ'ϋ), c0), S(i),S'0)) i i i i i i i を生成し、 j=lでなければ、データ 614'をデータ 614としてフィードノくックし、 j=lならば 、 (K(1),K'(1), c(1), S(1),S'(1))を暗号文 211として出力する。
i i i i i
[0110] つまり、参加者装置 103 Uは、喑号文611( 1), (1), c(1), Sa),S' ω)と証明文 Ρω,Ρ(°)と
i i i i i i i i を取りまとめ装置 104へ送付する。
[0111] [取りまとめ装置による暗号文の検証]
取りまとめ装置 104は、参加者装置から集めたデータをまとめて一番目の置換復号 装置に送る。以下において、 K0),K'(i), c0), sc),s,(j), Ρωは、 j=lの場合を除いて前記
i i i i i i
のそれとは一般に異なる。
[0112] [置換復号装置による暗号文の順序入れ替えと復号]
j=l,..,mに関して順番に、置換復号装置 112 S0)は以下の計算及び検証を行う。
[0113] 暗号化された共通鍵暗号方式の共通鍵 702(図 6中、共通鍵暗号文と略記)
κφ,κ,ϋ)と、
i i 暗号化されたデータ 703 (図 6中、データ暗号文と略記)
c とレ、
暗号化されたハッシュ値 704 (図 6中、ハッシュ値暗号文と略記)
S^S' と、
共通鍵の知識の証明文 701(図 6中、鍵の知識証明文と略記)
P®とからなる入力データ列 105
及び
秘密鍵 106
0)
X
が入力される。入力データ列 105は、データ分割手段 723によって上記各要素 701 704に分割される。
[0114] 全ての i(i=l,...,n)に関して、以下の処理を行う。
共通鍵の知識の検証手段 707は、
γ 0) = Hash( Κ ϋ),Κ' 0), , S 0),S' 0), [ a 0)0) +[ γ V)
を確認する。等式が成り立たない iに関しては、最終的な出力データ列には加えなレ、 ( 処理 709)。
[0115] ここでは暗号文の数が減少する力 減った後のこの数も nで表し、それぞれの暗号 文を i=lから nまでの番号で順番付ける。
[0116] 共通鍵復号手段 710において、 Ε 0) = Κ' 0) -[1/Χ ϋ)]Κ ϋ)なる演算を行う。
1 1 1
[0117] データ復号手段 713において、
= Φ (Ε
(K
Figure imgf000027_0001
なる演算を行う。得られたデータは、
Figure imgf000027_0002
である。
[0118] 置換手段 711は、一様無作為に [Ι,. ,.,η]から [Ι,. ,.,η]への置換 7i [j]()を選び、 以 下を計算する。
K 0+1) = Κ π [j](i)0+1)
i Κ'ϋ+1) = Κ'πΰ](ΐ)0+1)
Figure imgf000028_0001
S = S π [j](i)G+1)
S':C+1) = S' π園 G+1)
Ρ^^Ρ πϋ](ί)ϋ+1)
[0119] ハッシュ値復号手段 712及び置換手段 711は、
Η = 3,πϋ](ί)(】·)_[1/Χ(】 π[ΰ ( )
なる演算を行う。
[0120] 次に、ハッシュ値復号正当性証明手段 715により上記 が正しく生成されたことの 証明 (ハッシュ値復号正当性証明文)を生成する。この証明には例えば、前出の文献 の方法を使用する。
[0121] 次に、全ての i(i=l,...,n)に関して、ハッシュ値検証手段 717において、
Φ(ΗΦ) = Hash( Κϋ+1),Κ'( ), c0+1), S^S^1), P0+1))
が成り立つことを確認する。
[0122] この式が成り立たない S存在すれば、ハッシュ値不受理正当性証明手段 718により
、その iに関して πϋ]ω,Εϋ)を明らかにして、 Ε0)を正しく生成したことの零知識証明( ハッシュ値不受理正当性証明文)を生成する。
[0123] ここでも暗号文の数が減少するが(処理 719)、減った後のこの数も ηで表し、それぞ れの暗号文を i=lから ηまでの番号で順番付ける。
[0124] 重複データ削除手段 720は、 i=l,...,ηに関して ( K(i+1),K' 0+1), c0+1), S(i+1),S' 0+1), P(i+1)
i i i i i i
》の組の内同じものがないことを確認する。同じものがあった場合は一つの組を残し て他は消去する。ここでも暗号文の数が減少する力 減った後のこの数も nで表し、そ れぞれの暗号文を i=lから nまでの番号で順番づける。
[0125] 最後に出力データ列 107 i i i i i i i
を次の置換復号装置 s(]+1)に送る。
[0126] ハッシュ値復号正当性証明文とハッシュ値不受理正当性証明文とを正当性証明文 108とし、検証装置 109に送る。 [0127] 全ての置換復号装置 S® (j=l,...,m)に関して処理が終わると順番が入れ替えられ た平文 111 [M] が得られる。
[0128] [検証装置の処理]
検証装置 109には、ハッシュ値復号正当性証明文 801(図 7中、ハッシュ値証明文と 略記)及びハッシュ値不受理正当性証明文 800(図 7中、不受理証明文と略記)からな る正当性証明文 108と、入力データ列 105と、出力データ列 107とが入力される。
[0129] 全ての j=l,...,mに関して順番に以下の計算及び検証を行う。全ての i(i=l,...,n)に 関して、共通鍵の知識の検証手段 802により、
y 0) = Hash( K(j),K,G'), ), S G),S' G'), [ひ 0)lX0) +[ γ 0)lK(i))
を確認する。等式が成り立たない iのみに関しては以降の処理を行わない。
[0130] ハッシュ値復号正当性検証手段 806により、 [Η ϋ)] が正しく生成されていることを
i ί=1"··,η
検証する (証明に対応した方法で行う、例えば前出の文献の方法を使う)。
[0131] ハッシュ値一致検証処理を行う比較手段 808において、全ての i(i=l,...,n)に関して
Φ (Η Φ) = Hash( Κϋ+1),Κ' ( ), c 0+1), S 0+1),S, (J'+1), P0+1))
i i i i i i i
が成り立つことを確認する。
[0132] もし成り立たない iが存在すれば、ハッシュ値不受理正当性検証手段 809において 、その iに関して π [ΰ(ί),Ε ϋ)を明らかにされていること、式 Ε ϋ)が正しく生成されている ことを検証し、 c n i f が正しく復号されていることを確認する。
[0133] 正当性判定処理を行う検証手段 805において、共通鍵の知識の検証処理と秘密の 乱数の知識の検証処理の両方において受理されたもの全てに関して、ハッシュ値復 号正当性検証処理において受理され、かつハッシュ値一致検証処理で受理あるい はハッシュ値一致検証処理で不受理かつハッシュ値不受理正当性検証処理で受理 であり、かつ出力データ列には共通鍵の知識の検証処理と秘密の乱数の知識の検 証処理とハッシュ値一致検証処理とで受理された要素に対応し、 [K0+1),K' G+1), c (i+1) ,S
i i i
.0+1), s ' .(i+ 1), P0+1)]の集合に重複があればその重複を除いて、それらが全て含まれて いるならば受理を、そうでなければ不受理を出力する。
[0134] 〔発明が有効である理由〕 置換復号装置におけるデータの復号及び置換 が正当であるこ
Figure imgf000030_0001
とを証明するために、ハッシュ値と、 deC[ei (])](C 7r [j](i )、 参加者装置が生成したこれ の公開鍵による暗号文の復号結果が等しいことを証明する。この証明処理が、ハツシ ュ値復号証明処理である。この証明処理が公開検証可能な形で行われることが、本 発明が公開検証可能であることの主な理由である。
[0135] 但し、前述の証明の効果が発揮されるのは、参加者装置が正しくハッシュ値の喑号 文を生成した場合のみである。これがなされなかった場合においては、置換復号装 置は自身の操作の正当性を証明する必要がある。
[0136] まず、参加者装置が正当な処理でハッシュ値暗号文を生成したかを、ハッシュ値検 証処理により確認する。正当な処理が行われていなかった場合は、ハッシュ値不受 理正当性証明処理により、参加者装置の不正を証明し、これで置換復号装置の処理 の正当性を証明する。
[0137] ところ力 S、参加者装置の処理が正当でないことの理由力 他の参加者装置の不正 による場合がある。ある参加者装置のデータをその他の参加者装置がコピーして、そ の暗号文を元に適当なデータを生成するのである。この場合、置換復号装置は参加 者装置が不正であるとして、参加者装置の暗号文を復号し、かつその復号の正当性 を証明することになるのだが、この証明が参加者装置の暗号文の攻撃となる場合が ある。
[0138] そもそも参加者装置が自らの暗号文を不正に処理した場合は、 自らが招いた結果 であるので仕方がないが、他人にコピーされた場合はこの攻撃を防ぐ必要がある。こ の防御策が、共通鍵の知識の証明処理である。これは、他人の暗号文から不正な暗 号文を作成した場合、置換復号処理により最初に処理を拒絶される効果を持つ。
[0139] 他人の暗号文をコピーして不正な処理を行った場合は、上述のように置換復号装 置によって処理を拒絶されるが、単純にコピーしてそれをそのまま用いただけでは上 述の方法では拒絶されない。このようなことを許すと、コピーした暗号文は複数復号さ れるといった現象が起こる。これが起これば、最終的に復号された平文から、複数あ るものを見つけることにより、コピーした暗号文の内容を知ることができる。このような プライバシーに対する攻撃を防ぐ処理が、 実施例 1では連結データに関する証明処 理であり、実施例 2では重複データを削除する処理である。
[0140] 連結データは、 自分で生成したものでなければ最後に証明を作ることができないの で、単純なコピーを防止する。重複データの削除は、コピーされたものをそのまま削 る処理にあたる。
[0141] 参加者装置が、平文と併せて乱数,セッション固有の数, 日時等の文字列を入力す る場合があるが、これらの値は最終的に復号されることから、この復号された文字列を 使って様々なことを確認できる。たとえば、乱数を用いれば、最終的な復号文の集合 力 自分の平文の存在を参加者装置が確認できる効果があり、セッション固有の数 や日時を入れれば、他のセッションに使われた暗号文を再利用していないことが分か る効果がある。

Claims

請求の範囲
[1] 共通鍵暗号方式の複数の共通鍵の一つを、複数の置換復号装置の一つの公開鍵 により暗号化する鍵暗号化手段と、
共通鍵暗号方式の複数の共通鍵の一つで、与えられたデータを暗号化するデータ 暗号化手段と、
暗号学的なハッシュ関数を用いて、与えられたデータのハッシュ値を計算し、この ハッシュ値を前記複数の置換復号装置の一つの公開鍵により暗号化するハッシュ値 暗号化手段と、
前記データ暗号化手段の最初の入力を平文とし、次からの、前記データ暗号化手 段の入力を前回の前記データ暗号化手段,前記鍵暗号化手段,前記ハッシュ値暗号 化手段の出力とする処理を、前記置換復号装置の数だけ繰り返す、繰り返し手段と、 前記繰り返し手段の処理により得られたデータを出力する出力手段と
を備えることを特徴とする参加者装置。
[2] 請求項 1に記載の参加者装置において、
前記鍵暗号化手段は、暗号化した前記共通鍵の知識の証明文を生成する手段を 備えることを特徴とする参加者装置。
[3] 請求項 2に記載の参加者装置において、
前記与えられたデータを、前記複数の置換復号装置の一つの公開鍵により暗号化 し、さらにこの時の暗号化に用いた秘密の乱数の知識の証明文を生成する知識の連 結手段をさらに備え、
前記繰り返し手段は、前記データ暗号化手段の最初の入力を前記平文とし、次か らの、前記データ暗号化手段の入力を前回の前記データ暗号化手段,前記鍵暗号 化手段,前記ハッシュ値喑号ィ匕手段,前記知識の連結手段の出力とする処理を、前記 置換復号装置の数だけ繰り返す手段を備え、
前記知識の連結手段による処理を繰り返すことにより最終的に得られたデータに関 して、前記処理の繰り返し全てで使った秘密の乱数の和の知識の証明文を生成する 全体の乱数の知識の証明手段をさらに備えることを特徴とする参加者装置。
[4] 請求項 1に記載の参加者装置において、 前記出力手段は、前記繰り返し手段の処理により得られた前記データと共に、この データを作成したのが正当な参加者装置であることを証明するデータを出力する手 段を備えることを特徴とする参加者装置。
[5] 複数のデータが入力されて、これらのデータの正当性を検証し、正当であることが 判明したものだけを出力する構成を備えることを特徴とする取りまとめ装置。
[6] 請求項 5に記載の取りまとめ装置において、
入力された前記データが正当な参加者装置によって生成されたことを検証する構 成をさらに備えることを特徴とする取りまとめ装置。
[7] 入力データ列の各要素を、公開鍵暗号方式により暗号化された共通鍵暗号方式の 共通鍵,共通鍵暗号方式により暗号化されたデータ,公開鍵暗号方式により暗号化さ れたハッシュ値に分割するデータ分割手段と、
前記暗号化された共通鍵暗号方式の共通鍵を前記公開鍵暗号方式の秘密鍵によ り復号する、共通鍵復号手段と、
復号した前記共通鍵を用いて、前記暗号化されたデータを復号して出力データを 生成するデータ復号手段と、
前記暗号化されたハッシュ値を、前記公開鍵暗号方式の秘密鍵により復号したもの を出力するハッシュ値復号手段と、
前記復号されたハッシュ値と前記生成された出力データのハッシュ値とを比較し、 一致すればハッシュ値受理を、異なればハッシュ値不受理を出力するハッシュ値検 証手段と、
前記出力データで、前記入力データ列の同一の要素のデータから生成されたとい う意味において対応する、前記ハッシュ値検証手段において受理を出力されたもの だけを列の要素とするデータ列を生成し、さらに各要素の順番を一様無作為に並び 替え出力データ列とする、出力データ列生成手段と、
前記出力データ列の各要素のハッシュ値が、必ず前記入力データ列のある要素に 含まれる前記暗号化されたハッシュ値を復号したものであり、かつ両者の対応が一対 一であることの証明文であるハッシュ値復号正当性証明文を生成する、ハッシュ値復 号正当性証明手段と、 前記ハッシュ値検証手段において不受理を出力された場合、この不受理の出力が 正当であることの証明文であるハッシュ値不受理正当性証明文を生成するハッシュ 値不受理正当性証明手段と、
前記ハッシュ値復号正当性証明文と前記ハッシュ値不受理正当性証明文とを正当 性証明文とし、これと前記出力データ列生成手段の出力した前記出力データ列とを 出力する出力手段と
を備えることを特徴とする置換復号装置。
[8] 請求項 7に記載の置換復号装置において、
前記データ分割手段は、前記入力データ列の各要素を、暗号化された前記共通 鍵の知識の証明文にさらに分割する手段を備え、
前記共通鍵の知識の証明文の正当性を検証し、正当なら受理を不当なら不受理を 出力する共通鍵の知識の検証手段をさらに備え、
前記出力データ列生成手段は、前記出力データで、前記入力データ列の同一の 要素のデータから生成されたとレ、う意味にぉレ、て対応する、前記ハッシュ値検証手 段及び前記共通鍵の知識の検証手段の全てにおいて受理を出力されたものだけを 列の要素とするデータ列を生成し、さらに各要素の順番を一様無作為に並び替え出 力データ列とする手段を備えることを特徴とする置換復号装置。
[9] 請求項 8に記載の置換復号装置において、
前記データ分割手段は、前記入力データ列の各要素を、公開鍵暗号方式により暗 号化された連結データ、連結データ喑号ィ匕に用いた秘密の乱数の知識の証明文に さらに分割する手段を備え、
前記秘密の乱数の知識の証明文を検証し、正当なら受理を不当なら不受理を出力 する秘密の乱数の知識の検証手段と、
前記暗号化された連結データを、前記公開鍵暗号方式の秘密鍵により復号する連 結データ復号手段とをさらに備え、
前記出力データ列生成手段は、前記出力データと前記復号された連結データで、 前記入力データ列の同一の要素のデータから生成されたという意味において対応す る、前記ハッシュ値検証手段、前記共通鍵の知識の検証手段、前記秘密の乱数の 知識の検証手段の全てにおいて受理を出力されたものだけを列の要素とするデータ 列を生成し、さらに各要素の順番を一様無作為に並び替え出力データ列とする手段 を備え、
前記出力データ列の各要素に含まれる前記復号された連結データが、必ず前記 入力データ列のある要素に含まれる前記暗号化された連結データを復号したもので あり、かつ両者の対応が一対一であることの証明文である連結データ復号正当性証 明文を出力する連結データ復号正当性証明手段をさらに備え、
前記出力手段は、前記ハッシュ値復号正当性証明文と前記連結データ復号正当 性証明文と前記ハッシュ値不受理正当性証明文とを前記正当性証明文とし、これと 前記出力データ列生成手段の出力した前記出力データ列とを出力する手段を備え ることを特徴とする置換復号装置。
[10] 請求項 8に記載の置換復号装置において、
前記出力データ列の中に同一の要素があった場合、以降の処理で一つを残して 重複する要素を削除したものを新しく出力データとする重複データ削除手段をさらに 備え、
前記ハッシュ値不受理正当性証明手段は、前記出力データ列の各要素に含まれ る前記復号された連結データが、必ず前記入力データ列のある要素に含まれる前記 暗号化された連結データを復号したものであり、前記ハッシュ値検証手段にぉレ、て 不受理を出力された場合、この不受理の出力が正当であることの証明文であるハツ シュ値不受理正当性証明文を生成する手段を備えることを特徴とする置換復号装置
[11] ハッシュ値復号正当性証明文に含まれる復号されたハッシュ値が、入力データ列 のある要素の喑号ィ匕されたハッシュ値を復号したものに一致し、両者に一対一の関 係があることを検証し、両者が一致し一対一の関係があれば受理を、無ければ不受 理を出力するハッシュ値復号正当性検証手段と、
前記復号されたハッシュ値が、出力データ列の各要素のハッシュ値と一致すれば 受理を、一致しなければ不受理を出力するハッシュ値一致検証手段と、
入力暗号文の列の要素の内、前記ハッシュ値一致検証手段において不受理が出 力されたハッシュ値に対応する要素に関しては、この不受理の出力が正当であること の証明文であるハッシュ値不受理正当性証明文を検証し、この証明文が正当であれ ば受理を、不当であれば不受理を出力するハッシュ値不受理正当性検証手段と、 前記入力データ列の要素に関して、前記ハッシュ値復号正当性検証手段で受理さ れ、かつ前記ハッシュ値一致検証手段で受理及び前記ハッシュ値一致検証手段で 不受理かつ前記ハッシュ値不受理正当性検証手段で受理のいずれかであり、かつ 前記出力データ列には前記ハッシュ値一致検証手段で受理された要素に対応する ものだけで、かつそれらが全て含まれているならば受理を、そうでなければ不受理を 出力する正当性判定手段と
を備えることを特徴とする検証装置。
[12] 請求項 11に記載の検証装置において、
前記入力データ列の各要素に属する共通鍵の知識の証明文の正当性を検証し、 正当なら受理を不当なら不受理を出力する共通鍵の知識の検証手段をさらに備え、 前記正当性判定手段は、前記入力データ列の要素のなかで、この要素に対する前 記共通鍵の知識の検証手段において受理されたもの全てに関して、前記ハッシュ値 復号正当性検証手段で受理され、かつ前記ハッシュ値一致検証手段で受理及び前 記ハッシュ値一致検証手段で不受理かつ前記ハッシュ値不受理正当性検証手段で 受理のいずれかであり、かつ前記出力データ列には前記共通鍵の知識の検証手段 と前記ハッシュ値一致検証手段とで受理された要素に対応するものだけで、かつそ れらが全て含まれているならば受理を、そうでなければ不受理を出力する手段を備え ることを特徴とする検証装置。
[13] 請求項 12に記載の検証装置において、
前記入力データ列の各要素に属する秘密の乱数の知識の証明文を検証し、正当 なら受理を不当なら不受理を出力する秘密の乱数の知識の検証手段と、
前記出力データ列の各要素に含まれる復号された連結データが、前記入力データ 列のある要素に含まれる、暗号化された連結データを復号したものに一致し、両者に 一対一の関係があることを検証し、両者が一致し一対一の関係があれば受理を、無 ければ不受理を出力する連結データ復号正当性検証手段とをさらに備え、 前記正当性判定手段は、前記入力データ列の要素のなかで、この要素に対する前 記共通鍵の知識の検証手段と前記秘密の乱数の知識の検証手段の両方において 受理されたもの全てに関して、前記ハッシュ値復号正当性検証手段と前記連結デー タ復号正当性検証手段の両方において受理され、かつ前記ハッシュ値一致検証手 段で受理及び前記ハッシュ値一致検証手段で不受理かつ前記ハッシュ値不受理正 当性検証手段で受理のいずれかであり、かつ前記出力データ列には前記共通鍵の 知識の検証手段と前記秘密の乱数の知識の検証手段と前記ハッシュ値一致検証手 段とで受理された要素に対応するものだけで、かつそれらが全て含まれているならば 受理を、そうでなければ不受理を出力する手段を備えることを特徴とする検証装置。
[14] 請求項 12に記載の検証装置において、
前記出力データ列の各要素に重複がある場合、以降の処理でこれが削除されてい ることを確認したら受理を、でなければ不受理を出力する重複データ削除確認手段 をさらに備え、
前記正当性判定手段は、前記入力データ列の要素のなかで、この要素に対する前 記共通鍵の知識の検証手段において受理されたもの全てに関して、前記ハッシュ値 復号正当性検証手段と前記重複データ削除確認手段において受理され、かつ前記 ハッシュ値一致検証手段で受理及び前記ハッシュ値一致検証手段で不受理かつ前 記ハッシュ値不受理正当性検証手段で受理のいずれかであり、かつ前記出力デー タ列には前記共通鍵の知識の検証手段と前記ハッシュ値一致検証手段で受理され た要素に対応するものだけで、かつそれらが全て含まれているならば受理を、そうで なければ不受理を出力する手段を備えることを特徴とする検証装置。
[15] 複数の参加者装置と、取りまとめ装置と、複数の置換復号装置と、検証装置とを備 前記参加者装置のそれぞれは、
共通鍵暗号方式の複数の共通鍵の一つを、前記複数の置換復号装置の一つの公 開鍵により暗号化する鍵暗号化手段と、
共通鍵暗号方式の複数の共通鍵の一つで、与えられたデータを暗号化するデータ 暗号化手段と、 暗号学的なハッシュ関数を用いて、与えられたデータのハッシュ値を計算し、この ハッシュ値を前記複数の置換復号装置の一つの公開鍵により暗号化するハッシュ値 暗号化手段と、
前記データ暗号化手段の最初の入力を平文とし、次からの、前記データ暗号化手 段の入力を前回の前記データ暗号化手段,前記鍵暗号化手段,前記ハッシュ値暗号 化手段の出力とする処理を、前記置換復号装置の数だけ繰り返す、繰り返し手段と、 前記繰り返し手段の処理により得られたデータを前記取りまとめ装置へ出力する出 力手段と
を備え、
前記取りまとめ装置は、前記複数の参加者装置から複数のデータが入力されて、こ れらのデータの正当性を検証し、正当であることが判明したものだけを前記置換復号 装置のレ、ずれかへ出力する構成を有し、
前記置換復号装置のそれぞれは、
前記取りまとめ装置及び他の置換復号装置のいずれかから入力される入力データ 列の各要素を、公開鍵暗号方式により暗号化された共通鍵暗号方式の共通鍵,共通 鍵暗号方式により暗号化されたデータ,公開鍵暗号方式により暗号化されたハッシュ 値に分割するデータ分割手段と、
前記暗号化された共通鍵暗号方式の共通鍵を前記公開鍵暗号方式の秘密鍵によ り復号する、共通鍵復号手段と、
復号した前記共通鍵を用いて、前記暗号化されたデータを復号して出力データを 生成するデータ復号手段と、
前記暗号化されたハッシュ値を、前記公開鍵暗号方式の秘密鍵により復号したもの を出力するハッシュ値復号手段と、
前記復号されたハッシュ値と前記生成された出力データのハッシュ値とを比較し、 一致すればハッシュ値受理を、異なればハッシュ値不受理を出力するハッシュ値検 証手段と、
前記出力データで、前記入力データ列の同一の要素のデータから生成されたとい う意味において対応する、前記ハッシュ値検証手段において受理を出力されたもの だけを列の要素とするデータ列を生成し、さらに各要素の順番を一様無作為に並び 替え出力データ列とする、出力データ列生成手段と、
前記出力データ列の各要素のハッシュ値が、必ず前記入力データ列のある要素に 含まれる前記暗号化されたハッシュ値を復号したものであり、かつ両者の対応が一対 一であることの証明文であるハッシュ値復号正当性証明文を生成する、ハッシュ値復 号正当性証明手段と、
前記ハッシュ値検証手段において不受理を出力された場合、この不受理の出力が 正当であることの証明文であるハッシュ値不受理正当性証明文を生成するハッシュ 値不受理正当性証明手段と、
前記ハッシュ値復号正当性証明文と前記ハッシュ値不受理正当性証明文とを正当 性証明文とし、これと前記出力データ列生成手段の出力した前記出力データ列とを 出力する出力手段と
を備え、
前記検証装置は、
前記ハッシュ値復号正当性証明文に含まれる復号されたハッシュ値が、前記置換 復号装置の入力データ列のある要素の暗号化されたハッシュ値を復号したものに一 致し、両者に一対一の関係があることを検証し、両者が一致し一対一の関係があれ ば受理を、無ければ不受理を出力するハッシュ値復号正当性検証手段と、 前記復号されたハッシュ値が、前記置換復号装置の出力データ列の各要素のハツ シュ値と一致すれば受理を、一致しなければ不受理を出力するハッシュ値一致検証 手段と、
入力暗号文の列の要素の内、前記ハッシュ値一致検証手段において不受理が出 力されたハッシュ値に対応する要素に関しては、この不受理の出力が正当であること の証明文であるハッシュ値不受理正当性証明文を検証し、この証明文が正当であれ ば受理を、不当であれば不受理を出力するハッシュ値不受理正当性検証手段と、 前記入力データ列の要素に関して、前記ハッシュ値復号正当性検証手段で受理 かつ前記ハッシュ値一致検証手段で受理、及び、前記ハッシュ値一致検証手段で 不受理かつ前記ハッシュ値不受理正当性検証手段で受理、のいずれかであり、かつ 前記出力データ列には前記ハッシュ値一致検証手段で受理された要素に対応する ものだけで、かつそれらが全て含まれているならば受理を、そうでなければ不受理を 出力する正当性判定手段と
を備え、
安全変数,公開鍵暗号方式の領域変数,暗号学的なハッシュ関数,共通鍵暗号方式 の暗号化関数を生成し、公開する初期設定処理と、
前記複数の置換復号装置のそれぞれの公開鍵を生成し、公開する置換復号装置 の初期設定処理と、
安全変数,公開鍵暗号方式の領域変数,暗号学的なハッシュ関数,共通鍵暗号方式 の暗号化関数,前記複数の置換復号装置のそれぞれの公開鍵,複数の前記共通鍵 暗号方式の共通鍵及び前記参加者ごとに異なる平文とが前記参加者装置のそれぞ れに入力され、
前記参加者装置のそれぞれから、前記置換復号装置へ入力するデータをそれぞ れ出力する参加処理と、
前記参加処理で得られた置換復号装置へ入力するデータ全てが前記取りまとめ装 置に入力され、この時の前記取りまとめ装置の出力を入力データ列とする、取りまと め処理と、
前記置換復号装置の一つに、入力データ列と公開鍵暗号方式の秘密鍵とが入力 され、この置換復号装置が出力データ列、正当性証明文の列を出力する、置換復号 処理と、
前記取りまとめ処理の出力である入力データ列を最初の入力データ列として前記 置換復号処理を、用いる置換復号装置を交換しながら次々と繰り返し行う処理で、最 初の置換復号処理における入力データ列は、前記取りまとめ処理の出力する入力デ ータ列であり、以降の置換復号処理における入力データ列は、直前の置換復号処理 における出力データの列とし、最後の置換復号処理の出力する出力データ列を復号 結果とし、最後の置換復号処理を除く各置換復号処理の出力する出力データ列を 復号途中結果とし、全ての置換復号処理の出力する正当性証明文を、全体の正当 性証明文とし、復号結果,復号途中結果,全体の正当性証明文とを出力する統合置 換復号処理と、
復号結果,復号途中結果,全体の正当性証明文から各置換復号装置の入力及び出 力を分離し、各置換復号処理の入力データ列と出力データ列と正当性証明文とが前 記検証装置に入力され、前記検証装置が受理または不受理を出力する検証処理と 全ての置換復号処理に関する検証処理の出力を集めて、全てが受理であれば全 体としての受理を、そうでなければ全体としての不受理を出力するミックスネット判定 処理と
を行うことを特徴とするミックスネットシステム。 前記参加者装置は、
前記鍵暗号化手段が、暗号化した前記共通鍵の知識の証明文を生成する手段を 備え、
前記置換復号装置は、
前記データ分割手段が、前記入力データ列の各要素を、暗号化された前記共通鍵 の知識の証明文にさらに分割する手段を備え、
前記共通鍵の知識の証明文の正当性を検証し、正当なら受理を不当なら不受理を 出力する共通鍵の知識の検証手段をさらに備え、
前記出力データ列生成手段が、前記出力データで、前記入力データ列の同一の 要素のデータから生成されたとレ、う意味にぉレ、て対応する、前記ハッシュ値検証手 段及び前記共通鍵の知識の検証手段の全てにおいて受理を出力されたものだけを 列の要素とするデータ列を生成し、さらに各要素の順番を一様無作為に並び替え出 力データ列とする手段を備え、
前記検証装置は、
前記入力データ列の各要素に属する共通鍵の知識の証明文の正当性を検証し、 正当なら受理を不当なら不受理を出力する共通鍵の知識の検証手段をさらに備え、 前記正当性判定手段が、前記入力データ列の要素のなかで、この要素に対する前 記共通鍵の知識の検証手段において受理されたもの全てに関して、前記ハッシュ値 復号正当性検証手段で受理かつ前記ハッシュ値一致検証手段で受理、及び、前記 ハッシュ値一致検証手段で不受理かつ前記ハッシュ値不受理正当性検証手段で受 理、のいずれかであり、かつ前記出力データ列には前記共通鍵の知識の検証手段と 前記ハッシュ値一致検証手段とで受理された要素に対応するものだけで、かつそれ らが全て含まれているならば受理を、そうでなければ不受理を出力する手段を備える ことを特徴とするミックスネットシステム。 前記参加者装置は、
前記与えられたデータを、前記複数の置換復号装置の一つの公開鍵により暗号化 し、さらにこの時の暗号化に用いた秘密の乱数の知識の証明文を生成する知識の連 結手段をさらに備え、
前記繰り返し手段が、前記データ暗号化手段の最初の入力を前記平文とし、次か らの、前記データ暗号化手段の入力を前回の前記データ暗号化手段,前記鍵暗号 化手段,前記ハッシュ値喑号ィ匕手段,前記知識の連結手段の出力とする処理を、前記 置換復号装置の数だけ繰り返す手段を備え、
前記知識の連結手段による処理を繰り返すことにより最終的に得られたデータに関 して、前記処理の繰り返し全てで使った秘密の乱数の和の知識の証明文を生成する 全体の乱数の知識の証明手段をさらに備え、
前記置換復号装置は、
前記データ分割手段が、前記入力データ列の各要素を、公開鍵暗号方式により暗 号化された連結データ、連結データ喑号ィ匕に用いた秘密の乱数の知識の証明文に さらに分割する手段を備え、
前記秘密の乱数の知識の証明文を検証し、正当なら受理を不当なら不受理を出力 する秘密の乱数の知識の検証手段と、
前記暗号化された連結データを、前記公開鍵暗号方式の秘密鍵により復号する連 結データ復号手段とをさらに備え、
前記出力データ列生成手段が、前記出力データと前記復号された連結データで、 前記入力データ列の同一の要素のデータから生成されたという意味において対応す る、前記ハッシュ値検証手段、前記共通鍵の知識の検証手段、前記秘密の乱数の 知識の検証手段の全てにおいて受理を出力されたものだけを列の要素とするデータ 列を生成し、さらに各要素の順番を一様無作為に並び替え出力データ列とする手段 を備え、
前記出力データ列の各要素に含まれる前記復号された連結データが、必ず前記 入力データ列のある要素に含まれる前記暗号化された連結データを復号したもので あり、かつ両者の対応が一対一であることの証明文である連結データ復号正当性証 明文を出力する連結データ復号正当性証明手段をさらに備え、
前記出力手段が、前記ハッシュ値復号正当性証明文と前記連結データ復号正当 性証明文と前記ハッシュ値不受理正当性証明文とを前記正当性証明文とし、これと 前記出力データ列生成手段の出力した前記出力データ列とを出力する手段を備え 前記検証装置は、
前記入力データ列の各要素に属する秘密の乱数の知識の証明文を検証し、正当 なら受理を不当なら不受理を出力する秘密の乱数の知識の検証手段と、
前記出力データ列の各要素に含まれる復号された連結データが、前記入力データ 列のある要素に含まれる、暗号化された連結データを復号したものに一致し、両者に 一対一の関係があることを検証し、両者が一致し一対一の関係があれば受理を、無 ければ不受理を出力する連結データ復号正当性検証手段とをさらに備え、
前記正当性判定手段が、前記入力データ列の要素のなかで、この要素に対する前 記共通鍵の知識の検証手段と前記秘密の乱数の知識の検証手段の両方において 受理されたもの全てに関して、前記ハッシュ値復号正当性検証手段と前記連結デー タ復号正当性検証手段の両方において受理され、かつ前記ハッシュ値一致検証手 段で受理及び前記ハッシュ値一致検証手段で不受理かつ前記ハッシュ値不受理正 当性検証手段で受理のいずれかであり、かつ前記出力データ列には前記共通鍵の 知識の検証手段と前記秘密の乱数の知識の検証手段と前記ハッシュ値一致検証手 段とで受理された要素に対応するものだけで、かつそれらが全て含まれているならば 受理を、そうでなければ不受理を出力する手段を備える ことを特徴とするミックスネットシステム。
[18] 請求項 16のミックスネットシステムにおいて、
前記置換復号装置は、
前記出力データ列の中に同一の要素があった場合、以降の処理で一つを残して 重複する要素を削除したものを新しく出力データとする重複データ削除手段をさらに 備え、
前記ハッシュ値不受理正当性証明手段が、前記出力データ列の各要素に含まれ る前記復号された連結データが、必ず前記入力データ列のある要素に含まれる前記 暗号化された連結データを復号したものであり、前記ハッシュ値検証手段にぉレ、て 不受理を出力された場合、この不受理の出力が正当であることの証明文であるハツ シュ値不受理正当性証明文を生成する手段を備え、
前記検証装置は、
前記出力データ列の各要素に重複がある場合、以降の処理でこれが削除されてい ることを確認したら受理を、でなければ不受理を出力する重複データ削除確認手段 をさらに備え、
前記正当性判定手段が、前記入力データ列の要素のなかで、この要素に対する前 記共通鍵の知識の検証手段において受理されたもの全てに関して、前記ハッシュ値 復号正当性検証手段と前記重複データ削除確認手段において受理され、かつ前記 ハッシュ値一致検証手段で受理及び前記ハッシュ値一致検証手段で不受理かつ前 記ハッシュ値不受理正当性検証手段で受理のいずれかであり、かつ前記出力デー タ列には前記共通鍵の知識の検証手段と前記ハッシュ値一致検証手段で受理され た要素に対応するものだけで、かつそれらが全て含まれているならば受理を、そうで なければ不受理を出力する手段を備える
ことを特徴とするミックスネットシステム。
[19] 請求項 15に記載のミックスネットシステムにおいて、
前記参加者装置は、
前記出力手段が、前記繰り返し手段の処理により得られた前記データと共に、この データを作成したのが正当な参加者装置であることを証明するデータを出力する手 段を備え、
前記取りまとめ装置は、
入力された前記データが正当な参加者装置によって生成されたことを検証する構 成をさらに備える
ことを特徴とするミックスネットシステム。
請求項 15に記載のミックスネットシステムにおいて、
前記参加者装置は、
前記ハッシュ値喑号ィ匕手段の最初の入力として、平文と併せて、乱数,日時,ミックス ネットのセッションに固有の値,及びこれらを組み合わせたデータ,のいずれかを使う ことを特徴とするミックスネットシステム。
PCT/JP2005/000841 2004-01-22 2005-01-24 ミックスネットシステム WO2005071881A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP05709285.0A EP1708407A4 (en) 2004-01-22 2005-01-24 MixNet SYSTEM
JP2005517293A JP4687465B2 (ja) 2004-01-22 2005-01-24 ミックスネットシステム
US10/546,645 US7672460B2 (en) 2004-01-22 2005-01-24 Mix-net system
US12/684,192 US8223973B2 (en) 2004-01-22 2010-01-08 Mix-net system
US13/491,778 US8583925B2 (en) 2004-01-22 2012-06-08 Mix-net system
US13/491,727 US8553889B2 (en) 2004-01-22 2012-06-08 Mix-net system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-014560 2004-01-22
JP2004014560 2004-01-22

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/546,645 A-371-Of-International US7672460B2 (en) 2004-01-22 2005-01-24 Mix-net system
US12/684,192 Division US8223973B2 (en) 2004-01-22 2010-01-08 Mix-net system

Publications (1)

Publication Number Publication Date
WO2005071881A1 true WO2005071881A1 (ja) 2005-08-04

Family

ID=34805420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/000841 WO2005071881A1 (ja) 2004-01-22 2005-01-24 ミックスネットシステム

Country Status (5)

Country Link
US (4) US7672460B2 (ja)
EP (1) EP1708407A4 (ja)
JP (1) JP4687465B2 (ja)
KR (1) KR100668016B1 (ja)
WO (1) WO2005071881A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013068843A2 (en) * 2011-11-09 2013-05-16 Intel Corporation Multi-key cryptography for encrypting file system acceleration
US8880879B2 (en) 2008-09-04 2014-11-04 Intel Corporation Accelerated cryptography with an encryption attribute

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4771053B2 (ja) * 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
US9141819B2 (en) * 2006-11-08 2015-09-22 International Business Machines Corporation Encrypted tape access control via challenge-response protocol
JP2008306395A (ja) * 2007-06-06 2008-12-18 Canon Inc 情報処理装置、情報処理方法
US20090077371A1 (en) * 2007-09-14 2009-03-19 Valicore Technologies, Inc. Systems and methods for a template-based encryption management system
EP2124382A1 (de) * 2008-05-20 2009-11-25 Siemens Aktiengesellschaft Verfahren zum verschlüsselten Datenaustausch und Kommunikationssystem
US8175268B2 (en) * 2008-05-22 2012-05-08 Red Hat, Inc. Generating and securing archive keys
US8356177B2 (en) * 2008-12-30 2013-01-15 Cisco Technology, Inc. Key transport in authentication or cryptography
US8762642B2 (en) * 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
ES2365887B1 (es) * 2009-05-05 2012-09-03 Scytl Secure Electronic Voting S.A. Metodo de verificacion de procesos de descifrado
US8515058B1 (en) * 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8861716B2 (en) 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US8532289B2 (en) 2010-08-16 2013-09-10 International Business Machines Corporation Fast computation of a single coefficient in an inverse polynomial
US9083526B2 (en) 2011-04-29 2015-07-14 International Business Machines Corporation Fully homomorphic encryption
JP5835326B2 (ja) * 2011-07-05 2015-12-24 日本電気株式会社 暗号化装置、暗号文比較システム、暗号文比較方法、および暗号文比較プログラム
US9185089B2 (en) * 2011-12-20 2015-11-10 Apple Inc. System and method for key management for issuer security domain using global platform specifications
US9281941B2 (en) 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US8918651B2 (en) * 2012-05-14 2014-12-23 International Business Machines Corporation Cryptographic erasure of selected encrypted data
US10218496B2 (en) * 2014-08-04 2019-02-26 Cryptography Research, Inc. Outputting a key based on an authorized sequence of operations
US9639687B2 (en) * 2014-11-18 2017-05-02 Cloudfare, Inc. Multiply-encrypting data requiring multiple keys for decryption
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties
KR101924047B1 (ko) * 2016-05-10 2019-02-25 주식회사 엔젠소프트 암호화 방법 및 이를 이용한 송신 장치, 복호화 방법 및 이를 이용한 수신 장치
EP3462668A1 (en) * 2017-10-02 2019-04-03 Airbus Defence and Space GmbH Plaintext equivalence proof techniques in communication systems
US11290430B2 (en) * 2018-06-25 2022-03-29 Virtual Software Systems, Inc. Systems and methods for securing communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235342A (ja) * 1999-02-16 2000-08-29 Nippon Telegr & Teleph Corp <Ntt> 電子無記名投票方法、その装置及びプログラム記録媒体
JP2002259621A (ja) * 2001-02-27 2002-09-13 Ntt Advanced Technology Corp 電子投票システムおよび電子投票方法
JP2004013606A (ja) * 2002-06-07 2004-01-15 Nippon Telegr & Teleph Corp <Ntt> 電子投票方法及びシステム及び投票者装置及び管理者装置及び集計者装置及び電子投票プログラム及び電子投票プログラムを格納した記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995024708A1 (fr) * 1994-03-07 1995-09-14 Nippon Telegraph And Telephone Corporation Procede et systeme d'emission d'informations a protocole d'authentification a base de connaissances nulles
JPH10133576A (ja) * 1996-10-31 1998-05-22 Hitachi Ltd 公開鍵暗号方法および装置
DE60114833T2 (de) * 2000-03-24 2006-04-13 Dategrity Corp., Bellevue Überprüfbare, geheime mischung von verschlüsselten daten wie z. b. elgamal-verschlüsselte daten für gesicherte mehrinstanzwahlen
JP3901471B2 (ja) 2001-05-18 2007-04-04 日本電気株式会社 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法
JP4622811B2 (ja) * 2005-11-04 2011-02-02 株式会社日立製作所 電子文書の真正性保証システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235342A (ja) * 1999-02-16 2000-08-29 Nippon Telegr & Teleph Corp <Ntt> 電子無記名投票方法、その装置及びプログラム記録媒体
JP2002259621A (ja) * 2001-02-27 2002-09-13 Ntt Advanced Technology Corp 電子投票システムおよび電子投票方法
JP2004013606A (ja) * 2002-06-07 2004-01-15 Nippon Telegr & Teleph Corp <Ntt> 電子投票方法及びシステム及び投票者装置及び管理者装置及び集計者装置及び電子投票プログラム及び電子投票プログラムを格納した記憶媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1708407A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880879B2 (en) 2008-09-04 2014-11-04 Intel Corporation Accelerated cryptography with an encryption attribute
US9240883B2 (en) 2008-09-04 2016-01-19 Intel Corporation Multi-key cryptography for encrypting file system acceleration
US10447476B2 (en) 2008-09-04 2019-10-15 Intel Corporation Multi-key graphic cryptography for encrypting file system acceleration
WO2013068843A2 (en) * 2011-11-09 2013-05-16 Intel Corporation Multi-key cryptography for encrypting file system acceleration
WO2013068843A3 (en) * 2011-11-09 2013-10-17 Intel Corporation Multi-key cryptography for encrypting file system acceleration

Also Published As

Publication number Publication date
US20120250855A1 (en) 2012-10-04
JP4687465B2 (ja) 2011-05-25
JPWO2005071881A1 (ja) 2007-09-06
EP1708407A1 (en) 2006-10-04
US20060262933A1 (en) 2006-11-23
KR20060033707A (ko) 2006-04-19
US20120250868A1 (en) 2012-10-04
KR100668016B1 (ko) 2007-01-16
EP1708407A4 (en) 2014-03-26
US8223973B2 (en) 2012-07-17
US8553889B2 (en) 2013-10-08
US8583925B2 (en) 2013-11-12
US7672460B2 (en) 2010-03-02
US20100115285A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
WO2005071881A1 (ja) ミックスネットシステム
US10652026B2 (en) Implicitly certified digital signatures
Mironov Hash functions: Theory, attacks, and applications
EP3681093B1 (en) Secure implicit certificate chaining
GB2487503A (en) Authentication of digital files and associated identities using biometric information
CN115208586B (zh) 一种基于秘密分享的数字签名方法及系统
CN114666032A (zh) 基于同态加密的区块链交易数据隐私保护方法
US20050240762A1 (en) Cryptographic method and apparatus
CN116346336B (zh) 一种基于多层密钥生成中心的密钥分发方法及相关系统
JP2004526387A (ja) 環ベースの署名スキーム
Rajasekar et al. Introduction to Classical Cryptography
Tiwari et al. Cryptographic hash function: an elevated view
GB2397203A (en) Method of authenticating a message
CN114189329B (zh) 一种公钥认证可否认加密方法及系统
JP2002215026A (ja) 署名付き暗号通信方法及びその装置
JP3668138B2 (ja) 署名付き暗号文変換方法、その検証方法およびこれらの装置
Rath et al. Cryptography and network security lecture notes
JP3638501B2 (ja) 匿名通信路
Kuchta Distributed protocols for digital signatures and public key encryption
JP2003333034A (ja) 認証付暗号方法及び装置及び認証付暗号プログラム及び認証付暗号プログラムを格納した記憶媒体及び認証付復号方法及び装置及び認証付復号プログラム及び認証付復号プログラムを格納した記憶媒体
Lakshmiraghavan et al. Encryption and Signing
Tso et al. How to Verify the Threshold t of Shamir's (t, n)-Threshold Scheme
Osborn Security aspects of the QCARD project.
Tso et al. How to Verify the Threshold t of Shamir's (t, n)-Threshold Scheme
ZMFM XYAWO GAOOA GPEMO HPQCW IPNLG RPIXL TXLOA NNYCS YXBOY MNBIN YOBTY QYNAI

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2006262933

Country of ref document: US

Ref document number: 10546645

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020057016228

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2005709285

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005517293

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 1020057016228

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2005709285

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1020057016228

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 10546645

Country of ref document: US