WO2006126668A1 - 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法 - Google Patents

擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法 Download PDF

Info

Publication number
WO2006126668A1
WO2006126668A1 PCT/JP2006/310534 JP2006310534W WO2006126668A1 WO 2006126668 A1 WO2006126668 A1 WO 2006126668A1 JP 2006310534 W JP2006310534 W JP 2006310534W WO 2006126668 A1 WO2006126668 A1 WO 2006126668A1
Authority
WO
WIPO (PCT)
Prior art keywords
integer
tag
calculating
pseudo
calculation
Prior art date
Application number
PCT/JP2006/310534
Other languages
English (en)
French (fr)
Inventor
Isamu Teranishi
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 CA002609166A priority Critical patent/CA2609166A1/en
Priority to EP06756634.9A priority patent/EP1898382B1/en
Priority to US11/915,561 priority patent/US8121290B2/en
Publication of WO2006126668A1 publication Critical patent/WO2006126668A1/ja

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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

Definitions

  • the present invention relates to a pseudo-random function calculation apparatus and method, and a number-limited anonymous authentication system and method, and particularly to an efficient pseudo-random function and an efficient number-limited anonymous authentication method using the same.
  • a method of realizing a pseudo-random function using a one-way function is known (for example, see Non-Patent Document 5).
  • the number-limited anonymous authentication method (for example, see Non-Patent Document 4) is a method suitable for realizing such an application.
  • the application provider (AP) authenticates the user according to this method each time the user uses the application, thereby providing anonymity to an honest user who observes the number limit, and all other users do not. Can be specified.
  • Non-Patent Document 4 proposes a tag 'mechanism and a mechanism to force the number of user authentications anonymously, and adds a member addition procedure for the ACJT group signature method (for example, see Non-Patent Document 1) And the tag 'mechanism are combined to realize the anonymous authentication method with limited number of times.
  • Non-Patent Literature 1 G. Ateniese, J. and amenisch, M. Joye, and G. Tsudik, A Practical and Provably Secure Coalition-Resistant roup Signature Scheme ", In Advances in Cry ptology---CRYPTO 2000, vol. 1880 of LNCS, pp. 255-270, Springer- Verlag, 200 0
  • Non-Patent Document 2 PSLM Barreto, HY Kim, B. Lynn, M. Scott, "Efficient Algorit hms for Pairing-Based Cryptosystems, In Advances in Cryptology-Crypto '2002, vol. 2442 of LNCS, pp. 354-368 , Springer- Verlag, 2002
  • Non-Patent Document 3 Rafael Pass, "On Deniability in the Common Reference String and Random Oracle Model", In Advances in Cryptology --- CRYPTO 2003, vol. 2729 of L NCS, pp. 316-337, Springer- Verlag, 2003
  • Non-Patent Document 4 Isamu Teranishi, Jun Furukawa, and Kazue Sako, "k- Times Anonymo us Authentication (Extended Abstract)", In Advances in Cryptology ASIA and RYP
  • Non-Patent Document 5 Oded Goldreich, "Foundation of Cryptography, Basic Tools, Cambridge University Press, ISBN 0-521-79172-3, USA, 2001, pp. 148-169
  • a problem with the existing number-limited anonymous authentication method is that the amount of calculation of the user at the time of authentication is proportional to the number-limit k.
  • the present invention has been made in consideration of such conventional circumstances, and an object thereof is to realize an efficient pseudo-random function and an efficient number-limited anonymous authentication method using the same.
  • a pseudo-random function calculation device includes a public key consisting of a set having at least a first element and a second element as elements constituting a finite group element, A secret key consisting of an integer key, storing the generated secret key in a secret key in a secret key, and publicizing the generated public key; A pseudo-random function calculating means for outputting an element of the finite group as a function value of a random function, wherein the pseudo-random function calculating means uses the first element of the public key as an element of the finite group. And the second integer of the public key as a base, the secret key and the input The reciprocal in the finite field of the sum of Te, and outputs a second source that also values force obtained by calculating the power over - excess, a product of.
  • a pseudo-random function calculation device generates a secret key having an integer power and stores the generated secret key in a secret key in a storage device, and a bit string. And a set of integers, a pseudo-random function calculation means for outputting an element of a finite group as a function value of the pseudo-random function.
  • the base may be a hash value of the input value.
  • a number-limited anonymous authentication system is a number-limited anonymous authentication system using any one of the pseudo-random function calculation devices described above, and includes an identifier, integers i, y, and 1, a finite number An input means for inputting an element t of the group; and a pseudo-random function that takes a value determined by the identifier, the k and the i using the y as a secret key and takes a value in the finite group
  • a first tag calculation means for calculating a function value of the pseudo-run that takes a value for the finite group by inputting y as a secret key and inputting the identifier, the value of k, i, and the force.
  • a second tag calculation means for calculating a function value of the dam function and calculating a value obtained by multiplying a function value of the calculated pseudo-random function to the first power by t; a calculation result of the first tag calculation means and the previous A number-of-times limited anonymous authentication system comprising: tag generation means having output means for outputting a set of calculation results of the second tag calculation means.
  • an input means for inputting an integer k an electronic signature key generation means for selecting a public key and a private key pair of an electronic signature scheme, a plaintext selection means for selecting k integers, An electronic signature calculating means for calculating a signature sentence for each of the k integers using the public key and private key pair, a public key of the electronic signature scheme, the k integers, and the k signature sentences;
  • An output means for outputting a set consisting of the above as a tag public key used for the calculation of the tag generation means may further be provided.
  • the electronic signature calculation means includes means for inputting an integer as plaintext, means for calculating an inverse element in a finite field of the sum of plaintext and integer, and a power residue with the calculated inverse element as an exponent And a means for outputting the set including the power residue calculation result as the tag public key.
  • the electronic signature key generation means is selected as means for selecting an element from a finite group, means for selecting an integer, means for calculating a power-residue using the element as a base and the integer as an exponent. And a means for outputting a set of the finite group element and the power residue calculation result.
  • a calculation result calculated by inputting an integer 1 to the tag generation means and a calculation result calculated by inputting an integer 1 'to the tag generation means is ⁇ '.
  • a member specifying information extracting unit may further include a calculating unit that calculates a power residue using an inverse number as an index, and an output unit that outputs a calculation result of the power residue.
  • a public key and private key pair as group members, a public key of an application provider (hereinafter referred to as ⁇ ) device, an identifier of the ⁇ device, integers k, i, and 1 is generated from the input means for inputting 1 and the secret key as the group member, and the identifier of the AP device and the k, i, 1, and y are input, and the tag generator Group certifying means comprising: means for calculating data that forms a tag by stages; validity proofing means for calculating the validity proof sentence of the tag; and output means for outputting the tag and the validity proof sentence.
  • the first set of elements of the finite group element, the finite group element ⁇ , the integer 1, and the proof sentence ⁇ , the finite group element ', and the finite group element An input means for inputting a second set including ', integer 1' and proof sentence ⁇ ', and a first determination for determining whether or not ⁇ and ⁇ ' are the same Means, a second determination means for determining whether or not 1 and 2 are the same, a third determination means for determining whether or not the proof sentence ⁇ is valid, and the proof sentence ⁇ ′
  • the pseudorandom function calculation method includes a public key composed of a set having at least a first element and a second element as elements constituting a finite group element, and a secret key having an integer power. Generating the secret key, storing the generated secret key secretly in a storage device, and publicizing the generated public key. When an integer is input, the function value of the pseudo-random function is used as the function value.
  • a pseudo-random function calculation step for outputting an element of a finite group wherein the pseudo-random function calculation step uses the first element of the public key as a base as the element of the finite group and the input integer Is a finite field of the sum of the first element consisting of the value obtained by calculating the power residue and the second element of the public key, and the secret key and the input integer.
  • Exponential remainder with the reciprocal of It is characterized in that the product of the second power, which is the value power obtained by calculating, is output.
  • a pseudo-random function calculation method includes a key generation step of generating a secret key having integer power and storing the generated secret key in a secret key in a storage device; A pair of integers and a set of integers, a pseudo-random function calculation step for outputting a finite group element as a function value of the pseudo-random function, and the pseudo-random function calculation step includes the finite group calculation step.
  • the first element consisting of the value obtained by calculating the exponentiation remainder with the value determined by the input value as the base and the input integer as the exponent, and the input value Specify the reciprocal of the sum of the secret key and the input integer.
  • the value obtained by calculating the power-residue is used as an index, and the product of the second element that also has the value power obtained by the power-residue calculation is output.
  • the base may be a hash value of the input value.
  • the number-limited anonymous authentication method is a number-limited anonymous authentication method using the pseudo-random function calculation method described in any one of the above, and includes an identifier, integers k, i, y, and 1 And a step for inputting the element t of the finite group, and using the y as a secret key, inputting a value that also determines the identifier, the k, the i, and the force, and takes the value in the finite group
  • an input step for inputting an integer k an electronic signature key generation step for selecting a public key and a private key pair of an electronic signature scheme, a plaintext selection step for selecting k integers, An electronic signature calculation step for calculating a signature sentence for each of the k integers using the public key and private key pair, and a public key of the electronic signature scheme, the k integers, and the k signature sentences.
  • the electronic signature calculation step includes a step for inputting an integer as plaintext, a step for calculating an inverse element in a finite field of the sum of plaintext and integer, and a power with the calculated inverse element as an exponent. A step of calculating a remainder and outputting a set including the calculation result of the power residue as the tag public key!
  • the digital signature key generation step includes a step of selecting an element from a finite group force, a step of selecting an integer, a step of calculating a power residue using the element as a base and the integer as an index, There may be provided a step for outputting a set consisting of the selected element of the finite group and the calculation result of the power residue.
  • the calculation result calculated by inputting the integer 1 in the tag generation step and the calculation result calculated by inputting the integer in the tag generation step are obtained.
  • the method may further include a member specifying information extraction step including a step of calculating a power residue using the reciprocal number in as an index, and a step of outputting a calculation result of the power residue.
  • a public key and private key pair as group members, a public key of an application provider (hereinafter referred to as ⁇ ) device, an identifier of the ⁇ device, integers k, i, and 1 is generated, and an integer y is created from the secret key as the group member, and the identifier of the AP device and the k, i, 1, and y are input, and the tag generation step
  • a group proof step comprising: a step of calculating data forming a tag at a step; a step of calculating a validity proof sentence of the tag; and a step of outputting the tag and the validity proof sentence.
  • the first set of elements of the finite group element, the finite group element ⁇ , the integer 1, and the proof sentence ⁇ , the finite group element ', and the finite group element A step for inputting a second set including ', an integer 1' and a proof sentence ⁇ ', a step for determining whether or not the force is the same as the lever and the step, Determining whether 1 and the above are the same; determining whether the certificate sentence ⁇ is valid; and determining whether the proof sentence ⁇ ′ is valid And a step of acquiring an identifier corresponding to the calculation result of the member specifying information extraction step based on a preset correspondence table.
  • the pseudo-random function can calculate a function value with a small number of reciprocal calculations and a power residue.
  • the number of data to be calculated by the user is O (log k). Therefore, the calculation amount of the user at the time of authentication is not proportional to the limit number k.
  • FIG. 1 is a diagram showing the overall configuration of a frequency limited anonymous authentication system according to Embodiments 5 and 6 of the present invention.
  • FIG. 2 is a diagram showing an overall configuration of a pseudo-random function calculation apparatus according to Embodiment 1 of the present invention.
  • FIG. 3 is a schematic flowchart for explaining processing procedures of a pseudo-random function key generation unit and a pseudo-random function calculation unit shown in FIG. 2 (Example 1).
  • FIG. 4 is a diagram showing an overall configuration of a pseudo random function calculation apparatus according to Embodiment 2 of the present invention.
  • FIG. 5 is a schematic flowchart for explaining processing procedures of the pseudo-random function key generation means and the pseudo-random function calculation means shown in FIG. 4 (Example 2).
  • FIG. 6 is a diagram showing an overall configuration of a number-of-times anonymous authentication system according to Embodiment 3 of the present invention.
  • FIG. 7 is a schematic flowchart explaining the processing procedure of each means of the number limiting anonymous authentication system shown in FIG. 6 (Example 3 ).
  • FIG. 8 is a schematic flowchart for explaining processing procedures of the electronic signature key generation means and the electronic signature means used in the tag key generation means shown in FIG. 7 (Example 3).
  • FIG. 9 is a diagram showing an overall configuration of a number-of-times anonymous authentication system according to Embodiment 4 of the present invention.
  • FIG. 10 is a schematic flowchart for explaining the processing procedure of the tag calculation means shown in FIG. 9 (Example 4).
  • FIG. 11 is a schematic flowchart for explaining processing procedures of the GM setup means and AP setup means shown in FIG. 1 (Embodiment 5).
  • FIG. 12 is a schematic flowchart for explaining the processing procedure of the issuing means and the participating means shown in FIG. 1 (Embodiment 5).
  • FIG. 13 is a schematic flowchart explaining the processing procedure of the group certification means and group verification means shown in FIG. 1 (Embodiment 5).
  • FIG. 14 is a schematic flowchart explaining the processing procedure of the tracing means shown in FIG. 1 (Example 5).
  • FIG. 15 is a schematic flow chart for explaining the processing procedure of the tracing means and the list storage unit shown in FIG. 1 (Example 5).
  • FIG. 16 is a schematic flowchart explaining the processing procedure of the issuer key generation means used in the GM setup means shown in FIG. 1 (Embodiment 5).
  • FIG. 17 is a schematic flowchart for explaining processing procedures of the first issuing means and the first participating means used in the issuing means and the participating means shown in FIG. 1 (Example 5).
  • FIG. 18 is a schematic flowchart for explaining processing procedures of the second issuing means, the second participating means, and the fail calculating means used in the issuing means and the participating means shown in FIG. 1 (Embodiment 5).
  • FIG. 19 is a schematic flowchart for explaining the processing procedure of the method for creating a certificate by the user apparatus shown in FIG. 1 (Embodiment 5 ).
  • FIG. 20 is a schematic flowchart for explaining the processing procedure of the certificate creation method by the user apparatus shown in FIG. 1 (Embodiment 5 ).
  • FIG. 21 is a schematic flowchart for explaining the processing procedure of the certificate validity verification method by the AP device shown in FIG. 1 (Example 5).
  • FIG. 22 is a schematic flowchart for explaining the processing procedure of the proof sentence creation method by the user apparatus shown in FIG. 1 (Example 6).
  • FIG. 23 is a schematic flowchart for explaining the processing procedure of the proof sentence creation method by the user apparatus shown in FIG. 1 (Example 6).
  • FIG. 24 is a schematic flowchart for explaining the processing procedure of the validity verification method for a proof text by the AP device shown in FIG. 1 (Example 6).
  • Input means Public information storage part Tag key generation means Communication means
  • GM setup means Issuing means Secret information storage section Public information storage section Communication means List storage device List storage section Communication means User device Participating means Group certification means Secret information storage section Public information storage section Communication means
  • the present embodiment is applied to a pseudo random function calculation device.
  • the pseudo-random function calculation device 1 shown in FIG. 2 functionally includes a pseudo-random function key generation unit 2, a secret key storage unit 3, a public key storage unit 4, an input unit 5, a pseudo-random function calculation unit 6, and Output means 7 is provided.
  • the pseudo-random function calculation device 1 is realized by a CPU of a computer, a storage device, and other various input / output devices as an example.
  • the pseudo-random function key generation means 2 and the pseudo-random function calculation means 6 are realized by the CPU of the computer executing the instructions of the computer program on the storage device.
  • the computer program used here is set in advance according to the processing algorithm of each means 2 and 6 (see later).
  • the secret key storage unit 3 and the public key storage unit 4 are implemented by a storage device of a computer.
  • the input means 5 and the output means 7 correspond to an input / output device of a computer machine.
  • is a security parameter
  • G-1 is a finite cyclic group
  • the order of G-1 is an integer of ⁇ bits
  • q is the order of G-1.
  • the pseudo-random function calculation apparatus 1 of the present embodiment obtains the parameters G-1, ⁇ , and q in advance by some method
  • the parameters G-1, ⁇ , and q are public key storage units 4 It shall be written in Any method can be used to obtain the parameters of G—1, ⁇ , and q. For example, there is a method of obtaining the input of external force and writing it in the circuit of the device in hardware.
  • the processing procedure shown in Fig. 3 is implemented as a computer program stored on the storage device of the computer and executed by the CPU of the computer.
  • the pseudo-random function key generation means 2 executes the following processing. First, the elements g and h of G — 1 are chosen at random (step SI). Next, the element y of Z—q is chosen at random (step S2). Next, y is written in the private key storage unit 3 and (g, h) is written in the public key storage unit 4 (step S3). Finally, (g, h) is output (step S4).
  • the function value of the pseudo-random function can be calculated with a small number of reciprocal calculations and a power residue, so that the function value calculation algorithm is simplified.
  • Zero knowledge proof of X knowledge satisfying f (x) can be performed efficiently.
  • the present embodiment is applied to a pseudo random function calculation device.
  • the pseudo-random function calculation device 1 of the present embodiment shown in FIG. 4 is functionally composed of a pseudo-random function key generation means 2, a secret key storage section 3, a public key storage section 4, an input means 5, and a pseudo-random function calculation means. 6 and output means 7.
  • the pseudo-random function calculation device 1 is realized by a CPU of a computer, a storage device, and other various input / output devices as an example.
  • the pseudo-random function key generation means 2 and the pseudo-random function calculation means 6 are realized by the CPU of the computer executing the instructions of the computer program on the storage device.
  • the computer program used here is set in advance according to the processing algorithm of each means 2 and 6 (see later).
  • the secret key storage unit 3 and the public key storage unit 4 are implemented by a storage device of a computer.
  • the input means 5 and the output means 7 correspond to an input / output device of a computer machine.
  • is the security parameter
  • G-1 is a finite cyclic group
  • the order of G-1 is an integer of ⁇ bits
  • q is the order of G-1.
  • the pseudo-random function calculation apparatus of the present embodiment obtains the G ⁇ 1 parameters, ⁇ , and q in advance by some method, and the G ⁇ 1 parameters, ⁇ , and q are obtained from the public key storage unit 4. Also written on Let's say. Any method can be used to obtain the parameters of G—1, ⁇ , and q. For example, there is a method of obtaining as an input from an external force or writing it in the circuit of the device in hardware.
  • the processing procedure shown in Fig. 5 is implemented as a computer program stored on the storage device of the computer and executed by the CPU of the computer.
  • the pseudo-random function key generation means 2 randomly selects an element y of Z—q (step S 11), and writes y in the secret key storage unit 3 (step S 12).
  • the pseudo-random function calculation means 6 performs the following processing.
  • bit string X and the element i of G-1 are received as inputs (step S13).
  • H— ⁇ G— ⁇ 2 ⁇ represents a hash function that takes a value of G— ⁇ 2.
  • This embodiment is applied to the number-of-times limited anonymous authentication system using the above-described pseudo-random function calculation device.
  • a member specifying information generating device 10 A member specifying information generating device 10, a random number generating device 20, a tag generating device 30, a member specifying information extracting device 40, and a key generating device 50.
  • the above-described pseudo random function calculation device is used by the tag generation device 30.
  • the member specifying information generating device 10 is functionally composed of a secret key generating means 11, a public information storage unit.
  • the random number generation device 20 functionally includes a public information storage unit 21, a random number selection unit 22, and a communication unit 23.
  • the tag generation device 30 uses the above-described pseudo-random function calculation device, and functionally includes a public information storage unit 31, a tag calculation unit 32, an input unit 33, and a communication device 34.
  • the member identification information extraction device 40 is functionally provided with a public information storage unit 41, a member identification information extraction unit 42, a consistency determination unit 43, an output unit 44, and a communication device 45.
  • the key generation device 50 is functionally provided with an input unit 51, a public information storage unit 52, a tag key generation unit 53, and a communication unit 54.
  • Each of the above devices 10 to 50 is realized by a CPU of a computer, a storage device, a network interface unit, and other various input / output devices as an example.
  • each means 11, 13, 14, 22, 32, 42, 43, 53 is realized by executing a computer program instruction on the CPU power storage device of each computer.
  • the computer program used here is set in advance according to the processing algorithm of each means (see later).
  • the public information storage units 12, 21, 31, 41, and 52 are implemented by the storage device of each computer.
  • the communication means 15, 23, 54 and the communication devices 34, 45 correspond to the network interface section of each computer, and the input means 23, 51, and the output means 44 correspond to the input / output devices of each computer. .
  • FIG. 6 the simplest case is illustrated in which there are only five devices 10 to 50, but there is no problem even if there are a plurality of devices of each type. Also, in Figure 6, the force depicting the case where each device 10-50 is a separate machine. One machine doubles as a function of two types of devices!
  • the member specifying information generating device 10, the random number generating device 20, the tag generating device 30, the member specifying information extracting device 40, and the key generating device 50 use the communication means 14, 23, 34, 45, 54, respectively. Can communicate with each other. Any communication medium may be used as the communication medium. For example, the Internet, radio waves, telephone lines, etc. can be used.
  • each device 10 to 50 can obtain public information disclosed by other devices by some method. Any method for obtaining public information can be used.
  • the power of the device that publishes public information The method of receiving directly using the communication means described above, With a list of public information, you can use the method of receiving from a server using the communication means described above!
  • the processing procedure shown in FIGS. 7 and 8 is realized as a computer program stored in a storage device of a computer corresponding to each device, and is executed by the CPU of each computer.
  • is a security parameter
  • G-1 is a finite cyclic group
  • the order of G-1 is an integer of ⁇ bits
  • q is the order of G-1.
  • the pseudo-random function calculation device applied in the present embodiment obtains G-1 parameters, ⁇ , and q in advance by some method. It is assumed that 50 public information storage sections 12, 21, 31, 41, 52 are written. Any method can be used to obtain the parameters of G—1, ⁇ , and q. For example, there is a method in which hardware is written in the circuit of the device as an input of external force. Each device 10-50 reads these data as needed.
  • the member identification information generation device 10 performs the process of the secret key generation means 11 and randomly selects the element y of Z—q (step S 21).
  • G-2, H-2, and G-3 are finite cyclic groups with order power 3 ⁇ 4, and ⁇ , ⁇ > are G-2
  • XH— A mapping that maps g, h,> to the elements (g, h,) of G-2, ⁇ g "x, h '" y> ⁇ g, h'> " ⁇ xy ⁇
  • ⁇ g, h ', x, y how to generate such a pair (G-2, H-2, G-3, ⁇ ,->), and Various calculation methods are known, and any of them may be used (for example, see Non-Patent Document 2).
  • the key generation device 50 performs processing of the tag key generation unit 53.
  • the tag key generation means 53 performs processing by the electronic signature key generation means and the electronic signature means in steps S23 and S24, respectively, before explaining the processing of the tag key generation means 53, Each process of the electronic signature key generation means and the electronic signature means will be described with reference to FIG.
  • the electronic signature key generation means first randomly selects the element g-2 of G-2.
  • Step S41 Next, the element g of H-2, --2 is selected at random (step S42). Next, the element ssk of Z — q is selected at random (step S43).
  • the electronic signature means parses spk as (g_2, g′_2, h′_2) (step S46).
  • a signature sentence S g_2 ′ ⁇ lZ (ssk +
  • the key generation device 50 When receiving the non-negative integer k as an input, the key generation device 50 performs the processing of the tag key generation unit 53 shown in FIG.
  • the key generation device 50 performs processing of the electronic signature key generation means to generate an electronic signature public key spk and an electronic signature private key ssk (step S23).
  • the key generation device 50 selects plaintext ⁇ -1, ⁇ ,
  • the signature sentence S—i for each ⁇ —i is created (step S24).
  • the random number generation device 20 performs the processing of the random number selection means 21 to randomly select and output the element 1 of Z—q (step S26).
  • the tag generation device 30 communicates with the random number generation device 20 using the communication means 23, 34, receives 1, and communicates with the key generation device 50 using the communication devices 54, 34, The apk is received and the processing of the tag generation means 32 is started. The processing of this tag generation means 32 will be described.
  • the tag generation device 30 performs the processing of the tag generation means 32, the ID of the tag generation device 30, the upper limit k of the number of times the tag generation device 32 allows access, and the current number of accesses i.
  • step S27 the tag generating apparatus 30 parses apk as (spk, ( ⁇ — ⁇ , S_l),..., ( ⁇ —k, S—k)) (step S 28).
  • 8_) is calculated (step 329). ; [[] — ⁇ 0) ⁇ and? [] — ⁇ 0) ⁇ is calculated by performing the processing of the pseudo-random function calculating means 6 of the second embodiment described above.
  • each tag generating means 32 is ( ⁇ 1, 1), ( ⁇ 2, / ⁇ ′,).
  • the member specifying information extracting device 40 receives, 1), ( ⁇ ′, 1 ′) from the tag generating device 30 using the communication means 34, 45 and matches the member specifying information extracting means 42. Each process of the sex determination means 43 is performed in order.
  • the member identification information extraction device 40 performs processing of the member identification information extraction means 42, and (i)
  • the member specifying information extraction device 40 performs the process of the coincidence determination means 43, and performs t-1 and (Z
  • the number-of-restricted anonymous authentication is different from the existing method, because the number of data to be calculated by the user is O (log k), and the amount of calculation of the user at the time of authentication is Since it is not proportional to the limit number k, it is possible to realize an efficient number limit anonymous authentication method.
  • This embodiment is applied to the number-of-times limited anonymous authentication system using the above-described pseudo-random function calculation device.
  • the member specifying information generating device 10 functionally includes a secret key generating unit 11, a public information storage unit 12, a member specifying information generating unit 13, a communication unit 14, and a writing unit 15.
  • the random number generation device 20 functionally includes a public information storage unit 21, a random number selection unit 22, and a communication unit 23.
  • the tag generation device 30 uses the above-described pseudo random function calculation device, and functionally includes a public information storage unit 31, an input unit 33, a communication device 34, and a tag calculation unit 35.
  • the member identification information extraction device 40 is functionally provided with a public information storage unit 41, a member identification information extraction unit 42, a consistency determination unit 43, an output unit 44, and a communication device 45.
  • Each of the devices 10 to 50 described above is realized by a CPU of a computer, a storage device, a network interface unit, and other various input / output devices as an example.
  • each means 11, 13, 14, 22, 42, 43, 53 is realized by executing a computer program instruction on the CPU power storage device of each computer.
  • the computer program used here is set in advance according to the processing algorithm of each means (see later).
  • the public information storage units 12, 21, 31, 41, and 52 are implemented by a storage device of a computer.
  • the communication means 15, 23, 54 and the communication devices 34, 45 correspond to the network interface section of each computer, and the input means 23, 51, and the output means 44 correspond to the input / output devices of each computer. .
  • Fig. 9 the simplest case is illustrated where there are only five types of devices, but there is no problem even if there are multiple types of devices. Moreover, although the case where each device is a separate machine is illustrated in the figure, one machine may also serve as two types of devices.
  • the member specific information generating device 10, the random number generating device 20, the tag generating device 30, and the member specific information extracting device 40 can communicate with each other using the communication means 14, 23, 34, and 45, respectively.
  • Any communication medium can be used as the communication medium.
  • the Internet, radio waves, telephone lines, etc. can be used.
  • Each device 10 to 40 shall be able to obtain public information disclosed by other devices by some method. Any method for obtaining public information can be used. For example, the power of the device that publishes public information. With a list of public information, you can use the method of receiving from a server using the communication means described above!
  • the member identification information generation device 10, the random number generation device 20, and the member identification information extraction device 40 of the fourth embodiment are the same as the member identification information generation device 10, the random number generation device 20, and the member identification information extraction of the third embodiment described above. Works the same as device 40.
  • the communication device 34, the public information storage unit 31, and the input means 33 of the tag generation device 30 of the fourth embodiment are the same as the communication device 34, the public information storage unit 31 of the tag generation device 30 of the third embodiment described above. , And the same function as the input means 33.
  • the processing procedure shown in Fig. 10 is implemented as a computer program stored on the storage device of the computer and executed by the CPU of the computer.
  • is a security parameter
  • G-1 is a finite cyclic group
  • the order of G-1 is an integer of ⁇ bits
  • q is the order of G-1.
  • the pseudo-random function calculation device has obtained the G-1 parameters, ⁇ , and q in advance by some method, and the G-1 parameters, ⁇ , and q are written to the public information storage section of each device. It shall be. Any method of obtaining the parameters of G—1, ⁇ , and q can be used. For example, there is a method in which hardware is written in the circuit of the device as input from the outside. Each device 10-50 reads these data as needed.
  • the tag generation device 3 performs the processing of the tag calculation means 35, and the ID of the tag generation device, the upper limit k of the number of times that the tag generation device is allowed to access, and the current access count i ⁇ k is received (step S51).
  • f [y] _ ⁇ and F [y] _ ⁇ are calculated by performing the pseudo-random function calculation procedure BPRF5 of the second embodiment.
  • the number-limited anonymous authentication is an existing one. Unlike the equation, since the number of data to be calculated by the user is O (log k), the amount of user calculation at the time of authentication is not proportional to the limit number k, so an efficient number-limited anonymous authentication method is realized. be able to.
  • This embodiment is applied to the number-limited anonymous authentication system using the above-described pseudo-random function calculation device.
  • the number-limited anonymous authentication system of this embodiment shown in Fig. 1 is configured by adding various calculation procedures to the systems of Embodiments 3 and 4 described above.
  • GM Group Manager
  • the above-described pseudo-random function calculation device is applied to group signature means (group certification means, group verification means) described later.
  • the GM device 100 functionally includes a GM setup unit 101, an issuing unit 102, a secret information storage unit 103, a public information storage unit 104, and a communication unit 105.
  • the list storage device 200 includes a list storage unit 201 and communication means 202 in terms of function.
  • the user device 300 functionally includes a participation unit 301, a group certification unit 302, a secret information storage unit 303, a public information storage unit 304, and a communication unit 305.
  • the AP device 400 functionally includes an AP setup unit 401, a group verification unit 402, a public information storage unit 403, a history storage unit 404, and a communication unit 405.
  • the tracing device 500 functionally includes a tracing unit 501, a public information storage unit 502, and a communication unit 503.
  • Each of the above devices 100 to 500 is realized by a CPU (storage device, client device, etc.) of a computer, a storage device, a network interface unit, and other various input / output devices as an example.
  • each means 101, 102, 301, 302, 401, 401, 501 is realized by the CPU of each computer machine executing the instructions of the computer program on the storage device.
  • the computer program used here is set in advance according to the processing algorithm of each means (see later).
  • the public information storage unit 104, 3 04, 403, 502, secret information storage units 103 and 303, list storage unit 201, and history storage unit 404 are implemented by a storage device of each computer.
  • Communication means 105, 202, 305, 405, 503 correspond to the network interface section of each computer.
  • FIG. 1 illustrates the case where each device 100 to 500 is a separate machine, but one machine may function as two types of devices. For example, using a machine that has both the functions of the GM device 100 and the wrist device 200 is not enough.
  • the GM device 100, the list storage device 200, the user device 300, the AP device 400, and the trace device 500 can communicate with each other using the communication means 105, 202, 305, 405, and 503, respectively.
  • a communication medium for example, power capable of using the Internet, radio waves, telephone lines, etc. Any communication medium may be used in the present invention.
  • the GM device 100, the user device 300, the AP device 400, and the trace device 500 store the public information publicly disclosed by themselves or other devices in their public information storage units 104, 304, 403, and 502.
  • the list storage device 200 has a part for storing public information, called a list storage unit 201.
  • the list storage device 200 stores, in the list storage unit 201, public information publicized by itself and other devices!
  • Each device 100 to 500 can obtain public information disclosed by other devices by some method.
  • means for obtaining public information include: device power that publishes public information; method that receives directly using the communication means described above; method that uses the communication means described above from Sano that has a list of public information; It is okay to use any method that can be considered.
  • the GM device 100 and the user device 300 store the secret information in the secret information storage units 103 and 303, respectively.
  • a security 'parameter ⁇ is distributed to each of the devices 100 to 500 in advance. What is the power of distributing security parameters, and how is the security 'parameter determined?
  • a unique ID is assigned to the user device 300 and the dredging device 400 in advance. 100 to 500 know the IDs of all user devices 300 and AP devices 400 in advance. It doesn't matter what kind of data is used as ID, and how ID is distributed. For example, the device owner's name, the IP address assigned to the device, the MAC address assigned to the device, and a random number can be used as the device ID.
  • the GM device 100 uses the GM setup means 101 to perform issuer key generation means processing.
  • issuer key generation means will be omitted, the processing of the GM setup means 101 will be described, and the details of the issuer key generation means will be described later.
  • the processing procedure shown in FIGS. 11 to 21 is realized as a computer program stored on a storage device of a computer corresponding to each device, and is executed by the CPU of each computer.
  • the GM device 100 first reads the security parameter ⁇ from the public information storage unit 104 (step S 61). Next, the GM device 100 performs processing of the issuer key generation means, creates a GM public key gpk and a GM private key gsk (step S62), and sets gpk to the public information storage unit 104 and gsk to the secret information storage unit. Store it in 103 (step S63).
  • the GM device 100 randomly selects elements g-3, h-3, a-3, and elements g-3 of H-2 (steps S131 and S132).
  • the GM device 1 randomly selects the original gsk of Z—q (step S 133).
  • the GM apparatus 1 determines (g_3, h_3, a_3, g, —3, u, — 3) is set as the issuer public key gpk (step S135).
  • the GM device 100 and the user device 300 perform processing of the issuing means 102 and the participating means 302, respectively, while performing mutual communication.
  • the GM device 100 uses the issuing means 102 to perform each process of the first issuing means and the second issuing means.
  • the user device 300 uses the participation means 302 to perform each process of a first participation means, a face calculation means, a member specifying information generation means, a second participation means, and a member key verification means.
  • the GM device 100 first reads ( ⁇ 1, gpk) from the public information storage unit 104 and gsk from the secret information storage unit 103 (step S71).
  • the user apparatus 300 reads ( ⁇ , gpk) from the public information storage unit 304 (step S81).
  • GM device 100 and user device 300 perform first issue means and first participation means, respectively, while communicating with each other.
  • GM device 100 performs St- ⁇ GM ⁇
  • user device 300 performs S.
  • Obtain t_ ⁇ U ⁇ and member secret key msk (steps S72 and S82).
  • steps S72 and S82 the processes of issuing means 102 and participating means 301 are ended.
  • the GM device 100 writes gpk in the public information storage unit 104 and gsk in the secret information storage unit 103 (step S73).
  • the user apparatus 300 performs the member identification information generating means !, member identification Information t_l is obtained (step S84). Next, the user device 300 determines that t_l and the list storage device 20
  • the list storage device 200 stores the received t-1 in combination with the ID of the user device 300 in the list storage unit 201 (step S80).
  • the GM device 100 receives t-1 from the wrist device 200 (step S744). If list device 200 does not store t-1, GM device 100 ends the processing of the issuing means (step S75). If t_l is successfully received from the list device 200, then the user device 300 proves the validity of t-1 to the GM device 100, and the GM device 100 verifies the certification (step S86). , S76). Proof of validity may be performed by any method. For example, it can be performed by the method of Non-Patent Document 3.
  • GM apparatus 100 ends the processing of the issuing means (step S77). If the proof of the user device 300 is valid, the GM device 100 and the user device 300 perform the processes of the second issuing means and the second participating means, respectively, and obtain the member public key mpk (step S78, S87).
  • the GM device 100 writes mpk into the public information storage unit 104 (step S79).
  • the GM device 100 first generates a GM public key gpk (g—3, h_3, a_3, g,
  • step S141 The user apparatus 300 also parses the GM public key gpk as (g-3, h_3, a_3, g, _3, u, -3) (step S145).
  • user apparatus 300 randomly selects elements X, r of Z—q (step S146).
  • user apparatus 300 transmits w to GM apparatus 1 (step S148).
  • the GM device 100 receives w (step S142).
  • step S149 and S143 proves the validity of w to GM apparatus 1, and GM apparatus 100 verifies the proof (steps S149 and S143). Proof can be done in any way For example, it can be proved by the method of Non-Patent Document 3.
  • the user apparatus 300 parses msk as (X, r,) (step S 161).
  • g_l is public information decided in advance.
  • g-1 can be disclosed by any device in any way, but from the viewpoint of security, g-1 is preferably a hash value of some data.
  • GM device 100 randomly selects elements e, r ”of Z—q (step S151).
  • the GM device 100 transmits (mpk, r ′′) to the user device 300 (step S155).
  • the user apparatus 300 parses mpk as (V, e) (step S 159).
  • the AP device 400 Before the AP device 400 performs the processing of the AP setup unit 401, the AP device 400 It is necessary to determine the upper limit number k of times that access to the one device 300 is permitted. K can be determined by any method.
  • AP device 400 first reads security 'parameter ⁇ , its own identifier ID, and upper limit value k from public information storage section 403 (step S64).
  • the AP device 400 performs the processing of the tag key generation means of the third embodiment (Fig. 7) to obtain the AP public key apk (step S65). Finally, the AP device 400 writes apk into the public information storage unit AP3 (step S66).
  • the user device 300 and the AP device 400 perform processing of the group certification unit 302 and the group verification unit 403, respectively, while communicating with each other.
  • group certification means 302 of user apparatus 300 and group verification means 303 of AP apparatus 400 will be described with reference to FIG.
  • FIG. 13 First, the user apparatus 300 ⁇ , ( ⁇ , gpk, ID, k, apk, mpk, msk) is read from the public information storage unit 304 (step S91).
  • the AP device 400 reads ( ⁇ , gpk, ID, k, apk) from the public information storage unit 404 (step S101).
  • AP device 400 randomly selects 1 (step S 102) and transmits 1 to user device 300 (step S 103).
  • step S92 upon receiving 1 (step S92), the user apparatus 300 performs the processing (Fig. 7) of the tag generation means of the third embodiment to generate knowledge ( ⁇ ,) (step S93).
  • the user apparatus 300 creates a correctness proof sentence pf— ⁇ , ⁇ of knowledge ( ⁇ ,) (step S94), and ( ⁇ , ⁇ , pf one ⁇ , ⁇ ). ⁇ Transmit to device 400 (step S95).
  • the user apparatus 300 selects an element i— ⁇ 4 ⁇ , s— ⁇ 4 ⁇ , s, — ⁇ 4 ⁇ of Z—q, and selects an element s, of Z—q.
  • Has h— ⁇ Z— q ⁇ represents a hash function that takes a value of Z—q.
  • step SI 04 when the AP device 400 receives ( ⁇ , ⁇ , pf_ ⁇ , ⁇ ) (step SI 04), the AP device 400 checks whether or not ⁇ is already described in the history storage unit 404. If so, reject is output and the processing of the group verification means 403 is terminated (step S105).
  • the AP device 400 verifies the validity of pf_ ⁇ , ⁇ , and if pf_ ⁇ , ⁇ is not valid, it outputs reject and ends the group verification means (step S106). ), Pf_ ⁇ , ⁇ ) is valid, ( ⁇ , ⁇ , 1, pf_ ⁇ , ⁇ ) is entered in the history storage unit 404, accept is output, and the processing of the group verification means 403 is performed. The process ends (step S107).
  • the tracing device 500 first reads ( ⁇ , gpk, ID, k, apk) from the public information storage unit 502 (step S111).
  • the trace device 500 includes data stored in the history storage unit 404 of the AP device 400.
  • step S ( ⁇ , ⁇ , 1, pf_ ⁇ , ⁇ ), ( ⁇ ', ⁇ ', V, pf '_ ⁇ ', ' ⁇ ) are received (step S).
  • the trace device 500 checks whether or not pf— ⁇ , ⁇ is valid. If it is not valid, “the device 400 has invalid data ( ⁇ , ⁇ , ⁇ , pf_ ⁇ , ⁇ ), ( ⁇ ', ⁇ ', V, ⁇ '
  • the trace device 500 checks whether pf '_ ⁇ ', ⁇ , ⁇ is valid. If it is not valid, the “device 400 power invalid data ( ⁇ , ⁇ , ⁇ , pf_ ⁇ , ⁇ ), ( ⁇ ',,, 1, pf
  • step S116 is sent to the trace device 500 "is output, and the process of the trace means 501 is terminated.
  • the trace device 500 next performs the process (FIG. 7) of the member specifying information extraction unit of the third embodiment to obtain the member specifying information t-1 (step S117).
  • the trace device 500 transmits t 1 to the list storage device 200 (step SI 18).
  • the trace device 500 receives an ID corresponding to t-1 (steps S122 and S119).
  • the trace device 500 outputs an ID (step S120).
  • the number-limited anonymous authentication is different from the existing method, because the number of data to be calculated by the user is O (log k).
  • the calculation amount of the user at the time of authentication is not proportional to the limit number k, an efficient number limit anonymous authentication method can be realized.
  • the above-described pseudo-random function calculation apparatus is applied to a V-number-limited anonymous authentication system.
  • the number-limited anonymous authentication system of this embodiment shown in Fig. 1 is configured by adding various calculation procedures to the systems of Embodiments 3 and 4 described above.
  • the above-described pseudo-random function calculation apparatus is applied to group signature means (dulp proof means, group verification means) described later.
  • the device configurations of the GM device 100, the list storage device 200, the user device 300, and the trace device 500 are the same as the device configurations of the fifth embodiment described above.
  • the AP device 400 has a group verification unit 402, a public information storage unit 403, a history storage unit 404, and a communication unit 405.
  • Setup means 401 is not included. Therefore, the apparatus configuration of the present embodiment corresponds to the apparatus configuration in FIG. 1 in which the AP setup unit 401 is deleted.
  • Each of the above devices 100 to 500 is realized by, for example, a CPU of a computer machine (server machine, client machine, etc.), a storage device, a network interface unit, and other various input / output devices.
  • each means 101, 102, 301, 302, 501 is executed by the CPU of each computer machine executing the instructions of the computer program on the storage device. Appear.
  • the computer program used here is set in advance according to the processing algorithm (see later) of each of these means.
  • the public information storage units 104, 304, 403, and 502, the secret information storage units 103 and 303, the list storage unit 201, and the history storage unit 404 are implemented by the storage device of each computer.
  • Communication means 105, 202, 305, 405, 503 correspond to the network interface section of each computer.
  • Figure 1 shows the simplest case where there is only one device of each of the five types. Even if there are multiple devices of each type, it does not work. In addition, Fig. 1 depicts the case where each device is a separate machine, but it does not matter if one machine also functions as two types of devices. For example, using a machine that has both the functions of the GM device 100 and the wrist device 200 is not enough.
  • the GM device 100, the list storage device 200, the user device 300, the AP device 400, and the trace device 500 can communicate with each other using the communication means 105, 202, 305, 405, and 503, respectively.
  • the communication means 105, 202, 305, 405, and 503, respectively can be used as communication media, but any communication media can be used.
  • the GM device 100, the user device 300, the AP device 400, and the trace device 500 store the public information publicly disclosed by themselves or other devices in the public information storage units 104, 304, 403, and 502, respectively.
  • the list storage device 200 has a part for storing public information, called a list storage unit 201.
  • the list storage device 200 stores, in the list storage unit 201, public information publicized by itself and other devices!
  • Each device 100-500 shall be able to obtain public information disclosed by other devices by some method.
  • means for obtaining public information include: device power that publishes public information; method that receives directly using the communication means described above; method that uses the communication means described above from Sano that has a list of public information; It is okay to use any method that can be considered.
  • the GM device 100 and the user device 300 store the respective secret information in the secret information storage units 103 and 303, respectively.
  • a security 'parameter ⁇ is distributed to each of the devices 100 to 300 in advance.
  • Unique IDs are allocated in advance to the user apparatus 300 and the AP apparatus 400, and each of the apparatuses 100 to 500 knows the IDs of all the user apparatuses 300 and AP apparatuses 400 in advance. It doesn't matter what kind of data is used as ID, and how ID is distributed. For example, the device owner's name, the IP address assigned to the device, the MAC address assigned to the device, and a random number can be used as the device ID.
  • Each means of the sixth embodiment is the same as that of the fifth embodiment except for the group certification means 302, the group verification means 402, and the tracing means 501.
  • the processing procedure shown in FIGS. 13 and 22 to 24 is realized as a computer program stored on a storage device of a computer corresponding to each device, and is executed by the CPU of each computer.
  • the group certification means 302 performs the processing of the tag generation means of the fourth embodiment instead of the third embodiment (Fig. 10) at step S93, and at step S104, instead of the steps shown in Figs. 22, Figure
  • user apparatus 300 sets log ⁇ the smallest integer among 2 k or more and N as the integer (step S197).
  • Hash— ⁇ Z—q ⁇ represents a hash function that takes a value of Z—q.
  • step S1 04 when the AP device 400 receives ( ⁇ , ⁇ , pf_ ⁇ , ⁇ ) (step S1 04), it checks whether or not ⁇ is already described in the history storage unit ⁇ 4. If so, reject is output and the processing of the group verification means 402 is terminated (step S105).
  • the AP device 400 verifies the validity of pf— ⁇ , ⁇ . If pf— ⁇ , ⁇ is invalid, the AP device 400 outputs r eject and ends the processing of the group verification unit 402. (Step S106) If pf— ⁇ , ⁇ is valid, the AP device 400 stores ( ⁇ , ⁇ , 1, pf— ⁇ , ⁇ ) in the history storage unit 404 and outputs accept. To end the processing of the group verification means 402 (step S107).
  • the number of data to be calculated by the user is O (log k) as in the above-described embodiments 3 to 5.
  • the calculation amount of the user at the time of authentication is not proportional to the limit number k, an efficient number limit anonymous authentication method can be realized.
  • each unit constituting each embodiment described above includes a processor (CPU) that operates by program control, and a memory (ROMZRAM) that has a storage area for storing control programs, control data, and the like.
  • various input / output devices such as external recording devices such as hard disk drives, communication devices such as communication modems and LAN interfaces, display devices such as CRTs and liquid crystal displays, input devices such as keyboards and pointing devices, etc. It is possible to implement
  • each component of the processor, memory, and various input / output devices is included in the scope of the present invention.
  • a powerful program code and a recording medium for recording the program code are It is included in the category of the invention.
  • the program code in this case also includes the program code if the above functions are realized in cooperation with the operating system or other application software.
  • the recording medium the above-mentioned node disk or ROM, flexible disk, optical disk, magneto-optical disk, CD-ROM, magnetic tape, nonvolatile memory card, or the like can be used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

 効率的な擬似ランダム関数及びそれを用いた効率的な回数制限匿名認証方式を実現する。擬似ランダム関数計算装置は、鍵生成手段と、擬似ランダム関数計算手段とを有する。鍵生成手段は、有限群の元を成す要素として第一及び第二の要素を持つ組からなる公開鍵と、整数からなる秘密鍵とを生成し、秘密鍵を秘密鍵記憶部に秘密裡に保管し、公開鍵を公開する。擬似ランダム関数計算手段は、整数が入力されると、擬似ランダム関数の関数値として有限群の元を出力する。このとき、公開鍵の前記第一の要素を底とし、入力された整数を指数として、べき乗剰余を計算して得られる値からなる第一の元と、公開鍵の第二の要素を底とし、秘密鍵と入力された整数との和の有限体での逆数を指数として、べき乗剰余を計算して得られる値からなる第二の元との積を出力する。  

Description

明 細 書
擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システ ム及び方法
技術分野
[0001] 本発明は、擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システ ム及び方法に係り、特に効率的な擬似ランダム関数及びそれを用いた効率的な回数 制限匿名認証方式に関する。
背景技術
[0002] 一方向性関数を用いて擬似ランダム関数を実現する方法が知られている(例えば、 非特許文献 5参照)が、この方法で実現した擬似ランダム関数 fは、 y= f (X)を満たす Xの知識のゼロ知識証明を効率的に行うことはできない。 y= f (x)を満たす Xの知識 のゼロ知識証明を効率的に行うことができれば、様々な暗号プロトコルを効率的に実 現できるので、擬似ランダム関数で効率的なものが望まれる。
[0003] 一方、電子投票、電子現金、電子クーポン、回数制限付き視聴といった多くのアブ リケーシヨンでは、ユーザのプライバシーを守るため、ユーザが匿名でこれらのアプリ ケーシヨンを使える必要がある。し力も、これらのアプリケーションでは、これと同時に 、ユーザがアプリケーションを使用できる回数を制限する必要がある。
[0004] 回数制限匿名認証方式 (例えば、非特許文献 4参照)は、このようなアプリケーショ ンを実現するのに適した方式である。ユーザがアプリケーションを利用する度に、ァ プリケーシヨン提供者 (AP)がユーザをこの方式に従って認証することで、回数制限 を守っている正直なユーザには匿名性を提供し、そうでないユーザは皆に特定され てしまうようにできる。
[0005] 特に非特許文献 4では、タグ 'メカニズムと 、う、ユーザの認証回数を匿名のまま力 ゥントする仕組みを提案し、 ACJTグループ署名方式 (例えば、非特許文献 1参照)の メンバー追加プロシージャとタグ'メカニズムとを組み合わせることで、回数制限匿名 認証方式を実現している。
[0006] しかし、上記の回数制限匿名認証方式で用いられるタグ ·メカニズムは、効率が悪く 、認証時には、 APとユーザは、ともに制限回数 kに比例した回数の巾乗剰余を計算 する必要がある。例えば、電子クーポンや回数制限つき視聴の場合には、制限回数 が 10を越えることも十分考えられる。このため、上記の非特許文献 4の方式は、これら に応用するには効率が悪い。
非特干文献 1 : G. Ateniese, J.し amenisch, M. Joye, and G. Tsudik, A Practical and Provably Secure Coalition-Resistant roup Signature Scheme", In Advances in Cry ptology - - - CRYPTO 2000, vol. 1880 of LNCS, pp. 255-270, Springer- Verlag, 200 0
非特許文献 2 : P. S. L. M. Barreto, H. Y. Kim, B. Lynn, M. Scott, "Efficient Algorit hms for Pairing- Based Cryptosystems , In Advances in Cryptology -- Crypto' 2002 , vol. 2442 of LNCS, pp. 354-368, Springer- Verlag, 2002
非特許文献 3 : Rafael Pass, "On Deniability in the Common Reference String and Ra ndom Oracle Model", In Advances in Cryptology --- CRYPTO 2003, vol. 2729 of L NCS, pp. 316-337, Springer- Verlag, 2003
非特許文献 4 : Isamu Teranishi, Jun Furukawa, and Kazue Sako, "k- Times Anonymo us Authentication (Extended Abstract)", In Advances in Cryptology ASIAし RYP
T 2004, vol. 3329 of LNCS, pp. 308-322, Springer- Verlag, 2004
非特許文献 5: Oded Goldreich, "Foundation of Cryptography, Basic Tools , Cambri dge University Press, ISBN 0-521-79172-3, USA, 2001, pp. 148-169
発明の開示
発明が解決しょうとする課題
[0007] 既存の擬似ランダム関数の問題点は、擬似ランダム関数 fは、 y=f (x)を満たす Xの 知識のゼロ知識証明を効率的に行うことはできないことにある。その理由は、 fの計算 方法が複雑なためである。
[0008] 既存の回数制限匿名認証方式の問題点は、認証時におけるユーザの計算量が回 数制限 kに比例することである。
[0009] 本発明は、このような従来の事情を考慮してなされたもので、効率的な擬似ランダム 関数及びそれを用いた効率的な回数制限匿名認証方式を実現することを目的とす る。
課題を解決するための手段
[0010] 上記目的を達成するため、本発明に係る擬似ランダム関数計算装置は、有限群の 元を構成する要素として少なくとも第一の要素及び第二の要素を持つ組からなる公 開鍵と、整数カゝらなる秘密鍵とを生成し、生成された前記秘密鍵を記憶装置に秘密 裡に保管し、生成された前記公開鍵を公開する鍵生成手段と、整数が入力されると、 擬似ランダム関数の関数値として、前記有限群の元を出力する擬似ランダム関数計 算手段とを有し、前記擬似ランダム関数計算手段は、前記有限群の元として、前記 公開鍵の前記第一の要素を底とし、前記入力された整数を指数として、べき乗剰余 を計算して得られる値からなる第一の元と、前記公開鍵の前記第二の要素を底とし、 前記秘密鍵と前記入力された整数との和の有限体での逆数を指数として、べき乗剰 余を計算して得られる値力もなる第二の元と、の積を出力することを特徴とする。
[0011] 本発明の別の側面に係る擬似ランダム関数計算装置は、整数力もなる秘密鍵を生 成し、生成された前記秘密鍵を記憶装置に秘密裡に保管する鍵生成手段と、ビット 列と整数との組が入力されると、擬似ランダム関数の関数値として、有限群の元を出 力する擬似ランダム関数計算手段とを有し、前記擬似ランダム関数計算手段は、前 記有限群の元として、前記入力された値で決まる値を底とし、前記入力された整数を 指数として、べき乗剰余を計算して得られる値からなる第一の元と、前記入力された 値で決まる値を底とし、前記秘密鍵と前記入力された整数の和の逆数を指数として、 べき乗剰余を計算して得られる値を指数として、べき乗剰余演算により得られる値か らなる第二の元と、の積を出力することを特徴とする。本発明において、前記底は、前 記入力された値のハッシュ値であってもよ 、。
[0012] 本発明に係る回数制限匿名認証システムは、上記いずれかに記載の擬似ランダム 関数計算装置を用いた回数制限匿名認証システムであって、識別子と、整数 i、 y 、及び 1と、有限群の元 tとを入力するための入力手段と、前記 yを秘密鍵として用い、 前記識別子と前記 kと前記 iとから決まる値を入力して、前記有限群に値をとる擬似ラ ンダム関数の関数値を計算する第一タグ計算手段と、前記 yを秘密鍵として用い、前 記識別子と前記 kと前記 iと力も決まる値を入力して、前記有限群に値をとる擬似ラン ダム関数の関数値を計算し、計算された擬似ランダム関数の関数値を 1乗した値に t を乗じた値を計算する第二タグ計算手段と、前記第一タグ計算手段の計算結果と前 記第二タグ計算手段の計算結果との組を出力する出力手段とを有するタグ生成手段 を備えたことを特徴とする回数制限匿名認証システム。
[0013] 本発明において、整数 kを入力するための入力手段と、電子署名方式の公開鍵及 び秘密鍵ペアを選ぶ電子署名用鍵生成手段と、 k個の整数を選ぶ平文選択手段と、 前記 k個の整数各々に対する署名文を前記公開鍵及び秘密鍵ペアを用いて計算す る電子署名計算手段と、前記電子署名方式の公開鍵と前記 k個の整数と前記 k個の 署名文とからなる組を、前記タグ生成手段の計算に使用されるタグ用公開鍵として出 力する出力手段と、を有するタグ用鍵生成手段を更に備えてもよい。
[0014] 前記電子署名計算手段は、平文として整数を入力するための手段と、平文と整数 の和の有限体での逆元を計算する手段と、計算された前記逆元を指数としてべき乗 剰余を計算し、前記べき乗剰余の計算結果を含む組を前記タグ用公開鍵として出力 する手段とを有してもよい。
[0015] 前記電子署名用鍵生成手段は、有限群から元を選ぶ手段と、整数を選ぶ手段と、 前記元を底とし、前記整数を指数として、べき乗剰余を計算する手段と、選ばれた前 記有限群の元と前記べき乗剰余の計算結果とからなる組を出力する手段とを有して ちょい。
[0016] 本発明において、前記タグ生成手段に整数 1を入力して計算される計算結果をてと し、前記タグ生成手段に整数 1'を入力して計算される計算結果を τ 'としたとき、前記 τ、 1、 τ,、 の四つのデータを入力するための入力手段と、前記てを前記て 'で割 つた値を底とし、前記 1から前記 を減じた値の有限体での逆数を指数として、べき乗 剰余を計算する計算手段と、前記べき乗剰余の計算結果を出力する出力手段と、を 有するメンバー特定情報抽出手段を更に備えてもよい。
[0017] 本発明にお 、て、グループメンバーとしての公開鍵及び秘密鍵ペアと、アプリケー シヨン提供者 (以下、 ΑΡ)装置の公開鍵と、前記 ΑΡ装置の識別子と、整数 k、 i、及び 1とを入力するための入力手段と、前記グループメンバーとしての秘密鍵から整数 yを 作り、前記 AP装置の識別子と、前記 k、 i、 1、及び yとを入力として、前記タグ生成手 段によりタグを成すデータを計算する手段と、前記タグの正当性証明文を計算する正 当性証明手段と、前記タグと前記正当性証明文とを出力する出力手段と、を有する グループ証明手段を更に備えてもよ!ヽ。
[0018] 本発明にお ヽて、有限群の元てと有限群の元 μと整数 1と証明文 ρとを要素とする 第一の組と、有限群の元て 'と有限群の元 'と整数 1'と証明文 ρ'とを要素とする第 二の組とを入力するための入力手段と、前記 τと前記 τ 'とが同一である力否かを判 定する第一判定手段と、前記 1と前記 とが同一であるか否かを判定する第二判定手 段と、前記証明文 ρが正当であるか否かを判定する第三判定手段と、前記証明文 ρ' が正当である力否かを判定する第四判定手段と、予め設定された対応表に基づいて 、前記メンバー特定情報抽出手段の計算結果と対応する識別子を取得する識別子 取得手段と、を有するトレース手段を更に有してもよい。
[0019] 本発明に係る擬似ランダム関数計算方法は、有限群の元を構成する要素として少 なくとも第一の要素及び第二の要素を持つ組からなる公開鍵と、整数力 なる秘密鍵 とを生成し、生成された前記秘密鍵を記憶装置に秘密裡に保管し、生成された前記 公開鍵を公開する鍵生成ステップと、整数が入力されると、擬似ランダム関数の関数 値として、前記有限群の元を出力する擬似ランダム関数計算ステップとを有し、前記 擬似ランダム関数計算ステップは、前記有限群の元として、前記公開鍵の前記第一 の要素を底とし、前記入力された整数を指数として、べき乗剰余を計算して得られる 値からなる第一の元と、前記公開鍵の前記第二の要素を底とし、前記秘密鍵と前記 入力された整数との和の有限体での逆数を指数として、べき乗剰余を計算して得ら れる値力 なる第二の元と、の積を出力することを特徴とする。
[0020] 本発明の別の側面に係る擬似ランダム関数計算方法は、整数力もなる秘密鍵を生 成し、生成された前記秘密鍵を記憶装置に秘密裡に保管する鍵生成ステップと、ビ ット列と整数との組が入力されると、擬似ランダム関数の関数値として、有限群の元を 出力する擬似ランダム関数計算ステップとを有し、前記擬似ランダム関数計算ステツ プは、前記有限群の元として、前記入力された値で決まる値を底とし、前記入力され た整数を指数として、べき乗剰余を計算して得られる値からなる第一の元と、前記入 力された値で決まる値を底とし、前記秘密鍵と前記入力された整数の和の逆数を指 数として、べき乗剰余を計算して得られる値を指数として、べき乗剰余演算により得ら れる値力もなる第二の元と、の積を出力することを特徴とする。本発明において、前 記底は、前記入力された値のハッシュ値であってもよ 、。
[0021] 本発明に係る回数制限匿名認証方法は、上記いずれかに記載の擬似ランダム関 数計算方法を用いた回数制限匿名認証方法であって、識別子と、整数 k、 i、 y、及び 1と、有限群の元 tとを入力するためのステップと、前記 yを秘密鍵として用い、前記識 別子と前記 kと前記 iと力も決まる値を入力して、前記有限群に値をとる擬似ランダム 関数の関数値を計算する第一タグ計算ステップと、前記 yを秘密鍵として用い、前記 識別子と前記 kと前記 iと力も決まる値を入力して、前記有限群に値をとる擬似ランダ ム関数の関数値を計算し、計算された擬似ランダム関数の関数値を 1乗した値に tを 乗じた値を計算する第二タグ計算ステップと、前記第一タグ計算ステップの計算結果 と前記第二タグ計算ステップの計算結果との組を出力するステップとを有するタグ生 成ステップを備えたことを特徴とする。
[0022] 本発明において、整数 kを入力するための入力ステップと、電子署名方式の公開鍵 及び秘密鍵ペアを選ぶ電子署名用鍵生成ステップと、 k個の整数を選ぶ平文選択ス テツプと、前記 k個の整数各々に対する署名文を前記公開鍵及び秘密鍵ペアを用い て計算する電子署名計算ステップと、前記電子署名方式の公開鍵と前記 k個の整数 と前記 k個の署名文とからなる組を、前記タグ生成手段の計算に使用されるタグ用公 開鍵として出力する出力ステップと、を有するタグ用鍵生成ステップを更に備えてもよ い。
[0023] 前記電子署名計算ステップは、平文として整数を入力するためのステップと、平文 と整数の和の有限体での逆元を計算するステップと、計算された前記逆元を指数とし てべき乗剰余を計算し、前記べき乗剰余の計算結果を含む組を前記タグ用公開鍵と して出力するステップとを有してもよ!、。
[0024] 前記電子署名用鍵生成ステップは、有限群力ゝら元を選ぶステップと、整数を選ぶス テツプと、前記元を底とし、前記整数を指数として、べき乗剰余を計算するステップと 、選ばれた前記有限群の元と前記べき乗剰余の計算結果とからなる組を出力するス テツプとを有してもよい。 [0025] 本発明にお 、て、前記タグ生成ステップにて整数 1を入力して計算される計算結果 をてとし、前記タグ生成ステップにて整数 を入力して計算される計算結果をて 'とし たとき、前記 τ、 1、 τ '、 の四つのデータを入力するためのステップと、前記 τを前 記 τ 'で割った値を底とし、前記 1から前記 を減じた値の有限体での逆数を指数とし て、べき乗剰余を計算するステップと、前記べき乗剰余の計算結果を出力するステツ プと、を有するメンバー特定情報抽出ステップを更に備えてもよい。
[0026] 本発明にお 、て、グループメンバーとしての公開鍵及び秘密鍵ペアと、アプリケー シヨン提供者 (以下、 ΑΡ)装置の公開鍵と、前記 ΑΡ装置の識別子と、整数 k、 i、及び 1とを入力するためのステップと、前記グループメンバーとしての秘密鍵から整数 yを 作り、前記 AP装置の識別子と、前記 k、 i、 1、及び yとを入力として、前記タグ生成ステ ップにてタグを成すデータを計算するステップと、前記タグの正当性証明文を計算す るステップと、前記タグと前記正当性証明文とを出力するステップと、を有するグルー プ証明ステップを更に備えてもょ 、。
[0027] 本発明にお ヽて、有限群の元てと有限群の元 μと整数 1と証明文 ρとを要素とする 第一の組と、有限群の元て 'と有限群の元 'と整数 1'と証明文 ρ 'とを要素とする第 二の組とを入力するためのステップと、前記てと前記て 'とが同一である力否かを判 定するステップと、前記 1と前記 とが同一であるか否かを判定するステップと、前記証 明文 ρが正当であるか否かを判定するステップと、前記証明文 ρ 'が正当である力否 かを判定するステップと、予め設定された対応表に基づいて、前記メンバー特定情報 抽出ステップの計算結果と対応する識別子を取得するステップと、を有するトレース ステップを更に備えてもよい。
発明の効果
[0028] 本発明によれば、効率的な擬似ランダム関数及びそれを用いた効率的な回数制限 匿名認証方式を実現できる。
[0029] 即ち、擬似ランダム関数は、少ない回数の逆数計算とべき乗剰余とで関数値を計 算できる。関数値の計算アルゴリズムが単純単純になり、これにより、 y= f (X)を満た す Xの知識のゼロ知識証明を効率的に行うことができ、既存の擬似ランダム関数の問 題点を解決できる。 [0030] また、回数制限匿名認証では、既存の方式とは異なり、ユーザが計算すべきデータ 個数が O (log k)個である。よって、認証時におけるユーザの計算量は制限回数 kに 比例しない。
図面の簡単な説明
[0031] [図 1]本発明の実施例 5、 6による回数制限匿名認証システムの全体構成を示す図で ある。
[図 2]本発明の実施例 1による擬似ランダム関数計算装置の全体構成を示す図であ る。
[図 3]図 2に示す擬似ランダム関数用鍵生成手段と擬似ランダム関数計算手段の処 理手順を説明する概略フローチャートである (実施例 1)。
[図 4]本発明の実施例 2による擬似ランダム関数計算装置の全体構成を示す図であ る。
[図 5]図 4に示す擬似ランダム関数用鍵生成手段と擬似ランダム関数計算手段の処 理手順を説明する概略フローチャートである (実施例 2)。
[図 6]本発明の実施例 3による回数制限匿名認証システムの全体構成を示す図であ る。
[図 7]図 6に示す回数制限匿名認証システムの各手段の処理手順を説明する概略フ ローチャートである(実施例 3)。
[図 8]図 7に示すタグ用鍵生成手段で用いる電子署名用鍵生成手段と電子署名手段 の処理手順を説明する概略フローチャートである(実施例 3)。
[図 9]本発明の実施例 4による回数制限匿名認証システムの全体構成を示す図であ る。
[図 10]図 9に示すタグ計算手段の処理手順を説明する概略フローチャートである(実 施例 4)。
[図 11]図 1に示す GMセットアップ手段と APセットアップ手段の処理手順を説明する 概略フローチャートである(実施例 5)。
[図 12]図 1に示す発行手段と参加手段の処理手順を説明する概略フローチャートで ある(実施例 5)。 [図 13]図 1に示すグループ証明手段とグループ検証手段の処理手順を説明する概 略フローチャートである(実施例 5)。
[図 14]図 1に示すトレース手段の処理手順を説明する概略フローチャートである(実 施例 5)。
[図 15]図 1に示すトレース手段とリスト記憶部の処理手順を説明する概略フローチヤ ートである(実施例 5)。
[図 16]図 1に示す GMセットアップ手段で用いる発行者用鍵生成手段の処理手順を 説明する概略フローチャートである(実施例 5)。
[図 17]図 1に示す発行手段及び参加手段で用いる第一発行手段及び第一参加手段 の処理手順を説明する概略フローチャートである(実施例 5)。
[図 18]図 1に示す発行手段及び参加手段で用いる第二発行手段、第二参加手段、 及びフアイ計算手段の処理手順を説明する概略フローチャートである (実施例 5)。
[図 19]図 1に示すユーザ装置による証明文の作成方法の処理手順を説明する概略 フローチャートである(実施例 5)。
[図 20]図 1に示すユーザ装置による証明文の作成方法の処理手順を説明する概略 フローチャートである(実施例 5)。
[図 21]図 1に示す AP装置による証明文の正当性検証方法の処理手順を説明する概 略フローチャートである(実施例 5)。
[図 22]図 1に示すユーザ装置による証明文の作成方法の処理手順を説明する概略 フローチャートである(実施例 6)。
[図 23]図 1に示すユーザ装置による証明文の作成方法の処理手順を説明する概略 フローチャートである(実施例 6)。
[図 24]図 1に示す AP装置による証明文の正当性検証方法の処理手順を説明する概 略フローチャートである(実施例 6)。
符号の説明
1 擬似ランダム関数計算装置
2 擬似ランダム関数用鍵生成手段
3 秘密鍵記憶部 公開鍵記憶部
入力手段
擬似ランダム関数計算手段 出力手段
メンバー特定情報生成装置 秘密鍵生成手段 公開情報記憶部 メンバー特定情報生成手段 通信装置
書き込み手段
乱数生成装置
公開情報記憶部 乱数選択手段
通信手段
タグ生成装置
公開情報記憶部 タグ生成手段
入力手段
通信装置
タグ計算手段
メンバー特定情報抽出装置 公開情報記憶部 メンバー特定情報抽出手段 一致性判定手段 出力手段
通信装置
鍵生成装置
入力手段 公開情報記憶部 タグ用鍵生成手段 通信手段
GM装置
GMセットアップ手段 発行手段 秘密情報記憶部 公開情報記憶部 通信手段 リスト記憶装置 リスト記憶部 通信手段 ユーザ装置 参加手段 グループ証明手段 秘密情報記憶部 公開情報記憶部 通信手段
AP装置
APセットアップ手段 グループ検証手段 公開情報記憶部 履歴記憶部 通信手段 トレース装置 トレース手段 公開情報記憶部 通信手段 発明を実施するための最良の形態
[0033] 以下、本発明に係る擬似ランダム関数計算装置及び方法、並びに回数制限匿名 認証システム及び方法を実施するための最良の形態にっ 、て、添付図面を参照して 説明する。
実施例 1
[0034] 本実施例は、擬似ランダム関数計算装置に適用したものである。
[0035] 図 2を参照して、本実施例の装置構成を説明する。図 2に示す擬似ランダム関数計 算装置 1は、機能上、擬似ランダム関数用鍵生成手段 2、秘密鍵記憶部 3、公開鍵記 憶部 4、入力手段 5、擬似ランダム関数計算手段 6、及び出力手段 7を有している。
[0036] 擬似ランダム関数計算装置 1は、一例としてコンピュータ機の CPU、記憶装置、そ の他の各種入出力装置によって実現される。この例では、擬似ランダム関数用鍵生 成手段 2及び擬似ランダム関数計算手段 6は、コンピュータ機の CPUが記憶装置上 のコンピュータプログラムの命令を実行することにより実現される。ここで用いられるコ ンピュータプログラムは、各手段 2、 6の処理アルゴリズム (後述参照)に応じて予め設 定される。また、秘密鍵記憶部 3及び公開鍵記憶部 4は、コンピュータ機の記憶装置 により実装される。さらに、入力手段 5及び出力手段 7は、コンピュータ機の入出力装 置に対応する。
[0037] 以下の説明では、 ωをセキュリティ 'パラメータとし、 G—1を有限巡回群で G—1の 位数が ωビットの整数であるものとし、 qを G— 1の位数とする。本実施例の擬似ラン ダム関数計算装置 1は、なんらかの方法で G—1のパラメータ、 ω、および qを事前に 入手しており、 G— 1のパラメータ、 ω、および qが公開鍵記憶部 4に書き込まれてい るものとする。 G— 1のパラメータ、 ω、および qを入手する方法は、どのようなものでも よい。例えば、外部力もの入力として得る、装置の回路にハードウェア的に書き込ん でおぐといった方法がある。
[0038] 次に、擬似ランダム関数用鍵生成手段 2及び擬似ランダム関数計算手段 6の処理 手順を図 3に従って説明する。図 3に示す処理手順は、コンピュータ機の記憶装置上 に格納されるコンピュータプログラムとして実現され、コンピュータ機の CPUにより実 行される。 [0039] 図 3において、擬似ランダム関数用鍵生成手段 2は、次の処理を実行する。まず、 G — 1の元 g、 hをランダムに選ぶ(ステップ SI)。次に、 Z— qの元 yをランダムに選ぶ(ス テツプ S2)。次に、 yを秘密鍵記憶部 3に、 (g, h)を公開鍵記憶部 4にそれぞれ書き 込む (ステップ S3)。最後に、(g, h)を出力する (ステップ S4)。
[0040] 図 3において、擬似ランダム関数計算手段 6は、次の処理を実行する。まず、 G— 1 の元 iを入力として受け取る (ステップ S5)。次に、 f (i) =g' {i}h' { lZ (y+iMを計算 する (ステップ S6)。最後に、 f (i)を出力する (ステップ S7)。
[0041] 従って、本実施例によれば、少ない回数の逆数計算とべき乗剰余とで擬似ランダム 関数の関数値を計算できるため、関数値の計算アルゴリズムが単純になり、これによ り、 y=f (x)を満たす Xの知識のゼロ知識証明を効率的に行うことができる。
実施例 2
[0042] 本実施例は、擬似ランダム関数計算装置に適用したものである。
[0043] 図 4を参照して、本実施例の装置構成を説明する。図 4に示す本実施例の擬似ラン ダム関数計算装置 1は、機能上、擬似ランダム関数用鍵生成手段 2、秘密鍵記憶部 3、公開鍵記憶部 4、入力手段 5、擬似ランダム関数計算手段 6、及び出力手段 7を 有している。
[0044] 擬似ランダム関数計算装置 1は、一例としてコンピュータ機の CPU、記憶装置、そ の他の各種入出力装置によって実現される。この例では、擬似ランダム関数用鍵生 成手段 2及び擬似ランダム関数計算手段 6は、コンピュータ機の CPUが記憶装置上 のコンピュータプログラムの命令を実行することにより実現される。ここで用いられるコ ンピュータプログラムは、各手段 2、 6の処理アルゴリズム (後述参照)に応じて予め設 定される。また、秘密鍵記憶部 3及び公開鍵記憶部 4は、コンピュータ機の記憶装置 により実装される。さらに、入力手段 5及び出力手段 7は、コンピュータ機の入出力装 置に対応する。
[0045] 以下の説明では、 ωをセキュリティ 'パラメータとし、 G—1を有限巡回群で G—1の 位数が ωビットの整数であるものとし、 qを G— 1の位数とする。本実施例の擬似ラン ダム関数計算装置は、なんらかの方法で G—1のパラメータ、 ω、および qを事前に入 手しており、 G— 1のパラメータ、 ω、および qが公開鍵記憶部 4に書き込まれているも のとする。 G— 1のパラメータ、 ω、および qを入手する方法はどのようなものでもよい。 例えば、外部力もの入力として得る、装置の回路にハードウェア的に書き込んでおく 、といった方法がある。
[0046] 次に、擬似ランダム関数用鍵生成手段 2の処理手順を図 5に従って説明する。図 5 に示す処理手順は、コンピュータ機の記憶装置上に格納されるコンピュータプロダラ ムとして実現され、コンピュータ機の CPUにより実行される。
[0047] 図 5において、擬似ランダム関数用鍵生成手段 2は、 Z— qの元 yをランダムに選び( ステップ S 11)、 yを秘密鍵記憶部 3に書き込む (ステップ S 12)。
[0048] 図 5において、擬似ランダム関数計算手段 6は、次の処理を実行する。
[0049] まず、ビット列 Xと G— 1の元 iを入力として受け取る(ステップ S13)。
[0050] 次に、(g_{X}, h_{X}) =H_{G_1 "2} (X)を計算する (ステップ S 14)。ここで
、 H— {G— Γ2}は、 G—Γ 2に値を取るハッシュ関数を示す。
[0051] 次に、 f [y]_{ ω } (i, X) =g_{X} " {i}h_{X} " { 1/ (y + i) }を計算する (ステップ
S15)。
[0052] 最後に、 f [y]_ } (i, X)を出力する (ステップ S16)。
[0053] 従って、本実施例でも、前述の実施例 1と同様に、少ない回数の逆数計算とべき乗 剰余とで擬似ランダム関数の関数値を計算できるため、関数値の計算アルゴリズムが 単純になり、これにより、 y=f (x)を満たす Xの知識のゼロ知識証明を効率的に行うこ とがでさる。
実施例 3
[0054] 本実施例は、前述した擬似ランダム関数計算装置を用いた回数制限匿名認証シス テムに適用したものである。
[0055] 図 6を参照して、本実施例の装置構成を説明する。図 6に示すシステムは、機能上
、メンバー特定情報生成装置 10、乱数生成装置 20、タグ生成装置 30、メンバー特 定情報抽出装置 40、及び鍵生成装置 50を有している。前述した擬似ランダム関数 計算装置は、タグ生成装置 30により用いられている。
[0056] メンバー特定情報生成装置 10は、機能上、秘密鍵生成手段 11、公開情報記憶部
12、メンバー特定情報生成手段 13、書き込み手段 14、及び通信手段 15を備える。 [0057] 乱数生成装置 20は、機能上、公開情報記憶部 21、乱数選択手段 22、及び通信 手段 23を備える。
[0058] タグ生成装置 30は、前述した擬似ランダム関数計算装置を用いたもので、機能上 、公開情報記憶部 31、タグ計算手段 32、入力手段 33、及び通信装置 34を備える。
[0059] メンバー特定情報抽出装置 40は、機能上、公開情報記憶部 41、メンバー特定情 報抽出手段 42、一致性判定手段 43、出力手段 44、及び通信装置 45を備える。
[0060] 鍵生成装置 50は、機能上、入力手段 51、公開情報記憶部 52、タグ用鍵生成手段 53、及び通信手段 54を備える。
[0061] 上記の各装置 10〜50は、一例としてコンピュータ機の CPU、記憶装置、ネットヮー クインターフェース部、その他の各種入出力装置によって実現される。この例では、 各手段 11、 13、 14、 22、 32、 42、 43、 53は、各コンピュータ機の CPU力記憶装置 上のコンピュータプログラムの命令を実行することにより実現される。ここで用いられる コンピュータプログラムは、各手段の処理アルゴリズム (後述参照)に応じて予め設定 される。また、公開情報記憶部 12、 21、 31、 41、 52は、各コンピュータ機の記憶装 置により実装される。通信手段 15、 23、 54、及び通信装置 34, 45は、各コンビユー タ機のネットワークインターフェース部に、また入力手段 23、 51、及び出力手段 44は 、各コンピュータ機の入出力装置にそれぞれ対応する。
[0062] 図 6では、もっとも単純な場合として、 5種類の装置 10〜50がそれぞれ一台ずつし かない場合を描いているが、各種類の装置が複数台あっても力まわない。また、図 6 では、各装置 10〜50が別々の機械である場合を描いている力 一つの機械が二種 類の装置の機能を兼ねて!/ヽても力まわな!/、。
[0063] メンバー特定情報生成装置 10、乱数生成装置 20、タグ生成装置 30、メンバー特 定情報抽出装置 40、及び鍵生成装置 50は、それぞれ通信手段 14、 23、 34、 45、 5 4を使って相互に通信できる。通信媒体としては、どのような通信媒体を用いてもかま わない。例えばインターネット、電波、電話回線といったものを用いることができる。
[0064] 各装置 10〜50は、他の装置が公開している公開情報をなんらかの方法で入手で きるものとする。公開情報の入手手段は、どのような方法を用いても力まわない。例え ば、公開情報を公開している装置力 前述の通信手段を用いて直接受け取る方法、 公開情報のリストを持って 、るサーバから前述の通信手段を用いて受け取る方法、を 用!/、ることができる。
[0065] 次に、本実施例の動作を図 7及び図 8に従って説明する。図 7及び図 8に示す処理 手順は、各装置に対応するコンピュータ機の記憶装置上に格納されるコンピュータプ ログラムとして実現され、各コンピュータ機の CPUにより実行される。
[0066] 以下の説明では、 ωをセキュリティ 'パラメータとし、 G—1を有限巡回群で G—1の 位数が ωビットの整数であるものとし、 qを G— 1の位数とする。本実施例で適用され る擬似ランダム関数計算装置は、なんらかの方法で G—1のパラメータ、 ω、および q を事前に入手しており、 G— 1のパラメータ、 ω、および qが各装置 10〜50の公開情 報記憶部 12、 21、 31、 41、 52に書き込まれているものとする。 G— 1のパラメータ、 ω、および qを入手する方法はどのようなものでもよい。例えば外部力 の入力として 得る、装置の回路にハードウェア的に書き込んでおぐといった方法がある。各装置 1 0〜50は、必要に応じてこれらのデータを読み込む。
[0067] 図 7において、まず、メンバー特定情報生成装置 10は、秘密鍵生成手段 11の処理 を行って、 Z— qの元 yをランダムに選ぶ(ステップ S21)。 g— 1を G— 1の元とし、 v— { ω } (y) =g— l ' {y}とする。 g—1は事前に何らかの方法で選ばれ、全ての装置 10 〜50の公開情報記憶部 12、 21、 31、 41、 52に事前に記憶されているものとする。 g —1をどのような方法で選び、どのような方法で各装置 10〜50に配布しても力まわな いが、安全性の観点から言えば、 g—1を何らかの値のハッシュ値にセットすることが 望ましい。
[0068] 次にメンバー特定情報生成装置 10は、メンバー特定情報生成手段 42の処理を行 つて、 t_l = V _{ ω } (y)とする(ステップ S22)。
[0069] ここで、 G— 2、 H— 2、 G— 3を、位数力 ¾である有限巡回群とし、 < · , · >は G— 2
X H— 2の元 (g, h,)に G— 3の元く g, h,>を対応させる写像で、 <g"x, h' "y> = <g, h' > " {xy}が任意の g, h' , x, yに対して成立するものとする。このような組 (G —2、 H— 2、 G— 3、 < · , - >)の生成方法、およびく ·, · >の計算方法は様々なも のが知られているが、そのどれを用いてもよい (例えば、非特許文献 2参照)。
[0070] 次に、鍵生成装置 50がタグ用鍵生成手段 53の処理を行う。 [0071] タグ用鍵生成手段 53は、ステップ S23、 S24にて、それぞれ電子署名用鍵生成手 段、電子署名手段による処理を行うので、タグ用鍵生成手段 53の処理を説明する前 に、電子署名用鍵生成手段と、電子署名手段との各処理を図 8に従って説明する。
[0072] 図 8において、電子署名用鍵生成手段は、まず、 G— 2の元 g— 2をランダムに選ぶ
(ステップ S41)。次に、 H— 2の元 g,— 2をランダムに選ぶ(ステップ S42)。次に、 Z — qの元 sskをランダムに選ぶ(ステップ S43)。
[0073] 次に、 h'— 2=g ' _ 2" {
Figure imgf000019_0001
を計算する(ステップ344)。
[0074] 最後に、(g— 2, g'_2, h'— 2)を電子署名用公開鍵 spkとしてセットする (ステツ プ S45)。
[0075] 電子署名手段は、まず、 spkを (g_2, g'_2, h'_2)とパースする(ステップ S46) 。次に、平文 j8に対する署名文 S =g_2' { lZ (ssk+ |8 ) }を計算する (ステップ S4 7)。
[0076] 鍵生成装置 50は、非負整数 kを入力として受け取ったら、図 7に示すタグ用鍵生成 手段 53の処理を行う。
[0077] 図 7において、まず、鍵生成装置 50は、電子署名用鍵生成手段の処理を行い、電 子署名用公開鍵 spkと、電子署名用秘密鍵 sskとを生成する (ステップ S23)。
[0078] 次に、鍵生成装置 50は、平文 β—1, · ··, |8— kを選び、(spk, ssk)を使って電子 署名手段の処理を行!、、各 β—iに対する署名文 S— iを作成する (ステップ S24)。
[0079] 最後に鍵生成装置 50は、 apk= (spk, ( β—Ι, S_l) , · ··, ( β _k, S— k) )とす る(ステップ S 25)。
[0080] 次に乱数生成装置 20は、乱数選択手段 21の処理を行い、 Z— qの元 1をランダムに 選んで出力する (ステップ S26)。
[0081] 次にタグ生成装置 30は、通信手段 23、 34を使って乱数生成装置 20と通信して、 1 を受信し、通信装置 54、 34を使って鍵生成装置 50と通信して、 apkを受信し、タグ 生成手段 32の処理を開始する。このタグ生成手段 32の処理を説明する。
[0082] まず、タグ生成装置 30は、タグ生成手段 32の処理により、タグ生成装置 30の ID、 タグ生成装置 32がアクセスを許す回数の上限値 k,および現時点でのアクセス回数 i
(i≤k)を受け取る(ステップ S27)。 [0083] 次にタグ生成装置 30は、 apkを(spk, (β—Ι, S_l), ···, ( β—k, S— k))とパ ースする(ステップ S 28)。
[0084] 次にタグ生成装置 30は、 f[y]_{ ω }を実施例 2の擬似ランダム関数とし、 F[y]_{ ω } (X, i) =f[y]_{ ω } (X, — i)とする。
[0085] 最後に、タグ生成装置 30は、 (τ, ) = (f [y]— } (ID | | k, β _i) , F[y]_
{ ω } (ID I | k, |8_ )を計算する(ステップ329)。;[[ ]—{ 0) }と?[ ]—{ 0) }は、 前述した実施例 2の擬似ランダム関数計算手段 6の処理を行うことで計算する。
[0086] 次に、タグ生成手段 32の処理が同じ入力(ID, k, i)を使って二度行われたとする。
各タグ生成手段 32の出力を(τ , , 1)、(τ , /ζ', )とする。
[0087] この場合、メンバー特定情報抽出装置 40は、通信手段 34、 45を使って、タグ生成 装置 30から , 1)、 (μ ', 1')を受け取り、メンバー特定情報抽出手段 42と一致性 判定手段 43の各処理を順に行う。
[0088] メンバー特定情報抽出装置 40は、メンバー特定情報抽出手段 42の処理を行い、 (
/ ')"{1/ (1—1,) }を計算する (ステップ S30、 S31)。
[0089] メンバー特定情報抽出装置 40は、一致性判定手段 43の処理を行い、 t— 1と( Z
^ ')"{1/(1-1')}とが入力されたら、 ί_1=( τ/τ ')"{1/(1-1') }であるかどう かを出力する (ステップ S32)。
[0090] 従って、本実施例によれば、回数制限匿名認証は既存の方式とは異なり、ユーザ が計算すべきデータ個数が O (log k)個であるため、認証時におけるユーザの計算 量は制限回数 kに比例しないから、効率的な回数制限匿名認証方式を実現すること ができる。
実施例 4
[0091] 本実施例は、前述した擬似ランダム関数計算装置を用いた回数制限匿名認証シス テムに適用したものである。
[0092] 図 9を参照して、本実施例の装置構成を説明する。図 9に示すシステムは、機能上
、メンバー特定情報生成装置 10、乱数生成装置 20、タグ生成装置 30、及びメンバ 一特定情報抽出装置 40を有している。前述した擬似ランダム関数計算装置は、タグ 生成装置 30により用いられて 、る。 [0093] メンバー特定情報生成装置 10は、機能上、秘密鍵生成手段 11、公開情報記憶部 12、メンバー特定情報生成手段 13、通信手段 14、及び書き込み手段 15を備える。
[0094] 乱数生成装置 20は、機能上、公開情報記憶部 21、乱数選択手段 22、及び通信 手段 23を備える。
[0095] タグ生成装置 30は、前述した擬似ランダム関数計算装置を用いたもので、機能上 、公開情報記憶部 31、入力手段 33、通信装置 34、及びタグ計算手段 35を備える。
[0096] メンバー特定情報抽出装置 40は、機能上、公開情報記憶部 41、メンバー特定情 報抽出手段 42、一致性判定手段 43、出力手段 44、及び通信装置 45を備える。
[0097] 上記の各装置 10〜50は、一例としてコンピュータ機の CPU、記憶装置、ネットヮー クインターフェース部、その他の各種入出力装置によって実現される。この例では、 各手段 11、 13、 14、 22、 42、 43、 53は、各コンピュータ機の CPU力記憶装置上の コンピュータプログラムの命令を実行することにより実現される。ここで用 、られるコン ピュータプログラムは、これら各手段の処理アルゴリズム (後述参照)に応じて予め設 定される。また、公開情報記憶部 12、 21、 31、 41、 52は、コンピュータ機の記憶装 置により実装される。通信手段 15、 23、 54、及び通信装置 34, 45は、各コンビユー タ機のネットワークインターフェース部に、また入力手段 23、 51、及び出力手段 44は 、各コンピュータ機の入出力装置にそれぞれ対応する。
[0098] 図 9では、もっとも単純な場合として、 5種類の装置がそれぞれ一台ずつしかない場 合を描いているが、各種類の装置が複数台あっても力まわない。また、図では、各装 置が別々の機械である場合を描いているが、一つの機械が二種類の装置の機能を 兼ねていてもかまわない。
[0099] メンバー特定情報生成装置 10、乱数生成装置 20、タグ生成装置 30、メンバー特 定情報抽出装置 40は、それぞれ通信手段 14、 23、 34、 45を使って相互に通信で きる。通信媒体としてどのような通信媒体を用いても力まわない。例えばインターネッ ト、電波、電話回線といったものを用いることができる。
[0100] 各装置 10〜40は、他の装置が公開している公開情報をなんらかの方法で入手で きるものとする。公開情報の入手手段は、どのような方法を用いても力まわない。例え ば、公開情報を公開している装置力 前述の通信手段を用いて直接受け取る方法、 公開情報のリストを持って 、るサーバから前述の通信手段を用いて受け取る方法、を 用!/、ることができる。
[0101] 実施例 4のメンバー特定情報生成装置 10、乱数生成装置 20、メンバー特定情報 抽出装置 40は、前述した実施例 3のメンバー特定情報生成装置 10、乱数生成装置 20、及びメンバー特定情報抽出装置 40と同じ動作をする。
[0102] また、実施例 4のタグ生成装置 30の通信装置 34、公開情報記憶部 31、入力手段 3 3は、前述した実施例 3のタグ生成装置 30の通信装置 34、公開情報記憶部 31、及 び入力手段 33と同じ機能を持っている。
[0103] 次に、図 10を参照して、実施例 4のタグ計算手段 35を説明する。図 10に示す処理 手順は、コンピュータ機の記憶装置上に格納されるコンピュータプログラムとして実現 され、コンピュータ機の CPUにより実行される。
[0104] 以下の説明では、 ωをセキュリティ 'パラメータとし、 G—1を有限巡回群で G—1の 位数が ωビットの整数であるものとし、 qを G— 1の位数とする。擬似ランダム関数計算 装置は、なんらかの方法で G—1のパラメータ、 ω、および qを事前に入手しており、 G —1のパラメータ、 ω、および qが各装置の公開情報記憶部に書き込まれているもの とする。 G— 1のパラメータ、 ω、および qを入手する方法どのようなものでもよい。例え ば外部からの入力として得る、装置の回路にハードウェア的に書き込んでおぐとい つた方法がある。各装置 10〜50は、必要に応じてこれらのデータを読み込む。
[0105] 図 10において、タグ生成装置 3は、タグ計算手段 35の処理を行い、タグ生成装置 の ID、タグ生成装置がアクセスを許す回数の上限値 k、および現時点でのアクセス回 数 i≤kを受け取る(ステップ S51)。
[0106] f[y]_{ ω }を前述した実施例 2の擬似ランダム関数とし、 F[y]_{ ω } (X, i) =f[y ]_{ ω } (Χ, — i)とする。
[0107] 最後に、タグ生成装置 3は、(τ , ) = (f[y]_ } (ID I | k, i) , F[y]_ { ω } (I D I I k, i) )を計算する (ステップ S52)。
[0108] f[y]_{ ω }と F[y]_ { ω }は、実施例 2の擬似ランダム関数計算手順 BPRF5を行 うことで計算する。
[0109] 従って、本実施例でも、前述の実施例 3と同様に、回数制限匿名認証は既存の方 式とは異なり、ユーザが計算すべきデータ個数が O (log k)個であるため、認証時に おけるユーザの計算量は制限回数 kに比例しないから、効率的な回数制限匿名認証 方式を実現することができる。
実施例 5
[0110] 本実施例は、前述した擬似ランダム関数計算装置を用いた回数制限匿名認証シス テムに適用したものである。
[0111] 図 1を参照して、本実施例の装置構成を説明する。
[0112] 図 1に示す本実施例の回数制限匿名認証システムは、前述した実施例 3、 4のシス テムに様々な計算手順を追加して構成されており、機能上、 GM (Group Manager)装 置(グループ管理装置) 100、リスト記憶装置 200、ユーザ装置 300、 AP (Application Provider)装置(アプリケーション提供装置) 400、及びトレース装置 500の 5種類の 装置を備える。前述した擬似ランダム関数計算装置は、後述するグループ署名手段 (グループ証明手段、グループ検証手段)に適用されている。
[0113] GM装置 100は、機能上、 GMセットアップ手段 101、発行手段 102、秘密情報記 憶部 103、公開情報記憶部 104、及び通信手段 105を備える。
[0114] リスト記憶装置 200は、機能上、リスト記憶部 201、及び通信手段 202を備える。
[0115] ユーザ装置 300は、機能上、参加手段 301、グループ証明手段 302、秘密情報記 憶部 303、及び公開情報記憶部 304、及び通信手段 305を備える。
[0116] AP装置 400は、機能上、 APセットアップ手段 401、グループ検証手段 402、公開 情報記憶部 403、履歴記憶部 404、及び通信手段 405を備える。
[0117] トレース装置 500は、機能上、トレース手段 501、公開情報記憶部 502、及び通信 手段 503を備える。
[0118] 上記の各装置 100〜500は、一例としてコンピュータ機 (サーバ機、クライアント機 等)の CPU、記憶装置、ネットワークインターフェース部、その他の各種入出力装置 によって実現される。この例では、各手段 101、 102、 301、 302、 401、 401、 501は 、各コンピュータ機の CPUが記憶装置上のコンピュータプログラムの命令を実行する ことにより実現される。ここで用いられるコンピュータプログラムは、これら各手段の処 理アルゴリズム (後述参照)に応じて予め設定される。また、公開情報記憶部 104、 3 04、 403、 502、秘密情報記憶部 103、 303、リスト記憶部 201、履歴記憶部 404は 、各コンピュータ機の記憶装置により実装される。通信手段 105、 202、 305、 405、 503は、各コンピュータ機のネットワークインターフェース部に対応する。
[0119] 図 1では、もっとも単純な場合として 5種類の装置がそれぞれ一台ずつしかない場 合を描いている力 各種類の装置が複数台あっても力まわない。また、図 1では、各 装置 100〜500が別々の機械である場合を描!ヽて ヽるが、一つの機械が二種類の 装置の機能を兼ねて 、てもかまわな 、。例えば GM装置 100の機能とリスト装置 200 の機能を両方持つ機械を使っても力まわな 、。
[0120] GM装置 100、リスト記憶装置 200、ユーザ装置 300、 AP装置 400、トレース装置 5 00は、それぞれ通信手段 105、 202, 305, 405, 503を使って相互に通信できる。 通信媒体としては、例えばインターネット、電波、電話回線といったものを用いること ができる力 本発明ではどのような通信媒体を用いても力まわない。
[0121] GM装置 100、ユーザ装置 300、 AP装置 400、トレース装置 500は、それぞれの 公開情報記憶部 104、 304、 403、 502に、自分自身や他の装置が公開している公 開情報を記憶する。また、リスト記憶装置 200は、リスト記憶部 201という、公開情報を 記憶するための部分を持っている。リスト記憶装置 200は、自分自身や他の装置が 公開して!/、る公開情報をリスト記憶部 201に記憶する。
[0122] 各装置 100〜500は、他の装置が公開している公開情報をなんらかの方法で入手 できるものとする。公開情報の入手手段としては例えば、公開情報を公開している装 置力 前述の通信手段を用いて直接受け取る方法、公開情報のリストを持っている サーノ から前述の通信手段を用いて受け取る方法、といったものが考えられる力 ど のような方法を用いてもかまわな 、。
[0123] GM装置 100、ユーザ装置 300は、それぞれ秘密情報記憶部 103、 303にそれぞ れの秘密情報を記憶する。
[0124] 各装置 100〜500には、事前にセキュリティ 'パラメータ ωが配布されている。セキ ユリティ ·パラメータをどのような方法で配布するの力、セキュリティ 'パラメータをどのよ うな方法で決定するのかは問わな 、。
[0125] ユーザ装置 300、 ΑΡ装置 400には、事前に固有の IDが割り振られており、各装置 100〜500は、全てのユーザ装置 300、 AP装置 400の IDを事前に知っている。 IDと してどのようなデータを用いるの力、 IDをどのように配布するのかは問わない。例えば 、装置保有者の名前、装置に割り振られた IPアドレス、装置に割り振られた MACアド レス、および乱数と 、つたものを装置の IDとして用いることができる。
[0126] GM装置 100は、 GMセットアップ手段 101により、発行者用鍵生成手段の処理を 行う。以下、発行者用鍵生成手段の詳細を略して、 GMセットアップ手段 101の処理 を説明し、後で発行者用鍵生成手段の詳細を説明する。
[0127] 次に、本実施例の動作を図 11〜図 21を参照して説明する。図 11〜図 21に示す 処理手順は、各装置に対応するコンピュータ機の記憶装置上に格納されるコンビュ ータプログラムとして実現され、各コンピュータ機の CPUにより実行される。
[0128] まず、 GMセットアップ手段 101の処理を図 11に従って説明する。
[0129] 図 11において、 GM装置 100は、まずセキュリティ ·パラメータ ωを公開情報記憶部 104から読み込む (ステップ S61)。 GM装置 100は、次に発行者用鍵生成手段の処 理を行い、 GM公開鍵 gpkと GM秘密鍵 gskを作り(ステップ S62)、 gpkを公開情報 記憶部 104に、 gskを秘密情報記憶部 103に記憶する (ステップ S63)。
[0130] 次に、発行者用鍵生成手段の処理を図 16に従って説明する。
[0131] 以下の説明では、 G— 2、 H— 2、 G— 3を有限巡回群とし、 < · , · >は G— 2 X H— 2の元 (g, )に0—3の元<8, h,>を対応させる写像で、 <g"x, h' "y> = <g, h , > ' {xy}が任意の g, h,, x, yに対して成立するものとする。このような組 (G— 2、 H —2、 G— 3、 < · , - >)の生成方法、およびく ·, · >の計算方法は様々なものが知ら れているが、そのどれを用いてもよい。例えば非特許文献 2を参照されたい。 qを G— 2の位数とし、整数環 Zをイデアル qZで割った商環を Z_qと書く。
[0132] 図 16において、 GM装置 100は、 G— 2の元 g— 3、 h— 3、 a— 3と H— 2の元 g,— 3 をランダムに選ぶ(ステップ S131、 S132)。次に、 GM装置 1は、 Z— qの元 gskをラン ダムに選ぶ (ステップ S 133)。次に、 GM装置 1は、 u'— 3 =g— 3" {ssk}を計算する (ステップ S134)。最後に GM装置 1は、 (g_3, h_3, a_3, g,— 3, u,— 3)を発 行者用公開鍵 gpkとしてセットする(ステップ S 135)。
[0133] 次に、 GM装置 100の発行手段 102とユーザ装置 300の参加手段 302の各処理を 説明する。
[0134] GM装置 100とユーザ装置 300は、相互通信をしながら、それぞれ発行手段 102、 参加手段 302の処理を行う。
[0135] GM装置 100は、発行手段 102により、第一発行手段、第二発行手段の各処理を 行う。ユーザ装置 300は、参加手段 302により、第一参加手段、フアイ計算手段、メン バー特定情報生成手段、第二参加手段、メンバー鍵検証手段の各処理を行う。
[0136] まず、第一発行手段、第一参加手段、フアイ計算手段、メンバー特定情報生成手 段、第二発行手段、第二参加手段、およびメンバー鍵検証手段の詳細を略して、発 行手段 102と参加手段 302の説明を行い、その後で、第一発行手段、第一参加手 段、フアイ計算手段、メンバー特定情報生成手段、第二発行手段、第二参加手段、 及びメンバー鍵検証手段の詳細を説明する。
[0137] 最初に、 GM装置 100の発行手段 102とユーザ装置 300の参加手段 302の各処 理を図 12に従って説明する。
[0138] 図 12において、 GM装置 100は、まず(ω , gpk)を公開情報記憶部 104から、 gsk を秘密情報記憶部 103から読み込む (ステップ S71)。
[0139] ユーザ装置 300は、( ω , gpk)を公開情報記憶部 304から読み込む (ステップ S81
) o
[0140] 次に GM装置 100とユーザ装置 300は、互いに通信しながら、それぞれ第一発行 手段、第一参加手段を行い、 GM装置 100は、 St— {GM}を、ユーザ装置 300は、 S t_{U}とメンバー秘密鍵 mskをそれぞれ得る(ステップ S72、 S82)。ただし、 GM装 置 100とユーザ装置 300のいずれかが、それぞれ第一発行手段、第一参加手段の 各処理の途中で異常終了した場合は、それぞれ発行手段 102、参加手段 301の各 処理を終了する(ステップ S72、 S82)。
[0141] 次に GM装置 100は、 gpkを公開情報記憶部 104に、 gskを秘密情報記憶部 103 に書き込む (ステップ S73)。
[0142] 次にユーザ装置 300は、フアイ計算手段の処理を行い、 y = φ— { ω } (msk)を計 算する(ステップ S 83)。
[0143] 次にユーザ装置 300は、メンバー特定情報生成手段の処理を行!、、メンバー特定 情報 t_lを得る (ステップ S84)。次に、ユーザ装置 300は、 t_lとリスト記憶装置 20
0に送信する (ステップ S85)。
[0144] リスト記憶装置 200は、受信した t—1をユーザ装置 300の IDと組にしてリスト記憶 部 201に記憶する(ステップ S80)。
[0145] 次に、 GM装置 100は、リスト装置 200から t—1を受け取る(ステップ S 744)。もしリ スト装置 200が t—1を保管していなかったら、 GM装置 100は、発行手段の処理を終 了する(ステップ S75)。リスト装置 200から t_lを受け取るのに成功したら、次に、ュ 一ザ装置 300は、 t—1の正当性を GM装置 100に証明し、 GM装置 100は、その証 明を検証する (ステップ S86、 S76)。正当性証明は、どのような方法で行ってもよい。 例えば非特許文献 3の方法で行うことができる。
[0146] ユーザ装置 300の証明が正当でなければ、 GM装置 100は、発行手段の処理を終 了する(ステップ S77)。ユーザ装置 300の証明が正当であれば、 GM装置 100とュ 一ザ装置 300は、それぞれ第二発行手段、第二参加手段の各処理を行い、ともにメ ンバー公開鍵 mpkを得る(ステップ S78、 S87)。
[0147] 次に GM装置 100は、 mpkを公開情報記憶部 104に書き込む (ステップ S79)。
[0148] ユーザ装置 300は、メンバー鍵検証手段の処理を行うことで、 verkey(mpk, msk) を計算し、 verkey(mpk, msk) = acceptなら、 (mpk, msk)を公開情報記憶部 304 に書き込む (ステップ S88)。
[0149] 次に、第一発行手段と第一参加手段の各処理を図 17に従って説明する。
[0150] 図 17において、 GM装置 100は、まず GM公開鍵 gpkを(g— 3, h_3, a_3, g,
—3, u'— 3)とパースする(ステップ S 141)。ユーザ装置 300も、 GM公開鍵 gpkを( g— 3, h_3, a_3, g,_3, u,— 3)とパースする(ステップ S 145)。
[0151] 次にユーザ装置 300は、 Z— qの元 X, r,をランダムに選ぶ (ステップ S146)。次に、 ユーザ装置 300は、 w=a_3g_3 " {χ} · h_3 " {r' }を計算する(ステップ S 147)。 次に、ユーザ装置 300は、 wを GM装置 1に送信する(ステップ S 148)。次に、 GM装 置 100は、 wを受信する(ステップ S142)。
[0152] 次にユーザ装置 300は、 wの正当'性を GM装置 1に証明し、 GM装置 100は、その 証明を検証する(ステップ S 149、 S143)。証明は、どのような方法で行ってもよいが 、例えば非特許文献 3の方法で証明することができる。
[0153] 次に GM装置 100は、 wが正当なら、 St_{GM} =wとして、第一発行手段の処理 を正常終了し、そうでなければ、異常終了する (ステップ S 144)。最後に、ユーザ装 置 300は、 St— {U} =wとして、第一参加手段の処理を正常終了する (ステップ S15 0)。
[0154] 次に、フアイ計算手段の処理を図 18に従って説明する。
[0155] 図 18において、ユーザ装置 300は、 mskを(X, r,)とパースする(ステップ S 161)。
ユーザ装置 300は、 y=xとする(ステップ S162)。
[0156] 次に、メンバー特定情報生成手段の処理を図 7に従って説明する。
[0157] ユーザ装置 300は、前述した実施例 3のメンバー特定情報生成手段の処理(図 7) を行い、 t_l = V— } (y) =g_l 'yを計算する (ステップ S22)。ここで、 g_lは 事前に決められた公開情報である。 g— 1は、どの装置がどのような方法で公開しても よいが、安全性の観点から言えば、 g—1はなんらかのデータのハッシュ値であること が望ましい。
[0158] 次に、第二発行手段と第二参加手段の各処理を図 18に従って説明する。
[0159] 図 18において、 GM装置 100は、 Z— qの元 e, r"をランダムに選び (ステップ S151
、 S 152)、 V = (wh_3 " {r"}) " { l/ (gsk + e) }を計算する (ステップ S 153)。次に G
M装置 100は、 mpk= (V, e)とする(ステップ S154)。次に GM装置 100は、 (mpk, r")をユーザ装置 300に送信する (ステップ S155)。
[0160] 次にユーザ装置 300は、(mpk, r")を受信したら(ステップ S156)、 r=r' +r"mod qとし、 msk= (x, r)とする(ステップ SI 57、 SI 58)。
[0161] 次に、メンバー鍵検証手段の処理を図 18に従って説明する。
[0162] 図 18において、ユーザ装置 300は、 mpkを (V, e)とパースする(ステップ S 159)。
[0163] ユーザ装置 300は、 <w, u'_3g'_3" {e} > = <v, g,— 3 >が成立するかどうか を調べ、 <w, u'_3g'_3" {e} > = <v, g,— 3 >が正当なら mpk= (v, e)とし、そ うでなければ異常終了する (ステップ S 160)。
[0164] 次に、 AP装置 400の APセットアップ手段 401の処理を図 11に従って説明する。
[0165] 図 11において、 AP装置 400は、 APセットアップ手段 401の処理を行う前に、各ュ 一ザ装置 300にアクセスを許す上限回数 kを決めておく必要がある。どのような方法 で kを決めてもよい。
[0166] AP装置 400は、まずセキュリティ 'パラメータ ω、 自分の識別子 ID、および上限値 k を公開情報記憶部 403から読み込む (ステップ S64)。
[0167] 次に AP装置 400は、実施例 3のタグ用鍵生成手段の処理(図 7)を行い、 AP公開 鍵 apkを得る (ステップ S65)。最後に、 AP装置 400は、 apkを公開情報記憶部 AP3 に書き込む (ステップ S66)。
[0168] ユーザ装置 300と AP装置 400は、互いに通信しながら、それぞれグループ証明手 段 302、グループ検証手段 403の各処理を行う。
[0169] 次に、ユーザ装置 300のグループ証明手段 302と AP装置 400のグループ検証手 段 303を図 13に従って説明する。
[0170] 図 13【こお!ヽて、まずユーザ装置 300ίま、 (ω, gpk, ID, k, apk, mpk, msk)を公 開情報記憶部 304から読み込む (ステップ S91)。
[0171] AP装置 400は、 (ω, gpk, ID, k, apk)を公開情報記憶部 404から読み込む (ス テツプ S 101)。
[0172] 次に AP装置 400は、ランダムに 1を選び (ステップ S 102)、 1をユーザ装置 300に送 信する (ステップ S 103)。
[0173] 次にユーザ装置 300は、 1を受信したら (ステップ S92)、実施例 3のタグ生成手段の 処理(図 7)を行い、知識( τ , )を生成する (ステップ S93)。
[0174] ver_{spk}(j8, S)を、く S, h'_2g'_2" j8 > = <g_2, g,_2>が成立すれ ば、 acceptを、そうでなければ、 rejectを出力する関数とする。
[0175] 次にユーザ装置 300は、知識( τ , )の正当性証明文 pf— { τ , μ }を作成し (ス テツプ S94)、 (τ, μ, pf一 { τ , μ })を ΑΡ装置 400に送信する(ステップ S95)。
[0176] ここで、証明文 pf— { τ , }の作成方法を図 19、及び図 20に従って説明する。
[0177] 図 19において、まずユーザ装置 300は、 Z— qの元 j8を選び、 V— {4}=v'h— 3'{ β }を計算する (ステップ S 171)。
[0178] 次にユーザ装置 300は、 Z— qの元 X— {4}、e— {4}、 γ— {4}、 j8— {4}をランダ ムに選び、 X— {4} = <g— 3'{x— {4}}v— {4厂 {e— {4}}h— 3'{γ }, g'_3>< h_3 "{ |8_{4}}, u'_3>を計算する (ステップ S 172)。
[0179] 次にユーザ装置 300は、 Z— qの元 sをランダムに選び、 s, = (x + i)s、 b= τ -g"{
-i}a_3 " sを計算する(ステップ S 173)。
[0180] 次にユーザ装置 300は、 Z— qの元 i— {4}、 s— {4}、 s,— {4}を選び、 Z— qの元 s,
— {4} = (x— {4}+i— {4})s— {4} mod q, b_{4} =g" { -i_{4} }a_3" {s_{
4}}、h_{4}=b'{x_{4}+i_{4}}a_3'{— s,— {4}}を計算する (ステップ S17
4)0
[0181] 次にユーザ装置 300は、 Z— qの元 tをランダムに選び、 t, = (x+i)t mod q、 B
= μ g— Γ { -lx}g" {— i}a— 3' {t}を計算する (ステップ S175)。
[0182] 次にユーザ装置 300は、 Z— qの元 t— {4}、 t,— {4}を選び、 B— {4}=g— Γ{—1
•x_{4}}g"{-i_{4}}a_3"{t_{4}}, H_{4}=B"{-x_{4}-i_{4}}a_3
"{-t'_{4}}を計算する (ステップ S 176)。
[0183] 次にユーザ装置 300は、 Z— qの元 pをランダムに選び、 Θ = px mod q、 T=S h"{ p }を計算する (ステップ SI 77)。
[0184] 図 20において、次にユーザ装置 300は、 Z— qの元 Θ— {4}、 {4}をランダム に選び、 Y_{4} = <T, h'_2XT, g'_2>"{x_{4}}<h, g'_2>"{- Θ一
{4}}<h, h,— 2>'{— {4}}を計算する (ステップ S178)。
[0185] 次にユーザ装置 300は、 c=Hash_{Z_q} (gpk, apk, v_{4}, X— {4}, b, b
_{4}, h_{4}, B, B_{4}, H_{4}, Y— {4})を計算する(ステップ S179)。 Has h— {Z— q}は、 Z—qに値をとるハッシュ関数を表す。
[0186] 次にユーザ装置 300は、 X一 }=cx + x_{4} mod q、 e_ } =ce + e_{4} mod q、 r― {5} =c(r+ β e) + y mod q、 ι― {o; =ci+i― {4| mod q、 s― {
5} =cs + s― {4} mod q、 s,― {5}=cs,+s,― {4} mod q、 t― {5} =ct + t―
{4} mod q、 t,― {5}=ct,+t,― {4} mod q、 p― {5}=c p + ― {4} mod q、 0 _{5}=c 0 + θ _{4} mod qを計算する(ステップ SI 80)。
[0187] 最後にユーザ装置 300は、 pf_{ τ , ^ } = (b, B, c, x_{5}, e_{5}, r_{5}, i
_{5}, s_{5}, s'_{5}, t_{5}, t'_{5}, p_{5}, Θ— })とする。
[0188] ここで、図 13に戻り、説明を続ける。 [0189] 図 13において、 AP装置 400は、 (τ, μ, pf_{ τ , μ })を受信したら(ステップ SI 04)、 τがすでに履歴記憶部 404に記載されているかどうかを調べ、記載されていた ら、 rejectを出力してグループ検証手段 403の処理を終了する(ステップ S105)。
[0190] 次に AP装置 400は、 pf_{ τ , μ }が正当性を検証し、 pf_{ τ , μ }が正当でなけ れば、 rejectを出力してグループ検証手段を終了し (ステップ S106)、 pf_{ τ , μ ) が正当であれば、( τ , μ, 1, pf_{ τ , μ })を履歴記憶部 404に記載し、 acceptを 出力して、グループ検証手段 403の処理を終了する(ステップ S 107)。
[0191] ここで、 pf— { τ, }の正当性を検証する方法を図 21に従って説明する。
[0192] 図 21にお!/、て、まず ΑΡ装置 400は、 X— {4} = <g_3" {x_{5} }v_{4} " {e_{ 5}}h_3"{r_{5}}, g'_3Xh_3"{r_{5}}, u'_3>(<a_3, g_3>/<v _{4}, u,— 3>)'cを計算する(ステップ S181)。
[0193] 次に AP装置 400は、 b— {4} = ( τ b' {— 1}) ' {-c}g" { -i_{5} }a_3" {s_{5} }を計算する (ステップ S182)。
[0194] 次に AP装置 400は、 h_{4}= {—c} {x_{4}+i_{4}}a— 3'{— s,— }} を計算する (ステップ S183)。
[0195] 次に AP装置 400は、 Β_{4} = (Β"{-1}^)"{ο}8_1"{-1·χ_{5}}8"{-ί_{ 5 } } a_3 "{t_{5}}を計算する (ステップ S 184)。
[0196] 次に AP装置 400は、 H— {4}=B'{—x_^}— i_{rej}}a_3'{—t,— }}を 計算する(ステップ S 185)。
[0197] 次に AP装置 400は、 C_{4}=C"{— c}g"{x_ }} — }}を計算する(ス テツプ S 186)。
[0198] 次に AP装置 400は、 Y一 {4} = <g— 2, g'_2> " { -c} <T, h'_2XT, g, _2>"{x_{4}}<h, g'_2>"{- 0_{4}}<h, h,— 2>'{— {4}}を計算 する(ステップ SI 87)。
[0199] 最後に AP装置 400は、 c=Hash_{Z_q} (gpk, apk, v— {4}, X— {4}, b, b—
{4}, h_{4}, B, B_{4}, H— {4})が成立するかどうかを確認し、 c = Hash_{Z _q} (gpk, apk, v— {4}, X— {4}, b, b— {4}, h— {4}, B, B— {4}, H— {4}, Y — {4})が成立していれば、 pf_{て , μ }を acceptし、そうでなければ rejectする(ス テツプ SI 88)。
[0200] 次に、トレース装置 500のトレース手段 501の処理を図 14、図 15に従って説明する
[0201] 図 14において、まずトレース装置 500は、(ω, gpk, ID, k, apk)を公開情報記憶 部 502から読み込む (ステップ S 111)。
[0202] 次にトレース装置 500は、 AP装置 400の履歴記憶部 404に記憶されているデータ
(τ, μ, 1, pf_{ τ , μ }), (τ ', μ ' , V , pf'_{ τ ', ' })を受信する(ステップ S
112)。このとき、 AP装置 400力 、つトレース装置 500に(τ, μ , pf_{ τ , μ }), ( τ ', μ ', Ι', pf'_{ τ ', ,})を送信するのかは問わない。
[0203] 次にトレース装置 500は、 τ = τ,であるかどうかを調べ、 τ = τ,でないなら、「ΑΡ 装置 400が不正なデータ(τ , μ, 1, pf_{ τ , μ }), (τ ', μ ' , V , pf'_{ τ ', μ
,})をトレース装置 500に送った」ことを意味する文字列を出力してトレース手段 501 の処理を終了する(ステップ S 113)。
[0204] 次にトレース装置 500は、 1=1,であるかどうかを調べ、 1=1,でないなら、「ΑΡ装置 4 が不正なデータ(τ , μ, 1, pf_{ τ , μ }) Λ τ ', μ ', Ι', pf'_{ τ ', ,})をトレ ース装置 500に送った」ことを意味する文字列を出力してトレース手段 501の処理を 終了する(ステップ S 114)。
[0205] 次にトレース装置 500は、 pf— { τ , }が正当であるかどうかを調べ、正当でなけ れば、「ΑΡ装置 400が不正なデータ( τ , μ, Ι, pf_{ τ , μ }), (τ ', μ ' , V , ρί'
_{ τ ', ,})をトレース装置 5に送った」ことを意味する文字列を出力してトレース 手段 501の処理を終了する(ステップ S 115)。
[0206] 次にトレース装置 500は、 pf'_{ τ ', μ, }が正当であるかどうかを調べ、正当でな ければ、「ΑΡ装置 400力不正なデータ( τ , μ, Ι, pf_{ τ , μ }), (τ ', ,, 1,, pf
'_{ τ ', ,})をトレース装置 500に送った」ことを意味する文字列を出力してトレー ス手段 501の処理を終了する(ステップ S116)。
[0207] 図 15において、次にトレース装置 500は、実施例 3のメンバー特定情報抽出手段 の処理(図 7)を行 、、メンバー特定情報 t—1を得る (ステップ S117)。
[0208] 次にトレース装置 500は、 t 1をリスト記憶装置 200に送信する(ステップ SI 18)。 リスト記憶装置 200は、 t— 1を受信すると (ステップ S121)、 t— 1に対応する IDをトレ ース装置 500に送信する(ステップ S122)。そのような IDがなければ、 ID=GMとし、 ID = GMを送信する。
[0209] 次にトレース装置 500は、 t—1に対応する IDを受け取る(ステップ S 122、 S119)。
最後にトレース装置 500は、 IDを出力する (ステップ S 120)。
[0210] 従って、本実施例でも、前述の実施例 3、 4と同様に、回数制限匿名認証は既存の 方式とは異なり、ユーザが計算すべきデータ個数が O (log k)個であるため、認証時 におけるユーザの計算量は制限回数 kに比例しないから、効率的な回数制限匿名認 証方式を実現することができる。
実施例 6
[0211] 本実施例は、前述した擬似ランダム関数計算装置を用 Vヽた回数制限匿名認証シス テムに適用したものである。
[0212] 前述の図 1を参照して、本実施例の装置構成を説明する。
[0213] 図 1に示す本実施例の回数制限匿名認証システムは、前述した実施例 3、 4のシス テムに様々な計算手順を追加して構成されており、機能上、 GM装置 100、リスト記 憶装置 200、ユーザ装置 300、 AP装置 400、及びトレース装置 500の 5種類の装置 を備える。前述した擬似ランダム関数計算装置は、後述するグループ署名手段 (ダル ープ証明手段、グループ検証手段)に適用されている。
[0214] このうち、 GM装置 100、リスト記憶装置 200、ユーザ装置 300、およびトレース装置 500の装置構成は、前述した実施例 5の装置構成と同じである。 AP装置 400は、前 述した実施例 5と同様に、グループ検証手段 402、公開情報記憶部 403、履歴記憶 部 404、通信手段 405を備える力 本実施例では、実施例 5とは異なり、 APセットァ ップ手段 401が含まれない。従って、本実施例の装置構成は、図 1の装置構成から A Pセットアップ手段 401を削除したものに対応する。
[0215] 上記の各装置 100〜500は、一例としてコンピュータ機 (サーバ機、クライアント機 等)の CPU、記憶装置、ネットワークインターフェース部、その他の各種入出力装置 によって実現される。この例では、各手段 101、 102、 301、 302、 501は、各コンビュ ータ機の CPUが記憶装置上のコンピュータプログラムの命令を実行することにより実 現される。ここで用いられるコンピュータプログラムは、これら各手段の処理アルゴリズ ム(後述参照)に応じて予め設定される。また、公開情報記憶部 104、 304、 403、 50 2、秘密情報記憶部 103、 303、リスト記憶部 201、履歴記憶部 404は、各コンビユー タ機の記憶装置により実装される。通信手段 105、 202、 305、 405、 503は、各コン ピュータ機のネットワークインターフェース部に対応する。
[0216] 図 1では、もっとも単純な場合として 5種類の装置がそれぞれ一台ずつしかない場 合を描いている力 各種類の装置が複数台あっても力まわない。また、図 1では、各 装置が別々の機械である場合を描いているが、一つの機械が二種類の装置の機能 を兼ねていても力まわない。例えば、 GM装置 100の機能とリスト装置 200の機能を 両方持つ機械を使っても力まわな 、。
[0217] GM装置 100、リスト記憶装置 200、ユーザ装置 300、 AP装置 400、トレース装置 5 00は、それぞれ通信手段 105、 202, 305, 405, 503を使って相互に通信できる。 通信媒体として、例えばインターネット、電波、電話回線といったものを用いることが できるが、どのような通信媒体を用いても力まわな 、。
[0218] GM装置 100、ユーザ装置 300、 AP装置 400、トレース装置 500は、それぞれの 公開情報記憶部 104、 304、 403、 502に、自分自身や他の装置が公開している公 開情報を記憶する。また、リスト記憶装置 200は、リスト記憶部 201という、公開情報を 記憶するための部分を持っている。リスト記憶装置 200は、自分自身や他の装置が 公開して!/、る公開情報をリスト記憶部 201に記憶する。
[0219] 各装置 100〜500は、他の装置が公開している公開情報をなんらかの方法で入手 できるものとする。公開情報の入手手段としては例えば、公開情報を公開している装 置力 前述の通信手段を用いて直接受け取る方法、公開情報のリストを持っている サーノ から前述の通信手段を用いて受け取る方法、といったものが考えられる力 ど のような方法を用いてもかまわな 、。
[0220] GM装置 100とユーザ装置 300は、それぞれ秘密情報記憶部 103、 303にそれぞ れの秘密情報を記憶する。
[0221] 各装置 100〜300には、事前にセキュリティ 'パラメータ ωが配布されている。セキ ユリティ'パラメータ ωをどのような方法で配布するの力、セキュリティ 'パラメータ ωを どのような方法で決定するのかは問わな 、。
[0222] ユーザ装置 300と AP装置 400には、事前に固有の IDが割り振られており、各装置 100〜500は、全てのユーザ装置 300、 AP装置 400の IDを事前に知っている。 IDと してどのようなデータを用いるの力、 IDをどのように配布するのかは問わない。例えば 、装置保有者の名前、装置に割り振られた IPアドレス、装置に割り振られた MACアド レス、および乱数と 、つたものを装置の IDとして用いることができる。
[0223] グループ証明手段 302、グループ検証手段 402、トレース手段 501以外の、実施 例 6の各手段は、実施例 5のそれと同じである。
[0224] 次に、本実施例の動作を図 13、図 22〜図 24を参照して説明する。図 13、図 22〜 図 24に示す処理手順は、各装置に対応するコンピュータ機の記憶装置上に格納さ れるコンピュータプログラムとして実現され、各コンピュータ機の CPUにより実行され る。
[0225] まず、グループ証明手段 302とグループ検証手段 402の各処理を図 13に従って説 明する。
[0226] 図 13のステップ S93、 S94以外の処理は、前述した実施例 5のグループ証明手段
302と同じである。図 13のステップ S104以外の処理は、前述した実施例 5のグルー プ検証手段 402と同じである。
[0227] グループ証明手段 302は、ステップ S93にて、実施例 3ではなく実施例 4のタグ生 成手段の処理(図 10)を行い、ステップ S104にて、図 19、図 20の代わりに図 22、図
23に従って、証明文 pf— {て , μ }を作成する。
[0228] 図 22及び図 23を参照して、証明文 pf— { τ , }の作成方法を説明する。
[0229] 図 22において、まずユーザ装置 300は、 Z— qの元 j8を選び、 ν— {4} =v'h— 3' {
- β }を計算する (ステップ S 191)。
[0230] 次にユーザ装置 300は、 Z— qの元 X— {4}、e— {4}、 γ— {4}、 j8— {4}をランダ ムに選び、 X— {4} = <g— 3'{x— {4}}v— {4厂 {e— {4}}h— 3'{γ }, g'_3>< h_3"{ j8_{4}}, u'_3>を計算する(ステップ S 192)。
[0231] 次にユーザ装置 300は、 Z— qの元 sをランダムに選び、 s, = (x + i)s、 b= τ -g"{
-i}a 3 "sを計算する(ステップ SI 93)。 [0232] 次にユーザ装置 300は、 Z— qの元 i— {4}、 s— {4}、 s,— {4}を選び、 Z— qの元 s, — {4} = (x— {4}+i— {4})s— {4} mod q, b_{4} =g" { -i_{4} }a_3" {s_{ 4}}、h_{4}=b'{x_{4}+i_{4}}a_3'{— s,— {4}}を計算する (ステップ S19 4)。
[0233] 次にユーザ装置 300は、 Z— qの元 tをランダムに選び、 t, = (x+i)t mod q 、B
= μ g_l' { -lx}g" {— i}a_3' {t}を計算する (ステップ S195)。
[0234] 次にユーザ装置 300は、 Z_qの元 t_{4}、 t,— {4}を選び、 B_{4}=g_l'{—1 •x_{4}}g"{-i_{4}}a_3"{t_{4}}, H_{4}=B"{-x_{4}-i_{4}}a_3 t'— {4}}を計算する (ステップ S196)。
[0235] 次にユーザ装置 300は、 log— 2 k以上の整数で最も小さ 、整数を Nとする (ステツ プ S197)。
[0236] 図 23において、次にユーザ装置 300は、整数 i=0, . . , Nに対し、 Xの第 iビットを X ― iとし、 x,― i=l— X― iとし、 z=k— Xとし、 zの第 iビットを z― iとし、 z,― i=l— z― i とする (ステップ SI 98)。
[0237] 次にユーザ装置 300ίま、 Z_qの p—l, ···, ρ_Ν, θ_1, ···, 0一 Νで、 _1
+ ···+ Ν= 0— 1 + ···+ 0— Νが成立するものを選び、 ρ = ρ_1 + ···+ ρ_ N、 C_l=h"{ ρ_1}, ···, C_N = h"{ p_N}, D_l=h"{ θ_1}, ···, D_N = h'{ 0_N}、 C = g"{x}h"{ p }、 D = g"{k-x}h"{ p }を計算する(ステップ SI 9 9)。
[0238] 次にユーザ装置 300は、 i=l, ···, N, j = 0, 1に対し、 Z_qの元 ^—{4, i}, Θ一
{4, 1;, c ― {ι, X ― i}, d ― {ι, z ― 1;, ― {5, ι, x ― ι}, Θ― {5, ι, z ― i}をフ ンダムに選び、 C_{4, i, x_i} =g" {x_i}h" { p _{4, i}}ゝ D_{4, i, x_i}=g"{ z_i}h"{ Θ _{4, i}}、 C_{4, i, x'_i} =C" { -c'_{i, x'_i} }g" {x'_i}h" { p _{5, i, x,_i}}、 D_{4, i, x'_i} =D" { -d'_{i, z'_i} }g" {z'_i}h" { θ_{5 , i, z '_i}}を計算する(ステップ S 200)。
[0239] 次にユーザ装置 300は、 c = Hash_{Z_q} (gpk, apk, v— {4}, X— {4}, b, b _{4}, h— {4}, B, B— {4}, H— {4}, C— {4}, {C_{4, i, j}}_{i=l, ···, N, j =0, 1}, {D_{4, i, j}}_{i=l, ···, N, j = 0, 1})を計算する (ステップ S201)。 Hash— {Z— q}は、 Z—qに値をとるハッシュ関数を表す。
[0240] 次にユーザ装置 300は、 X一 }=cx + x一 {4} mod q, e_{5} =ce + e_{4} mod q、 r― {5} =c(r+ β e) + y mod q、 ι― {o; =ci+i― {4| mod q、 s― { 5} =cs + s― {4} mod q、 s,― {5}=cs,+s,― {4} mod q、 t― {5} =ct + t― {4} mod q、 t,― {5}=ct,+t,― {4} mod q、 c― i = c— c,― i mod q、 d― i =d— d,― i mod q、 p― {5, i, x― i}=c― i p― i+ p― {4, i} mod q、 Θ― { 5, i, x_i} =c_i Θ _i+ Θ _{4, i} mod qを計算する(ステップ S 202)。
[0241] 最後にユーザ装置 3は、 pf— { τ , ^ } = (b, B, C, c, x_{5}, e_{5}, r_{5}, i _{5}, s_{5}, s'_{5}, t_{5}, t'_{5}, {c—{ij}})とする(ステップ S203)。
[0242] 図 13において、 AP装置 400は、 ( τ , μ , pf_{ τ , μ })を受信したら(ステップ S1 04)、 τがすでに履歴記憶部 ΒΑΡ4に記載されているかどうかを調べ、記載されてい たら rejectを出力してグループ検証手段 402の処理を終了する(ステップ S105)。
[0243] 次に AP装置 400は、 pf— { τ , μ }が正当性を検証し、 pf— { τ , μ }が不当なら、 r ejectを出力してグループ検証手段 402の処理を終了し (ステップ S106)、 pf—{ τ , μ }が正当なら、 AP装置 400は、 ( τ , μ , 1, pf— { τ , μ })を履歴記憶部 404に記 載し、 acceptを出力してグループ検証手段 402の処理を終了する(ステップ S107)
[0244] 次に、 pf— { τ , }の正当性を検証する方法を図 24に従って説明する。
[0245] 図 24にお!/、て、まず ΑΡ装置 400は、 X_{4} = <g_3" {χ_{5} }ν_{4} " {e_{
5}}h_3"{r_{5}}, g'_3Xh_3"{r_{5}}, u'_3>(<a_3, g_3>/<v
_{4}, u,— 3>)'cを計算する(ステップ S211)。
[0246] 次に AP装置 400は、 b— {4} = ( rb"{-l})" {-c}g" { -i_{5} }a_3" {s_{5}
}を計算する (ステップ S212)。
[0247] 次に AP装置 400は、 h_{4} =h" {-c}b"{x_{4} +i_{4} }a_3" { -s'_{5} } を計算する (ステップ S213)。
[0248] 次に AP装置 400は、 B— {4} = (Β' {— 1} ) ' {c}g— Γ {—1·χ一 } }g' {—i_{
5} }a_3' {t_ } }を計算する (ステップ S214)。
[0249] 次に AP装置 400は、 H {4}=B"{-x {5}-i {rej}}a 3'{—t, }}を 計算する(ステップ S 215)。
[0250] 次に AP装置 400は、 C— {4}=C'{— c}g'{x— )) — ))を計算する(ス テツプ S 216)。
[0251] 次に AP装置 400は、 i=l, . . , Nゝ j = 0, 1に対し、 C— {4, i, j} =C_{ -c_{ij} }g"{j} "{ p_{5, ij}}、 D_{4, i, j}=D_{-c_{ij}}g"{j}h"{ θ_{5, ij}}を計 算する(ステップ S 217)。
[0252] 最後に AP装置 400は、 c=Hash_{Z_q} (gpk, apk, v— {4}, X— {4}, b, b—
{4}, h_{4}, B, B— {4}, H— {4}, {C_{ij} }_{i= 1, ···, N, j = 0, 1}, {D_{i j}}— {i=l, ···, N, j = 0, 1})と、 c = c— l + c,— l =〜 = c— N + c,— N mod q が成立するかどうかを確認し、ともに成立していれば、 pf— { τ , μ }を acceptし、そう でなければ rejectする(ステップ S218)。
[0253] 従って、本実施例でも、前述の実施例 3〜5と同様に、回数制限匿名認証は既存の 方式とは異なり、ユーザが計算すべきデータ個数が O (log k)個であるため、認証時 におけるユーザの計算量は制限回数 kに比例しないから、効率的な回数制限匿名認 証方式を実現することができる。
[0254] 以上、本発明の各実施例を詳細に説明したが、本発明は、代表的に例示した上述 の各実施例に限定されるものではなぐ当業者であれば、請求の範囲の記載内容に 基づき、本発明の要旨を逸脱しない範囲内で種々の態様に変形、変更することがで きる。これらの変形例や変更例も、本発明の権利範囲に属する。
[0255] 例えば、前述した各実施例を構成する各部の少なくとも一部の機能は、プログラム 制御で動作するプロセッサ(CPU)と、制御プログラムや制御データ等を格納する記 憶領域を有するメモリ (ROMZRAM)と、各種入出力装置、例えば、ハードディスク ドライブ等の外部記録装置、通信モデムや LANインタフェース等の通信装置、 CRT や液晶ディスプレイ等の表示装置、キーボードやポインティングデバイス等の入力装 置等の各種周辺装置とを用いて実現することが可能である。この場合、プロセッサ、メ モリ、及び各種入出力装置の各構成要素は、本発明の範疇に含まれる。
[0256] また、前述した各実施例を構成する各部の少なくとも一部の機能をプログラムコード を用いて実現する場合、力かるプログラムコード及びこれを記録する記録媒体は、本 発明の範疇に含まれる。この場合のプログラムコードは、オペレーティングシステムや 他のアプリケーションソフト等と共同して上記機能が実現される場合は、それらのプロ グラムコードも含まれる。また、記録媒体としては、前述したノヽードディスクや ROMの ほカゝ、フレキシブルディスク、光ディスク、光磁気ディスク、 CD-ROM,磁気テープ、 不揮発性のメモリカード等を用いることができる。

