WO2012057134A1 - 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 - Google Patents

代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 Download PDF

Info

Publication number
WO2012057134A1
WO2012057134A1 PCT/JP2011/074546 JP2011074546W WO2012057134A1 WO 2012057134 A1 WO2012057134 A1 WO 2012057134A1 JP 2011074546 W JP2011074546 W JP 2011074546W WO 2012057134 A1 WO2012057134 A1 WO 2012057134A1
Authority
WO
WIPO (PCT)
Prior art keywords
calculation
input information
output information
unit
information
Prior art date
Application number
PCT/JP2011/074546
Other languages
English (en)
French (fr)
Inventor
山本 剛
鉄太郎 小林
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2012540874A priority Critical patent/JP5491638B2/ja
Priority to CN201180050871.9A priority patent/CN103221988B/zh
Priority to EP11836267.2A priority patent/EP2634760A4/en
Priority to US13/881,111 priority patent/US9607158B2/en
Publication of WO2012057134A1 publication Critical patent/WO2012057134A1/ja
Priority to US15/389,107 priority patent/US9960906B2/en
Priority to US15/389,080 priority patent/US9794060B2/en
Priority to US15/389,055 priority patent/US20170111165A1/en
Priority to US15/684,672 priority patent/US10361841B2/en

Links

Images

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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Definitions

  • the present invention relates to a technique for performing a calculation using a calculation result performed by another apparatus.
  • a specific decryption key is required to decrypt a ciphertext encrypted by an encryption method such as a public key encryption method or a common key encryption method (see, for example, Non-Patent Document 1).
  • an encryption method such as a public key encryption method or a common key encryption method (see, for example, Non-Patent Document 1).
  • One of the conventional methods for the first device that does not hold the decryption key to obtain the decryption result of the ciphertext is that the second device that holds the decryption key provides the first device with the decryption key, In this method, the apparatus decrypts the ciphertext using the decryption key.
  • Another conventional method for the first device to obtain the ciphertext decryption result is that the first device provides the ciphertext to the second device, the second device decrypts the ciphertext, and the decryption result is sent to the first device. It is a method to provide to.
  • the decryption key must be taken out of the second device, which is a safety problem.
  • the first device provides the ciphertext to the second device and the second device decrypts the ciphertext
  • the first device cannot verify the validity of the decryption process of the second device.
  • Such a problem can be generalized in addition to the decoding process. That is, there is no technique in which the second device provides only the calculation capability to the first device without leaking secret information, and the first device correctly calculates using the calculation capability.
  • the decryption functions X 1 and X 2 for obtaining the elements of the group G by decrypting the ciphertext x that is the group G and H and f (x) with the specific decryption key.
  • the random variable having a value in the group G
  • x 1 as the real value of the random variable X 1
  • x 2 as the real value of the random variable X 2
  • a and b as natural numbers that are relatively prime
  • Corresponding first input information ⁇ 1 and second input information ⁇ 2 that are elements of the group H are output, and the capability providing apparatus uses the first input information ⁇ 1 and uses f ( ⁇ 1 ) is correctly calculated, the calculation result is the first output information z 1 , the second input information ⁇ 2 is used, f ( ⁇ 2 ) is correctly calculated with a probability larger than a certain probability, and the calculation result is output to the second output
  • the capability providing apparatus provides only the calculation capability to the calculation device without leaking secret information, and the calculation device can correctly calculate using the calculation capability.
  • the block diagram for demonstrating the structure of the proxy calculation system of embodiment The block diagram for demonstrating the structure of the calculation apparatus of embodiment.
  • the block diagram for demonstrating the structure of the capability provision apparatus of embodiment The block diagram for demonstrating the structure of the input information provision part of embodiment.
  • the block diagram for demonstrating the structure of the input information provision part of embodiment The flowchart for demonstrating the process of the calculation apparatus of embodiment.
  • the flowchart for demonstrating the process of the capability provision apparatus of embodiment The flowchart for demonstrating the process of step S2103 (S3103).
  • the block diagram for demonstrating the structure of the calculation apparatus of embodiment The flowchart for demonstrating the process of the calculation apparatus of embodiment.
  • the block diagram for demonstrating the structure of the calculation apparatus of embodiment The block diagram for demonstrating the structure of the capability provision apparatus of embodiment.
  • the block diagram for demonstrating the structure of the input information provision part of embodiment The flowchart for demonstrating the process of the calculation apparatus of embodiment.
  • the flowchart for demonstrating the process of the capability provision apparatus of embodiment The block diagram for demonstrating the structure of the proxy calculation system of embodiment.
  • the block diagram for demonstrating the structure of the capability provision apparatus of embodiment The block diagram for demonstrating the structure of the decoding control apparatus of embodiment.
  • the block diagram for demonstrating the structure of the input information provision part of embodiment The block diagram for demonstrating the structure of the input information provision part of embodiment.
  • the block diagram for demonstrating the structure of the input information provision part of embodiment The flowchart for demonstrating the encryption process of embodiment.
  • the flowchart for demonstrating the decoding capability provision process of embodiment. The flowchart for demonstrating the process of step S12103 (S13103).
  • the flowchart for demonstrating the process of step S14103. The block diagram for demonstrating the structure of the calculation apparatus of embodiment.
  • the flowchart for demonstrating the decoding process of embodiment. The block diagram for demonstrating the structure of the proxy calculation system of embodiment.
  • the block diagram for demonstrating the structure of the input information provision part of embodiment The block diagram for demonstrating the structure of the input information provision part of embodiment.
  • the flowchart for demonstrating the process of the calculation apparatus of embodiment The flowchart for demonstrating the process of the capability provision apparatus of embodiment.
  • the flowchart for demonstrating the process of step S22103 (S23103).
  • the flowchart for demonstrating the process of step S24103 The flowchart for demonstrating the process of step S25103.
  • the flowchart for demonstrating the process of step S27103 The block diagram for demonstrating the structure of the calculation apparatus of embodiment.
  • the flowchart for demonstrating the process of the calculation apparatus of embodiment The flowchart for demonstrating the process of the calculation apparatus of embodiment.
  • the proxy calculation system 1 includes, for example, a calculation device 11 that does not hold a decryption key and a capability providing device 12 that holds a decryption key.
  • the capability providing device 12 is requested to provide the decryption capability of the ciphertext, and the ciphertext is decrypted using the decryption capability provided from the capability providing device 12.
  • the computing device 11 and the capability providing device 12 are configured to exchange information.
  • the computing device 11 and the capability providing device 12 can exchange information via a transmission line, a network, a portable recording medium, or the like.
  • the calculation device 11 of the first embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information providing unit 1104, a first calculation unit 1105, and a first power.
  • a calculation unit 1106, a first list storage unit 1107, a second calculation unit 1108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 1111, a final output unit 1112, and a control unit 1113 are included.
  • Examples of the calculation device 11 include a device having a calculation function and a storage function such as a card reader / writer device and a mobile phone, a CPU (central processing unit) and a RAM (random-access storage) loaded with a special program. It is a known or dedicated computer provided.
  • the capability providing apparatus 12 includes, for example, a first output information calculation unit 1201, a second output information calculation unit 1202, a key storage unit 1204, and a control unit 1205.
  • Examples of the capability providing device 12 include a tamper-resistant module such as an IC card or an IC chip, a device having a calculation function and a storage function such as a mobile phone, and a CPU or RAM loaded with a special program.
  • a tamper-resistant module such as an IC card or an IC chip
  • a device having a calculation function and a storage function such as a mobile phone
  • a CPU or RAM loaded with a special program A known or dedicated computer.
  • G and H are used as groups (for example, commutative groups), and f (x) is used as an element of group H to decrypt a ciphertext x using a specific decryption key s to obtain an element of group G.
  • Decoding function, generators of groups G and H are ⁇ g and ⁇ h , X 1 and X 2 are random variables having values in group G, real value of random variable X 1 is x 1 , and realization of random variable X 2 is Let x 2 be the value.
  • the natural number storage unit 1101 of the computing device 11 stores a plurality of sets (a, b) of two natural numbers a and b that are relatively prime. “Natural number” means an integer of 0 or more. Assuming that I is a set of two natural numbers less than the order of the group G and prime to each other, the natural number storage unit 1101 stores a set (a, b) of natural numbers a and b corresponding to the subset S of I. Can be considered. It is assumed that a specific decryption key s is securely stored in the key storage unit 2104 of the capability providing apparatus 12. Each process of the computing device 11 is executed under the control of the control unit 1113, and each process of the capability providing device 12 is executed under the control of the control unit 1205.
  • the natural number selection unit 1102 of the computing device 11 selects one natural number set (a, b) from a plurality of natural number sets (a, b) stored in the natural number storage unit 1101. , B) are read at random. At least part of the read natural number set (a, b) is sent to the integer calculation unit 1103, the input information providing unit 1104, the first power calculation unit 1106, and the second power calculation unit 1109 (step S1100).
  • the input information providing unit 1104 generates and outputs first input information ⁇ 1 and second input information ⁇ 2 that are elements of the group H corresponding to the input ciphertext x.
  • the first input information ⁇ 1 and the second input information ⁇ 2 are information in which the relationship with the ciphertext x is disturbed.
  • the computing device 11 can conceal the ciphertext x from the capability providing device 12.
  • the first input information ⁇ 1 of this embodiment further corresponds to the natural number b selected by the natural number selection unit 1102, and the second input information ⁇ 2 further corresponds to the natural number a selected by the natural number selection unit 1102.
  • the computing device 11 can evaluate the decoding capability provided from the capability providing device 12 with high accuracy (step S1103).
  • the first input information ⁇ 1 is input to the first output information calculation unit 1201 of the capability providing apparatus 12 (FIG. 3), and the second input information ⁇ 2 is input to the second output information calculation unit 1202. Input (step S1200).
  • the first output information calculation unit 1201 uses the first input information ⁇ 1 and the decryption key s stored in the key storage unit 1204 to correctly calculate f ( ⁇ 1 ) with a probability larger than a certain probability.
  • the calculated result is set as the first output information z 1 (step S1201).
  • the second output information calculation unit 1202 uses the second input information ⁇ 2 and the decryption key s stored in the key storage unit 1204 to correctly calculate f ( ⁇ 2 ) with a probability larger than a certain probability.
  • the calculated result is set as the second output information z 2 (step S1202).
  • the “certain probability” is a probability of less than 100%.
  • the example of “certain probability” is a probability that cannot be ignored, and the example of “probability that cannot be ignored” is a case where a polynomial ⁇ (k) is a polynomial that is a broad monotone increasing function for the security parameter k. Of 1 / ⁇ (k) or more. That is, the first output information calculation unit 1201 and the second output information calculation unit 1202 output a calculation result including an intentional or unintentional error. In other words, also when the calculation result in the first output information calculation section 1201 is not f Some cases of ( ⁇ 1) f ( ⁇ 1 ), the calculation result of the second output information calculation unit 1202 f (tau 2 ) and not f ( ⁇ 2 ).
  • the first output information calculation unit 1201 outputs the first output information z 1
  • the second output information calculation unit 1202 outputs the second output information z 2 (step S1203).
  • the first output information z 1 is input to the first calculation unit 1105 of the calculation device 11 (FIG. 2)
  • the second output information z 2 is input to the second calculation unit 1108.
  • the first output information z 1 and the second output information z 2 correspond to the decoding capability given from the capability providing device 12 to the computing device 11 (step S1104).
  • f (x) generates a b x 1 (calculation) that is to calculate the value of the formula is defined as f (x) b x 1. If the value of the expression f (x) b x 1 can be finally calculated, the calculation method in the middle is not limited. The same applies to the calculation of other equations appearing in this application.
  • an operation defined by a group is expressed in a multiplicative manner. That is, “ ⁇ b ” for ⁇ G means that the operation defined in the group G is operated b times on ⁇ , and “ ⁇ 1 ⁇ 2 ” for ⁇ 1 , ⁇ 2 ⁇ G is ⁇ 1 And ⁇ 2 are performed as operands (the same applies to the second to fifth embodiments described later).
  • the calculation result u is sent to the first power calculation unit 1106 (step S1105).
  • a set (u, u ′) of the calculation result u and u ′ calculated based on the calculation result is stored in the first list storage unit 1107 (step S1106).
  • a set (v, v ′) of the calculation result v and v ′ calculated based on the calculation result is stored in the second list storage unit 1110 (step S1109).
  • a randomizable sampler For w ⁇ G, each time a natural number a is given, what returns w a x ′ corresponding to the sample x ′ according to the random variable X is called a randomizable sampler having an error X with respect to w. .
  • the combination of the input information providing unit 1104, the first output information calculating unit 1201, and the first calculating unit 1105 of the present embodiment is a randomizable sampler having an error X 1 with respect to f (x) (“first randomizable” a is called a sampler "), the combination of the input information providing unit 1104 and the second output information calculation unit 1202 and the second calculation unit 1108, f (x) randomization can sampler with an error X 2 for (" This is called a “second randomizable sampler”.
  • the calculation device 11 outputs correct f (x) with an overwhelming probability.
  • S ⁇ (1, d)
  • the proxy calculation system of the second embodiment is an example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • the description will focus on parts that are different from the first embodiment, and redundant description of common parts will be omitted.
  • parts denoted by the same reference numbers have the same functions, and steps denoted by the same reference numbers represent the same processing.
  • the calculation device 21 of the second embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information providing unit 2104, a first calculation unit 2105, and a first power.
  • a calculation unit 1106, a first list storage unit 1107, a second calculation unit 2108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 1111, a final output unit 1112, and a control unit 1113 are included.
  • a natural number storage unit 1101 a natural number selection unit 1102, an integer calculation unit 1103, an input information providing unit 2104, a first calculation unit 2105, and a first power.
  • a calculation unit 1106, a first list storage unit 1107, a second calculation unit 2108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 1111, a final output unit 1112, and a control unit 1113 are included.
  • the input information providing unit 2104 of this embodiment includes, for example, a first random number generation unit 2104 a, a first input information calculation unit 2104 b, a second random number generation unit 2104 c, and a second input information calculation unit 2104 d.
  • the capability providing apparatus 22 includes, for example, a first output information calculation unit 2201, a second output information calculation unit 2202, a key storage unit 1204, and a control unit 1205.
  • the decoding function f (x) is a homomorphic function
  • the group H is a cyclic group
  • the generation source of the group H is ⁇ h
  • the order of the group H is K H
  • f ( ⁇ h )
  • Other assumptions are the same as those in the first embodiment except that the computing device 11 is replaced with the computing device 21 and the capability providing device 12 is replaced with the capability providing device 22.
  • steps S1103 to S1105, S1108, and S1200 to S1203 of the first embodiment are replaced with steps S2103 to S2105, S2108, and S2200 to S2203, respectively. It is a thing. Only the processing of steps S2103 to S2105, S2108, and S2200 to S2203 will be described below.
  • Step S2103 The input information providing unit 2104 of the computing device 21 (FIG. 2) generates and outputs first input information ⁇ 1 and second input information ⁇ 2 that are elements of the group H corresponding to the input ciphertext x. (FIG. 6 / step S2103).
  • first input information ⁇ 1 and second input information ⁇ 2 that are elements of the group H corresponding to the input ciphertext x.
  • the first random number generator 2104a (FIG. 4) generates a natural random number r 1 that is greater than or equal to 0 and less than K H.
  • the generated random number r 1 is sent to the first input information calculation unit 2104b and the first calculation unit 2105 (step S2103a).
  • mu superscript r1 of h is that of r 1.
  • the second random number generation unit 2104c generates a natural random number r 2 of 0 or more and less than K H.
  • the generated random number r 2 is sent to the second input information calculation unit 2104d and the second calculation unit 2108 (step S2103c).
  • the first input information calculation unit 2104b and the second input information calculation unit 2104d output the first input information ⁇ 1 and the second input information ⁇ 2 generated as described above (step S2103e).
  • the first input information ⁇ 1 and the second input information ⁇ 2 of this embodiment are information in which the relationship with the ciphertext x is disturbed by random numbers r 1 and r 2 , respectively.
  • the computing device 22 can conceal the ciphertext x from the capability providing device 22.
  • the first input information ⁇ 1 in this embodiment further corresponds to the natural number b selected by the natural number selection unit 1102, and the second input information ⁇ 2 further corresponds to the natural number a selected by the natural number selection unit 1102. Thereby, the computing device 21 can evaluate the decoding capability provided from the capability providing device 22 with high accuracy.
  • This calculation result may or may not be correct. That is, if even if the calculation results in the first output information calculating unit 2201 is f ( ⁇ h r1 x b) , may not become f ( ⁇ h r1 x b) ( step S2201).
  • This calculation result may or may not be correct. That is, if even if the calculation results of the second output information calculating unit 2202 is f ( ⁇ h r2 x a) , may not become f ( ⁇ h r2 x a) ( step S2202).
  • the first output information calculation unit 2201 outputs the first output information z 1
  • the second output information calculation unit 2202 outputs the second output information z 2 (step S2203).
  • the first output information z 1 is input to the first calculation unit 2105 of the calculation device 21 (FIG. 2), and the second output information z 2 is input to the second calculation unit 2108.
  • the first output information z 1 and the second output information z 2 correspond to the decoding capability given from the capability providing device 22 to the computing device 21 (step S2104).
  • the first calculation unit 2105 calculates z 1 ⁇ ⁇ r1 using the input random number r 1 and the first output information z 1 and sets the calculation result to u.
  • the calculation result u is sent to the first power calculation unit 1106.
  • Step S2108 calculates z 2 ⁇ ⁇ r2 using the input random number r 2 and the second output information z 2 and sets the calculation result to v.
  • the calculation result v is sent to the second power calculation unit 1109.
  • ⁇ Reason why z 1 ⁇ -r1 and z 2 ⁇ -r2 are output from a randomizable sampler having errors X 1 and X 2 with respect to f (x)
  • This property is based on the fact that the function f (x) is a homomorphic function, and R and R ′ are random numbers.
  • the amount of calculation of a sampler is smaller than that of a randomizable sampler.
  • the sampler performs the calculation instead of the randomizable sampler, so that the calculation amount of the proxy calculation system can be reduced.
  • the description will focus on the parts that are different from the first embodiment and the second embodiment, and overlapping description of common parts will be omitted.
  • the calculation device 21 is replaced with a calculation device 31, and the capability providing device 22 is replaced with a capability providing device 32.
  • the calculation device 31 of the third embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information providing unit 2104, a first calculation unit 2105, and a first power.
  • Calculation unit 1106 first list storage unit 1107, second calculation unit 2108, second power calculation unit 1109, second list storage unit 1110, determination unit 1111, final output unit 1112, control unit 1113, third calculation unit 3109 Have
  • the capability providing apparatus 32 includes, for example, a first output information calculation unit 2201, a second output information calculation unit 2202, a key storage unit 1204, a control unit 1205, and third output information. And a calculator 3203.
  • the processing of this embodiment includes steps S2103 to S2105, S2108, and S2200 to S2203 of the second embodiment, steps S3103 to S3105, S3108, S2200 to S2203, and S3205 to It has been replaced with S3209.
  • the following description will focus on the processing of steps S3103 to S3105, S3108, S2200 to S2203, and S3205 to S3209.
  • Step S3103 The input information providing unit 3104 of the computing device 31 (FIG. 2) generates and outputs first input information ⁇ 1 and second input information ⁇ 2 that are elements of the group H corresponding to the input ciphertext x. (FIG. 6 / step S3103).
  • control unit 1113 controls the input information providing unit 3104 according to the natural number (a, b) selected by the natural number selection unit 1102.
  • the third input information calculation unit 3104f calculates x r3 using the input random number r 3 and the ciphertext x, and sets this as the first input information ⁇ 1 (step S3103c). Thereafter, the process proceeds to step S3103g.
  • the first input information calculation unit 2104b, the second input information calculation unit 2104d, and the third input information calculation unit 3104f correspond to the first input information ⁇ 1 and the second input information ⁇ 2 generated as described above corresponding to the natural numbers (a , B) and the information (step S3103e).
  • the first input information ⁇ 1 and the second input information ⁇ 2 of this embodiment are information in which the relationship with the ciphertext x is disturbed by random numbers r 1 , r 2 , and r 3 , respectively.
  • the computing device 31 can conceal the ciphertext x from the capability providing device 32.
  • the control unit 1113 determines whether b is 1 (step S3205). If it is determined that b ⁇ 1, the process of step S2201 described above is executed. Thereafter, the control unit 1113 determines whether a is 1 (step S3208). If it is determined that a ⁇ 1, the process of step S2202 described above is executed, and the process proceeds to step S3203.
  • step S3203 the first output information calculation unit 2201 generates the first output information z 1 outputs the first output information z 1, the second output information calculation unit 2202 to generate a second output information z 2 second output information z 2 outputs a third output information calculation unit 3202 to generate a third output information z 3 outputs a third output information z 3 (step S3203).
  • Step S3104 and S3105 Processing in Steps S3104 and S3105 >> Returning to FIG. 6, under the control of the control unit 1113, the first output information z 1 is input to the first calculation unit 2105 of the calculation device 31 (FIG. 2), and the second output information z 2 is input to the second calculation unit 2108. The third output information z 3 is input to the third calculation unit 3109 (step S3104).
  • u and / or v may be calculated as follows.
  • the third calculation unit 3109 sequentially selects ( ⁇ 1 , ⁇ 1 ), ( ⁇ 2 , ⁇ 2 ),..., ( ⁇ m , ⁇ ) from the random number r 3 and the set of z 3 calculated based on the random number r 3. m ),... are stored in a storage unit (not shown).
  • m is a natural number.
  • the third calculation unit 3109 sets ⁇ 1 , ⁇ 2 ,..., ⁇ m as integers to ⁇ 1 ⁇ 1 + ⁇ 2 ⁇ 2 +.
  • the proxy calculation system according to the fourth embodiment is another example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • H G ⁇ G
  • ) C 1 c 2 -s, which is an example of the first randomizable sampler and the second randomizable sampler.
  • the calculation device 11 is replaced with a calculation device 41, and the capability providing device 12 is replaced with a capability providing device 42.
  • the calculation device 41 of the fourth embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information providing unit 4104, a first calculation unit 4105, and a first power.
  • a calculation unit 1106, a first list storage unit 1107, a second calculation unit 4108, a second power calculation unit 1109, a second list storage unit 1110, a determination unit 1111, a final output unit 1112, and a control unit 1113 are included.
  • FIG. 1 the calculation device 41 of the fourth embodiment includes, for example, a natural number storage unit 1101, a natural number selection unit 1102, an integer calculation unit 1103, an input information providing unit 4104, a first calculation unit 4105, and a first power.
  • the input information providing unit 4104 of the present embodiment includes, for example, a fourth random number generation unit 4104a, a fifth random number generation unit 4104b, a first input information calculation unit 4104c, a sixth random number generation unit 4104d, A seventh random number generation unit 4104e and a second input information calculation unit 4104f are included.
  • the first input information calculation unit 4104c includes, for example, a fourth input information calculation unit 4104ca and a fifth input information calculation unit 4104cb
  • the second input information calculation unit 4104f includes the sixth input information calculation unit 4104fa and the seventh input information calculation unit 4104fa.
  • an input information calculation unit 4104fb includes, for example, a fourth input information calculation unit 4104ca and a fifth input information calculation unit 4104cb.
  • the capability providing apparatus 42 includes, for example, a first output information calculation unit 4201, a second output information calculation unit 4202, a key storage unit 1204, and a control unit 1205.
  • the group H is a direct product group G ⁇ G of the group G
  • the group G is a cyclic group
  • the ciphertext x (c 1 , c 2 ) ⁇ H
  • f (c 1 , c 2 ) is quasi is isomorphic function
  • the generator of the group G and mu g the order of the group G and K G
  • deciphertext f which decodes the ciphertext
  • steps S1103 to S1105, S1108, and S1200 to S1203 of the first embodiment are replaced with steps S4103 to S4105, S4108, and S4200 to S4203, respectively. It is a thing. Only the processing of steps S4103 to S4105, S4108, and S4200 to S4203 will be described below.
  • the processing in step S4103 of this embodiment will be described with reference to FIG.
  • Fourth random number generating unit 4104A (FIG. 5) generates a uniform random number r 4 natural numbers from 0 to less than K G.
  • the generated random number r 4 is sent to the fourth input information calculation unit 4104ca, the fifth input information calculation unit 4104cb, and the first calculation unit 4105 (step S4103a).
  • Fifth random number generating unit 4104b generates a uniform random number r 5 natural numbers from 0 to less than K G.
  • the generated random number r 5 is sent to the fifth input information calculation unit 4104cb and the first calculation unit 4105 (step S4103b).
  • the fourth input information calculation unit 4104ca calculates the fourth input information c 2 b W r4 using the natural number b selected by the natural number selection unit 1102, the c 2 included in the ciphertext x, and the random number r 4 (step S4103c). ).
  • the fifth input information calculation unit 4104cb uses the natural number b selected by the natural number selection unit 1102, the c 1 included in the ciphertext x, and the random numbers r 4 and r 5 to use the fifth input information c 1 b V r4 ⁇ g r5. Is calculated (step S4103d).
  • Sixth random number generation unit 4104d generates a uniform random number r 6 of natural numbers from 0 to less than K G.
  • the generated random number r 6 is sent to the sixth input information calculation unit 4104fa, the seventh input information calculation unit 4104fb, and the second calculation unit 4108 (step S4103e).
  • Seventh random number generating unit 125 generates a uniform random number r 7 natural numbers from 0 to less than K G.
  • the generated random number r 7 is sent to the sixth input information calculation unit 4104fa and the second calculation unit 4108 (step S4103f).
  • the sixth input information calculation unit 4104fa calculates the sixth input information c 2 a W r6 using the natural number a selected by the natural number selection unit 1102, the c 2 included in the ciphertext x, and the random number r 6 (step S4103g). ).
  • Seventh input information calculating unit 4104fb is a natural number a selected natural number selecting unit 1102, using c 1 and the random number r 7, the ciphertext x includes, calculating a seventh input information c 1 a V r6 ⁇ g r7 (Step S4103h).
  • step S4201 if even if the calculation results in the first output information calculating unit 4201 is f (c 1 b V r4 ⁇ g r5, c 2 b W r4), f (c 1 b V r4 ⁇ g r5, c 2 b W r4 ) may not be satisfied (step S4201).
  • step S4202 if even if the calculation results of the second output information calculating unit 4202 is f (c 1 a V r6 ⁇ g r7, c 2 a W r6), f (c 1 a V r6 ⁇ g r7, c 2 a W r6 ) may not be satisfied (step S4202).
  • the first output information calculation unit 4201 outputs the first output information z 1, the second output information calculation unit 4202 outputs the second output information z 2 (step S4203).
  • the first output information z 1 is input to the first calculation unit 4105 of the calculation device 41 (FIG. 2), and the second output information z 2 is input to the second calculation unit 4108 (step S4104).
  • the first calculation unit 4105 calculates z 1 Y ⁇ r4 ⁇ g ⁇ r5 using the input first output information z 1 and the random numbers r 4 and r 5 and sets the calculation result to u (step S4105). .
  • the calculation result u is sent to the first power calculation unit 1106.
  • Step S4108 calculates z 2 Y ⁇ r6 ⁇ g ⁇ r7 using the input second output information z 2 and the random numbers r 6 and r 7 and sets the calculation result to v.
  • the calculation result v is sent to the second power calculation unit 1109.
  • ⁇ Z 1 Y ⁇ r 4 ⁇ g ⁇ r 5 and z 2 Y ⁇ r 6 ⁇ g ⁇ r 7 are the outputs of randomizable samples having errors X 1 and X 2 for f (c 1 and c 2 ), respectively.
  • a plurality of types (a, b) of two natural numbers a and b that are relatively prime are stored in the natural number storage unit 1101 of the computing device, and these sets (a, b) are used.
  • Each process is to be executed.
  • one of a and b may be a constant.
  • a may be fixed to 1
  • b may be fixed to 1.
  • one of the first randomizable sampler and the second randomizable sampler may be replaced with a sampler.
  • the fifth embodiment is an example of such a modification, in which b is fixed to 1 and the second randomizable sampler is replaced with a sampler.
  • b is fixed to 1
  • the second randomizable sampler is replaced with a sampler.
  • Specific examples of the first randomizable sampler and the sampler are the same as those described in the second to fourth embodiments, and thus the description thereof is omitted.
  • the proxy calculation system 5 of the fifth embodiment is obtained by replacing the calculation device 11 of the first embodiment with a calculation device 51 and replacing the capability providing device 12 with a capability providing device 52. is there.
  • the calculation device 51 of the fifth embodiment includes, for example, a natural number storage unit 5101, a natural number selection unit 5102, an input information providing unit 5104, a first calculation unit 5105, a first power calculation unit 1106, One list storage unit 1107, second calculation unit 5108, second list storage unit 5110, determination unit 5111, final output unit 1112, and control unit 1113 are included.
  • the capability providing apparatus 52 of the fifth embodiment includes, for example, a first output information calculation unit 5201, a second output information calculation unit 5202, a key storage unit 1204, and a control unit 1205.
  • G and H are used as groups (for example, commutative groups), and f (x) is used as an element of group H to decrypt a ciphertext x using a specific decryption key s to obtain an element of group G.
  • Decoding function, generators of groups G and H are ⁇ g and ⁇ h , X 1 and X 2 are random variables having values in group G, realization value of random variable X 1 is x 1 , realization of random variable X 2 Let x 2 be the value. It is assumed that the natural number storage unit 5101 of the calculation device 51 stores a plurality of types of natural numbers a.
  • the natural number selection unit 5102 of the calculation device 51 randomly reads one natural number a from a plurality of natural numbers a stored in the natural number storage unit 5101.
  • the read information on the natural number a is sent to the input information providing unit 5104 and the first power calculation unit 1106 (step S5100).
  • the input information providing unit 5104 generates and outputs first input information ⁇ 1 and second input information ⁇ 2 that are elements of the group H corresponding to the input ciphertext x.
  • the first input information ⁇ 1 and the second input information ⁇ 2 are information in which the relationship with the ciphertext x is disturbed.
  • the computing device 51 can conceal the ciphertext x from the capability providing device 52.
  • the second input information ⁇ 2 in this embodiment further corresponds to the natural number a selected by the natural number selection unit 5102.
  • the calculation device 51 can evaluate the decoding capability provided from the capability providing device 52 with high accuracy (step S5103).
  • the first input information ⁇ 1 is input to the first output information calculation unit 5201 of the capability providing device 52 (FIG. 3), and the second input information ⁇ 2 is input to the second output information calculation unit 5202. Input (step S5200).
  • the first output information calculation unit 5201 uses the first input information ⁇ 1 and the decryption key s stored in the key storage unit 1204 to correctly calculate f ( ⁇ 1 ) with a probability larger than a certain probability.
  • the calculation result to the first output information z 1 step S5201).
  • the second output information calculation unit 5202 uses the second input information ⁇ 2 and the decryption key s stored in the key storage unit 1204 to correctly calculate f ( ⁇ 2 ) with a probability larger than a certain probability.
  • the first output information calculation unit 5201 outputs the first output information z 1
  • the second output information calculation unit 5202 outputs the second output information z 2 (step S5203).
  • the first output information z 1 is input to the first calculation unit 5105 of the calculation device 51 (FIG. 10)
  • the second output information z 2 is input to the second calculation unit 5108.
  • the first output information z 1 and the second output information z 2 correspond to the decoding capability given from the capability providing device 52 to the computing device 51 (step S5104).
  • the calculation result u is sent to the first power calculation unit 1106 (step S5105).
  • a set (u, u ′) of the calculation result u and u ′ calculated based on the calculation result is stored in the first list storage unit 1107 (step S1106).
  • a specific example of the calculation result v is the calculation result v of any one of the second embodiment to the fourth embodiment.
  • the calculation result v is stored in the second list storage unit 5110 (step S5108).
  • Black-box The black box F ( ⁇ ) of f ( ⁇ ) means a processing unit that inputs ⁇ H and outputs z ⁇ G.
  • the first output information calculation unit 5201 and the second output information calculation unit 5202 correspond to the black box F ( ⁇ ) of the decoding function f ( ⁇ ), respectively.
  • the self-corrector C F (x) means a processing unit that receives x ⁇ H, performs calculation using the black box F ( ⁇ ) of f ( ⁇ ), and outputs j ⁇ G ⁇ .
  • the calculation device 51 corresponds to the self-corrector C F (x).
  • the self-corrector C F (x) is said to be an all-most self-corrector.
  • Pr [j f (x)
  • j C F (x)]> (1/3) + ⁇ ′ for a certain positive value ⁇ ′ (0 ⁇ ′ ⁇ 1)
  • Pr [j
  • j C F (x)] ⁇ 1/3
  • j C F (x)] ⁇ 1/3
  • the self-corrector C F (x) is an all-most self-corrector.
  • j C F (x)]> 1- ⁇ (3) with respect to an error ⁇ (0 ⁇ ⁇ ⁇ 1) that can be ignored. Assume that In such a case, the self-corrector C F (x) is said to be a robust self-corrector. An example of the error ⁇ that can be ignored is the function value ⁇ (k) of the security parameter k.
  • An example of the function value ⁇ (k) is such that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • a robust self-corrector can be constructed from an all-most self-corrector. That is, a robust self-corrector can be configured by executing the all-most self-corrector a plurality of times for the same x and setting j as the most frequent output value excluding wrinkles. For example, a robust self-corrector can be constructed by executing an all-most self-corrector O (log (1 / ⁇ )) times for the same x and setting j as the most frequent output value. O (•) represents the O-notation.
  • pseudo-free indicator of the set (G, Omega) which will be expressed as P (G, ⁇ ).
  • the operation defined by the pair (G, ⁇ ) is a pseudo-free action.
  • the set ⁇ ⁇ ⁇ ⁇ a ( ⁇ )
  • if exceeding 2 k the set (G , ⁇ ) is a pseudo-free operation.
  • p ⁇ 1. Since the prime number p is on the order of 2 k , there exists a constant C, and if k is sufficiently large,
  • the probability of equation (4) is less than C ⁇ 1 2 ⁇ k , and the operation defined by such a set (G, ⁇ ) is a pseudo-free action.
  • a sampler that satisfies the above condition is called a randomizable sampler with reliability ⁇ .
  • Sadamari is k 0 for any constant [rho, function value for 'any k satisfying' k 0 ⁇ k for this k 0 eta (k ') if is less than [rho "eta (k' ) Is asymptotically small.
  • An example of k ′ is a security parameter k. It is k 0 Sadamari for any constant [rho, the k 0 with respect to k 0 ⁇ function value for 'any k satisfying' k 1-eta (k ') if is less than [rho "eta (k' ) Is asymptotically large.
  • An example of the function value ⁇ (k) is such that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • the proxy calculation system 6 of the sixth embodiment is obtained by replacing the calculation device 11 of the first embodiment with a calculation device 61 and replacing the capability providing device 12 with a capability providing device 62. is there.
  • the calculation device 61 of the sixth embodiment includes, for example, a matrix storage unit 6101, a matrix selection unit 6102, an input information providing unit 6104, a first calculation unit 6105, a matrix product calculation unit 6106, A list storage unit 6107, a second calculation unit 6108, a second list storage unit 6110, a determination unit 6111, a final output unit 6112, and a control unit 1113 are included.
  • the input information providing unit 6104 of this embodiment includes, for example, a first random matrix selection unit 6104a, a second random matrix selection unit 6104b, a first encryption unit 6104c, and a second encryption unit 6104d.
  • the capability providing apparatus 62 includes, for example, a first output information calculation unit 6201, a second output information calculation unit 6202, a key storage unit 6204, and a control unit 1205.
  • G M is a set of ⁇ ⁇ ⁇ matrices
  • H M is a set of ⁇ ⁇ ⁇ matrices
  • M X 1 and M X 2 are random variables having values in the set G M
  • M x 1 is a random variable M X 1 of realization
  • M x 2 the realization of the random variable M X 2
  • PK is an ⁇ ⁇ ⁇ matrix that is an encryption key (public key)
  • CM is a ⁇ ⁇ ⁇ matrix, and
  • NM the iota ⁇ iota matrix, UM and iota ⁇ iota matrix
  • plain text PT ⁇ G M is a PT the original set G M
  • the ciphertext x M ⁇ H M is the original x M a set H M
  • the ENC M encryption function for obtaining the ciphertext x M ⁇ H M encrypts the plaintext PT is the original set G M
  • f M (x M ) to decrypt the ciphertext x M ⁇ H M in a particular decryption key SK
  • a decoding function for obtaining the plaintext PT is the original set G M with.
  • the decryption function f M (x M ) is a homomorphic function. For example, a set of a G M iota ⁇ iota matrix (Z / 2Z) iota ⁇ iota, a set of H M to iota ⁇ iota matrix (Z / qZ) iota ⁇ iota, the encryption key PK iota ⁇ kappa matrix (Z / qZ) ⁇ ⁇ ⁇ , decryption key SK is ⁇ ⁇ ⁇ matrix (Z / qZ) ⁇ ⁇ ⁇ , CM is randomly selected ⁇ ⁇ ⁇ matrix (Z / qZ) ⁇ ⁇ ⁇ , NM is Gaussian ⁇ matrix (Z / qZ) ⁇ ⁇ ⁇ , UM is ⁇ ⁇ ⁇ unit matrix (Z / 2Z) ⁇ ⁇ ⁇ , encryption function ENC
  • the matrix selection unit 6102 of the calculation device 61 selects and reads one matrix a M uniformly and randomly from a plurality of matrices stored in the matrix storage unit 6101. .
  • the information of the read matrix a M is sent to the input information providing unit 6104 and the matrix product calculating unit 6106 (step S6100).
  • Input information providing unit 6104, the first input information M tau 1 and the second input information M tau 2 generates and the corresponding original set H M correspond to the ciphertext x M input and output.
  • the first input information M ⁇ 1 and the second input information M ⁇ 2 are information in which the relationship with the ciphertext x M is disturbed.
  • the computing device 61 can conceal the ciphertext x M from the capability providing device 62.
  • the second input information M ⁇ 2 further corresponds to the element a M.
  • the calculation device 61 can evaluate the decoding capability provided from the capability providing device 62 with high accuracy (step S6103).
  • step S6103 a specific example of step S6103 will be described with reference to FIG.
  • Input information providing unit 6104 (FIG. 14) first random matrix selection unit 6104a of selects uniformly randomly original M R1 of the set G M (Step S6103a). The selected M R1 is sent to the first encryption unit 6104c and the first calculation unit 6105 (step S6103a).
  • the second random matrix selection unit 6104b selects ⁇ ⁇ ⁇ uniformly random matrices CM 11 and CM 12 ⁇ (Z / qZ) ⁇ ⁇ ⁇ .
  • the selected CM 11 and CM 12 are sent to the first input information calculation unit 6104e (step S6103b).
  • the first ciphertext C R1 is sent to the first input information calculation unit 6104e (step S6103c).
  • the second ciphertext UM is sent to the first input information calculation unit 6104e (step S6103d).
  • the ciphertext x M is further input to the first input information calculation unit 6104e.
  • the first input information calculating unit 6104e as a first input information M ⁇ 1 (x M ⁇ C UM + C R1) + PK ⁇ CM 11 +2 ⁇ NM + CM to give a 12 T ⁇ PK T outputs.
  • Third random matrix selection unit 6104f selects the original M R2 set G M uniformly randomly.
  • the selected M R2 is sent to the third encryption unit 6104h and the second calculation unit 6108 (step S6103f).
  • the fourth random matrix selection unit 6104g selects ⁇ ⁇ ⁇ random matrices CM 21 and CM 22 ⁇ (Z / qZ) ⁇ ⁇ ⁇ .
  • the selected CM 21 and CM 22 are sent to the second input information calculation unit 6104j (step S6103g).
  • the third ciphertext C R2 is sent to the second input information calculation unit 6104j (step S6103h).
  • the matrix a M is input to the fourth encryption unit 6104i.
  • the fourth ciphertext C a is sent to the second input information calculation unit 6104j (step S6103i).
  • the ciphertext x M is further input to the second input information calculation unit 6104j.
  • the second input information calculation unit 6104j obtains (x M ⁇ C a + C R2 ) + PK ⁇ CM 21 + 2 ⁇ NM + CM 22 T ⁇ PK T as the second input information M ⁇ 2 and outputs it.
  • the second input information M ⁇ 2 may be generated by calculating Re (C X ) as C a + C R2 (end of description of (step S6103j) / [specific example of step S6103]).
  • the first input information M ⁇ 1 is input to the first output information calculation unit 6201 of the capability providing device 62 (FIG. 13), and the second input information M ⁇ 2 is input to the second output information calculation unit. It is input to 6202 (step S6200).
  • ⁇ SK ⁇ M ⁇ 1 ⁇ SK T (mod q) ⁇ (SK T) -1 (mod 2) to correctly calculated and the calculation results obtained with the first output information M z 1 (step S6201).
  • the first output information calculation unit 6201 and the second output information calculation unit 6202 output a calculation result including an intentional or unintentional error.
  • the calculation result in the first output information calculation section 6201 is not f M (M ⁇ 1) also if any f M For (M tau 1)
  • the calculation result of the second output information calculation unit 6202 May be f M ( M ⁇ 2 ) or not f M ( M ⁇ 2 ).
  • the first output information calculation unit 6201 outputs the first output information M z 1
  • the second output information calculation unit 6202 outputs the second output information M z 2 (step S6203).
  • the first output information M z 1 is input to the first calculation unit 6105 of the calculation device 61 (FIG. 12)
  • the second output information M z 2 is input to the second calculation unit 6108.
  • the first output information M z 1 and the second output information M z 2 correspond to the decoding capability given from the capability providing device 62 to the computing device 61 (step S6104).
  • the first calculation unit 5105 calculates M z 1 -M R1 using the first output information M z 1 and sets the calculation result as u M.
  • the calculation result u M is sent to the matrix product calculation unit 6106.
  • the second calculation unit 6108 calculates M z 2 ⁇ M R2 using the second output information M z 2 and sets the calculation result as v M.
  • the calculation result v M is stored in the second list storage unit 6110.
  • U M obtained in this way becomes a decryption result f M (x M ) obtained by decrypting the ciphertext x M with the decryption key SK with high probability (the reason will be described later). Therefore, the above-described processing is repeated a plurality of times, and the most frequently used value among the values obtained in step S6114 may be used as the decoding result.
  • u M f M (x M ) with an overwhelming probability. In that case, the value obtained in step S6114 may be used as a decoding result as it is.
  • M z 2 F M ( M ⁇ 2 )
  • M z 2 ⁇ M R2 is statistically approximated as f M (x M ) ⁇ a M + M x 2 .
  • M z 1 F M ( M ⁇ 1 )
  • M z 1 ⁇ M R1 is statistically approximated to f M (x M ) + M x 1 .
  • G and H of «Reason for obtaining decoding result f (x)» in the fifth embodiment are G M and H M
  • f (x) is f M (x M )
  • is M ⁇
  • F ( ⁇ ) is F M ( M ⁇ )
  • z is M z
  • x is x M
  • X 1 and X 2 are M X 1 and M X 2
  • x 1 x 2 is the M x 1, M x 2
  • the matrix M e g a e g is iota ⁇ iota
  • multiplicative representation is replaced each additive representation (for example alpha beta gamma is ⁇ ⁇ ⁇ + ⁇ ) .
  • the definition of “pseudo-free action” is as follows.
  • the upper limit value regarding all possible M X 1 and M X 2 is referred to as a pseudo-free index of a set (G M , ⁇ M ), and this is expressed as P (G M , ⁇ M ).
  • the capability providing device provides the first output information z 1 and the second output information z 2 to the computing device without providing the decryption key, and the computing device ub ′ Outputs va ′ .
  • u b ′ v a ′ becomes a decrypted value of the ciphertext x with high probability.
  • the capability providing device can provide the decryption capability to the computing device without providing the decryption key.
  • the present invention is not limited to the embodiment described above.
  • the random variables X 1 , X 2 and X 3 may be the same or different.
  • the random variables M X 1 and M X 2 may be the same or different.
  • Each of the first random number generator, the second random number generator, the third random number generator, the fourth random number generator, the fifth random number generator, the sixth random number generator, and the seventh random number generator generates a uniform random number. By doing so, the safety of the proxy calculation system is the highest. However, if the required level of security is not so high, the first random number generator, the second random number generator, the third random number generator, the fourth random number generator, the fifth random number generator, the sixth random number generator And at least a part of the seventh random number generator may generate a random number that is not a uniform random number. Similarly, instead of selecting the matrix uniformly and randomly in the sixth embodiment, a non-uniform random matrix may be selected.
  • K G is a natural number from 0 to less than K H as the embodiments described above the random number is selected, they instead K H above and K G or more natural number of the random number may be selected.
  • the processing of the ability providing device is executed a plurality of times. You may let them.
  • the computing device can obtain the first output information z 1 , the second output information z 2, and the third output information.
  • a plurality of pieces of output information z 3 can be obtained. Thereby, the frequency
  • the computing device collectively provides a plurality of types of first input information ⁇ 1 and second input information ⁇ 2 to the capability providing device, and the corresponding first output information z 1 , second output information z 2, and third output information z A plurality of 3 may be acquired together. Thereby, the frequency
  • u and v obtained in the first calculation unit and the second calculation unit of the first embodiment to the fifth embodiment are elements of the group G. If the process is continued and u or v is not a member of the group G, information indicating that the calculation could not be performed, for example, the symbol “ ⁇ ” may be output. Similarly, u M and v M obtained in the first calculation unit and the second calculation portion of the sixth embodiment confirms whether the original G M, described above in the case were the original G M processing continues, if u M or v M is not an element of G M, the information indicating that calculation can not be possible, for example the symbol " ⁇ " may be output.
  • Data exchange between the units of the computing device may be performed directly, or may be performed via a storage unit (not shown).
  • data exchange between the units of the capability providing apparatus may be performed directly or via a storage unit (not shown).
  • the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Needless to say, other modifications are possible without departing from the spirit of the present invention.
  • the proxy calculation system 101 provides, for example, a calculation device 111 that does not hold a decryption key and a capability of holding the decryption keys s 1 ,. , 112- ⁇ ( ⁇ is an integer of 2 or more) and a decoding control device 113 for controlling the decoding capability of the computing device 111.
  • the decryption control device 113 controls the decryption capability provided from the capability providing devices 112-1,..., 112- ⁇ to the computing device 111, and the computing device 111 performs the capability providing devices 112-1,. Decrypt the ciphertext using the decryption capability provided by ⁇ .
  • the computing device 111, the capability providing devices 112-1,..., 112- ⁇ and the decryption control device 113 are configured to exchange information.
  • the computing device 111, the capability providing devices 112-1,..., 112- ⁇ and the decryption control device 113 can exchange information via a transmission line, a network, a portable recording medium, or the like. .
  • the calculation device 111 includes, for example, a natural number storage unit 11101, a natural number selection unit 11102, an integer calculation unit 11103, an input information providing unit 11104, a first calculation unit 11105, and a first power.
  • Examples of the calculation device 111 include a device having a calculation function and a storage function such as a card reader / writer device and a mobile phone, a CPU (central processing unit) and a RAM (random-access memory) loaded with a special program. It is a known or dedicated computer provided.
  • Examples of the capability providing device 112- ⁇ include a tamper-resistant module such as an IC card or an IC chip, a device having a calculation function and a storage function such as a mobile phone, and a CPU or RAM loaded with a special program. It is a known or dedicated computer provided.
  • the capability providing devices 112-1,..., 112- ⁇ are selected from the capability providing devices 112-1,.
  • the capability providing device 112- ( ⁇ + 1),..., 112- ⁇ exists these configurations are the same as those of the capability providing device 112- ⁇ .
  • the decryption control device 113 of the seventh embodiment includes, for example, a ciphertext storage unit 11301, a control instruction unit 11302, an output unit 11303, a control unit 11304, a key storage unit 11305, and an encryption unit 11306.
  • a decoding control device 113 is a device having a calculation function and a storage function, such as a mobile phone, or a known or dedicated computer having a CPU or RAM into which a special program is read.
  • ⁇ , 1 , X ⁇ , 2 be a random variable having a value in the group G ⁇ , the realized value of the random variable X ⁇ , 1 is x ⁇ , 1 , and the realized value of the random variable X ⁇ , 2 is x ⁇ , 2 .
  • is a constant.
  • the natural number storage unit 11101 of the computing device 111 stores a plurality of types of sets (a ( ⁇ ), b ( ⁇ )) of two natural numbers a ( ⁇ ) and b ( ⁇ ) that are mutually prime. .
  • “Natural number” means an integer of 0 or more.
  • decryption key s ⁇ is securely stored in the key storage unit 12104 of the capability providing apparatus 112- ⁇ .
  • An example of the decryption key s ⁇ and the encryption key pk ⁇ is a secret key and a public key of a public key cryptosystem.
  • Each process of the computing device 111 is executed under the control of the control unit 11113, and each process of the capability providing device 112- ⁇ is executed under the control of the control unit 11205- ⁇ . Each process is executed under the control of the control unit 11304.
  • ⁇ Encryption processing> As illustrated in FIG. 24, first, a message mes is input to the encryption unit 11306 of the decryption control device 113 (FIG. 21). Encryption unit 11306, the encryption key pk 1, ⁇ , pk ⁇ number of the encryption key from the ⁇ pk 1, ⁇ , to select the pk ⁇ at random (step S11301). The encryption unit 11306 generates ⁇ pieces of shared information sha 1 ,..., Sha ⁇ from the message mes (step S11302). Hereinafter, a method for generating the shared information sha 1 ,..., Sha ⁇ will be exemplified.
  • Example 1 of distributed information >> omega pieces of shared information sha 1, ⁇ , bit combination value of the sha ⁇ sha 1
  • distributed as sha omega becomes message mes information sha 1, ⁇ , it generates a sha omega.
  • Example 2 of distributed information >> omega pieces of shared information sha 1, ⁇ , distributed information sha 1 as XOR sha omega becomes message mes, ⁇ ⁇ ⁇ , to produce a sha omega.
  • Example 3 of distributed information >> Distributed Information sha 1 by secret sharing a message mes by secret sharing scheme such as Shamir's secret sharing, ..., to produce a sha omega (End illustrates the production method of the shared information).
  • each iota 1, ⁇ ⁇ ⁇ , for omega, generates an iota ciphertext ⁇ to encrypt shared information sha iota using the encryption key Pkiota.
  • Ciphertext lambda 1 generated, ..., the lambda omega is stored in the ciphertext storage unit 11301 (step S11303).
  • the ciphertext lambda 1 stored in the ciphertext storage unit 11301, ⁇ ⁇ ⁇ , lambda omega is output from the output unit 11301 is input to the computing device 111 (FIG. 19) (step S11304).
  • the ciphertexts ⁇ 1 ,..., ⁇ ⁇ may be sent simultaneously or may not be sent simultaneously.
  • the natural number selection unit 11102 of the computing device 111 selects one natural number pair (a ( ⁇ ) from a plurality of natural number pairs (a ( ⁇ ), b ( ⁇ )) stored in the natural number storage unit 11101. ), B ( ⁇ )) are randomly read.
  • Information of at least part of the read natural number set (a ( ⁇ ), b ( ⁇ )) is sent to the integer calculation unit 11103, the input information providing unit 11104, the first power calculation unit 11106, and the second power calculation unit 11109. It is sent (step S11100).
  • integers a ′ and b ′ are calculated by a well-known algorithm such as the extended mutual division method, and information on a set of natural numbers (a ′ ( ⁇ ) and b ′ ( ⁇ )) is sent to the final output unit 11112 ( Step S11101).
  • the input information providing unit 11104 of the computing device 111 generates first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 that are elements of the group H ⁇ corresponding to the inputted ciphertext ⁇ ⁇ , respectively. Output.
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 are information that disturbs the relationship with the ciphertext ⁇ ⁇ , respectively.
  • the computing device 111 can conceal the ciphertext ⁇ from the capability providing device 112- ⁇ .
  • the first input information ⁇ ⁇ , 1 of this embodiment further corresponds to the natural number b ( ⁇ ) selected by the natural number selection unit 11102 and the second input information ⁇ ⁇ , 2 is selected by the natural number selection unit 11102 Further corresponds to the natural number a ( ⁇ ).
  • the calculation device 111 can evaluate the decoding capability provided from the capability providing device 112- ⁇ with high accuracy (step S11103).
  • the first input information ⁇ ⁇ , 1 is input to the first output information calculation unit 11201- ⁇ of the capability providing device 112- ⁇ (FIG. 20), and the second input information ⁇ ⁇ , 2 is The information is input to the second output information calculation unit 11202- ⁇ (step S11200).
  • the first output information calculation unit 11201 uses the first input information ⁇ ⁇ , 1 and the decryption key s ⁇ stored in the key storage unit 11204 to calculate f ⁇ ( ⁇ ⁇ , 1 ) with a probability greater than a certain probability. Correct calculation is performed, and the obtained calculation result is set as first output information z ⁇ , 1 (step S11201).
  • the second output information calculation unit 11202- ⁇ uses the second input information ⁇ ⁇ , 2 and the decryption key s ⁇ stored in the key storage unit 11204- ⁇ , and f ⁇ ( ⁇ ⁇ , 2 ) is calculated correctly, and the obtained calculation result is set as the second output information z ⁇ , 2 (step S11202).
  • the “certain probability” is a probability of less than 100%.
  • the example of “certain probability” is a probability that cannot be ignored, and the example of “probability that cannot be ignored” is a case where a polynomial ⁇ (k) is a polynomial that is a broad monotone increasing function for the security parameter k. Of 1 / ⁇ (k) or more. That is, the first output information calculation unit 11201- ⁇ and the second output information calculation unit 11202- ⁇ can output a calculation result including an intentional or unintentional error.
  • the calculation result in the first output information calculation unit 11201-iota is f ⁇ ( ⁇ ⁇ , 1) if the case also f ⁇ ( ⁇ ⁇ , 1) may not be the second output information calculation unit 11202 calculation results for - ⁇ is f ⁇ ( ⁇ ⁇ , 2) in some cases the f ⁇ ( ⁇ ⁇ , 2) may not be.
  • the first output information calculation unit 11201- ⁇ outputs the first output information z ⁇ , 1
  • the second output information calculation unit 11202- ⁇ outputs the second output information z ⁇ , 2 (step S11203).
  • the first output information z ⁇ , 1 is input to the first calculation unit 11105 of the calculation device 111 (FIG. 19), and the second output information z ⁇ , 2 is input to the second calculation unit 11108.
  • the first output information z ⁇ , 1 and the second output information z ⁇ , 2 correspond to the decoding capability given from the capability providing device 112- ⁇ to the calculation device 111 (step S11104).
  • f ⁇ ( ⁇ ⁇ ) b ( ⁇ ) x ⁇ and generates a 1 (calculated) is, f ⁇ ( ⁇ ⁇ ) b ( ⁇ ) x ⁇ , calculating the values of the formulas 1 and definition It is. If the value of the formula f ⁇ ( ⁇ ⁇ ) b ( ⁇ ) x ⁇ , 1 can be finally calculated, the calculation method in the middle is not limited. The same applies to the calculation of other equations appearing in this application.
  • the calculation result u ⁇ is sent to the first power calculation unit 11106 (step S11105).
  • a set (u ⁇ , u ⁇ ′) of the calculation result u ⁇ and u ⁇ ′ calculated based on the calculation result is stored in the first list storage unit 11107 (step S11106).
  • the calculation result v ⁇ is sent to the second power calculation unit 11109 (step S11108).
  • a set (v ⁇ , v ⁇ ′) of the calculation result v ⁇ and v ⁇ ′ calculated based on the calculation result is stored in the second list storage unit 11110 (step S11109).
  • Information indicating that the calculation could not be performed means that the reliability with which the ability providing device 112- ⁇ performs the calculation correctly is lower than the standard defined by T ⁇ . In other words, it means that a correct operation could not be performed by repeating T ⁇ times.
  • u ⁇ b ′ ( ⁇ ) v ⁇ a ′ ( ⁇ ) f ⁇ ( ⁇ ⁇ ) with an overwhelming probability depending on the setting.
  • the value obtained in step S11114 may be used as the decoding result f ⁇ ( ⁇ ⁇ ) as it is.
  • a restoration process is performed on a restored value that can be restored only when all the decrypted values obtained by decrypting the ciphertext ⁇ for ⁇ with the decryption key s ⁇ are obtained.
  • the restoration unit 11100 uses the bit combination value f 1 ( ⁇ 1 )
  • the restoration unit 11100 uses a restoration method corresponding to the secret sharing scheme, and uses each decryption result f 1 ( ⁇ 1 ),. .., F ⁇ ( ⁇ ⁇ ) to generate a restoration value mes ′.
  • the restoration value mes ′ obtained by the restoration unit 11100 is equal to the message mes.
  • the probability that the restoration value mes ′ obtained by the restoration unit 11100 is equal to the message mes can be ignored. Small enough.
  • is omitted for simplicity of description.
  • X be a random variable whose value is in group G.
  • w ⁇ G the one that returns wx ′ corresponding to the sample x ′ according to the random variable X every time a request is received is called a sampler with an error X for w.
  • a randomizable sampler For w ⁇ G, each time a natural number a is given, the one that returns w a x ′ corresponding to the sample x ′ according to the random variable X is called a randomizable sampler having an error X with respect to w. .
  • the combination of the input information providing unit 11104 of the present embodiment and the first output information calculation unit 11201 and the first calculation unit 11105 is, f (lambda) for a random number of possible sampler with an error X 1 ( “first randomization can
  • the combination of the input information providing unit 11104, the second output information calculating unit 11202, and the second calculating unit 11108 is a randomizable sampler having an error X 2 with respect to f ( ⁇ ) (“ This is called a "second randomizable sampler”.
  • L min (# ⁇ 1 (S), # ⁇ 2 (S)).
  • # ⁇ I the order of the set.
  • the probability that the output when the calculation device 111 outputs anything other than “ ⁇ ” is not f ( ⁇ ) is within a negligible error range. It can be expected that it is at most about T 2 L / # S.
  • the calculation device 111 outputs the correct f ⁇ ( ⁇ ) with an overwhelming probability.
  • S ⁇ (1, d)
  • the decryption control device 113 controls the decryption process of the computing device 111
  • the decryption control device 113 outputs a decryption control command for controlling the decryption process of the computation device 111 to all the capability providing devices 112- ⁇ .
  • the capability providing apparatus 112- ⁇ to which the decoding control command is input controls whether or not both the first output information z ⁇ , 1 and the second output information z ⁇ , 2 are output according to the input decoding control command.
  • the computing device 111 cannot decrypt the ciphertext ⁇ ⁇ unless the first output information z ⁇ , 1 and the second output information z ⁇ , 2 are given.
  • the decoding capability of the computing device 111 can be controlled by controlling whether or not both the first output information z ⁇ , 1 and the second output information z ⁇ , 2 are output.
  • a method for controlling the decoding process will be exemplified.
  • Example 1 of Decoding Process Control Method includes a decoding restriction instruction com 1 - ⁇ for restricting the decoding capability of the computing device 111.
  • the decryption restriction command com 1 - ⁇ is input to the control unit 11205- ⁇ of the capability providing device 112- ⁇ , the control unit 11205- ⁇ outputs the first output information z ⁇ , 1 and the second output information z ⁇ , 2 . Disable both outputs.
  • the control command unit 11302 of the decoding control device 113 (FIG. 21) outputs the decoding limitation command com 1 - ⁇ for all ⁇ .
  • the decryption restriction command com 1 - ⁇ is output from the output unit 11303 to the capability providing device 112- ⁇ .
  • the control unit 11205- ⁇ outputs the first output information z ⁇ , 1 by the first output information calculation unit 11201- ⁇ and the second output information z ⁇ , 2 by the second output information calculation unit 11201- ⁇ . Prohibit both of the output.
  • First output information z iota, 1 and / or second output information z iota an example of a control for prohibiting the second output, the first output information z iota, 1 and / or second output information z iota, produced a 2 Is a control that prohibits these outputs but does not prohibit them.
  • First output information z iota, 1 and / or second output information z iota another example of control for prohibiting the second output, the first output information z iota, 1 and / or second output information z iota, 2
  • dummy information is output instead of.
  • An example of dummy information is information that does not depend on a random number or other ciphertext ⁇ .
  • Information necessary to generate 2 may or may not be invalidated or deleted.
  • the decryption key s ⁇ stored in the key storage unit 11204- ⁇ may or may not be invalidated or deleted.
  • the capability providing apparatus 112- ⁇ in step S11203, the first output information z ⁇ , 1 and the second output information z ⁇ , 2 does not output the both of 2. Therefore, the calculation device 111 cannot acquire both the first output information z ⁇ , 1 and the second output information z ⁇ , 2 in step S11104 and cannot calculate the operation results u ⁇ and v ⁇ , and therefore the correct decryption result f ⁇ ( ⁇ ) cannot be obtained. If correct decoding results f ⁇ ( ⁇ ) are not obtained for all ⁇ , the probability that the restoration value mes ′ obtained by the restoration unit 11100 is equal to the message mes is negligibly small. Thereby, the decoding capability of the computing device 111 can be limited.
  • Example 2 of decoding control method includes decoding open command com 2 -Iota for decoding control command to release the restriction of the decoding capability of the computing device 111, decodes open command com 2 -Iota ability providing unit 112- When input to the control unit 11205- ⁇ of ⁇ , the control unit 11205- ⁇ permits the output of at least one of the first output information z ⁇ , 1 and the second output information z ⁇ , 2 .
  • the example 2 of the decoding process control method is, for example, after the output of both the first output information z ⁇ , 1 and the second output information z ⁇ , 2 is prohibited by the example 1 of the decoding process control method, This is performed when the output of the first output information z ⁇ , 1 and the second output information z ⁇ , 2 is permitted.
  • the decryption release instruction com 2 - ⁇ is The information may be included, and the information may be reset in the capability providing device 112- ⁇ .
  • Example 2 of the control method of the decoding process for example, the first output information z iota in the initial state, first and second output information z iota, when both 2 is prohibited, the first output information z iota , 1 and second output information z ⁇ , 2 may be permitted.
  • the control command unit 11302 of the decoding control device 113 (FIG. 21) outputs the decoding release command com 2 - ⁇ for all ⁇ .
  • the decryption restriction command com 2 - ⁇ is output from the output unit 11303 to the capability providing apparatus 112- ⁇ .
  • the capability providing apparatus 112- ⁇ in step S11203 the first output information z ⁇ , 1 or the second output information Output both z ⁇ , 2 . Therefore, the calculation device 111 can acquire both the first output information z ⁇ , 1 or the second output information z ⁇ , 2 in step S11104 and can calculate the operation result u ⁇ or v ⁇ . Obtainable. Thereby, the restriction
  • each decryption control instruction corresponds to any one ⁇ (corresponding to the decryption function f ⁇ ), and the control unit 11205- ⁇ of the capability providing device 112- ⁇ decrypts The presence / absence of all outputs of the first output information z ⁇ , 1 and the second output information z ⁇ , 2 corresponding to the control command (corresponding to the decoding function f ⁇ corresponding to the decoding control command) is controlled.
  • the decryption control command corresponds to a plurality of ⁇
  • the control unit 11205- ⁇ of the capability providing device 112- ⁇ includes the first output information z ⁇ , 1 and the second output information z ⁇ , 2 corresponding to the decryption control command.
  • the presence or absence of output may be controlled.
  • the proxy calculation system of the eighth embodiment is an example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • the following description will focus on the parts that are different from the seventh embodiment, and the duplicated description of the common parts such as the decoding control process will be omitted.
  • parts denoted by the same reference numbers have the same functions, and steps denoted by the same reference numbers represent the same processing.
  • the calculation device 111 is replaced with a calculation device 121, and the capability providing devices 112-1,. 1,..., 122- ⁇ .
  • the calculation device 121 includes, for example, a natural number storage unit 11101, a natural number selection unit 11102, an integer calculation unit 11103, an input information providing unit 12104, a first calculation unit 12105, and a first power.
  • a calculation unit 11106, a first list storage unit 11107, a second calculation unit 12108, a second power calculation unit 11109, a second list storage unit 11110, a determination unit 11111, a final output unit 11112, and a control unit 11113 are included.
  • a natural number storage unit 11101 a natural number selection unit 11102
  • an integer calculation unit 11103 an input information providing unit 12104
  • a first calculation unit 12105 and a first power.
  • a calculation unit 11106, a first list storage unit 11107, a second calculation unit 12108, a second power calculation unit 11109, a second list storage unit 11110, a determination unit 11111, a final output unit 11112, and a control unit 11113 are included.
  • the input information providing unit 12104 of this embodiment includes, for example, a first random number generation unit 12104 a, a first input information calculation unit 12104 b, a second random number generation unit 12104 c, and a second input information calculation unit 12104 d.
  • a capability providing device 122- ( ⁇ + 1),..., 122- ⁇ exists, these configurations are the same as those of the capability providing device 122- ⁇ .
  • the decoding function f ⁇ is a homomorphic function
  • the group H is a cyclic group
  • the generation source of the group H is ⁇ ⁇ , h
  • the order of the group H is K ⁇ , H
  • ⁇ ⁇ f ⁇ ( ⁇ ⁇ , h ).
  • An example in which the decryption function f ⁇ is a homomorphic function is RSA encryption.
  • the other premise is that the computing device 111 is replaced with the computing device 121, and the capability providing devices 112-1,..., 112- ⁇ are replaced with the capability providing devices 122-1,. Except for this, it is the same as the seventh embodiment.
  • steps S11103 to S11105, S11108, and S11200 to S11203 of the seventh embodiment are replaced with steps S12103 to S12105, S12108, and S12200 to S12203, respectively. It is a thing. Hereinafter, only the processes of steps S12103 to S12105, S12108, and S12200 to S12203 will be described.
  • Step S12103 The input information providing unit 12104 of the computing device 121 (FIG. 19) generates and outputs first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input ciphertext ⁇ ⁇ ( FIG. 25 / step S12103).
  • first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input ciphertext ⁇ ⁇ ( FIG. 25 / step S12103).
  • the processing in step S12103 of this embodiment will be described with reference to FIG.
  • the first random number generator 12104a (FIG. 22) generates a natural random number r ( ⁇ , 1) that is a natural number between 0 and K ⁇ , H.
  • the generated random number r ( ⁇ , 1) is sent to the first input information calculation unit 12104b and the first calculation unit 12105 (step S12103a).
  • the second random number generator 12104c generates a natural random number r ( ⁇ , 2) that is a natural number between 0 and less than K H.
  • the generated random number r ( ⁇ , 2) is sent to the second input information calculation unit 12104d and the second calculation unit 12108 (step S12103c).
  • the first input information calculation unit 12104b and the second input information calculation unit 12104d output the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 generated as described above (step S12103e).
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 in this embodiment disturb the relationship with the ciphertext ⁇ ⁇ by random numbers r ( ⁇ , 1) and r ( ⁇ , 2), respectively. Information.
  • the computing device 122- ⁇ can conceal the ciphertext ⁇ from the capability providing device 122- ⁇ .
  • the first input information ⁇ ⁇ , 1 further corresponds to the natural number b ( ⁇ ) selected by the natural number selection unit 11102
  • the second input information ⁇ ⁇ , 2 corresponds to the natural number a ( Further correspond to ⁇ ).
  • the information is input to the information calculation unit 12201- ⁇
  • the second input information ⁇ ⁇ , 2 ⁇ ⁇ , hr ( ⁇ , 2) ⁇ ⁇ a ( ⁇ ) is input to the second output information calculation unit 12202- ⁇ ( Step S12200).
  • f ⁇ ( ⁇ ⁇ , hr ( ⁇ , 1) ⁇ ⁇ b ( ⁇ ) ) is correctly calculated with a probability larger than a certain probability, and the obtained calculation result is used as the first output information z ⁇ , Set to 1 .
  • This calculation result may or may not be correct.
  • f ⁇ ( ⁇ ⁇ , hr ( ⁇ , 2) ⁇ ⁇ a ( ⁇ ) ) is correctly calculated with a probability larger than a certain probability, and the obtained calculation result is obtained as second output information z ⁇ , 2 This calculation result may or may not be correct.
  • the calculation result in the second output information calculation unit 12202- ⁇ may be f ⁇ ( ⁇ ⁇ , hr ( ⁇ , 2) ⁇ ⁇ a ( ⁇ ) ) or f ⁇ ( ⁇ ⁇ , h r ( ⁇ , 2) ⁇ ⁇ a ( ⁇ ) ) may not be satisfied (step S12202).
  • the first output information calculation unit 12201- ⁇ outputs the first output information z ⁇ , 1
  • the second output information calculation unit 12202- ⁇ outputs the second output information z ⁇ , 2 (step S12203).
  • Step S12104 and S12105 Processing in Steps S12104 and S12105 >>
  • the first output information z ⁇ , 1 is input to the first calculation unit 12105 of the calculation device 121 (FIG. 19), and the second output information z ⁇ , 2 is input to the second calculation unit 12108.
  • the first output information z ⁇ , 1 and the second output information z ⁇ , 2 correspond to the decoding capability given to the calculation device 121 from the capability providing device 122- ⁇ (step S12104).
  • the first calculation unit 12105 calculates z ⁇ , 1 ⁇ ⁇ -r ( ⁇ , 1) using the input random number r ( ⁇ , 1) and the first output information z ⁇ , 1 and calculates the calculation result.
  • the calculation result u ⁇ is sent to the first power calculation unit 11106.
  • Step S12108 The second calculation unit 12108 calculates z ⁇ , 2 ⁇ ⁇ -r ( ⁇ , 2) using the input random number r ( ⁇ , 2) and the second output information z ⁇ , 2 and calculates the calculation result.
  • v ⁇ The calculation result v ⁇ is sent to the second power calculation unit 11109.
  • ⁇ z ⁇ , 1 ⁇ ⁇ -r ( ⁇ , 1) , z ⁇ , 2 ⁇ ⁇ -r ( ⁇ , 2) is a random number with errors X ⁇ , 1 and X ⁇ , 2 respectively for f ⁇ ( ⁇ ⁇ ) Reasons for the output of a convertible sampler
  • This property is based on the fact that the function f ⁇ is a homomorphic function and R is a random number.
  • the ninth embodiment is a modification of the eighth embodiment.
  • the amount of calculation of a sampler is smaller than that of a randomizable sampler.
  • the sampler performs the calculation instead of the randomizable sampler, so that the calculation amount of the proxy calculation system can be reduced.
  • the following description will focus on the parts that are different from the seventh embodiment and the eighth embodiment, and the duplicate description of the common parts such as the decoding control process will be omitted.
  • the calculation device 121 is replaced with a calculation device 131, and the capability providing devices 122-1, ..., 122- ⁇ are replaced with the capability providing device 132-. 1,..., 132- ⁇ .
  • the calculation device 131 of the ninth embodiment includes, for example, a natural number storage unit 11101, a natural number selection unit 11102, an integer calculation unit 11103, an input information providing unit 12104, a first calculation unit 12105, and a first power.
  • Calculation unit 11106, first list storage unit 11107, second calculation unit 12108, second power calculation unit 11109, second list storage unit 11110, determination unit 11111, final output unit 11112, control unit 11113, third calculation unit 13109 Have
  • the capability providing apparatus 132- ⁇ of the ninth embodiment includes, for example, a first output information calculation unit 12201- ⁇ , a second output information calculation unit 12202- ⁇ , and a key storage unit 11204- ⁇ .
  • a control unit 11205- ⁇ and a third output information calculation unit 13203- ⁇ are included.
  • the processing of the ninth embodiment includes steps S12103 to S12105, S12108, S12200 to S12203 of the eighth embodiment, and steps S13103 to S13105, S13108, S12200 to S12203, and S13205 to It has been replaced with S13209.
  • the following description will focus on the processing of steps S13103 to S13105, S13108, S12200 to S12203, and S13205 to S13209.
  • Step S13103 The input information providing unit 13104 of the computing device 131 (FIG. 19) generates and outputs first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input ciphertext ⁇ ⁇ ( FIG. 25 / step S13103).
  • the processing in step S13103 of this embodiment will be described with reference to FIG.
  • the control unit 11113 controls the input information providing unit 13104 according to the natural numbers (a ( ⁇ ), b ( ⁇ )) selected by the natural number selection unit 11102.
  • the third input information calculation unit 13104f calculates ⁇ ⁇ ( ⁇ , 3) using the input random number r ( ⁇ , 3) and the ciphertext ⁇ ⁇ , and uses this as first input information ⁇ ⁇ , 1 . (Step S13103c). Thereafter, the process proceeds to step S13103g.
  • step S13103g the control unit 11113 determines whether a ( ⁇ ) is 1 (step S13103g), and if it is determined that a ( ⁇ ) ⁇ 1, the processes in steps S12103c and S12103d described above are executed. Is done.
  • step S13103g 1, the third random number generation unit 13104e generates a natural number random number r ( ⁇ , 3) that is 0 or more and less than K ⁇ , H.
  • the generated random number r ( ⁇ , 3) is sent to the third input information calculation unit 13104f (step S13103h).
  • the third input information calculation unit 13104f calculates ⁇ ⁇ ( ⁇ , 3) using the input random number r ( ⁇ , 3) and the ciphertext ⁇ ⁇ , and uses this as second input information ⁇ ⁇ , 2 . (Step S13103i).
  • the first input information calculation unit 12104b, the second input information calculation unit 12104d, and the third input information calculation unit 13104f correspond to the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 generated as described above. Are output together with information on natural numbers (a ( ⁇ ), b ( ⁇ )) to be performed (step S13103e).
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 of the present embodiment are encrypted with random numbers r ( ⁇ , 1), r ( ⁇ , 2), r ( ⁇ , 3), respectively. This information disrupts the relationship with ⁇ ⁇ . Accordingly, the computing device 131 can conceal the ciphertext ⁇ from the capability providing device 132- ⁇ .
  • the first input information ⁇ ⁇ , 1 ⁇ ⁇ , hr ( ⁇ , 1) ⁇ ⁇ b ( ⁇ ) when b ( ⁇ ) ⁇ 1 is the ability providing device 132-
  • the second input information ⁇ ⁇ , 2 ⁇ ⁇ , hr ( ⁇ , 2) ⁇ ⁇ a when it is input to the first output information calculation unit 12201- ⁇ of ⁇ (FIG. 20) and a ( ⁇ ) ⁇ 1 ( ⁇ ) is input to the second output information calculation unit 12202- ⁇ .
  • the controller 11113 determines whether b ( ⁇ ) is 1 (step S13205). If it is determined that b ( ⁇ ) ⁇ 1, the process of step S12201 described above is executed. Thereafter, the control unit 11113 determines whether a is 1 (step S13208). If it is determined that a ⁇ 1, the process of step S12202 described above is executed, and the process proceeds to step S13203.
  • This calculation result may or may not be correct. That is, the calculation result in the third output information calculating unit 13203-iota is f ⁇ ( ⁇ ⁇ r ( ⁇ , 3)) if and may become, f ⁇ ( ⁇ ⁇ r ( ⁇ , 3)) and if not (Step S13209). Then, it progresses to step S13203.
  • This calculation result may or may not be correct. That is, the calculation result in the third output information calculating unit 13203-iota is f ⁇ ( ⁇ ⁇ r ( ⁇ , 3)) if and may become, f ⁇ ( ⁇ ⁇ r ( ⁇ , 3)) and if not (Step S13206).
  • step S13203 the first output information z iota, the first output information calculation unit 12201-iota that generated a first output information z iota, and outputs a 1, the second output information z iota, second generating the 2 output information calculation unit 12202-iota second output information z iota, 2 outputs, the third output information z iota, the third output information calculating unit 12202-iota that generated the 3 third output information z iota, 3 Output (step S13203)
  • Step S13104 and S13105 Processing in Steps S13104 and S13105 >>
  • the first output information z ⁇ , 1 is input to the first calculation unit 12105 of the calculation device 131 (FIG. 19)
  • the second output information z ⁇ , 2 is the first output information z ⁇ , 2 .
  • the second calculation unit 12108 is input
  • the third output information z ⁇ , 3 is input to the third calculation unit 13109 (step S13104).
  • the third calculation unit 13109 sequentially sets ( ⁇ 1 , ⁇ 1 ), ( ⁇ 2 , ⁇ ) to a set of z ⁇ , 3 calculated based on the random number r ( ⁇ , 3) and the random number r ( ⁇ , 3). 2 ), ..., ( ⁇ m ( ⁇ ) , ⁇ m ( ⁇ ) ), ... are stored in a storage unit (not shown). m ( ⁇ ) is a natural number of 1 or more.
  • Third calculation unit 13109 is, ⁇ 1, ⁇ 2, ...
  • when ⁇ is expressed as ⁇ ⁇ where ⁇ is a first character, ⁇ is a second character, and ⁇ is a number, ⁇ means ⁇ ⁇ , that is, ⁇ subscript ⁇ .
  • the proxy calculation system of the tenth embodiment is another example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • H ⁇ G ⁇ ⁇ G ⁇
  • An example of a first randomizable sampler and a second randomizable sampler when f ⁇ (c ⁇ , 1 , c ⁇ , 2 ) c ⁇ , 1 ⁇ c ⁇ , 2 -s ⁇ Is.
  • the following description will focus on the parts that are different from the seventh embodiment, and the duplicated description of the common parts such as the decoding control process will be omitted.
  • the calculation device 111 is replaced with the calculation device 141, and the capability providing devices 112-1 to 112- ⁇ are replaced with the capability providing device 142-2. 1,..., 142- ⁇ .
  • the calculation device 141 includes, for example, a natural number storage unit 11101, a natural number selection unit 11102, an integer calculation unit 11103, an input information providing unit 14104, a first calculation unit 14105, and a first power.
  • a calculation unit 11106, a first list storage unit 11107, a second calculation unit 14108, a second power calculation unit 11109, a second list storage unit 11110, a determination unit 11111, a final output unit 11112, and a control unit 11113 are included.
  • a natural number storage unit 11101 a natural number selection unit 11102
  • an integer calculation unit 11103 an input information providing unit 14104
  • a first calculation unit 14105 and a first power.
  • a calculation unit 11106, a first list storage unit 11107, a second calculation unit 14108, a second power calculation unit 11109, a second list storage unit 11110, a determination unit 11111, a final output unit 11112, and a control unit 11113 are included.
  • the input information providing unit 14104 of this embodiment includes, for example, a fourth random number generation unit 14104a, a fifth random number generation unit 14104b, a first input information calculation unit 14104c, a sixth random number generation unit 14104d, A seventh random number generation unit 14104e and a second input information calculation unit 14104f are included.
  • the first input information calculation unit 14104c includes, for example, a fourth input information calculation unit 14104ca and a fifth input information calculation unit 14104cb
  • the second input information calculation unit 14104f includes the sixth input information calculation unit 14104fa and the seventh input information calculation unit 14104fa.
  • an input information calculation unit 14104fb includes, for example, a fourth input information calculation unit 14104ca and a fifth input information calculation unit 14104cb.
  • the capability providing apparatus 142- ⁇ of the tenth embodiment includes, for example, a first output information calculation unit 14201- ⁇ , a second output information calculation unit 14202- ⁇ , and a key storage unit 11204- ⁇ . And a control unit 11205- ⁇ .
  • a first output information calculation unit 14201- ⁇ the capability providing device 142- ( ⁇ + 1),..., 42- ⁇ exists, these configurations are the same as those of the capability providing device 142- ⁇ .
  • the group H iota the group G iota direct product group G iota ⁇ G iota
  • the group G iota is cyclic group
  • ciphertext ⁇ ⁇ (c ⁇ , 1 , c ⁇ , 2) ⁇ H be iota
  • F ⁇ (c ⁇ , 1 , c ⁇ , 2 ) are homomorphic functions
  • the generator of the group G ⁇ is ⁇ ⁇ , g
  • the order of the group G ⁇ is K ⁇ , G
  • the same decryption key ciphertext for s ⁇ (V ⁇ , W ⁇ ) ⁇ H ⁇ and the decoded text the ciphertext decrypted f ⁇ (V ⁇ , W ⁇ ) Y ⁇ set of computing devices 141 and capabilities providing apparatus and ⁇ G iota
  • steps S11103 to S11105, S11108, and S11200 to S11203 of the seventh embodiment are replaced with steps S14103 to S14105, S14108, and S14200 to S14203, respectively. It is a thing. Only the processing of steps S14103 to S14105, S14108, and S14200 to S14203 will be described below.
  • step S14103 the processing in step S14103 of this embodiment will be described with reference to FIG.
  • the fourth random number generator 14104a (FIG. 23) generates a natural random number r ( ⁇ , 4) that is a natural number greater than or equal to 0 and less than K ⁇ , G.
  • the generated random number r ( ⁇ , 4) is sent to the fourth input information calculation unit 14104ca, the fifth input information calculation unit 14104cb, and the first calculation unit 14105 (step S14103a).
  • the fifth random number generator 14104b generates a natural random number r ( ⁇ , 5) that is a natural number greater than or equal to 0 and less than K ⁇ , G.
  • the generated random number r ( ⁇ , 5) is sent to the fifth input information calculation unit 14104cb and the first calculation unit 14105 (step S14103b).
  • the fourth input information calculation unit 14104ca uses the natural number b ( ⁇ ) selected by the natural number selection unit 11102, c ⁇ , 2 included in the ciphertext ⁇ ⁇ , and the random number r ( ⁇ , 4), and uses the fourth input information c. ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) is calculated (step S14103c).
  • the fifth input information calculation unit 14104cb receives the natural number b ( ⁇ ) selected by the natural number selection unit 11102, c ⁇ , 1 included in the ciphertext ⁇ ⁇ , and random numbers r ( ⁇ , 4) and r ( ⁇ , 5). using the fifth input information c ⁇ , 1 b ( ⁇ ) V ⁇ r ( ⁇ , 4) ⁇ ⁇ , g r ( ⁇ , 5) to calculate the (step S14103d).
  • the sixth random number generator 14104d generates a natural random number r ( ⁇ , 6) that is greater than or equal to 0 and less than K ⁇ , G.
  • the generated random number r ( ⁇ , 6) is sent to the sixth input information calculation unit 14104fa, the seventh input information calculation unit 14104fb, and the second calculation unit 14108 (step S14103e).
  • Seventh random number generation unit 14104e is 0 or K G less natural number uniform random number r (iota, 7) for generating a.
  • the generated random number r ( ⁇ , 7) is sent to the seventh input information calculation unit 14104fb and the second calculation unit 14108 (step S14103f).
  • the sixth input information calculation unit 14104fa uses the natural number a ( ⁇ ) selected by the natural number selection unit 11102, c ⁇ , 2 included in the ciphertext ⁇ ⁇ , and the random number r ( ⁇ , 6), and the sixth input information c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6) is calculated (step S14103g).
  • the seventh input information calculation unit 14104fb receives the natural number a ( ⁇ ) selected by the natural number selection unit 11102, c ⁇ , 1 included in the ciphertext ⁇ ⁇ , and random numbers r ( ⁇ , 6) and r ( ⁇ , 7). used, seventh input information c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6) ⁇ ⁇ , g r ( ⁇ , 7) to calculate the (step S14103h).
  • the first input information calculation unit 14104c generates the fourth input information c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) and the fifth input information c ⁇ , 1 b ( ⁇ ) V ⁇ generated as described above.
  • the second input information calculation unit 14104f generates the sixth input information c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6) and the seventh input information c ⁇ , 1 a ( ⁇ ) V ⁇ generated as described above.
  • first input information ⁇ ⁇ , 1 (c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) , c ⁇ , 1 b ( ⁇ ) V ⁇ r ( ⁇ , 4) ⁇ ⁇ , gr ( ⁇ , 5) ) is input to the first output information calculation unit 14201- ⁇ of the capability providing device 142- ⁇ (FIG.
  • This calculation result may or may not be correct. That is, the calculation result in the first output information calculation unit 14201-iota is f ⁇ (c ⁇ , 1 b ( ⁇ ) V ⁇ r ( ⁇ , 4) ⁇ ⁇ , g r ( ⁇ , 5), c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) ) or f ⁇ (c ⁇ , 1 b ( ⁇ ) V ⁇ r ( ⁇ , 4) ⁇ ⁇ , g r ( ⁇ , 5) , c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) ) may not be satisfied (step S14201).
  • Two output information z ⁇ , 2 is assumed. This calculation result may or may not be correct.
  • the calculation result of the second output information calculation unit 14202-iota is f ⁇ (c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6) ⁇ ⁇ , g r ( ⁇ , 7), c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6) ) or f ⁇ (c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6) ⁇ ⁇ , g r ( ⁇ , 7) , c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6) ) may not be satisfied (step S14202).
  • the first output information calculation unit 14201- ⁇ outputs the first output information z ⁇ , 1
  • the second output information calculation unit 14202- ⁇ outputs the second output information z ⁇ , 2 (step S14203).
  • Step S14104 and S14105> Returning to FIG. 25, the first output information z ⁇ , 1 is input to the first calculation unit 14105 of the calculation device 141 (FIG. 19), and the second output information z ⁇ , 2 is input to the second calculation unit 14108 ( Step S14104).
  • the first calculation unit 14105 uses the input first output information z ⁇ , 1 and random numbers r ( ⁇ , 4) and r ( ⁇ , 5), and uses z ⁇ , 1 Y ⁇ -r ( ⁇ , 4) ⁇ . ⁇ , g ⁇ r ( ⁇ , 5) is calculated, and the calculation result is set to u ⁇ (step S14105).
  • the calculation result u ⁇ is sent to the first power calculation unit 11106.
  • z ⁇ , 1 Y ⁇ -r ( ⁇ , 4) ⁇ ⁇ , g -r ( ⁇ , 5) is a random number having an error X ⁇ , 1 with respect to f ⁇ (c ⁇ , 1 , c ⁇ , 2 ) Is the output of a convertible sampler. The reason will be described later.
  • the second calculation unit 14108 uses the input second output information z ⁇ , 2 and the random numbers r ( ⁇ , 6) and r ( ⁇ , 7), and uses z ⁇ , 2 Y ⁇ -r ( ⁇ , 6) ⁇ . ⁇ , g -r ( ⁇ , 7) is calculated and the calculation result is v ⁇ .
  • the calculation result v ⁇ is sent to the second power calculation unit 11109.
  • the natural number storage unit 11101 of the computing device stores a pair of two natural numbers a ( ⁇ ) and b ( ⁇ ) that are relatively prime (a ( ⁇ ) and b ( ⁇ ) ) Are stored, and each processing is executed using these sets (a ( ⁇ ), b ( ⁇ )).
  • one of a ( ⁇ ) and b ( ⁇ ) may be a constant.
  • a ( ⁇ ) may be fixed to 1
  • b ( ⁇ ) may be fixed to 1. It may be different for each ⁇ which of the natural numbers a ( ⁇ ) and b ( ⁇ ) is a constant.
  • one of the first randomizable sampler and the second randomizable sampler may be replaced with a sampler.
  • the process of selecting a ( ⁇ ) or b ( ⁇ ) that is a constant is not necessary, and each processing unit is a constant (a)
  • the calculation can be performed by treating b ( ⁇ ) as a constant without being input.
  • the eleventh embodiment is an example of such a modification, in which b ( ⁇ ) is fixed to 1 and the second randomizable sampler is replaced with a sampler.
  • b ( ⁇ ) is fixed to 1 and the second randomizable sampler is replaced with a sampler.
  • it demonstrates centering around difference with 7th embodiment, and abbreviate
  • Specific examples of the first randomizable sampler and the sampler are the same as those described in the eighth embodiment to the tenth embodiment, and thus the description thereof is omitted.
  • the calculation device 111 of the seventh embodiment is replaced with the calculation device 151, and the capability providing devices 112-1,. Is replaced with the capability providing devices 152-1,..., 152- ⁇ .
  • the calculation device 151 includes, for example, a natural number storage unit 15101, a natural number selection unit 15102, an input information providing unit 15104, a first calculation unit 15105, and a first power calculation unit 11106. It has a first list storage unit 11107, a second calculation unit 15108, a second list storage unit 15110, a determination unit 15111, a final output unit 15112, and a control unit 11113.
  • the capability providing apparatus 152- ⁇ of the eleventh embodiment includes, for example, a first output information calculation unit 15201- ⁇ , a second output information calculation unit 15202- ⁇ , and a key storage unit 11204- ⁇ . And a control unit 11205- ⁇ . When the capability providing device 152- ( ⁇ + 1),..., 52- ⁇ exists, these configurations are the same as those of the capability providing device 152- ⁇ .
  • the natural number selection unit 15102 of the calculation device 151 randomly selects one natural number a ( ⁇ ) from a plurality of natural numbers a ( ⁇ ) stored in the natural number storage unit 15101. Read. The read information on the natural number a ( ⁇ ) is sent to the input information providing unit 15104 and the first power calculation unit 11106 (step S15100).
  • the input information providing unit 15104 generates and outputs first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 corresponding to the input ciphertext ⁇ ⁇ , respectively.
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 are information that disturbs the relationship with the ciphertext ⁇ ⁇ , respectively.
  • the computing device 151 can conceal the ciphertext ⁇ from the capability providing device 152- ⁇ .
  • the second input information ⁇ ⁇ , 2 of this embodiment further corresponds to the natural number a ( ⁇ ) selected by the natural number selection unit 15102.
  • the calculation device 151 can evaluate the decoding capability provided from the capability providing device 152- ⁇ with high accuracy (step S15103).
  • the first input information ⁇ ⁇ , 1 is input to the first output information calculation unit 15201- ⁇ of the capability providing device 152- ⁇ (FIG. 20), and the second input information ⁇ ⁇ , 2 is The information is input to the second output information calculation unit 15202- ⁇ (step S15200).
  • the first output information calculation unit 15201- ⁇ uses the first input information ⁇ ⁇ , 1 and the decryption key s ⁇ stored in the key storage unit 11204- ⁇ , and f ⁇ ( ⁇ ⁇ , 1 ) is calculated correctly, and the obtained calculation result is set as the first output information z ⁇ , 1 (step S15201).
  • the second output information calculation unit 15202- ⁇ uses the second input information ⁇ ⁇ , 2 and the decryption key s ⁇ stored in the key storage unit 11204- ⁇ , and f ⁇ ( ⁇ ⁇ , 2 ) is calculated correctly, and the obtained calculation result is set as the second output information z ⁇ , 2 (step S15202).
  • the first output information calculation unit 15201- ⁇ and the second output information calculation unit 15202- ⁇ output a calculation result including an intentional or unintentional error.
  • the calculation result in the first output information calculation unit 15201-iota is f ⁇ ( ⁇ ⁇ , 1) if the case also f ⁇ ( ⁇ ⁇ , 1) may not be the second output information calculation unit 15202 calculation results for - ⁇ is f ⁇ ( ⁇ ⁇ , 2) in some cases the f ⁇ ( ⁇ ⁇ , 2) may not be.
  • the first output information calculation unit 15201- ⁇ outputs the first output information z ⁇ , 1
  • the second output information calculation unit 15202- ⁇ outputs the second output information z ⁇ , 2 (step S15203).
  • the first output information z ⁇ , 1 is input to the first calculation unit 15105 of the calculation device 151 (FIG. 29), and the second output information z ⁇ , 2 is input to the second calculation unit 15108.
  • the first output information z ⁇ , 1 and the second output information z ⁇ , 2 correspond to the decryption capability given to the calculation device 151 from the capability providing device 152- ⁇ (step S15104).
  • the calculation result u ⁇ is sent to the first power calculation unit 11106 (step S15105).
  • a set (u ⁇ , u ⁇ ′) of the calculation result u ⁇ and u ⁇ ′ calculated based on the calculation result is stored in the first list storage unit 11107 (step S11106).
  • Specific examples of the calculation result v iota is from eighth embodiment iota either calculation result v of the tenth embodiment.
  • the calculation result v ⁇ is stored in the second list storage unit 15110 (step S15108).
  • step S15114 the most frequent value among the values obtained in step S15114 may be set as the decoding result f ⁇ ( ⁇ ⁇ ).
  • u ⁇ f ⁇ ( ⁇ ⁇ ) with an overwhelming probability depending on the setting.
  • the value obtained in step S15114 may be used as the decoding result f ⁇ ( ⁇ ⁇ ) as it is.
  • Subsequent processing is as described in the seventh embodiment.
  • the black box F ( ⁇ ) of f ( ⁇ ) means a processing unit that inputs ⁇ H and outputs z ⁇ G.
  • ⁇ U H, z F ( ⁇ )]> ⁇ ...
  • a black box F ( ⁇ ) of f ( ⁇ ) that satisfies the above is called a black box F ( ⁇ ) of f ( ⁇ ) with reliability ⁇ ( ⁇ -reliable).
  • is a positive value and corresponds to the “certain probability” described above.
  • the self-corrector C F ( ⁇ ) means a processing unit that receives ⁇ H, performs calculation using the black box F ( ⁇ ) of f ( ⁇ ), and outputs j ⁇ G ⁇ .
  • the calculation device 151 corresponds to the self-corrector C F ( ⁇ ).
  • the self-corrector C F ( ⁇ ) is said to be an all-most self-corrector.
  • Pr [j f ( ⁇ )
  • j C F ( ⁇ )]> (1/3) + ⁇ ′ for a certain positive value ⁇ ′ (0 ⁇ ′ ⁇ 1)
  • Pr [j
  • j C F ( ⁇ )] ⁇ 1/3
  • j C F ( ⁇ )] ⁇ 1/3
  • the self-corrector C F ( ⁇ ) is an all-most self-corrector.
  • j C F ( ⁇ )]> 1- ⁇ (10) with respect to an error ⁇ (0 ⁇ ⁇ ⁇ 1) that can be ignored. Assuming that In such a case, the self-corrector C F ( ⁇ ) is said to be a robust self-corrector. An example of the error ⁇ that can be ignored is the function value ⁇ (k) of the security parameter k.
  • An example of the function value ⁇ (k) is such that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • a robust self-corrector can be constructed from an all-most self-corrector. That is, a robust self-corrector can be configured by executing the all-most self-corrector a plurality of times for the same ⁇ and setting j as the most frequent output value excluding wrinkles. For example, a robust self-corrector can be constructed by executing an all-most self-corrector O (log (1 / ⁇ )) times for the same ⁇ and setting j as the most frequent output value.
  • O (•) represents the O-notation.
  • the operation defined by the pair (G, ⁇ ) is a pseudo-free action.
  • the set ⁇ ⁇ ⁇ ⁇ a ( ⁇ )
  • if exceeding 2 k the set ( The operation defined by G, ⁇ ) is a pseudo-free action.
  • a ( ⁇ ) represents the result of applying a predetermined calculation to a and ⁇ . There are many such examples.
  • p ⁇ 1.
  • a sampler satisfying the above condition is called a randomizable sampler with reliability ⁇ .
  • Set of input information providing unit 15104 of the present embodiment and the second output information calculation unit 15202 and the second calculation unit 15108, for w f ( ⁇ ), a reliability [delta] gamma random number of possible sampler.
  • the erroneous decoding result f (when u a v
  • the computing device 151 is an all-most self-corrector (see equation (9)). Therefore, as described above, a robust self-corrector can be configured from the computing device 151, and a correct decoding result f ( ⁇ ) can be obtained with an overwhelming probability.
  • Sadamari is 0 for any constant [rho, function value for 'any k satisfying' k 0 ⁇ k for this k 0 eta (k ') if is less than [rho "eta (k') Is asymptotically small. "
  • An example of k ′ is a security parameter k.
  • An example of the function value ⁇ (k) is such that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • the calculation device when the first output information z ⁇ , 1 and the second output information z ⁇ , 2 are given to the calculation device, the calculation device has a certain probability of u ⁇ b ′ ( ⁇ ) v ⁇ a '( ⁇ ) can be output.
  • u ⁇ b ′ ( ⁇ ) v ⁇ a ′ ( ⁇ ) is a decrypted value of the ciphertext ⁇ ⁇ with high probability.
  • the calculation device cannot obtain the decrypted value of the ciphertext ⁇ ⁇ .
  • the decryption key is stored in the computing device.
  • the ciphertext decryption ability of the computing device can be controlled without giving
  • is an integer greater than or equal to 2, but ⁇ may be 1. That is, a configuration in which only one capability providing apparatus exists may be used.
  • the computing device in this case may not include the restoration unit, and may output the output value from the final output unit as it is.
  • the system according to any of the first to fifth embodiments described above further includes a decoding control device, and the decoding control device outputs a decoding control command for controlling the decoding processing of the computing device to the capability providing device.
  • the capability providing apparatus determines whether both the first output information z 1 and the second output information z 2 are output from the first output information calculation unit and the second output information calculation unit according to the decoding control command.
  • the system of the sixth embodiment described above further includes a decryption control device, the decryption control device outputs a decryption control command for controlling the decryption processing of the computing device to the capability providing device, and the capability providing device performs the decryption control.
  • the command it may be controlled whether or not both the first output information M z 1 and the second output information M z 2 are output from the first output information calculation unit and the second output information calculation unit.
  • the random variables X ⁇ , 1 , X ⁇ , 2 and X ⁇ , 3 may be the same or different.
  • Each of the first random number generator, the second random number generator, the third random number generator, the fourth random number generator, the fifth random number generator, the sixth random number generator, and the seventh random number generator generates a uniform random number. Therefore, the safety of the proxy calculation system can be increased. However, if the required level of security is not so high, the first random number generator, the second random number generator, the third random number generator, the fourth random number generator, the fifth random number generator, the sixth random number generator And at least a part of the seventh random number generator may generate a random number that is not a uniform random number.
  • the processing of the capability providing device is performed. It may be executed multiple times.
  • the computing device can obtain the first output information z ⁇ , 1 and the second output information.
  • information z iota, 2 and the third output information z iota it is possible to obtain a plurality of 3. This can reduce the exchange frequency and the amount of communication between the computing device and the capability providing apparatus.
  • the computing device collectively provides a plurality of types of first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 to the capability providing device, and corresponding first output information z ⁇ , 1 and second output information z ⁇ , 2 and third output information z ⁇ , 3 may be acquired together. Thereby, the frequency
  • is a constant. However, ⁇ may be a variable as long as the value of ⁇ can be shared within the proxy calculation system. Data exchange between the units of the computing device may be performed directly or via a storage unit (not shown). Similarly, data exchange between the units of the capability providing apparatus may be performed directly or via a storage unit (not shown).
  • First calculation unit and the second calculation portion obtained u iota or in v each embodiments iota confirms whether the original group G iota, the processing described above in the case were the original group G iota Continuing, if u ⁇ or v ⁇ is not an element of the group G ⁇ , information indicating that the calculation could not be performed, for example, the symbol “ ⁇ ” may be output.
  • Each device is configured to be able to exchange information.
  • each device can exchange information via a transmission line, a network, a portable recording medium, or the like.
  • the capability providing device 212 gives each computing device 211- ⁇ the capability (calculation capability) to calculate the function f ⁇ that copies the element of the group H ⁇ to the element of the group G ⁇ .
  • Each computing device 211- ⁇ pays a compensation for this capability to the capability providing device 212.
  • Each computing device 211- ⁇ calculates the element f ⁇ (x ⁇ ) of the group G ⁇ with respect to the element x ⁇ of the group H ⁇ using the provided ability.
  • the calculation device 211- ⁇ of the twelfth embodiment includes, for example, a natural number storage unit 21101- ⁇ , a natural number selection unit 21102- ⁇ , an integer calculation unit 21103- ⁇ , and an input information providing unit 21104-.
  • the computing device 211- ⁇ executes each process under the control of the control unit 21113- ⁇ .
  • Examples of the computing device 211- ⁇ include a known or dedicated computer, a server device, a gateway device, and a card reader / writer device having a central processing unit (CPU) and a random-access memory (RAM) loaded with a special program. And a device having a calculation function and a storage function such as a mobile phone.
  • the capability providing apparatus 212 of the twelfth embodiment includes, for example, a first output information calculation unit 21201, a second output information calculation unit 21202, and a control unit 21205, respectively.
  • the capability providing apparatus 212 executes each process under the control of the control unit 21205.
  • Examples of the capability providing device 212 include a known or dedicated computer having a CPU and RAM loaded with a special program, a device having a calculation function and a storage function such as a mobile phone, an IC card, an IC chip, etc. Tamper resistant module.
  • G ⁇ and H ⁇ are groups (for example, commutative groups), X ⁇ , 1 and X ⁇ , 2 are random variables having values in the group G ⁇ , and x ⁇ , 1 is a random variable X ⁇ , 1 a realization value, x phi, 2 is the random variable X phi, a second realization, is a function f phi is copy the original group H phi to the original group G ⁇ , a ( ⁇ ), b ( Let ⁇ ) be natural numbers that are relatively prime. Specific examples of f phi is such encryption function, a decryption function, re-encryption function, a function for image processing process, functions for audio processing.
  • the operations on the groups G ⁇ and H ⁇ are expressed in a multiplicative manner. a ( ⁇ ) and b ( ⁇ ) are prime natural numbers, and “natural number” represents an integer of 0 or more.
  • a set of the original f ⁇ (M ⁇ ) a ( ⁇ ) b a (phi) elements of the group G phi to the original M phi of the group H phi called "kind to the original M ⁇ CL ⁇ (M ⁇ )".
  • CL ⁇ (M ⁇ ) and CL ⁇ ′ (M ⁇ ′ ) ( ⁇ ′ ⁇ ⁇ ) are different from each other. If the function f ⁇ (M ⁇ ) is a single-shot function to the original M phi, the same original M s for ⁇ CL ⁇ (M ⁇ ), with respect to a set of a ( ⁇ ), b ( ⁇ ), Only one element belongs.
  • class two values for the same original M ⁇ CL ⁇ (M belonging to ⁇ ) is equivalent to the two values being equal. That is, when the function f ⁇ (M ⁇ ) is a single-shot function to the original M phi, determination belongs to the class CL ⁇ (M ⁇ ) two values for the same original M phi is the two values are equal This can be done by determining.
  • the function f ⁇ (M ⁇ ) is not a single copy function with respect to the element M ⁇ (for example, when the function f ⁇ is an encryption function of a stochastic cryptosystem such as the ElGamal cryptosystem), the plaintext and the encryption key Since a plurality of ciphertexts correspond to the set, a plurality of elements belong to the class CL ⁇ (M ⁇ ) for the same element M ⁇ with respect to the set of a ( ⁇ ) and b ( ⁇ ).
  • each computing device 211- ⁇ there are a plurality of sets (a ( ⁇ ), b ( ⁇ )) of two natural numbers a ( ⁇ ) and b ( ⁇ ) that are relatively prime. It is assumed that the type is stored.
  • the set of disjoint things I phi of two natural numbers of sets of positions than the number of the group G phi natural number corresponding to the subset S phi of I phi in natural number storage unit 21101- ⁇ a ( ⁇ ), b It can be considered that the set (a ( ⁇ ), b ( ⁇ )) of ( ⁇ ) is stored.
  • Processing performed by the computing device 211- ⁇ using the capability providing device 212 will be described. These processes may be executed in a state where any one computing device 211- ⁇ that performs processing occupies the capability providing device 212 for a certain period of time, or a plurality of computing devices 211- ⁇ that perform processing include the capability providing device 212 may be accessed and executed in parallel.
  • Original x phi of the group H phi is inputted to the input information providing unit 21104-phi computing device 211-phi ( Figure 32). This process may be omitted if previously entered in the original x phi input information providing unit 21104-phi.
  • the natural number selection unit 21102- ⁇ of the computing device 211- ⁇ in which the element x ⁇ is input to the input information providing unit 21104- ⁇ is a plurality of natural numbers stored in the natural number storage unit 21101- ⁇ .
  • One set of natural numbers (a ( ⁇ ), b ( ⁇ )) is randomly read from the set (a ( ⁇ ), b ( ⁇ )).
  • Information on at least a part of the read natural number set (a ( ⁇ ), b ( ⁇ )) includes an integer calculation unit 21103- ⁇ , an input information providing unit 21104- ⁇ , a first power calculation unit 21106- ⁇ , and a second It is sent to the power calculator 21109- ⁇ (step S21100).
  • integers a ′ and b ′ are calculated by a well-known algorithm such as the extended mutual division method, and information on a set of natural numbers (a ′ ( ⁇ ) and b ′ ( ⁇ )) is sent to the final output unit 21112- ⁇ . (Step S21101).
  • the input information providing unit 21104- ⁇ generates and outputs first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input element x ⁇ .
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 are information in which the relationship with the element x ⁇ is disturbed. Accordingly, the computing device 211- ⁇ can conceal the element x ⁇ from the capability providing device 212.
  • the first input information ⁇ ⁇ , 1 of this embodiment further corresponds to the natural number b ( ⁇ ) selected by the natural number selection unit 21102- ⁇
  • the second input information ⁇ ⁇ , 2 is the natural number selection unit 21102- ⁇ .
  • This further corresponds to the natural number a ( ⁇ ) selected in (1).
  • the computing device 211- ⁇ can evaluate the computing capability provided from the capability providing device 212 with high accuracy (step S21103).
  • the first input information ⁇ ⁇ , 1 is input to the first output information calculation unit 21201 of the capability providing device 212 (FIG. 33), and the second input information ⁇ ⁇ , 2 is the second output information.
  • the data is input to the calculation unit 21202 (step S21200).
  • the first output information calculation unit 21201 uses the first input information ⁇ ⁇ , 1 to correctly calculate f ⁇ ( ⁇ ⁇ , 1 ) with a probability larger than a certain probability, and uses the obtained calculation result as the first output information.
  • z ⁇ , 1 is set (step S22101).
  • the second output information calculation unit 21202 uses the second input information ⁇ ⁇ , 2 to correctly calculate f ⁇ ( ⁇ ⁇ , 2 ) with a probability larger than a certain probability, and uses the obtained calculation result as the second output information.
  • z ⁇ , 2 is set (step S21202).
  • the “certain probability” is a probability of less than 100%.
  • the example of “certain probability” is a probability that cannot be ignored, and the example of “probability that cannot be ignored” is a case where a polynomial ⁇ (k) is a polynomial that is a broad monotone increasing function for the security parameter k. Of 1 / ⁇ (k) or more. That is, the first output information calculation unit 21201 and the second output information calculation unit 21202 can output a calculation result including an intentional or unintentional error.
  • the calculation result in the first output information calculation section 21201 is f ⁇ ( ⁇ ⁇ , 1) f ⁇ ( ⁇ ⁇ , 1) Some cases may not be located, the second output information calculation unit 21202-phi In some cases, the calculation result at is f ⁇ ( ⁇ ⁇ , 2 ) or not f ⁇ ( ⁇ ⁇ , 2 ).
  • the first output information calculation unit 21201 outputs the first output information z ⁇ , 1
  • the second output information calculation unit 21202 outputs the second output information z ⁇ , 2 (step S21203).
  • the first output information z ⁇ , 1 is input to the first calculation unit 21105- ⁇ of the calculation device 211- ⁇ (FIG. 32), and the second output information z ⁇ , 2 is input to the second calculation unit 21108-. Input to ⁇ .
  • the first output information z ⁇ , 1 and the second output information z ⁇ , 2 correspond to the calculation capability given from the capability providing device 212 to the calculation device 211- ⁇ (step S21104).
  • the user of the computing device 211- ⁇ given the computing ability pays the price to the ability providing device 212.
  • the payment method of the value may be performed by, for example, a known electronic payment process.
  • f ⁇ (x ⁇ ) b ( ⁇ ) x ⁇ and to generate a 1 (calculated) is, f ⁇ (x ⁇ ) b ( ⁇ ) x ⁇ , calculating the values of the formulas 1 and definition It is. If the value of the expression f ⁇ ( x ⁇ ) b ( ⁇ ) x ⁇ , 1 can be finally calculated, the calculation method in the middle is not limited. The same applies to the calculation of other equations appearing in this application. Operation result u phi is sent to the first power calculating unit 21106-phi (step S21105).
  • a set (u ⁇ , u ⁇ ′) of the calculation result u ⁇ and u ⁇ ′ calculated based on the calculation result is stored in the first list storage unit 21107- ⁇ (step S21106).
  • Operation result v phi is fed into a second power calculation unit 21109-phi (step S21108).
  • the second power calculation unit 21109-phi calculating the v ⁇ ' v ⁇ b ( ⁇ ).
  • a set (v ⁇ , v ⁇ ′) of the calculation result v ⁇ and v ⁇ ′ calculated based on the calculation result is stored in the second list storage unit 21110- ⁇ (step S21109).
  • step S21114 If there is a set of u ⁇ 'and v ⁇ ' belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ , the process proceeds to step S21114. If there is no set of u ⁇ ′ and v ⁇ ′ belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ , the process proceeds to step S21111.
  • T is a predetermined natural number.
  • the final output unit 21112- ⁇ outputs information indicating that the calculation could not be performed, for example, the symbol “ ⁇ ” (step S21113), and the process ends.
  • step S21114 the final output unit 21112- ⁇ determines u ⁇ and v ⁇ corresponding to the set of u ⁇ 'and v ⁇ ' determined to belong to the class CL ⁇ (M ⁇ ) for the same element M ⁇ . Using this, u ⁇ b ′ ( ⁇ ) v ⁇ a ′ ( ⁇ ) is calculated and output to finish the processing (step S21114).
  • the computing device 211- ⁇ does not require an authentication process for confirming the validity of the capability providing apparatus 212. Even if the processing contents of the other computing device 211- ⁇ ′ ( ⁇ ′ ⁇ ⁇ ) and the ability providing device 212 affect the processing contents between the computing device 211- ⁇ and the ability providing device 212, the ability is provided. If the device 212 gives a correct answer with a probability larger than a certain probability, the calculation device 211- ⁇ can obtain a correct answer and obtain a calculation result f ⁇ (x ⁇ ).
  • X ⁇ be a random variable having a value in the group G ⁇ . with ⁇ in w ⁇ ⁇ G, those that return the 'w ⁇ x ⁇ corresponding to the' specimen x ⁇ in accordance with the random variable X ⁇ each time you receive a request, sampler with an error X ⁇ for w ⁇ (sampler) Call it.
  • a randomizable sampler For w ⁇ ⁇ G ⁇ , every time a natural number a ( ⁇ ) is given, the one that returns w ⁇ a ( ⁇ ) x ⁇ ′ corresponding to the sample x ⁇ 'according to the random variable X ⁇ is the error X for w ⁇ It is called a randomizable sampler with ⁇ .
  • the combination of the input capability providing unit 21104- ⁇ , the first output information calculating unit 21201, and the first calculating unit 21105- ⁇ of the present embodiment is a randomizable sample having an error X ⁇ , 1 with respect to f ⁇ (x ⁇ ).
  • first randomizable sampler the combination of the input capability providing unit 21104- ⁇ , the second output information calculating unit 21202, and the second calculating unit 21108- ⁇ is f ⁇ (x ⁇ ) Is a randomizable sampler having an error X ⁇ , 2 (referred to as “second randomizable sampler”).
  • u ⁇ b ′ ( ⁇ ) (f ⁇ (x ⁇ ) b ( ⁇ ) x ⁇ , 1 )
  • V ⁇ a ′ ( ⁇ ) (f ⁇ (x ⁇ ) a ( ⁇ ) x ⁇ , 2 )
  • the calculation device 211- ⁇ outputs the correct f ⁇ (x ⁇ ) with an overwhelming probability.
  • S ⁇ (1, d)
  • the proxy calculation system of the thirteenth embodiment is an example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • the following description will focus on the parts that are different from those in the twelfth embodiment, and overlapping descriptions will be omitted for the common parts.
  • parts denoted by the same reference numbers have the same functions, and steps denoted by the same reference numbers represent the same processing.
  • the proxy calculation system 202 is obtained by replacing the calculation device 211 - ⁇ with the calculation device 221 - ⁇ and the capability providing device 212 with the capability providing device 222. is there.
  • the calculation device 221- ⁇ of the thirteenth embodiment includes, for example, a natural number storage unit 21101- ⁇ , a natural number selection unit 21102- ⁇ , an integer calculation unit 21103- ⁇ , and an input information providing unit 2104 ⁇ , first calculation unit 2105- ⁇ , first power calculation unit 21106- ⁇ , first list storage unit 21107- ⁇ , second calculation unit 2108- ⁇ , second power calculation unit 21109- ⁇ , and second list storage unit 21110- ⁇ , determination unit 21111- ⁇ , final output unit 21112- ⁇ , final output unit 21112- ⁇ , and control unit 21113- ⁇ .
  • a natural number storage unit 21101- ⁇ the natural number selection unit 21102- ⁇
  • an integer calculation unit 21103- ⁇ includes, for example, a natural number selection unit 21102- ⁇ , an integer calculation unit 21103- ⁇ , and an input information providing unit 2104 ⁇ , first calculation unit 2105- ⁇ , first power calculation unit 21106- ⁇ , first list storage unit 21107- ⁇ , second calculation unit 2108- ⁇ , second power calculation unit 21109- ⁇
  • the input information providing unit 22104- ⁇ of the present embodiment includes, for example, a first random number generation unit 22104a- ⁇ , a first input information calculation unit 22104b- ⁇ , and a second random number generation unit 22104c- ⁇ .
  • the capability providing apparatus 222 of the thirteenth embodiment includes, for example, a first output information calculation unit 22201, a second output information calculation unit 22202, and a control unit 21205, respectively.
  • the function f ⁇ is a homomorphic function
  • the group H ⁇ is a cyclic group
  • the generation source of the group H ⁇ is ⁇ ⁇ , h
  • the other premise is the same as that of the twelfth embodiment except that the computing device 211- ⁇ is replaced with the computing device 221- ⁇ and the capability providing device 212 is replaced with the capability providing device 222.
  • the processing of the thirteenth embodiment includes steps S21103 to S21105, S21108, S21200 to S2203 of the twelfth embodiment, and steps S22103 to S22105, S22108, and S22200 to S22203, respectively. Has been replaced. Only the processing of steps S22103 to S22105, S22108, and S22200 to S22203 will be described below.
  • Step S22103 Processing in Step S22103 >> The input information providing unit 22104- ⁇ of the computing device 221- ⁇ (FIG. 32) generates first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input element x ⁇ . It outputs (FIG. 37 / step S22103).
  • the processing in step S22103 of this embodiment will be described with reference to FIG.
  • the first random number generator 22104a- ⁇ (FIG. 34) generates a natural random number random number r ( ⁇ , 1) of 0 or more and less than K ⁇ , H.
  • the generated random number r ( ⁇ , 1) is sent to the first input information calculation unit 22104b- ⁇ and the first calculation unit 22105- ⁇ (step S22103a).
  • the second random number generator 22104c- ⁇ generates a natural random number r ( ⁇ , 2) that is a natural number between 0 and K ⁇ , H.
  • the generated random number r ( ⁇ , 2) is sent to the second input information calculation unit 22104d- ⁇ and the second calculation unit 22108- ⁇ (step S22103c).
  • the first input information calculation unit 22104b- ⁇ and the second input information calculation unit 22104d- ⁇ output the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 generated as described above (step S22103e). ).
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 of this embodiment disturb the relationship with the element x ⁇ by random numbers r ( ⁇ , 1) and r ( ⁇ , 2), respectively. Information.
  • the computing device 222 can conceal the element x ⁇ from the capability providing device 222.
  • the first input information ⁇ ⁇ , 1 further corresponds to the natural number b ( ⁇ ) selected by the natural number selection unit 21102- ⁇
  • the second input information ⁇ ⁇ , 2 is selected by the natural number selection unit 21102- ⁇ . It further corresponds to the natural number a ( ⁇ ).
  • the computing device 221- ⁇ can evaluate the computing capability provided from the capability providing device 222 with high accuracy.
  • the second input information ⁇ ⁇ , 2 ⁇ ⁇ , h r ( ⁇ , 2) x ⁇ a ( ⁇ ) is input to the second output information calculation unit 22202 (step S22200).
  • This calculation result may or may not be correct. That is, the calculation result in the first output information calculation unit 22201 may be f ⁇ ( ⁇ ⁇ , hr ( ⁇ , 1) x ⁇ b ( ⁇ ) ), or f ⁇ ( ⁇ ⁇ , hr ( ( ⁇ , 1) x ⁇ b ( ⁇ ) ) may not be satisfied (step S22201).
  • This calculation result may or may not be correct. That is, the calculation result in the second output information calculation unit 22202 may be f ⁇ ( ⁇ ⁇ , hr ( ⁇ , 2) x ⁇ a ( ⁇ ) ), or f ⁇ ( ⁇ ⁇ , hr ( ( ⁇ , 2) x ⁇ a ( ⁇ ) ) may not be satisfied (step S22202).
  • the first output information calculation unit 22201 outputs the first output information z ⁇ , 1 and the second output information calculation unit 22202 outputs the second output information z ⁇ , 2 (step S22203).
  • Steps S22104 and S22105> the first output information z ⁇ , 1 is input to the first calculation unit 22105- ⁇ of the calculation device 221- ⁇ (FIG. 32), and the second output information z ⁇ , 2 is input to the second calculation unit 22108-. Input to ⁇ .
  • the first output information z ⁇ , 1 and the second output information z ⁇ , 2 correspond to the calculation capability given from the capability providing device 222 to the calculation device 221- ⁇ (step S22104).
  • the first calculation unit 22105- ⁇ calculates z ⁇ , 1 ⁇ ⁇ -r ( ⁇ , 1) by using the input random number r ( ⁇ , 1) and the first output information z ⁇ , 1 and calculates the calculation.
  • Calculations u phi is sent to the first power calculating unit 21106-phi.
  • Step S22108 The second calculation unit 22108- ⁇ calculates z ⁇ , 2 ⁇ ⁇ -r ( ⁇ , 2) by using the input random number r ( ⁇ , 2) and the second output information z ⁇ , 2 and calculates it. The result is v ⁇ .
  • Calculation result v phi is fed to the second power calculation unit 21109-phi.
  • ⁇ Z ⁇ , 1 ⁇ ⁇ -r ( ⁇ , 1) , z ⁇ , 2 ⁇ ⁇ -r ( ⁇ , 2) are random numbers having errors X ⁇ , 1 , X ⁇ , 2 respectively for f ⁇ (x ⁇ ) Reasons for the output of a convertible sampler
  • the c is a natural number, as a random number R and R ', capability providing apparatus 222 ⁇ ⁇ , h R x ⁇ calculation results of calculations performed using c B ( ⁇ ⁇ , h R x ⁇ c) and.
  • This property is based on the fact that the function f ⁇ is a homomorphic function, and R and R ′ are random numbers.
  • the fourteenth embodiment is a modification of the thirteenth embodiment.
  • the amount of calculation of a sampler is smaller than that of a randomizable sampler.
  • the sampler performs the calculation instead of the randomizable sampler, so that the calculation amount of the proxy calculation system can be reduced.
  • the following description will focus on the parts that are different from the twelfth embodiment and the thirteenth embodiment, and duplicate descriptions will be omitted for the common parts.
  • the proxy calculation system 203 according to the fourteenth embodiment is obtained by replacing the calculation device 221 - ⁇ with a calculation device 231 - ⁇ and replacing the capability providing device 222 with a capability providing device 232. is there.
  • the calculation device 231- ⁇ of the fourteenth embodiment includes, for example, a natural number storage unit 21101- ⁇ , a natural number selection unit 21102- ⁇ , an integer calculation unit 21103- ⁇ , and an input information providing unit 22104- ⁇ , first calculation unit 22105- ⁇ , first power calculation unit 21106- ⁇ , first list storage unit 21107- ⁇ , second calculation unit 22108- ⁇ , second power calculation unit 21109- ⁇ , and second list storage unit 21110- ⁇ , determination unit 21111- ⁇ , final output unit 21112- ⁇ , control unit 21113- ⁇ , and third calculation unit 23109- ⁇ .
  • the capability providing apparatus 232 includes, for example, a first output information calculation unit 22201, a second output information calculation unit 22202, a control unit 21205, and a third output information calculation unit 23203.
  • the processing of this embodiment will be described. Differences from the thirteenth embodiment will be described. As illustrated in FIGS. 37 and 38, the process of the fourteenth embodiment includes steps S22103 to S22105, S22108, and S22200 to S22203 of the thirteenth embodiment, and steps S23103 to S23105, S23108, S22200 to S22203, and This is replaced with S23205 to S23209. The following description will focus on the processing of steps S23103 to S23105, S23108, S22200 to S22203, and S23205 to S23209.
  • Step S23103 Processing in Step S23103 >> The input information providing unit 23104- ⁇ of the computing device 231- ⁇ (FIG. 32) generates first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input element x ⁇ . It outputs (FIG. 37 / step S23103).
  • control unit 21113- ⁇ controls the input information providing unit 23104- ⁇ in accordance with the natural numbers (a ( ⁇ ), b ( ⁇ )) selected by the natural number selection unit 21102- ⁇ .
  • b ( ⁇ ) is 1 is determined by the control unit 21113- ⁇ (step S23103a). If it is determined that b ( ⁇ ) ⁇ 1, the processing of steps S22103a and S22103b described above is executed, The process proceeds to S23103g.
  • the generated random number r ( ⁇ , 3) is sent to the third input information calculation unit 23104f- ⁇ and the third calculation unit 23109- ⁇ (step S23103b).
  • the third input information calculation unit 23104f- ⁇ calculates x ⁇ r ( ⁇ , 3) using the input random number r ( ⁇ , 3) and the element x ⁇ , and uses this to calculate the first input information ⁇ ⁇ , 1 (step S23103c). Thereafter, the process proceeds to step S23103g.
  • the third input information calculation unit 23104f- ⁇ calculates x ⁇ r ( ⁇ , 3) using the input random number r ( ⁇ , 3) and the element x ⁇ , and uses this to calculate the second input information ⁇ ⁇ , 2 (step S23103i).
  • the first input information calculation unit 22104b- ⁇ , the second input information calculation unit 22104d- ⁇ , and the third input information calculation unit 23104f- ⁇ are the first input information ⁇ ⁇ , 1 and the second input information generated as described above.
  • ⁇ ⁇ , 2 is output together with information on the corresponding natural numbers (a ( ⁇ ), b ( ⁇ )) (step S23103e).
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 of the present embodiment are represented by elements x (random numbers r ( ⁇ , 1), r ( ⁇ , 2), r ( ⁇ , 3), respectively). This information disturbs the relationship with ⁇ .
  • the computing device 231 - ⁇ can conceal the element x ⁇ from the capability providing device 232.
  • the controller 21113- ⁇ determines whether b ( ⁇ ) is 1 (step S23205), and if it is determined that b ( ⁇ ) ⁇ 1, the process of step S22201 described above is executed. Thereafter, whether or not a ( ⁇ ) is 1 is determined by the control unit 21113- ⁇ (step S23208), and if it is determined that a ( ⁇ ) ⁇ 1, the process of step S22202 described above is executed and step The process proceeds to S23203.
  • This calculation result may or may not be correct.
  • the calculation result in the third output information calculating section 23203 is f ⁇ (x ⁇ r ( ⁇ , 3)) In some cases, become, f ⁇ (x ⁇ r ( ⁇ , 3)) and does not case (Step S23209). Thereafter, the process proceeds to step S23203.
  • step S23203 the first output information z phi, the first output information calculation unit 22201 which generates one first output information z phi, and outputs a 1, the second output information generated second output information z phi, 2 calculation unit 22202 and the second output information z phi, 2 outputs, the third output information z phi, third output information calculation unit 23202 which generates a 3 outputs a third output information z phi, 3 (step S23203) .
  • Step S23104 and S23105 Processing in Steps S23104 and S23105 >>
  • the first output information z ⁇ , 1 is input to the first calculation unit 22105- ⁇ of the calculation device 231- ⁇ (FIG. 32), and the second output information z ⁇ , 2 is input to the second calculation unit 22108- ⁇ , and the third output information z ⁇ , 3 is input to the third calculation unit 23109- ⁇ (step S23104).
  • the third calculation unit 23109- ⁇ sequentially sets ( ⁇ 1 , ⁇ 1 ), ( ⁇ 2 ) as a set of z ⁇ , 3 calculated based on the random number r ( ⁇ , 3) and the random number r ( ⁇ , 3). , ⁇ 2 ), ..., ( ⁇ m , ⁇ m ), ... are stored in a storage unit (not shown). m is a natural number.
  • This property is used. This property is based on the fact that R is a random number. Therefore, considering that r ( ⁇ , 3) is a random number, similarly, z ⁇ 1 / R becomes a sampler having an error X ⁇ , 3 with respect to f ⁇ (x ⁇ ).
  • the proxy calculation system of the fifteenth embodiment is another example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • a function for converting the original second ciphertext f ⁇ (x ⁇ ) C ⁇ , 2 (y ( ⁇ , 2), m ⁇ ).
  • the first ciphertext C ⁇ , 1 (y ( ⁇ , 1), m ⁇ ) is the plaintext m ⁇ with the first encryption key y ( ⁇ , 1) according to the first encryption scheme ENC ⁇ , 1.
  • the second ciphertext C ⁇ , 2 (y ( ⁇ , 2), m ⁇ ) is an encrypted ciphertext, and the plaintext m ⁇ is converted to the second encryption key y in accordance with the second encryption scheme ENC ⁇ , 2.
  • the second encryption method ENC ⁇ , 2 is an ElGamal encryption method, and the function f ⁇ (x ⁇ ) is a homomorphic function.
  • the first encryption method ENC ⁇ , 1 is not particularly limited, and the first encryption method ENC ⁇ , 1 may be a stochastic encryption method such as an ElGamal encryption method or an RSA encryption method. A definite encryption method may be used.
  • the proxy calculation system 204 of the fifteenth embodiment is obtained by replacing the calculation device 211 - ⁇ with the calculation device 241 - ⁇ and replacing the capability providing device 212 with the capability providing device 242. is there.
  • the calculation device 241 - ⁇ of the fifteenth embodiment includes, for example, a natural number storage unit 21101 - ⁇ , a natural number selection unit 21102 - ⁇ , an integer calculation unit 21103 - ⁇ , and an input information providing unit 24104-.
  • the input information providing unit 24104- ⁇ of the present embodiment includes, for example, a first random number generation unit 24104a- ⁇ , a first input information calculation unit 24104b- ⁇ , and a second random number generation unit 24104c- ⁇ .
  • the capability providing apparatus 242 of the fifteenth embodiment includes, for example, a first output information calculation unit 24201, a second output information calculation unit 24202, and a control unit 21205.
  • the group G ⁇ is the direct product group G ⁇ , 1 ⁇ G ⁇ , 2 , ⁇ ⁇ , g1 of the cyclic group G ⁇ , 1 , G ⁇ , 2 is the generator of the group G ⁇ , 1 ⁇ , g2 is the generator of the group G ⁇ , 2
  • the second encryption key y ( ⁇ , 2) is ⁇ ⁇ , g2 s ( ⁇ , 2)
  • element C ⁇ , 2 (y ( ⁇ , 2), m ⁇ ) is ( ⁇ ⁇ , g1 r ( ⁇ ) , m ⁇ y ( ⁇ , 2) r ( ⁇ ) ) ⁇ G ⁇ , 1 ⁇ G ⁇ , 2
  • r ( ⁇ ) is an integer random number
  • value u ⁇ a ( ⁇ ) is (c ⁇ , 1u , c ⁇ , 2u ) ⁇ G ⁇ , 1 ⁇ G ⁇ , 2
  • G ⁇ , 1 G ⁇ , 2 may be used, or G ⁇ , 1 ⁇ G ⁇ , 2 may be used.
  • the first encryption method ENC ⁇ , 1 is not limited.
  • the group H ⁇ is a cyclic group H ⁇ , 1.
  • H ⁇ , 2 Cartesian product group H ⁇ , 1 ⁇ H ⁇ , 2 , r ′ ( ⁇ ) is an integer random number, ⁇ ⁇ , h1 is a generator of group H ⁇ , 1 and ⁇ ⁇ , h2 is a group H ⁇ , 2 generator, the first encryption key y ( ⁇ , 1) is ⁇ ⁇ , h2 s ( ⁇ , 1) , and the first ciphertext C ⁇ , 1 (y ( ⁇ , 1), m ) is ( ⁇ , h1r ′ ( ⁇ ) , m ⁇ y ( ⁇ , 1) r ′ ( ⁇ ) ) ⁇ H ⁇ , 1 ⁇ H ⁇ , 2 .
  • H ⁇ , 1 H ⁇ , 2 may be used, or H ⁇ , 1 ⁇ H ⁇ , 2 may be used.
  • ( ⁇ 1 , ⁇ 2 ) ⁇ G ⁇ , 1 ⁇ G ⁇ , 2
  • ( ⁇ 1 , ⁇ 2 ) ⁇ G ⁇ , 1 ⁇ G ⁇ , 2 and ⁇ are natural numbers
  • ⁇ ⁇ represents ( ⁇ 1 ⁇ , ⁇ 2 ⁇ )
  • ⁇ - ⁇ represents ( ⁇ 1 - ⁇ , ⁇ 2 - ⁇ )
  • represents ( ⁇ 1 ⁇ 1 , ⁇ 2 ⁇ 2 ).
  • ( ⁇ 1 , ⁇ 2 ) ⁇ H ⁇ , 1 ⁇ H ⁇ , 2
  • ( ⁇ 1 , ⁇ 2 ) ⁇ H ⁇ , 1 ⁇ H ⁇ , 2
  • ⁇ ⁇ represents ( ⁇ 1 ⁇ , ⁇ 2 ⁇ )
  • ⁇ - ⁇ represents ( ⁇ 1 - ⁇ , ⁇ 2 - ⁇ )
  • represents ( ⁇ 1 ⁇ 1 , ⁇ 2 ⁇ 2 ).
  • Bilinear mapping examples are functions and algorithms for performing pairing operations such as Weil pairing and Tate pairing (Reference 2: Alfred. J. Menezes, “ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,” KLUWER ACADEMIC PUBLISHERS , ISBN0-7923-9368-6, pp. 61-81, and reference 3: RFC 5091, “Identity-Based Cryptography Standard (IBCS) # 1,” Supersingular Curve Implementations of the BF and BB1 Cryptosystems etc.).
  • Weil pairing and Tate pairing Reference 2: Alfred. J. Menezes, “ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,” KLUWER ACADEMIC PUBLISHERS , ISBN0-7923-9368-6, pp. 61-81, and reference 3: RFC 5091, “Identity-Based Cryptography Standard (IBCS) # 1,” Supersingular Curve Implementations of the BF and BB1 Cryptosystems etc.).
  • the process of the fifteenth embodiment includes steps S21103 to S21105, S21107, S21108, S21110, and S21200 to S21203 of the twelfth embodiment, respectively, steps S24103 to S24105, S24107, This is replaced with S24108, S24110, and S24200 to S24203.
  • steps S24103 to S24105, S24107, S24108, S24110, and S24200 to S24203 will be described.
  • step S24103 the processing in step S24103 of this embodiment will be described with reference to FIG.
  • the first random number generation unit 24104a- ⁇ (Fig. 35) is, any former h r phi group H phi, to produce a 1 ⁇ H ⁇ .
  • the element h r ⁇ , 1 is selected randomly and uniformly from the group H ⁇ (uniform random number).
  • the generated element h r ⁇ , 1 is sent to the first input information calculation unit 24104b- ⁇ and the first calculation unit 24105- ⁇ (step S24103a).
  • the first input information calculation unit 24104b- ⁇ receives the natural number b ( ⁇ ), the element x ⁇ , the element h r ⁇ , 1 , and the first encryption key y ( ⁇ , 1) selected by the natural number selection unit 21102- ⁇ . Is used to calculate x ⁇ b ( ⁇ ) C ⁇ , 1 (y ( ⁇ , 1), h r ⁇ , 1 ) as the first input information ⁇ ⁇ , 1 (step S24103b).
  • the element h r ⁇ , 2 is selected randomly and uniformly from the group H ⁇ (uniform random number).
  • the generated element h r ⁇ , 2 is sent to the second input information calculation unit 24104d- ⁇ and the second calculation unit 24108- ⁇ (step S24103c).
  • the second input information calculation unit 24104b- ⁇ receives the natural number a ( ⁇ ), the element x ⁇ , the element h r ⁇ , 2 and the first encryption key y ( ⁇ , 1) selected by the natural number selection unit 21102- ⁇ . Then, x ⁇ a ( ⁇ ) C ⁇ , 1 (y ( ⁇ , 1), h r ⁇ , 2 ) is calculated as the second input information ⁇ ⁇ , 2 (step S24103d).
  • the information is input to the output information calculation unit 24202 (step S24200).
  • the calculation result in the first output information calculation unit 24201 may be f ⁇ (x ⁇ b ( ⁇ ) C ⁇ , 1 (y ( ⁇ , 1), h r ⁇ , 1 )). ⁇ (x ⁇ b ( ⁇ ) C ⁇ , 1 (y ( ⁇ , 1), h r ⁇ , 1)) and in some cases not (step S24201).
  • the function f phi of the present embodiment first in line first encryption method ENC phi, first decryption key s (phi, 1) in accordance with the 1 values obtained by decoding the ciphertext to ElGamal cryptosystem It is a homomorphic function for encrypting with two encryption keys y ( ⁇ , 2).
  • the function f ⁇ is the first decryption key s ( ⁇ , 1 ) Is a homomorphic function for encrypting the value obtained by decrypting the ciphertext with the second encryption key y ( ⁇ , 2) in accordance with the ElGamal cryptosystem.
  • the calculation result in the second output information calculation unit 24202 may be f ⁇ (x ⁇ a ( ⁇ ) C ⁇ , 1 (y ( ⁇ , 1), h r ⁇ , 2 )).
  • ⁇ (x ⁇ a ( ⁇ ) C ⁇ , 1 (y ( ⁇ , 1), h r ⁇ , 2)) is a not case (step S24202).
  • the first output information calculation unit 24201 outputs the first output information z ⁇ , 1
  • the second output information calculation unit 24202 outputs the second output information z ⁇ , 2 (step S24203).
  • the first output information z ⁇ , 1 is input to the first calculation unit 24105- ⁇ of the calculation device 241- ⁇ (FIG. 32), and the second output information z ⁇ , 2 is input to the second calculation unit 24108-. is input to ⁇ (step S24104).
  • the first calculation unit 24105- ⁇ uses the input first output information z ⁇ , 1 , the element h r ⁇ , 1 and the second encryption key y ( ⁇ , 2), z z , 1 (C ⁇ , 2 (y ( ⁇ , 2), h r ⁇ , 1 )) ⁇ 1 and the calculation result is set to u ⁇ (step S24105).
  • Calculations u phi is sent to the first power calculating unit 21106-phi.
  • the second calculation unit 24108- ⁇ uses the input second output information z ⁇ , 2 , the element h r ⁇ , 2 and the second encryption key y ( ⁇ , 2), and uses z ⁇ , 2 (C ⁇ , 2 (y ( ⁇ , 2), h r ⁇ , 2 )) ⁇ 1 and the calculation result is v ⁇ .
  • Calculation result v phi is fed to the second power calculation unit 21109-phi.
  • the determination unit 24111- ⁇ includes a set (u ⁇ , u ⁇ ′) stored in the first list storage unit 21107- ⁇ and a set (v ⁇ , v ⁇ ′) stored in the second list storage unit 21110- ⁇ . Among them, it is determined whether or not u ⁇ ′ and v ⁇ ′ belong to the class CL ⁇ (M ⁇ ) for the same element M ⁇ .
  • step S21108 If the set (v ⁇ , v ⁇ ′) is not stored in the second list storage unit 21110- ⁇ , the process of the next step S21108 is performed without performing the process of step S24107.
  • the process of the next step S21108 is performed without performing the process of step S24107.
  • the determination unit 24111- ⁇ includes a set (u ⁇ , u ⁇ ′) stored in the first list storage unit 21107- ⁇ and a set (v ⁇ , v ⁇ ′) stored in the second list storage unit 24110- ⁇ . Among them, it is determined whether or not u ⁇ ′ and v ⁇ ′ belong to the class CL ⁇ (M ⁇ ) for the same element M ⁇ .
  • step S24110 If there is a set of u ⁇ 'and v ⁇ ' belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ , the process proceeds to step S21114. If there is no set of u ⁇ ′ and v ⁇ ′ belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ , the process proceeds to step S21111.
  • D ⁇ , 1 (s ( ⁇ , 1), x ⁇ ) is a function for decrypting the element x ⁇ with the first decryption key s ( ⁇ , 1) in accordance with the first encryption scheme ENC ⁇ , 1.
  • z ⁇ , 2 (C ⁇ , 2 (y ( ⁇ , 2), h r ⁇ , 2 )) -1 is the output of a randomizable sampler with errors X ⁇ , 1 and X ⁇ , 2 for f ⁇ (x ⁇ ), respectively.
  • r ′′ ( ⁇ ) and r ′ ′′ ( ⁇ ) are values determined by a random number component of the ElGamal cryptosystem and a set of natural numbers selected by the natural number selection unit 21102- ⁇ .
  • u ⁇ ′ and v ⁇ ′ belong to classes for different elements. That, u phi 'original m phi, s for u CL ⁇ (m ⁇ , u ) belongs to, v phi' original m ⁇ , v (m ⁇ , v ⁇ m ⁇ , u) s for CL phi (m Suppose that it belongs to ⁇ , v ).
  • N ⁇ is a composite number of prime number ⁇ ⁇ and prime number ⁇ ⁇
  • groups G ⁇ , 1 and G ⁇ , 2 are defined on the remainder ring Z / N ⁇ Z modulo the composite number N ⁇ .
  • a subgroup consisting of points on the curve E ⁇ , 2 , G ⁇ , 1 ⁇ , G ⁇ , 2 ⁇ is a third elliptic curve E ⁇ , 3 defined on the remainder field Z / ⁇ ⁇ Z modulo the prime ⁇ ⁇
  • e ⁇ ( ⁇ , ⁇ ) is a bilinear map giving elements of the cyclic group G ⁇ , T to ( ⁇ , ⁇ ) ⁇ G ⁇ , 1 ⁇ G ⁇ , 2 , e ⁇ , ⁇ ( ⁇ ⁇ , ⁇ ⁇ ) is a second bilinear map giving elements of the cyclic group G ⁇ , T ⁇ for ( ⁇ ⁇ , ⁇ ⁇ ) ⁇ G ⁇ , 1
  • the bilinear map e ⁇ ( ⁇ , ⁇ ) is defined on the first elliptic curve E ⁇ , 1 defined on the remainder ring Z / N ⁇ Z.
  • the bilinear map e ⁇ ( ⁇ , ⁇ ) defined on the elliptic curve defined on the remainder ring in polynomial time, and on the remainder ring that can be computed in polynomial time.
  • the construction method of the bilinear map e ⁇ ( ⁇ , ⁇ ) defined on the defined elliptic curve is not known (Reference 4: Alexander W. Dent and Steven D.
  • Miller's algorithm (Ref. 5: VS Miller, “Short Programs for functions on”) is an algorithm for performing such e ⁇ , ⁇ ( ⁇ ⁇ , ⁇ ⁇ ) and e ⁇ , ⁇ ( ⁇ ⁇ , ⁇ ⁇ ) in polynomial time.
  • the isomorphism HM ⁇ that maps a point on the first elliptic curve E ⁇ , 1 to a point on the second elliptic curve E ⁇ , 2 and a point on the third elliptic curve E ⁇ , 3 and its inverse HM ⁇ -1 exists.
  • the same type that maps the element ⁇ mod N ⁇ of the remainder ring Z / N ⁇ Z to the element ⁇ mod ⁇ ⁇ of the remainder field Z / ⁇ ⁇ Z and the element ⁇ mod ⁇ ⁇ of the residue field Z / ⁇ ⁇ Z mapping the HM phi, residue field Z / ⁇ ⁇ Z of the original kappa omega mod omega phi and the original kappa iota mod iota phi of residue field Z / iota phi Z residue ring Z / N phi Z of the original kappa omega iota phi HM ⁇ ⁇ 1 is the map mapped onto ⁇ ⁇ '+ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ' mod N ⁇ .
  • Such ⁇ ⁇ 'and ⁇ ⁇ ' can be easily generated using the extended Euclidean algorithm.
  • the determination unit 24111 performs the remainder ring Z / N by the following steps A to D.
  • a bilinear map e ⁇ ( ⁇ , ⁇ ) on the first elliptic curve E ⁇ , 1 defined on ⁇ Z can be calculated.
  • the determination unit 24111 uses the isomorphism HM ⁇ to convert the point ⁇ G ⁇ , 1 on the first elliptic curve E ⁇ , 1 defined on the remainder ring Z / N ⁇ Z to the remainder field Z / omega phi second elliptic curve E phi defined on Z, a point on the 2 ⁇ ⁇ ( ⁇ ) ⁇ G ⁇ , third elliptic curve E phi defined on 1 ⁇ and residue field Z / iota phi Z, Copy to the point ⁇ ⁇ ( ⁇ ) ⁇ G ⁇ , 1 ⁇ on 3 .
  • Step B The determination unit 24111 uses the isomorphism HM ⁇ to convert the point ⁇ G ⁇ , 2 on the first elliptic curve E ⁇ , 1 defined on the remainder ring Z / N ⁇ Z to the remainder field Z / omega phi second elliptic curve E phi defined on Z, a point on the 2 ⁇ ⁇ ( ⁇ ) ⁇ G ⁇ , third elliptic curve E phi defined over 2 ⁇ and residue field Z / iota phi Z, Copy to the point ⁇ ⁇ ( ⁇ ) ⁇ G ⁇ , 2 ⁇ on 3 .
  • Step C The determination unit 24111 determines e ⁇ , ⁇ ( ⁇ ⁇ ( ⁇ ), ⁇ ⁇ ( ⁇ )) and e ⁇ , ⁇ in the second elliptic curve E ⁇ , 2 and the third elliptic curve E ⁇ , 3. Find ( ⁇ ⁇ ( ⁇ ), ⁇ ⁇ ( ⁇ )).
  • Step D The determination unit 24111 calculates the obtained calculation results e ⁇ , ⁇ ( ⁇ ⁇ ( ⁇ ), ⁇ ⁇ ( ⁇ )) and e ⁇ , ⁇ ( ⁇ ⁇ ( ⁇ ), ⁇ ⁇ ( ⁇ )).
  • a value obtained by applying the inverse image HM ⁇ ⁇ 1 is defined as e ⁇ ( ⁇ , ⁇ ).
  • the prime number ⁇ ⁇ is a person who can cause the computer 241 - ⁇ to execute the processing of steps S24107 and S24110. And those who know at least one of the prime numbers ⁇ ⁇ .
  • the proxy calculation system of the sixteenth embodiment is another example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • H phi is direct product group G ⁇ ⁇ G ⁇ of the group G phi
  • the group G phi is a cyclic group
  • the function f ⁇ (x ⁇ ) is decryption function of ElGamal encryption, i.e.
  • the proxy calculation system 205 of the sixteenth embodiment is obtained by replacing the calculation device 211 - ⁇ with a calculation device 251 - ⁇ and replacing the capability providing device 212 with a capability providing device 252. is there.
  • the calculation device 251 - ⁇ of the sixteenth embodiment includes, for example, a natural number storage unit 21101 - ⁇ , a natural number selection unit 21102 - ⁇ , an integer calculation unit 21103 - ⁇ , and an input information providing unit 25104-.
  • the input information providing unit 25104- ⁇ of the present embodiment includes, for example, a fourth random number generation unit 25104a- ⁇ , a fifth random number generation unit 25104b- ⁇ , and a first input information calculation unit 25104c- ⁇ .
  • a sixth random number generator 25104d- ⁇ , a seventh random number generator 25104e- ⁇ , and a second input information calculator 25104f- ⁇ are included.
  • the first input information calculation unit 25104c- ⁇ includes, for example, a fourth input information calculation unit 25104ca- ⁇ and a fifth input information calculation unit 25104cb- ⁇ , and the second input information calculation unit 25104f- ⁇
  • An input information calculation unit 25104fa- ⁇ and a seventh input information calculation unit 25104fb- ⁇ are included.
  • the capability providing apparatus 252 of the sixteenth embodiment includes, for example, a first output information calculation unit 25201, a second output information calculation unit 25202, and a control unit 21205.
  • the group H ⁇ G ⁇ ⁇ G ⁇
  • the element x ⁇ (c ⁇ , 1 , c ⁇ , 2 ) ⁇ H ⁇
  • f ⁇ (c ⁇ , 1 , c ⁇ , 2 ) Is a homomorphic function
  • the generator of the group G ⁇ is ⁇ ⁇ , g
  • the order of the group G ⁇ is K ⁇ , G
  • the decrypted text f ⁇ (V ⁇ , W ⁇ ) Y ⁇ ⁇ G ⁇ decrypted from the cipher text are preset in the computing device 251 - ⁇ and the capability providing device 252, and the computing device 251 It is assumed that - ⁇ and the capability providing device 252 can use this set
  • steps S21103 to S21105, S21108, and S21200 to S2203 of the twelfth embodiment are replaced with steps S25103 to S25105, S25108, and S25200 to S25203, respectively. It has been done. Only the processing of steps S25103 to S25105, S25108, and S25200 to S25203 will be described below.
  • step S25103 the processing in step S25103 of this embodiment will be described with reference to FIG.
  • the fourth random number generator 25104a- ⁇ (FIG. 36) generates a natural random number r ( ⁇ , 4) that is a natural number greater than or equal to 0 and less than K ⁇ , G.
  • the generated random number r ( ⁇ , 4) is sent to the fourth input information calculation unit 25104ca- ⁇ , the fifth input information calculation unit 25104cb- ⁇ , and the first calculation unit 25105- ⁇ (step S25103a).
  • the fifth random number generator 25104b- ⁇ generates a natural random number r ( ⁇ , 5) that is a natural number greater than or equal to 0 and less than K ⁇ , G.
  • the generated random number r ( ⁇ , 5) is sent to the fifth input information calculation unit 25104cb- ⁇ and the first calculation unit 25105- ⁇ (step S25103b).
  • the fourth input information calculation unit 25104ca- ⁇ uses the natural number b ( ⁇ ) selected by the natural number selection unit 21102- ⁇ , c ⁇ , 2 included in the element x ⁇ , and the random number r ( ⁇ , 4),
  • the input information c ⁇ , 2 b ( ⁇ ) W r ( ⁇ , 4) is calculated (step S25103c).
  • the fifth input information calculation unit 25104cb- ⁇ includes the natural number b ( ⁇ ) selected by the natural number selection unit 21102- ⁇ , c ⁇ , 1 included in the element x ⁇ , and random numbers r ( ⁇ , 4), r ( ⁇ , 5), the fifth input information c ⁇ , 1 b ( ⁇ ) V r ( ⁇ , 4) ⁇ ⁇ , g r ( ⁇ , 5) is calculated (step S25103d).
  • the sixth random number generator 25104d- ⁇ generates a natural random number r ( ⁇ , 6) that is a natural number between 0 and K ⁇ , G.
  • the generated random number r ( ⁇ , 6) is sent to the sixth input information calculation unit 25104fa- ⁇ , the seventh input information calculation unit 25104fb- ⁇ , and the second calculation unit 25108- ⁇ (step S25103e).
  • the seventh random number generator 25104e- ⁇ generates a natural random number r ( ⁇ , 7) that is a natural number between 0 and K ⁇ , G.
  • the generated random number r ( ⁇ , 7) is sent to the seventh input information calculation unit 25104fb- ⁇ and the second calculation unit 25108- ⁇ (step S25103f).
  • the sixth input information calculation unit 25104fa- ⁇ uses the natural number a ( ⁇ ) selected by the natural number selection unit 21102- ⁇ , c ⁇ , 2 included in the element x ⁇ , and the random number r ( ⁇ , 6).
  • the input information c ⁇ , 2 a ( ⁇ ) W r ( ⁇ , 6) is calculated (step S25103g).
  • the seventh input information calculation unit 25104fb- ⁇ includes the natural number a ( ⁇ ) selected by the natural number selection unit 21102- ⁇ , c ⁇ , 1 included in the element x ⁇ , and random numbers r ( ⁇ , 6), r ( ⁇ , 7) is used to calculate the seventh input information c ⁇ , 1 a ( ⁇ ) V r ( ⁇ , 6) ⁇ g r ( ⁇ , 7) (step S25103h).
  • the second input information calculation unit 25104f- ⁇ generates the sixth input information c ⁇ , 2 a ( ⁇ ) W r ( ⁇ , 6) and the seventh input information c ⁇ , 1 a ( ⁇ ) V generated as described above.
  • ⁇ , gr ( ⁇ , 5) , c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) ) are correctly calculated, and the calculation result is set as the first output information z ⁇ , 1 . This calculation result may or may not be correct.
  • the calculation result in the first output information calculation unit 25201 is f ⁇ (c ⁇ , 1 b ( ⁇ ) V ⁇ r ( ⁇ , 4) ⁇ ⁇ , g r ( ⁇ , 5) , c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4) ) or f ⁇ (c ⁇ , 1 b ( ⁇ ) V ⁇ r ( ⁇ , 4) ⁇ ⁇ , g r ( ⁇ , 5) , c ⁇ , 2 b ( ⁇ ) W ⁇ r ( ⁇ , 4)) and in some cases not (step S25201).
  • the second output information calculating unit 25202, the second input information ⁇ ⁇ , 2 (c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6), c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6)
  • ⁇ ⁇ , g r ( ⁇ , 7) the decryption key s ( ⁇ )
  • f ⁇ (c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6) is greater than a certain probability.
  • ⁇ ⁇ , g r ( ⁇ , 7) , c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6) ) can be calculated correctly, and the obtained calculation result is expressed as second output information z ⁇ , 2 To do.
  • the calculation result in the second output information calculation unit 25202 is f ⁇ (c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6) ⁇ ⁇ , g r ( ⁇ , 7) , c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6) ) or f ⁇ (c ⁇ , 1 a ( ⁇ ) V ⁇ r ( ⁇ , 6) ⁇ ⁇ , g r ( ⁇ , 7) , c ⁇ , 2 a ( ⁇ ) W ⁇ r ( ⁇ , 6)) and in some cases not (step S25202).
  • the first output information calculation unit 25201 outputs the first output information z ⁇ , 1
  • the second output information calculation unit 25202 outputs the second output information z ⁇ , 2 (step S25203).
  • Step S25104 Processing in Steps S25104 and S25105 >> Returning to FIG. 37, the first output information z ⁇ , 1 is input to the first calculation unit 25105- ⁇ of the calculation device 251- ⁇ (FIG. 32), and the second output information z ⁇ , 2 is input to the second calculation unit 25108-. It is input to ⁇ (step S25104).
  • the first calculation unit 25105- ⁇ uses the input first output information z ⁇ , 1 and the random numbers r ( ⁇ , 4) and r ( ⁇ , 5) to obtain z ⁇ , 1 Y ⁇ r ( ⁇ , 4).
  • ⁇ ⁇ , g ⁇ r ( ⁇ , 5) is calculated, and the calculation result is set as u ⁇ (step S25105).
  • Calculations u phi is sent to the first power calculating unit 21106-phi.
  • z ⁇ , 4 Y ⁇ ⁇ r ( ⁇ , 4) ⁇ ⁇ , g ⁇ r ( ⁇ , 5) is a random number having an error X ⁇ , 1 with respect to f ⁇ (c ⁇ , 1 , c ⁇ , 2 ). This is the output of the convertible sampler. The reason will be described later.
  • the second calculation unit 25108- ⁇ uses the input second output information z ⁇ , 2 and the random numbers r ( ⁇ , 6) and r ( ⁇ , 7), and uses z ⁇ , 2 Y ⁇ -r ( ⁇ , 6 ) ⁇ ⁇ , g ⁇ r ( ⁇ , 7) is calculated, and the calculation result is v ⁇ .
  • Calculation result v phi is fed to the second power calculation unit 21109-phi.
  • z ⁇ Y ⁇ -R1 ⁇ ⁇ , g -R2 becomes the output of f ⁇ (x ⁇ ) randomization can sampler with an error X phi about.
  • e ⁇ , g is a unit element of the group G ⁇ .
  • the proxy calculation system of the seventeenth embodiment is another example in which the first randomizable sampler and the second randomizable sampler described above are embodied.
  • bi-homomorphism f phi there is a function or algorithm for performing pairing computation, such as Weil pairing or tate pairing.
  • pairing computation such as Weil pairing or tate pairing.
  • the proxy calculation system 207 of the seventeenth embodiment is obtained by replacing the calculation device 211 - ⁇ with the calculation device 271 - ⁇ and replacing the capability providing device 212 with the capability providing device 272. is there.
  • the calculation device 271- ⁇ of the seventeenth embodiment includes, for example, a natural number storage unit 21101- ⁇ , a natural number selection unit 21102- ⁇ , an integer calculation unit 21103- ⁇ , and an input information providing unit 27104-.
  • first calculation unit 27105- ⁇ , first power calculation unit 21106- ⁇ , first list storage unit 21107- ⁇ , second calculation unit 27108- ⁇ , second power calculation unit 21109- ⁇ , and second list storage unit 21110- ⁇ , determination unit 27111- ⁇ , final output unit 21112- ⁇ , and control unit 21113- ⁇ .
  • the input information providing unit 27104- ⁇ of the present embodiment includes, for example, a first random number generation unit 27104a- ⁇ , a second random number generation unit 27104c- ⁇ , and a first input information calculation unit 27104b- ⁇ .
  • the capability providing apparatus 272 of the seventeenth embodiment includes, for example, a first output information calculation unit 27201, a second output information calculation unit 27202, and a control unit 21205.
  • ⁇ ⁇ f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇
  • the process of the seventeenth embodiment includes steps S21103 to S21105, S21107, S21108, S21110, and S21200 to S21203 of the twelfth embodiment, respectively, steps S27103 to S27105, S27107, and S27108. , S27110, and S27200 to S27203. Only the processing of steps S27103 to S27105, S27107, S27108, S27110, and S27200 to S27203 will be described below.
  • the processing in step S27103 of this embodiment will be described with reference to FIG.
  • the first random number generator 27104a- ⁇ (FIG. 42) is a natural random number r ( ⁇ , 11), r ( ⁇ , 12), r ( ⁇ , 13) of 0 to 2 ⁇ (k) + k. , R ( ⁇ , 14), r ( ⁇ , 15), r ( ⁇ , 16) are generated. However, ⁇ (k) means a function value of the security parameter k.
  • the generated random numbers r ( ⁇ , 11), r ( ⁇ , 12), r ( ⁇ , 13), r ( ⁇ , 14), r ( ⁇ , 15), r ( ⁇ , 16) are the first inputs.
  • the information is sent to the information calculation unit 27104b- ⁇ and the first calculation unit 27105- ⁇ (step S27103a).
  • the first input information ⁇ ⁇ , 1 , ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 11) ⁇ r ( ⁇ , 12) , ⁇ 2, ⁇ b ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 13) ⁇ r ( ⁇ , 14) ), ( ⁇ 1, ⁇ r ( ⁇ , 11) , ⁇ 2, ⁇ -b ( ⁇ ) ⁇ r ( ⁇ , 12) ⁇ 2, ⁇ r ( ⁇ , 15 ) )
  • the second random number generator 27104c- ⁇ (FIG. 42) is a natural random number r ( ⁇ , 21), r ( ⁇ , 22), r ( ⁇ , 23) of 0 or more and 2 ⁇ (k) + k or less. , R ( ⁇ , 24), r ( ⁇ , 25), r ( ⁇ , 26) are generated. The generated random numbers r ( ⁇ , 21), r ( ⁇ , 22), r ( ⁇ , 23), r ( ⁇ , 24), r ( ⁇ , 25), r ( ⁇ , 26) are the second inputs. The information is sent to the information calculator 27104d- ⁇ and the second calculator 27108- ⁇ (step S27103e).
  • the second input information ⁇ ⁇ , 2 ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 21) ⁇ r ( ⁇ , 22) , ⁇ 2, ⁇ a ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 23) ⁇ r ( ⁇ , 24) ), ( ⁇ 1, ⁇ r ( ⁇ , 21) , ⁇ 2, ⁇ -a ( ⁇ ) ⁇ r ( ⁇ , 22) ⁇ 2, ⁇ r ( ⁇ , 25 ) )
  • the first input information calculating unit 27104b- ⁇ , first input information tau phi as 1, ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 11) ⁇ r ( ⁇ , 12), ⁇ 2, ⁇ b ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 13) ⁇ r ( ⁇ , 14) ), ( ⁇ 1, ⁇ r ( ⁇ , 11) , ⁇ 2, ⁇ -b ( ⁇ ) ⁇ r ( ⁇ , 12) ⁇ 2, ⁇ r ( ⁇ , 15) ) and ( ⁇ 1 , ⁇ - r ( ⁇ , 14) ⁇ 1 , ⁇ r ( ⁇ , 16) , ⁇ 2 , ⁇ r ( ⁇ , 13) ).
  • the second input information calculation unit 27104d- ⁇ receives ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 21) ⁇ r ( ⁇ , 22) , ⁇ 2, ⁇ a ( ) as the second input information ⁇ ⁇ , 2. ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 23) ⁇ r ( ⁇ , 24) ), ( ⁇ 1, ⁇ r ( ⁇ , 21) , ⁇ 2, ⁇ -a ( ⁇ ) ⁇ r ( ⁇ , 22) ⁇ 2, ⁇ r ( ⁇ , 25) ) and ( ⁇ 1, ⁇ -r ( ⁇ , 24) ⁇ 1, ⁇ r ( ⁇ , 26) , ⁇ 2, ⁇ r ( ⁇ , 23) ) are output (step SS27103i).
  • the first input information ⁇ ⁇ , 1 is ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 11) ⁇ r ( ⁇ , 12) , ⁇ 2, ⁇ b ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 13) ⁇ r ( ⁇ , 14) ), ( ⁇ 1, ⁇ r ( ⁇ , 11) , ⁇ 2, ⁇ -b ( ⁇ ) ⁇ r ( ⁇ , 12) ⁇ 2, ⁇ r ( ⁇ , 15) ) and ( ⁇ 1, ⁇ -r ( ⁇ , 14) ⁇ 1, ⁇ r ( ⁇ , 16) , ⁇ 2, ⁇ r ( ⁇ , 13) ) ) Of the first output information calculation unit 27201.
  • the second input information ⁇ ⁇ , 2 ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 21) ⁇ r ( ⁇ , 22) , ⁇ 2, ⁇ a ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 23 ) ⁇ R ( ⁇ , 24) ), ( ⁇ 1, ⁇ r ( ⁇ , 21) , ⁇ 2, ⁇ -a ( ⁇ ) ⁇ r ( ⁇ , 22) ⁇ 2, ⁇ r ( ⁇ , 25) ) and ( ⁇ 1, ⁇ ⁇ r ( ⁇ , 24) ⁇ 1, ⁇ r ( ⁇ , 26) , ⁇ 2, ⁇ r ( ⁇ , 23) ) is input to the second output information calculation unit 27202 (step S27200). .
  • the first output information calculation unit 27201 uses the first input information ⁇ ⁇ , 1 and has a larger probability than f ⁇ ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 11) ⁇ r ( ⁇ , 12) , ⁇ 2, ⁇ b ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 13) ⁇ r ( ⁇ , 14) ), f ⁇ ( ⁇ 1, ⁇ r ( ⁇ , 11) , ⁇ 2, ⁇ -b ( ⁇ ) ⁇ r ( ⁇ , 12) ⁇ 2, ⁇ r ( ⁇ , 15) ) and f ⁇ ( ⁇ 1, ⁇ -r ( ⁇ , 14) ⁇ 1, ⁇ r ( ⁇ , 16) , ⁇ 2, ⁇ r ( ⁇ , 13) ) is correctly calculated, and the obtained operation results z ⁇ , 1,1 , z ⁇ , 1,2 and z ⁇ , 1,3 are set as the first output information z ⁇ , 1 .
  • These calculation results may or may not be correct (step S27201).
  • the second output information calculation unit 27202 uses the second input information ⁇ ⁇ , 2 and has a probability larger than a certain probability, f ⁇ ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 21) ⁇ r ( ⁇ , 22) , ⁇ 2, ⁇ a ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 23) ⁇ r ( ⁇ , 24) ), f ⁇ ( ⁇ 1, ⁇ r ( ⁇ , 21) , ⁇ 2, ⁇ -a ( ⁇ ) ⁇ r ( ⁇ , 22) ⁇ 2, ⁇ r ( ⁇ , 25) ) and f ⁇ ( ⁇ 1, ⁇ -r ( ⁇ , 24) ⁇ 1, ⁇ r ( ⁇ , 26) , ⁇ 2, ⁇ r ( ⁇ , 23) ) is correctly calculated, and the obtained calculation results z ⁇ , 2,1 , z ⁇ , 2,2 and z ⁇ , 2,3 are set as the second output information z ⁇ , 2 .
  • step S27202 The first output information calculation unit 27201 outputs the first output information z ⁇ , 1 , and the second output information calculation unit 27202 outputs the second output information z ⁇ , 2 (step S27203).
  • Step S27104 Processing in Steps S27104 and S27105 >> Returning to FIG. 37, the first output information z ⁇ , 1 is input to the first calculation unit 27105- ⁇ of the calculation device 271- ⁇ (FIG. 32), and the second output information z ⁇ , 2 is input to the second calculation unit 27108-. It is input to ⁇ (step S27104).
  • u ⁇ f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ) b ( ⁇ ) x ⁇ , 1 . That is, z ⁇ , 1,1 z ⁇ , 1,2 z ⁇ , 1,3 ⁇ ⁇ -r ( ⁇ , 11) ⁇ r ( ⁇ , 12) ⁇ r ( ⁇ , 13) ⁇ r ( ⁇ , 14) -r ( ⁇ , 11) ⁇ r ( ⁇ , 15) -r ( ⁇ , 13) ⁇ r ( ⁇ , 16) gives the error X ⁇ , 1 for f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ). This is the output of a randomizable sampler. The reason will be described later.
  • v ⁇ f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ) a ( ⁇ ) x ⁇ , 2 That is, z ⁇ , 2,1 z ⁇ , 2,2 z ⁇ , 2,3 ⁇ ⁇ -r ( ⁇ , 21) ⁇ r ( ⁇ , 22) ⁇ r ( ⁇ , 23) ⁇ r ( ⁇ , 24) -r ( ⁇ , 21) ⁇ r ( ⁇ , 25) -r ( ⁇ , 23) ⁇ r ( ⁇ , 26) gives the error X ⁇ , 2 for f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ) This is the output of a randomizable sampler. The reason will be described later.
  • z ⁇ , 2,1 ' z ⁇ , 2,1 f ⁇ ( ⁇ 1, ⁇ ⁇ 1, ⁇ r ( ⁇ , 21) ⁇ r ( ⁇ , 22) , ⁇ 2, ⁇ a ( ⁇ ) ⁇ 2, ⁇ r ( ⁇ , 23) ⁇ r ( ⁇ , 24) ) ⁇ 1
  • z ⁇ , 2,2 ' z ⁇ , 2,2 f ⁇ ( ⁇ 1, ⁇ r ( ⁇ , 21) , ⁇ 2 , ⁇ -a ( ⁇ ) ⁇ r ( ⁇ , 22) ⁇ 2, ⁇ r ( ⁇ , 25)) -1
  • z ⁇ , 2,3 ' z ⁇ , 2,3 f ⁇ ( ⁇ 1, ⁇ - r ( ⁇ , 24) ⁇ 1, ⁇ r ( ⁇ , 26) , ⁇ 2, ⁇ r ( ⁇ , 23) ) -1
  • z ⁇ , 2,1 ′, z ⁇ , 2,2 ′, and z ⁇ , 2,3 ′ are statistically close and a probability distribution that does not depend on a ( ⁇ ). Therefore, the probability distribution formed by v ⁇ f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ) ⁇ a ( ⁇ ) is a probability distribution X ⁇ , 2 that does not depend on a ( ⁇ ) and statistically close. Therefore, v ⁇ is the output of a randomizable sampler having an error X ⁇ , 2 with respect to f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ). Similarly, u ⁇ is the output of a randomizable sampler having an error X ⁇ , 1 for f ⁇ ( ⁇ 1, ⁇ , ⁇ 2, ⁇ ).
  • the natural number storage unit 21101- ⁇ of the computing device has a plurality of sets of two prime numbers a ( ⁇ ) and b ( ⁇ ) (a ( ⁇ ) and b ( ⁇ )) that are relatively prime. Each process is executed by using these sets (a ( ⁇ ), b ( ⁇ )).
  • one of a ( ⁇ ) and b ( ⁇ ) may be a constant.
  • a ( ⁇ ) may be fixed to 1
  • b ( ⁇ ) may be fixed to 1.
  • one of the first randomizable sampler and the second randomizable sampler may be replaced with a sampler.
  • each processing unit has a ( ⁇ ) as a constant.
  • the calculation can be performed by treating b ( ⁇ ) as a constant without being input.
  • the eighteenth embodiment is an example of such a modification, in which b ( ⁇ ) is fixed to 1 and the second randomizable sampler is replaced with a sampler.
  • b ( ⁇ ) is fixed to 1
  • the second randomizable sampler is replaced with a sampler.
  • Specific examples of the first randomizable sampler and the sampler are the same as those described in the thirteenth to seventeenth embodiments, and thus the description thereof is omitted.
  • the calculation device 211- ⁇ of the twelfth embodiment is replaced with the calculation device 261- ⁇ , and the capability providing device 212 is replaced by the capability providing device 262.
  • the calculation device 261- ⁇ of the eighteenth embodiment includes, for example, a natural number storage unit 26101- ⁇ , a natural number selection unit 26102- ⁇ , an input information providing unit 26104- ⁇ , and a first calculation unit 26105.
  • first power calculation unit 21106- ⁇ first list storage unit 21107- ⁇
  • second calculation unit 26108- ⁇ second list storage unit 26110- ⁇
  • determination unit 26111- ⁇ determination unit 26111- ⁇
  • final output unit 21112- ⁇ final output unit 21112- ⁇
  • control unit 21113- ⁇ a control unit 21113- ⁇ .
  • the capability providing apparatus 262 of the eighteenth embodiment includes, for example, a first output information calculation unit 26201, a second output information calculation unit 26202, and a control unit 21205.
  • the natural number storage unit 26101- ⁇ of the computing device 261- ⁇ does not store the natural number b ( ⁇ ), but stores only a plurality of types of natural numbers a ( ⁇ ).
  • Other assumptions are the same as in any of the twelfth embodiment to the seventeenth embodiment described above.
  • the natural number selection unit 26102- ⁇ of the computing device 261- ⁇ selects one natural number a from a plurality of natural numbers a ( ⁇ ) stored in the natural number storage unit 26101- ⁇ . ( ⁇ ) is read randomly. The read information on the natural number a ( ⁇ ) is sent to the input information providing unit 26104- ⁇ and the first power calculation unit 21106- ⁇ (step S26100).
  • the input information providing unit 26104- ⁇ generates and outputs first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 respectively corresponding to the input element x ⁇ .
  • the first input information ⁇ ⁇ , 1 and the second input information ⁇ ⁇ , 2 are information in which the relationship with the element x ⁇ is disturbed.
  • the computing device 261- ⁇ can conceal the element x ⁇ from the capability providing device 262.
  • the second input information ⁇ ⁇ , 2 of this embodiment further corresponds to the natural number a ( ⁇ ) selected by the natural number selection unit 26102- ⁇ .
  • the computing device 261- ⁇ can evaluate the computing capability provided from the capability providing device 262 with high accuracy (step S26103).
  • the first input information ⁇ ⁇ , 1 is input to the first output information calculation unit 26201 of the capability providing device 262 (FIG. 33), and the second input information ⁇ ⁇ , 2 is the second output information.
  • the data is input to the calculation unit 26202 (step S26200).
  • the first output information calculation unit 26201 uses the first input information ⁇ ⁇ , 1 to correctly calculate f ⁇ ( ⁇ ⁇ , 1 ) with a probability larger than a certain probability, and uses the obtained calculation result as the first output information.
  • z ⁇ , 1 is set (step S26201).
  • the second output information calculation unit 26202 uses the second input information ⁇ ⁇ , 2 to correctly calculate f ⁇ ( ⁇ ⁇ , 2 ) with a probability larger than a certain probability, and uses the obtained calculation result as the second output information.
  • z ⁇ , 2 is set (step S26202). That is, the first output information calculation unit 26201 and the second output information calculation unit 26202 can output a calculation result including an intentional or unintentional error.
  • the calculation result in the first output information calculation section 26201 is f ⁇ ( ⁇ ⁇ , 1) if the case also f ⁇ ( ⁇ ⁇ , 1) may not be the, in the second output information calculation unit 26202
  • the calculation result may be f ⁇ ( ⁇ ⁇ , 2 ) or not f ⁇ ( ⁇ ⁇ , 2 ).
  • the first output information calculation unit 26201 outputs the first output information z ⁇ , 1
  • the second output information calculation unit 26202 outputs the second output information z ⁇ , 2 (step S26203).
  • the first output information z ⁇ , 1 is input to the first calculation unit 26105- ⁇ of the calculation device 261- ⁇ (FIG. 44)
  • the second output information z ⁇ , 2 is input to the second calculation unit 26108-. Input to ⁇ .
  • the first output information z ⁇ , 1 and the second output information z ⁇ , 2 correspond to the calculation capability given from the capability providing device 262 to the calculation device 261- ⁇ (step S26104).
  • a set (u ⁇ , u ⁇ ′) of the calculation result u ⁇ and u ⁇ ′ calculated based on the calculation result is stored in the first list storage unit 21107- ⁇ (step S21106).
  • Specific examples of the calculation result v phi is any operation result v phi seventeenth embodiment from the thirteenth embodiment. Operation result v phi is stored in the second list storage unit 26110-phi (step S26108).
  • the determination unit 26111- ⁇ uses the set (u ⁇ , u ⁇ ′) stored in the first list storage unit 21107- ⁇ and the second list storage.
  • v ⁇ stored in the part 26110- ⁇ it is determined whether there is one belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ where u ⁇ ′ and v ⁇ are the same (step S26110). If there is a set of u ⁇ ′ and v ⁇ belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ , the process proceeds to step S 26114. If there is no set of u ⁇ ′ and v ⁇ belonging to the class CL ⁇ (M ⁇ ) for the same element M ⁇ , the process proceeds to step S21111.
  • step S26114 u the final output unit 21112-phi corresponds to the same original M s for phi CL phi u which are determined to belong to (M ⁇ ) ⁇ 'and v u which set of the phi comprises phi' phi Is output (step S26114).
  • Black-box f phi black box F phi of ( ⁇ ⁇ ) ( ⁇ ⁇ ) means a processing section for outputting z phi ⁇ G phi as input ⁇ ⁇ ⁇ H ⁇ .
  • the first output information calculation unit 26201 and the second output information calculation unit 26202 correspond to the black box F ⁇ ( ⁇ ⁇ ) of the function f ⁇ ( ⁇ ⁇ ), respectively.
  • the self-corrector C F (x ⁇ ) takes x ⁇ ⁇ H ⁇ as input, performs calculation using the black box F ⁇ ( ⁇ ⁇ ) of f ⁇ ( ⁇ ⁇ ), and outputs j ⁇ G ⁇ Means a processing unit.
  • the calculation device 261- ⁇ corresponds to the self-corrector C F ( x ⁇ ).
  • Pr [j f ⁇ ( x ⁇ )
  • j C F (x ⁇ )] ⁇ 1/3 Pr [j ⁇ f ⁇ (x ⁇ ) and j ⁇ ⁇
  • j C F ( x ⁇ )]> 1- ⁇ (17) with respect to an error ⁇ (0 ⁇ ⁇ ⁇ 1) that can be ignored. ) Assume that In such a case, the self-corrector C F (x ⁇ ) is said to be a robust self-corrector.
  • An example of the error ⁇ that can be ignored is the function value ⁇ (k) of the security parameter k.
  • An example of the function value ⁇ (k) is such that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • a robust self-corrector can be constructed from an all-most self-corrector. That is, a robust self-corrector can be configured by executing the all-most self-corrector a plurality of times for the same x and setting j as the most frequent output value excluding wrinkles. For example, a robust self-corrector can be constructed by executing an all-most self-corrector O (log (1 / ⁇ )) times for the same x and setting j as the most frequent output value. O (•) represents the O-notation.
  • ⁇ (k) An example of a function ⁇ (k) that can be ignored is that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • the probability of Expression (18) is less than O (2 ⁇ k ) for the security parameter k, the operation defined by the pair (G ⁇ , ⁇ ⁇ ) is a pseudo-free action.
  • the operation defined by the pair (G ⁇ , ⁇ ⁇ ) can be said to be a pseudo-free action.
  • a ( ⁇ ) ( ⁇ ⁇ ) represents a result obtained by applying a predetermined calculation to a ( ⁇ ) and ⁇ . There are many such examples.
  • the T k, [delta] if a value larger than a predetermined value determined from the gamma, to at asymptotically large probability u ⁇ a ( ⁇ ) and v s and phi are for the same original M ⁇ CL ⁇ (M ⁇ ) In some cases, it belongs (becomes YES in step S26110).
  • G phi and natural numbers a (phi) is defined by a set of a set Omega phi belonging (G ⁇ , ⁇ ⁇ ) is a pseudo-free action, pseudo free indicator P (G ⁇ , ⁇ ⁇ ) for
  • T 2 P (G ⁇ , ⁇ ⁇ ) is asymptotically small
  • the computing device 261- ⁇ is an all-most self-corrector (see equation (16)). Therefore, as described above, a robust self-corrector can be configured from the computing device 261- ⁇ , and the correct f ⁇ (x ⁇ ) can be obtained with an overwhelming probability.
  • the operation defined by (G ⁇ , ⁇ ⁇ ) is a pseudo-free action
  • u ⁇ a ( ⁇ ) and v ⁇ belong to the class CL ⁇ (M ⁇ ) for the same element M ⁇
  • the probability that an erroneous f ⁇ (x ⁇ ) is output to can be ignored.
  • the computing device 261- ⁇ outputs the correct f ⁇ (x ⁇ ) or ⁇ with an overwhelming probability.
  • Sadamari is k 0 for any constant [rho, function value for 'any k satisfying' k 0 ⁇ k for this k 0 eta (k ') if is less than [rho "eta (k' ) Is asymptotically small.
  • An example of k ′ is a security parameter k. It is k 0 Sadamari for any constant [rho, the k 0 with respect to k 0 ⁇ function value for 'any k satisfying' k 1-eta (k ') if is less than [rho "eta (k' ) Is asymptotically large.
  • -W ⁇ a ( ⁇ ) x ⁇ 'corresponding to an invalid z ⁇ is output from a randomizable sampler.
  • the w ⁇ a ( ⁇ ) x ⁇ ′ corresponding to the illegal z ⁇ is a class CL ⁇ (for the element M ⁇ in which u ⁇ a ( ⁇ ) and v ⁇ are the same in the self-corrector C F (x ⁇ ).
  • the probability that the self-corrector C F (x ⁇ ) outputs an incorrect value is increased, although it is determined that it belongs to M ⁇ ) (yes in step S26110).
  • the probability distribution D a w ⁇ a ( ⁇ ) x ⁇ 'w ⁇ of the error of w ⁇ a ( ⁇ ) x ⁇ ' output from the randomizable sampler for the given natural number a ( ⁇ ) It is desirable that -a ( ⁇ ) does not depend on the natural number a ( ⁇ ).
  • An example of the function value ⁇ (k) is such that ⁇ (k) p (k) ⁇ converges to 0 for a sufficiently large k for an arbitrary polynomial p (k).
  • the present invention is not limited to the above-described embodiment.
  • the random variables X ⁇ , 1 , X ⁇ , 2 and X ⁇ , 3 may be the same or different.
  • Each of the random number generation units generates uniform random numbers, so that the security of the proxy calculation system is the highest. However, if the required level of security is not so high, at least a part of the random number generation unit may generate a random number that is not a uniform random number.
  • the selected random number of the natural number is preferably a natural number of 0 or more and less than K ⁇ , H or a natural number of 0 or more and 2 ⁇ (k) + k or less.
  • is a function of k.
  • can be the length of the original bit string of the group H ⁇ .
  • the processing of the capability providing device is performed. It may be executed multiple times.
  • the computing device can obtain the first output information z ⁇ , 1 and the second output information.
  • a plurality of pieces of information z ⁇ , 2 and third output information z ⁇ , 3 can be obtained. Thereby, the frequency
  • the computing device collectively provides a plurality of types of first input information ⁇ ⁇ , 1 and second input information ⁇ ⁇ , 2 to the capability providing device, and the corresponding first output information z ⁇ , 1 and second output information z ⁇ , 2 and third output information z ⁇ , 3 may be acquired together. Thereby, the frequency
  • the exchange of data between each unit of the computing device may be performed directly or via a storage unit (not shown).
  • data exchange between the units of the capability providing apparatus may be performed directly or via a storage unit (not shown).
  • First calculation unit and the second calculating unit u phi and obtained in v phi of the embodiment confirms whether the original group G phi, the processing described above in the case were the original group G phi Continuing, if u ⁇ or v ⁇ is not an element of the group G ⁇ , information indicating that the calculation could not be performed, for example, the symbol “ ⁇ ” may be output.
  • a computer When the above configuration is realized by a computer, the processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
  • This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads the program stored in its own recording device and executes the process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially.
  • the above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized in hardware.
  • the calculation device can obtain a correct calculation result using the calculation capability provided from the capability providing device even if the capability providing device does not necessarily execute the correct process. . Therefore, the computing device does not need to execute an authentication process for confirming the validity of the capability providing device. Even when a plurality of computing devices share the capability providing device, the computing device can obtain a correct calculation result.
  • proxy calculation system is licensed in the form of, for example, volunteer-based distributed calculation, P2P calculation service, calculation service for compensation for advertisement, calculation service provided as network service or public infrastructure, library This can be used to replace a calculation package with a network service.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

 G,Hを群、f(x)をx∈Hに対して群Gの元を得る関数、X1,X2を群Gに値を持つ確率変数、x1を確率変数X1の実現値、x2を確率変数X2の実現値、計算装置が、暗号文xに対応するτ1及びτ2を出力し、能力提供装置が、τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、計算結果をz1とし、τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、計算結果をzとし、計算装置が、zから計算結果u=f(x)b1を生成し、z2から計算結果v=f(x)a2を生成し、計算結果u及びvが特定の関係を満たす場合にub'a'を出力する。

Description

代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
 本発明は、他の装置で行われた計算結果を用いて計算を行う技術に関する。
 公開鍵暗号方式や共通鍵暗号方式などの暗号方式で暗号化された暗号文を復号するためには、特定の復号鍵が必要である(例えば、非特許文献1参照)。復号鍵を保持していない第一装置が暗号文の復号結果を得るための従来方法の一つは、復号鍵を保持している第二装置が第一装置に復号鍵を提供し、第一装置がその復号鍵を用いて暗号文の復号を行う方法である。第一装置が暗号文の復号結果を得るための他の従来方法は、第一装置が暗号文を第二装置に提供し、第二装置が暗号文を復号してその復号結果を第一装置に提供する方法である。
Taher Elgamal, A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, IEEE Transactions on Information Theory, v. IT-31, n. 4, 1985, pp. 469-472 or CRYPTO 84, pp. 10-18, Springer-Verlag.
 しかしながら、第二装置が第一装置に復号鍵を提供する方法では、復号鍵を第二装置の外部に取り出さなければならず、安全上の問題がある。一方、第一装置が暗号文を第二装置に提供し、第二装置が暗号文を復号する方法では、第一装置が第二装置の復号処理の正当性を検証することができない。このような課題は復号処理以外に一般化できる。すなわち、第二装置が秘密情報を漏洩することなく計算能力のみを第一装置に提供し、第一装置がその計算能力を用いて正しく計算を行う技術は存在しなかった。
 本発明では、G,Hを群、f(x)を群Hの元である暗号文xを特定の復号鍵で復号して群Gの元を得るための復号関数、X1,X2を群Gに値を持つ確率変数、x1を確率変数X1の実現値、x2を確率変数X2の実現値、a,bを互いに素である自然数として、計算装置が、暗号文xに対応する、群Hの元である第一入力情報τ1及び第二入力情報τ2を出力し、能力提供装置が、第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、計算結果を第一出力情報z1とし、第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、計算結果を第二出力情報z2とし、計算装置が、第一出力情報z1から計算結果u=f(x)b1を生成し、第二出力情報z2から計算結果v=f(x)a2を生成し、計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力する。
 本発明では、能力提供装置が秘密情報を漏洩することなく計算能力のみを計算装置に提供し、計算装置がその計算能力を用いて正しく計算を行うことができる。
実施形態の代理計算システムの構成を説明するためのブロック図。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の能力提供装置の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の計算装置の処理を説明するためのフローチャート。 実施形態の能力提供装置の処理を説明するためのフローチャート。 ステップS2103(S3103)の処理を説明するためのフローチャート。 ステップS4103の処理を説明するためのフローチャート。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の計算装置の処理を説明するためのフローチャート。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の能力提供装置の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の計算装置の処理を説明するためのフローチャート。 ステップS6103の処理を例示するためのフローチャート。 実施形態の能力提供装置の処理を説明するためのフローチャート。 実施形態の代理計算システムの構成を説明するためのブロック図。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の能力提供装置の構成を説明するためのブロック図。 実施形態の復号制御装置の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の暗号化処理を説明するためのフローチャート。 実施形態の復号処理を説明するためのフローチャート。 実施形態の復号能力提供処理を説明するためのフローチャート。 ステップS12103(S13103)の処理を説明するためのフローチャート。 ステップS14103の処理を説明するためのフローチャート。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の復号処理を説明するためのフローチャート。 実施形態の代理計算システムの構成を説明するためのブロック図。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の能力提供装置の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の計算装置の処理を説明するためのフローチャート。 実施形態の能力提供装置の処理を説明するためのフローチャート。 ステップS22103(S23103)の処理を説明するためのフローチャート。 ステップS24103の処理を説明するためのフローチャート。 ステップS25103の処理を説明するためのフローチャート。 実施形態の入力情報提供部の構成を説明するためのブロック図。 ステップS27103の処理を説明するためのフローチャート。 実施形態の計算装置の構成を説明するためのブロック図。 実施形態の計算装置の処理を説明するためのフローチャート。
 以下、図面を参照して本発明の実施形態を説明する。
 [第一実施形態]
 本発明の第一実施形態を説明する。
 <構成>
 図1に例示するように、第一実施形態の代理計算システム1は、例えば、復号鍵を保持していない計算装置11と復号鍵を保持する能力提供装置12とを有し、計算装置11が能力提供装置12に暗号文の復号能力の提供を依頼し、能力提供装置12から提供された復号能力を用いて暗号文を復号する。計算装置11と能力提供装置12とは情報のやり取りが可能なように構成される。例えば、計算装置11と能力提供装置12とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
 図2に例示するように、第一実施形態の計算装置11は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部1104と第一計算部1105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部1108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。計算装置11の例は、カードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータなどである。
 図3に例示するように、第一実施形態の能力提供装置12は、例えば、第一出力情報計算部1201と第二出力情報計算部1202と鍵記憶部1204と制御部1205とを有する。能力提供装置12の例は、ICカードやICチップなどの耐タンパ性モジュールや、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。
 <処理>
 次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数X1の実現値をx1、確率変数X2の実現値をx2とする。計算装置11の自然数記憶部1101には、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部1101にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。能力提供装置12の鍵記憶部2104には、特定の復号鍵sが安全に格納されているものとする。計算装置11の各処理は制御部1113の制御のもとで実行され、能力提供装置12の各処理は制御部1205の制御のもとで実行される。
 図6に例示するように、まず、計算装置11(図2)の自然数選択部1102が、自然数記憶部1101に記憶された複数の自然数の組(a,b)から1つの自然数の組(a,b)をランダムに読み込む。読み込まれた自然数の組(a,b)少なくとも一部の情報は、整数計算部1103、入力情報提供部1104、第一べき乗計算部1106及び第二べき乗計算部1109に送られる(ステップS1100)。
 整数計算部1103は、送られた自然数の組(a,b)を用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する。自然数a,bは互いに素であるため、a’a+b’b=1の関係を満たす整数a’,b’は必ず存在する。自然数の組(a’,b’)の情報は、最終出力部1112に送られる(ステップS1101)。
 制御部1113は、t=1とする(ステップS1102)。
 入力情報提供部1104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、計算装置11は、暗号文xを能力提供装置12に対して隠蔽できる。好ましくは、本形態の第一入力情報τ1は自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τ2は自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置12から提供された復号能力を計算装置11が高い精度で評価することが可能となる(ステップS1103)。
 図7に例示するように、第一入力情報τ1は能力提供装置12(図3)の第一出力情報計算部1201に入力され、第二入力情報τ2は第二出力情報計算部1202に入力される(ステップS1200)。
 第一出力情報計算部1201は、第一入力情報τ1と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする(ステップS1201)。第二出力情報計算部1202は、第二入力情報τ2と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする(ステップS1202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部1201や第二出力情報計算部1202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部1201での計算結果がf(τ1)の場合もあればf(τ1)でない場合もあり、第二出力情報計算部1202での計算結果がf(τ2)の場合もあればf(τ2)でない場合もある。
 第一出力情報計算部1201は第一出力情報z1を出力し、第二出力情報計算部1202は第二出力情報z2を出力する(ステップS1203)。
 図6に戻り、第一出力情報z1は計算装置11(図2)の第一計算部1105に入力され、第二出力情報z2は第二計算部1108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置12から計算装置11に与えられた復号能力に相当する(ステップS1104)。
 第一計算部1105は、第一出力情報z1から計算結果u=f(x)b1を生成する。ここで、f(x)b1を生成(計算)するとは、f(x)b1と定義される式の値を計算することである。式f(x)b1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。第一実施形態では群で定義された演算を乗法的に表現する。すなわちα∈Gに対する「αb」は、群Gで定義された演算をαに対してb回作用させることを意味し、α1,α2∈Gに対する「α1α2」は、α1とα2とを被演算子とした群Gで定義された演算を行うことを意味する(後述する第二から第五実施形態も同様)。計算結果uは第一べき乗計算部1106に送られる(ステップS1105)。
 第一べき乗計算部1106はu’=uaを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
 判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS1107)。もし、第二リスト記憶部1110に組(v,v’)が記憶されていない場合には、このステップS1107の処理を行わずに、次のステップS1108の処理を行う。u’=v’となるものがあった場合には、ステップS1114に進む。u’=v’となるものがなかった場合には、ステップS1108に進む。
 ステップS1108では、第二計算部1108が、第二出力情報z2から計算結果v=f(x)a2を生成する。計算結果vは第二べき乗計算部1109に送られる(ステップS1108)。
 第二べき乗計算部1109はv’=vを計算する。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部1110に記憶される(ステップS1109)。
 判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS1110)。u’=v’となるものがあった場合には、ステップS1114に進む。u’=v’となるものがなかった場合には、ステップS1111に進む。
 ステップS1111では、制御部1113がt=Tmaxであるか判定する(ステップS1111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部1113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tmaxでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS1103に戻る。
 計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置12が正しく計算を行う信頼性がTmaxで定められる基準を下回るということを意味する。言い換えれば、Tmax回の繰り返しで正しい演算を行うことができなかったということを意味する。
 ステップS1114では、最終出力部1112が、u’=v’であると判定されたu’及びv’に対応するu及びvを用いてub’a’を計算して、出力する(ステップS1114)。このように計算されたub’a’は高い確率で暗号文xを特定の復号鍵sで復号した復号結果f(x)となる(高い確率でub’a’=f(x)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS1114で得られた値のうち最も頻度の高い値を復号結果とすればよい。後述するように、設定によっては圧倒的な確率でub’a’=f(x)となる。その場合にはステップS1114で得られた値をそのまま復号結果としてよい。
 ≪高い確率でub’a’=f(x)となる理由について≫
 Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
 w∈Gについて、自然数aが与えられるたびに確率変数Xに従った標本x’に対応するwax’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
 本実施形態の入力情報提供部1104と第一出力情報計算部1201と第一計算部1105との組み合わせが、f(x)について誤差X1を持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部1104と第二出力情報計算部1202と第二計算部1108との組み合わせが、f(x)について誤差X2を持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
 u’=v’が成立するのは、すなわちua=vbが成立するのは、第一乱数化可能標本器がu=f(x)bを正しく計算しており、第二乱数化可能標本器がv=f(x)aを正しく計算している(x1及びx2が群Gの単位元egである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は五実施形態で行う。
 第一乱数化可能標本器がu=f(x)bを正しく計算しており、第二乱数化可能標本器がv=f(x)aを正しく計算しているとき(x1及びx2が群Gの単位元egであるとき)、ub’a’=(f(x)b1b’(f(x)a2a’=(f(x)bgb’(f(x)aga’=f(x)bb’g b’f(x)aa’g a’=f(x)(bb’+aa’)=f(x)となる。
 (q1,q2)∈Iについて、i=1,2の各々について関数πiをπi(q1,q2)=qiで定義する。L=min(♯π1(S),♯π2(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、計算装置11が「⊥」以外を出力するときの出力がf(x)ではない確率は、無視できる程度の誤差の範囲で高々Tmax 2L/♯S程度と期待することができる。もしL/♯Sが無視できる量でTmaxが多項式オーダー程度の量であれば、計算装置11は圧倒的な確率で正しいf(x)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|-1]}がある。
 [第二実施形態]
 第二実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
 <構成>
 図1に例示するように、第二実施形態の代理計算システム2は、計算装置11が計算装置21に置換され、能力提供装置12が能力提供装置22に置換されたものである。
 図2に例示するように、第二実施形態の計算装置21は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図4に例示するように、本形態の入力情報提供部2104は、例えば、第一乱数生成部2104aと第一入力情報計算部2104bと第二乱数生成部2104cと第二入力情報計算部2104dとを有する。
 図3に例示するように、第二実施形態の能力提供装置22は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205とを有する。
 <処理>
 次に本形態の処理を説明する。第二実施形態では、復号関数f(x)を準同型関数とし、群Hを巡回群とし、群Hの生成元をμh、群Hの位数をKH、ν=f(μh)とする。その他の前提は、計算装置11が計算装置21に置換され、能力提供装置12が能力提供装置22に置換されている以外、第一実施形態と同一である。
 図6及び図7に例示するように、第二実施形態の処理は第一実施形態のステップS1103~S1105,S1108,S1200~S1203が、それぞれ、ステップS2103~S2105,S2108,S2200~S2203に置換されたものである。以下ではステップS2103~S2105,S2108,S2200~S2203の処理のみを説明する。
 《ステップS2103の処理》
 計算装置21(図2)の入力情報提供部2104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(図6/ステップS2103)。以下、図8を用いて本形態のステップS2103の処理を説明する。
 第一乱数生成部2104a(図4)は、0以上KH未満の自然数の一様乱数r1を生成する。生成された乱数r1は、第一入力情報計算部2104b及び第一計算部2105に送られる(ステップS2103a)。第一入力情報計算部2104bは、入力された乱数rと暗号文xと自然数bとを用いて第一入力情報τ1=μh r1bを計算する(ステップS2103b)。ここで、μhの右肩のr1は、r1のことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
 第二乱数生成部2104cは、0以上KH未満の自然数の一様乱数r2を生成する。生成された乱数r2は、第二入力情報計算部2104d及び第二計算部2108に送られる(ステップS2103c)。第二入力情報計算部2104dは、入力された乱数r2と暗号文xと自然数aとを用いて第二入力情報τ2=μh r2aを計算する(ステップS2103d)。
 第一入力情報計算部2104b及び第二入力情報計算部2104dは、以上のように生成した第一入力情報τ1及び第二入力情報τ2を出力する(ステップS2103e)。なお、本形態の第一入力情報τ1及び第二入力情報τ2は、それぞれ、乱数r1,r2によって暗号文xとの関係をかく乱させた情報である。これにより、計算装置22は、暗号文xを能力提供装置22に対して隠蔽できる。本形態の第一入力情報τ1は自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τ2は自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置22から提供された復号能力を計算装置21が高い精度で評価することが可能となる。
 《ステップS2200~S2203の処理》
 図7に例示するように、まず、第一入力情報τ1=μh r1bが能力提供装置22(図3)の第一出力情報計算部2201に入力され、第二入力情報τ2=μh r2aが第二出力情報計算部2202に入力される(ステップS2200)。
 第一出力情報計算部2201は、第一入力情報τ1=μh r1bと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(μh r1b)を正しく計算し、得られた計算結果を第一出力情報z1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部2201での計算結果がf(μh r1b)となる場合もあれば、f(μh r1b)とならない場合もある(ステップS2201)。
 第二出力情報計算部2202は、第二入力情報τ2=μh r2aと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(μh r2a)を正しく計算し、得られた計算結果を第二出力情報z2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部2202での計算結果がf(μh r2a)となる場合もあれば、f(μh r2a)とならない場合もある(ステップS2202)。第一出力情報計算部2201は第一出力情報z1を出力し、第二出力情報計算部2202は第二出力情報z2を出力する(ステップS2203)。
 《ステップS2104及びS2105の処理》
 図6に戻り、第一出力情報z1は計算装置21(図2)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置22から計算装置21に与えられた復号能力に相当する(ステップS2104)。
 第一計算部2105は、入力された乱数r1及び第一出力情報z1を用いてz1ν-r1を計算してその計算結果をuとする。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z1ν-r1=f(x)b1となる。すなわち、z1ν-r1は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2105)。
 《ステップS2108の処理》
 第二計算部2108は、入力された乱数r2及び第二出力情報z2を用いてz2ν-r2を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z2ν-r2=f(x)a2となる。すなわち、z2ν-r2は、f(x)について誤差X2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2108)。
 ≪z1ν-r1,z2ν-r2がf(x)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となる理由について≫
 cを自然数、R及びR’を乱数として、能力提供装置22がμh Rcを用いて行う計算の計算結果をB(μh Rc)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202が計算装置21に返す計算結果をz=B(μh Rc)とする。さらに、群Gに値を持つ確率変数XをX=B(μh R’)f(μh R’-1と定義する。
 このとき、zν-R=B(μh Rc)f(μh-R=Xf(μh Rc)f(μh-R=Xf(μhRf(x)cf(μh-R=f(x)cXとなる。すなわち、zν-Rは、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。
 上記式展開において、X=B(μh R’)f(μh R’-1=B(μh Rc)f(μh Rc-1であり、B(μh Rc)=Xf(μh Rc)であるという性質を用いている。この性質は、関数f(x)が準同型関数であり、R及びR’が乱数であることに基づく。
 したがって、a,bが自然数、r1,r2が乱数であることを考慮すると、同様に、z1ν-r1,z2ν-r2がf(x)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となるのである。
 [第三実施形態]
 第三実施形態は第二実施形態の変形例であり、a=1やb=1のときに前述した標本器によってu又はvの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1やb=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第一実施形態及び第二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 <構成>
 図1に例示するように、第三実施形態の代理計算システム3は、計算装置21が計算装置31に置換され、能力提供装置22が能力提供装置32に置換されたものである。
 図2に例示するように、第三実施形態の計算装置31は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113と第三計算部3109とを有する。
 図3に例示するように、第三実施形態の能力提供装置32は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205と第三出力情報計算部3203とを有する。
 <処理>
 次に本形態の処理を説明する。第二実施形態との相違点を説明する。
 図6及び図7に例示するように、第三実施形態の処理は第二実施形態のステップS2103~S2105,S2108,S2200~S2203が、それぞれ、ステップS3103~S3105,S3108,S2200~S2203及びS3205~S3209に置換されたものである。以下ではステップS3103~S3105,S3108,S2200~S2203及びS3205~S3209の処理を中心に説明する。
 《ステップS3103の処理》
 計算装置31(図2)の入力情報提供部3104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(図6/ステップS3103)。
 以下、図8を用いて本形態のステップS3103の処理を説明する。
 制御部1113(図2)は、自然数選択部1102で選択された自然数(a,b)に応じて入力情報提供部3104を制御する。
 制御部1113でbが1であるかが判定され(ステップS3103a)、b≠1であると判定された場合、前述のステップS2103a及びS2103bの処理が実行され、ステップS3103gに進む。
 一方、ステップS3103aでb=1であると判定された場合、第三乱数生成部3104eが、0以上KH未満の自然数の乱数r3を生成する。生成された乱数r3は第三入力情報計算部3104f及び第三計算部3109に送られる(ステップS3103b)。第三入力情報計算部3104fは、入力された乱数r3と暗号文xとを用いてxr3を計算し、これを第一入力情報τ1とする(ステップS3103c)。その後、ステップS3103gに進む。
 ステップS3103gでは、制御部1113でaが1であるかが判定され(ステップS3103g)、a≠1であると判定された場合、前述のステップS2103c及びステップS2103dの処理が実行される。
 一方、ステップS3103gでa=1であると判定された場合、第三乱数生成部3104eが、0以上KH未満の自然数の乱数r3を生成する。生成された乱数r3は第三入力情報計算部3104fに送られる(ステップS3103h)。第三入力情報計算部3104fは、入力された乱数r3と暗号文xとを用いてxr3を計算し、これを第二入力情報τ2とする(ステップS3103i)。
 第一入力情報計算部2104b、第二入力情報計算部2104d、第三入力情報計算部3104fは、以上のように生成した第一入力情報τ1及び第二入力情報τ2を対応する自然数(a,b)の情報とともに出力する(ステップS3103e)。なお、本形態の第一入力情報τ1及び第二入力情報τ2は、それぞれ、乱数r1,r2,r3によって暗号文xとの関係をかく乱させた情報である。これにより、計算装置31は、暗号文xを能力提供装置32に対して隠蔽できる。
 《S2200~S2203及びS3205~S3209の処理》
 以下、図7を用いて本形態のS2200~S2203及びS3205~S3209の処理を説明する。
 制御部1205(図3)は、入力された自然数(a,b)に応じ、第一出力情報計算部2201、第二出力情報計算部2202、及び第三出力情報計算部3203を制御する。
 制御部1205の制御に基づき、b≠1の場合の第一入力情報τ1=μh r1bは能力提供装置32(図3)の第一出力情報計算部2201に入力され、a≠1の場合の第二入力情報τ2=μh r2aは第二出力情報計算部2202に入力される。b=1の場合の第一入力情報τ1=xr3やa=1の場合の第二入力情報τ2=xr3は第三出力情報計算部3203に入力される(ステップS3200)。
 制御部1113でbが1であるかが判定され(ステップS3205)、b≠1であると判定された場合、前述のステップS2201の処理が実行される。その後、制御部1113でaが1であるかが判定され(ステップS3208)、a≠1であると判定された場合、前述したステップS2202の処理が実行されてステップS3203に進む。
 一方、ステップS3208でa=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ2=xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(xr3)となる場合もあれば、f(xr3)とならない場合もある(ステップS3209)。その後、ステップS3203に進む。
 ステップS3205でb=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ1=xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報z3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(xr3)となる場合もあれば、f(xr3)とならない場合もある(ステップS3206)。
 その後、制御部1113でaが1であるかが判定され(ステップS3207)、a=1であると判定された場合にはステップS3203に進み、a≠1であると判定された場合にはステップS2202に進む。
 ステップS3203では、第一出力情報zを生成した第一出力情報計算部2201は第一出力情報zを出力し、第二出力情報z2を生成した第二出力情報計算部2202は第二出力情報z2を出力し、第三出力情報z3を生成した第三出力情報計算部3202は第三出力情報z3を出力する(ステップS3203)。
 《ステップS3104及びS3105の処理》
 図6に戻り、制御部1113の制御のもと、第一出力情報z1は計算装置31(図2)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力され、第三出力情報z3は第三計算部3109に入力される(ステップS3104)。
 b≠1であれば、第一計算部2105が、前述のステップS2105の処理によってuを生成し、b=1であれば、第三計算部3109が、z3 1/r3を計算してその計算結果をuとする。計算結果uは第一べき乗計算部1106に送られる。ここで、b=1の場合、u=z3 1/r3=f(x)x3となる。すなわち、z3 1/r3は、f(x)について誤差X3を持つ標本器となる。その理由については後述する(ステップS3105)。
 《ステップS3108の処理》
 a≠1であれば、第二計算部2108が、前述のステップS2108の処理によってvを生成し、a=1であれば、第三計算部3109が、z3 1/r3を計算してその計算結果をvとする。計算結果vは第二べき乗計算部1109に送られる。ここで、a=1の場合、v=z3 1/r3=f(x)x3となる。すなわち、z3 1/r3は、f(x)について誤差X3を持つ標本器となる。その理由については後述する(ステップS3108)。
 なお、z3 1/r3の計算、すなわちz3のべき乗根の計算が困難な場合には、次のようにしてu及び/又はvを計算してもよい。第三計算部3109は、乱数r3とその乱数r3に基づいて計算されたz3の組を順次(α1,β1),(α2,β2),…,(α,β),…として図示していない記憶部に記憶する。mは自然数である。第三計算部3109は、α1,α2,…,αmの最小公倍数が1になれば、γ1,γ2,…,γmを整数としてγ1α1+γ2α2+…+γmαm=1となるγ1,γ2,…,γmを計算して、そのγ1,γ2,…,γmを用いてΠi=1 mβi γi=β1 γ1β2 γ2…βm γmを計算して、その計算結果をu及び/又はvとしてもよい。
 ≪z3 1/r3がf(x)について誤差X3を持つ標本器となる理由について≫
 Rを乱数として、能力提供装置32がxRを用いて行う計算の計算結果をB(xR)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202や第三出力情報計算部3203が計算装置31に返す計算結果をz=B(xR)とする。さらに、群Gに値を持つ確率変数XをX=B(xR1/Rf(x)-1と定義する。
 このとき、z1/R=B(xR1/R=Xf(x)=f(x)Xとなる。すなわち、z1/Rは、f(x)について誤差Xを持つ標本器となる。
 上記式展開において、X=B(xR1/Rf(xR-1であり、B(xR1/R=Xf(xR)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
 したがって、r3が乱数であることを考慮すると、同様に、z1/Rがf(x)について誤差X3を持つ標本器となるのである。
 [第四実施形態]
 第四実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、H=G×G、復号関数f(x)がElGamal暗号の復号関数、すなわち復号鍵s及び暗号文x=(c1,c2)に対してf(c1,c2)=c12 -sである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 図1に例示するように、第四実施形態の代理計算システム4は、計算装置11が計算装置41に置換され、能力提供装置12が能力提供装置42に置換されたものである。
 図2に例示するように、第四実施形態の計算装置41は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部4104と第一計算部4105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部4108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図5に例示するように、本形態の入力情報提供部4104は、例えば、第四乱数生成部4104aと第五乱数生成部4104bと第一入力情報計算部4104cと第六乱数生成部4104dと第七乱数生成部4104eと第二入力情報計算部4104fとを有する。第一入力情報計算部4104cは、例えば、第四入力情報計算部4104caと第五入力情報計算部4104cbとを有し、第二入力情報計算部4104fは、第六入力情報計算部4104faと第七入力情報計算部4104fbとを有する。
 図3に例示するように、第四実施形態の能力提供装置42は、例えば、第一出力情報計算部4201と第二出力情報計算部4202と鍵記憶部1204と制御部1205とを有する。
 <処理>
 次に本形態の処理を説明する。第四実施形態では、群Hが群Gの直積群G×G、群Gが巡回群、暗号文x=(c1,c2)∈Hであり、f(c1,c2)が準同型関数であり、群Gの生成元をμgとし、群Gの位数をKGとし、同じ復号鍵sに対する暗号文(V,W)∈Hとその暗号文を復号した復号文f(V,W)=Y∈Gとの組が計算装置41及び能力提供装置42に事前設定され、計算装置41及び能力提供装置42がこの組を利用可能とされているものとする。
 図6及び図7に例示するように、第四実施形態の処理は第一実施形態のステップS1103~S1105,S1108,S1200~S1203が、それぞれ、ステップS4103~S4105,S4108,S4200~S4203に置換されたものである。以下ではステップS4103~S4105,S4108,S4200~S4203の処理のみを説明する。
 《ステップS4103の処理》
 計算装置41(図2)の入力情報提供部4104は、入力された暗号文x=(c1,c2)に対応する、群Hの元である第一入力情報τ1及び暗号文x=(c1,c2)に対応する群Hの元である第二入力情報τ2を生成して出力する(図6/ステップS4103)。以下、図9を用いて本形態のステップS4103の処理を説明する。
 第四乱数生成部4104a(図5)は、0以上K未満の自然数の一様乱数r4を生成する。生成された乱数r4は、第四入力情報計算部4104ca、第五入力情報計算部4104cb、及び第一計算部4105に送られる(ステップS4103a)。第五乱数生成部4104bは、0以上KG未満の自然数の一様乱数r5を生成する。生成された乱数r5は、第五入力情報計算部4104cb、及び第一計算部4105に送られる(ステップS4103b)。
 第四入力情報計算部4104caは、自然数選択部1102で選択された自然数b、暗号文xが含むc2、及び乱数r4を用い、第四入力情報c2 br4を計算する(ステップS4103c)。第五入力情報計算部4104cbは、自然数選択部1102で選択された自然数b、暗号文xが含むc、及び乱数r4,r5を用い、第五入力情報c1 br4μg r5を計算する(ステップS4103d)。
 第六乱数生成部4104dは、0以上KG未満の自然数の一様乱数r6を生成する。生成された乱数r6は、第六入力情報計算部4104fa、第七入力情報計算部4104fb、及び第二計算部4108に送られる(ステップS4103e)。第七乱数生成部125は、0以上KG未満の自然数の一様乱数r7を生成する。生成された乱数r7は、第六入力情報計算部4104fa、及び第二計算部4108に送られる(ステップS4103f)。
 第六入力情報計算部4104faは、自然数選択部1102で選択された自然数a、暗号文xが含むc2、及び乱数r6を用い、第六入力情報c2 ar6を計算する(ステップS4103g)。第七入力情報計算部4104fbは、自然数選択部1102で選択された自然数a、暗号文xが含むc1、及び乱数r7を用い、第七入力情報c1 ar6μg r7を計算する(ステップS4103h)。
 第一入力情報計算部4104cは、以上のように生成した第四入力情報c2 br4及び第五入力情報c1 br4μg r5を第一入力情報τ1=(c2 br4,c1 br4μg r5)として出力する。第二入力情報計算部4104fは、以上のように生成した第六入力情報c2 ar6及び第七入力情報c1 ar6μg r7を第二入力情報τ2=(c2 ar6,c1 ar6μg r7)として出力する(ステップS4103i)。
 《ステップS4200~S4203の処理》
 図7に例示するように、まず、第一入力情報τ1=(c2 r4,c1 br4μg r5)が能力提供装置42(図3)の第一出力情報計算部4201に入力され、第二入力情報τ2=(c2 r6,c1 ar6μg r7)が第二出力情報計算部4202に入力される(ステップS4200)。
 第一出力情報計算部4201は、第一入力情報τ1=(c2 br4,c1 br4μg r5)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c1 br4μg r5,c2 br4)を正しく計算し、計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部4201での計算結果がf(c1 br4μg r5,c2 br4)となる場合もあれば、f(c1 br4μg r5,c2 br4)とならない場合もある(ステップS4201)。
 第二出力情報計算部4202は、第二入力情報τ2=(c2 ar6,c1 ar6μg r7)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c1 ar6μg r7,c2 ar6)を正しく計算可能であり、得られた計算結果を第二出力情報z2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部4202での計算結果がf(c1 ar6μg r7,c2 ar6)となる場合もあれば、f(c1 ar6μg r7,c2 ar6)とならない場合もある(ステップS4202)。第一出力情報計算部4201は第一出力情報zを出力し、第二出力情報計算部4202は第二出力情報z2を出力する(ステップS4203)。
 《ステップS4104及びS4105の処理》
 図6に戻り、第一出力情報zは計算装置41(図2)の第一計算部4105に入力され、第二出力情報z2は第二計算部4108に入力される(ステップS4104)。
 第一計算部4105は、入力された第一出力情報z1及び乱数r4,r5を用い、z1-r4μg -r5を計算してその計算結果をuとする(ステップS4105)。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z1-r4μg -r5=f(c1,c2b1となる。すなわち、z1-r4μg -r5は、f(c1,c2)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS4108の処理》
 第二計算部4108は、入力された第二出力情報z2及び乱数r6,r7を用い、z2-r6μg -r7を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z2-r6μg -r7=f(c1,c2a2となる。すなわち、z2-r6μg -r7は、f(c1,c2)について誤差X2を持つ乱数化可能標本器の出力となる。その理由については後述する。
 ≪z1-r4μg -r5,z2-r6μg -r7がf(c1,c2)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となる理由について≫
 cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置42がc1 cR1μg R2及びc2 cR1を用いて行う計算の計算結果をB(c1 cR1μg R2,c2 cR1)とする。すなわち、第一出力情報計算部4201や第二出力情報計算部4202が計算装置41に返す計算結果をz=B(c1 cR1μg R2,c2 cR1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’-1と定義する。
 このとき、zY-R1μg -R2=B(c1 cR1μg R2,c2 cR1)Y-R1μg -R2=Xf(c1 cR1μg R2,c2 cR1)Y-R1μg -R2=Xf(c1,c2cf(V,W)R1f(μg,egR2-R1μg -R2=Xf(c1,c2R1μg R2-R1μg -R2=f(c1,c2cXとなる。すなわち、zY-R1μg -R2は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。なお、egは、群Gの単位元である。
 上記式展開において、X=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’-1=B(c1 cR1μg R2,c2 cR1)f(c1 cR1μg R2,c2 cR1)であり、B(c1 cR1μg R2,c2 cR1)=Xf(c1 cR1μg R2,c2 cR1)であるという性質を用いている。この性質は、R1、R2、R1’及びR2’が乱数であることに基づく。
 したがって、a,bが自然数、r4,r5,r6及びr7が乱数であることを考慮すると、同様に、z1-r4μg -r5,z2-r6μg -r7がf(c1,c2)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となるのである。
 [第五実施形態]
 上述の各実施形態では、計算装置の自然数記憶部1101に、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶され、これらの組(a,b)を用いて各処理が実行されることとした。しかしながら、a,bの一方が定数であってもよい。例えば、aが1に固定されていてもよいし、bが1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a,bの一方が定数である場合、定数とされたa又はbを選択する処理が不要となり、各処理部は定数とされたa又はbが入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa又はbが1である場合には、a’やb’を用いることなく、f(x)=ub’a’をf(x)=v又はf(x)=uとして得ることができる。
 第五実施形態は、そのような変形の一例であり、bが1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第一実施形態との相違点を中心に説明する。第一乱数化可能標本器や標本器の具体例は、第二実施形態から第四実施形態で説明したのと同様であるため、説明を省略する。
 <構成>
 図1に例示するように、第五実施形態の代理計算システム5は、第一実施形態の計算装置11が計算装置51に置換され、能力提供装置12が能力提供装置52に置換されたものである。
 図10に例示するように、第五実施形態の計算装置51は、例えば、自然数記憶部5101と自然数選択部5102と入力情報提供部5104と第一計算部5105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部5108と第二リスト記憶部5110と判定部5111と最終出力部1112と制御部1113とを有する。
 図3に例示するように、第五実施形態の能力提供装置52は、例えば、第一出力情報計算部5201と第二出力情報計算部5202と鍵記憶部1204と制御部1205とを有する。
 <処理>
 次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数Xの実現値をx1、確率変数X2の実現値をx2とする。計算装置51の自然数記憶部5101には、自然数aが複数種類記憶されているものとする。
 図11に例示するように、まず、計算装置51(図10)の自然数選択部5102が、自然数記憶部5101に記憶された複数の自然数aから1つの自然数aをランダムに読み込む。読み込まれた自然数aの情報は、入力情報提供部5104及び第一べき乗計算部1106に送られる(ステップS5100)。
 制御部1113は、t=1とする(ステップS1102)。
 入力情報提供部5104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、計算装置51は、暗号文xを能力提供装置52に対して隠蔽できる。好ましくは、本形態の第二入力情報τ2は自然数選択部5102で選択された自然数aにさらに対応する。これにより、能力提供装置52から提供された復号能力を計算装置51が高い精度で評価することが可能となる(ステップS5103)。第一入力情報τ1及び第二入力情報τ2の組みの具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一入力情報τ1及び第二入力情報τ2の組みである。
 図7に例示するように、第一入力情報τ1は能力提供装置52(図3)の第一出力情報計算部5201に入力され、第二入力情報τ2は第二出力情報計算部5202に入力される(ステップS5200)。
 第一出力情報計算部5201は、第一入力情報τ1と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS5201)。第二出力情報計算部5202は、第二入力情報τ2と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする(ステップS5202)。すなわち、第一出力情報計算部5201や第二出力情報計算部5202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部5201での計算結果がf(τ1)の場合もあればf(τ1)でない場合もあり、第二出力情報計算部5202での計算結果がf(τ2)の場合もあればf(τ2)でない場合もある。第一出力情報z1及び第二出力情報z2の組の具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一出力情報z1及び第二出力情報z2の組である。
 第一出力情報計算部5201は第一出力情報z1を出力し、第二出力情報計算部5202は第二出力情報z2を出力する(ステップS5203)。
 図11に戻り、第一出力情報z1は計算装置51(図10)の第一計算部5105に入力され、第二出力情報z2は第二計算部5108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置52から計算装置51に与えられた復号能力に相当する(ステップS5104)。
 第一計算部5105は、第一出力情報z1から計算結果u=f(x)xを生成する。計算結果uの具体例は、第二実施形態から第四実施形態の何れかのb=1とした計算結果uである。計算結果uは第一べき乗計算部1106に送られる(ステップS5105)。
 第一べき乗計算部1106はu’=uaを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
 第二計算部5108は、第二出力情報z2から計算結果v=f(x)a2を生成する。計算結果vの具体例は、第二実施形態から第四実施形態の何れかの計算結果vである。計算結果vは第二リスト記憶部5110に記憶される(ステップS5108)。
 判定部5111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部5110に記憶されたvの中で、u’=vとなるものがあるか判定する(ステップS5110)。u’=vとなるものがあった場合には、ステップS5114に進む。u’=vとなるものがなかった場合には、ステップS1111に進む。
 ステップS1111では、制御部1113がt=Tmaxであるか判定する(ステップS1111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部1113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tmaxでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS5103に戻る。
 ステップS5114では、最終出力部1112が、u’=vであると判定されたu’に対応するuを出力する(ステップS5114)。このように得られたuは、第一実施形態から第四実施形態でb=1とした場合のub’a’に相当する。すなわち、このように得られたuは高い確率で暗号文xを特定の復号鍵sで復号した復号結果f(x)となる。よって、上述した処理を複数回繰り返し、ステップS5114で得られた値のうち最も頻度の高い値を復号結果とすればよい。後述するように、設定によっては圧倒的な確率でu=f(x)となる。その場合にはステップS5114で得られた値をそのまま復号結果としてよい。
 ≪復号結果f(x)が得られる理由について≫
 次に、本形態の計算装置51で復号結果f(x)が得られる理由を説明する。まず、説明に必要な事項を定義する。
 ブラックボックス(black-box):
 f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部5201及び第二出力情報計算部5202が、それぞれ復号関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈UH及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
 Pr[z=f(τ)|τ∈UH,z=F(τ)]>δ…(1)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ-reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
 自己訂正器(self-corrector):
 自己訂正器CF(x)とは、x∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置51が自己訂正器CF(x)に相当する。
 オールモスト自己訂正器(almost self-corrector):
 自己訂正器CF(x)が、x∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)を出力する確率が、誤った値j≠f(x)を出力する確率よりも十分大きい場合を想定する。すなわち、
 Pr[j=f(x)|j=CF(x),j≠⊥]
  >Pr[j≠f(x)|j=CF(x),j≠⊥]+Δ…(2)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(x)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
   Pr[j=f(x)|j=CF(x)]>(1/3)+Δ’
   Pr[j=⊥|j=CF(x)]<1/3
   Pr[j≠f(x)かつj≠⊥|j=CF(x)]<1/3
を満たす場合、自己訂正器CF(x)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
 ローバスト自己訂正器(robust self-corrector):
 自己訂正器CF(x)が、x∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(x)またはj=⊥|j=CF(x)]>1-ξ…(3)
を満たす場合を想定する。このような場合、自己訂正器CF(x)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
 オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のxに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のxに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。
 擬似自由(pseudo-free)な作用:
 群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X1,X2の各実現値α∈X1(α≠eg),β∈X2、及びa∈Ωについて、αa=βとなる確率
Pr[αa=βかつα≠eg|a∈UΩ,α∈X1,β∈X2]…(4)
について、あらゆる可能なX1,X2に関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
   P(G,Ω)<ζ(k)…(5)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、第5実施形態では群で定義された演算を乗法的に表現する。すなわちα∈Gに対する「αa」は、群Gで定義された演算をαに対してa回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(4)の確率がO(2-k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。例えば、任意のα∈Gでα≠egであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2を超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ω={0,...,p-2}であり、a(α)がαa∈Z/pZであり、α≠egである場合、Ω・α={αa|a=0,...,p-2}={eg,α1,...,αp-2}となり、|Ω・α|=p-1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2kを満たす。ここで式(4)の確率はC-1-k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
 信頼性δγ(δγ-reliable)の乱数化可能標本器:
 自然数aが与えられるたびに、δ-reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwax’を返す乱数化可能標本器であって、wax’=waである確率がδγよりも大きい(γは正定数)、すなわち、
   Pr[wax’=wa]>δγ…(6)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は、w=f(x)について、信頼性δγの乱数化可能標本器である。
 次に、これらの定義を用い、本形態の計算装置51で復号結果f(x)が得られる理由を説明する。
 本形態のステップS5110ではu’=vであるか、すなわち、ua=vであるかを判定している。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は信頼性δγの乱数化可能標本器であるため(式(6))、Tmaxをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でua=vが成立する(ステップS5110でyesとなる)場合が生じる。たとえば、Tmax≧4/δγとすれば、ua=vが成立する(ステップS5110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
 本形態ではu=f(x)x1及びv=f(x)a2なのであるから、ua=vが成立する場合にはx1 a=x2が成立する。x1 a=x2が成立する場合には、x1=x2=egである場合とx1≠egである場合とがある。x1=x2=egである場合には、u=f(x)となるのであるから、ステップS5114で出力されるuは正しい復号結果f(x)となる。一方、x1≠egである場合には、u≠f(x)となるのであるから、ステップS5114で出力されるuは正しい復号結果f(x)ではない。
 群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてTmax 2P(G,Ω)が漸近的に小さい場合、ua=vの場合にx1≠egである確率(式(4))は漸近的に小さい。したがって、ua=vの場合にx1=egである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、Tmax 2P(G,Ω)が漸近的に小さい場合、ua=vの場合に誤った復号結果f(x)が出力される確率は、ua=vの場合に正しい復号結果f(x)が出力される確率よりも十分小さい。この場合の計算装置51はオールモスト自己訂正器であるといえる(式(2)参照)。そのため、前述のように、計算装置51からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しい復号結果f(x)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、ua=vの場合に誤った復号結果f(x)が出力される確率も無視できる。この場合の計算装置51は、圧倒的な確率で正しい復号結果f(x)または⊥を出力する。
 なお、任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。
 任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1-η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
 《信頼性δγの乱数化可能標本器と安全性について》
 以下のような攻撃を想定する。
 ・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
 ・不正なzに対応するwax’が乱数化可能標本器から出力される。
 ・不正なzに対応するwax’は、自己訂正器CF(x)でua=vが成立する(ステップS5110でyesとなる)にもかかわらず、自己訂正器CF(x)が誤った値を出力する確率を増加させる。
 このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが自然数aに依存する場合に可能となる。例えば、第二計算部5108から出力されるvがf(x)a1 aとなるような不正が行われた場合、xの値にかかわらず、必ずua=vが成立することになる。よって、乱数化可能標本器は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが当該自然数aに依存しないことが望ましい。
 あるいは、集合Ωのいかなる元a∈Ωについても、wax’の誤差の確率分布Da=wax’w-aと区別することができない群Gに値を持つ確率分布Dが存在する(確率分布Daと確率分布Dとが統計的に近似する(statistically-close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数aに依存しない。確率分布Daと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
 Σg∈G|Pr[g∈D]-Pr[g∈Da]|<ζ…(7)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a及びbを使用する第一実施形態から第四実施形態についても同様である。
 [第六実施形態]
 本形態は、格子暗号の一種であるGHV暗号化方式(参考文献1「C. Genrty, S. Halevi and V. Vaikuntanathan, “A Simple BGNType Cryptosystem from LWE,”Advances in Cryptology - EUROCRYPT 2010, LNCS 6110, pp.506-522, Springer-Verlag, 2010.」等参照)の復号処理に本発明を適用する形態である。以下では上述の各実施形態との相違点を中心に説明を行う。
 <構成>
 図1に例示するように、第六実施形態の代理計算システム6は、第一実施形態の計算装置11が計算装置61に置換され、能力提供装置12が能力提供装置62に置換されたものである。
 図12に例示するように、第六実施形態の計算装置61は、例えば、行列記憶部6101と行列選択部6102と入力情報提供部6104と第一計算部6105と行列積計算部6106と第一リスト記憶部6107と第二計算部6108と第二リスト記憶部6110と判定部6111と最終出力部6112と制御部1113とを有する。
 図14に例示するように、本形態の入力情報提供部6104は、例えば、第一ランダム行列選択部6104aと第二ランダム行列選択部6104bと第一暗号化部6104cと第二暗号化部6104dと第一入力情報計算部6104eと第三ランダム行列選択部6104fと第四ランダム行列選択部6104gと第三暗号化部6104hと第四暗号化部6104iと第二入力情報計算部6104jとを有する。
 図13に例示するように、第六実施形態の能力提供装置62は、例えば、第一出力情報計算部6201と第二出力情報計算部6202と鍵記憶部6204と制御部1205とを有する。
 <処理>
 次に本形態の処理を説明する。本形態では、GMをι×ι行列の集合、HMをι×ι行列の集合、M1M2を集合GMに値を持つ確率変数、Mを確率変数M1の実現値、M2を確率変数M2の実現値、aMを集合HMの元とする。本形態では、PKを暗号化鍵(公開鍵)であるι×κ行列、SKをPK・SK=0を満たすι×ι行列である復号鍵(秘密鍵)、CMをκ×ι行列、NMをι×ι行列、UMをι×ι単位行列、PTを集合GMの元である平文PT∈GM、xMを集合Hの元である暗号文xM∈HM、ENCを集合GMの元である平文PTを暗号化して暗号文xM∈HMを得るための暗号化関数、fM(xM)を暗号文xM∈HMを特定の復号鍵SKで復号して集合GMの元である平文PTを得るための復号関数とする。復号関数fM(xM)は準同型関数である。例えば、GMをι×ι行列(Z/2Z)ι×ιの集合、HMをι×ι行列(Z/qZ)ι×ιの集合、暗号化鍵PKをι×κ行列(Z/qZ)ι×κ、復号鍵SKをι×ι行列(Z/qZ)ι×ι、CMをランダムに選択されたκ×ι行列(Z/qZ)κ×ι、NMをガウス分布に従うι×ι行列(Z/qZ)ι×ι、UMをι×ι単位行列(Z/2Z)ι×ιとし、暗号化関数ENCM(PT)をPK・CM+2・NM+PT(mod q)とし、復号関数fM(xM)をSK-1{SK・xM・SKT(mod q)}(SKT-1(mod 2)とする。ただし、κ,ι,qは正整数、κ,ι,qは正整数、・Tは・の転置行列、(Z/qZ)κ×ιはqを法とする剰余環Z/qZを要素とするκ行ι列行列である。第六実施形態では行列α1,α2間の積をα1・α2と表し、和をα1+α2と表現する。行列αの各要素を自然数β倍した行列をβ・αと表す。
 本形態の処理の前提として、計算装置61(図12)の行列記憶部6101には、行列aM∈HMが複数種類記憶されているものとする。能力提供装置62(図13)の鍵記憶部6204には、復号鍵SKが安全に記憶されているものとする。図15に例示するように、まず、計算装置61(図12)の行列選択部6102が、行列記憶部6101に記憶された複数の行列から一様ランダムに1つの行列aMを選択して読み込む。読み込まれた行列aMの情報は、入力情報提供部6104及び行列積計算部6106に送られる(ステップS6100)。
 制御部1113は、t=1とする(ステップS1102)。
 入力情報提供部6104は、入力された暗号文xMにそれぞれ対応する対応する集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を生成して出力する。好ましくは、第一入力情報Mτ1及び第二入力情報Mτ2はそれぞれ暗号文xMとの関係をかく乱させた情報である。これにより、計算装置61は暗号文xMを能力提供装置62に対して隠蔽できる。第二入力情報Mτ2は元aMにさらに対応する。これにより、能力提供装置62から提供された復号能力を計算装置61が高い精度で評価することが可能となる(ステップS6103)。以下、図16を用いてステップS6103の具体例を説明する。
 [ステップS6103の具体例]
 入力情報提供部6104(図14)の第一ランダム行列選択部6104aが集合GMの元MR1を一様ランダムに選択する(ステップS6103a)。選択されたMR1は第一暗号化部6104cと第一計算部6105に送られる(ステップS6103a)。第二ランダム行列選択部6104bがκ×ιの一様ランダムな行列CM11及びCM12∈(Z/qZ)κ×ιを選択する。選択されたCM11及びCM12は第一入力情報計算部6104eに送られる(ステップS6103b)。第一暗号化部6104cが公開鍵PKを用い、MR1の暗号文ENCM(MR1)である第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する。第一暗号文CR1は第一入力情報計算部6104eに送られる(ステップS6103c)。第二暗号化部6104dが公開鍵PKを用い、単位行列UMの暗号文ENCM(UM)である第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する。第二暗号文CUMは第一入力情報計算部6104eに送られる(ステップS6103d)。第一入力情報計算部6104eにはさらに暗号文xMが入力される。第一入力情報計算部6104eは、第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得て出力する。なお、行列の積の順序に特段の必然性はない。すなわち第一入力情報計算部6104eは、C=xM・CUM+CR1としたRe(C)=CX+PK・CM11+2・NM+CM12 T・PKTを計算して第一入力情報Mτ1を生成してもよいし、CX=CUM・xM+CR1としたRe(C)を計算して第一入力情報Mτ1を生成してもよい(ステップS6103e)。
 第三ランダム行列選択部6104fが集合GMの元MR2を一様ランダムに選択する。選択されたMR2は第三暗号化部6104hと第二計算部6108に送られる(ステップS6103f)。第四ランダム行列選択部6104gが、κ×ιのランダムな行列CM21及びCM22∈(Z/qZ)κ×ιを選択する。選択されたCM21及びCM22は第二入力情報計算部6104jに送られる(ステップS6103g)。第三暗号化部6104hが公開鍵PKを用い、MR2の暗号文ENCM(MR2)である第三暗号文CR2=PK・CM+2・NM+MR2(mod q)を生成する。第三暗号文CR2は第二入力情報計算部6104jに送られる(ステップS6103h)。第四暗号化部6104iに行列aMが入力される。第四暗号化部6104iは公開鍵PKを用い、行列aMの暗号文ENCM(aM)である第四暗号文C=PK・CM+2・NM+aM(mod q)を生成する。第四暗号文Cは第二入力情報計算部6104jに送られる(ステップS6103i)。第二入力情報計算部6104jにはさらに暗号文xMが入力される。第二入力情報計算部6104jは、第二入力情報Mτ2として(xM・C+CR2)+PK・CM21+2・NM+CM22 T・PKTを得て出力する。第二入力情報計算部6104jは、CX=xM・Ca+CR2としたRe(C)を計算して第二入力情報Mτ2を生成してもよいし、CX=xM・C+CR2としたRe(C)を計算して第二入力情報Mτ2を生成してもよい((ステップS6103j)/[ステップS6103の具体例]の説明終わり)。
 図17に例示するように、第一入力情報Mτ1は能力提供装置62(図13)の第一出力情報計算部6201に入力され、第二入力情報Mτ2は第二出力情報計算部6202に入力される(ステップS6200)。
 第一出力情報計算部6201は、第一入力情報Mτ1と鍵記憶部6204に格納された復号鍵SKとを用い、或る確率より大きな確率でfMMτ1)=SK-1{SK・Mτ1・SKT(mod q)}(SKT-1(mod 2)を正しく計算し、得られた計算結果を第一出力情報M1とする(ステップS6201)。第二出力情報計算部6202は、第二入力情報Mτ2と鍵記憶部6204に格納された復号鍵SKとを用い、或る確率より大きな確率でfMMτ2)=SK-1{SK・Mτ2・SKT(mod q)}(SKT-1(mod 2)を正しく計算し、得られた計算結果を第二出力情報M2とする(ステップS6202)。すなわち、第一出力情報計算部6201や第二出力情報計算部6202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部6201での計算結果がfMMτ1)の場合もあればfMMτ1)でない場合もあり、第二出力情報計算部6202での計算結果がfMMτ2)の場合もあればfMMτ2)でない場合もある。
 第一出力情報計算部6201は第一出力情報M1を出力し、第二出力情報計算部6202は第二出力情報M2を出力する(ステップS6203)。
 図15に戻り、第一出力情報M1は計算装置61(図12)の第一計算部6105に入力され、第二出力情報M2は第二計算部6108に入力される。これらの第一出力情報M1及び第二出力情報M2が、能力提供装置62から計算装置61に与えられた復号能力に相当する(ステップS6104)。
 第一計算部5105は、第一出力情報M1を用いてM1-MR1を計算してその計算結果をuMとする。計算結果uMは行列積計算部6106に送られる。ここで、uMM1-MR1=fM(xM)+Mとなる。すなわち、uMはfM(xM)について誤差Mを持つ標本器となる。その理由については後述する(ステップS6105)。
 行列積計算部6106はuM’=uM・aMを得る。なお、行列積計算部6106はuM・aMの計算によってuM’を得てもよいし、aM・uMの計算によってuM’を得てもよい。計算結果uMとその計算結果に基づいて計算されたuM’との組(uM,uM’)は、第一リスト記憶部6107に記憶される(ステップS6106)。
 第二計算部6108は、第二出力情報M2を用いてM2-MR2を計算してその計算結果をvMとする。計算結果vMは第二リスト記憶部6110に記憶される。ここで、vMM2-MR2=fM(xM)・aMMとなる。すなわち、vMはfM(xM)について誤差M2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS6108)。
 判定部6111は、第一リスト記憶部6107に記憶された組(uM,uM’)及び第二リスト記憶部6110に記憶されたvMの中で、uM’=vMとなるものがあるか判定する(ステップS6110)。uM’=vMとなるものがあった場合には、ステップS6114に進む。uM’=vMとなるものがなかった場合には、ステップS1111に進む。
 ステップS1111では、制御部1113がt=Tmaxであるか判定する(ステップS1111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部1113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tmaxでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS6103に戻る。
 ステップS6114では、最終出力部6112が、uM’=vMであると判定されたuM’に対応するuMを出力する(ステップS6114)。このように得られたuMは高い確率で暗号文xMを復号鍵SKで復号した復号結果f(xM)となる(その理由は後述する)。よって、上述した処理を複数回繰り返し、ステップS6114で得られた値のうち最も頻度の高い値を復号結果とすればよい。設定によっては圧倒的な確率でuM=fM(xM)となる。その場合にはステップS6114で得られた値をそのまま復号結果としてよい。
 ≪M1-MR1M2-MR2がfM(xM)についてそれぞれ誤差MMを持つ標本器,乱数化可能標本器の出力となる理由について≫
 fM(xM)の準同型性より、fM(xM・C+CR2)=fM(xM)・fM(C)+fM(CR2)=fM(x)・aM+MR2を満たし、fM(x)・aM=fM(xM・C+CR2)-MR2=fMMτ2)-MR2を満たし、MR2=fMMτ2)-fM(xM)・aMを満たす。よってM2=FMMτ2)とおくと、M2-MR2=FMMτ2)-fMMτ2)+fM(xM)・aM=fM(xM)・aM+{FMMτ2)-fMMτ2)}を満たす。Mτ2に対応するCM21,CM22,MR2の一様ランダム性から、M2-MR2はfM(xM)・aMMと統計的に近似する。ただし、M2は確率変数M2=FM(ENCMM2))-MM2はGM上で一様ランダムに分布)の実現値である。したがって、M2-MR2はfM(xM)についてそれぞれ誤差M2を持つ乱数化可能標本器の出力となる。
 同様にfM(xM・CUM+CR1)=fM(xM)・fM(CUM)+fM(CR1)=fM(xM)・UM+MR1を満たし、fM(xM)=fM(xM・CUM+CR1)-MR1=fMMτ1)-MR1を満たし、MR1=fMMτ1)-fM(xM)を満たす。よってM1=FMMτ1)とおくと、M1-MR1=FMMτ1)-fMMτ1)+fM(xM)=fM(xM)+{FMMτ1)-fMMτ1)}を満たす。Mτ1に対応するCM11,CM12,MR1の一様ランダム性から、M1-MR1はfM(xM)+M1と統計的に近似する。ただし、M1は確率変数M=FM(ENCMM1))-M1M1はGM上で一様ランダムに分布)の実現値である。したがって、M1-MR1を出力する上記の構成はfM(xM)についてそれぞれ誤差Mを持つ標本器となる。
 ≪復号結果fM(xM)が得られる理由について≫
 第五実施形態の≪復号結果f(x)が得られる理由について≫で説明したのと同様な理由により、本形態でも正しい復号結果fM(xM)が得られる。ただし本形態では行列を扱う関係上、第五実施形態の≪復号結果f(x)が得られる理由について≫のG,HがGM,HMに、f(x)がfM(xM)に、τがMτに、F(τ)がFMMτ)に、zがMzに、xがxMに、X1,X2M1M2に、x1,x2M1M2に、eがι×ιの単位行列Mgに、乗法的表現が加法的表現に(例えばαβγがα・β+γに)それぞれ置き換えられる。さらに本形態では「擬似自由(pseudo-free)な作用」の定義が以下のようにされる。
 擬似自由(pseudo-free)な作用:
 GM、行列の集合ΩM={0M,...,MM}、GM上の確率変数M1M2の各実現値αMM1(αMM),βMM、及びaM∈ΩMについて、αM・aM=βMとなる確率
 Pr[αM・aMかつαMM|aMUΩM,αMM1,βMM2
について、あらゆる可能なM1M2に関する上限値を、組(GM,ΩM)の疑似自由指標とよび、これをP(GM,ΩM)と表すことにする。ある無視することができる関数ζ(k)が存在して、
   P(GM,ΩM)<ζ(k)
である場合、組(GM,ΩM)によって定義される演算は擬似自由な作用であるという。
 [第一実施形態から第六実施形態の変形例]
 以上のように、上記の各実施形態では、能力提供装置が復号鍵を提供することなく、第一出力情報z1及び第二出力情報z2を計算装置に提供し、計算装置がub’a’を出力する。ub’a’は高い確率で暗号文xの復号値となる。このように、能力提供装置が復号鍵を提供することなく計算装置に復号能力を提供できる。
 なお、本発明は上述の実施の形態に限定されるものではない。例えば、確率変数X1、X2及びX3は、同じでも異なっていてもよい。同様に、確率変数M1及びM2は、同じでも異なっていてもよい。
 第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部のそれぞれは、一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。同様に、第六実施形態で行列を一様ランダムに選択する代わりに、一様ではないランダムな行列が選択されてもよい。演算効率上からは、上述の各実施形態のように0以上KH未満の自然数である乱数や0以上KG未満の自然数である乱数が選択されることが望ましいが、それらの代わりにKH以上やKG以上の自然数の乱数が選択されてもよい。
 計算装置が同一のa,bに対応する、群Hの元である第一入力情報τ1及び第二入力情報τ2を能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、計算装置が第一入力情報τ1及び第二入力情報τ2を能力提供装置に一回提供するたびに、計算装置は第一出力情報z1や第二出力情報z2や第三出力情報z3を複数個得ることができる。これにより、計算装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。第六実施形態の第一入力情報Mτ1及び第二入力情報Mτ2についても同様である。
 計算装置が複数種類の第一入力情報τ1及び第二入力情報τ2を能力提供装置にまとめて提供し、対応する第一出力情報z1や第二出力情報z2や第三出力情報z3を複数個まとめて取得してもよい。これにより、計算装置と能力提供装置との間のやり取り回数を減らすことができる。第六実施形態の第一入力情報Mτ1及び第二入力情報Mτ2についても同様である。
 第一実施形態から第五実施形態の第一計算部や第二計算部において得られたuやvが群Gの元であるかを確認し、群Gの元であった場合には上述した処理を続行し、u又はvが群Gの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。同様に、第六実施形態の第一計算部や第二計算部において得られたuMやvMがGMの元であるかを確認し、GMの元であった場合には上述した処理を続行し、uM又はvMがGMの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
 計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
 その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 [第七実施形態]
 本発明の第七実施形態を説明する。
 <構成>
 図18に例示するように、第七実施形態の代理計算システム101は、例えば、復号鍵を保持していない計算装置111と、復号鍵s1,・・・,sΓをそれぞれ保持する能力提供装置112-1,・・・,112-Γ(Γは2以上の整数)と、計算装置111の復号能力を制御する復号制御装置113とを有する。復号制御装置113は能力提供装置112-1,・・・,112-Γから計算装置111へ提供される復号能力を制御し、計算装置111は能力提供装置112-1,・・・,112-Γから提供された復号能力を用いて暗号文を復号する。計算装置111と能力提供装置112-1,・・・,112-Γと復号制御装置113とは情報のやり取りが可能なように構成される。例えば、計算装置111と能力提供装置112-1,・・・,112-Γと復号制御装置113とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
 図19に例示するように、第七実施形態の計算装置111は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部11104と第一計算部11105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部11108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と復元部11100と制御部11113とを有する。計算装置111の例は、カードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータなどである。
 図20に例示するように、第七実施形態の能力提供装置112-ι(ι=1,・・・,ω、ωは2以上Γ以下の整数)は、例えば、第一出力情報計算部11201-ιと第二出力情報計算部11202-ιと鍵記憶部11204-ιと制御部11205-ιとを有する。能力提供装置112-ιの例は、ICカードやICチップなどの耐タンパ性モジュールや、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。後述するように、能力提供装置112-1,・・・,112-ωは能力提供装置112-1,・・・,112-Γから選択されたものである。能力提供装置112-(ι+1),・・・,112-Γが存在する場合、これらの構成は能力提供装置112-ιと同様である。
 図21に例示するように、第七実施形態の復号制御装置113は、例えば、暗号文記憶部11301と制御命令部11302と出力部11303と制御部11304と鍵記憶部11305と暗号化部11306とを有する。復号制御装置113の例は、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。
 <処理>
 次に本形態の処理を説明する。処理の前提として、Gι,Hιを群(例えば、可換群)、ωを2以上の整数、ι=1,・・・,ω、fι(λι)を群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、群Gι,Hιの生成元をそれぞれμι,g,μι,h、Xι,1,Xι,2を群Gιに値を持つ確率変数、確率変数Xι,1の実現値をxι,1、確率変数Xι,2の実現値をxι,2とする。なお、本形態のωは定数である。計算装置111の自然数記憶部11101には、互いに素である2つの自然数a(ι),b(ι)の組(a(ι),b(ι))が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iιを群Gιの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部11101にはIιの部分集合Sιに対応する自然数a(ι),b(ι)の組(a(ι),b(ι))が記憶されていると考えることができる。能力提供装置112-ιの鍵記憶部12104には、特定の復号鍵sιがそれぞれ安全に記憶されているものとする。復号制御装置113の鍵記憶部11305には、復号鍵s,・・・,sΓにそれぞれ対応する暗号鍵pk,・・・,pkΓが記憶されているものとする。復号鍵sι及び暗号鍵pkιの一例は公開鍵暗号方式の秘密鍵及び公開鍵である。なお、計算装置111の各処理は制御部11113の制御のもとで実行され、能力提供装置112-ιの各処理は制御部11205-ιの制御のもとで実行され、復号制御装置113の各処理は制御部11304の制御のもとで実行される。
 <暗号化処理>
 図24に例示するように、まず、復号制御装置113(図21)の暗号化部11306にメッセージmesが入力される。暗号化部11306は、暗号鍵pk1,・・・,pkΓからω個の暗号鍵pk,・・・,pkωをランダムに選択する(ステップS11301)。暗号化部11306は、メッセージmesからω個の分散情報sha1,・・・,shaωを生成する(ステップS11302)。以下に分散情報sha1,・・・,shaωの生成方法を例示する。
 《分散情報の例1》
 ω個の分散情報sha1,・・・,shaωのビット結合値sha1|・・・|shaωがメッセージmesとなるように分散情報sha1,・・・,shaωを生成する。
 《分散情報の例2》
 ω個の分散情報sha1,・・・,shaωの排他的論理和がメッセージmesとなるように分散情報sha1,・・・,shaωを生成する。
 《分散情報の例3》
 Shamirの秘密分散のような秘密分散方式によってメッセージmesを秘密分散して分散情報sha1,・・・,shaωを生成する(分散情報の生成方法を例示終わり)。
 次に、暗号化部11306は、各ι=1,・・・,ωについて、暗号鍵pkιを用いて分散情報shaιを暗号化して暗号文λιを生成する。生成された暗号文λ1,・・・,λωは暗号文記憶部11301に記憶される(ステップS11303)。
 その後、暗号文記憶部11301に記憶されている暗号文λ1,・・・,λωが出力部11301から出力され、計算装置111(図19)に入力される(ステップS11304)。暗号文λ1,・・・,λωは同時に送られてもよいし、同時に送られなくてもよい。
 <復号処理>
 図25を用いて本形態の暗号文λιの復号処理を説明する。以下に説明する処理は各ι=1,・・・,ωについてそれぞれ実行される。
 まず、計算装置111(図19)の自然数選択部11102が、自然数記憶部11101に記憶された複数の自然数の組(a(ι),b(ι))から1つの自然数の組(a(ι),b(ι))をランダムに読み込む。読み込まれた自然数の組(a(ι),b(ι))の少なくとも一部の情報は、整数計算部11103、入力情報提供部11104、第一べき乗計算部11106及び第二べき乗計算部11109に送られる(ステップS11100)。
 整数計算部11103は、送られた自然数の組(a(ι),b(ι))を用いて、a’(ι)a(ι)+b’(ι)b(ι)=1の関係を満たす整数a’(ι),b’(ι)を計算する。自然数a(ι),b(ι)は互いに素であるため、a’(ι)a(ι)+b’(ι)b(ι)=1の関係を満たす整数a’(ι),b’(ι)は必ず存在して、その計算方法もよく知られている。たとえば拡張互除法などのよく知られたアルゴリズムによって整数a’,b’が計算され、自然数の組(a’(ι),b’(ι))の情報は、最終出力部11112に送られる(ステップS11101)。
 制御部11113は、tι=1とする(ステップS11102)。
 計算装置111の入力情報提供部11104は、入力された暗号文λιにそれぞれ対応する群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を生成して出力する。好ましくは、第一入力情報τι,1及び第二入力情報τι,2はそれぞれ暗号文λιとの関係をかく乱させた情報である。これにより、計算装置111は、暗号文λιを能力提供装置112-ιに対して隠蔽できる。好ましくは、本形態の第一入力情報τι,1は自然数選択部11102で選択された自然数b(ι)にさらに対応し、第二入力情報τι,2は自然数選択部11102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置112-ιから提供された復号能力を計算装置111が高い精度で評価できる(ステップS11103)。
 図26に例示するように、第一入力情報τι,1は能力提供装置112-ι(図20)の第一出力情報計算部11201-ιに入力され、第二入力情報τι,2は第二出力情報計算部11202-ιに入力される(ステップS11200)。
 第一出力情報計算部11201は、第一入力情報τι,1と鍵記憶部11204に記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた計算結果を第一出力情報zι,1とする(ステップS11201)。第二出力情報計算部11202-ιは、第二入力情報τι,2と鍵記憶部11204-ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2とする(ステップS11202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部11201-ιや第二出力情報計算部11202-ιは、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部11201-ιでの計算結果がfι(τι,1)の場合もあればfι(τι,1)でない場合もあり、第二出力情報計算部11202-ιでの計算結果がfι(τι,2)の場合もあればfι(τι,2)でない場合もある。第一出力情報計算部11201-ιは第一出力情報zι,1を出力し、第二出力情報計算部11202-ιは第二出力情報zι,2を出力する(ステップS11203)。
 図25に戻り、第一出力情報zι,1は計算装置111(図19)の第一計算部11105に入力され、第二出力情報zι,2は第二計算部11108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置112-ιから計算装置111に与えられた復号能力に相当する(ステップS11104)。
 第一計算部11105は、第一出力情報zι,1から演算結果uι=fι(λιb(ι)ι,1を生成する。ここで、fι(λιb(ι)ι,1を生成(計算)するとは、fι(λιb(ι)ι,1と定義される式の値を計算することである。式fι(λιb(ι)ι,1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uιは第一べき乗計算部11106に送られる(ステップS11105)。
 第一べき乗計算部11106はuι’=uι a(ι)を計算する。計算結果uιとその計算結果に基づいて計算されたuι’との組(uι,uι’)は、第一リスト記憶部11107に記憶される(ステップS11106)。
 判定部11111は、第一リスト記憶部11107に記憶された組(uι,uι’)及び第二リスト記憶部11110に記憶された組(vι,vι’)の中で、uι’=vι’となるものがあるか判定する(ステップS11107)。もし、第二リスト記憶部11110に組(vι,vι’)が記憶されていない場合には、このステップS11107の処理を行わずに、次のステップS11108の処理を行う。uι’=vι’となるものがあった場合には、ステップS11114に進む。uι’=vι’となるものがなかった場合には、ステップS11108に進む。
 ステップS11108では、第二計算部11108が、第二出力情報zι,2から演算結果vι=fι(λιa(ι)ι,2を生成する。演算結果vιは第二べき乗計算部11109に送られる(ステップS11108)。
 第二べき乗計算部11109はvι’=vι b(ι)を計算する。計算結果vιとその計算結果に基づいて計算されたvι’との組(vι,vι’)は、第二リスト記憶部11110に記憶される(ステップS11109)。
 判定部11111は、第一リスト記憶部11107に記憶された組(uι,uι’)及び第二リスト記憶部11110に記憶された組(vι,vι’)の中で、uι’=vι’となるものがあるか判定する(ステップS11110)。uι’=vι’となるものがあった場合には、ステップS11114に進む。uι’=vι’となるものがなかった場合には、ステップS11111に進む。
 ステップS11111では、制御部11113がtι=Tιであるか判定する(ステップS11111)。Tιは予め定められた自然数である。tι=Tιであれば、最終出力部11112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS11113)、処理を終える。tι=Tιでない場合には、制御部11113は、tιを1だけインクリメント、すなわちtι=tι+1(tι+1を新たなtι)として(ステップS11112)、ステップS11103に戻る。
 計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置112-ιが正しく計算を行う信頼性がTιで定められる基準を下回るということを意味する。言い換えれば、Tι回の繰り返しで正しい演算を行うことができなかったということを意味する。
 ステップS11114では、最終出力部11112が、uι’=vι’であると判定されたuι’及びvι’に対応するuι及びvιを用いてuι b’(ι)ι a’(ι)を計算して、出力する(ステップS11114)。このように計算されたuι b’(ι)ι a’(ι)は高い確率で暗号文λιを特定の復号鍵sιで復号した復号結果fι(λι)となる(高い確率でuι b’(ι)ι a’(ι)=fι(λι)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS11114で得られた値のうち最も頻度の高い値を復号結果fι(λι)とすればよい。後述するように、設定によっては圧倒的な確率でuι b’(ι)ι a’(ι)=fι(λι)となる。その場合にはステップS11114で得られた値をそのまま復号結果fι(λι)としてよい。
 以上の処理が各ι=1,・・・,ωについてそれぞれ実行されることで得られた各復号結果fι(λι)は復元部11100に入力される。復元部11100は、各ι=1,・・・,ωについてのfι(λι)=uι b’(ι)ι a’(ι)を用い、各ι=1,・・・,ωについての暗号文λιを復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値の復元処理を行う。例えば、前述した《分散情報の例1》によって分散情報が生成されていたのであれば、復元部11100はビット結合値f(λ)|・・・|fω(λω)を復元値mes’として生成する。例えば、前述した《分散情報の例2》によって分散情報が生成されていたのであれば、復元部11100は各復号結果f(λ),・・・,fω(λω)の排他的論理和を復元値mes’として生成する。例えば、前述した《分散情報の例3》によって分散情報が生成されていたのであれば、復元部11100は、秘密分散方式に対応する復元方法を用い、各復号結果f(λ),・・・,fω(λω)から復元値mes’を生成する。
 復号結果f(λ),・・・,fω(λω)がすべて正しい場合、復元部11100で得られる復元値mes’はメッセージmesと等しい。一方、復号結果f(λ),・・・,fω(λω)のすべてが誤りであった場合、復元部11100で得られる復元値mes’がメッセージmesと等しくなる確率は無視できるほど小さい。
 ≪高い確率でuι b’(ι)ι a’(ι)=fι(λι)となる理由について≫
 ここでは表記の簡略化のためιを省略して説明する。
 Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
 w∈Gについて、自然数aが与えられるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
 本実施形態の入力情報提供部11104と第一出力情報計算部11201と第一計算部11105との組み合わせが、f(λ)について誤差X1を持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部11104と第二出力情報計算部11202と第二計算部11108との組み合わせが、f(λ)について誤差X2を持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
 u’=v’が成立するのは、すなわちua=vbが成立するのは、第一乱数化可能標本器がu=f(λ)bを正しく計算しており、第二乱数化可能標本器がv=f(λ)aを正しく計算している(x1及びx2が群Gの単位元eである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第十一実施形態で行う。
 第一乱数化可能標本器がu=f(λ)bを正しく計算しており、第二乱数化可能標本器がv=f(λ)aを正しく計算しているとき(x1及びx2が群Gの単位元eであるとき)、ub’a’=(f(λ)b1b’(f(λ)a2a’=(f(λ)bgb’(f(λ)aga’=f(λ)bb’g b’f(λ)aa’g a’=f(λ)(bb’+aa’)=f(λ)となる。
 (q,q)∈Iについて、i=1,2の各々について関数πをπ(q,q)=qで定義する。さらに、L=min(♯π(S),♯π2(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、計算装置111が「⊥」以外を出力するときの出力がf(λ)ではない確率は、無視できる程度の誤差の範囲で高々T2L/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、計算装置111は圧倒的な確率で正しいfι(λ)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|-1]}がある。
 <復号制御処理>
 次に、本形態の復号制御処理を説明する。
 復号制御装置113が計算装置111の復号処理を制御する場合、復号制御装置113は、計算装置111の復号処理を制御する復号制御命令をすべての能力提供装置112-ιに出力する。復号制御命令が入力された能力提供装置112-ιは、入力された復号制御命令に従って、第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御する。計算装置111は、第一出力情報zι,1及び第二出力情報zι,2が与えられなければ暗号文λιを復号することができない。そのため、第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御することで、計算装置111の復号能力を制御できる。以下に復号処理の制御方法を例示する。
 ≪復号処理の制御方法の例1≫
 復号処理の制御方法の例1では、復号制御命令が計算装置111の復号能力を制限するための復号制限命令com-ιを含む。復号制限命令com-ιが能力提供装置112-ιの制御部11205-ιに入力された場合、制御部11205-ιが第一出力情報zι,1及び第二出力情報zι,2の両方の出力を禁止する。
 計算装置111の復号能力を制限する場合、復号制御装置113(図21)の制御命令部11302は、すべてのιについて復号制限命令com-ιを出力する。復号制限命令com-ιは出力部11303から能力提供装置112-ιに出力される。
 能力提供装置112-ι(図20)の制御部11205-ιは、復号制限命令com-ιが入力されたか否かを判断し、復号制限命令com-ιが制御部11205-ιに入力されない場合には復号制御処理を行わない。一方、復号制限命令com-ιが制御部11205-ιに入力された場合には、制御部11205-ιは第一出力情報zι,1及び第二出力情報zι,2の両方の出力を禁止する制御を行う(復号制限モード)。
 復号制限モードでは、制御部11205-ιが第一出力情報計算部11201-ιによる第一出力情報zι,1の出力及び第二出力情報計算部11201-ιによる第二出力情報zι,2の出力の両方を禁止する。第一出力情報zι,1及び/又は第二出力情報zι,2の出力を禁止する制御の一例は、第一出力情報zι,1及び/又は第二出力情報zι,2の生成は禁止しないがこれらの出力を禁止する制御である。第一出力情報zι,1及び/又は第二出力情報zι,2の出力を禁止する制御の他の例は、第一出力情報zι,1及び/又は第二出力情報zι,2の代わりにダミー情報を出力させる制御である。なお、ダミー情報の例は、乱数その他の暗号文λιに依存しない情報である。第一出力情報zι,1及び/又は第二出力情報zι,2の出力を禁止する制御の別の例は、第一出力情報zι,1及び/又は第二出力情報zι,2の生成自体を禁止する制御である。第一出力情報zι,1及び/又は第二出力情報zι,2の生成自体を禁止する制御を行う場合には、第一出力情報zι,1及び/又は第二出力情報zι,2の生成を行うために必要な情報を無効又は削除してもよいし、しなくてもよい。例えば、鍵記憶部11204-ιに記憶された復号鍵sιを無効又は削除してもよいし、しなくてもよい。
 第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止された場合、能力提供装置112-ιはステップS11203で第一出力情報zι,1及び第二出力情報zι,2の両方を出力しない。そのため、計算装置111はステップS11104で第一出力情報zι,1及び第二出力情報zι,2の両方を取得できず、演算結果uι及びvιを計算できないため、正しい復号結果fι(λ)を得ることができない。すべてのιについて正しい復号結果fι(λ)が得られなかった場合、復元部11100で得られる復元値mes’がメッセージmesと等しくなる確率は無視できるほど小さい。これにより、計算装置111の復号能力を制限できる。
 ≪復号処理の制御方法の例2≫
 復号処理の制御方法の例2では、復号制御命令が計算装置111の復号能力の制限を開放するための復号開放命令com-ιを含み、復号開放命令com-ιが能力提供装置112-ιの制御部11205-ιに入力された場合、制御部11205-ιは第一出力情報zι,1及び第二出力情報zι,2の少なくとも一方の出力を許可する。復号処理の制御方法の例2は、例えば、復号処理の制御方法の例1によって第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止された後、再び、第一出力情報zι,1及び第二出力情報zι,2の出力を許可する場合に行われる。この際、第一出力情報zι,1及び/又は第二出力情報zι,2の生成を行うために必要な情報が無効又は削除されていた場合には、復号開放命令com-ιが当該情報を含み、当該情報を能力提供装置112-ιに再設定することにしてもよい。その他、復号処理の制御方法の例2は、例えば、初期状態において第一出力情報zι,1及び第二出力情報zι,2の両方が禁止されている場合に、第一出力情報zι,1及び第二出力情報zι,2の出力を許可する場合に行われてもよい。
 計算装置111の復号能力の制限を開放する場合、復号制御装置113(図21)の制御命令部11302がすべてのιについて復号開放命令com-ιを出力する。復号制限命令com-ιは出力部11303から能力提供装置112-ιに出力される。
 能力提供装置112-ι(図20)の制御部11205-ιは、復号開放命令com2-ιが入力されたか否かを判断し、復号開放命令com2-ιが制御部11205-ιに入力されていない場合には復号制御処理を行わない。一方、復号開放命令com2-ιが制御部11205-ιに入力された場合には、制御部11205-ιは第一出力情報zι,1及び第二出力情報zι,2の両方の出力を許可する制御を行う(復号許可モード)。
 第一出力情報zι,1及び第二出力情報zι,2の両方の出力が許可された場合、能力提供装置112-ιはステップS11203で第一出力情報zι,1又は第二出力情報zι,2の両方を出力する。そのため、計算装置111はステップS11104で第一出力情報zι,1又は第二出力情報zι,2の両方を取得でき、演算結果uι又はvιを計算できるため、高い確率で復号結果を得ることができる。これにより、計算装置111の復号能力の制限を開放することができる。
 ≪復号処理の制御方法の例3≫
 復号処理の制御方法の例1,2では、各復号制御命令が何れかの1つのιに対応し(復号関数fιに対応し)、能力提供装置112-ιの制御部11205-ιが復号制御命令に対応する(復号制御命令に対応する復号関数fιに対応する)第一出力情報zι,1及び第二出力情報zι,2のすべての出力の有無を制御することとした。しかしながら、復号制御命令が複数のιに対応し、能力提供装置112-ιの制御部11205-ιが復号制御命令に対応する第一出力情報zι,1及び第二出力情報zι,2の出力の有無を制御することとしてもよい。
 [第八実施形態]
 第八実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第七実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
 <構成>
 図18に例示するように、第八実施形態の代理計算システム102は、計算装置111が計算装置121に置換され、能力提供装置112-1,・・・,112-Γが能力提供装置122-1,・・・,122-Γに置換されたものである。
 図19に例示するように、第八実施形態の計算装置121は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部12104と第一計算部12105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部12108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と制御部11113とを有する。図22に例示するように、本形態の入力情報提供部12104は、例えば、第一乱数生成部12104aと第一入力情報計算部12104bと第二乱数生成部12104cと第二入力情報計算部12104dとを有する。
 図20に例示するように、第八実施形態の能力提供装置122-ι(ι=1,・・・,ω、ωは2以上Γ以下の整数)は、例えば、第一出力情報計算部12201-ιと第二出力情報計算部12202-ιと鍵記憶部11204-ιと制御部11205-ιとを有する。能力提供装置122-(ι+1),・・・,122-Γが存在する場合、これらの構成は能力提供装置122-ιと同様である。
 <復号処理>
 次に本形態の復号処理を説明する。第八実施形態では、復号関数fιを準同型関数とし、群Hを巡回群とし、群Hの生成元をμι,h、群Hの位数をKι,H、νι=fι(μι,h)とする。復号関数fιが準同型関数である例はRSA暗号などである。その他の前提は、計算装置111が計算装置121に置換され、能力提供装置112-1,・・・,112-Γが能力提供装置122-1,・・・,122-Γに置換されている以外、第七実施形態と同一である。
 図25及び図26に例示するように、第八実施形態の処理は第七実施形態のステップS11103~S11105,S11108,S11200~S11203が、それぞれ、ステップS12103~S12105,S12108,S12200~S12203に置換されたものである。以下ではステップS12103~S12105,S12108,S12200~S12203の処理のみを説明する。
 《ステップS12103の処理》
 計算装置121(図19)の入力情報提供部12104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する(図25/ステップS12103)。以下、図27を用いて本形態のステップS12103の処理を説明する。
 第一乱数生成部12104a(図22)は、0以上Kι,H未満の自然数の一様乱数r(ι,1)を生成する。生成された乱数r(ι,1)は、第一入力情報計算部12104b及び第一計算部12105に送られる(ステップS12103a)。第一入力情報計算部12104bは、入力された乱数r(ι,1)と暗号文λιと自然数b(ι)とを用いて第一入力情報τι,1=μι,h r(ι,1)λι b(ι)を計算する(ステップS12103b)。
 第二乱数生成部12104cは、0以上KH未満の自然数の一様乱数r(ι,2)を生成する。生成された乱数r(ι,2)は、第二入力情報計算部12104d及び第二計算部12108に送られる(ステップS12103c)。第二入力情報計算部12104dは、入力された乱数r(ι,2)と暗号文λιと自然数a(ι)とを用いて第二入力情報τι,2=μι,h r(ι,2)λι a(ι)を計算する(ステップS12103d)。
 第一入力情報計算部12104b及び第二入力情報計算部12104dは、以上のように生成した第一入力情報τι,1及び第二入力情報τι,2を出力する(ステップS12103e)。なお、本形態の第一入力情報τι,1及び第二入力情報τι,2は、それぞれ、乱数r(ι,1),r(ι,2)によって暗号文λιとの関係をかく乱させた情報である。これにより、計算装置122-ιは、暗号文λιを能力提供装置122-ιに対して隠蔽できる。本形態の第一入力情報τι,1は自然数選択部11102で選択された自然数b(ι)にさらに対応し、第二入力情報τι,2は自然数選択部11102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置122-ιから提供された復号能力を計算装置121が高い精度で評価できる。
 《ステップS12200~S12203の処理》
 図26に例示するように、まず、第一入力情報τι,1=μι,h r(ι,1)λι b(ι)が能力提供装置122-ι(図20)の第一出力情報計算部12201-ιに入力され、第二入力情報τι,2=μι,h r(ι,2)λι a(ι)が第二出力情報計算部12202-ιに入力される(ステップS12200)。
 第一出力情報計算部12201-ιは、第一入力情報τι,1=μι,h r(ι,1)λι b(ι)と鍵記憶部11204-ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(μι,h r(ι,1)λι b(ι))を正しく計算し、得られた計算結果を第一出力情報zι,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部12201-ιでの計算結果がfι(μι,h r(ι,1)λι b(ι))となる場合もあれば、fι(μι,h r(ι,1)λι b(ι))とならない場合もある(ステップS12201)。
 第二出力情報計算部12202-ιは、第二入力情報τι,2=μι,h r(ι,2)λι a(ι)と鍵記憶部11204-ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(μι,h r(ι,2)λι a(ι))を正しく計算し、得られた計算結果を第二出力情報zι,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部12202-ιでの計算結果がfι(μι,h r(ι,2)λι a(ι))となる場合もあれば、fι(μι,h r(ι,2)λι a(ι))とならない場合もある(ステップS12202)。
 第一出力情報計算部12201-ιは第一出力情報zι,1を出力し、第二出力情報計算部12202-ιは第二出力情報zι,2を出力する(ステップS12203)。
 《ステップS12104及びS12105の処理》
 図25に戻り、第一出力情報zι,1は計算装置121(図19)の第一計算部12105に入力され、第二出力情報zι,2は第二計算部12108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置122-ιから計算装置121に与えられた復号能力に相当する(ステップS12104)。
 第一計算部12105は、入力された乱数r(ι,1)及び第一出力情報zι,1を用いてzι,1νι -r(ι,1)を計算してその計算結果をuιとする。計算結果uιは、第一べき乗計算部11106に送られる。ここで、uι=zι,1νι -r(ι,1)=fι(λιb(ι)ι,1となる。すなわち、zι,1νι -r(ι,1)は、fι(λι)について誤差Xι,1を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS12105)。
 《ステップS12108の処理》
 第二計算部12108は、入力された乱数r(ι,2)及び第二出力情報zι,2を用いてzι,2νι -r(ι,2)を計算してその計算結果をvιとする。計算結果vιは、第二べき乗計算部11109に送られる。ここで、vι=zι,2νι -r(ι,2)=fι(λιa(ι)ι,2となる。すなわち、zι,2νι -r(ι,2)は、fι(λι)について誤差Xι,2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS12108)。
 ≪zι,1νι -r(ι,1),zι,2νι -r(ι,2)がfι(λι)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となる理由について≫
 cを自然数、Rを乱数として、能力提供装置122がμh Rλcを用いて行う計算の計算結果をB(μh Rλc)とする。すなわち、第一出力情報計算部12201-ιや第二出力情報計算部12202-ιが計算装置121に返す計算結果をz=B(μh Rλc)とする。さらに、群Gに値を持つ確率変数XをX=B(μh R’)f(μh R’-1と定義する。
 このとき、zν-R=B(μh Rλc)f(μh-R=Xf(μh Rλc)f(μh-R=Xf(μhRf(λ)cf(μh-R=f(λ)cXとなる。すなわち、zν-Rは、f(λ)について誤差Xを持つ乱数化可能標本器の出力となる。
 上記式展開において、X=B(μh R’)f(μh R’-1=B(μh Rλc)f(μh Rλc-1であり、B(μh Rλc)=Xf(μh Rλc)であるという性質を用いている。この性質は、関数fιが準同型関数であり、Rが乱数であることに基づく。
 したがって、a(ι),b(ι)が自然数、r(ι,1),r(ι,2)が乱数であることを考慮すると、同様に、zι,1νι -r(ι,1),zι,2νι -r(ι,2)がfι(λι)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となるのである。
 [第九実施形態]
 第九実施形態は第八実施形態の変形例であり、a(ι)=1やb(ι)=1のときに前述した標本器によってuι又はvιの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a(ι)=1やb(ι)=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第七実施形態及び第八実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
 <構成>
 図18に例示するように、第九実施形態の代理計算システム103は、計算装置121が計算装置131に置換され、能力提供装置122-1,・・・,122-Γが能力提供装置132-1,・・・,132-Γに置換されたものである。
 図19に例示するように、第九実施形態の計算装置131は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部12104と第一計算部12105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部12108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と制御部11113と第三計算部13109とを有する。
 図20に例示するように、第九実施形態の能力提供装置132-ιは、例えば、第一出力情報計算部12201-ιと第二出力情報計算部12202-ιと鍵記憶部11204-ιと制御部11205-ιと第三出力情報計算部13203-ιとを有する。
 <復号処理>
 次に本形態の復号処理を説明する。第八実施形態との相違点を説明する。
 図25及び図26に例示するように、第九実施形態の処理は第八実施形態のステップS12103~S12105,S12108,S12200~S12203が、それぞれ、ステップS13103~S13105,S13108,S12200~S12203及びS13205~S13209に置換されたものである。以下ではステップS13103~S13105,S13108,S12200~S12203及びS13205~S13209の処理を中心に説明する。
 《ステップS13103の処理》
 計算装置131(図19)の入力情報提供部13104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する(図25/ステップS13103)。
 以下、図27を用いて本形態のステップS13103の処理を説明する。
 制御部11113(図19)は、自然数選択部11102で選択された自然数(a(ι),b(ι))に応じて入力情報提供部13104を制御する。
 制御部11113でbが1であるかが判定され(ステップS13103a)、b≠1であると判定された場合、前述のステップS12103a及びS12103bの処理が実行され、ステップS13103gに進む。
 一方、ステップS13103aでb(ι)=1であると判定された場合、第三乱数生成部13104eが、0以上Kι,H未満の自然数の乱数r(ι,3)を生成する。生成された乱数r(ι,3)は第三入力情報計算部13104f及び第三計算部13109に送られる(ステップS13103b)。第三入力情報計算部13104fは、入力された乱数r(ι,3)と暗号文λιとを用いてλι (ι,3)を計算し、これを第一入力情報τι,1とする(ステップS13103c)。その後、ステップS13103gに進む。
 ステップS13103gでは、制御部11113でa(ι)が1であるかが判定され(ステップS13103g)、a(ι)≠1であると判定された場合、前述のステップS12103c及びステップS12103dの処理が実行される。
 一方、ステップS13103gでa(ι)=1であると判定された場合、第三乱数生成部13104eが、0以上Kι,H未満の自然数の乱数r(ι,3)を生成する。生成された乱数r(ι,3)は第三入力情報計算部13104fに送られる(ステップS13103h)。第三入力情報計算部13104fは、入力された乱数r(ι,3)と暗号文λιとを用いてλι (ι,3)を計算し、これを第二入力情報τι,2とする(ステップS13103i)。
 第一入力情報計算部12104b、第二入力情報計算部12104d、第三入力情報計算部13104fは、以上のように生成した第一入力情報τι,1及び第二入力情報τι,2を対応する自然数(a(ι),b(ι))の情報とともに出力する(ステップS13103e)。なお、本形態の第一入力情報τι,1及び第二入力情報τι,2は、それぞれ、乱数r(ι,1),r(ι,2),r(ι,3)によって暗号文λιとの関係をかく乱させた情報である。これにより、計算装置131は、暗号文λιを能力提供装置132-ιに対して隠蔽できる。
 《S12200~S12203及びS13205~S13209の処理》
 以下、図26を用いて本形態のS12200~S12203及びS13205~S13209の処理を説明する。
 制御部11205-ι(図20)は、入力された自然数(a(ι),b(ι))に応じ、第一出力情報計算部12201-ι、第二出力情報計算部12202-ι、及び第三出力情報計算部13203-ιを制御する。
 制御部11205-ιの制御に基づき、b(ι)≠1の場合の第一入力情報τι,1=μι,h r(ι,1)λι b(ι)は能力提供装置132-ι(図20)の第一出力情報計算部12201-ιに入力され、a(ι)≠1の場合の第二入力情報τι,2=μι,h r(ι,2)λι a(ι)は第二出力情報計算部12202-ιに入力される。b(ι)=1の場合の第一入力情報τι,1=λι r(ι,3)やa(ι)=1の場合の第二入力情報τι,2=λι r(ι,3)は第三出力情報計算部13203-ιに入力される(ステップS13200)。
 制御部11113でb(ι)が1であるかが判定され(ステップS13205)、b(ι)≠1であると判定された場合、前述のステップS12201の処理が実行される。その後、制御部11113でaが1であるかが判定され(ステップS13208)、a≠1であると判定された場合、前述したステップS12202の処理が実行されてステップS13203に進む。
 一方、ステップS13208でa(ι)=1であると判定された場合、第三出力情報計算部13203-ιは、第二入力情報τι,2=λι r(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部13203-ιでの計算結果がfι(λι r(ι,3))となる場合もあれば、fι(λι r(ι,3))とならない場合もある(ステップS13209)。その後、ステップS13203に進む。
 ステップS13205でb(ι)=1であると判定された場合、第三出力情報計算部13203-ιは、第二入力情報τι,1=λι r(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部13203-ιでの計算結果がfι(λι r(ι,3))となる場合もあれば、fι(λι r(ι,3))とならない場合もある(ステップS13206)。
 その後、制御部11113でa(ι)が1であるかが判定され(ステップS13207)、a(ι)=1であると判定された場合にはステップS13203に進み、a(ι)≠1であると判定された場合にはステップS12202に進む。
 ステップS13203では、第一出力情報zι,1を生成した第一出力情報計算部12201-ιは第一出力情報zι,1を出力し、第二出力情報zι,2を生成した第二出力情報計算部12202-ιは第二出力情報zι,2を出力し、第三出力情報zι,3を生成した第三出力情報計算部12202-ιは第三出力情報zι,3を出力する(ステップS13203)
 《ステップS13104及びS13105の処理》
 図25に戻り、制御部11113の制御のもと、第一出力情報zι,1は計算装置131(図19)の第一計算部12105に入力され、第二出力情報zι,2は第二計算部12108に入力され、第三出力情報zι,3は第三計算部13109に入力される(ステップS13104)。
 b(ι)≠1であれば、第一計算部12105が、前述のステップS12105の処理によってuιを生成し、b(ι)=1であれば、第三計算部13109が、zι,3 1/r(ι,3)を計算してその計算結果をuιとする。計算結果uιは第一べき乗計算部11106に送られる。ここで、b(ι)=1の場合、uι=zι,3 1/r(ι,3)=fι(λι)xι,3となる。すなわち、zι,3 1/r(ι,3)は、fι(λι)について誤差Xι,3を持つ標本器となる。その理由については後述する(ステップS13105)。
 《ステップS13108の処理》
 a(ι)≠1であれば、第二計算部12108が、前述のステップS12108の処理によってvιを生成し、a(ι)=1であれば、第三計算部13109が、zι,3 1/r(ι,3)を計算してその計算結果をvιとする。計算結果vιは第二べき乗計算部11109に送られる。ここで、a(ι)=1の場合、vι=zι,3 1/r(ι,3)=fι(λι)xι,3となる。すなわち、zι,3 1/r(ι,3)は、fι(λι)について誤差Xι,3を持つ標本器となる。その理由については後述する(ステップS13108)。
 なお、zι,3 1/r(ι,3)の計算、すなわちzι,3のべき乗根の計算が困難な場合には、次のようにしてuι及び/又はvιを計算してもよい。第三計算部13109は、乱数r(ι,3)とその乱数r(ι,3)に基づいて計算されたzι,3の組を順次(α1,β1),(α2,β2),…,(αm(ι),βm(ι)),…として図示していない記憶部に記憶する。m(ι)は1以上の自然数である。第三計算部13109は、α1,α2,…,αm(ι)の最小公倍数が1になれば、γ1,γ2,…,γm(ι)を整数としてγα+γ2α2+…+γm(ι)αm(ι)=1となるγ1,γ2,…,γm(ι)を計算して、そのγ1,γ2,…,γm(ι)を用いてΠi=1 m(ι)βi γi=β1 γ1β2 γ2…βm(ι) γm(ι)を計算して、その計算結果をuι及び/又はvιとしてもよい。なお、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
 ≪zι,3 1/r(ι,3)がfι(λι)について誤差Xι,3を持つ標本器となる理由について≫
 R及びR’を乱数として、能力提供装置132-ιがλRを用いて行う計算の計算結果をB(λR)とする。すなわち、第一出力情報計算部12201-ιや第二出力情報計算部12202-ιや第三出力情報計算部13203-ιが計算装置131に返す計算結果をz=B(λR)とする。さらに、群Gに値を持つ確率変数XをX=B(λR1/Rf(λ)-1と定義する。
 このとき、z1/R=B(λR1/R=Xf(λ)=f(λ)Xとなる。すなわち、z1/Rは、f(λ)について誤差Xを持つ標本器となる。
 上記式展開において、X=B(λR1/Rf(λR-1であり、B(λR1/R=Xf(λR)であるという性質を用いている。この性質は、R及びR’が乱数であることに基づく。
 したがって、r(ι,3)が乱数であることを考慮すると、同様に、zι,3 1/r(ι,3)がfι(λι)について誤差Xι,3を持つ標本器となるのである。
 [第十実施形態]
 第十実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、Hι=Gι×Gι、復号関数fιがElGamal暗号の復号関数、すなわち復号鍵sι及び暗号文λι=(cι,1,cι,2)に対してfι(cι,1,cι,2)=cι,1・ι,2 -sιである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第七実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
 図18に例示するように、第十実施形態の代理計算システム104は、計算装置111が計算装置141に置換され、能力提供装置112-1,・・・,112-Γが能力提供装置142-1,・・・,142-Γに置換されたものである。
 図19に例示するように、第十実施形態の計算装置141は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部14104と第一計算部14105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部14108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と制御部11113とを有する。図23に例示するように、本形態の入力情報提供部14104は、例えば、第四乱数生成部14104aと第五乱数生成部14104bと第一入力情報計算部14104cと第六乱数生成部14104dと第七乱数生成部14104eと第二入力情報計算部14104fとを有する。第一入力情報計算部14104cは、例えば、第四入力情報計算部14104caと第五入力情報計算部14104cbとを有し、第二入力情報計算部14104fは、第六入力情報計算部14104faと第七入力情報計算部14104fbとを有する。
 図20に例示するように、第十実施形態の能力提供装置142-ιは、例えば、第一出力情報計算部14201-ιと第二出力情報計算部14202-ιと鍵記憶部11204-ιと制御部11205-ιとを有する。能力提供装置142-(ι+1),・・・,42-Γが存在する場合、これらの構成は能力提供装置142-ιと同様である。
 <復号処理>
 次に本形態の復号処理を説明する。第十実施形態では、群Hιが群Gιの直積群Gι×Gι、群Gιが巡回群、暗号文λι=(cι,1,cι,2)∈Hιであり、fι(cι,1,cι,2)が準同型関数であり、群Gιの生成元をμι,gとし、群Gιの位数をKι,Gとし、同じ復号鍵sιに対する暗号文(Vι,Wι)∈Hιとその暗号文を復号した復号文fι(Vι,Wι)=Yι∈Gιとの組が計算装置141及び能力提供装置142-ιに事前設定され、計算装置141及び能力提供装置142-ιがこの組を利用可能とされているものとする。
 図25及び図26に例示するように、第十実施形態の処理は第七実施形態のステップS11103~S11105,S11108,S11200~S11203が、それぞれ、ステップS14103~S14105,S14108,S14200~S14203に置換されたものである。以下ではステップS14103~S14105,S14108,S14200~S14203の処理のみを説明する。
 《ステップS14103の処理》
 計算装置141(図19)の入力情報提供部14104は、入力された暗号文λι=(cι,1,cι,2)に対応する第一入力情報τι,1及び暗号文λι=(cι,1,cι,2)に対応する第二入力情報τι,2を生成して出力する(図25/ステップS14103)。以下、図28を用いて本形態のステップS14103の処理を説明する。
 第四乱数生成部14104a(図23)は、0以上Kι,G未満の自然数の一様乱数r(ι,4)を生成する。生成された乱数r(ι,4)は、第四入力情報計算部14104ca、第五入力情報計算部14104cb、及び第一計算部14105に送られる(ステップS14103a)。第五乱数生成部14104bは、0以上Kι,G未満の自然数の一様乱数r(ι,5)を生成する。生成された乱数r(ι,5)は、第五入力情報計算部14104cb、及び第一計算部14105に送られる(ステップS14103b)。
 第四入力情報計算部14104caは、自然数選択部11102で選択された自然数b(ι)、暗号文λιが含むcι,2、及び乱数r(ι,4)を用い、第四入力情報cι,2 b(ι)ι r(ι,4)を計算する(ステップS14103c)。第五入力情報計算部14104cbは、自然数選択部11102で選択された自然数b(ι)、暗号文λιが含むcι,1、及び乱数r(ι,4),r(ι,5)を用い、第五入力情報cι,1 b(ι)ι r(ι,4)μι,g r(ι,5)を計算する(ステップS14103d)。
 第六乱数生成部14104dは、0以上Kι,G未満の自然数の一様乱数r(ι,6)を生成する。生成された乱数r(ι,6)は、第六入力情報計算部14104fa、第七入力情報計算部14104fb、及び第二計算部14108に送られる(ステップS14103e)。第七乱数生成部14104eは、0以上KG未満の自然数の一様乱数r(ι,7)を生成する。生成された乱数r(ι,7)は、第七入力情報計算部14104fb、及び第二計算部14108に送られる(ステップS14103f)。
 第六入力情報計算部14104faは、自然数選択部11102で選択された自然数a(ι)、暗号文λιが含むcι,2、及び乱数r(ι,6)を用い、第六入力情報cι,2 a(ι)ι r(ι,6)を計算する(ステップS14103g)。第七入力情報計算部14104fbは、自然数選択部11102で選択された自然数a(ι)、暗号文λιが含むcι,1、及び乱数r(ι,6),r(ι,7)を用い、第七入力情報cι,1 a(ι)ι r(ι,6)μι,g r(ι,7)を計算する(ステップS14103h)。
 第一入力情報計算部14104cは、以上のように生成した第四入力情報cι,2 b(ι)ι r(ι,4)及び第五入力情報cι,1 b(ι)ι r(ι,4)μι,g r(ι,5)を第一入力情報τι,1=(cι,2 b(ι)ι r(ι,4),cι,1 b(ι)ι r(ι,4)μι,g r(ι,5))として出力する。第二入力情報計算部14104fは、以上のように生成した第六入力情報cι,2 a(ι)ι r(ι,6)及び第七入力情報cι,1 a(ι)ι r(ι,6)μι,g r(ι,7)を第二入力情報τι,2=(cι,2 a(ι)ι r(ι,6),cι,1 a(ι)ι r(ι,6)μι,g r(ι,7))として出力する(ステップS14103i)。
 《ステップS14200~S14203の処理》
 図26に例示するように、まず、第一入力情報τι,1=(cι,2 b(ι)ι r(ι,4),cι,1 b(ι)ι r(ι,4)μι,g r(ι,5))が能力提供装置142-ι(図20)の第一出力情報計算部14201-ιに入力され、第二入力情報τι,2=(cι,2 a(ι)ι r(ι,6),cι,1 a(ι)ι r(ι,6)μι,g r(ι,7))が第二出力情報計算部14202-ιに入力される(ステップS14200)。
 第一出力情報計算部14201-ιは、第一入力情報τι,1=(cι,2 b(ι)ι r(ι,4),cι,1 b(ι)ι r(ι,4)μι,g r(ι,5))と鍵記憶部11204-ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(cι,1 b(ι)ι r(ι,4)μι,g r(ι,5),cι,2 b(ι)ι r(ι,4))を正しく計算し、計算結果を第一出力情報zι,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部14201-ιでの計算結果がfι(cι,1 b(ι)ι r(ι,4)μι,g r(ι,5),cι,2 b(ι)ι r(ι,4))となる場合もあれば、fι(cι,1 b(ι)ι r(ι,4)μι,g r(ι,5),cι,2 b(ι)ι r(ι,4))とならない場合もある(ステップS14201)。
 第二出力情報計算部14202-ιは、第二入力情報τι,2=(cι,2 a(ι)ι r(ι,6),cι,1 a(ι)ι r(ι,6)μι,g r(ι,7))と鍵記憶部11204に記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(cι,1 a(ι)ι r(ι,6)μι,g r(ι,7),cι,2 a(ι)ι r(ι,6))を正しく計算可能であり、得られた計算結果を第二出力情報zι,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部14202-ιでの計算結果がfι(cι,1 a(ι)ι r(ι,6)μι,g r(ι,7),cι,2 a(ι)ι r(ι,6))となる場合もあれば、fι(cι,1 a(ι)ι r(ι,6)μι,g r(ι,7),cι,2 a(ι)ι r(ι,6))とならない場合もある(ステップS14202)。
 第一出力情報計算部14201-ιは第一出力情報zι,1を出力し、第二出力情報計算部14202-ιは第二出力情報zι,2を出力する(ステップS14203)。
 《ステップS14104及びS14105の処理》
 図25に戻り、第一出力情報zι,1は計算装置141(図19)の第一計算部14105に入力され、第二出力情報zι,2は第二計算部14108に入力される(ステップS14104)。
 第一計算部14105は、入力された第一出力情報zι,1及び乱数r(ι,4),r(ι,5)を用い、zι,1ι -r(ι,4)μι,g -r(ι,5)を計算してその計算結果をuιとする(ステップS14105)。計算結果uιは、第一べき乗計算部11106に送られる。ここで、uι=zι,1ι -r(ι,4)μι,g -r(ι,5)=fι(cι,1,cι,2b(ι)ι,1となる。すなわち、zι,1ι -r(ι,4)μι,g -r(ι,5)は、fι(cι,1,cι,2)について誤差Xι,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS14108の処理》
 第二計算部14108は、入力された第二出力情報zι,2及び乱数r(ι,6),r(ι,7)を用い、zι,2ι -r(ι,6)μι,g -r(ι,7)を計算してその計算結果をvιとする。計算結果vιは、第二べき乗計算部11109に送られる。ここで、vι=zι,2ι -r(ι,6)μι,g -r(ι,7)=fι(cι,1,cι,2a(ι)ι,2となる。すなわち、zι,2ι -r(ι,6)μι,g -r(ι,7)は、fι(cι,1,cι,2)について誤差Xι,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
 ≪zι,1ι -r(ι,4)μι,g -r(ι,5),zι,2ι -r(ι,6)μι,g -r(ι,7)がfι(cι,1,cι,2)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となる理由について≫
 cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置142-ιがc1 cR1μg R2及びc2 cR1を用いて行う計算の計算結果をB(c1 cR1μg R2,c2 cR1)とする。すなわち、第一出力情報計算部14201-ιや第二出力情報計算部14202-ιが計算装置141に返す計算結果をz=B(c1 cR1μg R2,c2 cR1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’-1と定義する。
 このとき、zY-R1μg -R2=B(c1 cR1μg R2,c2 cR1)Y-R1μg -R2=Xf(c1 cR1μg R2,c2 cR1)Y-R1μg -R2=Xf(c1,c2cf(V,W)R1f(μg,egR2-R1μg -R2=Xf(c1,c2cR1μg R2-R1μg -R2=f(c1,c2cXとなる。すなわち、zY-R1μg -R2は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。なお、egは、群Gの単位元である。
 上記式展開において、X=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’-1=B(c1 cR1μg R2,c2 cR1)f(c1 cR1μg R2,c2 cR1)であり、B(c1 cR1μ R2,c2 cR1)=Xf(c1 cR1μg R2,c2 cR1)であるという性質を用いている。この性質は、R、R、R’及びR’が乱数であることに基づく。
 したがって、a(ι),b(ι)が自然数、r(ι,4),r(ι,5),r(ι,6)及びr(ι,7)が乱数であることを考慮すると、同様に、zι,1ι -r(ι,4)μι,g -r(ι,5),zι,2ι -r(ι,6)μι,g -r(ι,7)がfι(cι,1,cι,2)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となるのである。
 [第十一実施形態]
 上述の第七実施形態から第十実施形態では、計算装置の自然数記憶部11101に、互いに素である2つの自然数a(ι),b(ι)の組(a(ι),b(ι))が複数種類記憶され、これらの組(a(ι),b(ι))を用いて各処理が実行されることとした。しかしながら、a(ι),b(ι)の一方が定数であってもよい。例えば、a(ι)が1に固定されていてもよいし、b(ι)が1に固定されていてもよい。ιごとに自然数a(ι),b(ι)のどちらが定数であるかが異なっていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a(ι),b(ι)の一方が定数である場合、定数とされたa(ι)又はb(ι)を選択する処理が不要となり、各処理部は定数とされたa(ι)又はb(ι)が入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa(ι)又はb(ι)が1である場合には、a’(ι)やb’(ι)を用いることなく、fι(λι)=uι b’(ι)ι a’(ι)をfι(λι)=vι又はfι(λι)=uιとして得ることができる。
 第十一実施形態は、そのような変形の一例であり、b(ι)が1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第七実施形態との相違点を中心に説明し、復号制御処理などの第七実施形態と共通する事項については説明を省略する。第一乱数化可能標本器や標本器の具体例も、第八実施形態から第十実施形態で説明したのと同様であるため、説明を省略する。
 <構成>
 図18に例示するように、第十一実施形態の代理計算システム105は、第七実施形態の計算装置111が計算装置151に置換され、能力提供装置112-1,・・・,112-Γが能力提供装置152-1,・・・,152-Γに置換されたものである。
 図29に例示するように、第十一実施形態の計算装置151は、例えば、自然数記憶部15101と自然数選択部15102と入力情報提供部15104と第一計算部15105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部15108と第二リスト記憶部15110と判定部15111と最終出力部15112と制御部11113とを有する。
 図20に例示するように、第十一実施形態の能力提供装置152-ιは、例えば、第一出力情報計算部15201-ιと第二出力情報計算部15202-ιと鍵記憶部11204-ιと制御部11205-ιとを有する。能力提供装置152-(ι+1),・・・,52-Γが存在する場合、これらの構成は能力提供装置152-ιと同様である。
 <復号処理>
 次に本形態の復号処理を説明する。復号処理の前提として、Gι,Hιを群(例えば、可換群)、fι(λι)を群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、群Gι,Hιの生成元をそれぞれμι,g,μι,h、Xι,1,Xι,2を群Gιに値を持つ確率変数、確率変数Xι,1の実現値をxι,1、確率変数Xι,2の実現値をxι,2とする。計算装置151の自然数記憶部15101には、自然数a(ι)が複数種類記憶されているものとする。
 図30に例示するように、まず、計算装置151(図29)の自然数選択部15102が、自然数記憶部15101に記憶された複数の自然数a(ι)から1つの自然数a(ι)をランダムに読み込む。読み込まれた自然数a(ι)の情報は、入力情報提供部15104及び第一べき乗計算部11106に送られる(ステップS15100)。
 制御部11113は、tι=1とする(ステップS11102)。
 入力情報提供部15104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する。好ましくは、第一入力情報τι,1及び第二入力情報τι,2はそれぞれ暗号文λιとの関係をかく乱させた情報である。これにより、計算装置151は、暗号文λιを能力提供装置152-ιに対して隠蔽できる。好ましくは、本形態の第二入力情報τι,2は自然数選択部15102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置152-ιから提供された復号能力を計算装置151が高い精度で評価できる(ステップS15103)。第一入力情報τι,1及び第二入力情報τι,2の組みの具体例は、第八実施形態から第十実施形態の何れかのb(ι)=1とした第一入力情報τι,1及び第二入力情報τι,2の組みである。
 図26に例示するように、第一入力情報τι,1は能力提供装置152-ι(図20)の第一出力情報計算部15201-ιに入力され、第二入力情報τι,2は第二出力情報計算部15202-ιに入力される(ステップS15200)。
 第一出力情報計算部15201-ιは、第一入力情報τι,1と鍵記憶部11204-ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた計算結果を第一出力情報zι,1とする(ステップS15201)。第二出力情報計算部15202-ιは、第二入力情報τι,2と鍵記憶部11204-ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2とする(ステップS15202)。すなわち、第一出力情報計算部15201-ιや第二出力情報計算部15202-ιは、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部15201-ιでの計算結果がfι(τι,1)の場合もあればfι(τι,1)でない場合もあり、第二出力情報計算部15202-ιでの計算結果がfι(τι,2)の場合もあればfι(τι,2)でない場合もある。第一出力情報zι,1及び第二出力情報zι,2の組の具体例は、第八実施形態から第十実施形態の何れかのb(ι)=1とした第一出力情報zι,1及び第二出力情報zι,2の組である。
 第一出力情報計算部15201-ιは第一出力情報zι,1を出力し、第二出力情報計算部15202-ιは第二出力情報zι,2を出力する(ステップS15203)。
 図30に戻り、第一出力情報zι,1は計算装置151(図29)の第一計算部15105に入力され、第二出力情報zι,2は第二計算部15108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置152-ιから計算装置151に与えられた復号能力に相当する(ステップS15104)。
 第一計算部15105は、第一出力情報zι,1から演算結果uι=fι(λι)xι,1を生成する。演算結果uιの具体例は、第八実施形態から第十実施形態の何れかのbι=1とした演算結果uιである。演算結果uιは第一べき乗計算部11106に送られる(ステップS15105)。
 第一べき乗計算部11106はuι’=uι a(ι)を計算する。計算結果uιとその計算結果に基づいて計算されたuι’との組(uι,uι’)は、第一リスト記憶部11107に記憶される(ステップS11106)。
 第二計算部15108は、第二出力情報zι,2から演算結果vι=fι(λιa(ι)ι,2を生成する。演算結果vιの具体例は、第八実施形態から第十実施形態の何れかの演算結果vιである。演算結果vιは第二リスト記憶部15110に記憶される(ステップS15108)。
 判定部15111は、第一リスト記憶部11107に記憶された組(uι,uι’)及び第二リスト記憶部15110に記憶されたvιの中で、uι’=vιとなるものがあるか判定する(ステップS15110)。uι’=vιとなるものがあった場合には、ステップS15114に進む。uι’=vιとなるものがなかった場合には、ステップS11111に進む。
 ステップS11111では、制御部11113がtι=Tιであるか判定する(ステップS11111)。Tιは予め定められた自然数である。tι=Tιであれば、最終出力部15112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS11113)、処理を終える。tι=Tιでない場合には、制御部11113は、tιを1だけインクリメント、すなわちtι=tι+1として(ステップS11112)、ステップS15103に戻る。
 ステップS15114では、最終出力部15112が、uι’=vιであると判定されたuι’に対応するuιを出力する(ステップS15114)。このように得られたuιは、第七実施形態から第十実施形態でb(ι)=1とした場合のuι b’(ι)ι a’(ι)に相当する。すなわち、このように得られたuιは高い確率で暗号文λιを特定の復号鍵sιで復号した復号結果fι(λι)となる。よって、上述した処理を複数回繰り返し、ステップS15114で得られた値のうち最も頻度の高い値を復号結果fι(λι)とすればよい。後述するように、設定によっては圧倒的な確率でuι=fι(λι)となる。その場合にはステップS15114で得られた値をそのまま復号結果fι(λι)としてよい。その後の処理は第七実施形態で説明したとおりである。
 ≪復号結果fι(λι)が得られる理由について≫
 次に、本形態の計算装置151で復号結果fι(λι)が得られる理由を説明する。ここでは表記の簡略化のためιを省略して説明する。まず、説明に必要な事項を定義する。
 ブラックボックス(black-box):
 f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部15201及び第二出力情報計算部15202が、それぞれ復号関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈UH及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
 Pr[z=f(τ)|τ∈UH,z=F(τ)]>δ…(8)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ-reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
 自己訂正器(self-corrector):
 自己訂正器CF(λ)とは、λ∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置151が自己訂正器CF(λ)に相当する。
 オールモスト自己訂正器(almost self-corrector):
 自己訂正器C(λ)が、λ∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(λ)を出力する確率が、誤った値j≠f(λ)を出力する確率よりも十分大きい場合を想定する。すなわち、
 Pr[j=f(λ)|j=CF(λ),j≠⊥]
  >Pr[j≠f(λ)|j=CF(λ),j≠⊥]+Δ…(9)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(λ)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
  Pr[j=f(λ)|j=CF(λ)]>(1/3)+Δ’
  Pr[j=⊥|j=CF(λ)]<1/3
  Pr[j≠f(λ)かつj≠⊥|j=CF(λ)]<1/3
を満たす場合、自己訂正器CF(λ)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
 ローバスト自己訂正器(robust self-corrector):
 自己訂正器CF(λ)が、λ∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(λ)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(λ)またはj=⊥|j=CF(λ)]>1-ξ…(10)
を満たす場合を想定する。このような場合、自己訂正器C(λ)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
 オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のλに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のλに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。
 擬似自由(pseudo-free)な作用:
 群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X1,X2の各実現値α∈X1(α≠eg),β∈X2、及びa∈Ωについて、αa=βとなる確率
Pr[αa=βかつα≠eg|a∈UΩ,α∈X1,β∈X2]…(11)
について、あらゆる可能なX1,X2に関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
   P(G,Ω)<ζ(k)…(12)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、「αa」は、群Gで定義された演算をαに対してa回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(11)の確率がO(2-k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。例えば、任意のα∈Gでα≠eであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2kを超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。なお、a(α)は、aとαに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ω={0,...,p-2}であり、a(α)がαa∈Z/pZであり、α≠egである場合、Ω・α={α|a=0,...,p-2}={eg,α1,...,αp-2}となり、|Ω・α|=p-1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2kを満たす。ここで式(11)の確率はC-1-k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
 信頼性δγ(δγ-reliable)の乱数化可能標本器:
 自然数aが与えられるたびに、δ-reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwax’を返す乱数化可能標本器であって、wax’=waである確率がδγよりも大きい(γは正定数)、すなわち、
   Pr[wax’=wa]>δγ…(13)
を満たすものを、信頼性δγな乱数化可能標本器という。本形態の入力情報提供部15104と第二出力情報計算部15202と第二計算部15108との組は、w=f(λ)について、信頼性δγな乱数化可能標本器である。
 次に、これらの定義を用い、本形態の計算装置151で復号結果f(λ)が得られる理由を説明する。
 本形態のステップS15110ではu’=vであるか、すなわち、ua=vであるかを判定している。本形態の入力情報提供部15104と第二出力情報計算部15202と第二計算部15108との組は信頼性δγな乱数化可能標本器であるため(式(13))、Tをk,δ,γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でua=vが成立する(ステップS15110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、ua=vが成立する(ステップS15110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
 本形態ではu=f(λ)x1及びv=f(λ)a2なのであるから、ua=vが成立する場合にはx1 a=x2が成立する。x1 a=x2が成立する場合には、x1=x2=egである場合とx1≠egである場合とがある。x1=x2=egである場合には、u=f(λ)となるのであるから、ステップS15114で出力されるuは正しい復号結果f(λ)となる。一方、x1≠egである場合には、u≠f(λ)となるのであるから、ステップS15114で出力されるuは正しい復号結果f(λ)ではない。
 群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてT2P(G,Ω)が漸近的に小さい場合、ua=vの場合にx1≠egである確率(式(11))は漸近的に小さい。したがって、ua=vの場合にx1=egである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、T2P(G,Ω)が漸近的に小さい場合、ua=vの場合に誤った復号結果f(λ)が出力される確率は、ua=vの場合に正しい復号結果f(λ)が出力される確率よりも十分小さい。この場合の計算装置151はオールモスト自己訂正器であるといえる(式(9)参照)。そのため、前述のように、計算装置151からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しい復号結果f(λ)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、ua=vの場合に誤った復号結果f(λ)が出力される確率も無視できる。この場合の計算装置151は、圧倒的な確率で正しい復号結果f(λ)または⊥を出力する。
 なお、任意の定数ρに対して0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。
 任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1-η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
 なお、aをa/bに置換すれば分かるように、上述の証明は第七実施形態で述べた「u’=v’が成立するのは、第一乱数化可能標本器がu=f(λ)bを正しく計算しており、第二乱数化可能標本器がv=f(λ)aを正しく計算している(x1及びx2が群Gの単位元egである)可能性が高い」ことの証明ともなる。
 《信頼性δγな乱数化可能標本器と安全性について》
 以下のような攻撃を想定する。
 ・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
 ・不正なzに対応するwax’が乱数化可能標本器から出力される。
 ・不正なzに対応するwax’は、自己訂正器CF(λ)でua=vが成立する(ステップS15110でyesとなる)にもかかわらず、自己訂正器C(λ)が誤った値を出力する確率を増加させる。
 このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが自然数aに依存する場合に可能となる。例えば、第二計算部15108から出力されるvがf(λ)a1 aとなるような不正が行われた場合、x1の値にかかわらず、必ずua=vが成立することになる。よって、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが当該自然数aに依存しないことが望ましい。
 あるいは、集合Ωのいかなる元a∈Ωについても、wax’の誤差の確率分布Da=wax’w-aと区別することができない群Gに値を持つ確率分布Dが存在する(確率分布Daと確率分布Dとが統計的に近似する(statistically-close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数aに依存しない。確率分布Daと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]-Pr[g∈Da]|<ζ…(14)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a及びbを使用する第七実施形態から第十実施形態についても同様である。
 [第七実施形態から第十一実施形態の変形例]
 第七実施形態から第十一実施形態では、第一出力情報zι,1及び第二出力情報zι,2が計算装置に与えられた場合、計算装置はある確率でuι b’(ι)ι a’(ι)を出力できる。uι b’(ι)ι a’(ι)は高い確率で暗号文λιの復号値となる。一方、第一出力情報zι,1及び第二出力情報zι,2の両方が復号装置に与えられなかった場合、計算装置は暗号文λιの復号値を得ることができない。
 第七実施形態から第十一実施形態では、能力提供装置による第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御することで、計算装置に復号鍵を与えることなく、計算装置による暗号文の復号能力を制御できる。
 本発明は上述の実施形態に限定されるものではない。例えば、上述の各実施形態ではωが2以上の整数であるとしたが、ωが1であってもよい。すなわち、能力提供装置が1つのみ存在する構成であってもよい。この場合の計算装置は復元部を含まなくともよく、最終出力部からの出力値をそのまま出力してもよい。例えば、前述した第一実施形態から第五実施形態の何れかのシステムが復号制御装置をさらに有し、復号制御装置が、計算装置の復号処理を制御する復号制御命令を能力提供装置に出力し、能力提供装置が、復号制御命令に従って、第一出力情報計算部及び前記第二出力情報計算部から、第一出力情報z1及び第二出力情報z2の両方が出力されるか否かを制御してもよい。例えば、前述の第六実施形態のシステムが復号制御装置をさらに有し、復号制御装置が、計算装置の復号処理を制御する復号制御命令を能力提供装置に出力し、能力提供装置が、復号制御命令に従って、第一出力情報計算部及び第二出力情報計算部から、第一出力情報M1及び第二出力情報M2の両方が出力されるか否かを制御してもよい。
 確率変数Xι,1、Xι,2及びXι,3は、同じでも異なっていてもよい。
 第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部のそれぞれが一様乱数を生成することにより、代理計算システムの安全性を高くできる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。演算効率上からは、上述の各実施形態のように0以上KH未満の自然数である乱数や0以上Kι,G未満の自然数である乱数が選択されることが望ましいが、それらの代わりにKι,H以上やKι,G以上の自然数の乱数が選択されてもよい。
 計算装置が同一のa(ι),b(ι)に対応する第一入力情報τι,1及び第二入力情報τι,2を能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、計算装置が第一入力情報τι,1及び第二入力情報τι,2を能力提供装置に一回提供するたびに、計算装置は第一出力情報zι,1や第二出力情報zι,2や第三出力情報zι,3を複数個得ることができる。これにより、計算装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。
 計算装置が複数種類の第一入力情報τι,1及び第二入力情報τι,2を能力提供装置にまとめて提供し、対応する第一出力情報zι,1や第二出力情報zι,2や第三出力情報zι,3を複数個まとめて取得してもよい。これにより、計算装置と能力提供装置との間のやり取り回数を減らすことができる。
 各形態ではωが定数であることとしたが、ωの値を代理計算システム内で共有できるのであれば、ωが変数であってもよい。
 計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
 各実施形態の第一計算部や第二計算部において得られたuιやvιが群Gιの元であるかを確認し、群Gιの元であった場合には上述した処理を続行し、uι又はvιが群Gιの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
 その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。複数の能力提供装置が1つの装置内に構成されていてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 [第十二実施形態]
 本発明の第十二実施形態を説明する。本形態では、Φ個(Φは2以上の整数)の計算装置が1個の能力提供装置を共用して計算を行い、能力提供装置が計算装置からその対価を受ける例を説明する。ただし、これは本発明を限定するものではなく、Φ個の計算装置が複数個の能力提供装置を共用して計算を行ってもよい。
 <構成>
 図31に例示するように、第十二実施形態の代理計算システム201は、例えば、Φ個の計算装置211-φ(φ=1,…,Φ)と1個の能力提供装置212とを有する。各装置は情報のやり取りが可能なように構成される。例えば、各装置は伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
 本形態では、能力提供装置212が群Hφの元を群Gφの元へ写す関数fφを計算する能力(計算能力)を各計算装置211-φに与える。各計算装置211-φはこの能力に対する対価を能力提供装置212に支払う。各計算装置211-φは、提供された能力を用い、群Hφの元xφに対する群Gφの元fφ(xφ)を計算する。
 図32に例示するように、第十二実施形態の計算装置211-φは、例えば、自然数記憶部21101-φと自然数選択部21102-φと整数計算部21103-φと入力情報提供部21104-φと第一計算部21105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部21108-φと第二べき乗計算部21109-φと第二リスト記憶部21110-φと判定部21111-φと最終出力部21112-φと制御部21113-φとを有する。計算装置211-φは、制御部21113-φの制御のもとで各処理を実行する。計算装置211-φの例は、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータや、サーバ装置やゲートウェイ装置やカードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器などである。
 図33に例示するように、第十二実施形態の能力提供装置212は、例えば、それぞれ、第一出力情報計算部21201と第二出力情報計算部21202と制御部21205とを有する。能力提供装置212は、制御部21205の制御のもとで各処理を実行する。能力提供装置212の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器や、ICカードやICチップなどの耐タンパ性モジュールなどである。
 <処理の前提>
 Gφ,Hφが群(例えば、可換群)であり、Xφ,1,Xφ,2が群Gφに値を持つ確率変数であり、xφ,1が確率変数Xφ,1の実現値であり、xφ,2が確率変数Xφ,2の実現値であり、fφが群Hφの元を群Gφの元へ写す関数であり、a(φ),b(φ)が互いに素である自然数であるとする。fφの具体例は、暗号化関数、復号関数、再暗号化関数、画像処理処理用の関数、音声処理用の関数などである。Gφ=Hφであってもよいし、Gφ≠Hφであってもよい。すべての群Gφ(φ=1,…,Φ)が互いに同一であってもよいし、少なくとも一部のφ’≠φに対する群Gφ’が他の群Gφと相違してもよい。すべての群Hφ(φ=1,…,Φ)が互いに同一であってもよいし、少なくとも一部のφ’≠φに対する群Hφ’が他の群Hφと相違してもよい。以下では群Gφ,Hφ上の演算を乗法的に表現する。a(φ),b(φ)は互いに素な自然数であり、「自然数」とは0以上の整数を表す。群Hφの元Mφに対する群Gφの元fφ(Mφa(φ)b(φ)を要素とする集合を「元Mφに対する類CLφ(Mφ)」と呼ぶ。ここでCLφ(Mφ)とCLφ’(Mφ’)(φ’≠φ)とは互いに異なる類である。関数fφ(Mφ)が元Mφに対する単写関数である場合、同一の元Mφに対する類CLφ(Mφ)には、a(φ),b(φ)の組に対して、一つの要素のみが属する。a(φ),b(φ)の組みごとに同一の元Mφに対する類CLφ(Mφ)に一つの要素のみが属する場合、二つの値が同一の元Mφに対する類CLφ(Mφ)に属することと当該二つの値が等しいこととが等価となる。すなわち、関数fφ(Mφ)が元Mφに対する単写関数である場合、二つの値が同一の元Mφに対する類CLφ(Mφ)に属するかの判定は当該二つの値が等しいかを判定することで行うことができる。一方、関数fφ(Mφ)が元Mφに対する単写関数でない場合(例えば、関数fφがElGamal暗号方式のような確率暗号方式の暗号化関数の場合)、平文と暗号化鍵との組に対して複数の暗号文が対応するため、同一の元Mφに対する類CLφ(Mφ)には、a(φ),b(φ)の組に対して、複数の要素が属する。
 各計算装置211-φ(図32)の自然数記憶部21101-φに、互いに素である2つの自然数a(φ),b(φ)の組(a(φ),b(φ))が複数種類記憶されているものとする。Iφを群Gφの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部21101-φにはIφの部分集合Sφに対応する自然数a(φ),b(φ)の組(a(φ),b(φ))が記憶されていると考えることができる。
 <処理>
 計算装置211-φが能力提供装置212を利用して行う処理を説明する。これらの処理は処理を行う何れか1つの計算装置211-φが能力提供装置212を或る時間占有した状態で実行されてもよいし、処理を行う複数の計算装置211-φが能力提供装置212にアクセスして並列に実行されてもよい。
 群Hφの元xφが計算装置211-φ(図32)の入力情報提供部21104-φに入力される。既に元xφが入力情報提供部21104-φに入力されている場合にはこの処理が省略されてもよい。
 図37に例示するように、元xφが入力情報提供部21104-φに入力された計算装置211-φの自然数選択部21102-φは、自然数記憶部21101-φに記憶された複数の自然数の組(a(φ),b(φ))から1つの自然数の組(a(φ),b(φ))をランダムに読み込む。読み込まれた自然数の組(a(φ),b(φ))少なくとも一部の情報は、整数計算部21103-φ、入力情報提供部21104-φ、第一べき乗計算部21106-φ及び第二べき乗計算部21109-φに送られる(ステップS21100)。
 整数計算部21103-φは、送られた自然数の組(a(φ),b(φ))を用いて、a’(φ)a(φ)+b’(φ)b(φ)=1の関係を満たす整数a’(φ),b’(φ)を計算する。自然数a(φ),b(φ)は互いに素であるため、a’(φ)a(φ)+b’(φ)b(φ)=1の関係を満たす整数a’(φ),b’(φ)は必ず存在して、その計算方法もよく知られている。たとえば拡張互除法などのよく知られたアルゴリズムによって整数a’,b’が計算され、自然数の組(a’(φ),b’(φ))の情報は、最終出力部21112-φに送られる(ステップS21101)。
 制御部21113-φは、t=1とする(ステップS21102)。
 入力情報提供部21104-φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する。好ましくは、第一入力情報τφ,1及び第二入力情報τφ,2はそれぞれ元xφとの関係をかく乱させた情報である。これにより、計算装置211-φは、元xφを能力提供装置212に対して隠蔽できる。好ましくは、本形態の第一入力情報τφ,1は自然数選択部21102-φで選択された自然数b(φ)にさらに対応し、第二入力情報τφ,2は自然数選択部21102-φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置212から提供された計算能力を計算装置211-φが高い精度で評価することができる(ステップS21103)。
 図38に例示するように、第一入力情報τφ,1は能力提供装置212(図33)の第一出力情報計算部21201に入力され、第二入力情報τφ,2は第二出力情報計算部21202に入力される(ステップS21200)。
 第一出力情報計算部21201は、第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた計算結果を第一出力情報zφ,1とする(ステップS21201)。第二出力情報計算部21202は、第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする(ステップS21202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部21201や第二出力情報計算部21202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部21201での計算結果がfφ(τφ,1)の場合もあればfφ(τφ,1)でない場合もあり、第二出力情報計算部21202-φでの計算結果がfφ(τφ,2)の場合もあればfφ(τφ,2)でない場合もある。第一出力情報計算部21201は第一出力情報zφ,1を出力し、第二出力情報計算部21202は第二出力情報zφ,2を出力する(ステップS21203)。
 図37に戻り、第一出力情報zφ,1は計算装置211-φ(図32)の第一計算部21105-φに入力され、第二出力情報zφ,2は第二計算部21108-φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置212から計算装置211-φに与えられた計算能力に相当する(ステップS21104)。計算能力が与えられた計算装置211-φの利用者は、その対価を能力提供装置212に対して支払う。対価の支払い方法は、例えば、公知の電子決済処理などによって行えばよい。
 第一計算部21105-φは、第一出力情報zφ,1から演算結果uφ=fφ(xφb(φ)φ,1を生成する。ここで、fφ(xφb(φ)φ,1を生成(計算)するとは、fφ(xφb(φ)φ,1と定義される式の値を計算することである。式fφ(xφb(φ)φ,1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uφは第一べき乗計算部21106-φに送られる(ステップS21105)。
 第一べき乗計算部21106-φはuφ’=uφ a(φ)を計算する。計算結果uφとその計算結果に基づいて計算されたuφ’との組(uφ,uφ’)は、第一リスト記憶部21107-φに記憶される(ステップS21106)。
 判定部21111-φは、第一リスト記憶部21107-φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110-φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。Mφ=xφであることまでは判定できなくてもよい(以下同様)。言い換えると、判定部21111-φは、同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があるか判定する。例えば、関数fφ(Mφ)が元Mφに対する単写関数である場合、判定部21111-φはuφ’=vφ’であるかを判定する(ステップS21107)。もし、第二リスト記憶部21110-φに組(vφ,vφ’)が記憶されていない場合には、このステップS21107の処理を行わずに、次のステップS21108の処理を行う。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21108に進む。
 ステップS21108では、第二計算部21108-φが、第二出力情報zφ,2から演算結果vφ=fφ(xφa(φ)φ,2を生成する。演算結果vφは第二べき乗計算部21109-φに送られる(ステップS21108)。
 第二べき乗計算部21109-φはvφ’=vφ b(φ)を計算する。計算結果vφとその計算結果に基づいて計算されたvφ’との組(vφ,vφ’)は、第二リスト記憶部21110-φに記憶される(ステップS21109)。
 判定部21111-φは、第一リスト記憶部21107-φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110-φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。例えば、関数fφ(Mφ)が元Mφに対する単写関数である場合、判定部21111-φはuφ’=vφ’であるかを判定する(ステップS21110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21111に進む。
 ステップS21111では、制御部21113-φがt=Tであるか判定する(ステップS21111)。Tは予め定められた自然数である。Tはすべてのφについて同一値であってもよいし、φについての自己訂正処理でのTの値と、φ’(σ’≠σ,σ’=1,…,Φ)についての自己訂正処理でのTの値が相違する場合があってもよい。t=Tであれば、最終出力部21112-φが、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS21113)、処理を終える。t=Tでない場合には、制御部21113-φは、tを1だけインクリメント、すなわちt=t+1(t+1を新たなt)として(ステップS21112)、ステップS21103に戻る。
 計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置212が正しく計算を行う信頼性がTで定められる基準を下回るということを意味する。言い換えれば、T回の繰り返しで正しい演算を行うことができなかったということを意味する。
 ステップS21114では、最終出力部21112-φが、同一の元Mφに対する類CLφ(Mφ)に属すると判定されたuφ’とvφ’との組に対応するuφ及びvφを用いてuφ b’(φ)φ a’(φ)を計算して、出力して処理を終える(ステップS21114)。
 以上のように計算されたuφ b’(φ)φ a’(φ)は、高い確率でfφ(xφ)∈Gφとなる(高い確率でuφ b’(φ)φ a’(φ)=fφ(xφ)となる理由については後述する)。よって、少なくともφについての上述処理を複数回繰り返し、ステップS21114で得られた値のうち最も頻度の高いuφ b’(φ)φ a’(φ)を選択すれば、uφ b’(φ)φ a’(φ)=fφ(xφ)であることの信頼度(確率など)は所定値以上となる。後述するように、設定によっては圧倒的な確率でuφ b’(φ)φ a’(φ)=fφ(xφ)となる。このことは能力提供装置212が必ずしも正しい返答をするとは限らない場合にも成り立つため、計算装置211-φは能力提供装置212の正当性を確認するための認証処理を必要としない。他の計算装置211-φ’(φ’≠φ)と能力提供装置212との処理内容が計算装置211-φと能力提供装置212との間の処理内容に影響を与えたとしても、能力提供装置212が或る確率より大きな確率で正しい返答をするのであれば計算装置211-φは正しい答えを計算結果fφ(xφ)を得ることができる。
 ≪高い確率でuφ b’(φ)φ a’(φ)=fφ(xφ)となる理由について≫
 Xφを群Gφに値を持つ確率変数とする。wφ∈Gにφついて、要求を受けるたびに確率変数Xφに従った標本xφ’に対応するwφφ’を返すものを、wφについて誤差Xφを持つ標本器(sampler)と呼ぶ。
 wφ∈Gφについて、自然数a(φ)が与えられるたびに確率変数Xφに従った標本xφ’に対応するwφ a(φ)φ’を返すものを、wφについて誤差Xφを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa(φ)=1として用いられれば標本器として機能する。
 本実施形態の入力能力提供部21104-φと第一出力情報計算部21201と第一計算部21105-φとの組み合わせが、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力能力提供部21104-φと第二出力情報計算部21202と第二計算部21108-φとの組み合わせが、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
 uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するのは、第一乱数化可能標本器がuφ=fφ(xφb(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφa(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第十八実施形態で行う。
 第一乱数化可能標本器がuφ=fφ(xφb(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφa(φ)を正しく計算しているとき(xφ,1及びxφ,2が群Gφの単位元eφ,gであるとき)、uφ b’(φ)=(fφ(xφb(φ)φ,1b’(φ)=(fφ(xφb(φ)φ,gb’(φ)=fφ(xφb(φ)b’(φ)となり、vφ a’(φ)=(fφ(xφa(φ)φ,2a’(φ)=(fφ(xφa(φ)φ,ga’(φ)=fφ(xφa(φ)a’(φ)となる。そのため、関数fφ(Mφ)が元Mφに対する単写関数である場合、uφ b’(φ)φ a’(φ)=fφ(xφ(b(φ)b’(φ)+a(φ)a’(φ))=fφ(xφ)となる。一方、関数fφ(Mφ)が元Mφに対する単写関数でない場合であったとしても準同型関数なのであれば、uφ b’(φ)φ a’(φ)=fφ(xφ (b(φ)b’(φ)+a(φ)a’(φ)))=fφ(xφ)となる。
 (q1,q2)∈Iについて、i=1,2の各々について関数πiをπi(q,q)=qiで定義する。さらに、L=min(♯π1(S),♯π2(S))とする。♯・は、集合・の位数である。群Gφが巡回群や位数の計算が困難な群であるときには、計算装置211-φが「⊥」以外を出力するときの出力がfφ(xφ)ではない確率は、無視できる程度の誤差の範囲で高々TL/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、計算装置211-φは圧倒的な確率で正しいfφ(xφ)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|Gφ|-1]}がある。
 [第十三実施形態]
 第十三実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
 <構成>
 図31に例示するように、第十三実施形態の代理計算システム202は、計算装置211-φが計算装置221-φに置換され、能力提供装置212が能力提供装置222に置換されたものである。
 図32に例示するように、第十三実施形態の計算装置221-φは、例えば、自然数記憶部21101-φと自然数選択部21102-φと整数計算部21103-φと入力情報提供部2104-φと第一計算部2105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部2108-φと第二べき乗計算部21109-φと第二リスト記憶部21110-φと判定部21111-φと最終出力部21112-φと最終出力部21112-φと制御部21113-φとを有する。図34に例示するように、本形態の入力情報提供部22104-φは、例えば、第一乱数生成部22104a-φと第一入力情報計算部22104b-φと第二乱数生成部22104c-φと第二入力情報計算部22104d-φとを有する。
 図33に例示するように、第十三実施形態の能力提供装置222は、例えば、それぞれ、第一出力情報計算部22201と第二出力情報計算部22202と制御部21205とを有する。
 <処理の前提>
 第十三実施形態では、関数fφを準同型関数とし、群Hφを巡回群とし、群Hφの生成元をμφ,h、群Hφの位数をKφ,H、νφ=fφ(μφ,h)とする。その他の前提は、計算装置211-φが計算装置221-φに置換され、能力提供装置212が能力提供装置222に置換されている以外、第十二実施形態と同一である。
 <処理>
 図37及び図38に例示するように、第十三実施形態の処理は第十二実施形態のステップS21103~S21105,S21108,S21200~S21203が、それぞれ、ステップS22103~S22105,S22108,S22200~S22203に置換されたものである。以下ではステップS22103~S22105,S22108,S22200~S22203の処理のみを説明する。
 《ステップS22103の処理》
 計算装置221-φ(図32)の入力情報提供部22104-φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS22103)。以下、図39を用いて本形態のステップS22103の処理を説明する。
 第一乱数生成部22104a-φ(図34)は、0以上Kφ,H未満の自然数の一様乱数r(φ,1)を生成する。生成された乱数r(φ,1)は、第一入力情報計算部22104b-φ及び第一計算部22105-φに送られる(ステップS22103a)。第一入力情報計算部22104b-φは、入力された乱数r(φ,1)と元xφと自然数b(φ)とを用いて第一入力情報τφ,1=μφ,h r(φ,1)φ b(φ)を計算する(ステップS22103b)。
 第二乱数生成部22104c-φは、0以上Kφ,H未満の自然数の一様乱数r(φ,2)を生成する。生成された乱数r(φ,2)は、第二入力情報計算部22104d-φ及び第二計算部22108-φに送られる(ステップS22103c)。第二入力情報計算部22104d-φは、入力された乱数r(φ,2)と元xφと自然数a(φ)とを用いて第二入力情報τφ,2=μφ,h r(φ,2)φ a(φ)を計算する(ステップS22103d)。
 第一入力情報計算部22104b-φ及び第二入力情報計算部22104d-φは、以上のように生成した第一入力情報τφ,1及び第二入力情報τφ,2を出力する(ステップS22103e)。なお、本形態の第一入力情報τφ,1及び第二入力情報τφ,2は、それぞれ、乱数r(φ,1),r(φ,2)によって元xφとの関係をかく乱させた情報である。これにより、計算装置222は、元xφを能力提供装置222に対して隠蔽できる。本形態の第一入力情報τφ,1は自然数選択部21102-φで選択された自然数b(φ)にさらに対応し、第二入力情報τφ,2は自然数選択部21102-φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置222から提供された計算能力を計算装置221-φが高い精度で評価することができる。
 《ステップS22200~S22203の処理》
 図38に例示するように、まず、第一入力情報τφ,1=μφ,h r(φ,1)φ b(φ)が能力提供装置222(図33)の第一出力情報計算部22201に入力され、第二入力情報τφ,2=μφ,h r(φ,2)φ a(φ)が第二出力情報計算部22202に入力される(ステップS22200)。
 第一出力情報計算部22201は、第一入力情報τφ,1=μφ,h r(φ,1)φ b(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,1)φ b(φ))を正しく計算し、得られた計算結果を第一出力情報zφ,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部22201での計算結果がfφ(μφ,h r(φ,1)φ b(φ))となる場合もあれば、fφφ,h r(φ,1)φ b(φ))とならない場合もある(ステップS22201)。
 第二出力情報計算部22202は、第二入力情報τφ,2=μφ,h r(φ,2)φ a(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,2)φ a(φ))を正しく計算し、得られた計算結果を第二出力情報zφ,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部22202での計算結果がfφ(μφ,h r(φ,2)φ a(φ))となる場合もあれば、fφ(μφ,h r(φ,2)φ a(φ))とならない場合もある(ステップS22202)。
 第一出力情報計算部22201は第一出力情報zφ,1を出力し、第二出力情報計算部22202は第二出力情報zφ,2を出力する(ステップS22203)。
 《ステップS22104及びS22105の処理》
 図37に戻り、第一出力情報zφ,1は計算装置221-φ(図32)の第一計算部22105-φに入力され、第二出力情報zφ,2は第二計算部22108-φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置222から計算装置221-φに与えられた計算能力に相当する(ステップS22104)。
 第一計算部22105-φは、入力された乱数r(φ,1)及び第一出力情報zφ,1を用いてzφ,1νφ -r(φ,1)を計算してその計算結果をuφとする。計算結果uφは、第一べき乗計算部21106-φに送られる。ここで、uφ=zφ,1νφ -r(φ,1)=fφ(xφb(φ)φ,1となる。すなわち、zφ,1νφ -r(φ,1)は、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS22105)。
 《ステップS22108の処理》
 第二計算部22108-φは、入力された乱数r(φ,2)及び第二出力情報zφ,2を用いてzφ,2νφ -r(φ,2)を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109-φに送られる。ここで、vφ=zφ,2νφ -r(φ,2)=fφ(xφa(φ)φ,2となる。すなわち、zφ,2νφ -r(φ,2)は、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS22108)。
 ≪zφ,1νφ -r(φ,1),zφ,2νφ -r(φ,2)がfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について≫
 cを自然数、R及びR’を乱数として、能力提供装置222がμφ,h Rφ cを用いて行う計算の計算結果をB(μφ,h Rφ c)とする。すなわち、第一出力情報計算部22201や第二出力情報計算部22202が計算装置221-φに返す計算結果をzφ=B(μφ,h Rφ c)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(μφ,h R’)fφ(μφ,h R’-1と定義する。
 このとき、zφνφ -R=B(μφ,h Rφ c)f(μφ,h-R=Xφφ(μφ,h Rφ c)fφ(μφ,h-R=Xφφ(μφ,hRφ(xφcφ(μφ,h-R=fφ(xφcφとなる。すなわち、zφνφ -Rは、fφ(xφ)について誤差Xφを持つ乱数化可能標本器の出力となる。
 上記式展開において、Xφ=B(μφ,h R’)fφ(μφ,h R’-1=B(μφ,h Rφ c)fφ(μφ,h Rφ c-1であり、B(μφ,h Rφ c)=Xφφ(μφ,h Rφ c)であるという性質を用いている。この性質は、関数fφが準同型関数であり、R及びR’が乱数であることに基づく。
 したがって、a(φ),b(φ)が自然数、r(φ,1),r(φ,2)が乱数であることを考慮すると、同様に、zφ,1ν-r(φ,1),zφ,2ν-r(φ,2)がfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となるのである。
 [第十四実施形態]
 第十四実施形態は第十三実施形態の変形例であり、a(φ)=1やb(φ)=1のときに前述した標本器によってuφ又はvφの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a(φ)=1やb(φ)=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第十二実施形態及び第十三実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 <構成>
 図31に例示するように、第十四実施形態の代理計算システム203は、計算装置221-φが計算装置231-φに置換され、能力提供装置222が能力提供装置232に置換されたものである。
 図32に例示するように、第十四実施形態の計算装置231-φは、例えば、自然数記憶部21101-φと自然数選択部21102-φと整数計算部21103-φと入力情報提供部22104-φと第一計算部22105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部22108-φと第二べき乗計算部21109-φと第二リスト記憶部21110-φと判定部21111-φと最終出力部21112-φと制御部21113-φと第三計算部23109-φとを有する。
 図33に例示するように、第十四実施形態の能力提供装置232は、例えば、第一出力情報計算部22201と第二出力情報計算部22202と制御部21205と第三出力情報計算部23203とを有する。
 <処理>
 次に本形態の処理を説明する。第十三実施形態との相違点を説明する。
 図37及び図38に例示するように、第十四実施形態の処理は第十三実施形態のステップS22103~S22105,S22108,S22200~S22203が、それぞれ、ステップS23103~S23105,S23108,S22200~S22203及びS23205~S23209に置換されたものである。以下ではステップS23103~S23105,S23108,S22200~S22203及びS23205~S23209の処理を中心に説明する。
 《ステップS23103の処理》
 計算装置231-φ(図32)の入力情報提供部23104-φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS23103)。
 以下、図39を用いて本形態のステップS23103の処理を説明する。
 制御部21113-φ(図32)は、自然数選択部21102-φで選択された自然数(a(φ),b(φ))に応じて入力情報提供部23104-φを制御する。
 制御部21113-φでb(φ)が1であるかが判定され(ステップS23103a)、b(φ)≠1であると判定された場合、前述のステップS22103a及びS22103bの処理が実行され、ステップS23103gに進む。
 一方、ステップS23103aでb(φ)=1であると判定された場合、第三乱数生成部23104e-φが、0以上Kφ,H未満の自然数の乱数r(φ,3)を生成する。生成された乱数r(φ,3)は第三入力情報計算部23104f-φ及び第三計算部23109-φに送られる(ステップS23103b)。第三入力情報計算部23104f-φは、入力された乱数r(φ,3)と元xφとを用いてxφ r(φ,3)を計算し、これを第一入力情報τφ,1とする(ステップS23103c)。その後、ステップS23103gに進む。
 ステップS23103gでは、制御部21113-φでa(φ)が1であるかが判定され(ステップS23103g)、a(φ)≠1であると判定された場合、前述のステップS22103c及びステップS22103dの処理が実行される。
 一方、ステップS23103gでa(φ)=1であると判定された場合、第三乱数生成部23104e-φが、0以上Kφ,H未満の自然数の乱数r(φ,3)を生成する。生成された乱数r(φ,3)は第三入力情報計算部23104f-φに送られる(ステップS23103h)。第三入力情報計算部23104f-φは、入力された乱数r(φ,3)と元xφとを用いてxφ r(φ,3)を計算し、これを第二入力情報τφ,2とする(ステップS23103i)。
 第一入力情報計算部22104b-φ、第二入力情報計算部22104d-φ、第三入力情報計算部23104f-φは、以上のように生成した第一入力情報τφ,1及び第二入力情報τφ,2を対応する自然数(a(φ),b(φ))の情報とともに出力する(ステップS23103e)。なお、本形態の第一入力情報τφ,1及び第二入力情報τφ,2は、それぞれ、乱数r(φ,1),r(φ,2),r(φ,3)によって元xφとの関係をかく乱させた情報である。これにより、計算装置231-φは、元xφを能力提供装置232に対して隠蔽できる。
 《S22200~S22203及びS23205~S23209の処理》
 以下、図38を用いて本形態のS22200~S22203及びS23205~S23209の処理を説明する。
 制御部21205(図33)は、入力された自然数(a(φ),b(φ))に応じ、第一出力情報計算部22201、第二出力情報計算部22202、及び第三出力情報計算部23203を制御する。
 制御部21205の制御に基づき、b(φ)≠1の場合の第一入力情報τφ,1=μφ,h r(φ,1)φ b(φ)は能力提供装置232(図33)の第一出力情報計算部22201に入力され、a(φ)≠1の場合の第二入力情報τφ,2=μφ,h r(φ,2)φ a(φ)は第二出力情報計算部22202に入力される。b(φ)=1の場合の第一入力情報τφ,1=xφ r(φ,3)やa(φ)=1の場合の第二入力情報τφ,2=xφ r(φ,3)は第三出力情報計算部23203に入力される(ステップS23200)。
 制御部21113-φでb(φ)が1であるかが判定され(ステップS23205)、b(φ)≠1であると判定された場合、前述のステップS22201の処理が実行される。その後、制御部21113-φでa(φ)が1であるかが判定され(ステップS23208)、a(φ)≠1であると判定された場合、前述したステップS22202の処理が実行されてステップS23203に進む。
 一方、ステップS23208でa(φ)=1であると判定された場合、第三出力情報計算部23203は、第二入力情報τφ,2=xφ r(φ,3)を用い、或る確率より大きな確率でfφ(xφ r(φ,3))を正しく計算し、得られた計算結果を第三出力情報zφ,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部23203での計算結果がfφ(xφ r(φ,3))となる場合もあれば、fφ(xφ r(φ,3))とならない場合もある(ステップS23209)。その後、ステップS23203に進む。
 ステップS23205でb(φ)=1であると判定された場合、第三出力情報計算部23203は、第二入力情報τφ,1=xφ r(φ,3)を用い、或る確率より大きな確率でfφ(xφ r(φ,3))を正しく計算し、得られた計算結果を第三出力情報zφ,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部23203での計算結果がfφ(xφ r(φ,3))となる場合もあれば、fφ(xφ r(φ,3))とならない場合もある(ステップS23206)。
 その後、制御部21113-φでa(φ)が1であるかが判定され(ステップS23207)、a(φ)=1であると判定された場合にはステップS23203に進み、a(φ)≠1であると判定された場合にはステップS22202に進む。
 ステップS23203では、第一出力情報zφ,1を生成した第一出力情報計算部22201は第一出力情報zφ,1を出力し、第二出力情報zφ,2を生成した第二出力情報計算部22202は第二出力情報zφ,2を出力し、第三出力情報zφ,3を生成した第三出力情報計算部23202は第三出力情報zφ,3を出力する(ステップS23203)。
 《ステップS23104及びS23105の処理》
 図37に戻り、制御部21113-φの制御のもと、第一出力情報zφ,1は計算装置231-φ(図32)の第一計算部22105-φに入力され、第二出力情報zφ,2は第二計算部22108-φに入力され、第三出力情報zφ,3は第三計算部23109-φに入力される(ステップS23104)。
 b(φ)≠1であれば、第一計算部22105-φが、前述のステップS22105の処理によってuφを生成し、b(φ)=1であれば、第三計算部23109-φが、zφ,3 1/r(φ,3)を計算してその計算結果をuφとする。計算結果uφは第一べき乗計算部21106-φに送られる。ここで、b(φ)=1の場合、uφ=zφ,3 1/r(φ,3)=fφ(xφ)xφ,3となる。すなわち、zφ,3 1/r(φ,3)は、fφ(xφ)について誤差Xφ,3を持つ標本器となる。その理由については後述する(ステップS23105)。
 《ステップS23108の処理》
 a(φ)≠1であれば、第二計算部22108-φが、前述のステップS22108の処理によってvφを生成し、a(φ)=1であれば、第三計算部23109-φが、zφ,3 1/r(φ,3)を計算してその計算結果をvφとする。計算結果vφは第二べき乗計算部21109-φに送られる。ここで、a(φ)=1の場合、vφ=zφ,3 1/r(φ,3)=fφ(xφ)xφ,3となる。すなわち、zφ,3 1/r(φ,3)は、fφ(xφ)について誤差Xφ,3を持つ標本器となる。その理由については後述する(ステップS23108)。
 なお、zφ,3 1/r(φ,3)の計算、すなわちzφ,3のべき乗根の計算が困難な場合には、次のようにしてuφ及び/又はvφを計算してもよい。第三計算部23109-φは、乱数r(φ,3)とその乱数r(φ,3)に基づいて計算されたzφ,3の組を順次(α1,β1),(α2,β2),…,(αm,βm),…として図示していない記憶部に記憶する。mは自然数である。第三計算部23109-φは、α1,α2,…,αmの最小公倍数が1になれば、γ1,γ2,…,γmを整数としてγα+γ2α2+…+γmαm=1となるγ1,γ2,…,γmを計算して、そのγ1,γ,…,γmを用いてΠi=1 mβi γi=β1 γ1β2 γ2…βm γmを計算して、その計算結果をuφ及び/又はvφとしてもよい。
 ≪zφ,3 1/r(φ,3)がfφ(xφ)について誤差Xφ,3を持つ標本器となる理由について≫
 Rを乱数として、能力提供装置232がxφ Rを用いて行う計算の計算結果をB(xφ R)とする。すなわち、第一出力情報計算部22201や第二出力情報計算部22202や第三出力情報計算部23203が計算装置231-φに返す計算結果をzφ=B(xφ R)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(xφ R1/Rφ(xφ-1と定義する。
 このとき、zφ 1/R=B(xφ R1/R=Xφφ(xφ)=fφ(xφ)Xφとなる。すなわち、zφ 1/Rは、fφ(xφ)について誤差Xφを持つ標本器となる。
 上記式展開において、Xφ=B(xφ R1/Rφ(xφ R-1であり、B(xφ R1/R=Xφφ(xφ R)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
 したがって、r(φ,3)が乱数であることを考慮すると、同様に、zφ 1/Rがfφ(xφ)について誤差Xφ,3を持つ標本器となるのである。
 [第十五実施形態]
 第十五実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、本形態では、fφ(xφ)が第一暗号文である群Hφの元xφ=Cφ,1(y(φ,1),mφ)を群Gφの元である第二暗号文fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための関数とする。ただし、第一暗号文Cφ,1(y(φ,1),mφ)は第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文であり、第二暗号文Cφ,2(y(φ,2),mφ)は第二暗号化方式ENCφ,2に則って平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文である。第二暗号化方式ENCφ,2がElGamal暗号方式であり、関数fφ(xφ)が準同型関数である。なお、第一暗号化方式ENCφ,1には特に限定はなく、第一暗号化方式ENCφ,1はElGamal暗号方式のような確率暗号方式であってもよいし、RSA暗号方式のような確定暗号方式であってもよい。
 以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 図31に例示するように、第十五実施形態の代理計算システム204は、計算装置211-φが計算装置241-φに置換され、能力提供装置212が能力提供装置242に置換されたものである。
 図32に例示するように、第十五実施形態の計算装置241-φは、例えば、自然数記憶部21101-φと自然数選択部21102-φと整数計算部21103-φと入力情報提供部24104-φと第一計算部24105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部24108-φと第二べき乗計算部21109-φと第二リスト記憶部21110-φと判定部24111-φと最終出力部21112-φと制御部21113-φとを有する。図35に例示するように、本形態の入力情報提供部24104-φは、例えば、第一乱数生成部24104a-φと第一入力情報計算部24104b-φと第二乱数生成部24104c-φと第二入力情報計算部24104d-φとを有する。
 図33に例示するように、第十五実施形態の能力提供装置242は、例えば、第一出力情報計算部24201と第二出力情報計算部24202と制御部21205とを有する。
 <処理の前提>
 第十五実施形態では、群Gφが巡回群Gφ,1,Gφ,2の直積群Gφ,1×Gφ,2、μφ,g1が群Gφ,1の生成元、μφ,g2が群Gφ,2の生成元、第二暗号化鍵y(φ,2)がμφ,g2 s(φ,2)、元Cφ,2(y(φ,2),mφ)が(μφ,g1 r(φ),mφy(φ,2)r(φ))∈Gφ,1×Gφ,2、r(φ)が整数の乱数、値uφ a(φ)が(cφ,1u,cφ,2u)∈Gφ,1×Gφ,2、値vφ b(φ)が(cφ,1v,cφ,2v)∈Gφ,1×Gφ,2である。Gφ,1=Gφ,2であってもよいし、Gφ,1≠Gφ,2であってもよい。前述のように第一暗号化方式ENCφ,1には限定はないが、例えば第一暗号化方式ENCφ,1がElGamal暗号方式である場合には、群Hφが巡回群Hφ,1,Hφ,2の直積群Hφ,1×Hφ,2、r’(φ)が整数の乱数、μφ,h1が群Hφ,1の生成元、μφ,h2が群Hφ,2の生成元、第一暗号化鍵y(φ,1)がμφ,h2 s(φ,1)、第一暗号文Cφ,1(y(φ,1),mφ)が(μφ,h1 r’(φ),mφy(φ,1)r’(φ))∈Hφ,1×Hφ,2となる。Hφ,1=Hφ,2であってもよいし、Hφ,1≠Hφ,2であってもよい。
 なお、Α=(α,α)∈Gφ,1×Gφ,2,Β=(β,β)∈Gφ,1×Gφ,2,及びεが自然数である場合、Αεは(α ε,α ε)を表し、Αは(α1 ,α2 )を表し、ΑΒは(αβ,αβ)を表す。同様に、εが自然数、Α=(α1,α2)∈Hφ,1×Hφ,2,Β=(β,β)∈Hφ,1×Hφ,2である場合、Αεは(α1 ε,α2 ε)を表し、Αは(α1 ,α2 )を表し、ΑΒは(α1β1,α2β2)を表す。eφ(α,β)を(α,β)∈Gφ,1×Gφ,2に対して巡回群Gφ,Tの元を与える双線形写像とする。双線形写像の例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数やアルゴリズムである(参考文献2:Alfred. J. Menezes,"ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81や、参考文献3:RFC 5091, "Identity-Based Cryptography Standard (IBCS) #1," Supersingular Curve Implementations of the BF and BB1 Cryptosystems等参照)。
 <処理>
 図37及び図38に例示するように、第十五実施形態の処理は第十二実施形態のステップS21103~S21105,S21107,S21108,S21110,S21200~S21203が、それぞれ、ステップS24103~S24105,S24107,S24108,S24110,S24200~S24203に置換されたものである。以下ではステップS24103~S24105,S24107,S24108,S24110,S24200~S24203の処理のみを説明する。
 《ステップS24103の処理》
 計算装置241-φ(図32)の入力情報提供部24104-φは、入力された元xφ=Cφ,1(y(φ,1),mφ)に対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS24103)。以下、図40を用いて本形態のステップS24103の処理を説明する。
 第一乱数生成部24104a-φ(図35)は、群Hφの任意の元φ,1∈Hφを生成する。本形態では群Hφからランダムかつ一様に元φ,1が選択される(一様乱数)。生成された元φ,1は、第一入力情報計算部24104b-φ、及び第一計算部24105-φに送られる(ステップS24103a)。
 第一入力情報計算部24104b-φは、自然数選択部21102-φで選択された自然数b(φ)、元xφ、元φ,1、及び第一暗号化鍵y(φ,1)を用い、第一入力情報τφ,1としてxφ b(φ)φ,1(y(φ,1),hφ,1)を計算する(ステップS24103b)。
 第二乱数生成部24104c-φは、群Hφの任意の元hφ,2∈Hφを生成する。本形態では群Hφからランダムかつ一様に元hφ,2が選択される(一様乱数)。生成された元hφ,2は、第二入力情報計算部24104d-φ、及び第二計算部24108-φに送られる(ステップS24103c)。
 第二入力情報計算部24104b-φは、自然数選択部21102-φで選択された自然数a(φ)、元xφ、元hφ,2、及び第一暗号化鍵y(φ,1)を用い、第二入力情報τφ,2としてxφ a(φ)φ,1(y(φ,1),hφ,2)を計算する(ステップS24103d)。
 第一入力情報計算部24104b-φは、以上のように生成した第一入力情報τφ,1=xφ b(φ)φ,1(y(φ,1),hφ,1)を出力する。第二入力情報計算部24104d-φは、以上のように生成した第二入力情報τφ,2=xφ a(φ)φ,1(y(φ,1),hφ,2)を出力する(ステップS24103e)。
 《ステップS24200~S24203の処理》
 図38に例示するように、まず、第一入力情報τφ,1=xφ b(φ)φ,1(y(φ,1),hφ,1)が能力提供装置242(図33)の第一出力情報計算部24201に入力され、第二入力情報τφ,2=xφ a(φ)φ,1(y(φ,1),hφ,2)が第二出力情報計算部24202に入力される(ステップS24200)。
 第一出力情報計算部24201は、第一入力情報τφ,1=xφ b(φ)φ,1(y(φ,1),φ,1)と第一暗号化鍵y(φ,1)に対応する第一復号鍵s(φ,1)と第二暗号化鍵y(φ,2)とを用い、或る確率より大きな確率でfφ(xφ b(φ)φ,1(y(φ,1),hφ,1))を正しく計算し、計算結果を第一出力情報zφ,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部24201での計算結果がfφ(xφ b(φ)φ,1(y(φ,1),hφ,1))となる場合もあれば、fφ(xφ b(φ)φ,1(y(φ,1),hφ,1))とならない場合もある(ステップS24201)。
 なお、本形態の関数fφは、第一暗号化方式ENCφ,1に則って第一復号鍵s(φ,1)で暗号文を復号して得られる値をElGamal暗号方式に則って第二暗号化鍵y(φ,2)で暗号化するための準同型関数である。例えば、第一暗号化方式ENCφ,1も第二暗号化方式ENCφ,2もElGamal暗号方式で或る場合、関数fφは、ElGamal暗号方式に則って第一復号鍵s(φ,1)で暗号文を復号して得られる値を、ElGamal暗号方式に則って第二暗号化鍵y(φ,2)で暗号化するための準同型関数である。
 第二出力情報計算部24202は、第二入力情報τφ,2=xφ a(φ)φ,1(y(φ,1),hφ,2)と第一復号鍵s(φ,1)と第二暗号化鍵y(φ,2)とを用い、或る確率より大きな確率でfφ(xφ a(φ)φ,1(y(φ,1),φ,2))を正しく計算可能であり、得られた計算結果を第二出力情報zφ,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部24202での計算結果がfφ(xφ a(φ)φ,1(y(φ,1),hφ,2))となる場合もあれば、fφ(xφ a(φ)φ,1(y(φ,1),hφ,2))とならない場合もある(ステップS24202)。
 第一出力情報計算部24201は第一出力情報zφ,1を出力し、第二出力情報計算部24202は第二出力情報zφ,2を出力する(ステップS24203)。
 《ステップS24104及びS24105の処理》
 図37に戻り、第一出力情報zφ,1は計算装置241-φ(図32)の第一計算部24105-φに入力され、第二出力情報zφ,2は第二計算部24108-φに入力される(ステップS24104)。
 第一計算部24105-φは、入力された第一出力情報zφ,1、元φ,1、及び第二暗号化鍵y(φ,2)を用い、zφ,1(Cφ,2(y(φ,2),hφ,1))-1を計算してその計算結果をuφとする(ステップS24105)。計算結果uφは、第一べき乗計算部21106-φに送られる。ここで、uφ=zφ,1(Cφ,2(y(φ,2),hφ,1))-1=fφ(xφb(φ)φ,1となる。すなわち、zφ,1(Cφ,2(y(φ,2),hφ,1))-1は、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS24108の処理》
 第二計算部24108-φは、入力された第二出力情報zφ,2、元hφ,2、及び第二暗号化鍵y(φ,2)を用い、zφ,2(Cφ,2(y(φ,2),hφ,2))-1を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109-φに送られる。ここで、vφ=zφ,2(Cφ,2(y(φ,2),hφ,2))-1=fφ(xφa(φ)φ,2となる。すなわち、zφ,2(Cφ,2(y(φ,2),hφ,2))-1は、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS24107の処理》
 判定部24111-φは、第一リスト記憶部21107-φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110-φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。本形態の判定部24111-φは、uφ’=(cφ,1u,cφ,2u)及びvφ’=(cφ,1v,cφ,2v)に対して、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすものがあるかを判定する(ステップS24107)。uφ’とvφ’がこの関係を満たすかを判定することで、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属することを判定できる理由については後述する。
 もし、第二リスト記憶部21110-φに組(vφ,vφ’)が記憶されていない場合には、このステップS24107の処理を行わずに、次のステップS21108の処理を行う。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合(上記の関係を満たすuφ’とvφ’との組があった場合)には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS24108に進む。
 《ステップS24110の処理》
 判定部24111-φは、第一リスト記憶部21107-φに記憶された組(uφ,uφ’)及び第二リスト記憶部24110-φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。本形態の判定部24111-φは、uφ’=(cφ,1u,cφ,2u)及びvφ’=(cφ,1v,cφ,2v)に対して、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすものがあるかを判定する(ステップS24110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21111に進む。
 なお、特殊な群Gφ,1,Gφ,2や双線形写像eφを用いた場合、ステップS24107及びS24110の処理を計算装置241-φに実行させることができる者を制限できる。この詳細については後述する。
 《zφ,1(Cφ,2(y(φ,2),φ,1))-1,zφ,2(Cφ,2(y(φ,2),φ,2))-1がfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について》
 任意の元φ,1を固定して考えると、元Cφ,2(y(φ,2),mφ)=(μφ,g1 r(φ),mφy(φ,2)r(φ))における乱数r(φ)を確率空間とする確率分布について、以下の関係が成り立つ。ただし、以下の関係において[Ψ1]=[Ψ2]とは、Ψ1とΨ2とが乱数rを確率空間とする確率分布として等しいことを意味する。Dφ,1(s(φ,1),xφ)は、第一暗号化方式ENCφ,1に則って元xφを第一復号鍵s(φ,1)で復号するための関数を表す。φ,2’=Dφ,1(s(φ,1),xφa(φ) φ,2とする。
 [zφ,2(Cφ,2(y(φ,2),φ,2))-1
=[fφ(xφ a(φ)φ,2(y(φ,1),φ,2))(Cφ,2(y(φ,2),φ,2))-1
=[fφ(Cφ,2(y(φ,1),Dφ,1(s(φ,1),xφa(φ) φ,2))(Cφ,2(y(φ,2),hφ,2))-1
=[fφ(Cφ,2(y(φ,1),Dφ,1(s(φ,1),xφa(φ) φ,2))Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφa(φ)  hφ,2-1φ,2(y(φ,2),Dφ,1(s(φ,1),xφa(φ))]
=[fφ(Cφ,2(y(φ,1),φ,2’))Cφ,2(y(φ,2),hφ,2’)-1φ,2(y(φ,2),Dφ,1(s(φ,1),xφa(φ))]
 したがって、乱数r(φ)と群Gφ上の一様かつランダムな元gφとの両方を確率空間とし、群Gφに値を持つ確率変数をXφ,2=fφ(Cφ,2(y(φ,1),φ,2’))Cφ,2(y(φ,2),hφ,2’)-1と考えると、xφ,2∈Xφ,2について以下の関係が成り立つ。
 zφ,2(Cφ,2(y(φ,2),hφ,2))-1
=xφ,2φ,2(y(φ,2),Dφ,1(s(φ,1),xφa(φ)
=xφ,2φ(xφ a(φ)
=fφ(xφa(φ)φ,2
 同様に、xφ,1∈Xφ,1についてzφ,1(Cφ,2(y(φ,2),hφ,1))-1=fφ(xφb(φ)φ,1の関係が成り立つ。したがって、zφ,1(Cφ,2(y(φ,2),hφ,1))-1,zφ,2(Cφ,2(y(φ,2),hφ,2))-1はfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる。
 《関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすかを判定することで、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属することを判定できる理由》
 uφ’とvφ’とが互いに同一の元Mφ=xφに対する類CLφ(Mφ)に属すると仮定する。この場合には第一乱数化可能標本器がuφ=f(xφb(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφa(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高い。よって、uφ’=(μφ,g1 r’’(φ),mφy(φ,2)r’’(φ))かつvφ’=(μφ,g1 r’’’(φ),mφy(φ,2)r’’’(φ))である可能性が高い。ただし、r’’(φ)及びr’’’(φ)は、ElGamal暗号方式の乱数成分と自然数選択部21102-φで選択された自然数の組とによって定まる値である。その場合、双線形写像eφの性質から、uφ’=(cφ,1u,cφ,2u)に対して
 eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))
=eφ(μφ,g1,mφy(φ,2)r’’(φ))/eφ(μφ,g1 r’’(φ),y(φ,2))
=eφ(μφ,g1,mφy(φ,2))r’’(φ)/eφ(μφ,g1,y(φ,2))r’’(φ)
=eφ(μφ,g1,mφ)eφ(μφ,g1,y(φ,2))/eφ(μφ,g1,y(φ,2))
=eφ(μφ,g1,mφ
を満たす可能性が高い。vφ’=(cφ,1v,cφ,2v)に対して
 eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))
=eφ(μφ,g1,mφy(φ,2)r’’’(φ))/eφ(μφ,g1 r’’’(φ),y(φ,2))
=eφ(μφ,g1,mφy(φ,2))r’’’(φ)/eφ(μφ,g1,y(φ,2))r’’’(φ)
=eφ(μφ,g1,mφ)eφ(μφ,g1,y(φ,2))/eφ(μφ,g1,y(φ,2))
=eφ(μφ,g1,mφ
を満たす可能性が高い。よって、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たす可能性が高い。
 次に、uφ’とvφ’とが互いに異なる元に対する類に属すると仮定する。すなわち、uφ’が元mφ,uに対する類CLφ(mφ,u)に属し、vφ’が元mφ,v(mφ,v≠mφ,u)に対する類CLφ(mφ,v)に属すると仮定する。すると、uφ’=(μφ,g1 r’’(φ),mφ,uy(φ,2)r’’(φ))xφ,1かつvφ’=(μφ,g1 r’’’(φ),mφ,vy(φ,2)r’’’(φ))xφ,2となる。そのため、uφ’=(cφ,1u,cφ,2u)に対してeφ,(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,mφ,u)xφ,1を満たし、vφ’=(cφ,1v,cφ,2v)に対してeφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))=eφ(μφ,g1,mφ,v)xφ,2を満たす。よって、uφ’とvφ’とが互いに異なる元に対する類に属する場合、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))≠eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))となる可能性が高い。
 《特殊な群Gφ,1,Gφ,2や双線形写像eφ
 群Gφ,1,Gφ,2や双線形写像eφの構成を以下のように限定した場合、ステップS24107及びS24110の処理を計算装置241-φに実行させることができる者を制限することができる。以下にその詳細を述べる。
 この特殊な例では、Nφが素数ωφと素数ιφの合成数、群Gφ,1,Gφ,2がそれぞれ合成数Nφを法とした剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の点からなる部分群、Gφ,1ω,Gφ,2ωが素数ωφを法とした剰余体Z/ωφZ上で定義された第二楕円曲線Eφ,2上の点からなる部分群、Gφ,1ι,Gφ,2ιが素数ιφを法とした剰余体Z/ιφZ上で定義された第三楕円曲線Eφ,3上の点からなる部分群、eφ(α,β)が(α,β)∈Gφ,1×Gφ,2に対して巡回群Gφ,Tの元を与える双線形写像、eφ,ω(αω,βω)が(αω,βω)∈Gφ,1ω×Gφ,2ωに対して巡回群Gφ,Tωの元を与える第二双線形写像、eφ,ι(αι,βι)が(αι,βι)∈Gφ,1ι×Gφ,2ιに対して巡回群Gφ,Tιの元を与える第三双線形写像、HMφが第一楕円曲線Eφ,1上の点を第二楕円曲線Eφ,2上の点と第三楕円曲線Eφ,3上の点とに写す同型写像、HMφ -1が同型写像HMφの逆像である。
 この例の場合、双線形写像eφ(α,β)は剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上で定義される。しかしながら、剰余環上で定義された楕円曲線上で定義された双線形写像eφ(α,β)を多項式時間で計算する方法は知られておらず、多項式時間で計算可能な剰余環上で定義された楕円曲線上で定義された双線形写像eφ(α,β)の構成方法も知られていない(参考文献4:Alexander W. Dent and Steven D. Galbraith, "Hidden Pairings and Trapdoor DDH Groups," ANTS 2006, LNCS 4076, pp. 436-451, 2006.)。このような設定の場合、判定部24111は、双線形写像eφを剰余環Z/NφZ上で直接計算して関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすか否かを判定することができない。
 一方、剰余体Z/ωφZ,Z/ιφZ上で定義された楕円曲線上で定義されたeφ,ω(αω,βω)やeφ,ι(αι,βι)としては、多項式時間で計算可能なWeilペアリングやTateペアリングなどが存在する(参考文献2,3等参照)。このようなeφ,ω(αω,βω)やeφ,ι(αι,βι)を多項式時間で行うアルゴリズムとしてMiller のアルゴリズム(参考文献5:V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などがよく知られている。さらに、このようなeφ,ω(αω,βω)やeφ,ι(αι,βι)を効率的に行うための楕円曲線や巡回群の構成方法もよく知られている(例えば、参考文献3、参考文献6:A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献7:P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8:R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/等参照)。
 中国人の剰余定理(Chinese remainder theorem)に基づき、合成数Nφ(Nφ=ωφ・ιφ)を法とした剰余環Z/NφZから剰余体Z/ωφZと剰余体Z/ιφZとの直積に写す同型写像が存在すること、及び剰余体Z/ωφZと剰余体Z/ιφZとの直積から剰余環Z/NφZに写す同型写像が存在することがよく知られている(参考文献9:ヨハネス ブーフマン,”暗号理論入門”,シュプリンガー・フェアラーク東京 (2001/07), ISBN-10: 4431708669 ISBN-13,pp. 52-56)。すなわち、第一楕円曲線Eφ,1上の点を第二楕円曲線Eφ,2上の点と第三楕円曲線Eφ,3上の点とに写す同型写像HMφ、及びその逆像HMφ -1が存在する。一例を挙げると、剰余環Z/NφZの元κ mod Nφを剰余体Z/ωφZの元κ mod ωφと剰余体Z/ιφZの元κ mod ιφとに写す同型写像をHMφとし、剰余体Z/ωφZの元κω mod ωφと剰余体Z/ιφZの元κι mod ιφとを剰余環Z/NφZの元κωιφιφ’+κιωφωφ’mod Nφに写す写像をHMφ -1とすることができる。ただし、ωφ’及びιφ’はωφωφ’+ιφιφ’=1を満たす自然数である。このようなωφ’,ιφ’は拡張ユークリッドの互除法を用いて容易に生成できる。ωφωφ’+ιφιφ’=1の関係から、κωιφιφ’+κιωφωφ’mod NにHMφを作用させると
 κωιφιφ’+κιωφωφ’ mod ωφ=κωιφιφ’mod ωφ=κω(1-ωφωφ’)mod ωφ=κωmod ωφ∈Z/ωφ
 κωιφιφ’+κιωφωφ’ modιφ=κιωφωφ’ modιφ=κι(1-ιφιφ’) modιφ=κιmodιφ∈Z/ιφ
となり、この一例での写像はHMφとHMφ -1との関係にあることが分かる。
 そのため、合成数Nφを素因数分解した値、すなわち素数ωφと素数ιφとの値が与えられるのであれば、判定部24111は、以下のステップA~Dの処理によって、剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の双線形写像eφ(α,β)を計算することができる。
 (ステップA)判定部24111は、同型写像HMφを用い、剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の点α∈Gφ,1を、剰余体Z/ωφZ上で定義された第二楕円曲線Eφ,2上の点θω(α)∈Gφ,1ωと剰余体Z/ιφZ上で定義された第三楕円曲線Eφ,3上の点θι(α)∈Gφ,1ιとに写す。
 (ステップB)判定部24111は、同型写像HMφを用い、剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の点β∈Gφ,2を、剰余体Z/ωφZ上で定義された第二楕円曲線Eφ,2上の点θω(β)∈Gφ,2ωと剰余体Z/ιφZ上で定義された第三楕円曲線Eφ,3上の点θι(β)∈Gφ,2ιとに写す。
 (ステップC)判定部24111は、第二楕円曲線Eφ,2及び第三楕円曲線Eφ,3でのeφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))を求める。
 (ステップD)判定部24111は、得られた演算結果eφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))に逆像HMφ -1を作用させた値をeφ(α,β)とする。
 よって素数ωφと素数ιφとの値が与えられるのであれば、判定部24111は、ステップA~Dに従ってeφ(μφ,g1,cφ,2u),eφ(cφ,1u,y(φ,2)),eφ(μφ,g1,cφ,2v),eφ(cφ,1v,y(φ,2))を計算し、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすか否かを判定することができる。
 一方、大きな合成数Nφの素因数分解を多項式時間で行う方法は知られていない。よって、この設定の場合、素数ωφ及び素数ιφの少なくとも一方が与えられていない判定部24111は、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすか否かを判定することができない。
 以上のような特殊な群Gφ,1,Gφ,2や双線形写像eφを用いた場合、ステップS24107及びS24110の処理を計算装置241-φに実行させることができる者を素数ωφ及び素数ιφの少なくとも一方を知る者に制限することができる。
 [第十六実施形態]
 第十六実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、Hφが群Gφの直積群Gφ×Gφ、群Gφが巡回群、関数fφ(xφ)がElGamal暗号の復号関数、すなわち暗号文である元xφ=(cφ,1,cφ,2)及び復号鍵s(φ)に対してfφ(cφ,1,cφ,2)=cφ,1φ,2 -s(φ)である場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 図31に例示するように、第十六実施形態の代理計算システム205は、計算装置211-φが計算装置251-φに置換され、能力提供装置212が能力提供装置252に置換されたものである。
 図32に例示するように、第十六実施形態の計算装置251-φは、例えば、自然数記憶部21101-φと自然数選択部21102-φと整数計算部21103-φと入力情報提供部25104-φと第一計算部25105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部25108-φと第二べき乗計算部21109-φと第二リスト記憶部21110-φと判定部21111-φと最終出力部21112-φと制御部21113-φとを有する。図36に例示するように、本形態の入力情報提供部25104-φは、例えば、第四乱数生成部25104a-φと第五乱数生成部25104b-φと第一入力情報計算部25104c-φと第六乱数生成部25104d-φと第七乱数生成部25104e-φと第二入力情報計算部25104f-φとを有する。第一入力情報計算部25104c-φは、例えば、第四入力情報計算部25104ca-φと第五入力情報計算部25104cb-φとを有し、第二入力情報計算部25104f-φは、第六入力情報計算部25104fa-φと第七入力情報計算部25104fb-φとを有する。
 図33に例示するように、第十六実施形態の能力提供装置252は、例えば、第一出力情報計算部25201と第二出力情報計算部25202と制御部21205とを有する。
 <処理>
 次に本形態の処理を説明する。第十六実施形態では、群Hφ=Gφ×Gφ、元xφ=(cφ,1,cφ,2)∈Hφであり、fφ(cφ,1,cφ,2)が準同型関数であり、群Gφの生成元をμφ,gとし、群Gφの位数をKφ,Gとし、同じ復号鍵s(φ)に対する暗号文(Vφ,Wφ)∈Hφとその暗号文を復号した復号文fφ(Vφ,Wφ)=Yφ∈Gφとの組が計算装置251-φ及び能力提供装置252に事前設定され、計算装置251-φ及び能力提供装置252がこの組を利用可能とされているものとする。
 図37及び38に例示するように、第十六実施形態の処理は第十二実施形態のステップS21103~S21105,S21108,S21200~S21203が、それぞれ、ステップS25103~S25105,S25108,S25200~S25203に置換されたものである。以下ではステップS25103~S25105,S25108,S25200~S25203の処理のみを説明する。
 《ステップS25103の処理》
 計算装置251-φ(図32)の入力情報提供部25104-φは、入力された元xφ=(cφ,1,cφ,2)に対応する第一入力情報τφ,1及び元xφ=(cφ,1,cφ,2)に対応する第二入力情報τφ,2を生成して出力する(図37/ステップS25103)。以下、図41を用いて本形態のステップS25103の処理を説明する。
 第四乱数生成部25104a-φ(図36)は、0以上Kφ,G未満の自然数の一様乱数r(φ,4)を生成する。生成された乱数r(φ,4)は、第四入力情報計算部25104ca-φ、第五入力情報計算部25104cb-φ、及び第一計算部25105-φに送られる(ステップS25103a)。第五乱数生成部25104b-φは、0以上Kφ,G未満の自然数の一様乱数r(φ,5)を生成する。生成された乱数r(φ,5)は、第五入力情報計算部25104cb-φ、及び第一計算部25105-φに送られる(ステップS25103b)。
 第四入力情報計算部25104ca-φは、自然数選択部21102-φで選択された自然数b(φ)、元xφが含むcφ,2、及び乱数r(φ,4)を用い、第五入力情報cφ,2 b(φ)r(φ,4)を計算する(ステップS25103c)。第五入力情報計算部25104cb-φは、自然数選択部21102-φで選択された自然数b(φ)、元xφが含むcφ,1、及び乱数r(φ,4),r(φ,5)を用い、第五入力情報cφ,1 b(φ)r(φ,4)μφ,g r(φ,5)を計算する(ステップS25103d)。
 第六乱数生成部25104d-φは、0以上Kφ,G未満の自然数の一様乱数r(φ,6)を生成する。生成された乱数r(φ,6)は、第六入力情報計算部25104fa-φ、第七入力情報計算部25104fb-φ、及び第二計算部25108-φに送られる(ステップS25103e)。第七乱数生成部25104e-φは、0以上Kφ,G未満の自然数の一様乱数r(φ,7)を生成する。生成された乱数r(φ,7)は、第七入力情報計算部25104fb-φ、及び第二計算部25108-φに送られる(ステップS25103f)。
 第六入力情報計算部25104fa-φは、自然数選択部21102-φで選択された自然数a(φ)、元xφが含むcφ,2、及び乱数r(φ,6)を用い、第六入力情報cφ,2 a(φ)r(φ,6)を計算する(ステップS25103g)。第七入力情報計算部25104fb-φは、自然数選択部21102-φで選択された自然数a(φ)、元xφが含むcφ,1、及び乱数r(φ,6),r(φ,7)を用い、第七入力情報cφ,1 a(φ)r(φ,6)μg r(φ,7)を計算する(ステップS25103h)。
 第一入力情報計算部25104c-φは、以上のように生成した第五入力情報cφ,2 b(φ)φ r(φ,4)及び第五入力情報cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5)を第一入力情報τφ,1=(cφ,2 b(φ)φ r(φ,4),cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5))として出力する。第二入力情報計算部25104f-φは、以上のように生成した第六入力情報cφ,2 a(φ)r(φ,6)及び第七入力情報cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7)を第二入力情報τφ,2=(cφ,2 a(φ)φ r(φ,6),cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7))として出力する(ステップS25103i)。
 《ステップS25200~S25203の処理》
 図38に例示するように、まず、第一入力情報τφ,1=(cφ,2 b(φ)φ r(φ,4),cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5))が能力提供装置252(図33)の第一出力情報計算部25201に入力され、第二入力情報τφ,2=(cφ,2 a(φ)r(φ,6),cφ,1 a(φ)r(φ,6)μφ,g r(φ,7))が第二出力情報計算部25202に入力される(ステップS25200)。
 第一出力情報計算部25201は、第一入力情報τφ,1=(cφ,2 b(φ)φ r(φ,4),cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5))と復号鍵s(φ)とを用い、或る確率より大きな確率でfφ(cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)φ r(φ,4))を正しく計算し、計算結果を第一出力情報zφ,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部25201での計算結果がfφ(cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)φ r(φ,4))となる場合もあれば、fφ(cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)φ r(φ,4))とならない場合もある(ステップS25201)。
 第二出力情報計算部25202は、第二入力情報τφ,2=(cφ,2 a(φ)φ r(φ,6),cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7))と復号鍵s(φ)とを用い、或る確率より大きな確率でfφ(cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)φ r(φ,6))を正しく計算可能であり、得られた計算結果を第二出力情報zφ,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部25202での計算結果がfφ(cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)φ r(φ,6))となる場合もあれば、fφ(cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)φ r(φ,6))とならない場合もある(ステップS25202)。
 第一出力情報計算部25201は第一出力情報zφ,1を出力し、第二出力情報計算部25202は第二出力情報zφ,2を出力する(ステップS25203)。
 《ステップS25104及びS25105の処理》
 図37に戻り、第一出力情報zφ,1は計算装置251-φ(図32)の第一計算部25105-φに入力され、第二出力情報zφ,2は第二計算部25108-φに入力される(ステップS25104)。
 第一計算部25105-φは、入力された第一出力情報zφ,1及び乱数r(φ,4),r(φ,5)を用い、zφ,1-r(φ,4)μφ,g -r(φ,5)を計算してその計算結果をuφとする(ステップS25105)。計算結果uφは、第一べき乗計算部21106-φに送られる。ここで、uφ=zφ,4φ -r(φ,4)μφ,g -r(φ,5)=fφ(cφ,1,cφ,2b(φ)φ,1となる。すなわち、zφ,4φ -r(φ,4)μφ,g -r(φ,5)は、fφ(cφ,1,cφ,2)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS25108の処理》
 第二計算部25108-φは、入力された第二出力情報zφ,2及び乱数r(φ,6),r(φ,7)を用い、zφ,2φ -r(φ,6)μφ,g -r(φ,7)を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109-φに送られる。ここで、vφ=zφ,5φ -r(φ,6)μφ,g -r(φ,7)=fφ(cφ,1,cφ,2a(φ)φ,2となる。すなわち、zφ,5φ -r(φ,6)μφ,g -r(φ,7)は、fφ(cφ,1,cφ,2)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
 ≪zφ,4φ -r(φ,4)μφ,g -r(φ,5),zφ,5φ -r(φ,6)μφ,g -r(φ,7)がfφ(cφ,1,cφ,2)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について≫
 cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置252がcφ,1 φ R1μφ,g R2及びcφ,2 cφ R1を用いて行う計算の計算結果をB(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)とする。すなわち、第一出力情報計算部25201や第二出力情報計算部25202が計算装置251-φに返す計算結果をzφ=B(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(Vφ R1’μφ,g R2’,Wφ R1’)fφ(Vφ R1’μφ,g R2’,Wφ R1’-1と定義する。
 このとき、zφφ -R1μφ,g -R2=B(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)Yφ -R1μφ,g -R2=Xφφ(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)Yφ -R1μφ,g -R2=Xφφ(cφ,1,cφ,2cφ(Vφ,WφR1φ(μφ,g,eφ,gR2φ -R1μφ,g -R2=Xφφ(cφ,1,cφ,2cφ R1μφ,g R2φ -R1μφ,g -R2=fφ(cφ,1,cφ,2cφとなる。すなわち、zφφ -R1μφ,g -R2は、fφ(xφ)について誤差Xφを持つ乱数化可能標本器の出力となる。なお、eφ,gは、群Gφの単位元である。
 上記式展開において、Xφ=B(Vφ R1’μφ,g R2’,Wφ R1’)fφ(Vφ R1’μφ,g R2’,Wφ R1’-1=B(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)fφ(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)であり、B(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)=Xφφ(cφ,1 cφ R1μφ,g R2,cφ,2 cφ R1)であるという性質を用いている。この性質は、R1、R2、R1’及びR2’が乱数であることに基づく。
 したがって、a(φ),b(φ)が自然数、r(φ,4),r(φ,5),r(φ,6)及びr(φ,7)が乱数であることを考慮すると、同様に、zφ,4φ -r(φ,4)μφ,g -r(φ,5),zφ,5φ -r(φ,6)μφ,g -r(φ,7)がfφ(cφ,1,cφ,2)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となるのである。
 [第十七実施形態]
 第十七実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、巡回群H1,φの生成元がη1,φ、巡回群H2,φの生成元がη2,φ、fφが巡回群H1,φの元と巡回群H2,φの元との組を巡回群Gφの元へ写す双準同型写像、巡回群Hφの元xφが巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)である場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。双準同型写像fφの例には、Weilペアリングやtateペアリングなどのペアリング演算を行うための関数やアルゴリズムがある。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 図31に例示するように、第十七実施形態の代理計算システム207は、計算装置211-φが計算装置271-φに置換され、能力提供装置212が能力提供装置272に置換されたものである。
 図32に例示するように、第十七実施形態の計算装置271-φは、例えば、自然数記憶部21101-φと自然数選択部21102-φと整数計算部21103-φと入力情報提供部27104-φと第一計算部27105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部27108-φと第二べき乗計算部21109-φと第二リスト記憶部21110-φと判定部27111-φと最終出力部21112-φと制御部21113-φとを有する。図42に例示するように、本形態の入力情報提供部27104-φは、例えば、第一乱数生成部27104a-φと第二乱数生成部27104c-φと第一入力情報計算部27104b-φと第二入力情報計算部27104d-φとを有する。
 図33に例示するように、第十七実施形態の能力提供装置272は、例えば、第一出力情報計算部27201と第二出力情報計算部27202と制御部21205とを有する。
 <処理>
 次に本形態の処理を説明する。第十七実施形態では、群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、巡回群H1,φの生成元がη1,φ、巡回群H2,φの生成元がη2,φ、fφが巡回群H1,φの元と巡回群H2,φの元との組を巡回群Gφの元へ写す双準同型写像、群Hφの元xφが巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)である。Ωφ=fφ(η1,φ,η2,φ)は例えば事前計算されたものである。
 図37及び38に例示するように、第十七実施形態の処理は第十二実施形態のステップS21103~S21105,S21107,S21108,S21110,S21200~S21203が、それぞれ、ステップS27103~S27105,S27107,S27108,S27110,S27200~S27203に置換されたものである。以下ではステップS27103~S27105,S27107,S27108,S27110,S27200~S27203の処理のみを説明する。
 《ステップS27103の処理》
 計算装置271-φ(図32)の入力情報提供部27104-φは、入力された巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組xφ=(λ1,φ,λ2,φ)に対応する第一入力情報τφ,1及びxφ=(λ1,φ,λ2,φ)に対応する第二入力情報τφ,2を生成して出力する(図37/ステップS27103)。以下、図43を用いて本形態のステップS27103の処理を説明する。
 第一乱数生成部27104a-φ(図42)は、0以上2μ(k)+k以下の自然数の一様乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を生成する。ただし、μ(k)はセキュリティパラメータkの関数値を意味する。生成された乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)は、第一入力情報計算部27104b-φ及び第一計算部27105-φに送られる(ステップS27103a)。
 第一入力情報計算部27104b-φは、自然数選択部21102-φで選択された自然数b(φ)、入力された値xφ=(λ1,φ,λ2,φ)、生成元η1,φ,η2,φ及び乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を用い、第一入力情報τφ,1として、(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を計算する(ステップS27103b~S27103d)。
 第二乱数生成部27104c-φ(図42)は、0以上2μ(k)+k以下の自然数の一様乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を生成する。生成された乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)は、第二入力情報計算部27104d-φ及び第二計算部27108-φに送られる(ステップS27103e)。
 第二入力情報計算部27104d-φは、自然数選択部21102-φで選択された自然数a(φ)、入力された値xφ=(λ1,φ,λ2,φ)、生成元η1,φ,η2,φ及び乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を用い、第二入力情報τφ,2として、(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を計算する(ステップS27103f~S27103h)。
 第一入力情報計算部27104b-φは、第一入力情報τφ,1として、(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を出力する。第二入力情報計算部27104d-φは、第二入力情報τφ,2として、(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を出力する(ステップSS27103i)。
 《ステップS27200~S27203の処理》
 図38に例示するように、第一入力情報τφ,1である(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))が能力提供装置272(図33)の第一出力情報計算部27201に入力される。第二入力情報τφ,2である(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))が第二出力情報計算部27202に入力される(ステップS27200)。
 第一出力情報計算部27201は、第一入力情報τφ,1を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、fφ(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及びfφ(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を正しく計算し、得られた演算結果zφ,1,1、zφ,1,2及びzφ,1,3を第一出力情報zφ,1とする。これらの計算結果は正しい場合もあれば正しくない場合もある(ステップS27201)。
 第二出力情報計算部27202は、第二入力情報τφ,2を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及びfφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を正しく計算し、得られた演算結果zφ,2,1、zφ,2,2及びzφ,2,3を第二出力情報zφ,2とする。これらの計算結果は正しい場合もあれば正しくない場合もある(ステップS27202)。第一出力情報計算部27201は第一出力情報zφ,1を出力し、第二出力情報計算部27202は第二出力情報zφ,2を出力する(ステップS27203)。
 《ステップS27104及びS27105の処理》
 図37に戻り、第一出力情報zφ,1は計算装置271-φ(図32)の第一計算部27105-φに入力され、第二出力情報zφ,2は第二計算部27108-φに入力される(ステップS27104)。
 第一計算部27105-φは、入力された第一出力情報zφ,1=(zφ,1,1,zφ,1,2,zφ,1,3)及び乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を用い、uφ=zφ,1,1φ,1,2φ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16)を計算して演算結果uφを得る(ステップS27105)。計算結果uφは、第一べき乗計算部21106-φに送られる。ここで、uφ=fφ(λ1,φ,λ2,φb(φ)φ,1となる。すなわち、zφ,1,1φ,1,2φ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16)は、fφ(λ1,φ,λ2,φ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS27108の処理》
 第二計算部27108-φは、入力された第二出力情報zφ,2=(zφ,2,1,zφ,2,2,zφ,2,3)及び乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を用い、vφ=zφ,2,1φ,2,2φ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)を計算して演算結果vφを得る。計算結果vφは、第二べき乗計算部21109-φに送られる。ここで、vφ=fφ(λ1,φ,λ2,φa(φ)φ,2となる。すなわち、zφ,2,1φ,2,2φ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)は、fφ(λ1,φ,λ2,φ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
 《ステップS27107,S27110の処理》
 ステップS27107,S27110では、判定部27111-φがuφ’=vφ’であるかを判定する。ステップS27107でuφ’=vφ’であると判定されればステップS21114に進み、そうでなければステップS27108に進む。ステップS27110でuφ’=vφ’であると判定されればステップS21114に進み、そうでなければステップS21111に進む。
 ≪zφ,1,1φ,1,2φ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16),zφ,2,1φ,2,2φ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)がfφ(λ1,φ,λ2,φ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について≫
 fφの双線形性よりvφについて以下の関係が成り立つ。
 vφφ(λ1,φ,λ2,φ-a(φ)
=zφ,2,1φ,2,2φ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)φ(λ1,φ,λ2,φ-a(φ)
=zφ,2,1φ,2,2φ,2,3φ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24)-1φ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)φ(λ1,φ,λ2,φ-a(φ)
=zφ,2,1’zφ,2,2φ,2,3φ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)φ(λ1,φ,λ2,φ-a(φ)
=zφ,2,1’zφ,2,2’zφ,2,3’fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))fφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)φ(λ1,φ,λ2,φ-a(φ)
=zφ,2,1’zφ,2,2’zφ,2,3
 ただし、zφ,2,1’=zφ,2,1φ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24)-1、zφ,2,2’=zφ,2,2φ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25)-1、zφ,2,3’=zφ,2,3φ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23)-1を満たす。
 zφ,2,1’,zφ,2,2’及びzφ,2,3’は、何れもa(φ)に依存しない確率分布とstatistically-closeである。よって、vφφ(λ1,φ,λ2,φ-a(φ)がなす確率分布はa(φ)に依存しないある確率分布Xφ,2とstatistically-closeである。したがって、vφはfφ(λ1,φ,λ2,φ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。同様に、uφはfφ(λ1,φ,λ2,φ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。
 [第十八実施形態]
 上述の各実施形態では、計算装置の自然数記憶部21101-φに、互いに素である2つの自然数a(φ),b(φ)の組(a(φ),b(φ))が複数種類記憶され、これらの組(a(φ),b(φ))を用いて各処理が実行されることとした。しかしながら、a(φ),b(φ)の一方が定数であってもよい。例えば、a(φ)が1に固定されていてもよいし、b(φ)が1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a(φ),b(φ)の一方が定数である場合、定数とされたa(φ)又はb(φ)を選択する処理が不要となり、各処理部は定数とされたa(φ)又はb(φ)が入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa(φ)又はb(φ)が1である場合には、a’(φ)やb’(φ)を用いることなく、fφ(xφ)=uφ b’(φ)φ a’(φ)をfφ(xφ)=vφ又はfφ(xφ)=uφとして得ることができる。
 第十八実施形態は、そのような変形の一例であり、b(φ)が1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第十二実施形態との相違点を中心に説明する。第一乱数化可能標本器や標本器の具体例は、第十三実施形態から第十七実施形態で説明したのと同様であるため、説明を省略する。
 <構成>
 図31に例示するように、第十八実施形態の代理計算システム206は、第十二実施形態の計算装置211-φが計算装置261-φに置換され、能力提供装置212が能力提供装置262に置換されたものである。
 図44に例示するように、第十八実施形態の計算装置261-φは、例えば、自然数記憶部26101-φと自然数選択部26102-φと入力情報提供部26104-φと第一計算部26105-φと第一べき乗計算部21106-φと第一リスト記憶部21107-φと第二計算部26108-φと第二リスト記憶部26110-φと判定部26111-φと最終出力部21112-φと制御部21113-φとを有する。
 図33に例示するように、第十八実施形態の能力提供装置262は、例えば、第一出力情報計算部26201と第二出力情報計算部26202と制御部21205とを有する。
 <処理の前提>
 計算装置261-φの自然数記憶部26101-φには自然数b(φ)が記憶されておらず、自然数a(φ)のみが複数種類記憶されている。その他の前提は、上述の第十二実施形態から第十七実施形態の何れかと同様である。
 <処理>
 図45に例示するように、まず、計算装置261-φ(図44)の自然数選択部26102-φが、自然数記憶部26101-φに記憶された複数の自然数a(φ)から1つの自然数a(φ)をランダムに読み込む。読み込まれた自然数a(φ)の情報は、入力情報提供部26104-φ及び第一べき乗計算部21106-φに送られる(ステップS26100)。
 制御部21113-φは、t=1とする(ステップS21102)。
 入力情報提供部26104-φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する。好ましくは、第一入力情報τφ,1及び第二入力情報τφ,2はそれぞれ元xφとの関係をかく乱させた情報である。これにより、計算装置261-φは、元xφを能力提供装置262に対して隠蔽できる。好ましくは、本形態の第二入力情報τφ,2は自然数選択部26102-φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置262から提供された計算能力を計算装置261-φが高い精度で評価することが可能となる(ステップS26103)。第一入力情報τφ,1及び第二入力情報τφ,2の組みの具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした第一入力情報τφ,1及び第二入力情報τφ,2の組みである。
 図38に例示するように、第一入力情報τφ,1は能力提供装置262(図33)の第一出力情報計算部26201に入力され、第二入力情報τφ,2は第二出力情報計算部26202に入力される(ステップS26200)。
 第一出力情報計算部26201は、第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた計算結果を第一出力情報zφ,1とする(ステップS26201)。第二出力情報計算部26202は、第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする(ステップS26202)。すなわち、第一出力情報計算部26201や第二出力情報計算部26202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部26201での計算結果がfφ(τφ,1)の場合もあればfφ(τφ,1)でない場合もあり、第二出力情報計算部26202での計算結果がfφ(τφ,2)の場合もあればfφ(τφ,2)でない場合もある。第一出力情報zφ,1及び第二出力情報zφ,2の組の具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした第一出力情報zφ,1及び第二出力情報zφ,2の組である。
 第一出力情報計算部26201は第一出力情報zφ,1を出力し、第二出力情報計算部26202は第二出力情報zφ,2を出力する(ステップS26203)。
 図45に戻り、第一出力情報zφ,1は計算装置261-φ(図44)の第一計算部26105-φに入力され、第二出力情報zφ,2は第二計算部26108-φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置262から計算装置261-φに与えられた計算能力に相当する(ステップS26104)。
 第一計算部26105-φは、第一出力情報zφ,1から演算結果uφ=fφ(xφ)xφ,1を生成する。演算結果uφの具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした演算結果uφである。演算結果uφは第一べき乗計算部21106-φに送られる(ステップS26105)。
 第一べき乗計算部21106-φはuφ’=uφ a(φ)を計算する。計算結果uφとその計算結果に基づいて計算されたuφ’との組(uφ,uφ’)は、第一リスト記憶部21107-φに記憶される(ステップS21106)。
 第二計算部26108-φは、第二出力情報zφ,2から演算結果vφ=fφ(xφa(φ)φ,2を生成する。演算結果vφの具体例は、第十三実施形態から第十七実施形態の何れかの演算結果vφである。演算結果vφは第二リスト記憶部26110-φに記憶される(ステップS26108)。
 判定部26111-φは、第十二実施形態から第十七実施形態の何れかと同様に、第一リスト記憶部21107-φに記憶された組(uφ,uφ’)及び第二リスト記憶部26110-φに記憶されたvφの中で、uφ’とvφとが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する(ステップS26110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφとの組があった場合には、ステップS26114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφとの組がなかった場合には、ステップS21111に進む。
 ステップS21111では、制御部21113-φがt=Tであるか判定する(ステップS21111)。Tは予め定められた自然数である。t=Tであれば、制御部21113-φは、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS21113)、処理を終える。t=Tでない場合には、制御部21113-φは、tを1だけインクリメント、すなわちt=t+1として(ステップS21112)、ステップS26103に戻る。
 ステップS26114では、最終出力部21112-φが、同一の元Mφに対する類CLφ(Mφ)に属すると判定されたuφ’とvφとの組が含むuφ’に対応するuφを出力する(ステップS26114)。このように得られたuφは、第十二実施形態から第十七実施形態でb(φ)=1とした場合のuφ b’(φ)φ a’(φ)に相当する。すなわち、このように得られたuφは高い確率でfφ(xφ)となる。よって、少なくとも上述の処理を複数回繰り返し、ステップS26114で得られた値のうち最も頻度の高い値uφを選択すれば、選択されたuφがfφ(xφ)であることの信頼度は所定値以上となる。後述するように、設定によっては圧倒的な確率でuφ=fφ(xφ)となる。
 ≪fφ(xφ)が得られる理由について≫
 次に、本形態の計算装置261-φで復号結果fφ(xφ)が得られる理由を説明する。まず、説明に必要な事項を定義する。
 ブラックボックス(black-box):
 fφ(τφ)のブラックボックスFφ(τφ)とは、τφ∈Hφを入力としてzφ∈Gφを出力する処理部を意味する。本形態では、第一出力情報計算部26201及び第二出力情報計算部26202が、それぞれ関数fφ(τφ)のブラックボックスFφ(τφ)に相当する。群Hφから任意に選択された元τφUφ及びzφ=Fφ(τφ)に対してzφ=fφ(τφ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[zφ=fφ(τφ)|τφUφ,zφ=Fφ(τφ)]>δ…(15)
を満たすfφ(τφ)のブラックボックスFφ(τφ)のことを、信頼性δ(δ-reliable)のfφ(τφ)のブラックボックスFφ(τφ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
 自己訂正器(self-corrector):
 自己訂正器C(xφ)とは、xφ∈Hφを入力とし、fφ(τφ)のブラックボックスFφ(τφ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置261-φが自己訂正器C(xφ)に相当する。
 オールモスト自己訂正器(almost self-corrector):
 自己訂正器CF(xφ)が、xφ∈Hφを入力とし、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、正しい値j=fφ(xφ)を出力する確率が、誤った値j≠fφ(xφ)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=fφ(xφ)|j=CF(xφ),j≠⊥]
 >Pr[j≠fφ(xφ)|j=CF(xφ),j≠⊥]+Δ…(16)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(xφ)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
   Pr[j=fφ(xφ)|j=CF(xφ)]>(1/3)+Δ’
   Pr[j=⊥|j=CF(xφ)]<1/3
   Pr[j≠fφ(xφ)かつj≠⊥|j=CF(xφ)]<1/3
を満たす場合、自己訂正器CF(xφ)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
 ローバスト自己訂正器(robust self-corrector):
 自己訂正器CF(xφ)が、xφ∈Hを入力とし、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、正しい値j=fφ(xφ)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=fφ(xφ)またはj=⊥|j=CF(xφ)]>1-ξ…(17)
を満たす場合を想定する。このような場合、自己訂正器CF(xφ)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
 オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のxに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のxに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。
 擬似自由(pseudo-free)な作用:
 群Gφ、自然数の集合Ωφ={0,...,Mφ}(Mφは1以上の自然数)、群Gφに値を持つ確率変数Xφ,1,Xφ,2の各実現値αφ∈Xφ,1(αφ≠eφ,g),βφ∈Xφ,2、及びa(φ)∈Ωφについて、αφ a(φ)=βφとなる確率
 Pr[αφ a(φ)=βφかつαφ≠eφ,g|a(φ)∈UΩ,αφ∈Xφ,1,βφ∈Xφ,2]…(18)
について、あらゆる可能なXφ,1,Xφ,2に関する上限値を、組(Gφ,Ωφ)の疑似自由指標とよび、これをP(Gφ,Ωφ)と表すことにする。ある無視することができる関数ζ(k)が存在して、
   P(Gφ,Ωφ)<ζ(k)…(19)
である場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用であるという。なお、「αφ a(φ)」は、群Gφで定義された演算をαφに対してa(φ)回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(18)の確率がO(2-k)未満である場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用である。例えば、任意のαφ∈Gφでαφ≠eφ,gであるものについて、集合Ωφ・αφ={a(φ)(αφ)|a(φ)∈Ωφ}の要素数|Ωφ・αφ|が2を超える場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用といえる。なお、a(φ)(αφ)は、a(φ)とαφに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gφが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ωφ={0,...,p-2}であり、a(φ)(αφ)がαφ a(φ)∈Z/pZであり、αφ≠eφ,gである場合、Ωφ・αφ={αφ a(φ)|a(φ)=0,...,p-2}={eφ,g,αφ 1,...,αφ p-2}となり、|Ωφ・αφ|=p-1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ωφ・αφ|>C2kを満たす。ここで式(18)の確率はC-1-k未満であり、このような組(Gφ,Ωφ)によって定義される演算は擬似自由な作用である。
 信頼性δγ(δγ-reliable)の乱数化可能標本器:
 自然数a(φ)が与えられるたびに、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、wφ∈Gφについて、確率変数Xφに従った標本xφ’に対応するwφ a(φ)φ’を返す乱数化可能標本器であって、wφ a(φ)φ’=wφ a(φ)である確率がδγよりも大きい(γは正定数)、すなわち、
   Pr[wφ a(φ)φ’=wφ a(φ)]>δγ…(20)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部26104-φと第二出力情報計算部26202と第二計算部26108-φとの組は、wφ=fφ(xφ)について、信頼性δγの乱数化可能標本器である。
 次に、これらの定義を用い、本形態の計算装置261-φでfφ(xφ)が得られる理由を説明する。
 本形態のステップS26110では同一の元に対する類に属するuφ’とvφとの組があるか、すなわち、同一の元に対する類に属するuφ a(φ)とvφとの組があるかを判定している。本形態の入力情報提供部26104-φと第二出力情報計算部26202と第二計算部26108-φとの組は信頼性δγの乱数化可能標本器であるため(式(20))、Tをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属することになる(ステップS26110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、uφ a(φ)とvφとが同一の元に対する類に属する(ステップS26110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
 本形態ではuφ=fφ(xφ)xφ,1及びvφ=fφ(xφa(φ)φ,2なのであるから、関数fφ(xφ)が元xφに対する単写関数であれば、ステップS26110でyesと判定される場合にはuφ a(φ)=vφを満たし、xφ,1 a(φ)=xφ,2が成立する。関数fφ(xφ)が元xφに対する単写関数でないとしてもfφ(xφ)が準同型関数なのであれば、ステップS26110でyesと判定される場合にxφ,1 a(φ)=xφ,2が成立する。
 xφ,1 a(φ)=xφ,2が成立する場合には、xφ,1=xφ,2=eφ,gである場合とxφ,1≠eφ,gである場合とがある。xφ,1=xφ,2=eφ,gである場合には、uφ=fφ(xφ)となるのであるから、ステップS26114で出力されるuφは正しいfφ(xφ)となる。一方、xφ,1≠eφ,gである場合には、uφ≠fφ(xφ)となるのであるから、ステップS26114で出力されるuφは正しいfφ(xφ)ではない。
 群Gφと自然数a(φ)が属する集合Ωφとの組(Gφ,Ωφ)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(Gφ,Ωφ)についてT2P(Gφ,Ωφ)が漸近的に小さい場合、xφ,1 a(φ)=xφ,2の場合にxφ,1≠eφ,gである確率(式(18))は漸近的に小さい。したがって、xφ,1 a(φ)=xφ,2の場合にxφ,1=eφ,gである確率は漸近的に大きい。よって、組(Gφ,Ωφ)によって定義される演算が擬似自由な作用であるか、T2P(Gφ,Ωφ)が漸近的に小さい場合、uφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属する場合に誤ったfφ(xφ)が出力される確率は、uφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属する場合に正しいfφ(xφ)が出力される確率よりも十分小さい。この場合の計算装置261-φはオールモスト自己訂正器であるといえる(式(16)参照)。そのため、前述のように、計算装置261-φからローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しいfφ(xφ)を得ることができる。(Gφ,Ωφ)で定義される演算が疑似自由な作用である場合には、uφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属する場合に誤ったfφ(xφ)が出力される確率も無視できる。この場合の計算装置261-φは、圧倒的な確率で正しいfφ(xφ)または⊥を出力する。
 なお、任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1-η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
 a(φ)をa(φ)/b(φ)に置換すれば分かるように、上述の証明は第十二実施形態で述べた「uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するのは、第一乱数化可能標本器がuφ=fφ(xφb(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφa(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高い」ことの証明ともなる。
 《信頼性δγの乱数化可能標本器と安全性について》
 以下のような攻撃を想定する。
 ・ブラックボックスFφ(τφ)又はその部分が意図的に不正なzφを出力する、又は、ブラックボックスFφ(τφ)から出力された値が不正なzφに改ざんされる。
 ・不正なzφに対応するwφ a(φ)φ’が乱数化可能標本器から出力される。
 ・不正なzφに対応するwφ a(φ)φ’は、自己訂正器C(xφ)にuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属すると判定させる(ステップS26110でyesとなる)にもかかわらず、自己訂正器C(xφ)が誤った値を出力する確率を増加させる。
 このような攻撃は、与えられた自然数a(φ)に対して乱数化可能標本器から出力されたwφ a(φ)φ’の誤差の確率分布Da=wφ a(φ)φ’wφ -a(φ)が自然数a(φ)に依存する場合に可能となる。例えば、第二計算部26108-φから出力されるvφがfφ(xφa(φ)φ,1 a(φ)となるような不正が行われた場合、xφ,1の値にかかわらず、必ずuφ a(φ)=vφが成立してuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属すると判定されることになる。よって、与えられた自然数a(φ)に対して乱数化可能標本器から出力されたwφ a(φ)φ’の誤差の確率分布Da=wφ a(φ)φ’wφ -a(φ)が当該自然数a(φ)に依存しないことが望ましい。
 あるいは、集合Ωφのいかなる元a(φ)∈Ωφについても、wφ a(φ)φ’の誤差の確率分布Da=wφ a(φ)φ’wφ -a(φ)と区別することができない群Gφに値を持つ確率分布Dが存在する(確率分布Daと確率分布Dとが統計的に近似する(statistically-close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数a(φ)に依存しない。確率分布Daと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]-Pr[g∈Da]|<ζ…(21)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a(φ)及びb(φ)を使用する第十二実施形態から第十七実施形態についても同様である。
 [第十二実施形態から第十八実施形態の変形例]
 第十二実施形態から第十八実施形態の変形例では、能力提供装置が常に正当な計算を行うことが保障されていないとしても、能力提供装置が或る確率より大きな確率でfφ(τφ,1)やfφ(τφ,2)を正しく計算するのであれば、計算装置φのそれぞれで得られる値uφ b’(φ)φ a’(φ)は高い確率でfφ(xφ)となる。よって、計算装置φのそれぞれは、認証処理を実行することなく能力提供装置に計算を実行させ、その計算結果を用いて正当な計算結果(例えば暗号文の復号結果)を得ることができる。
 本発明は上述の実施形態に限定されるものではない。例えば、確率変数Xφ,1、Xφ,2及びXφ,3は、同じでも異なっていてもよい。
 乱数生成部のそれぞれが一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求められる安全性のレベルがそれほど高くない場合には、乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。演算効率上からは、上述の各実施形態のように、選択される自然数の乱数は、0以上Kφ,H未満の自然数又は0以上2μ(k)+k以下の自然数であることが望ましいが、その代わりにKφ,H以上の自然数や2μ(k)+kよりも大きな自然数の乱数が選択されてもよい。ここでμはkの関数である。たとえば、μを群Hφの元のビット列としての長さとすることができる。
 計算装置が同一のa(φ),b(φ)に対応する第一入力情報τφ,1及び第二入力情報τφ,2を能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、計算装置が第一入力情報τφ,1及び第二入力情報τφ,2を能力提供装置に一回提供するたびに、計算装置は第一出力情報zφ,1や第二出力情報zφ,2や第三出力情報zφ,3を複数個得ることができる。これにより、計算装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。
 計算装置が複数種類の第一入力情報τφ,1及び第二入力情報τφ,2を能力提供装置にまとめて提供し、対応する第一出力情報zφ,1や第二出力情報zφ,2や第三出力情報zφ,3を複数個まとめて取得してもよい。これにより、計算装置と能力提供装置との間のやり取り回数を減らすことができる。
 計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
 各実施形態の第一計算部や第二計算部において得られたuφやvφが群Gφの元であるかを確認し、群Gφの元であった場合には上述した処理を続行し、uφ又はvφが群Gφの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
 その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 上述の実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 この出願は、日本特許出願番号2010-239342,2011-5899,2011-88002,2011-77779に基づきその優先権を主張し、そのすべての内容は参照によってここに組み込まれる(This application is based upon and claims priority of Japanese Patent Application No. 2010-239342,2011-5899,2011-88002,2011-77779, the entire contents of which are incorporated by reference herein.)
 以上のように、各実施形態の計算装置は、能力提供装置が必ずしも正しい処理を実行しない状況であったとしても、能力提供装置から提供された計算能力を用いて正しい計算結果を得ることができる。そのため、計算装置は能力提供装置の正当性を確認するための認証処理を実行する必要はない。また、複数の計算装置が能力提供装置を共用する場合であっても、計算装置は正しい計算結果を得ることができる。
 このような代理計算システムは、例えば、ボランティアベースの分散計算、P2Pによる計算サービス、広告に対する報酬を対価とする計算サービス、ネットワークサービスや公共インフラとして提供される計算サービス、ライブラリの形態でライセンス供与される計算パッケージのネットワークサービスへの置き換えなどに利用できる。
 1~5,101~105,201~207 代理計算システム
 11~61,111~151,211~271 計算装置
 12~62,112~152,212~272 能力提供装置

Claims (118)

  1.  計算装置と能力提供装置とを有し、
     G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数であり、
     前記計算装置が、
     前記暗号文xに対応する、前記群Hの元である第一入力情報τ1及び第二入力情報τ2を出力する入力情報提供部を含み、
     前記能力提供装置が、
     前記第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする第一出力情報計算部と、
     前記第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする第二出力情報計算部と、を含み、
     前記計算装置が、さらに
     前記第一出力情報z1から計算結果u=f(x)b1を生成する第一計算部と、
     前記第二出力情報z2から計算結果v=f(x)a2を生成する第二計算部と、
     前記計算結果u及びvがua=vを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力する最終出力部と、を含む、代理計算システム。
  2.  請求項1の代理計算システムにおいて、
     前記計算装置が、前記自然数a,bの少なくとも一方を選択する自然数選択部を含み、
     前記第一入力情報τ1が、前記自然数bにさらに対応し、前記第二入力情報τ2が、前記自然数aにさらに対応する、代理計算システム。
  3.  請求項2の代理計算システムにおいて、
     前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、代理計算システム。
  4.  請求項1の代理計算システムにおいて、
     前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、代理計算システム。
  5.  請求項1から4の何れかの代理計算システムにおいて、
     前記復号関数f(x)が準同型関数、前記群Hが巡回群で、前記巡回群Hの生成元がμ、前記巡回群Hの位数がKH、ν=f(μh)であり、
     前記入力情報提供部が、
     0以上の自然数の乱数r1を生成する第一乱数生成部と、
     前記第一入力情報τ1としてμh r1bを計算する第一入力情報計算部と、
     0以上の自然数の乱数r2を生成する第二乱数生成部と、
     前記第二入力情報τ2としてμh r2aを計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部が、前記第一入力情報μh r1bを用い、或る確率より大きな確率でf(μh r1b)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
     前記第二出力情報計算部は、前記第二入力情報μh r2aを用い、或る確率より大きな確率でf(μh r2a)を正しく計算し、得られた計算結果を第二出力情報zとし、
     前記第一計算部は、z1ν-r1を計算して前記計算結果uを得、
     前記第二計算部は、z2ν-r2を計算して前記計算結果vを得る、代理計算システム。
  6.  請求項5の代理計算システムにおいて、
     前記第一乱数生成部が、b≠1のときに前記乱数r1を生成し、
     前記第一入力情報計算部が、b≠1のときに前記第一入力情報τ1として前記μh r1bを計算し、
     前記第一出力情報計算部が、b≠1のときに前記第一入力情報μh r1bを用いて得られた前記計算結果を前記第一出力情報zとし、
     前記第一計算部が、b≠1のときにz1ν-r1を計算して前記計算結果uを得、
     前記第二乱数生成部が、a≠1のときに前記乱数r2を生成し、
     前記第二入力情報計算部が、a≠1のときに前記第二入力情報τとしてμh r2aを計算し、
     前記第二出力情報計算部が、a≠1のときに前記第二入力情報μh r2aを用いて得られた前記計算結果を第二出力情報z2とし、
     前記第二計算部が、a≠1のときにz2ν-r2を計算して前記計算結果vを得、
     前記入力情報提供部が、
     0以上の自然数の乱数r3を生成する第三乱数生成部と、
     b=1のときにxr3を前記第一入力情報τ1とし、a=1のときにxr3を前記第二入力情報τ2とする第三入力情報計算部と、を含み、
     前記能力提供装置が、
     前記xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報z3とする第三出力情報計算部を含み、
     前記能力提供装置が、
     b=1のときにz3 1/r3を前記計算結果uとし、a=1のときにz3 1/r3を前記計算結果vとする第3計算部を含む、代理計算システム。
  7.  請求項1から4の何れかの代理計算システムにおいて、
     前記群Hが前記群Gの直積群G×Gであり、前記復号関数f(x)が準同型関数、前記群Gが巡回群で前記巡回群Gの生成元がμg、前記巡回群Gの位数がKG、x=(c1,c2),(V,W)が前記群Hの元、f(V,W)=Yであり、
     前記入力情報提供部が、
     0以上の自然数の乱数r4を生成する第四乱数生成部と、
     0以上の自然数の乱数r5を生成する第五乱数生成部と、
     前記第一入力情報τ1としてc2 br4及びc1 br4μg r5を計算する第一入力情報計算部と、
     0以上の自然数の乱数r6を生成する第六乱数生成部と、
     0以上の自然数の乱数r7を生成する第七乱数生成部と、
     前記第二入力情報τ2としてc2 ar6及びc1 ar6μg r7を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部が、前記第一入力情報c1 br4μg r5及びc2 br4を用い、或る確率より大きな確率でf(c1 br4μg r5,c2 br4)を正しく計算し、得られた計算結果を前記第一出力情報z1とし、
     前記第二出力情報計算部が、前記第二入力情報c1 ar6μg r7及びc2 ar6を用い、或る確率より大きな確率でf(c1 ar6μg r7,c2 ar6)を正しく計算し、得られた計算結果を前記第二出力情報z2とし、
     前記第一計算部が、z1-r4μg -r5を計算して前記計算結果uを得、
     前記第二計算部が、z2-r6μg -r7を計算して前記計算結果vを得る、代理計算システム。
  8.  請求項1から4の何れかの代理計算システムにおいて、
     前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  9.  請求項5の代理計算システムにおいて、
     前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  10.  請求項7の代理計算システムにおいて、
     前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  11.  請求項1から4の何れかの代理計算システムにおいて、
     前記自然数a又は前記自然数bが定数である、代理計算システム。
  12.  請求項5の代理計算システムにおいて、
     前記自然数a又は前記自然数bが定数である、代理計算システム。
  13.  請求項7の代理計算システムにおいて、
     前記自然数a又は前記自然数bが定数である、代理計算システム。
  14.  請求項1から4の何れかの代理計算システムにおいて、
     復号制御装置をさらに有し、
     前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
     前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。
  15.  請求項5の代理計算システムにおいて、
     復号制御装置をさらに有し、
     前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
     前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。
  16.  請求項7の代理計算システムにおいて、
     復号制御装置をさらに有し、
     前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
     前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。
  17.  請求項1の代理計算システムにおいて、
     復号制御装置をさらに有し、
     Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
     前記計算装置が、
     前記暗号文λιに対応する、前記群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を出力する入力情報提供部を含み、
     前記能力提供装置が、
     前記第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力する第一出力情報計算部と、
     前記第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力する第二出力情報計算部と、を含み、
     前記第一計算部が、前記第一出力情報zι,1から演算結果uι=fι(λιb(ι)ι,1を生成し、
     前記第二計算部が、前記第二出力情報zι,2から演算結果vι=fι(λιa(ι)ι,2を生成し、
     前記最終出力部が、前記演算結果uι及びvιがuι a(ι)=vι b(ι)を満たす場合に、a’(ι)a(ι)+b’(ι)b(ι)=1を満たす整数a’(ι),b’(ι)についてのuι b’(ι)ι a’(ι)を出力し、
     前記復号制御装置が、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
     前記能力提供装置が、さらに、
     前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。
  18.  請求項17の代理計算システムにおいて、
     前記復号制御命令は、何れかの前記復号関数fιに対応し、
     前記制御部は、前記復号制御命令に対応する前記復号関数fι、に対応する前記第一出力情報zι,1及び前記第二出力情報zι,2の両方の出力の有無を制御する、代理計算システム。
  19.  請求項17の代理計算システムにおいて、
     前記計算装置が、さらに
     前記最終出力部から出力された各ι=1,・・・,ωについてのuι b’(ι)ι a’(ι)を用い、各ι=1,・・・,ωについての前記暗号文λιを前記復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値を生成する復元処理を行う復元部を含む、代理計算システム。
  20.  請求項18の代理計算システムにおいて、
     前記計算装置が、さらに
     前記最終出力部から出力された各ι=1,・・・,ωについてのuι b’(ι)ι a’(ι)を用い、各ι=1,・・・,ωについての前記暗号文λιを前記復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値を生成する復元処理を行う復元部を含む、代理計算システム。
  21.  請求項17から20の何れかの代理計算システムにおいて、
     前記計算装置が、前記自然数a(ι),b(ι)の少なくとも一部を選択する自然数選択部を含み、
     前記第一入力情報τι,1が前記自然数b(ι)にさらに対応し、前記第二入力情報τι,2が前記自然数a(ι)にさらに対応する、代理計算システム。
  22.  請求項21の代理計算システムにおいて、
     前記入力情報提供部は、前記暗号文λιとの関係をかく乱させた情報を前記第一入力情報τι,1及び前記第二入力情報τι,2とする、代理計算システム。
  23.  請求項17から20の何れかの代理計算システムにおいて、
     前記入力情報提供部は、前記暗号文λιとの関係をかく乱させた情報を前記第一入力情報τι,1及び前記第二入力情報τι,2とする、代理計算システム。
  24.  請求項17から20の何れかの代理計算システムにおいて、
     前記復号関数fιが準同型関数、前記群Hιが巡回群で、前記巡回群Hιの生成元がμι,h、前記巡回群Hιの位数がKι,H、νι=fι(μι,h)であり、
     前記入力情報提供部が、
     0以上の自然数の乱数r(ι,1)を生成する第一乱数生成部と、
     前記第一入力情報τι,1としてμι,h r(ι,1)λι b(ι)を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(ι,2)を生成する第二乱数生成部と、
     前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部は、前記第一入力情報μι,h r(ι,1)λι b(ι)を用い、或る確率より大きな確率でfι(μι,h (ι,1)λι b(ι))を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
     前記第二出力情報計算部は、前記第二入力情報μι,h r(ι,2)λι a(ι)を用い、或る確率より大きな確率でfι(μι,h r(ι,2)λι a(ι))を正しく計算し、得られた計算結果を第二出力情報zι,2とし、
     前記第一計算部は、zι,1νι -r(ι,1)を計算して前記計算結果uιを得、
     前記第二計算部は、zι,2νι -r(ι,2)を計算して前記計算結果vιを得る、代理計算システム。
  25.  請求項24の代理計算システムにおいて、
     前記第一乱数生成部が、b(ι)≠1のときに前記乱数r(ι,1)を生成し、
     前記第一入力情報計算部が、b(ι)≠1のときに前記第一入力情報τι,1として前記μι,h r(ι,1)λι b(ι)を計算し、
     前記第一出力情報計算部が、b(ι)≠1のときに前記第一入力情報μι,h r(ι,1)λι b(ι)を用いて得られた前記計算結果を前記第一出力情報zι,1とし、
     前記第一計算部が、b(ι)≠1のときにzι,1νι -r(ι,1)を計算して前記計算結果uιを得、
     前記第二乱数生成部が、a(ι)≠1のときに前記乱数r(ι,2)を生成し、
     前記第二入力情報計算部が、a(ι)≠1のときに前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算し、
     前記第二出力情報計算部が、a(ι)≠1のときに前記第二入力情報μι,h r(ι,2)λι a(ι)を用いて得られた前記計算結果を第二出力情報zι,2とし、
     前記第二計算部が、a(ι)≠1のときにzι,2νι -r(ι,2)を計算して前記計算結果vιを得、
     前記入力情報提供部が、
     0以上の自然数の乱数r(ι,3)を生成する第三乱数生成部と、
     b(ι)=1のときにλι r(ι,3)を前記第一入力情報τι,1とし、a(ι)=1のときにλι r(ι,3)を前記第二入力情報τι,2とする第三入力情報計算部と、を含み、
     前記能力提供装置が、
     前記xr(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする第三出力情報計算部を含み、
     前記計算装置が、
     b(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果uιとし、a(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果vιとする第三計算部を含む、代理計算システム。
  26.  請求項21の代理計算システムにおいて、
     前記復号関数fιが準同型関数、前記群Hιが巡回群で、前記巡回群Hιの生成元がμι,h、前記巡回群Hιの位数がKι,H、νι=fι(μι,h)であり、
     前記入力情報提供部が、
     0以上の自然数の乱数r(ι,1)を生成する第一乱数生成部と、
     前記第一入力情報τι,1としてμι,h r(ι,1)λι b(ι)を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(ι,2)を生成する第二乱数生成部と、
     前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部は、前記第一入力情報μι,h r(ι,1)λι b(ι)を用い、或る確率より大きな確率でfι(μι,h (ι,1)λι b(ι))を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
     前記第二出力情報計算部は、前記第二入力情報μι,h r(ι,2)λι a(ι)を用い、或る確率より大きな確率でfι(μι,h r(ι,2)λι a(ι))を正しく計算し、得られた計算結果を第二出力情報zι,2とし、
     前記第一計算部は、zι,1νι -r(ι,1)を計算して前記計算結果uιを得、
     前記第二計算部は、zι,2νι -r(ι,2)を計算して前記計算結果vιを得る、代理計算システム。
  27.  請求項26の代理計算システムにおいて、
     前記第一乱数生成部が、b(ι)≠1のときに前記乱数r(ι,1)を生成し、
     前記第一入力情報計算部が、b(ι)≠1のときに前記第一入力情報τι,1として前記μι,h r(ι,1)λι b(ι)を計算し、
     前記第一出力情報計算部が、b(ι)≠1のときに前記第一入力情報μι,h r(ι,1)λι b(ι)を用いて得られた前記計算結果を前記第一出力情報zι,1とし、
     前記第一計算部が、b(ι)≠1のときにzι,1νι -r(ι,1)を計算して前記計算結果uιを得、
     前記第二乱数生成部が、a(ι)≠1のときに前記乱数r(ι,2)を生成し、
     前記第二入力情報計算部が、a(ι)≠1のときに前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算し、
     前記第二出力情報計算部が、a(ι)≠1のときに前記第二入力情報μι,h r(ι,2)λι a(ι)を用いて得られた前記計算結果を第二出力情報zι,2とし、
     前記第二計算部が、a(ι)≠1のときにzι,2νι -r(ι,2)を計算して前記計算結果vιを得、
     前記入力情報提供部が、
     0以上の自然数の乱数r(ι,3)を生成する第三乱数生成部と、
     b(ι)=1のときにλι r(ι,3)を前記第一入力情報τι,1とし、a(ι)=1のときにλι r(ι,3)を前記第二入力情報τι,2とする第三入力情報計算部と、を含み、
     前記能力提供装置が、
     前記xr(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする第三出力情報計算部を含み、
     前記計算装置が、
     b(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果uιとし、a(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果vιとする第三計算部を含む、代理計算システム。
  28.  請求項17から20の何れかの代理計算システムにおいて、
     前記群Hιが直積群Gι×Gι、前記復号関数fιが準同型関数、前記群Gιが巡回群で、前記巡回群Gιの生成元がμι,g、前記巡回群Gιの位数がKι,G、λι=(cι,1,cι,2),(Vι,Wι)が前記群Hιの元、fι(Vι,Wι)=Yιであり、
     前記入力情報提供部が、
     0以上の自然数の乱数r(ι,4)を生成する第四乱数生成部と、
     0以上の自然数の乱数r(ι,5)を生成する第五乱数生成部と、
     前記第一入力情報τι,1としてcι,2 b(ι)ι r(ι,4)及びcι,1 b(ι)ι r(ι,4)μι,g r(ι,5)を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(ι,6)を生成する第六乱数生成部と、
     0以上の自然数の乱数r(ι,7)を生成する第七乱数生成部と、
     前記第二入力情報τι,2としてcι,2 a(ι)ι r(ι,6)及びcι,1 a(ι)ι r(ι,6)μι,g r(ι,7)を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部が、前記第一入力情報cι,1 b(ι)ι r(ι,4)μι,g r(ι,5)及びcι,2 b(ι)ι r(ι,4)を用い、或る確率より大きな確率でfι(cι,1 b(ι)ι r(ι,4)μι,g r(ι,5),cι,2 b(ι)ι r4)を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
     前記第二出力情報計算部が、前記第二入力情報cι,1 a(ι)ι r(ι,6)μι,g r(ι,7)及びcι,2 a(ι)ι r(ι,6)を用い、或る確率より大きな確率でfι(cι,1 a(ι)ι r(ι,6)μι,g r(ι,7),cι,2 a(ι)ι r(ι,6))を正しく計算し、得られた計算結果を前記第二出力情報zι,2とし、
     前記第一計算部が、zι,1ι -r(ι,4)μι,g -r(ι,5)を計算して前記計算結果uιを得、
     前記第二計算部が、zι,2ι -r(ι,6)μι,g -r(ι,7)を計算して前記計算結果vιを得る、代理計算システム。
  29.  請求項21の代理計算システムにおいて、
     前記群Hιが直積群Gι×Gι、前記復号関数fιが準同型関数、前記群Gιが巡回群で、前記巡回群Gιの生成元がμι,g、前記巡回群Gιの位数がKι,G、λι=(cι,1,cι,2),(Vι,Wι)が前記群Hιの元、fι(Vι,Wι)=Yιであり、
     前記入力情報提供部が、
     0以上の自然数の乱数r(ι,4)を生成する第四乱数生成部と、
     0以上の自然数の乱数r(ι,5)を生成する第五乱数生成部と、
     前記第一入力情報τι,1としてcι,2 b(ι)ι r(ι,4)及びcι,1 b(ι)ι r(ι,4)μι,g r(ι,5)を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(ι,6)を生成する第六乱数生成部と、
     0以上の自然数の乱数r(ι,7)を生成する第七乱数生成部と、
     前記第二入力情報τι,2としてcι,2 a(ι)ι r(ι,6)及びcι,1 a(ι)ι r(ι,6)μι,g r(ι,7)を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部が、前記第一入力情報cι,1 b(ι)ι r(ι,4)μι,g r(ι,5)及びcι,2 b(ι)ι r(ι,4)を用い、或る確率より大きな確率でfι(cι,1 b(ι)ι r(ι,4)μι,g r(ι,5),cι,2 b(ι)ι r4)を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
     前記第二出力情報計算部が、前記第二入力情報cι,1 a(ι)ι r(ι,6)μι,g r(ι,7)及びcι,2 a(ι)ι r(ι,6)を用い、或る確率より大きな確率でfι(cι,1 a(ι)ι r(ι,6)μι,g r(ι,7),cι,2 a(ι)ι r(ι,6))を正しく計算し、得られた計算結果を前記第二出力情報zι,2とし、
     前記第一計算部が、zι,1ι -r(ι,4)μι,g -r(ι,5)を計算して前記計算結果uιを得、
     前記第二計算部が、zι,2ι -r(ι,6)μι,g -r(ι,7)を計算して前記計算結果vιを得る、代理計算システム。
  30.  請求項17から20の何れかの代理計算システムにおいて、
     前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  31.  請求項24の代理計算システムにおいて、
     前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  32.  請求項26の代理計算システムにおいて、
     前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  33.  請求項28の代理計算システムにおいて、
     前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  34.  請求項29の代理計算システムにおいて、
     前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λιb(ι)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λιa(ι)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。
  35.  請求項17から20の何れかの代理計算システムにおいて、
     前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。
  36.  請求項24の代理計算システムにおいて、
     前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。
  37.  請求項26の代理計算システムにおいて、
     前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。
  38.  請求項28の代理計算システムにおいて、
     前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。
  39.  請求項29の代理計算システムにおいて、
     前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。
  40.  計算装置と能力提供装置とを有し、
     GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、M1M2が集合GMに値を持つ確率変数、M1が確率変数M1の実現値、M2が確率変数M2の実現値、aMが集合HMの元であり、
     前記計算装置が、
     前記暗号文xMに対応する、集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を出力する入力情報提供部を含み、
     前記能力提供装置が、
     前記第一入力情報Mτ1を用い、或る確率より大きな確率でfMMτ1)を正しく計算し、得られた計算結果を第一出力情報M1とする第一出力情報計算部と、
     前記第二入力情報Mτ2を用い、或る確率より大きな確率でfMMτ2)を正しく計算し、得られた計算結果を第二出力情報M2とする第二出力情報計算部と、を含み、
     前記計算装置が、さらに
     前記第一出力情報M1から計算結果uM=fM(xM)+M1を生成する第一計算部と、
     前記第二出力情報M2から計算結果vM=fM(xM)aMM2を生成する第二計算部と、
     前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力する最終出力部と、を含む、代理計算システム。
  41.  請求項40の代理計算システムにおいて、
     前記計算装置が、前記集合HMの元aMを選択する行列選択部を含み、
     前記第二入力情報Mτ2が、前記元aMにさらに対応する、代理計算システム。
  42.  請求項41の代理計算システムにおいて、
     前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、代理計算システム。
  43.  請求項40の代理計算システムにおいて、
     前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、代理計算システム。
  44.  請求項40から43の何れかの代理計算システムにおいて、
     κ,ι,qが正整数、・Tが・の転置行列、GMがι×ι行列の集合、HMがι×ι行列の集合、PKが暗号化鍵であるι×κ行列、SKがPK・SK=0を満たすι×ι行列である前記復号鍵、CMがκ×ι行列、NMがι×ι行列、UMがι×ι単位行列、前記復号関数fMがSK-1{SK・xM・SKT(mod q)}(SKT-1(mod 2)であり、
     前記入力情報提供部が、
     前記集合GMの元MR1をランダムに選択する第一ランダム行列選択部と、
     κ×ιのランダムな行列CM11及びCM12を選択する第二ランダム行列選択部と、
     第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する第一暗号化部と、
     第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する第二暗号化部と、
     前記第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得る第一入力情報計算部と、
     前記集合GMの元MR2をランダムに選択する第三ランダム行列選択部と、
     κ×ιのランダムな行列CM21及びCM22を選択する第四ランダム行列選択部と、
     第三暗号文CR2=PK・CM+2・NM+MR2(mod q)を生成する第三暗号化部と、
     第四暗号文Ca=PK・CM+2・NM+aM(mod q)を生成する第四暗号化部と、
     前記第二入力情報Mτ2として(xM・Ca+CR2)+PK・CM21+2・NM+CM22 T・PKTを得る第二入力情報計算部と、を含み、
     前記第一計算部が前記計算結果uMとしてM1-MR1を生成し、
     前記第二計算部が前記計算結果vMとしてM2-MR2を生成する、代理計算システム。
  45.  請求項40から43の何れかの代理計算システムにおいて、
     復号制御装置をさらに有し、
     前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
     前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報M1及び前記第二出力情報M2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。
  46.  請求項44の代理計算システムにおいて、
     復号制御装置をさらに有し、
     前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
     前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報M1及び前記第二出力情報M2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。
  47.  第一計算部と、第二計算部と、最終出力部とを有し、
     G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数であり、
     前記第一計算部が、計算結果u=f(x)b1を生成し、
     前記第二計算部が、計算結果v=f(x)a2を生成し、
     前記最終出力部が、前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力する、を有する計算装置。
  48.  請求項47の計算装置において、
     前記暗号文xに対応する、前記群Hの元である第一入力情報τ1及び第二入力情報τ2を出力する入力情報提供部をさらに有し、
     前記第一計算部が、或る確率より大きな確率で正しくf(τ1)を計算して得られた計算結果である第一出力情報z1から、前記計算結果u=f(x)b1を生成し、
     前記第二計算部が、或る確率より大きな確率で正しくf(τ2)を正しく計算して得られた計算結果である第二出力情報z2から、前記計算結果v=f(x)a2を生成する、計算装置。
  49.  請求項48の計算装置において、
     前記自然数a,bの少なくとも一方を選択する自然数選択部をさらに有し、
     前記第一入力情報τ1が、前記自然数bにさらに対応し、前記第二入力情報τ2が、前記自然数aにさらに対応する、計算装置。
  50.  請求項49の計算装置において、
     前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、計算装置。
  51.  請求項48の計算装置において、
     前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、計算装置。
  52.  請求項48から51の何れかの計算装置において、
     前記復号関数f(x)が準同型関数、前記群Hが巡回群で、前記巡回群Hの生成元がμh、前記巡回群Hの位数がKH、ν=f(μh)であり、
     前記入力情報提供部が、
     0以上の自然数の乱数r1を生成する第一乱数生成部と、
     前記第一入力情報τ1としてμh r1bを計算する第一入力情報計算部と、
     0以上の自然数の乱数rを生成する第二乱数生成部と、
     前記第二入力情報τ2としてμh r2aを計算する第二入力情報計算部と、を含み、
     前記第一出力情報z1は、或る確率より大きな確率でf(μh r1b)を正しく計算して得られた計算結果であり、
     前記第二出力情報z2は、或る確率より大きな確率でf(μh r2a)を正しく計算して得られた計算結果であり、
     前記計算結果uは、z1ν-r1であり、
     前記計算結果vは、z2ν-r2である、計算装置。
  53.  請求項48から51の何れかの計算装置において、
     前記群Hが直積群G×Gで、前記復号関数f(x)が準同型関数、前記群Gが巡回群で、前記巡回群Gの生成元がμ、前記巡回群Gの位数がK、x=(c1,c2),(V,W)が前記群Hの元、f(V,W)=Yであり、
     前記入力情報提供部が、
     0以上の自然数の乱数r4を生成する第四乱数生成部と、
     0以上の自然数の乱数r5を生成する第五乱数生成部と、
     前記第一入力情報τ1としてc2 br4及びc1 br4μg r5を計算する第一入力情報計算部と、
     0以上の自然数の乱数r6を生成する第六乱数生成部と、
     0以上の自然数の乱数r7を生成する第七乱数生成部と、
     前記第二入力情報τ2としてc2 ar6及びc1 ar6μg r7を計算する第二入力情報計算部と、を含み、
     前記第一出力情報z1は、或る確率より大きな確率でf(c1 br4μg r5,c2 br4)を正しく計算して得られた計算結果であり、
     前記第二出力情報z2は、或る確率より大きな確率でf(c1 ar6μg r7,c2 ar6)を正しく計算して得られた計算結果であり、
     前記計算結果uは、z1-r4μg -r5であり、
     前記計算結果vは、z2-r6μg -r7である、計算装置。
  54.  請求項48から51の何れかの計算装置において、
     前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、計算装置。
  55.  請求項52の計算装置において、
     前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、計算装置。
  56.  請求項53の計算装置において、
     前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、計算装置。
  57.  請求項48から51の何れかの計算装置において、
     前記自然数a又は前記自然数bが定数である、計算装置。
  58.  請求項52の計算装置において、
     前記自然数a又は前記自然数bが定数である、計算装置。
  59.  請求項53の計算装置において、
     前記自然数a又は前記自然数bが定数である、計算装置。
  60.  第一計算部と、第二計算部と、最終出力部とを有し、
     GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、M1M2が集合GMに値を持つ確率変数、M1が確率変数M1の実現値、M2が確率変数M2の実現値、aMが集合HMの元であり、
     前記第一計算部が、計算結果uM=fM(xM)+M1を生成し、
     前記第二計算部が、計算結果vM=fM(xM)aMM2を生成し、
     前記最終出力部が、前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力する、計算装置。
  61.  請求項60の計算装置において、
     前記暗号文xMに対応する、集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を出力する入力情報提供部をさらに含み、
     前記第一計算部が、或る確率より大きな確率でfMMτ1)を正しく計算して得られた計算結果である第一出力情報M1から、前記計算結果uM=fM(xM)+M1を生成し、
     前記第二計算部が、或る確率より大きな確率でfMMτ2)を正しく計算して得られた計算結果である第二出力情報M2から、前記計算結果vM=fM(xM)aMM2を生成する、計算装置。
  62.  請求項61の計算装置において、
     前記集合HMの元aMを選択する行列選択部を更に有し、
     前記第二入力情報Mτ2が、前記元aMにさらに対応する、計算装置。
  63.  請求項62の計算装置において、
     前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、計算装置。
  64.  請求項61の計算装置において、
     前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、計算装置。
  65.  請求項61から64の何れかの計算装置において、
     κ,ι,qが正整数、・Tが・の転置行列、GMがι×ι行列の集合、HMがι×ι行列の集合、PKが暗号化鍵であるι×κ行列、SKがPK・SK=0を満たすι×ι行列である前記復号鍵、CMがκ×ι行列、NMがι×ι行列、UMがι×ι単位行列、前記復号関数fMがSK-1{SK・xM・SKT(mod q)}(SKT-1(mod 2)であり、
     前記入力情報提供部が、
     前記集合GMの元MR1をランダムに選択する第一ランダム行列選択部と、
     κ×ιのランダムな行列CM11及びCM12を選択する第二ランダム行列選択部と、
     第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する第一暗号化部と、
     第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する第二暗号化部と、
     前記第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得る第一入力情報計算部と、
     前記集合GMの元MR2をランダムに選択する第三ランダム行列選択部と、
     κ×ιのランダムな行列CM21及びCM22を選択する第四ランダム行列選択部と、
     第三暗号文CR2=PK・CM+2・NM+MR2(mod q)を生成する第三暗号化部と、
     第四暗号文Ca=PK・CM+2・NM+aM(mod q)を生成する第四暗号化部と、
     前記第二入力情報Mτ2として(xM・Ca+CR2)+PK・CM21+2・NM+CM22 T・PKTを得る第二入力情報計算部と、を含み、
     前記第一計算部が前記計算結果uMとしてM1-MR1を生成し、
     前記第二計算部が前記計算結果vMとしてM2-MR2を生成する、計算装置。
  66.  第一出力情報計算部と、第二出力情報計算部とを有し、
     G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数であり、
     前記第一出力情報計算部が、前記暗号文xに対応する、前記群Hの元である第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とし、
     前記第二出力情報計算部が、前記暗号文xに対応する、前記群Hの元である第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする、
     を有する能力提供装置。
  67.  請求項66の能力提供装置において、
     前記復号関数f(x)が準同型関数、前記群Hが巡回群で、前記巡回群Hの生成元がμh、前記巡回群Hの位数がKH、ν=f(μh)であり、r1及びr2が0以上の自然数の乱数であり、
     前記第一出力情報計算部が、前記第一入力情報μh r1bを用い、或る確率より大きな確率でf(μh r1b)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
     前記第二出力情報計算部が、前記第二入力情報μh r2aを用い、或る確率より大きな確率でf(μh r2a)を正しく計算し、得られた計算結果を第二出力情報z2とする、能力提供装置。
  68.  請求項66の能力提供装置において、
     前記群Hが直積群G×Gで、前記復号関数f(x)が準同型関数、前記群Gが巡回群で、前記巡回群Gの生成元がμg、前記巡回群Gの位数がKG、x=(c1,c2),(V,W)が前記群Hの元、f(V,W)=Yであり、r4,r5,r6及びr7が0以上の自然数の乱数であり、
     前記第一出力情報計算部が、前記第一入力情報c1 br4μg r5及びc2 br4を用い、或る確率より大きな確率でf(c1 br4μg r5,c2 br4)を正しく計算し、得られた計算結果を前記第一出力情報z1とし、
     前記第二出力情報計算部が、前記第二入力情報c1 ar6μg r7及びc2 ar6を用い、或る確率より大きな確率でf(c1 ar6μg r7,c2 ar6)を正しく計算し、得られた計算結果を前記第二出力情報z2とする、能力提供装置。
  69.  請求項66から68の何れかの能力提供装置において、
     入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部をさらに有する、能力提供装置。
  70.  請求項66の能力提供装置において、
     Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
     前記第一出力情報計算部は、前記第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力し、
     前記第二出力情報計算部は、前記第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力し、
     当該能力提供装置は、入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御する制御部をさらに有する、能力提供装置。
  71.  請求項70の能力提供装置において、
     前記復号制御命令は、何れかの前記復号関数fιに対応し、
     前記制御部は、前記復号制御命令に対応する前記復号関数fι、に対応する前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御する、能力提供装置。
  72.  第一出力情報計算部と、第二出力情報計算部とを有し、
     GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、M1M2が集合GMに値を持つ確率変数、M1が確率変数M1の実現値、M2が確率変数M2の実現値、aMが集合HMの元であり、
     前記第一出力情報計算部が、前記暗号文xMに対応する第一入力情報Mτ1を用い、或る確率より大きな確率でfMMτ1)を正しく計算し、得られた計算結果を第一出力情報M1とし、
     前記第二出力情報計算部が、前記暗号文xMに対応する第二入力情報Mτ2を用い、或る確率より大きな確率でfMMτ2)を正しく計算し、得られた計算結果を第二出力情報M2とする、
     を有する能力提供装置。
  73.  請求項72の能力提供装置において、
     κ,ι,qが正整数、・Tが・の転置行列、GMがι×ι行列の集合、HMがι×ι行列の集合、PKが暗号化鍵であるι×κ行列、SKがPK・SK=0を満たすι×ι行列である前記復号鍵、CMがκ×ι行列、NMがι×ι行列、UMがι×ι単位行列、前記復号関数fMがSK-1{SK・xM・SKT(mod q)}(SKT-1(mod 2)である、能力提供装置。
  74.  請求項72又は73の能力提供装置において、
     入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報M1及び前記第二出力情報M2の両方が出力されるか否かを制御する制御部を含む、能力提供装置。
  75.  代理計算方法において、
     計算装置で、暗号文xに対応する、前記群Hの元である第一入力情報τ1及び第二入力情報τ2を出力するステップと、
     能力提供装置で、前記第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とするステップと、
     前記能力提供装置で、前記第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とするステップと、
     前記計算装置で、前記第一出力情報z1から計算結果u=f(x)b1を生成するステップと、
     前記計算装置で、前記第二出力情報z2から計算結果v=f(x)a2を生成するステップと、
     前記計算装置で、前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力するステップと、を有し、
     Gが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数である、代理計算方法。
  76.  請求項75の代理計算方法において、
     復号制御装置が、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力するステップと、
     前記能力提供装置が、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御するステップと、
     をさらに有する代理計算方法。
  77.  請求項75の代理計算方法において、
     Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
     (A)前記計算装置で、前記暗号文λιに対応する、前記群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を出力するステップと、
     (B)前記能力提供装置で、前記第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力するステップと、
     (C)前記能力提供装置で、前記第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力するステップと、
     (D)前記計算装置で、前記第一出力情報zι,1から演算結果uι=fι(λιb(ι)ι,1を生成するステップと、
     (E)前記計算装置で、前記第二出力情報zι,2から演算結果vι=fι(λιa(ι)ι,2を生成するステップと、
     (F)前記計算装置で、前記演算結果uι及びvιがuι a(ι)=vι b(ι)を満たす場合に、a’(ι)a(ι)+b’(ι)b(ι)=1を満たす整数a’(ι),b’(ι)についてのuι b’(ι)ι a’(ι)を出力するステップと、を有し、
     前記ステップ(B)及び前記ステップ(C)は、
     復号制御装置から出力された前記計算装置の復号処理を制御する復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御するステップである、代理計算方法。
  78.  代理計算方法において、
     計算装置で、暗号文xMに対応する、集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を出力するステップと、
     能力提供装置で、前記第一入力情報Mτ1を用い、或る確率より大きな確率でfMMτ1)を正しく計算し、得られた計算結果を第一出力情報M1とするステップと、
     前記能力提供装置で、前記第二入力情報Mτ2を用い、或る確率より大きな確率でfMMτ2)を正しく計算し、得られた計算結果を第二出力情報M2とするステップと、
     前記計算装置で、前記第一出力情報Mから計算結果uM=fM(xM)+M1を生成するステップと、
     前記計算装置で、前記第二出力情報M2から計算結果vM=fM(xM)aMM2を生成するステップと、
     前記計算装置で、前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力するステップと、を有し、
     GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、M1M2が集合GMに値を持つ確率変数、M1が確率変数M1の実現値、M2が確率変数M2の実現値、aMが集合HMの元である、代理計算方法。
  79.  請求項78の代理計算方法において、
     復号制御装置が、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力するステップと、
     前記能力提供装置が、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報M1及び前記第二出力情報M2の両方が出力されるか否かを制御するステップと、
     をさらに有する代理計算方法。
  80.  第一計算部で、計算結果u=f(x)b1を生成するステップと、
     第二計算部で、計算結果v=f(x)a2を生成するステップと、
     最終出力部で、前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力するステップと、を有し、
     G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数である、計算方法。
  81.  第一計算部で、計算結果uM=fM(xM)+M1を生成するステップと、
     第二計算部で、計算結果vM=fM(xM)aMM2を生成するステップと、
     最終出力部で、前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力するステップと、を有し、
     GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、M1M2が集合GMに値を持つ確率変数、M1が確率変数M1の実現値、M2が確率変数M2の実現値、aMが集合HMの元である、計算方法。
  82.  第一出力情報計算部で、暗号文xに対応する、群Hの元である第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とするステップと、
     第二出力情報計算部で、前記暗号文xに対応する、前記群Hの元である第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とするステップと、を有し、
     Gが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数である、能力提供方法。
  83.  請求項82の能力提供方法において、
     入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御するステップを含む、能力提供方法。
  84.  請求項82の能力提供方法において、
     Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
     (A)第一出力情報計算部で、前記暗号文λιに対応する第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1とするステップと、
     (B)第二出力情報計算部で、前記暗号文λιに対応する第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2とするステップと、を有し、
     前記ステップ(A)及び前記ステップ(B)は、
     入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御するステップを含む、能力提供方法。
  85.  第一出力情報計算部で、暗号文xMに対応する第一入力情報Mτ1を用い、或る確率より大きな確率でfMMτ1)を正しく計算し、得られた計算結果を第一出力情報M1とするステップと、
     第二出力情報計算部で、前記暗号文xMに対応する第二入力情報Mτ2を用い、或る確率より大きな確率でfMMτ2)を正しく計算し、得られた計算結果を第二出力情報M2とするステップと、を有し、
     GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、M1M2が集合GMに値を持つ確率変数、M1が確率変数M1の実現値、M2が確率変数M2の実現値、aMが集合HMの元である、能力提供方法。
  86.  請求項85の能力提供方法において、
     入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報M1及び前記第二出力情報M2の両方が出力されるか否かを制御するステップを含む、能力提供方法。
  87.  能力提供装置とΦ個の計算装置φとを有し、
     φ=1,…,Φ、Φが2以上の整数、Gφ,Hφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφa(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値であり、
     前記計算装置φのそれぞれが、前記群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1及び第二入力情報τφ,2を出力する入力情報提供部を含み、
     前記能力提供装置が、
     前記第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とする第一出力情報計算部と、
     前記第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする第二出力情報計算部と、を含み、
     前記計算装置φのそれぞれが、さらに
     前記第一出力情報zφ,1から演算結果uφ=fφ(xφb(φ)φ,1を生成する第一計算部と、
     前記第二出力情報zφ,2から演算結果vφ=fφ(xφa(φ)φ,2を生成する第二計算部と、
     前記演算結果uφに対する値uφ a(φ)と前記演算結果vφに対する値vφ b(φ)とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合の前記演算結果uφ及び前記演算結果vφと、a’(φ)a(φ)+b’(φ)b(φ)=1を満たす整数a’(φ),b’(φ)とに対する、値uφ b’(φ)φ a’(φ)を出力する最終出力部と、を含む、代理計算システム。
  88.  請求項87の代理計算システムにおいて、
     すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
     前記第一出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
     前記第二出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、代理計算システム。
  89.  請求項88の代理計算システムにおいて、
     前記計算装置φのそれぞれが、前記自然数a(φ),b(φ)の少なくとも一方を選択する自然数選択部を含み、
     前記第一入力情報τφ,1が前記自然数b(φ)にさらに対応し、前記第二入力情報τφ,2が前記自然数a(φ)にさらに対応する、代理計算システム。
  90.  請求項87の代理計算システムにおいて、
     前記計算装置φのそれぞれが、前記自然数a(φ),b(φ)の少なくとも一方を選択する自然数選択部を含み、
     前記第一入力情報τφ,1が前記自然数b(φ)にさらに対応し、前記第二入力情報τφ,2が前記自然数a(φ)にさらに対応する、代理計算システム。
  91.  請求項87の代理計算システムにおいて、
     前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。
  92.  請求項88の代理計算システムにおいて、
     前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。
  93.  請求項89の代理計算システムにおいて、
     前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。
  94.  請求項90の代理計算システムにおいて、
     前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。
  95.  請求項87から94の何れかの代理計算システムにおいて、
     前記関数fφが準同型関数である、代理計算システム。
  96.  請求項95の代理計算システムにおいて、
     前記関数fφが準同型関数、前記群Hφが巡回群で、μφ,hが前記巡回群Hφの生成元、Kφ,Hが前記巡回群Hφの位数、νφ=fφ(μφ,h)であり、
     前記入力情報提供部は、
     0以上の自然数の乱数r(φ,1)を生成する第一乱数生成部と、
     前記第一入力情報τφ,1としてμφ,h r(φ,1)φ b(φ)を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(φ,2)を生成する第二乱数生成部と、
     前記第二入力情報τφ,2としてμφ,h r(φ,2)φ a(φ)を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部は、前記第一入力情報μφ,h r(φ,1)φ b(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,1)φ b(φ))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部は、前記第二入力情報μφ,h r(φ,2)φ a(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,2)φ a(φ))を正しく計算し、得られた計算結果を第二出力情報zφ,2とし、
     前記第一計算部は、zφ,1νφ -r(φ,1)を計算して前記演算結果uφを得、
     前記第二計算部は、zφ,2νφ -r(φ,2)を計算して前記演算結果vφを得る、代理計算システム。
  97.  請求項96の代理計算システムにおいて、
     前記第一乱数生成部は、b(φ)≠1のときに前記乱数r(φ,1)を生成し、
     前記第一入力情報計算部は、b(φ)≠1のときに前記第一入力情報τφ,1として前記μφ,h r(φ,1)φ b(φ)を計算し、
     前記第一出力情報計算部は、b(φ)≠1のときに前記第一入力情報μφ,h r(φ,1)φ b(φ)を用いて得られた前記計算結果を前記第一出力情報zφ,1とし、
     前記第一計算部が、b(φ)≠1のときにzφ,1νφ -r(φ,1)を計算して前記演算結果uφを得、
     前記第二乱数生成部が、a(φ)≠1のときに前記乱数r(φ,2)を生成し、
     前記第二入力情報計算部が、a(φ)≠1のときに前記第二入力情報τφ,2としてμφ,h r(φ,2)φ a(φ)を計算し、
     前記第二出力情報計算部が、a(φ)≠1のときに前記第二入力情報μφ,h r(φ,2)φ a(φ)を用いて得られた前記計算結果を第二出力情報zφ,2とし、
     前記第二計算部が、a(φ)≠1のときにzφ,2νφ -r(φ,2)を計算して前記演算結果vφを得、
     前記入力情報提供部が、
     0以上の自然数の乱数r(φ,3)を生成する第三乱数生成部と、
     b(φ)=1のときにxφ r(φ,3)を前記第一入力情報τφ,1とし、a(φ)=1のときにxφ r(φ,3)を前記第二入力情報τφ,2とする第三入力情報計算部と、を含み、
     前記能力提供装置が、
     前記xφ r(φ,3)を用い、或る確率より大きな確率でfφ(xφ r(φ,3))を正しく計算し、得られた計算結果を第三出力情報zφ,3とする第三出力情報計算部を含み、
     前記計算装置φのそれぞれが、
     b(φ)=1のときにzφ,3 1/r(φ,3)を前記演算結果uφとし、a(φ)=1のときにzφ,3 1/r(φ,3)を前記演算結果vφとする第三計算部を含む、代理計算システム。
  98.  請求項87から94の何れかの代理計算システムにおいて、
     前記群Hφが直積群Gφ×Gφで、前記関数fφが準同型関数、前記群Gφが巡回群で、前記巡回群Gφの生成元がμφ,g、前記巡回群Gφの位数がKφ,G、xφ=(cφ,1,cφ,2),(Vφ,Wφ)が前記群Hφの元、fφ(Vφ,Wφ)=Yφであり、
     前記入力情報提供部が、
     0以上の自然数の乱数r(φ,4)を生成する第四乱数生成部と、
     0以上の自然数の乱数r(φ,5)を生成する第五乱数生成部と、
     前記第一入力情報τφ,1としてcφ,2 b(φ)φ r(φ,4)及びcφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5)を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(φ,6)を生成する第六乱数生成部と、
     0以上の自然数の乱数r(φ,7)を生成する第七乱数生成部と、
     前記第二入力情報τφ,2としてcφ,2 a(φ)φ r(φ,6)及びcφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7)を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部が、前記第一入力情報cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5)及びcφ,2 b(φ)φ r(φ,4)を用い、或る確率より大きな確率でfφ(cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)φ r(φ,4))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部が、前記第二入力情報cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7)及びcφ,2 a(φ)φ r(φ,6)を用い、或る確率より大きな確率でfφ(cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)φ r(φ,6))を正しく計算し、得られた計算結果を前記第二出力情報zφ,2とし、
     前記第一計算部が、zφ,1φ -r(φ,4)μφ,g -r(φ,5)を計算して前記演算結果uを得、
     前記第二計算部が、zφ,2φ -r(φ,6)μφ,g -r(φ,7)を計算して前記演算結果vを得る、代理計算システム。
  99.  請求項87から94の何れかの代理計算システムにおいて、
     前記関数fφ(xφ)が前記群Hφの元である前記元xφ=Cφ,1(y(φ,1),mφ)を前記群Gφの元fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための準同型関数、φ=1,…,Φ、Cφ,1(y(φ,1),mφ)が第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文、Cφ,2(y(φ,2),mφ)が第二暗号化方式ENCφ,2に則って前記平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文であり、
     前記入力情報提供部が、
     前記群Hφの任意の元φ,1を生成する第一乱数生成部と、
     前記第一入力情報τφ,1としてxφ b(φ)φ,1(y(φ,1),hφ,1)を計算する第一入力情報計算部と、
     前記群Hφの任意の元hφ,2を生成する第二乱数生成部と、
     前記第二入力情報τφ,2としてxφ a(φ)φ,1(y(φ,1),hφ,2)を計算する第二入力情報計算部と、
     前記第一出力情報計算部は、前記第一入力情報xφ b(φ)φ,1(y(φ,1),hφ,1)を用い、或る確率より大きな確率でfφ(xφ b(φ)φ,1(y(φ,1),hφ,1))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部は、前記第二入力情報xφ a(φ)φ,1(y(φ,1),hφ,2)を用い、或る確率より大きな確率でfφ(xφ a(φ)φ,1(y(φ,1),hφ,2))を正しく計算し、得られた計算結果を第二出力情報zφ,2とし、
     前記第一計算部は、zφ,1(Cφ,2(y(φ,2),hφ,1))-1を計算して前記演算結果uφを得、
     前記第二計算部は、zφ,2(Cφ,2(y(φ,2),hφ,2))-1を計算して前記演算結果vφを得る、代理計算システム。
  100.  請求項99の代理計算システムにおいて、
     前記群Gφが巡回群Gφ,1,Gφ,2の直積群Gφ,1×Gφ,2、μφ,g1が前記巡回群Gφ,1の生成元、μφ,g2が前記巡回群Gφ,2の生成元、s(φ,2)が前記第二暗号化鍵y(φ,2)に対応する復号鍵、前記第二暗号化鍵y(φ,2)がμφ,g2 s(φ,2)、r(φ)が整数の乱数、前記元Cφ,2(y(φ,2),mφ)が(μφ,g1 r(φ),mφy(φ,2)r(φ))、前記値uφ a(φ)が(cφ,1u,cφ,2u)∈Gφ,1×Gφ,2、前記値vφ b(φ)が(cφ,1v,cφ,2v)∈Gφ,1×Gφ,2、eφ(α,β)が(α,β)∈Gφ,1×Gφ,2に対して巡回群Gφ,Tの元を与える双線形写像であり、
     前記最終出力部は、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たす場合の前記値uφ b’(φ)φ a’(φ)を出力する、代理計算システム。
  101.  請求項100の代理計算システムにおいて、
     Nφが素数ωφと素数ιφの合成数、前記前記巡回群Gφ,1,Gφ,2がそれぞれ前記合成数Nφを法とした剰余環上で定義された第一楕円曲線Eφ,1上の点からなる部分群、Gφ,1ω,Gφ,2ωが前記素数ωφを法とした剰余体上で定義された第二楕円曲線Eφ,2上の点からなる部分群、Gφ,1ι,Gφ,2ιが前記素数ιφを法とした剰余体上で定義された第三楕円曲線Eφ,3上の点からなる部分群、eφ,ω(αω,βω)が(αω,βω)∈Gφ,1ω×Gφ,2ωに対して巡回群Gφ,Tωの元を与える第二双線形写像、eφ,ι(αι,βι)が(αι,βι)∈Gφ,1ι×Gφ,2ιに対して巡回群Gφ,Tιの元を与える第三双線形写像、HMφが前記第一楕円曲線Eφ,1上の点を前記第二楕円曲線Eφ,2上の点と前記第三楕円曲線Eφ,3上の点とに写す同型写像、HMφ -1が前記同型写像HMφの逆像であり、
     前記計算装置φのそれぞれは、
     前記同型写像HMφを用いて前記第一楕円曲線Eφ,1上の点αを前記第二楕円曲線Eφ,2上の点θω(α)と前記第三楕円曲線Eφ,3上の点θι(α)とに写し、前記同型写像HMφを用いて前記第一楕円曲線Eφ,1上の点βを前記第二楕円曲線Eφ,2上の点θω(β)と前記第三楕円曲線Eφ,3上の点θι(β)とに写し、eφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))を求め、eφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))に対する前記逆像HMφ -1をeφ(α,β)として求め、前記関係を満たすか否かを判定する判定部をさらに含む、代理計算システム。
  102.  請求項87から94の何れかの代理計算システムにおいて、
     前記群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、前記巡回群H1,φの生成元がη1,φ、前記巡回群H2,φの生成元がη2,φ、fφが前記巡回群H1,φの元と前記巡回群H2,φの元との組を前記群Gφの元へ写す双準同型写像、前記群Hφの元xφが前記巡回群H1,φの元λ1,φと前記巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)であり、
     前記入力情報提供部が、
     0以上の自然数の乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を生成する第一乱数生成部と、
     前記第一入力情報τφ,1として、(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を計算する第一入力情報計算部と、
     0以上の自然数の乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を生成する第二乱数生成部と、
     前記第二入力情報τφ,2として、(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を計算する第二入力情報計算部と、を含み、
     前記第一出力情報計算部は、前記第一入力情報τφ,1を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、fφ(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及びfφ(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を正しく計算し、得られた演算結果zφ,1,1、zφ,1,2及びzφ,1,3を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部は、前記第二入力情報τφ,2を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及びfφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を正しく計算し、得られた演算結果zφ,2,1、zφ,2,2及びzφ,2,3を前記第二出力情報zφ,2とし、
     前記第一計算部は、zφ,1,1φ,1,2φ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16)を計算して前記演算結果uφを得、
     前記第二計算部は、zφ,2,1φ,2,2φ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)を計算して前記演算結果vφを得、
     前記最終出力部は、前記演算結果uφ,vφがuφ a(φ)=vφ b(φ)を満たす場合に、a’(φ)a(φ)+b’(φ)b(φ)=1を満たす整数a’(φ),b’(φ)についての値uφ b’(φ)φ a’(φ)を出力する、代理計算システム。
  103.  請求項87から94の何れかの代理計算システムにおいて、
     前記演算結果uφのfφ(xφb(φ)に対する誤差の確率分布が前記自然数b(φ)に依存しない、及び/若しくは、前記演算結果vφのfφ(xφa(φ)に対する誤差の確率分布が前記自然数a(φ)に依存しない、又は、前記演算結果uφのfφ(xφb(φ)に対する誤差の確率分布と区別することができない前記自然数b(φ)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vφのfφ(xφa(φ)に対する誤差の確率分布と区別することができない前記自然数a(φ)に依存しない確率分布が存在する、代理計算システム。
  104.  請求項87から94の何れかの代理計算システムにおいて、
     前記自然数a(φ)又は前記自然数b(φ)が定数である、代理計算システム。
  105.  第一出力情報計算部と、第二出力情報計算部とを有し、
     φ=1,…,Φ、Φが2以上の整数、Gφ,Hφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφa(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値であり、
     前記第一出力情報計算部が、前記巡回群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とし、
     前記第二出力情報計算部が、前記群Hφの元xφに対応する、前記群Hφの元である第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする、能力提供装置。
  106.  請求項105の能力提供装置において、
     すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
     前記第一出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
     前記第二出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、能力提供装置。
  107.  請求項105又は106の能力提供装置において、
     前記関数fφが準同型関数、前記群Hφが巡回群で、μφ,hが前記巡回群Hφの生成元、Kφ,Hが前記巡回群Hφの位数、νφ=fφ(μφ,h)であり、
     前記第一出力情報計算部は、前記第一入力情報μφ,h r(φ,1)φ b(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,1)φ b(φ))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部は、前記第二入力情報μφ,h r(φ,2)φ a(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,2)φ a(φ))を正しく計算し、得られた計算結果を第二出力情報zφ,2とする、能力提供装置。
  108.  請求項105又は106の能力提供装置において、
     前記群Hφが直積群Gφ×Gφで、前記関数fφが準同型関数、前記群Gφが巡回群で、前記巡回群Gφの生成元がμφ,g、前記巡回群Gφの位数がKφ,G、xφ=(cφ,1,cφ,2),(Vφ,Wφ)が前記群Hφの元、fφ(Vφ,Wφ)=Yφであり、r(φ,4),r(φ,5),r(φ,6)及びr(φ,7)が0以上の自然数の乱数であり、
     前記第一出力情報計算部が、前記第一入力情報cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5)及びcφ,2 b(φ)φ r(φ,4)を用い、或る確率より大きな確率でfφ(cφ,1 b(φ)φ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)φ r(φ,4))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部が、前記第二入力情報cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7)及びcφ,2 a(φ)φ r(φ,6)を用い、或る確率より大きな確率でfφ(cφ,1 a(φ)φ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)φ r(φ,6))を正しく計算し、得られた計算結果を前記第二出力情報zφ,2とする、能力提供装置。
  109.  請求項105又は106の能力提供装置において、
     前記関数fφ(xφ)が前記群Hφの元である前記元xφ=Cφ,1(y(φ,1),mφ)を前記群Gφの元fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための準同型関数、φ=1,…,Φ、Cφ,1(y(φ,1),mφ)が第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文、Cφ,2(y(φ,2),mφ)が第二暗号化方式ENCφ,2に則って前記平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文であり、hφ,1及びhφ,2が前記群Hφの任意の元であり、
     前記第一出力情報計算部が、前記第一入力情報xφ b(φ)φ,1(y(φ,1),hφ,1)を用い、或る確率より大きな確率でfφ(xφ b(φ)φ,1(y(φ,1),hφ,1))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部が、前記第二入力情報xφ a(φ)φ,1(y(φ,1),hφ,2)を用い、或る確率より大きな確率でfφ(xφ a(φ)φ,1(y(φ,1),hφ,2))を正しく計算し、得られた計算結果を第二出力情報zφ,2とする、能力提供装置。
  110.  請求項105又は106の能力提供装置において、
     前記群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、前記巡回群H1,φの生成元がη1,φ、前記巡回群H2,φの生成元がη2,φ、fφが前記巡回群H1,φの元と前記巡回群H2,φの元との組を前記群Gφの元へ写す双準同型写像、前記群Hφの元xφが前記巡回群H1,φの元λ1,φと前記巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)、r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16),r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)が0以上の自然数の乱数、前記第一入力情報τφ,1が(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))、前記第二入力情報τφ,2が(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))であり、
     前記第一出力情報計算部は、前記第一入力情報τφ,1を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、fφ(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及びfφ(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を正しく計算し、得られた演算結果zφ,1,1、zφ,1,2及びzφ,1,3を前記第一出力情報zφ,1とし、
     前記第二出力情報計算部は、前記第二入力情報τφ,2を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及びfφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を正しく計算し、得られた演算結果zφ,2,1、zφ,2,2及びzφ,2,3を前記第二出力情報zφ,2とする、能力提供装置。
  111.  Φ個の計算装置φのそれぞれで、群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1及び第二入力情報τφ,2を出力する入力情報提供ステップと、
     能力提供装置で、前記第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とする第一出力情報生成ステップと、
     前記能力提供装置で、前記第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする第二出力情報生成ステップと、
     前記計算装置φのそれぞれで、前記第一出力情報zφ,1から演算結果uφ=fφ(xφb(φ)φ,1を生成する第一計算ステップと、
     前記計算装置φのそれぞれで、前記第二出力情報zφ,2から演算結果vφ=fφ(xφa(φ)φ,2を生成する第二計算ステップと、
     前記計算装置φのそれぞれで、前記演算結果uφに対する値uφ a(φ)と前記演算結果vφに対する値vφ b(φ)とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合の前記演算結果uφ及び前記演算結果vφと、a’(φ)a(φ)+b’(φ)b(φ)=1を満たす整数a’(φ),b’(φ)とに対する、値uφ b’(φ)φ a’(φ)を出力する最終出力ステップと、を有し、
     φ=1,…,Φ、Φが2以上の整数、Gφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφa(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値である、代理計算方法。
  112.  請求項111の代理計算方法において、
     すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
     前記第一出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
     前記第二出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、代理計算方法。
  113.  第一出力情報計算部が、群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とするステップと、
     第二出力情報計算部が、前記群Hφの元xφに対応する、群Hφの元である第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とするステップと、を有し、
     φ=1,…,Φ、Φが2以上の整数、Gφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφa(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値である、能力提供方法。
  114.  請求項113の能力提供方法において、
     すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
     前記第一出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
     前記第二出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、能力提供方法。
  115.  請求項47又は60の計算装置としてコンピュータを機能させるためのプログラム。
  116.  請求項66、72及び105の何れかの能力提供装置としてコンピュータを機能させるためのプログラム。
  117.  請求項47又は60の計算装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
  118.  請求項66、72及び105の何れかの能力提供装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
PCT/JP2011/074546 2010-10-26 2011-10-25 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 WO2012057134A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2012540874A JP5491638B2 (ja) 2010-10-26 2011-10-25 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
CN201180050871.9A CN103221988B (zh) 2010-10-26 2011-10-25 代理计算系统、计算装置、能力提供装置、代理计算方法、能力提供方法
EP11836267.2A EP2634760A4 (en) 2010-10-26 2011-10-25 Substitution calculation system, calculation apparatus, capability providing apparatus, substitution calculation method, capability providing method, program, and recording medium
US13/881,111 US9607158B2 (en) 2010-10-26 2011-10-25 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/389,107 US9960906B2 (en) 2010-10-26 2016-12-22 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/389,080 US9794060B2 (en) 2010-10-26 2016-12-22 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/389,055 US20170111165A1 (en) 2010-10-26 2016-12-22 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/684,672 US10361841B2 (en) 2010-10-26 2017-08-23 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2010-239342 2010-10-26
JP2010239342 2010-10-26
JP2011-005899 2011-01-14
JP2011005899 2011-01-14
JP2011-077779 2011-03-31
JP2011077779 2011-03-31
JP2011088002 2011-04-12
JP2011-088002 2011-04-12

Related Child Applications (4)

Application Number Title Priority Date Filing Date
US13/881,111 A-371-Of-International US9607158B2 (en) 2010-10-26 2011-10-25 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/389,107 Division US9960906B2 (en) 2010-10-26 2016-12-22 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/389,055 Division US20170111165A1 (en) 2010-10-26 2016-12-22 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
US15/389,080 Division US9794060B2 (en) 2010-10-26 2016-12-22 Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium

Publications (1)

Publication Number Publication Date
WO2012057134A1 true WO2012057134A1 (ja) 2012-05-03

Family

ID=45993841

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/074546 WO2012057134A1 (ja) 2010-10-26 2011-10-25 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体

Country Status (5)

Country Link
US (5) US9607158B2 (ja)
EP (1) EP2634760A4 (ja)
JP (1) JP5491638B2 (ja)
CN (1) CN103221988B (ja)
WO (1) WO2012057134A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014003602A (ja) * 2012-06-15 2014-01-09 Mitsubishi Electric Corp 信頼できない第三者によるセキュアな処理のためのデータのアウトソーシング方法
JP5526284B2 (ja) * 2011-03-04 2014-06-18 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
JP2014137562A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 計算システム、計算装置、及びプログラム
WO2015008605A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 計算装置、計算方法、およびプログラム
WO2015008769A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 ディレクトリサービス装置、クライアント装置、鍵クラウドシステム、それらの方法、およびプログラム
WO2015008607A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 復号装置、復号能力提供装置、それらの方法、およびプログラム
WO2015056601A1 (ja) 2013-10-16 2015-04-23 日本電信電話株式会社 鍵装置、鍵クラウドシステム、復号方法、およびプログラム
JP2016129302A (ja) * 2015-01-09 2016-07-14 日本電信電話株式会社 署名生成装置、署名システム、署名生成方法、およびプログラム
US10275960B2 (en) 2014-05-13 2019-04-30 Nippon Telegraph And Telephone Corporation Security system, management apparatus, permission apparatus, terminal apparatus, security method and program

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012057134A1 (ja) * 2010-10-26 2012-05-03 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
US8898478B2 (en) * 2012-06-15 2014-11-25 Mitsubishi Electric Research Laboratories, Inc. Method for querying data in privacy preserving manner using attributes
US9842115B2 (en) * 2014-05-30 2017-12-12 Apple Inc. Media asset proxies
US10419213B2 (en) 2015-01-16 2019-09-17 Nippon Telegraph And Telephone Corporation Key exchange method, key exchange system, key device, terminal device, and program
JP5968484B1 (ja) * 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
DE102017117899A1 (de) * 2017-08-07 2019-02-07 Infineon Technologies Ag Durchführen einer kryptografischen Operation
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084568A (ja) * 2003-09-11 2005-03-31 Nippon Telegr & Teleph Corp <Ntt> セキュリティ方法、セキュリティ装置及びセキュリティプログラム
JP2010239342A (ja) 2009-03-31 2010-10-21 Kyocera Kinseki Corp 圧電デバイス
JP2011005899A (ja) 2009-06-24 2011-01-13 Hitachi Automotive Systems Ltd ブレーキ制御装置
JP2011077779A (ja) 2009-09-30 2011-04-14 Murata Mfg Co Ltd フェライト・磁石素子の磁力調整方法及び磁力調整装置
JP2011088002A (ja) 2011-02-09 2011-05-06 Fujishoji Co Ltd 弾球遊技機

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998008323A1 (en) * 1996-08-19 1998-02-26 Ntru Cryptosystems, Inc. Public key cryptosystem method and apparatus
US6509728B1 (en) * 1998-05-28 2003-01-21 Anritsu Corporation Spectrum analyzer having function of displaying amplitude probability distribution effectively
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
JP3545613B2 (ja) * 1998-09-04 2004-07-21 日本電信電話株式会社 カオス力学系の同期を用いた暗号装置、復号装置、暗号システム
US7707420B1 (en) * 1999-06-23 2010-04-27 Research In Motion Limited Public key encryption with digital signature scheme
US6678666B1 (en) * 2000-06-05 2004-01-13 Van W. Boulware Method of conducting anti-fraud electronic bank security transactions having price-date-time variables and calculating apparatus thereof
WO2006117806A2 (en) 2005-05-04 2006-11-09 Abdul Rahman Syed Ibrahim Abdu Bilaterally generated encryption key system
FR2877453A1 (fr) * 2004-11-04 2006-05-05 France Telecom Procede de delegation securisee de calcul d'une application bilineaire
JP4829628B2 (ja) * 2005-10-31 2011-12-07 富士通株式会社 暗号化方法,暗号復号化方法,暗号化装置,暗号復号化装置および通信システム
JP5182100B2 (ja) * 2007-02-15 2013-04-10 日本電気株式会社 鍵交換装置、鍵交換処理システム、鍵交換方法およびプログラム
FR2913154A1 (fr) * 2007-02-28 2008-08-29 France Telecom Chiffrement broadcast base sur identite
US20090080658A1 (en) * 2007-07-13 2009-03-26 Brent Waters Method and apparatus for encrypting data for fine-grained access control
US8356181B2 (en) * 2007-11-15 2013-01-15 Intel Corporation Apparatus and method for a direct anonymous attestation scheme from short-group signatures
CN101911582B (zh) * 2008-01-18 2012-09-05 三菱电机株式会社 密码参数设定装置、密钥生成装置、密码系统、密码参数设定方法和密钥生成方法
JP5047198B2 (ja) * 2008-01-21 2012-10-10 日本電信電話株式会社 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム
US8949614B1 (en) * 2008-04-18 2015-02-03 Netapp, Inc. Highly efficient guarantee of data consistency
US8145897B2 (en) * 2008-09-29 2012-03-27 Intel Corporation Direct anonymous attestation scheme with outsourcing capability
CN102177677A (zh) * 2008-10-22 2011-09-07 索尼公司 密钥共享系统
US8341427B2 (en) 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
JP5379869B2 (ja) * 2010-01-12 2013-12-25 日本電信電話株式会社 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
US8331558B2 (en) * 2010-02-18 2012-12-11 King Fahd University Of Petroleum And Minerals Method of cipher block chaining using elliptic curve cryptography
WO2012057134A1 (ja) * 2010-10-26 2012-05-03 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
JP6006809B2 (ja) * 2013-01-16 2016-10-12 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005084568A (ja) * 2003-09-11 2005-03-31 Nippon Telegr & Teleph Corp <Ntt> セキュリティ方法、セキュリティ装置及びセキュリティプログラム
JP2010239342A (ja) 2009-03-31 2010-10-21 Kyocera Kinseki Corp 圧電デバイス
JP2011005899A (ja) 2009-06-24 2011-01-13 Hitachi Automotive Systems Ltd ブレーキ制御装置
JP2011077779A (ja) 2009-09-30 2011-04-14 Murata Mfg Co Ltd フェライト・磁石素子の磁力調整方法及び磁力調整装置
JP2011088002A (ja) 2011-02-09 2011-05-06 Fujishoji Co Ltd 弾球遊技機

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
"CRYPTO", vol. 84, SPRINGER-VERLAG, pages: 10 - 18
A MIYAJI; M. NAKABAYASHI; S. TAKANO: "New explicit conditions of elliptic curve Traces for FR-Reduction", IEICE TRANS. FUNDAMENTALS, vol. E84-A, no. 05, May 2001 (2001-05-01), pages 1234 - 1243, XP001060011
ALEXANDER W. DENT; STEVEN D. GALBRAITH: "Hidden Pairings and Trapdoor DDH Groups", ANTS 2006, vol. 4076, 2006, pages 436 - 451, XP019041487
ALFRED J. MENEZES: "ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS", KLUWER ACADEMIC PUBLISHERS, pages: 61 - 81
C, GENRTY; S. HALEVI; V. VAIKUNTANATHAN: "Advances in Cryptology - EUROCRYPT 2010", vol. 6110, 2010, SPRINGER-VERLAG, article "A Simple BGNType Cryptosystem from LWE", pages: 506 - 522
JOHANNES BUCHMANN: "Introduction to Cryptography", July 2001, SPRINGER VERLAG, pages: 52 - 56
KAWAHARA ET AL.: "Pairing Ango System ni Okeru Jiko Teisei o Mochiita Fukugo Module no Kosei Oyobi Jisso", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 25 January 2011 (2011-01-25), pages 1 - 8, XP008172390 *
P.S.L.M. BARRETO; B. LYNN; M. SCOTT: "Proc. SCN 2002, LNCS", vol. 2576, 2003, SPRINGER-VERLAG, article "Constructing elliptic curves with prescribed embedding degrees", pages: 257 - 267
R. DUPONT; A. ENGE; F. MORAIN, BUILDING CURVES WITH ARBITRARY SMALL MOV DEGREE OVER FINITE PRIME FIELDS, Retrieved from the Internet <URL:http://eprintiacr.org/2002/094>
See also references of EP2634760A4
TAHER ELGAMAL: "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. IT-31, no. 4, 1985, pages 469 - 472
V. S. MILLER: "Short Programs for functions on Curves", INTERNET, 1986, Retrieved from the Internet <URL:http://crypto.standford.edu/miller/miller.pdf>
YAMAMOTO ET AL.: "Jun Dokei Shazo ni Taisuru Jiko Teisei ni Tsuite", 2010 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 19 January 2010 (2010-01-19), pages 1 - 6, XP008172377 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5526284B2 (ja) * 2011-03-04 2014-06-18 日本電信電話株式会社 代理計算システム、方法、依頼装置及びプログラム
JP2014003602A (ja) * 2012-06-15 2014-01-09 Mitsubishi Electric Corp 信頼できない第三者によるセキュアな処理のためのデータのアウトソーシング方法
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
US9735963B2 (en) 2013-01-16 2017-08-15 Nippon Telegraph And Telephone Corporation Decryption service providing device, processing device, safety evaluation device, program, and recording medium
JP2014137562A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 計算システム、計算装置、及びプログラム
CN105393491A (zh) * 2013-07-18 2016-03-09 日本电信电话株式会社 计算装置、计算方法以及程序
WO2015008607A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 復号装置、復号能力提供装置、それらの方法、およびプログラム
WO2015008769A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 ディレクトリサービス装置、クライアント装置、鍵クラウドシステム、それらの方法、およびプログラム
EP3001346A4 (en) * 2013-07-18 2017-03-22 Nippon Telegraph and Telephone Corporation Directory service device, client device, key cloud system, method thereof, and program
WO2015008605A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 計算装置、計算方法、およびプログラム
US9842086B2 (en) 2013-07-18 2017-12-12 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and program
US10033711B2 (en) 2013-07-18 2018-07-24 Nippon Telegraph And Telephone Corporation Directory service device, client device, key cloud system, method thereof, and program
US10163370B2 (en) 2013-07-18 2018-12-25 Nippon Telegraph And Telephone Corporation Decoding apparatus, decoding capability providing apparatus, method thereof and program
CN105393491B (zh) * 2013-07-18 2019-04-19 日本电信电话株式会社 计算装置、计算方法以及记录介质
WO2015056601A1 (ja) 2013-10-16 2015-04-23 日本電信電話株式会社 鍵装置、鍵クラウドシステム、復号方法、およびプログラム
US10686604B2 (en) 2013-10-16 2020-06-16 Nippon Telegraph And Telephone Corporation Key device, key cloud system, decryption method, and program
US10275960B2 (en) 2014-05-13 2019-04-30 Nippon Telegraph And Telephone Corporation Security system, management apparatus, permission apparatus, terminal apparatus, security method and program
JP2016129302A (ja) * 2015-01-09 2016-07-14 日本電信電話株式会社 署名生成装置、署名システム、署名生成方法、およびプログラム

Also Published As

Publication number Publication date
US20170104582A1 (en) 2017-04-13
JPWO2012057134A1 (ja) 2014-05-12
US20170104583A1 (en) 2017-04-13
EP2634760A1 (en) 2013-09-04
US20170111165A1 (en) 2017-04-20
US20170353296A1 (en) 2017-12-07
US9960906B2 (en) 2018-05-01
EP2634760A4 (en) 2017-01-11
CN103221988B (zh) 2016-08-03
US20130318360A1 (en) 2013-11-28
CN103221988A (zh) 2013-07-24
US10361841B2 (en) 2019-07-23
US9794060B2 (en) 2017-10-17
US9607158B2 (en) 2017-03-28
JP5491638B2 (ja) 2014-05-14

Similar Documents

Publication Publication Date Title
JP5491638B2 (ja) 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
JP5562284B2 (ja) 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
US8938068B2 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
JPWO2011052056A1 (ja) データ処理装置
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
JPWO2012011565A1 (ja) 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
Orsini et al. Bootstrapping BGV ciphertexts with a wider choice of p and q
JP5596616B2 (ja) 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム
JP2010160235A (ja) 検索システム、端末装置、データベース装置、検索方法及びプログラム
Mittal et al. Preserving privacy in clouds using fully homomorphic encryption
JP5097137B2 (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
JP4748663B2 (ja) 秘密計算方法及びシステム、並びにプログラム
JP5366755B2 (ja) データ編集システム、書込み装置、読取装置及びデータ編集方法
CN116318647B (zh) 一种具有同态特性的cp-abe外包解密方法和装置
Yang et al. Inner product encryption from middle-product learning with errors
JP2012154977A (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム
Okunbor et al. Homomorphic encryption: A survey
Xia et al. Attribute-based Encryption (ABE): Foundations and Applications Within Blockchain and Cloud Environments
Oosterhout Formal Verification of Lightweight Decentralized Attribute-based Encryption
Singh et al. Security of Data with 3DES & Watermarking Algorithm
Singh FIFE: A Framework for Investigating Functional Encryption
JP5752751B2 (ja) 復号システム、端末装置、署名システム、その方法、及びプログラム
CN116415265A (zh) 加密、加密签名处理、解密方法及相关设备

Legal Events

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

Ref document number: 11836267

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012540874

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011836267

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13881111

Country of ref document: US