Claims

請求の範囲
[1] 有限群の元を構成する要素として少なくとも第一の要素及び第二の要素を持つ組 力 なる公開鍵と、整数力 なる秘密鍵とを生成し、生成された前記秘密鍵を記憶装 置に秘密裡に保管し、生成された前記公開鍵を公開する鍵生成手段と、
整数が入力されると、擬似ランダム関数の関数値として、前記有限群の元を出力す る擬似ランダム関数計算手段とを有し、
前記擬似ランダム関数計算手段は、前記有限群の元として、
前記公開鍵の前記第一の要素を底とし、前記入力された整数を指数として、べき乗 剰余を計算して得られる値力 なる第一の元と、
前記公開鍵の前記第二の要素を底とし、前記秘密鍵と前記入力された整数との和 の有限体での逆数を指数として、べき乗剰余を計算して得られる値力 なる第二の元 と、
の積を出力することを特徴とする擬似ランダム関数計算装置。
[2] 整数からなる秘密鍵を生成し、生成された前記秘密鍵を記憶装置に秘密裡に保管 する鍵生成手段と、
ビット列と整数との組が入力されると、擬似ランダム関数の関数値として、有限群の 元を出力する擬似ランダム関数計算手段とを有し、
前記擬似ランダム関数計算手段は、前記有限群の元として、
前記入力された値で決まる値を底とし、前記入力された整数を指数として、べき乗 剰余を計算して得られる値力 なる第一の元と、
前記入力された値で決まる値を底とし、前記秘密鍵と前記入力された整数の和の 逆数を指数として、べき乗剰余を計算して得られる値を指数として、べき乗剰余演算 により得られる値力 なる第二の元と、
の積を出力することを特徴とする擬似ランダム関数計算装置。
[3] 前記底は、前記入力された値のハッシュ値であることを特徴とする請求項 2記載の 擬似ランダム関数計算装置。
[4] 請求項 1に記載の擬似ランダム関数計算装置を用いた回数制限匿名認証システム であって、 識別子と、整数 i、 y、及び 1と、有限群の元 tとを入力するための入力手段と、 前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算する第一タグ計算手段と、 前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算し、計算された擬似ランダ ム関数の関数値を 1乗した値に tを乗じた値を計算する第二タグ計算手段と、 前記第一タグ計算手段の計算結果と前記第二タグ計算手段の計算結果との組を 出力する出力手段とを有するタグ生成手段を備えたことを特徴とする回数制限匿名 認証システム。
[5] 請求項 2又は 3に記載の擬似ランダム関数計算装置を用いた回数制限匿名認証シ ステムであって、
識別子と、整数 i、 y、及び 1と、有限群の元 tとを入力するための入力手段と、 前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算する第一タグ計算手段と、 前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算し、計算された擬似ランダ ム関数の関数値を 1乗した値に tを乗じた値を計算する第二タグ計算手段と、 前記第一タグ計算手段の計算結果と前記第二タグ計算手段の計算結果との組を 出力する出力手段と、
を有するタグ生成手段を備えたことを特徴とする回数制限匿名認証システム。
[6] 整数 kを入力するための入力手段と、
電子署名方式の公開鍵及び秘密鍵ペアを選ぶ電子署名用鍵生成手段と、 k個の整数を選ぶ平文選択手段と、
前記 k個の整数各々に対する署名文を前記公開鍵及び秘密鍵ペアを用いて計算 する電子署名計算手段と、
前記電子署名方式の公開鍵と前記 k個の整数と前記 k個の署名文とからなる組を、 前記タグ生成手段の計算に使用されるタグ用公開鍵として出力する出力手段と、 を有するタグ用鍵生成手段を更に備えたことを特徴とする請求項 4記載の回数制限 匿名認証システム。
[7] 前記電子署名計算手段は、
平文として整数を入力するための手段と、
平文と整数の和の有限体での逆元を計算する手段と、
計算された前記逆元を指数としてべき乗剰余を計算し、前記べき乗剰余の計算結 果を含む組を前記タグ用公開鍵として出力する手段とを有することを特徴とする請求 項 6記載の回数制限匿名認証システム。
[8] 前記電子署名用鍵生成手段は、
有限群から元を選ぶ手段と、
整数を選ぶ手段と、
前記元を底とし、前記整数を指数として、べき乗剰余を計算する手段と、 選ばれた前記有限群の元と前記べき乗剰余の計算結果とからなる組を出力する手 段とを有することを特徴とする請求項 7記載の回数制限匿名認証システム。
[9] 前記タグ生成手段に整数 1を入力して計算される計算結果をてとし、前記タグ生成 手段に整数 1'を入力して計算される計算結果をて 'としたとき、前記 τ、 1、 τ '、 1'の 四つのデータを入力するための入力手段と、
前記 τを前記 τ,で割った値を底とし、前記 1から前記 を減じた値の有限体での逆 数を指数として、べき乗剰余を計算する計算手段と、
前記べき乗剰余の計算結果を出力する出力手段と、
を有するメンバー特定情報抽出手段を更に備えたことを特徴とする請求項 4記載の 回数制限匿名認証システム。
[10] 前記タグ生成手段に整数 1を入力して計算される計算結果をてとし、前記タグ生成 手段に整数 1'を入力して計算される計算結果をて 'としたとき、前記 τ、 1、 τ '、 1'の 四つのデータを入力するための入力手段と、
前記 τを前記 τ,で割った値を底とし、前記 1から前記 を減じた値の有限体での逆 数を指数として、べき乗剰余を計算する計算手段と、
前記べき乗剰余の計算結果を出力する出力手段と、
を有するメンバー特定情報抽出手段を更に備えたことを特徴とする請求項 5記載の 回数制限匿名認証システム。
[11] グループメンバーとしての公開鍵及び秘密鍵ペアと、アプリケーション提供者 (以下 、 AP)装置の公開鍵と、前記 AP装置の識別子と、整数 k、 i、及び 1とを入力するため の入力手段と、
前記グループメンバーとしての秘密鍵から整数 yを作り、前記 AP装置の識別子と、 前記 i、 1、及び yとを入力として、前記タグ生成手段によりタグを成すデータを計算 する手段と、
前記タグの正当性証明文を計算する正当性証明手段と、
前記タグと前記正当性証明文とを出力する出力手段と、
を有するグループ証明手段を更に備えたことを特徴とする請求項 4記載の回数制限 匿名認証システム。
[12] グループメンバーとしての公開鍵及び秘密鍵ペアと、アプリケーション提供者 (以下 、 AP)装置の公開鍵と、前記 AP装置の識別子と、整数 k、 i、及び 1とを入力するため の入力手段と、
前記グループメンバーとしての秘密鍵から整数 yを作り、前記 AP装置の識別子と、 前記 i、 1、及び yとを入力として、前記タグ生成手段によりタグを成すデータを計算 する手段と、
前記タグの正当性証明文を計算する正当性証明手段と、
前記タグと前記正当性証明文とを出力する出力手段と、
を有するグループ証明手段を更に備えたことを特徴とする請求項 5記載の回数制限 匿名認証システム。
[13] 有限群の元てと有限群の元 μと整数 1と証明文 ρとを要素とする第一の組と、有限群 の元 τ 'と有限群の元; ζ 'と整数 と証明文 ρ'とを要素とする第二の組とを入力する ための入力手段と、
前記てと前記て 'とが同一であるか否かを判定する第一判定手段と、
前記 1と前記 とが同一であるか否かを判定する第二判定手段と、
前記証明文 ρが正当であるか否かを判定する第三判定手段と、
前記証明文 P'が正当であるか否かを判定する第四判定手段と、 予め設定された対応表に基づいて、前記メンバー特定情報抽出手段の計算結果と 対応する識別子を取得する識別子取得手段と、
を有するトレース手段を更に有することを特徴とする請求項 9記載の回数制限匿名認 証システム。
[14] 有限群の元てと有限群の元 μと整数 1と証明文 ρとを要素とする第一の組と、有限群 の元 τ 'と有限群の元; ζ 'と整数 と証明文 ρ'とを要素とする第二の組とを入力する ための入力手段と、
前記てと前記て 'とが同一であるか否かを判定する第一判定手段と、
前記 1と前記 とが同一であるか否かを判定する第二判定手段と、
前記証明文 Ρが正当であるか否かを判定する第三判定手段と、
前記証明文 P'が正当であるか否かを判定する第四判定手段と、
予め設定された対応表に基づいて、前記メンバー特定情報抽出手段の計算結果と 対応する識別子を取得する識別子取得手段と、
を有するトレース手段を更に有することを特徴とする請求項 10記載の回数制限匿名 認証システム。
[15] 有限群の元を構成する要素として少なくとも第一の要素及び第二の要素を持つ組 力 なる公開鍵と、整数力 なる秘密鍵とを生成し、生成された前記秘密鍵を記憶装 置に秘密裡に保管し、生成された前記公開鍵を公開する鍵生成ステップと、 整数が入力されると、擬似ランダム関数の関数値として、前記有限群の元を出力す る擬似ランダム関数計算ステップとを有し、
前記擬似ランダム関数計算ステップは、前記有限群の元として、
前記公開鍵の前記第一の要素を底とし、前記入力された整数を指数として、べき乗 剰余を計算して得られる値力 なる第一の元と、
前記公開鍵の前記第二の要素を底とし、前記秘密鍵と前記入力された整数との和 の有限体での逆数を指数として、べき乗剰余を計算して得られる値力 なる第二の元 と、
の積を出力することを特徴とする擬似ランダム関数計算方法。
[16] 整数からなる秘密鍵を生成し、生成された前記秘密鍵を記憶装置に秘密裡に保管 する鍵生成ステップと、
ビット列と整数との組が入力されると、擬似ランダム関数の関数値として、有限群の 元を出力する擬似ランダム関数計算ステップとを有し、
前記擬似ランダム関数計算ステップは、前記有限群の元として、
前記入力された値で決まる値を底とし、前記入力された整数を指数として、べき乗 剰余を計算して得られる値力 なる第一の元と、
前記入力された値で決まる値を底とし、前記秘密鍵と前記入力された整数の和の 逆数を指数として、べき乗剰余を計算して得られる値を指数として、べき乗剰余演算 により得られる値力 なる第二の元と、
の積を出力することを特徴とする擬似ランダム関数計算方法。
[17] 前記底は、前記入力された値のハッシュ値であることを特徴とする請求項 16記載の 擬似ランダム関数計算方法。
[18] 請求項 15に記載の擬似ランダム関数計算方法を用いた回数制限匿名認証方法で あって、
識別子と、整数 i、 y、及び 1と、有限群の元 tとを入力するためのステップと、 前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算する第一タグ計算ステップ と、
前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算し、計算された擬似ランダ ム関数の関数値を 1乗した値に tを乗じた値を計算する第二タグ計算ステップと、 前記第一タグ計算ステップの計算結果と前記第二タグ計算ステップの計算結果と の組を出力するステップとを有するタグ生成ステップを備えたことを特徴とする回数制 限匿名認証方法。
[19] 請求項 16又は 17に記載の擬似ランダム関数計算方法を用いた回数制限匿名認 証方法であって、
識別子と、整数 i、 y、及び 1と、有限群の元 tとを入力するためのステップと、 前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算する第一タグ計算ステップ と、
前記 yを秘密鍵として用い、前記識別子と前記 kと前記 iとから決まる値を入力して、 前記有限群に値をとる擬似ランダム関数の関数値を計算し、計算された擬似ランダ ム関数の関数値を 1乗した値に tを乗じた値を計算する第二タグ計算ステップと、 前記第一タグ計算手段の計算結果と前記第二タグ計算手段の計算結果との組を 出力するステップと、
を有するタグ生成ステップを備えたことを特徴とする回数制限匿名認証方法。
[20] 整数 kを入力するための入力ステップと、
電子署名方式の公開鍵及び秘密鍵ペアを選ぶ電子署名用鍵生成ステップと、 k個の整数を選ぶ平文選択ステップと、
前記 k個の整数各々に対する署名文を前記公開鍵及び秘密鍵ペアを用いて計算 する電子署名計算ステップと、
前記電子署名方式の公開鍵と前記 k個の整数と前記 k個の署名文とからなる組を、 前記タグ生成手段の計算に使用されるタグ用公開鍵として出力する出力ステップと、 を有するタグ用鍵生成ステップを更に備えたことを特徴とする請求項 18記載の回数 制限匿名認証方法。
[21] 前記電子署名計算ステップは、
平文として整数を入力するためのステップと、
平文と整数の和の有限体での逆元を計算するステップと、
計算された前記逆元を指数としてべき乗剰余を計算し、前記べき乗剰余の計算結 果を含む組を前記タグ用公開鍵として出力するステップとを有することを特徴とする 請求項 20記載の回数制限匿名認証方法。
[22] 前記電子署名用鍵生成ステップは、
有限群力ゝら元を選ぶステップと、
整数を選ぶステップと、
前記元を底とし、前記整数を指数として、べき乗剰余を計算するステップと、 選ばれた前記有限群の元と前記べき乗剰余の計算結果とからなる組を出力するス テツプ
とを有することを特徴とする請求項 21記載の回数制限匿名認証方法。
[23] 前記タグ生成ステップにて整数 1を入力して計算される計算結果をてとし、前記タグ 生成ステップにて整数 1'を入力して計算される計算結果をて 'としたとき、前記て、 1、 τ,、 の四つのデータを入力するためのステップと、
前記 τを前記 τ,で割った値を底とし、前記 1から前記 を減じた値の有限体での逆 数を指数として、べき乗剰余を計算するステップと、
前記べき乗剰余の計算結果を出力するステップと、
を有するメンバー特定情報抽出ステップを更に備えたことを特徴とする請求項 18記 載の回数制限匿名認証方法。
[24] 前記タグ生成ステップにて整数 1を入力して計算される計算結果をてとし、前記タグ 生成ステップにて整数 1'を入力して計算される計算結果をて 'としたとき、前記て、 1、 τ,、 の四つのデータを入力するためのステップと、
前記 τを前記 τ,で割った値を底とし、前記 1から前記 を減じた値の有限体での逆 数を指数として、べき乗剰余を計算するステップと、
前記べき乗剰余の計算結果を出力するステップと、
を有するメンバー特定情報抽出ステップを更に備えたことを特徴とする請求項 19記 載の回数制限匿名認証方法。
[25] グループメンバーとしての公開鍵及び秘密鍵ペアと、アプリケーション提供者 (以下 、 ΑΡ)装置の公開鍵と、前記 ΑΡ装置の識別子と、整数 k、 i、及び 1とを入力するため のステップと、
前記グループメンバーとしての秘密鍵から整数 yを作り、前記 AP装置の識別子と、 前記 i、 1、及び yとを入力として、前記タグ生成ステップにてタグを成すデータを計 算するステップと、
前記タグの正当性証明文を計算するステップと、
前記タグと前記正当性証明文とを出力するステップと、
を有するグループ証明ステップを更に備えたことを特徴とする請求項 18記載の回数 制限匿名認証方法。
[26] グループメンバーとしての公開鍵及び秘密鍵ペアと、アプリケーション提供者 (以下 、 AP)装置の公開鍵と、前記 AP装置の識別子と、整数 k、 i、及び 1とを入力するため のステップと、
前記グループメンバーとしての秘密鍵から整数 yを作り、前記 AP装置の識別子と、 前記 i、 1、及び yとを入力として、前記タグ生成ステップにてタグを成すデータを計 算するステップと、
前記タグの正当性証明文を計算するステップと、
前記タグと前記正当性証明文とを出力するステップと、
を有するグループ証明ステップを更に備えたことを特徴とする請求項 19記載の回数 制限匿名認証方法。
[27] 有限群の元てと有限群の元 μと整数 1と証明文 ρとを要素とする第一の組と、有限群 の元 τ 'と有限群の元; ζ 'と整数 と証明文 ρ 'とを要素とする第二の組とを入力する ためのステップと、
前記 τと前記 τ 'とが同一であるか否かを判定するステップと、
前記 1と前記 とが同一である力否かを判定するステップと、
前記証明文 ρが正当である力否かを判定するステップと、
前記証明文 P'が正当である力否かを判定するステップと、
予め設定された対応表に基づいて、前記メンバー特定情報抽出ステップの計算結 果と対応する識別子を取得するステップと、
を有するトレースステップを更に備えたことを特徴とする請求項 23記載の回数制限匿 名認証方法。
[28] 有限群の元てと有限群の元 μと整数 1と証明文 ρとを要素とする第一の組と、有限群 の元 τ 'と有限群の元; ζ 'と整数 と証明文 ρ 'とを要素とする第二の組とを入力する ためのステップと、
前記 τと前記 τ 'とが同一であるか否かを判定するステップと、
前記 1と前記 とが同一である力否かを判定するステップと、
前記証明文 ρが正当である力否かを判定するステップと、
前記証明文 P'が正当である力否かを判定するステップと、 予め設定された対応表に基づいて、前記メンバー特定情報抽出ステップの計算結 果と対応する識別子を取得するステップと、
を有するトレースステップを更に備えたことを特徴とする請求項 24記載の回数制限匿 名認証方法。
PCT/JP2006/310534 2005-05-27 2006-05-26 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法 WO2006126668A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002609166A CA2609166A1 (en) 2005-05-27 2006-05-26 Pseudo-random function calculating device and method and number-limited anonymous authentication system and method
EP06756634.9A EP1898382B1 (en) 2005-05-27 2006-05-26 Pseudo-random function calculating device and method, and number limited anonymous authentication system and method
US11/915,561 US8121290B2 (en) 2005-05-27 2006-05-26 Pseudo-random function calculating device and method and number-limited anonymous authentication system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-155496 2005-05-27
JP2005155496A JP4548223B2 (ja) 2005-05-27 2005-05-27 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法

Publications (1)

Publication Number Publication Date
WO2006126668A1 true WO2006126668A1 (ja) 2006-11-30

Family

ID=37452089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/310534 WO2006126668A1 (ja) 2005-05-27 2006-05-26 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法

Country Status (5)

Country Link
US (1) US8121290B2 (ja)
EP (1) EP1898382B1 (ja)
JP (1) JP4548223B2 (ja)
CA (1) CA2609166A1 (ja)
WO (1) WO2006126668A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923513B2 (en) 2008-08-11 2014-12-30 Assa Abloy Ab Secure wiegand communications
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5201136B2 (ja) * 2007-05-24 2013-06-05 日本電気株式会社 匿名認証システムおよび匿名認証方法
JP5488596B2 (ja) * 2009-05-29 2014-05-14 日本電気株式会社 署名装置、署名検証装置、匿名認証システム、署名方法、署名認証方法およびそれらのプログラム
EP2456119B1 (en) * 2009-07-13 2016-09-28 Nec Corporation Anonymous authentication signature system, user device, verification device, signature method, verification method, and program therefor
MY150354A (en) * 2011-01-03 2013-12-31 Mimos Berhad Pseudonym id privacy enhancement
US8707046B2 (en) * 2011-05-03 2014-04-22 Intel Corporation Method of anonymous entity authentication using group-based anonymous signatures
US9973342B2 (en) * 2016-06-16 2018-05-15 International Business Machines Corporation Authentication via group signatures
US10680810B2 (en) * 2016-10-26 2020-06-09 Nxp B.V. Method of generating an elliptic curve cryptographic key pair
WO2020152831A1 (ja) 2019-01-24 2020-07-30 日本電気株式会社 情報処理装置、秘密計算方法及びプログラム
CN114154200B (zh) * 2021-12-09 2024-05-24 山东大学 基于可交换弱伪随机函数的隐私集合求并方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228958A (ja) * 2003-01-23 2004-08-12 Nec Corp 署名方法および署名プログラム
US20050076216A1 (en) 2003-10-01 2005-04-07 Nokia Corporation Method for securing a communication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748668A (en) 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
US5365589A (en) * 1992-02-07 1994-11-15 Gutowitz Howard A Method and apparatus for encryption, decryption and authentication using dynamical systems
JPH0777934A (ja) 1993-09-10 1995-03-20 Hitachi Ltd 離散対数ベース認証方式
CN101087195A (zh) * 1997-02-14 2007-12-12 国有花旗银行 有限域离散对数密码系统的割圆多项式结构
US6038322A (en) * 1998-10-20 2000-03-14 Cisco Technology, Inc. Group key distribution
JP2001094553A (ja) 1999-09-22 2001-04-06 Nippon Telegr & Teleph Corp <Ntt> 匿名認証方法および装置
US6839839B1 (en) * 2000-02-10 2005-01-04 Xerox Corporation Public key distribution using an approximate linear function
FR2828780B1 (fr) * 2001-08-20 2004-01-16 France Telecom Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
US7031469B2 (en) * 2001-12-27 2006-04-18 Slam Dunk Networks, Inc. Optimized enveloping via key reuse
JP4379031B2 (ja) * 2003-07-17 2009-12-09 日本ビクター株式会社 情報伝送方式及びそれに用いる情報送信装置及び情報受信装置
US8316416B2 (en) * 2005-04-04 2012-11-20 Research In Motion Limited Securely using a display to exchange information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004228958A (ja) * 2003-01-23 2004-08-12 Nec Corp 署名方法および署名プログラム
US20050076216A1 (en) 2003-10-01 2005-04-07 Nokia Corporation Method for securing a communication

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
G. ATENIESE; J. CAMENISCH; M. JOYE; G. TSUDIK: "Advances in Cryptology - CRYPTO", vol. 1880, 2000, SPRINGER-VERLAG, article "A Practical and Provably Secure Coalition - Resistant Group Signature Scheme", pages: 255 - 270
ISAMU TERANISHI; JUN FURUKAWA; KAZUE SAKO: "Advances in Cryptology - ASIACRYPT", vol. 3329, 2004, SPRINGER-VERLAG, article "k-Times Anonymous Authentication (Extended Abstract", pages: 308 - 322
LAN NGUYEN ET AL.: "APPLIED CRYPTOGRAPHY AND NETWORK SECURITY; [LECTURE NOTES IN COMPUTER SCIENCE; LNCS", 19 May 2005, SPRINGER-VERLAG, article "DYNAMIC k-Times Anonymous Au- thentication", pages: 318 - 333
ODED GOLDREICH: "Foundation of Cryptography, Basic Tools", 2001, CAMBRIDGE UNIVERSITY PRESS, pages: 148 - 169
P. S. L. M. BARRETO; H. Y. KIM; B. LYNN; M. SCOTT: "Advances in Cryptology - Crypto", vol. 2442, 2002, SPRINGER-VERLAG, article "Efficient Algorithms for Pairing-Based Cryptosystems", pages: 354 - 368
RAFAEL PASS: "Advances in Cryptology - CRYPTO", vol. 2729, 2003, SPRINGER-VERLAG, article "On Deniability in the Common Reference String and Random Oracle Model", pages: 316 - 337
SAKO K ET AL.: "ANONYMOUS AUTHENTICATION: FOR PRIVACY AND SECURITY", NEC JOURNAL OF ADVANCED TECHNOLOGY, GRAPHIC MEDIA BUSINESS DIVISION, TOKYO, JP, vol. 2, no. 1, 1 January 2005 (2005-01-01), pages 79 - 83
See also references of EP1898382A4 *
YEVGENIY DODIS AND YAMPOLSKIY A.: "A Verifiable Random Function With Short Proofs and Keys", 7 March 2005 (2005-03-07), XP003002768, Retrieved from the Internet <URL:http://www.eprint.iacr.org/2004/310.pdf> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8923513B2 (en) 2008-08-11 2014-12-30 Assa Abloy Ab Secure wiegand communications
US8943562B2 (en) 2008-08-11 2015-01-27 Assa Abloy Ab Secure Wiegand communications
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485

Also Published As

Publication number Publication date
CA2609166A1 (en) 2006-11-30
EP1898382B1 (en) 2016-11-02
EP1898382A1 (en) 2008-03-12
JP4548223B2 (ja) 2010-09-22
EP1898382A4 (en) 2013-04-03
JP2006330462A (ja) 2006-12-07
US8121290B2 (en) 2012-02-21
US20090041239A1 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
WO2006126668A1 (ja) 擬似ランダム関数計算装置及び方法、並びに回数制限匿名認証システム及び方法
EP0503119B1 (en) Public key cryptographic system using elliptic curves over rings
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
EP0786178B1 (en) Secret-key certificates
US7860247B2 (en) Identity based encryption
US8200977B2 (en) Group signature system, device, and program
JP4546231B2 (ja) Idベース署名及び暗号化システムおよび方法
US9705683B2 (en) Verifiable implicit certificates
US20060251247A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program and method therefor
KR20070033289A (ko) 변용성있는 가명 인증 시스템 및 방법
TW201320701A (zh) 資訊處理裝置、資訊處理方法及程式
JP2004208263A (ja) バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
WO2019110399A1 (en) Two-party signature device and method
WO2007105749A1 (ja) グループ署名システムおよび情報処理方法
JP2003098962A (ja) 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
Batina et al. Developing efficient blinded attribute certificates on smart cards via pairings
US9292671B1 (en) Multi-server authentication using personalized proactivization
CN113792282B (zh) 身份数据验证方法、装置、计算机设备和存储介质
US20220385954A1 (en) Embedding information in elliptic curve base point
JP4598269B2 (ja) 楕円曲線上の高速有限体演算
Nagaty A public key cryptosystem and signature scheme based on numerical series
JP5101535B2 (ja) 認証方法、認証システム、プログラムおよび共有鍵生成方法
RU2774807C2 (ru) Гомоморфное шифрование для проверки подлинности с помощью пароля
US9230075B1 (en) Multi-server authentication using proactivization journaling
Hsu et al. Convertible authenticated encryption scheme with hierarchical access control

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2609166

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2006756634

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006756634

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU

WWE Wipo information: entry into national phase

Ref document number: 11915561

Country of ref document: US