WO2011086992A1 - 代理計算システム、方法、依頼装置、プログラム及びその記録媒体 - Google Patents

代理計算システム、方法、依頼装置、プログラム及びその記録媒体 Download PDF

Info

Publication number
WO2011086992A1
WO2011086992A1 PCT/JP2011/050278 JP2011050278W WO2011086992A1 WO 2011086992 A1 WO2011086992 A1 WO 2011086992A1 JP 2011050278 W JP2011050278 W JP 2011050278W WO 2011086992 A1 WO2011086992 A1 WO 2011086992A1
Authority
WO
WIPO (PCT)
Prior art keywords
calculation
random number
input information
unit
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2011/050278
Other languages
English (en)
French (fr)
Inventor
山本 剛
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to CN201180005420.3A priority Critical patent/CN102687184B/zh
Priority to EP11732862.5A priority patent/EP2525341B1/en
Priority to JP2011549975A priority patent/JP5379869B2/ja
Priority to KR1020127017347A priority patent/KR101344352B1/ko
Priority to US13/520,491 priority patent/US9037623B2/en
Publication of WO2011086992A1 publication Critical patent/WO2011086992A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • 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

  • This invention relates to computer computing technology.
  • the present invention relates to a technique for performing calculations using calculation results obtained by other computers.
  • Non-Patent Document 1 describes a technique in which a requesting device calculates a function f using a result of a calculation requested to a computing device that does not always perform correct calculation.
  • the self-corrector described in Non-Patent Document 1 calculates a function f by requesting a calculation device a plurality of times and taking the majority of the calculation results (see Non-Patent Document 1, for example).
  • Non-Patent Document 1 In order for the self-corrector of Non-Patent Document 1 to operate normally, the calculation device needs to perform a correct calculation with a certain probability or more, and the function f is calculated using a calculation device with a low probability of performing a correct calculation. There is a problem that the technique of calculating is not known.
  • the proxy calculation system includes a function for copying G and H to a cyclic group, f to an element x of the group H to a group G, and a random variable having a value in the group G as X 1 and X 2 .
  • a first power calculator, a second randomizable sampler capable of calculating f (x) a x 2 and having the calculation result v, a second power calculator for calculating v ′ v b
  • G, H, and F are cyclic groups
  • the mapping ⁇ : G ⁇ H ⁇ F is a bimorphic homomorphism
  • g is an element of the group G
  • h is the original group H
  • K H is the order of the group H
  • a mu g as a generator of the group G the mu h a generator of the group H
  • [nu theta ( mu g, and mu g)
  • requesting apparatus includes a first random number generation unit for generating a random number r 1 integer from 0 to less than K G, 0 or K
  • a second random number generator that generates an integer random number r 2 less than H
  • second input information h 1 ⁇ h r2
  • a first input information calculation unit that calculates
  • the calculation device can calculate ⁇ (g 1 , h 1 ) using g 1 and h 1 received from the request device, and outputs a calculation result as z 1 , a request device ⁇ (g 2 , h 2 ) can be calculated using g 2 and h 2 received from, and a second output information calculation unit that outputs the calculation result as z 2 , and g 3 and h 3 is capable calculate ⁇ (g 3, h 3) with, theta using a third output information calculation unit for outputting the calculation result as z 3, the g 4 and h 4 received from the requesting apparatus (G 4 , h 4 ) can be calculated, and a fourth output information calculation unit that outputs the calculation result as z 4 is included.
  • the function f can be calculated using a calculation device with a low probability of correct calculation.
  • the functional block diagram of the example of the proxy calculation system of 1st embodiment to 3rd embodiment The functional block diagram of the example of the request apparatus and calculation apparatus of 3rd embodiment from 1st embodiment.
  • the functional block diagram of the example of the sample device of 1st embodiment to 3rd embodiment The functional block diagram of the example of the 1st randomizable sampler and 2nd randomizable sampler of 1st embodiment to 3rd embodiment.
  • the flowchart of the example of the proxy calculation method of 1st embodiment to 3rd embodiment The flowchart which shows the example of step S3.
  • f (x) is calculated using the result of the calculation requested by the requesting device 1 to the computing device 2.
  • the proxy calculation system includes a request device 1 and a calculation device 2 as illustrated in FIG. 1, and calculates f (x) using the calculation result requested by the request device 1 to the calculation device 2. .
  • the request apparatus 1 includes a natural number storage unit 11, an integer calculation unit 12, a first power calculation unit 13, a first list storage unit 14, a determination unit 15, a second power calculation unit 16, and a second list.
  • a storage unit 17, a control unit 18, and a final calculation unit 19 are included.
  • the computing device 2 includes, for example, a first randomizable sampler 21 and a second randomizable sampler 22. In the first embodiment, the first randomizable sampler 21 and the second randomizable sampler 22 correspond to the calculation device 2.
  • G and H are cyclic groups
  • a function f a function that maps H ⁇ G to an element x of group H to group G
  • generators of groups G and H are set to ⁇ g , ⁇ h , X 1 , and X 2 to group G, respectively.
  • random variable with values, x 1 the realization of the random variable X 1, the realization of the random variable X 2 and x 2.
  • the natural number storage unit 11 stores a plurality of sets (a, b) of two natural numbers a and b that are relatively prime. 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 11 stores a set (a, b) of natural numbers a and b corresponding to the subset S of I. Can be considered.
  • the first randomizable sampler 21 can calculate f (x) b x 1 , calculates using x and b, and sets the calculation result to u (step S 3).
  • the calculation result u is sent to the first power calculation unit 13.
  • “calculatable” means that it can be calculated with a probability that cannot be ignored.
  • the probability that cannot be ignored is a probability of 1 / F (k) or more, assuming that a polynomial that is a broad monotone function for the security parameter k is a polynomial F (k).
  • f (x) b x 1 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.
  • 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 14.
  • the second randomizable sampler 22 can calculate f (x) a x 2 , calculates using x and a, and sets the calculation result to v (step S 6).
  • the calculation result v is sent to the second power calculation unit 16.
  • 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 17.
  • the final calculation unit 19 calculates u b ′ v a ′ using u and v corresponding to u ′ and v ′, and outputs the result (u b ′ v a ′ ) ( Step S12).
  • the calculated u b ′ v a ′ f (x).
  • the reason why u b ′ v a ′ f (x) will be described later.
  • X be a random variable whose value is in group G.
  • a sample x ′ extracted according to the random variable R every time a request is received by a certain computing device and returning wx ′ is called a sampler having an error X for w.
  • a sample x ′ is extracted according to a random variable X and w a x ′ is returned, and a randomizable sampler having an error X with respect to w (randomizable) sampler).
  • the proxy calculation system of the above embodiment configures a proxy calculation system that inputs x and outputs f (x), the first randomizable sampler 21 having an error X 1 with respect to f (x), f (x and using the second random number of possible sample 22 with an error X 2 About).
  • x 1 and x 2 are the identity e g in the group G
  • u b 'v a' (f (x) b x 1) b '(f (x) a x 2)
  • a' (f ( x) b e g) b ' (f (x) a e g)
  • the proxy calculation system outputs f (x) with an overwhelming probability.
  • S ⁇ (1, d)
  • the amount of calculation of the sampler is smaller than that of a sampler capable of randomization.
  • the sampler 23 performs the calculation instead of the first randomizable sampler 21 and the second randomizable sampler 22 to reduce the calculation amount of the calculation device 2. Can do.
  • the proxy calculation system of the second embodiment embodies an example of the first randomizable sampler 21 and the second randomizable sampler 22, in other words, an example of step S3 and step S6.
  • the description will focus on the parts that are different from the first embodiment, and overlapping descriptions will be omitted for the common parts.
  • the first randomizable sampler 21 of the second embodiment includes a first random number generation unit 110, a first input information calculation unit 111, a first output information calculation unit 24, and a first calculation unit 112, as shown in FIG.
  • the second randomizable sampler 22 of the second embodiment includes a second random number generation unit 113, a second input information calculation unit 114, a second output information calculation unit 25, and a second calculation, as shown in FIG.
  • the unit 115 is included.
  • the first random number generator 110, the first input information calculator 111, the first calculator 112, the second random number generator 113, the second input information calculator 114, and the second calculator 115 are: It is included in the request device 1.
  • the first output information calculation unit 24 and the second output information calculation unit 25 are included in the calculation device 2.
  • the first output information calculation unit 24 and the second output information calculation unit 25 correspond to the calculation device 2.
  • Step S3 includes steps S31 to S34 illustrated in FIG.
  • the first random number generation unit 110 generates an integer uniform random number r 1 of 0 or more and less than K H (step S31).
  • the generated random number r 1 is sent to the first input information calculation unit 111.
  • the first input information calculation unit 111 calculates the first input information ⁇ h r1 x b (step S32).
  • the calculated first input information ⁇ h r1 x b is sent to the first output information calculation unit 24.
  • the first output information calculation unit 24 performs calculation using the first input information ⁇ h r1 x b, and sets the calculation result as the first output information z 1 (step S33).
  • the calculated first output information z 1 is sent to the first calculation unit 112.
  • the first output information calculation unit 24 can calculate f ( ⁇ h r1 x b ). Some possible first output information calculating unit 24 the result of calculation by is f ( ⁇ h r1 x b) , may not be f ( ⁇ h r1 x b) .
  • mu superscript r1 of h is that of r 1.
  • is expressed as ⁇ ⁇ , where ⁇ is the first character, ⁇ is the second character, ⁇ is a number, ⁇ means ⁇ ⁇ , that is, ⁇ subscript ⁇ To do.
  • the first calculation unit 112 calculates z 1 ⁇ ⁇ r1 and sets the calculation result to u (step S34).
  • the calculation result u is sent to the first power calculation unit 13.
  • Step S6 includes steps S61 to S64 illustrated in FIG.
  • Second random number generation unit 113 generates a uniform random number r 2 integer from 0 to less than K H (step S61).
  • the generated random number r 2 is sent to the second input information calculation unit 114.
  • the second input information calculation unit 114 calculates the second input information ⁇ h r2 x a (Step S62).
  • the calculated second input information ⁇ h r2 x a is sent to the second output information calculation unit 25.
  • the second output information calculation unit 25 performs calculation using the second input information ⁇ h r2 x a and sets the calculation result as the second output information z 2 (step S63).
  • the calculated second output information z 2 is sent to the second calculation unit 115.
  • the second output information calculation unit 25 can calculate f ( ⁇ h r2 x a ). Some possible second output information calculating unit 25 the result of calculation by is f ( ⁇ h r2 x a) , may not be f ( ⁇ h r2 x a) .
  • the second calculation unit 115 calculates z 2 v ⁇ r2 and sets the calculation result as v (step S64). The calculation result v is sent to the second power calculation unit 16.
  • the sampler 23 calculates the value of u or v instead of the first randomizable sampler 21 or the second randomizable sampler 22. Thus, the calculation amount may be reduced.
  • the sampler 23 of the second embodiment includes, for example, a third random number generation unit 116, a third input information calculation unit 117, a third output information calculation unit 26, and a third calculation unit 118, as shown in FIG.
  • the third random number generator 116, the third input information calculator 117, and the third calculator 118 are included in the requesting device 1.
  • the third output information calculation unit 26 is included in the calculation device 2.
  • each part of the sampler 23 performs the following processing instead of the first randomizable sampler 21 and the second randomizable sampler 22.
  • the third random number generation unit 116 generates a random integer r 3 of 0 to less than K H.
  • the generated random number r 3 is sent to the third input information calculation unit 117.
  • the third input information calculation unit 117 calculates the third input information xr3 .
  • the calculated third input information xr3 is sent to the third output information calculation unit 26.
  • Third output information calculating unit 26 performs calculation using the third input information x r3, to the calculation result and the third output information z 3.
  • the calculated third output information z 3 is sent to the third calculation unit 118.
  • the third output information calculation unit 26 can calculate f (x r3 ). Some possible third output information calculating unit 26 the result of calculation by is f (x r3), may not be f (x r3).
  • the calculation result v is sent to the second power calculation unit 16.
  • the calculation result u is sent to the first power calculation unit 13.
  • z 3 1 / r3 is a sampler having an error X 3 with respect to f (x).
  • z 3 1 / r3 is a sampler having an error X 3 with respect to f (x). The reason will be described later.
  • the third calculation unit 118 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 118 sets ⁇ 1 , ⁇ 2 ,..., ⁇ m as integers to ⁇ 1 ⁇ 1 + ⁇ 2 ⁇ 2 +.
  • x ⁇ H that is the target of the calculation of the value of the function f is set as the request device 1 and the computing device. 2 can be concealed from the third party that intercepts communication with the computer 2 and the computing device 2.
  • This property is based on the fact that the function f is a homomorphism and R and R ′ are random numbers.
  • This property is based on the fact that R and R ′ are random numbers. Therefore, considering that r 3 is a random number, z 1 / R becomes a randomizable sampler having an error X 3 for f (x).
  • the proxy calculation system of the third embodiment embodies another example of the first randomizable sampler 21 and the second randomizable sampler 22, in other words, other examples of step S3 and step S6. .
  • H G ⁇ G
  • the example of the first randomizable sampler 21 and the second randomizable sampler 22 in the case of 2 ⁇ s is embodied.
  • the description will focus on the parts that are different from the first embodiment, and overlapping descriptions will be omitted for the common parts.
  • the first randomizable sampler 21 of the third embodiment includes a fourth random number generation unit 119, a fifth random number generation unit 120, a fourth input information calculation unit 121, and a fifth input information calculation unit. 122, the 4th output information calculation part 27, and the 4th calculation part 123 are included, for example.
  • the second randomizable sampler 22 includes a sixth random number generator 124, a seventh random number generator 125, a sixth input information calculator 126, a seventh input information calculator 127, and a fifth output.
  • the information calculation unit 28 and the fifth calculation unit 128 are included.
  • the sixth input information calculation unit 126, the seventh input information calculation unit 127, the fifth output information calculation unit 28, and the fifth calculation unit 128 are included in the requesting apparatus 1.
  • the fourth output information calculation unit 27 and the fifth output information calculation unit 28 are included in the calculation device 2.
  • the fourth output information calculation unit 27 and the fifth output information calculation unit 28 correspond to the calculation device 2.
  • Step S3 of the third embodiment includes steps S31 'to S36' illustrated in FIG.
  • Fourth random number generation unit 119 generates a uniform random number r 4 integer from 0 to less than K G (step S31 ').
  • the generated random number r 4 is sent to the fourth input information calculation unit 121, the fifth input information calculation unit 122, and the fourth calculation unit 123.
  • Fifth random number generation unit 120 generates a uniform random number r 5 integer from 0 to less than K G (step S32 ').
  • the generated random number r 5 is sent to the fourth input information calculation unit 121 and the fourth calculation unit 123.
  • Fourth input information calculating unit 121 calculates the fourth input information c 1 b V r4 ⁇ g r5 ( Step S33 '). Fourth input information c 1 b V r4 ⁇ g r5 calculated is sent to the fourth output information calculating unit 27.
  • the fifth input information calculation unit 122 calculates the fifth input information c 2 b W r4 (step S34 ′). The calculated fifth input information c 2 b W r4 is sent to the fourth output information calculation unit 27.
  • Fourth output information calculating unit 27 performs the calculation using the fourth input information c 1 b V r4 ⁇ g r5 and fifth input information c 2 b W r4, to the calculation result and the fourth output information z 4 (Step S35 ').
  • Fourth output information calculating unit 27 is capable of calculating the f (c 1 b V r4 ⁇ g r5, c 2 b W r4).
  • Some possible results of the calculation by the fourth output information calculating unit 27 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 It may not be.
  • the fourth calculation unit 123 calculates z 4 Y ⁇ r4 ⁇ g ⁇ r5 and sets the calculation result to u (step S36 ′).
  • the calculation result u is sent to the first power calculation unit 13.
  • Step S6 of the third embodiment includes steps S61 'to S66' illustrated in FIG.
  • Sixth random number generation unit 124 generates a uniform random number r 6 integer from 0 to less than K G (step S61 '). The generated random number r 6 is sent to the sixth input information calculation unit 126, the seventh input information calculation unit 127, and the fifth calculation unit 128. Seventh random number generating unit 125 generates a uniform random number r 7 integer from 0 to less than K G (step S62 '). The generated random number r 7 is sent to the sixth input information calculation unit 126 and the fifth calculation unit 128.
  • Sixth input information calculating unit 126 calculates the sixth input information c 1 a V r6 ⁇ g r7 (step S63 '). The calculated sixth input information c 1 a V r6 ⁇ g r7 are is sent to the fifth output information calculating unit 28.
  • the seventh input information calculation unit 127 calculates the seventh input information c 2 a W r6 (step S64 ′). The calculated seventh input information c 2 a W r6 is sent to the fifth output information calculation unit 28.
  • Fifth output information calculating section 28 the sixth input information c 1 a V r6 ⁇ g perform the calculation using the r7 and the seventh input information c 2 a W r6, the calculation result fifth output information z 5 (Step S65 ′).
  • the calculated fifth output information z 5 is sent to the fifth calculation unit 128.
  • Fifth output information calculating unit 28 is capable of calculating the f (c 1 a V r6 ⁇ g r7, c 2 a W r6).
  • Some possible fifth output information calculating unit 28 the result of calculation by 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 It may not be.
  • Fifth calculation unit 128 calculates the z 5 Y -r6 ⁇ g -r7 to the calculation result v (step S66 ').
  • the calculation result v is sent to the second power calculation unit 16.
  • a, b are natural numbers and r 4, r 5, r 6 and r 7 is considered to be a random number, similarly, z 4 Y -r4 ⁇ g -r5 , z 5 Y -r6 ⁇ g -r7 Is a randomizable sampler with errors X 1 and X 2 for f (c 1 , c 2 ), respectively.
  • the random variables X 1 , X 2 and X 3 may be the same or different.
  • Each of the sixth random number generator 124 and the seventh random number generator 125 may generate a random number that is not a uniform random number.
  • the first randomizable sampler 21 and the second randomizable sampler 22 are called once, but in order to reduce the number of communications between the requesting device 1 and the computing device 2, they are the same.
  • the first randomizable sampler 21 and the second randomizable sampler 22 are called a plurality of times for a and b so that the requesting apparatus 1 can acquire a plurality of u and v in one communication. Also good.
  • the units of the first randomizable sampler 21, the second randomizable sampler 22, and the sampler 23 may be arranged in the requesting apparatus 1 or in the calculation apparatus 2. That is, all the units may be arranged in the computing device 2 as in the first embodiment, or for example, the requesting device 1 and the computing device 2 are arranged separately as in the second embodiment and the third embodiment. Also good.
  • the exchange of data between the units of the requesting apparatus 1 may be performed directly or may be performed via a storage unit (not shown).
  • data exchange between the units of the computing device 2 may be performed directly or may be performed via a storage unit (not shown).
  • Each of the requesting device 1 and the computing device 2 can be realized by a computer.
  • the processing contents of each function that the apparatus should have are described by a program. Then, by executing this program on a computer, each processing function in this apparatus is realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • these apparatuses are configured by executing a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.
  • ⁇ (g, h) is calculated using the calculation result requested by the requesting device 1 ′ to the calculating device 2 ′.
  • the proxy calculation system of the fourth embodiment includes a request apparatus 1 ′ and a calculation apparatus 2 ′ as illustrated in FIG. 11, and uses the result of the calculation requested by the request apparatus 1 ′ to the calculation apparatus 2 ′.
  • the map ⁇ (g, h) is calculated.
  • G, H, and F are cyclic groups
  • the mapping ⁇ : G ⁇ H ⁇ F is a bimorphic mapping
  • g is an element of group G
  • h is an element of group H
  • KG is an element of group G.
  • K H is the order of group H
  • ⁇ g is the generator of group G
  • ⁇ h is the generator of group H
  • ⁇ ( ⁇ g , ⁇ g )
  • k 1 or more
  • K 2k .
  • Bimorphic map means a map that is homomorphic for each of the two inputs.
  • the mapping ⁇ (g, h) is homomorphic with respect to the element g of the group G and homomorphic with respect to the element h of the group H.
  • a communication path is established between the requesting device 1 'and the computing device 2', and the requesting device 1 'and the computing device 2' can communicate bidirectionally. This communication path does not need to be kept secret, and a third party may be able to intercept information flowing through this communication path.
  • the requesting device 1 ′ transmits the information disturbed by the random number to the unreliable computing device 2 ′, and the computing device 2 ′ uses the disturbed information to perform the calculation according to a certain algorithm, and the calculation result is the requesting device 1 ′.
  • the requesting device 1' Reply to By repeatedly transmitting and receiving information to and from the calculation device 2 ', the requesting device 1' finally calculates ⁇ (g, h).
  • the requesting device 1 ′ first calculates information ( ⁇ , ⁇ ′) equivalent to ⁇ (g, ⁇ h ) by the processing from step S11 ′ to step S125 ′ (FIG. 15), and the ⁇ (g, ⁇ h ).
  • ⁇ (g, ⁇ ) is calculated by processing from step S21 ′ to step S225 ′ using information ( ⁇ , ⁇ ′) equivalent to.
  • the request device 1 ′ includes a first random number generation unit 11 ′, a second random number generation unit 12 ′, a first input information calculation unit 13 ′, a second input information calculation unit 14 ′, One list information calculation unit 15 ′, first list storage unit 16 ′, reception unit 17 ′, transmission unit 18 ′, fourth random number generation unit 21 ′, fifth random number generation unit 22 ′, third input information calculation unit 23 ′ , Fourth input information calculation unit 24 ′, second list information calculation unit 25 ′, second list storage unit 26 ′, third random number generation unit 27 ′, first determination unit 28 ′, sixth random number generation unit 31 ′, Seventh random number generation unit 32 ′, fifth input information calculation unit 33 ′, sixth input information calculation unit 34 ′, third list information calculation unit 35 ′, third list storage unit 36 ′, ninth random number generation unit 41 ′ , Tenth random number generator 42 ', seventh input information calculator 43', eighth input information calculator 44 ', fourth list information Calculation unit 45 includes ', fourth list calculator 46'
  • the calculation device 2 ′ includes a reception unit 51 ′, a transmission unit 52 ′, a first output information calculation unit 53 ′, a second output information calculation unit 54 ′, and a third output information calculation unit 55 ′. And a fourth output information calculation unit 56 ′.
  • Step S11 ′ (FIG. 15)>
  • the first random number generating unit 11 'generates r 1 is a uniform random number integer from 0 to less than K G (step S11').
  • the generated random number r 1 is sent to the first input information calculation unit 13 ′ and the first list information calculation unit 15 ′.
  • Step S12 '> The second random number generation unit 12 ′ generates r 2 that is an integer uniform random number not less than 0 and less than K H (step S12 ′). Random number r 2 that is generated, the second input information calculating unit 14 ', the first list information calculating unit 15' is sent to and the first list storage unit 16 '.
  • the calculated g 1 is sent to the transmission unit 18 ′.
  • mu superscript r1 of g is that of r 1.
  • Step S15 '> The transmission unit 18 ′ transmits the first input information g 1 and the second input information h 1 to the calculation device 2 ′ (step S15 ′).
  • Step S16 '> 'Receiving unit 51 of the' calculation unit 2 receives the first input information g 1 and the second input information h 1 (step S16 ').
  • Step S17 '> First output information calculating unit 53 'performs a calculation using the first input information g 1 and the second input information h 1, to the calculation result as the first output information z 1 (step S17'). z 1 is sent to the transmitter 52 ′.
  • the first output information calculation unit 53 ′ can calculate ⁇ (g 1 , h 1 ). Some possible result of the calculation by the first output information calculating unit 53 'is ⁇ (g 1, h 1) , may not be ⁇ (g 1, h 1) .
  • “calculatable” means that it can be calculated with a probability that cannot be ignored.
  • the probability that cannot be ignored is a probability of 1 / f (k) or more, where a polynomial that is a monotonically increasing function in a broad sense for the security parameter k is a polynomial f (k).
  • Step S19 '> 'Receiving unit 17 of the' requesting apparatus 1 receives the first output information z 1 (step S19 ').
  • the received first output information z 1 is sent to the first list information calculation unit 15 ′.
  • the first output information z 1 is the original group F.
  • Step S110 '> The first list information calculation unit 15 ′ calculates z 1 v ⁇ r1r2 using the random number r 1 , the random number r 2 and the first output information z 1 (step S110 ′). The calculated z 1 ⁇ ⁇ r1r2 is sent to the first list storage unit 16 ′.
  • Step S111 '> A set of information (r 2 , z 1 v -r1r2 ) composed of the random number r 2 and z 1 v -r1r2 is added to the list L 1 .
  • a set of information (r 2 , z 1 v ⁇ r1r2 ) is stored in the first list storage unit 16 ′ (step S111 ′).
  • Step S112 '> The third random number generation unit 27 ′ generates d 1 which is an integer uniform random number not less than 0 and less than K (step S112 ′). Generated random number d 1 is sent to the third input information calculating unit 23 'and a second list storage unit 26'.
  • Fourth random number generator 21 'generates r 4 is a uniform random number integer from 0 to less than K G (step S113'). Random number r 4 thus generated is fed to the third input information calculating unit 23 'and the second list information calculating unit 25'.
  • Step S114 '> The fifth random number generation unit 22 ′ generates r 5 that is an integer uniform random number not less than 0 and less than K H (step S114 ′). Random number r 5
  • the generated fourth input information calculating unit 24 ', the second list information calculating unit 25' is sent to and the second list storage unit 26 '.
  • Step S117 '> The transmission unit 18 ′ transmits the third input information g 2 and the fourth input information h 2 to the calculation device 2 ′ (Step S117 ′).
  • Step S118 '> 'Receiving unit 51 of the' calculation unit 2 receives the third input information g 2 and the fourth input information h 2 (step S118 ').
  • Step S119 '> The second output information calculating unit 54 'performs a calculation using the third input information g 2 and the third input information h 2, to the calculation result and the second output information z 2 (step S119'). z 2 is sent to the transmission unit 52 '.
  • the second output information calculation unit 54 ′ can calculate ⁇ (g 2 , h 2 ). Some possible results of the calculation by the second output information calculating unit 54 'is ⁇ (g 2, h 2) , may not be ⁇ (g 2, h 2) .
  • Step S121 '> 'Receiving unit 17 of the' requesting apparatus 1 receives the second output information z 2 (step S121 ').
  • the second output information z 2 received is sent to the second list information calculating unit 25 '.
  • the second output information z 2 is an element of the group F.
  • Step S122 '> The second list information calculation unit 25 ′ calculates z 2 v ⁇ r4r5 using the random number r 4 , the random number r 5 and the second output information z 2 (step S122 ′). The calculated z 2 ⁇ ⁇ r4r5 is sent to the second list storage unit 26 ′.
  • Step S123 '> A set of information (d 1 , r 5 , z 2 v -r4r5 ) composed of the random number d 1 , the random number r 5 , and z 2 v -r4r5 is added to the list L 2 .
  • a set of information (d 1 , r 5 , z 2 v ⁇ r4r5 ) is stored in the second list storage unit 26 ′ (step S123 ′).
  • Step S124 '> The first determination unit 28 ', the first list storage unit 16' sets of the first component of the information read from the s 1, a second component and w 1, of the information read from the second list storage unit 26 '
  • the first component of the set is t 2
  • the second component is s 2
  • the third component is w 2
  • the first determination unit 28 ′ stores information stored in the first list storage unit 16 ′.
  • information (d 2 , z 1 v -r1r2 ) and a set of information (d 1 , r 5 , z 2 v -r4r5 ) stored in the second list storage unit 26 ' It is determined whether the pair satisfies the above relationship. Of course, for a pair of information that has already been determined whether or not the above relationship is satisfied, the determination process may be omitted.
  • Step S125 ′ If the above relationship is satisfied, the first determination unit 28 ′ substitutes s 1 into ⁇ and substitutes w 1 into ⁇ ′ (step S125 ′).
  • Step S21 ′ (FIG. 16)>
  • Sixth random number generating unit 31 'generates a r 6 is a uniform random number integer from 0 to less than K G (step S21').
  • the generated random number r 6 is sent to the fifth input information calculation unit 33 ′, the third list information calculation unit 35 ′, and the third list storage unit 36 ′.
  • Step S22 ′ The seventh random number generator 32 ′ generates r 7 that is an integer uniform random number not less than 0 and less than K H (step S22 ′). The generated random number r 7 is sent to the sixth input information calculation unit 34 ′ and the third list information calculation unit 35 ′.
  • Step S25 '> The transmission unit 18 ′ transmits the fifth input information g 3 and the sixth input information h 3 to the calculation device 2 ′ (step S25 ′).
  • Step S26 '> 'Receiving unit 51 of the' calculation unit 2 receives the fifth input information g 3 and the sixth input information h 3 (step S26 ').
  • Step S27 '> Third output information calculating unit 55 'performs a calculation using the fifth input information g 3 and the sixth input information h 3, to the calculation result and the third output information z 3 (step S27'). z 3 is sent to the transmitter 52 ′.
  • the third output information calculation unit 55 ′ can calculate ⁇ (g 3 , h 3 ). Some possible results of the calculation by the third output information calculating unit 55 'is ⁇ (g 3, h 3) , it may not be ⁇ (g 3, h 3) .
  • Step S29 '> 'Receiving unit 17 of the' requesting apparatus 1 receives the third output information z 3 (step S29 ').
  • Third output information z 3 received is sent to the third list information calculating unit 35 '.
  • the third output information z 3 is an element of the group F.
  • the third list information calculation unit 35 ′ calculates z 3 ⁇ ′ ⁇ r6r7 using the random number r 6 , the random number r 7 and the third output information z 3 (step S210 ′).
  • the calculated z 3 ⁇ - r6r7 is sent to the third list storage unit 36 ′.
  • Step S211 '> A set of information (r 6 , z 3 ⁇ ′ -r6r7 ) composed of the random number r 6 and z 3 ⁇ ′ -r6r7 is added to the list L 3 .
  • the information set (r 6 , z 3 ⁇ ′ ⁇ r6r7 ) is stored in the third list storage unit 36 ′ (step S211 ′).
  • Step S212 '> The eighth random number generation unit 47 ′ generates d 2 that is an integer uniform random number not less than 0 and less than K (step S212 ′). Random number d 2 generated is sent to the eighth input information calculating unit 44 and the fourth list storage unit 46 '.
  • Step S213 Ninth random number generator 41 'generates a r 9 is a uniform random number integer from 0 to less than K G (step S213').
  • the generated random number r 9 is sent to the seventh input information calculation unit 43 ′, the fourth list information calculation unit 45 ′, and the fourth list storage unit 46 ′.
  • Step S214 Tenth random number generation unit 42 'generates the r 10 is a uniform random number integer from 0 to less than K H (step S214').
  • the generated random number r 10 is sent to the eighth input information calculation unit 44 ′, the fourth list information calculation unit 45 ′, and the fourth list storage unit 46 ′.
  • the calculated eighth input information h 4 was is sent to the transmitter 18 '.
  • Step S218 '> 'Receiving unit 51 of the' calculation unit 2 receives the seventh input information g 4 and the eighth input information h 4 (step S218 ').
  • Step S219 ′ Fourth output information calculating unit 56 'performs a calculation using the seventh input information g 4 and the eighth input information h 4, to the calculation result and the fourth output information z 4 (step S219'). z 4 is sent to the transmission unit 52 '.
  • the fourth output information calculation unit 56 ′ can calculate ⁇ (g 4 , h 4 ). Some possible results of the calculation by the fourth output information calculating unit 56 'is ⁇ (g 4, h 4) , may not be ⁇ (g 4, h 4) .
  • Step S221 '> 'Receiving unit 17 of the' requesting apparatus 1 receives the fourth output information z 4 (step S221).
  • Fourth output information z 4 received is sent to the fourth list information calculating unit 45 '.
  • the fourth output information z 4 is an element of the group F.
  • the fourth list information calculation unit 45 ′ calculates z 4 ⁇ ′ ⁇ r9r10 using the random number r 9 , the random number r 10 and the fourth output information z 4 (step S222 ′).
  • the calculated z 4 ⁇ ′-r9r10 is sent to the fourth list storage unit 46 ′.
  • Step S223 ′ A set of information (d 2 , r 9 , z 4 ⁇ ′ -r9r10 ) composed of the random number d 2 , the random number r 9 , and z 4 ⁇ -r9r10 is added to the list L 4 .
  • the information set (d 2 , r 9 , z 4 v ⁇ r9r10 ) is stored in the fourth list storage unit 46 ′ (step S223 ′).
  • the first component of the set is t 4
  • the second component is s 4
  • the third component is w 4
  • the second determination unit 48 ′ stores information stored in the third list storage unit 36 ′. (R 6 , z 3 ⁇ ′ ⁇ r6r7 ) and information set (d 2 , r 9 , z 4 ⁇ ′ ⁇ r9r10 ) stored in the fourth list storage unit 46 ′ It is determined whether the information pair satisfies the above relationship. Of course, for a pair of information that has already been determined whether or not the above relationship is satisfied, the determination process may be omitted.
  • Step S225 ′ If the above relationship is satisfied, the second determination unit 48 ′ outputs (w 3 ) ⁇ (s 3 ⁇ 1 ) (step S225 ′).
  • (w 3 ) ⁇ (s 3 ⁇ 1 ) ⁇ (g, h).
  • the reason why (w 3 ) ⁇ (s 3 ⁇ 1 ) ⁇ (g, h) will be described later. If the above relationship is not satisfied, the process returns to step S21 ′.
  • ⁇ (g, h) can be easily calculated as follows.
  • m is a natural number.
  • the computing device 2 ′ does not need to be a reliable computer, and the configuration requirements of the system for calculating the bimorphism can be relaxed.
  • a computer that can be trusted is generally expensive and expensive to operate, it is not necessary for the computing device 2 'to be a computer that can be trusted. Operation costs can be reduced.
  • This property is used. This property is based on the fact that R 1 , R 2 , R 1 ′ and R 2 ′ are random numbers.
  • the realized value of S X (1) is expressed as ⁇ (g, ⁇ h ) 1 x 1 and the realized value of S X (d) is expressed as ⁇ (g, ⁇ h ) d x 2 .
  • the proxy calculation system of the above embodiment uses the property of this randomizable sampler.
  • step S11 ′ to step S111 ′ corresponds to the calculation of the actual value ⁇ (g, ⁇ h ) 1 x 1 of S X (1).
  • the process of 'step S123 from' step S112 corresponds to realize values ⁇ (g, ⁇ h) of d1 x 2 calculation of S X (d 1).
  • ⁇ and ⁇ ′ in step S125 ′ correspond to ⁇ (g, ⁇ h ).
  • the proxy calculation system of the above embodiment uses the property of this randomizable sampler.
  • step S21 ′ to step S211 ′ corresponds to the calculation of the actual value ⁇ (g, h) 1 x 1 of S X (1).
  • the actual value of S X (1) is not calculated, but z 3 ⁇ ′-r6r7 is obtained as 1 / r by using (r 6 , z 3 ⁇ ′ -r6r7 ) obtained by the same processing.
  • (z 3 ⁇ ′ ⁇ r6r7 ) 1 / r6 z 3 1 / r6 ⁇ ′ ⁇ r7
  • step process S212 'from the step S223' corresponds to the realization theta (g, h) of d2 x 2 calculation of S X (d 2).
  • s 3 r 6
  • w 3 z 3 ⁇ ′ ⁇ r6r7
  • t 4 d 2
  • s 4 r 9
  • w 4 z 4 ⁇ ′ ⁇ r9r10 by definition .
  • (w 3 ) ⁇ (s 3 ⁇ 1 ) in step S225 ′ corresponds to ⁇ (g, h).
  • (w 3 ) ⁇ (s 3 ⁇ 1 ) in step S225 ′ corresponds to ⁇ (g, h).
  • (w 3 ) ⁇ (s 3 ⁇ 1 ) (z 3 ⁇ ′ ⁇ r6r7 ) ⁇
  • the proxy calculation system of the fifth embodiment is different from the proxy calculation system of the fourth embodiment in step S13 ′, step S110 ′, and step S111 ′, and other parts are the same as the proxy calculation system of the fourth embodiment. is there.
  • a description will be given centering on differences from the fourth embodiment.
  • the first list information calculation unit 15 ′ calculates r 1 r 2 using the random number r 1 and the random number r 2 instead of z 1 v ⁇ r1r2 , and sends the calculation result to the first list storage unit 16 ′.
  • the first list storage unit 16 ′ is not composed of a set of information (r 2 , z 1 v ⁇ r1r2 ) but is composed of calculated r 1 r 2 and z 1 ⁇ F received from the calculation device 2 ′.
  • a set of information (r 1 r 2 , z 1 ) is stored (step S111 ′).
  • step S110 ′ of the fourth embodiment it is necessary to perform the group F power operation z 1 ⁇ r1r2 , but in step S110 ′ of the fifth embodiment, r 1 r 2 should be calculated.
  • the number of times has decreased by 1.
  • the efficiency of calculation can be increased by reducing the number of power calculations.
  • the safety does not decrease compared to the fourth embodiment.
  • the proxy calculation system of the sixth embodiment is different from the proxy calculation system of the fourth embodiment in step S24 ′, step S210 ′, and step S211 ′, and the other parts are the same as the proxy calculation system of the fourth embodiment. is there.
  • a description will be given centering on differences from the fourth embodiment.
  • the third list information calculation unit 35 ′ calculates r 6 r 7 using the random number r 6 and the random number r 7 instead of z 3 ⁇ ′-r6r7 (step S210 ′).
  • the third list storage unit 36 ′ is not composed of the information set (r 6 , z 3 ⁇ ′ ⁇ r6r7 ) but is composed of the calculated r 6 r 7 and z 3 ⁇ F received from the calculation device 2 ′.
  • the information set (r 6 r 7 , z 3 ) is stored (step S211 ′).
  • step S210 ′ of the fourth embodiment it was necessary to perform a power of the group F of z 3 ⁇ ′-r6r7 , but in step S210 ′ of the sixth embodiment, r 6 r 7 should be calculated.
  • the number of operations has decreased by one. Thus, the efficiency of calculation can be increased by reducing the number of power calculations.
  • the proxy calculation system of the seventh embodiment is different from the proxy calculation system of the fourth embodiment in step S125 ′ and step S214 ′, and the other parts are the same as the proxy calculation system of the fourth embodiment.
  • the first determination unit 28 ′ substitutes t 1 s 2 into ⁇ and substitutes w 2 into ⁇ ′ (step S125 ′).
  • the tenth random number generation unit 42 ′ calculates ⁇ r 9 ⁇ 1 using the random number r 9 and sets it to r 10 (step S214 ′).
  • step S22 'and step S211' may be further changed as follows.
  • the seventh random number generator 32 ′ calculates ⁇ r 6 ⁇ 1 using the random number r 6 and sets it to r 7 (step S22 ′).
  • the 1 and the calculated z 3 [nu' third list storage unit 36 -R6r7 Metropolitan from configured data set (1, z 3 ⁇ '-r6r7 ) is stored (step S211').
  • the number of times of generating a random number can be reduced by calculating the random number r 7 using the random number r 6 . If it is difficult to calculate a non-obvious root in the group G and the group H, the safety does not decrease compared to the fourth embodiment.
  • the proxy calculation system of the eighth embodiment is different from the proxy calculation system of the fourth embodiment in step S113 ′, and the other parts are the same as those of the proxy calculation system of the fourth embodiment.
  • a description will be given centering on differences from the fourth embodiment.
  • Step S113 generates a random number r 5 (step S114 ').
  • the fourth random number generation unit 21 ′ calculates ⁇ r 5 ⁇ 1 using the random number r 5 and sets it to r 4 (step S113 ′).
  • the number of times of generating a random number can be reduced by calculating the random number r 4 using the random number r 5 .
  • the request apparatus 1 ′ further includes a pre-calculation unit 29 ′ indicated by a broken line in FIG. 12, and step S115 ′ is different from the proxy calculation system of the fourth embodiment. About the part, it is the same as that of the proxy calculation system of 4th embodiment. Hereinafter, a description will be given centering on differences from the fourth embodiment.
  • the pre-calculation unit 29 ′ calculates g d1 using d 1 generated by the third random number generation unit 27 ′. This process is performed after step S112 ′ and before step S115 ′.
  • step S114 ′ If the determination condition is not satisfied in step S114 ′, the processing from step S11 ′ to step S123 ′ is repeated.
  • the request apparatus 1 ′ further includes a pre-calculation unit 49 ′ indicated by a broken line in FIG. 13, and step S216 ′ is different from the proxy calculation system of the fourth embodiment. About the part, it is the same as that of the proxy calculation system of 4th embodiment. Hereinafter, a description will be given centering on differences from the fourth embodiment.
  • the pre-calculation unit 49 ′ calculates h d2 using d 2 generated by the eighth random number generation unit 47 ′. This process is performed after step S212 ′ and before step S216 ′.
  • Eighth input information calculating unit 44 'by using the h d2 that has been pre-calculated, the calculation of the eighth input information h 4 ⁇ h r10 ⁇ h d2 ( step S116').
  • Each of the random number generation unit 32 ′, the eighth random number generation unit 47 ′, the ninth random number generation unit 41 ′, and the tenth random number generation unit 42 ′ generates uniform random numbers, so that the safety of the proxy calculation system is the highest. Get higher.
  • the generator 22 ′, the sixth random number generator 31 ′, the seventh random number generator 32 ′, the eighth random number generator 47 ′, the ninth random number generator 41 ′, and the tenth random number generator 42 ′ is uniform.
  • a random number that is not a random number may be generated.
  • the process of the first determination unit 28 ′ may be performed. For example, when the information set (d 1 , r 5 , z 2 ⁇ ⁇ r4r5 ) is stored in the second list storage unit 26 ′, the process of step S124 ′ may be performed after step S111 ′. good. Similarly, every time a set of information is added to the list L 3 and the list L 4 , the process of the second determination unit 48 ′ may be performed.
  • the fourth embodiment to the tenth embodiment can be combined with each other.
  • the exchange of data between the units of the request apparatus 1 ′ may be performed directly or may be performed via a storage unit (not shown). Similarly, data exchange between the units of the computing device 2 ′ may be performed directly or via a storage unit (not shown).
  • Each of the requesting device 1 'and the computing device 2' can be realized by a computer.
  • the processing contents of each function that the apparatus should have are described by a program. Then, by executing this program on a computer, each processing function in this apparatus is realized on the computer.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • these apparatuses are configured by executing a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.
  • the first embodiment to the third embodiment may be combined with the fourth embodiment to the tenth embodiment.
  • the computing device 2 of the first to third embodiments includes the requesting device 1 ′ of the fourth to tenth embodiments, and includes this requesting device 1 ′.
  • the calculation device 2 may calculate the function f using the calculation device 2 ′ in the same manner as described in the fourth to tenth embodiments.
  • the calculation device 2 calculates the value of the corresponding mapping ⁇ (g, h) using the calculation device 2 ′.
  • ciphertext and decryption of the ciphertext are performed as follows.
  • a random number r is generated and (Q r , m (+) H ( ⁇ (P r , Q ID ))) is calculated, and this is converted into a ciphertext (C 1 , C 2 ).
  • plain text is obtained by calculating C 2 (+) H (f (C 1 )) for cipher text (C 1 , C 2 ).
  • H is a hash function
  • (+) is an exclusive OR.
  • the computing device 2 is an IC card or a mobile phone and it is difficult to extract secret information, but the computing ability is limited, it is beneficial to multiplex and combine the requesting device and the computing device in this way. .
  • the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the gist of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

 正しい計算を行う確率が低い計算装置を用いて関数f(x)の計算をする。G,Hを巡回群、fを群Hの元xを群Gへ写す関数、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとして、整数計算部が、互いに素である2つの自然数a,bを用いて、a'a+b'b=1の関係を満たす整数a',b'を計算する。第一乱数化可能標本器は、f(x)を計算可能であり、その計算結果をuとする。第一べき乗計算部は、u'=uを計算する。第二乱数化可能標本器は、f(x)を計算可能であり、その計算結果をvとする。第二べき乗計算部は、v'=vを計算する。判定部は、u'=v'であるか判定する。最終計算部は、u'=v'であると判定された場合には、ub'a'を計算する。

Description

代理計算システム、方法、依頼装置、プログラム及びその記録媒体
 この発明は、コンピュータによる計算技術に関する。特に、他の計算機に行わせた計算結果を用いて計算を行う技術に関する。
 正しい計算をするとは限らない計算装置に依頼した計算の結果を用いて依頼装置が関数fの計算を行う技術が、非特許文献1に記載されている。非特許文献1に記載された自己訂正器は、計算装置に計算を複数回依頼しその計算結果の多数決を採ることで関数fの計算を行う(例えば、非特許文献1参照。)。
M. Blum, M. Luby, and R. Rubinfeld, "Self-Testing/Correcting with Applications to Numerical Problems", STOC 1990, pp. 73-83.
 しかしながら、非特許文献1の自己訂正器が正常に動作するためには、計算装置は一定以上の確率で正しい計算をする必要があり、正しい計算を行う確率が低い計算装置を用いて関数fの計算をする技術は知られていないという課題がある。
 この発明の第一の態様である代理計算システムは、G,Hを巡回群、fを群Hの元xを群Gへ写す関数、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとして、互いに素である2つの自然数a,bを用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する整数計算部と、f(x)を計算可能であり、その計算結果をuとする第一乱数化可能標本器と、u’=uを計算する第一べき乗計算部と、f(x)を計算可能であり、その計算結果をvとする第二乱数化可能標本器と、v’=vを計算する第二べき乗計算部と、u’=v’であるか判定する判定部と、u’=v’であると判定された場合には、ub’a’を計算する最終計算部とを含む。
 この発明の第二の態様である代理計算システムは、G、H及びFを巡回群とし、写像θ:G×H→Fを双同型準同型写像とし、gを群Gの元とし、hを群Hの元とし、Kを群Gの位数とし、Kを群Hの位数とし、μを群Gの生成元とし、μを群Hの生成元とし、ν=θ(μ,μ)とし、kを自然数のセキュリティパラメータとし、K=2として、依頼装置は、0以上K未満の整数の乱数rを生成する第一乱数生成部と、0以上K未満の整数の乱数rを生成する第二乱数生成部と、第一入力情報g=μ r1gを計算する第一入力情報計算部と、第二入力情報h=μ r2を計算する第二入力情報計算部と、計算装置から受信したz∈Fを用いて、zν-r1r2を計算する第一リスト情報計算部と、乱数rと計算されたzν-r1r2とから構成される情報の組(r,zν-r1r2)が記憶される第一リスト記憶部と、0以上K未満の整数の一様乱数であるdを生成する第三乱数生成部と、0以上K未満の整数の一様乱数であるrを生成する第四乱数生成部と、0以上K未満の整数の一様乱数であるrを生成する第五乱数生成部と、第三入力情報g=μ r4d1を計算する第三入力情報計算部と、第四入力情報h=μ r5を計算する第四入力情報計算部と、計算装置から受信したz∈Fを用いて、zν-r4r5を計算する第二リスト情報計算部と、dとrと計算されたzν-r4r5とから構成される情報の組(d,r,zν-r4r5)が記憶される第二リスト記憶部と、第一リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、第二リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、sをσに代入し、wをν’に代入する第一判定部と、0以上K未満の整数の一様乱数であるrを生成する第六乱数生成部と、0以上K未満の整数の一様乱数であるrを生成する第七乱数生成部と、第五入力情報g=gr6を計算する第五入力情報計算部と、第六入力情報h=μ r7σhを計算する第六入力情報計算部と、計算装置から受信したz∈Fを用いて、zν’-r6r7を計算する第三リスト情報計算部と、rと計算されたzν’-r6r7とから構成される情報の組(r,zν’-r6r7)が記憶される第三リスト記憶部と、0以上K未満の整数の一様乱数であるdを生成する第八乱数生成部と、0以上K未満の整数の一様乱数であるrを生成する第九乱数生成部と、0以上K未満の整数の一様乱数であるr10を生成する第十乱数生成部と、第七入力情報g=μ r9を計算する第七入力情報計算部と、第八入力情報h=μ r10σd2を計算する第八入力情報計算部と、計算装置から受信したz∈Fを用いて、zν’-r9r10を計算する第四リスト情報計算部と、dとrと計算されたzν’-r9r10とから構成される情報の組(d,r,zν’-r9r10)が記憶される第四リスト記憶部と、第三リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、第四リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、(w)^(s -1)を出力する第二判定部と、を含む。計算装置は、依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果をzとして出力する第一出力情報計算部と、依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果をzとして出力する第二出力情報計算部と、依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果をzとして出力する第三出力情報計算部と、依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果をzとして出力する第四出力情報計算部とを含む。
 正しい計算を行う確率が低い計算装置を用いて関数fの計算をすることができる。
第一実施形態から第三実施形態の代理計算システムの例の機能ブロック図。 第一実施形態から第三実施形態の依頼装置及び計算装置の例の機能ブロック図。 第一実施形態から第三実施形態の標本器の例の機能ブロック図。 第一実施形態から第三実施形態の第一乱数化可能標本器及び第二乱数化可能標本器の例の機能ブロック図。 第一実施形態から第三実施形態の第一乱数化可能標本器及び第二乱数化可能標本器の他の例の機能ブロック図。 第一実施形態から第三実施形態の代理計算方法の例の流れ図。 ステップS3の例を示す流れ図。 ステップS6の例を示す流れ図。 ステップS3の他の例を示す流れ図。 ステップS6の他の例を示す流れ図。 第四実施形態から第十実施形態の代理計算システムの例の機能ブロック図。 第四実施形態から第十実施形態の依頼装置の例の機能ブロック図。 第四実施形態から第十実施形態の依頼装置の例の機能ブロック図。 第四実施形態から第十実施形態の計算装置の例の機能ブロック図。 第四実施形態から第十実施形態の代理計算方法の例の流れ図。 第四実施形態から第十実施形態の代理計算方法の例の流れ図。 代理計算システムの変形例の機能ブロック図。
 以下、この発明による代理計算システム、代理計算方法の実施形態を詳細に説明する。
 第一実施形態から第二実施形態は、依頼装置1が計算装置2に依頼した計算の結果を用いてf(x)を計算するものである。
[第一実施形態]
 第一実施形態の代理計算システムは、図1に例示するように依頼装置1及び計算装置2を含み、依頼装置1が計算装置2に依頼した計算の結果を用いてf(x)を計算する。
 依頼装置1は、図2に示すように、自然数記憶部11、整数計算部12、第一べき乗計算部13、第一リスト記憶部14、判定部15、第二べき乗計算部16、第二リスト記憶部17、制御部18及び最終計算部19を例えば含む。計算装置2は、第一乱数化可能標本器21及び第二乱数化可能標本器22を例えば含む。第一実施形態においては、第一乱数化可能標本器21及び第二乱数化可能標本器22が計算装置2に対応する。
 G,Hを巡回群、関数f:H→Gを群Hの元xを群Gへ写す関数、群G,Hの生成元をそれぞれμ,μ、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとする。
 自然数記憶部11には、互いに素である2つの自然数a,bの組(a,b)が複数記憶されているものとする。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部11にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。
 整数計算部12は、自然数記憶部11に記憶された複数の自然数の組(a,b)から、1つの自然数の組(a,b)をランダムに読み込み、その読み込んだ自然数の組(a,b)を用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する(ステップS1)。自然数a,bは互いに素であるため、a’a+b’b=1の関係を満たす整数a’,b’は必ず存在する。自然数の組(a,b)についての情報は、第一べき乗計算部13、第二べき乗計算部16、第一乱数化可能標本器21及び第二乱数化可能標本器22に送られる。自然数の組(a’,b’)についての情報は、最終計算部19に送られる。
 制御部18は、t=1とする(ステップS2)。
 第一乱数化可能標本器21は、f(x)を計算可能であり、x及びbを用いて計算を行い、その計算結果をuとする(ステップS3)。計算結果uは、第一べき乗計算部13に送られる。
 この出願において、計算可能とは、無視することができない確率以上の確率で計算することができることを意味する。無視することができない確率とは、セキュリティパラメータkについての広義単調関数である多項式を多項式F(k)として、1/F(k)以上の確率である。
 ここで、f(x)を計算するとは、f(x)と定義される式の値を計算することである。式f(x)の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。
 第一べき乗計算部13は、u’=uを計算する(ステップS4)。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部14に記憶される。
 判定部15は、第一リスト記憶部14に記憶された組(u,u’)及び第二リスト記憶部17に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS5)。もし、第二リスト記憶部17に組(v,v’)が記憶されていない場合には、このステップS5の処理を行わずに、次のステップS6の処理を行う。u’=v’となるものがあった場合には、ステップ12に進む。u’=v’となるものがなかった場合には、ステップS6に進む。
 第二乱数化可能標本器22は、f(x)を計算可能であり、x及びaを用いて計算を行い、その計算結果をvとする(ステップS6)。計算結果vは、第二べき乗計算部16に送られる。
 第二べき乗計算部16は、v’=vを計算する(ステップS7)。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部17に記憶される。
 判定部15は、第一リスト記憶部14に記憶された組(u,u’)及び第二リスト記憶部17に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS8)。u’=v’となるものがあった場合には、ステップ12に進む。u’=v’となるものがなかった場合には、ステップS9に進む。
 制御部18は、t=Tであるか判定する(ステップS9)。Tは予め定められた自然数である。t=Tであれば、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS11)、処理を終える。t=Tでない場合には、制御部18は、tを1だけインクリメント、すなわちt=t+1として(ステップS10)、ステップS3に戻る。
 計算をすることができなかった旨の情報(この例では記号「⊥」)は、計算装置2が正しく計算を行う信頼性がTで定められる基準を下回るということを意味する。言い換えれば、T回の繰り返しで正しい演算を行うことができなかったということを意味する。
 最終計算部19は、u’=v’であると判定された場合には、そのu’及びv’に対応するu及びvを用いてub’a’を計算して、出力する(ステップS12)。計算されたub’a’=f(x)となる。ub’a’=f(x)となる理由については、後述する。
 ≪ub’a’=f(x)となる理由について≫
 Xを群Gに値を持つ確率変数とする。w∈Gについて、ある計算装置で要求を受けるたびに確率変数Rに従って標本x’を抽出しwx’を返信するものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
 w∈Gについて、ある計算装置で自然数aの入力を受けるたびに確率変数Xに従って標本x’を抽出しwx’を返信するものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
 上記実施形態の代理計算システムは、xを入力としてf(x)を出力する代理計算システムを構成するに当たり、f(x)について誤差Xを持つ第一乱数化可能標本器21、f(x)について誤差Xを持つ第二乱数化可能標本器22を用いている。
 u’=v’が成立するのは、すなわちu=vが成立するのは、第一乱数化可能標本器21がu=f(x)を正しく計算しており、第二乱数化可能標本器22がv=f(x)を正しく計算しており、さらにx及びxが群Gの単位元eである可能性が非常に高いことを発明者は見出した。ここでは、その証明は省略する。
 第一乱数化可能標本器21がu=f(x)を正しく計算しており、第二乱数化可能標本器22がv=f(x)を正しく計算しており、x及びxが群Gの単位元eであるとき、ub’a’=(f(x)b’(f(x)a’=(f(x)b’(f(x)a’=f(x)bb’ b’f(x)aa’ a’=f(x)(bb’+aa’)=f(x)となる。
 (q,q)∈Iについて、i=1,2の各々について関数πをπ(q,q)=qで定義する。また、L=min(♯π(S),♯π(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、上記代理計算システムが「⊥」以外を出力するときの出力がf(x)ではない確率は、無視できる程度の誤差の範囲で高々TL/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、上記代理計算システムは圧倒的な確率でf(x)を出力する。
 L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|-1]}がある。
 なお、図2に破線で示すように、計算装置2に標本器23を設けてもよい。標本器23は、Xを群Gに値を持つ確率変数、確率変数Xの実現値をxとして、f(x)xを計算可能であり、a=1あれば第二乱数化可能標本器22に代わりその計算結果を上記vとし、b=1であれば第一乱数化可能標本器21に代わりその計算結果を上記uとする。
 一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1,b=1のときに第一乱数化可能標本器21、第二乱数化可能標本器22に代わり、標本器23が計算を行うことで、計算装置2の計算量を小さくすることができる。
[第二実施形態]
 第二実施形態の代理計算システムは、第一乱数化可能標本器21及び第二乱数化可能標本器22の一例、言い換えればステップS3及びステップS6の一例を具体化したものである。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 第二実施形態の第一乱数化可能標本器21は、図3に示すように、第一乱数生成部110、第一入力情報計算部111、第一出力情報計算部24及び第一計算部112を例えば含む。また、第二実施形態の第二乱数化可能標本器22は、図3に示すように、第二乱数生成部113、第二入力情報計算部114、第二出力情報計算部25及び第二計算部115を例えば含む。
 第二実施形態においては、第一乱数生成部110、第一入力情報計算部111、第一計算部112、第二乱数生成部113、第二入力情報計算部114及び第二計算部115は、依頼装置1に含まれる。また、第一出力情報計算部24及び第二出力情報計算部25は、計算装置2に含まれる。第二実施形態においては、第一出力情報計算部24及び第二出力情報計算部25が計算装置2に対応する。
 第二実施形態の関数fは準同型写像であるとする。また、群Hの生成元をμ、群Hの位数をK、ν=f(μ)とする。
 ステップS3は、図7に例示するステップS31からステップS34で構成される。
 第一乱数生成部110は、0以上K未満の整数の一様乱数rを生成する(ステップS31)。生成された乱数rは、第一入力情報計算部111に送られる。
 第一入力情報計算部111は、第一入力情報μ r1を計算する(ステップS32)。計算された第一入力情報μ r1は、第一出力情報計算部24に送られる。
 第一出力情報計算部24は、第一入力情報μ r1を用いて計算を行い、その計算結果を第一出力情報zとする(ステップS33)。計算された第一出力情報zは、第一計算部112に送られる。
 第一出力情報計算部24は、f(μ r1)を計算可能である。第一出力情報計算部24による計算の結果がf(μ r1)であることもあれば、f(μ r1)でないこともある。
 ここで、μの右肩のr1は、rのことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
 第一計算部112は、zν-r1を計算してその計算結果をuとする(ステップS34)。計算結果uは、第一べき乗計算部13に送られる。ここで、u=zν-r1=f(x)となる。すなわち、zν-r1は、f(x)について誤差Xを持つ乱数化可能標本器となる。その理由については後述する。
 ステップS6は、図8に例示するステップS61からステップS64で構成される。
 第二乱数生成部113は、0以上K未満の整数の一様乱数rを生成する(ステップS61)。生成された乱数rは、第二入力情報計算部114に送られる。
 第二入力情報計算部114は、第二入力情報μ r2を計算する(ステップS62)。計算された第二入力情報μ r2は、第二出力情報計算部25に送られる。
 第二出力情報計算部25は、第二入力情報μ r2を用いて計算を行い、その計算結果を第二出力情報zとする(ステップS63)。計算された第二出力情報zは、第二計算部115に送られる。
 第二出力情報計算部25は、f(μ r2)を計算可能である。第二出力情報計算部25による計算の結果がf(μ r2)であることもあれば、f(μ r2)でないこともある。
 第二計算部115は、zν-r2を計算してその計算結果をvとする(ステップS64)。計算結果vは、第二べき乗計算部16に送られる。ここで、v=zν-r2=f(x)となる。すなわち、zν-r2は、f(x)について誤差Xを持つ乱数化可能標本器となる。その理由については後述する。
 第二実施形態においても、a=1,b=1のときは、第一乱数化可能標本器21又は第二乱数化可能標本器22に代わり、標本器23がu又はvの値を計算することにより、計算量を削減してもよい。
 第二実施形態の標本器23は、図4に示すように、第三乱数生成部116、第三入力情報計算部117、第三出力情報計算部26、第三計算部118を例えば含む。第三乱数生成部116、第三入力情報計算部117及び第三計算部118は依頼装置1に含まれる。第三出力情報計算部26は計算装置2に含まれる。
 a=1,b=1であれば、第一乱数化可能標本器21、第二乱数化可能標本器22に代わり標本器23の各部は以下の処理を行う。
 第三乱数生成部116は、0以上K未満の整数の乱数rを生成する。生成された乱数rは第三入力情報計算部117に送られる。
 第三入力情報計算部117は、第三入力情報xr3を計算する。計算された第三入力情報xr3は、第三出力情報計算部26に送られる。
 第三出力情報計算部26は、第三入力情報xr3を用いて計算を行い、その計算結果を第三出力情報zとする。計算された第三出力情報zは、第三計算部118に送られる。
 第三出力情報計算部26は、f(xr3)を計算可能である。第三出力情報計算部26による計算の結果がf(xr3)であることもあれば、f(xr3)でないこともある。
 第三計算部118は、z 1/r3を計算してその計算結果を、a=1であればvとし、b=1であればuとする。計算結果vは第二べき乗計算部16に送られる。計算結果uは第一べき乗計算部13に送られる。ここで、u=v=z 1/r3=f(x)xとなる。すなわち、z 1/r3は、f(x)について誤差Xを持つ標本器となる。z 1/r3は、f(x)について誤差Xを持つ標本器となる。その理由については後述する。
 z 1/r3の計算、すなわちzのべき乗根の計算が困難な場合には、次のようにしてu及び/又はvを計算してもよい。第三計算部118は、乱数rとその乱数rに基づいて計算されたzの組を順次(α,β),(α,β),…,(α,β),…として図示していない記憶部に記憶する。mは自然数である。第三計算部118は、α,α,…,αの最小公倍数が1になれば、γ,γ,…,γを整数としてγα+γα+…+γα=1となるγ,γ,…,γを計算して、そのγ,γ,…,γを用いてΠi=1 β γi=β γ1β γ2…β γmを計算して、その計算結果をu及び/又はvとしてもよい。
 このように、乱数r,r,rを用いてxを撹乱した情報を計算装置2に送ることにより、関数fの値の計算の対象となるx∈Hを依頼装置1と計算装置2との間の通信を傍受する第三者、及び、計算装置2に対して秘匿化することができる。
 ≪zν-r1,zν-r2がf(x)についてそれぞれ誤差X,Xを持つ乱数化可能標本器となる理由について≫
 cを自然数、R及びR’を乱数として、計算装置2がμ を用いて行う計算の計算結果をB(μ )(すなわち、計算装置2が依頼装置1に返す計算結果をzとすると、z=B(μ )である。)とし、群Gに値を持つ確率変数XをX=B(μ R’)f(μ R’-1と定義する。
 このとき、zν-R=B(μ )f(μ-R=Xf(μ )f(μ-R=Xf(μf(x)f(μ-R=f(x)Xとなる。すなわち、zν-Rは、f(x)について誤差Xを持つ乱数化可能標本器となる。
 上記式展開において、X=B(μ R’)f(μ R’-1=B(μ )f(μ -1であり、B(μ )=Xf(μ )であるという性質を用いている。この性質は、関数fが準同型写像であり、R及びR’が乱数であることに基づく。
 したがって、a,bが自然数、r,rが乱数であることを考慮すると、同様に、zν-r1,zν-r2がf(x)についてそれぞれ誤差X,Xを持つ乱数化可能標本器となるのである。
 ≪z 1/r3がf(x)について誤差Xを持つ標本器となる理由について≫
 R及びR’を乱数として、計算装置2がxを用いて行う計算の計算結果をB(x)(すなわち、計算装置2が依頼装置1に返す計算結果をzとすると、z=B(x)である。)とし、群Gに値を持つ確率変数XをX=B(x1/Rf(x)-1と定義する。
このとき、z1/R=B(x1/R=Xf(x)=f(x)Xとなる。すなわち、z1/Rは、f(x)について誤差Xを持つ標本器となる。
 上記式展開において、X=B(x1/Rf(x-1であり、B(x1/R=Xf(x)であるという性質を用いている。この性質は、R及びR’が乱数であることに基づく。
 したがって、rが乱数であることを考慮すると、z1/Rがf(x)について誤差Xを持つ乱数化可能標本器となるのである。
[第三実施形態]
 第三実施形態の代理計算システムは、第一乱数化可能標本器21及び第二乱数化可能標本器22の他の例、言い換えればステップS3及びステップS6の他の例を具体化したものである。具体的には、H=G×Gで、関数fがElGamal暗号の復号関数、すなわち秘密鍵s及び暗号文(c,c)に対してf(c,c)=c -sである場合の第一乱数化可能標本器21及び第二乱数化可能標本器22の例を具体化したものである。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
 第三実施形態の第一乱数化可能標本器21は、図5に示すように、第四乱数生成部119、第五乱数生成部120、第四入力情報計算部121、第五入力情報計算部122、第四出力情報計算部27及び第四計算部123を例えば含む。第二乱数化可能標本器22は、図5に示すように、第六乱数生成部124、第七乱数生成部125、第六入力情報計算部126、第七入力情報計算部127、第五出力情報計算部28及び第五計算部128を例えば含む。
 第四乱数生成部119、第五乱数生成部120、第四入力情報計算部121、第五入力情報計算部122、第四計算部123、第六乱数生成部124、第七乱数生成部125、第六入力情報計算部126、第七入力情報計算部127、第五出力情報計算部28及び第五計算部128は、依頼装置1に含まれる。第四出力情報計算部27及び第五出力情報計算部28は計算装置2に含まれる。第三実施形態では、第四出力情報計算部27及び第五出力情報計算部28が計算装置2に対応する。
 第三実施形態では、x=(c,c)であり、f(c,c)は直積群G×GからGへの準同型写像であり、群Gの生成元をμとし、群Gの位数をKとし、同じ秘密鍵sに対する暗号文(V,W)∈Hとその暗号文を復号した復号文f(V,W)=Y∈Gとを依頼装置1と計算装置2は事前に知っているとする。
 第三実施形態のステップS3は、図9に例示するステップS31’からステップS36’で構成される。
 第四乱数生成部119は、0以上K未満の整数の一様乱数rを生成する(ステップS31’)。生成された乱数rは、第四入力情報計算部121、第五入力情報計算部122及び第四計算部123に送られる。
 第五乱数生成部120は、0以上K未満の整数の一様乱数rを生成する(ステップS32’)。生成された乱数rは、第四入力情報計算部121及び第四計算部123に送られる。
 第四入力情報計算部121は、第四入力情報c r4μ r5を計算する(ステップS33’)。計算された第四入力情報c r4μ r5は、第四出力情報計算部27に送られる。
 第五入力情報計算部122は、第五入力情報c r4を計算する(ステップS34’)。計算された第五入力情報c r4は、第四出力情報計算部27に送られる。
 第四出力情報計算部27は、第四入力情報c r4μ r5及び第五入力情報c r4を用いて計算を行い、その計算結果を第四出力情報zとする(ステップS35’)。
 第四出力情報計算部27は、f(c r4μ r5,c r4)を計算可能である。第四出力情報計算部27による計算の結果がf(c r4μ r5,c r4)であることもあれば、f(c r4μ r5,c r4)でないこともある。
 第四計算部123は、z-r4μ -r5を計算してその計算結果をuとする(ステップS36’)。計算結果uは、第一べき乗計算部13に送られる。ここで、u=z-r4μ -r5=f(c,cとなる。すなわち、z-r4μ -r5は、f(c,c)について誤差Xを持つ乱数化可能標本器となる。その理由については後述する。
 第三実施形態のステップS6は、図10に例示するステップS61’からステップS66’で構成される。
 第六乱数生成部124は、0以上K未満の整数の一様乱数rを生成する(ステップS61’)。生成された乱数rは、第六入力情報計算部126、第七入力情報計算部127及び第五計算部128に送られる。
 第七乱数生成部125は、0以上K未満の整数の一様乱数rを生成する(ステップS62’)。生成された乱数rは、第六入力情報計算部126及び第五計算部128に送られる。
 第六入力情報計算部126は、第六入力情報c r6μ r7を計算する(ステップS63’)。計算された第六入力情報c r6μ r7は、第五出力情報計算部28に送られる。
 第七入力情報計算部127は、第七入力情報c r6を計算する(ステップS64’)。計算された第七入力情報c r6は、第五出力情報計算部28に送られる。
 第五出力情報計算部28は、上記第六入力情報c r6μ r7及び上記第七入力情報c r6を用いて計算を行い、その計算結果を第五出力情報zとする(ステップS65’)。計算された第五出力情報zは、第五計算部128に送られる。
 第五出力情報計算部28は、f(c r6μ r7,c r6)を計算可能である。第五出力情報計算部28による計算の結果がf(c r6μ r7,c r6)であることもあれば、f(c r6μ r7,c r6)でないこともある。
 第五計算部128は、z-r6μ -r7を計算してその計算結果をvとする(ステップS66’)。計算結果vは、第二べき乗計算部16に送られる。ここで、v=z-r6μ -r7=f(c,cとなる。すなわち、z-r6μ -r7は、f(c,c)について誤差Xを持つ乱数化可能標本器となる。その理由については後述する。
 ≪z-r4μ -r5,z-r6μ -r7がf(c,c)についてそれぞれ誤差X,Xを持つ乱数化可能標本器となる理由について≫
 cを自然数、R、R、R’及びR’を乱数として、計算装置2がc R1μ R2及びc R1を用いて行う計算の計算結果をB(c R1μ R2,c R1)(すなわち、計算装置2が依頼装置1に返す計算結果をzとすると、z=B(c R1μ R2,c R1)である。)とし、群Gに値を持つ確率変数XをX=B(VR1’μ R2’,WR1’)f(VR1’μ R2’,WR1’-1と定義する。
 このとき、zY-R1μ -R2=B(c R1μ R2,c R1)Y-R1μ -R2=Xf(c R1μ R2,c R1)Y-R1μ -R2=Xf(c,cf(V,W)R1f(μ,eR2-R1μ -R2=Xf(c,cR1μ R2-R1μ -R2=f(c,cXとなる。すなわち、zY-R1μ -R2は、f(x)について誤差Xを持つ乱数化可能標本器となる。なお、eは、群Gの単位元である。
 上記式展開において、X=B(VR1’μ R2’,WR1’)f(VR1’μ R2’,WR1’-1=B(c R1μ R2,c R1)f(c R1μ R2,c R1)であり、B(c R1μ R2,c R1)=Xf(c R1μ R2,c R1)であるという性質を用いている。この性質は、R、R、R’及びR’が乱数であることに基づく。
 したがって、a,bが自然数、r,r,r及びrが乱数であることを考慮すると、同様に、z-r4μ -r5,z-r6μ -r7がf(c,c)についてそれぞれ誤差X,Xを持つ乱数化可能標本器となるのである。
[第一実施形態から第三実施形態の変形例等]
 確率変数X、X及びXは、同じでも異なっていてもよい。
 第一乱数生成部110、第二乱数生成部113、第三乱数生成部116、第四乱数生成部119、第五乱数生成部120、第六乱数生成部124及び第七乱数生成部125のそれぞれは、一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部110、第二乱数生成部113、第三乱数生成部116、第四乱数生成部119、第五乱数生成部120、第六乱数生成部124及び第七乱数生成部125のそれぞれは、一様乱数ではない乱数を生成してもよい。
 上記の例では、第一乱数化可能標本器21、第二乱数化可能標本器22を一回づつ呼び出しているが、依頼装置1と計算装置2との間の通信回数を減らすために、同一のa,bに対して第一乱数化可能標本器21、第二乱数化可能標本器22を複数回呼び出して、依頼装置1が一回の通信で複数のu,vを取得できるようにしてもよい。
 第一乱数化可能標本器21、第二乱数化可能標本器22及び標本器23の各部は、依頼装置1に配置してもよいし、計算装置2に配置してもよい。すなわち、第一実施形態のように各部のすべてを計算装置2に配置してもよいし、例えば第二実施形態及び第三実施形態のように依頼装置1及び計算装置2に分けて配置してもよい。
 依頼装置1の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、計算装置2の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
 依頼装置1及び計算装置2のそれぞれはコンピュータによって実現することができる。この場合、この装置が有すべき各機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これ装置における各処理機能が、コンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 [第四実施形態]
 第四実施形態から第十実施形態は、依頼装置1’が計算装置2’に依頼した計算の結果を用いてθ(g,h)を計算するものである。
 第四実施形態の代理計算システムは、図11に例示するように依頼装置1’及び計算装置2’を含み、依頼装置1’が計算装置2’に依頼した計算の結果を用いて双準同型写像θ(g,h)を計算する。
 ここで、G、H及びFを巡回群とし、写像θ:G×H→Fを双準同型写像とし、gを群Gの元とし、hを群Hの元とし、Kを群Gの位数とし、Kを群Hの位数とし、μを群Gの生成元とし、μを群Hの生成元とし、ν=θ(μ,μ)とし、kを1以上の整数のセキュリティパラメータとし、K=2とする。
 双準同型写像とは、2つの入力のそれぞれに対して準同型である写像を意味する。この例では、写像θ(g,h)は、群Gの元gに対して準同型であり、かつ、群Hの元hに対して準同型である。
 依頼装置1’と計算装置2’との間には通信路が確立されており、依頼装置1’及び計算装置2’は双方向に通信可能である。この通信路は秘密に保たれている必要はなく、第三者がこの通信路を流れる情報を傍受することができてもよい。
 依頼装置1’は信頼できない計算装置2’に乱数によって撹乱した情報を送信し、計算装置2’はその撹乱された情報を用いて一定のアルゴリズムに従って計算を行い、その計算結果を依頼装置1’に返信する。この計算装置2’への情報の送受信を繰り返すことにより、依頼装置1’は最終的にθ(g,h)を計算する。
 依頼装置1’は、まずステップS11’からステップS125’(図15)の処理によりθ(g,μ)と同等の情報(σ,ν’)を計算し、そのθ(g,μ)と同等の情報(σ,ν’)を用いてステップS21’からステップS225’の処理によりθ(g,μ)を計算する。
 依頼装置1’は、図12及び図13に例示する、第一乱数生成部11’、第二乱数生成部12’、第一入力情報計算部13’、第二入力情報計算部14’、第一リスト情報計算部15’、第一リスト記憶部16’、受信部17’、送信部18’、第四乱数生成部21’、第五乱数生成部22’、第三入力情報計算部23’、第四入力情報計算部24’、第二リスト情報計算部25’、第二リスト記憶部26’、第三乱数生成部27’、第一判定部28’、第六乱数生成部31’、第七乱数生成部32’、第五入力情報計算部33’、第六入力情報計算部34’、第三リスト情報計算部35’、第三リスト記憶部36’、第九乱数生成部41’、第十乱数生成部42’、第七入力情報計算部43’、第八入力情報計算部44’、第四リスト情報計算部45’、第四リスト計算部46’、第八乱数生成部47’及び第二判定部48’を例えば含む。
 計算装置2’は、図14に例示するように、受信部51’、送信部52’、第一出力情報計算部53’、第二出力情報計算部54’、第三出力情報計算部55’及び第四出力情報計算部56’を例えば含む。
 <ステップS11’(図15)>
 第一乱数生成部11’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS11’)。生成された乱数rは、第一入力情報計算部13’及び第一リスト情報計算部15’に送られる。
 <ステップS12’>
 第二乱数生成部12’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS12’)。生成された乱数rは、第二入力情報計算部14’、第一リスト情報計算部15’及び第一リスト記憶部16’に送られる。
 <ステップS13’>
 第一入力情報計算部13’は、第一入力情報g=μ r1gを計算する(ステップS13’)。計算されたgは送信部18’に送られる。
 ここで、μの右肩のr1は、rのことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
 また、g=μ r1gを計算するとは、μ r1gという式で定義されるgの値を計算することである。式μ r1gの値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。
 <ステップS14’>
 第二入力情報計算部14’は、第二入力情報h=μ r2を計算する(ステップS14’)。計算されたhは送信部18’に送られる。
 <ステップS15’>
 送信部18’は、第一入力情報g及び第二入力情報hを計算装置2’に送信する(ステップS15’)。
 <ステップS16’>
 計算装置2’の受信部51’(図14)は、第一入力情報g及び第二入力情報hを受信する(ステップS16’)。
 <ステップS17’>
 第一出力情報計算部53’は、第一入力情報g及び第二入力情報hを用いて計算を行い、その計算結果を第一出力情報zとする(ステップS17’)。zは、送信部52’に送られる。
 第一出力情報計算部53’は、θ(g,h)を計算可能である。第一出力情報計算部53’による計算の結果がθ(g,h)であることもあれば、θ(g,h)でないこともある。
 この出願において、計算可能とは、無視することができない確率で計算することができることを意味する。無視することができない確率とは、セキュリティパラメータkについての広義単調増加関数である多項式を多項式f(k)として、1/f(k)以上の確率である。
 <ステップS18’>
 送信部52’は、第一出力情報zを依頼装置1’に送信する(ステップS18’)。
 <ステップS19’>
 依頼装置1’の受信部17’(図12)は、第一出力情報zを受信する(ステップS19’)。受信した第一出力情報zは、第一リスト情報計算部15’に送られる。ここでは、第一出力情報zは群Fの元であるとする。
 <ステップS110’>
 第一リスト情報計算部15’は、乱数r、乱数r及び第一出力情報zを用いて、zν-r1r2を計算する(ステップS110’)。計算されたzν-r1r2は、第一リスト記憶部16’に送られる。
 <ステップS111’>
 乱数rと、zν-r1r2とから構成される情報の組(r,zν-r1r2)がリストLに追加される。この例では、第一リスト記憶部16’に、情報の組(r,zν-r1r2)が記憶される(ステップS111’)。
 <ステップS112’>
 第三乱数生成部27’は、0以上K未満の整数の一様乱数であるdを生成する(ステップS112’)。生成された乱数dは、第三入力情報計算部23’及び第二リスト記憶部26’に送られる。
 <ステップS113’>
 第四乱数生成部21’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS113’)。生成された乱数rは、第三入力情報計算部23’及び第二リスト情報計算部25’に送られる。
 <ステップS114’>
 第五乱数生成部22’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS114’)。生成された乱数rは、第四入力情報計算部24’、第二リスト情報計算部25’及び第二リスト記憶部26’に送られる。
 <ステップS115’>
 第三入力情報計算部23’は、第三入力情報g=μ r4d1を計算する(ステップS115’)。計算された第三入力情報gは、送信部18’に送られる。
 <ステップS116’>
 第四入力情報計算部24’は、第四入力情報h=μ r5を計算する(ステップS116’)。計算された第四入力情報hは、送信部18’に送られる。
 <ステップS117’>
 送信部18’は、第三入力情報g及び第四入力情報hを計算装置2’に送信する(ステップS117’)。
 <ステップS118’>
 計算装置2’の受信部51’(図14)は、第三入力情報g及び第四入力情報hを受信する(ステップS118’)。
 <ステップS119’>
 第二出力情報計算部54’は、第三入力情報g及び第三入力情報hを用いて計算を行い、その計算結果を第二出力情報zとする(ステップS119’)。zは、送信部52’に送られる。
 第二出力情報計算部54’は、θ(g,h)を計算可能である。第二出力情報計算部54’による計算の結果がθ(g,h)であることもあれば、θ(g,h)でないこともある。
 <ステップS120’>
 送信部52’は、第二出力情報zを依頼装置1’に送信する(ステップS120’)。
 <ステップS121’>
 依頼装置1’の受信部17’(図12)は、第二出力情報zを受信する(ステップS121’)。受信した第二出力情報zは、第二リスト情報計算部25’に送られる。ここでは、第二出力情報zは群Fの元であるとする。
 <ステップS122’>
 第二リスト情報計算部25’は、乱数r、乱数r及び第二出力情報zを用いて、zν-r4r5を計算する(ステップS122’)。計算されたzν-r4r5は、第二リスト記憶部26’に送られる。
 <ステップS123’>
 乱数dと、乱数rと、zν-r4r5とから構成される情報の組(d,r,zν-r4r5)が、リストLに追加される。この例では、第二リスト記憶部26’には、情報の組(d,r,zν-r4r5)が記憶される(ステップS123’)。 
 <ステップS124’>
 第一判定部28’は、第一リスト記憶部16’から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、第二リスト記憶部26’から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定する(ステップS124’)。
 第一判定部28’は、第一リスト記憶部16’及び第二リスト記憶部26’に複数の情報の組が記憶されている場合には、第一リスト記憶部16’に記憶された情報の組(r,zν-r1r2)と、第二リスト記憶部26’に記憶された情報の組(d,r,zν-r4r5)とから構成されるすべての情報のペアについて、上記関係を満たすかどうかを判定する。もちろん、既に上記関係を満たすかどうかを判定した情報のペアについては、その判定処理を省いてもよい。
 <ステップS125’>
 第一判定部28’は、上記の関係を満たす場合には、sをσに代入し、wをν’に代入する(ステップS125’)。ここで、ν’1/σ=w 1/σ=θ(g,μ)となる。ν’1/σ=θ(g,μ)となる理由については後述する。
 上記の関係を満たさない場合には、ステップS11’に戻る。
 <ステップS21’(図16)>
 第六乱数生成部31’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS21’)。生成された乱数rは、第五入力情報計算部33’、第三リスト情報計算部35’及び第三リスト記憶部36’に送られる。
 <ステップS22’>
 第七乱数生成部32’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS22’)。生成された乱数rは、第六入力情報計算部34’及び第三リスト情報計算部35’に送られる。
 <ステップS23’>
 第五入力情報計算部33’は、第五入力情報g=μ r6を計算する(ステップS23’)。計算されたgは送信部18’に送られる。
 <ステップS24’>
 第六入力情報計算部34’は、第六入力情報h=μ r7σhを計算する(ステップS24’)。計算されたhは送信部18’に送られる。
 <ステップS25’>
 送信部18’は、第五入力情報g及び第六入力情報hを計算装置2’に送信する(ステップS25’)。
 <ステップS26’>
 計算装置2’の受信部51’(図14)は、第五入力情報g及び第六入力情報hを受信する(ステップS26’)。
 <ステップS27’>
 第三出力情報計算部55’は、第五入力情報g及び第六入力情報hを用いて計算を行い、その計算結果を第三出力情報zとする(ステップS27’)。zは、送信部52’に送られる。
 第三出力情報計算部55’は、θ(g,h)を計算可能である。第三出力情報計算部55’による計算の結果がθ(g,h)であることもあれば、θ(g,h)でないこともある。
 <ステップS28’>
 送信部52’は、第三出力情報zを依頼装置1’に送信する(ステップS28’)。
 <ステップS29’>
 依頼装置1’の受信部17’(図13)は、第三出力情報zを受信する(ステップS29’)。受信した第三出力情報zは、第三リスト情報計算部35’に送られる。ここでは、第3出力情報zは群Fの元であるとする。
 <ステップS210’>
 第三リスト情報計算部35’は、乱数r、乱数r及び第三出力情報zを用いて、zν’-r6r7を計算する(ステップS210’)。計算されたzν-r6r7は、第三リスト記憶部36’に送られる。
 <ステップS211’>
 乱数rと、zν’-r6r7とから構成される情報の組(r,zν’-r6r7)がリストLに追加される。この例では、第三リスト記憶部36’に、情報の組(r,zν’-r6r7)が記憶される(ステップS211’)。
 <ステップS212’>
 第八乱数生成部47’は、0以上K未満の整数の一様乱数であるdを生成する(ステップS212’)。生成された乱数dは、第八入力情報計算部44及び第四リスト記憶部46’に送られる。
 <ステップS213’>
 第九乱数生成部41’は、0以上K未満の整数の一様乱数であるrを生成する(ステップS213’)。生成された乱数rは、第七入力情報計算部43’、第四リスト情報計算部45’及び第四リスト記憶部46’に送られる。
 <ステップS214’>
 第十乱数生成部42’は、0以上K未満の整数の一様乱数であるr10を生成する(ステップS214’)。生成された乱数r10は、第八入力情報計算部44’、第四リスト情報計算部45’及び第四リスト記憶部46’に送られる。
 <ステップS215’>
 第七入力情報計算部43’は、第七入力情報g=gr9を計算する(ステップS215’)。計算された第七入力情報gは、送信部18’に送られる。
 <ステップS216’>
 第八入力情報計算部44’は、第八入力情報h=μ r10σd2を計算する(ステップS216’)。計算された第八入力情報hは、送信部18’に送られる。
 <ステップS217’>
 送信部18’は、第七入力情報g及び第八入力情報hを計算装置2’に送信する(ステップS217’)。
 <ステップS218’>
 計算装置2’の受信部51’(図14)は、第七入力情報g及び第八入力情報hを受信する(ステップS218’)。
 <ステップS219’>
 第四出力情報計算部56’は、第七入力情報g及び第八入力情報hを用いて計算を行い、その計算結果を第四出力情報zとする(ステップS219’)。zは、送信部52’に送られる。
 第四出力情報計算部56’は、θ(g,h)を計算可能である。第四出力情報計算部56’による計算の結果がθ(g,h)であることもあれば、θ(g,h)でないこともある。
 <ステップS220’>
 送信部52’は、第四出力情報zを依頼装置1’に送信する(ステップS220’)。
 <ステップS221’>
 依頼装置1’の受信部17’(図12)は、第四出力情報zを受信する(ステップS221)。受信した第四出力情報zは、第四リスト情報計算部45’に送られる。ここでは、第四出力情報zは群Fの元であるとする。
 <ステップS222’>
 第四リスト情報計算部45’は、乱数r、乱数r10及び第四出力情報zを用いて、zν’-r9r10を計算する(ステップS222’)。計算されたzν’-r9r10は、第四リスト記憶部46’に送られる。
 <ステップS223’>
 乱数dと、乱数rと、zν-r9r10とから構成される情報の組(d,r,zν’-r9r10)が、リストLに追加される。この例では、第四リスト記憶部46’に、情報の組(d,r,zν-r9r10)が記憶される(ステップS223’)。
 <ステップS224’>
 第二判定部48’は、第三リスト記憶部36’から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、第四リスト記憶部46’から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定する(ステップS224’)。
 第二判定部48’は、第三リスト記憶部36’及び第四リスト記憶部46’に複数の情報の組が記憶されている場合には、第三リスト記憶部36’に記憶された情報の組(r,zν’-r6r7)と、第四リスト記憶部46’に記憶された情報の組(d,r,zν’-r9r10)とから構成されるすべての情報のペアについて、上記関係を満たすかどうかを判定する。もちろん、既に上記関係を満たすかどうかを判定した情報のペアについては、その判定処理を省いてもよい。
 <ステップS225’>
 第二判定部48’は、上記の関係を満たす場合には、(w)^(s -1)を出力する(ステップS225’)。ここで、(w)^(s -1)=θ(g,h)となる。(w)^(s -1)=θ(g,h)となる理由については後述する。
 上記の関係を満たさない場合には、ステップS21’に戻る。
 (w)^(s -1)の計算、すなわちwのべき乗根の計算が困難な場合には、次のようにしてθ(g,h)を容易に計算することができる。第二判定部48’は、ステップS21’からステップS224’の処理を繰り返して(w)^(t -1)=wの関係を満たすwとsとの組(w,s)を順次(α,S),(α,S),…,(α,S),…として記憶部410’に記憶する。mは自然数である。第二判定部48’は、Sと互いに素となるSが見つかれば、LとLとを整数としてL+L=1となるL及びLを計算して、そのL及びLを用いてα L1α L2を計算する。α L1α L2=θ(g,h)(L1S1+L2S2)=θ(g,h)となる。また、第二判定部48’は、S,S,…,Sの最小公倍数が1になれば、L,L,…,Lを整数としてL+L+…+L=1となるL,L,…,Lを計算して、そのL,L,…,Lを用いてα L1α L2…α Lmを計算してもよい。α L1α L2…α Lm=θ(g,h)(L1S1+L2S2+…+LmSm)=θ(g,h)となる。
 依頼装置1’と計算装置2’との間の通信を傍受することができる攻撃者Mがいるとしても、依頼装置1’及び計算装置2’との間で通信される情報を、依頼装置1’のみが知る乱数(例えば、r,r)で撹乱することにより、攻撃者Mから秘匿することができる。
 また、依頼装置1’及び計算装置2’との間で通信される情報は依頼装置1’のみが知るr,r等の乱数で撹乱されているため、計算装置2’は、依頼装置1’が最終的に計算しようとするθ(g,h)はもちろんのこと、その入力であるg及びhをも知ることはできない。
 したがって、計算装置2’は信頼することができる計算機である必要はなく、双準同型写像を計算するためのシステムの構成要件を緩和することができる。また、信頼することができる計算機は一般に高価であり運用に費用を要するが、計算装置2’が信頼することができる計算機である必要ないため、双準同型写像を計算するためのシステムの構築及び運用のコストを削減することができる。
 ≪ν’1/σ=θ(g,μ)となる理由について≫
 まず、randomizable samplerと呼ばれる確率変数S(d)について説明する。w∈Fに関する誤差Xのrandomizable samplerである確率変数S(d)は、S(d)=wXである。dは自然数である。
 ここで、R,R,R’及びR’を乱数として、計算装置がgμ R1及びμ R2を用いて行う計算の計算結果をB(gμ R1,μ R2)(計算装置が依頼装置に返す計算結果をzとすると、z=B(gμ R1,μ R2)である。)とし、群Fに値を持つ確率変数XをX=B(μ R’1,μ R’21/R’2θ(μ R’1,μ-1と定義すると、S(d)=z(1/R2)ν-R1は、θ(g,μ)に関する誤差Xのrandomizable samplerとなる。
 S(d)=z(1/R2)ν-R1=B(gμ R1,μ R21/R2θ(μ,μ-R1=Xθ(gμ R1,μ)θ(μ R1,μ-1=Xθ(g,μ)θ(μ R1,μ)θ(μ R1,μ-1=θ(g,μXであるためである。
 上記式展開において、X=B(μ R’1,μ R’21/R’2θ(μ R’1,μ-1=B(gμ R1,μ R21/R2θ(gμ R1,μ-1であり、B(gμ R1,μ R21/R2=Xθ(gμ R1,μ)であるという性質を用いている。この性質は、R,R,R’及びR’が乱数であることに基づく。
 ここで、S(1)の実現値をθ(g,μと表記し、S(d)の実現値をθ(g,μと表記するとして、S(1)の実現値のd乗=S(d)の実現値、すなわち(θ(g,μ=θ(g,μとなるのは、x及びxが群Fの単位元eのときである可能性が非常に高いことを発明者は見出した。ここでは、その証明は省略する。xが群Fの単位元eのとき、S(1)の実現値=θ(g,μ=θ(g,μ)となる。
 上記実施形態の代理計算システムは、このrandomizable samplerの性質を用いている。
 ステップS11’からステップS111’の処理がS(1)の実現値θ(g,μの計算に対応している。実際には、S(1)の実現値自体は計算していないが、同処理により得られる(r,zν-r1r2)を用いて、zν-r1r2を1/r乗すると、(zν-r1r21/r2=z 1/r2ν-r1となり、S(1)の実現値θ(g,μとなる。同様に、ステップS112’からステップS123’の処理がS(d)の実現値θ(g,μd1の計算に対応している。
 また、ステップS124’の処理が、S(1)の実現値のd乗=S(d)、すなわち(θ(g,μd1=θ(g,μd1であるかどうかの判定に対応している。ステップS124で用いる判定条件(w)^(t -1)は、(w)^(t -1)=w⇔(w 1/s1t2=w 1/s2⇔(z 1/r2ν-r1d1=z 1/r5ν-r4⇔(θ(g,μd1=θ(g,μd1⇔S(1)の実現値のd乗=S(d)の実現値であるためである。ここで、定義よりs=r、w=zν-r1r2、t=d、s=r、w=zν-r4r5である。
 さらに、ステップS125’におけるσ及びν’が、θ(g,μ)に対応している。上記したようにS(1)の実現値のd乗=S(d)の実現値のとき、ν’1/σ=w 1/s1=z 1/r2ν-r1=θ(g,μ=θ(g,μ)であるためである。
 ≪(w)^(s -1)=θ(g,h)となる理由について≫
 R,R,R’及びR’を乱数として、計算装置がgR1及びhμ R2を用いて行う計算の計算結果をB(gR1,hμ R2)(計算装置が依頼装置に返す計算結果をzとすると、z=B(gR1,hμ R2)である。)とし、群Fに値を持つ確率変数XをX=B(gR’1,μ R’21/R’1θ(g,μ R’2-1と定義すると、S(d)=z(1/R1)ν’-R2は、θ(g,h)に関する誤差Xのrandomizable samplerとなる。
 S(d)=z(1/R1)ν’-R2=B(gR1,hμ R21/R1θ(g,μ-R2=Xθ(g,hμ R2)θ(g,μ R2-1=Xθ(g,h)θ(g,μ R2)θ(g,μ R2-1=θ(g,h)Xであるためである。
 上記式展開において、X=B(gR’1,μ R’21/R’1θ(g,μ R’2-1=B(gR1,μ R21/R1θ(g,hμ R2-1であり、B(gR1,hμ R21/R1=Xθ(g,hμ R2)であるという性質を用いている。この性質は、R,R,R’及びR’が乱数であることに基づく。
 ここで、S(1)の実現値をS(1)=θ(g,h)と表記し、S(d)の実現値をS(d)=θ(g,h)と表記するとして、S(1)の実現値のd乗=S(d)、すなわち(θ(g,h)=θ(g,h)となるのは、x及びxが群Fの単位元eのときである可能性が非常に高いことを発明者は見出した。ここでは、その証明は省略する。xが群Fの単位元eのとき、S(1)の実現値=θ(g,h)=θ(g,h)となる。
 上記実施形態の代理計算システムは、このrandomizable samplerの性質を用いている。
 ステップS21’からステップS211’の処理がS(1)の実現値θ(g,h)の計算に対応している。実際には、S(1)の実現値自体は計算していないが、同処理により得られる(r,zν’-r6r7)を用いて、zν’-r6r7を1/r乗すると、(zν’-r6r71/r6=z 1/r6ν’-r7となり、S(1)の実現値θ(g,h)となる。同様に、ステップS212’からステップS223’の処理がS(d)の実現値θ(g,h)d2の計算に対応している。
 また、ステップS224’の処理が、S(1)の実現値のd乗=S(d)の実現値、すなわち(θ(g,h)d2=θ(g,h)d2であるかどうかの判定に対応している。ステップS224’で用いる判定条件(w)^(t -1)=wは、(w)^(t -1)=w⇔(w 1/s3t4=w 1/s4⇔(z 1/r6ν’-r7d2=z 1/r9ν’-r10⇔(θ(g,h)d2=θ(g,h)d2⇔S(1)の実現値のd乗=S(d)の実現値であるためである。ここで、定義よりs=r、w=zν’-r6r7、t=d、s=r、w=zν’-r9r10である。
 さらに、ステップS225’における(w)^(s -1)が、θ(g,h)に対応している。上記したようにS(1)の実現値のd乗=S(d)の実現値のとき、(w)^(s -1)=(zν’-r6r7)^(r -1)=z 1/r6ν’-r7=θ(g,h)=θ(g,h)であるためである。
 [第五実施形態]
 第五実施形態の代理計算システムは、ステップS13’、ステップS110’及びステップS111’が第四実施形態の代理計算システムとは異なり、他の部分については第四実施形態の代理計算システムと同様である。以下、第四実施形態と異なる部分を中心に説明する。
 第一入力情報計算部13’は、g=μ r1gではなく、g=gr1で定義される第一入力情報を計算する(ステップS13’)。
 第一リスト情報計算部15’は、zν-r1r2ではなく、乱数r及び乱数rを用いてrを計算して、その計算結果を第一リスト記憶部16’に送る(ステップS110’)。
 第一リスト記憶部16’には、情報の組(r,zν-r1r2)ではなく、計算されたrと計算装置2’から受信したz∈Fとから構成される情報の組(r,z)が記憶される(ステップS111’)。
 第四実施形態のステップS110’では、zν-r1r2という群Fのべき演算を行う必要があったが、第五実施形態のステップS110’ではrの計算を行っておりべき演算の回数が1回減っている。このように、べき演算の回数を減らすことにより演算の効率性を増すことができる。また、群G、群Hにおいて非自明べき根の計算が困難であるならば、第四実施形態と比較して安全性は低下しない。
 [第六実施形態]
 第六実施形態の代理計算システムは、ステップS24’、ステップS210’及びステップS211’が第四実施形態の代理計算システムとは異なり、他の部分については第四実施形態の代理計算システムと同様である。以下、第四実施形態と異なる部分を中心に説明する。
 第六入力情報計算部34’は、h=μ r7σhではなく、h=hr7で定義される第六入力情報hを計算する(ステップS24’)。
 第三リスト情報計算部35’は、zν’-r6r7ではなく、乱数r及び乱数rを用いてrを計算する(ステップS210’)。
 第三リスト記憶部36’には、情報の組(r,zν’-r6r7)ではなく、計算されたrと計算装置2’から受信したz∈Fとから構成される情報の組(r,z)が記憶される(ステップS211’)。
 第四実施形態のステップS210’では、zν’-r6r7という群Fのべき演算を行う必要があったが、第六実施形態のステップS210’ではrの計算を行っておりべき演算の回数が1回減っている。このように、べき演算の回数を減らすことにより演算の効率性を増すことができる。
 群G、群Hにおいて非自明べき根の計算が困難であるならば、第四実施形態と比較して安全性は低下しない。
 [第七実施形態]
 第七実施形態の代理計算システムは、ステップS125’及びステップS214’が第四実施形態の代理計算システムとは異なり、他の部分については第四実施形態の代理計算システムと同様である。以下、第四実施形態と異なる部分を中心に説明する。
第一判定部28’は、上記の関係を満たす場合には、tをσに代入し、wをν’に代入する(ステップS125’)。
第十乱数生成部42’は、乱数rを用いて-r -1を計算してr10とする(ステップS214’)。
 このように、ν’の定義を変更して、σを計算装置2’にとって推測が困難な乱数とすることにより安全性が増す。また、乱数rを用いて乱数r10を計算することにより、乱数を生成する回数を減らすことができる。乱数r10が乱数rにより定まるため第八入力情報h=μ r10σd2の乱雑性が低下し安全性が損なわれるとも思われるが、第八入力情報h=μ r10σd2は乱数r10だけでなく更にσにより撹乱されているため安全性は損なわれない。
 なお、第七実施形態においては更にステップS22’及びステップS211’を以下のように変更してもよい。
 第七乱数生成部32’は、乱数rを用いて-r -1を計算してrとする(ステップS22’)。
 第三リスト記憶部36’には、1と上記計算されたzν’-r6r7とから構成される情報の組(1,zν’-r6r7)が記憶される(ステップS211’)。
 このように、乱数rを用いて乱数rを計算することにより乱数を生成する回数を減らすことができる。
群G、群Hにおいて非自明べき根の計算が困難であるならば、第四実施形態と比較して安全性は低下しない。
 [第八実施形態]
 第八実施形態の代理計算システムは、ステップS113’が第四実施形態の代理計算システムとは異なり、他の部分については第四実施形態の代理計算システムと同様である。以下、第四実施形態と異なる部分を中心に説明する。
 まず、ステップS113’に先立ち、第五乱数生成部22’は乱数rを生成する(ステップS114’)。
 第四乱数生成部21’は、乱数rを用いて-r -1を計算してrとする(ステップS113’)。
 このように、乱数rを用いて乱数rを計算することにより乱数を生成する回数を減らすことができる。
 群Hの任意の元hについて、g∈Gでθ(g,h)=νとなるものを計算することが困難ならば、第四実施形態と比較して安全性は低下しない。
 [第九実施形態]
 第九実施形態の代理計算システムは、依頼装置1’が図12に破線で示された事前計算部29’を更に含み、ステップS115’が第四実施形態の代理計算システムとは異なり、他の部分については第四実施形態の代理計算システムと同様である。以下、第四実施形態と異なる部分を中心に説明する。
 事前計算部29’は、第三乱数生成部27’が生成したdを用いてgd1を計算する。この処理は、ステップS112’の後、ステップS115’の前に行う。
 第三入力情報計算部23’は、事前計算されたgd1を用いて、g=μ r4d1の計算を行う(ステップS115’)。
 ステップS114’で、判定条件を満たさない場合にはステップS11’からステップS123’の処理が繰り返されるが、この繰り返しの処理においては、事前計算されたgd1を再利用する。すなわち、第三乱数生成部27’は乱数dを生成せず、第三入力情報計算部23’は事前計算されたgd1を用いて、g=μ r4d1の計算を行う。これにより、乱数dを生成する回数を減らすことができ、g=μ r4d1の計算を速く行うことができる。
 [第十実施形態]
 第十実施形態の代理計算システムは、依頼装置1’が図13に破線で示された事前計算部49’を更に含み、ステップS216’が第四実施形態の代理計算システムとは異なり、他の部分については第四実施形態の代理計算システムと同様である。以下、第四実施形態と異なる部分を中心に説明する。
 事前計算部49’は、第八乱数生成部47’が生成したdを用いてhd2を計算する。この処理は、ステップS212’の後、ステップS216’の前に行う。
 第八入力情報計算部44’は、事前計算されたhd2を用いて、第八入力情報h=μ r10σd2の計算を行う(ステップS116’)。
 ステップS214’で、判定条件を満たさない場合にはステップS21’からステップS223’の処理が繰り返されるが、この繰り返しの処理においては、事前計算されたhd2を再利用する。すなわち、第八乱数生成部47’は乱数dを生成せず、第八入力情報計算部44’は事前計算されたhd2を用いて、h=μ r10σd2の計算を行う。これにより、乱数dを生成する回数を減らすことができ、h=μ r10σd2の計算を速く行うことができる。
 [第四実施形態から第十実施形態の変形例等]
 第一乱数生成部11’、第二乱数生成部12’、第三乱数生成部27’、第四乱数生成部21’、第五乱数生成部22’、第六乱数生成部31’、第七乱数生成部32’、第八乱数生成部47’、第九乱数生成部41’及び第十乱数生成部42’のそれぞれは、一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部11’、第二乱数生成部12’、第三乱数生成部27’、第四乱数生成部21’、第五乱数生成部22’、第六乱数生成部31’、第七乱数生成部32’、第八乱数生成部47’、第九乱数生成部41’及び第十乱数生成部42’のそれぞれは、一様乱数ではない乱数を生成してもよい。
 リストL、リストLに情報の組が追加される毎に、第一判定部28’の処理を行ってもよい。例えば、第二リスト記憶部26’に情報の組(d,r,zν-r4r5)が記憶されている場合には、ステップS111’の後に、ステップS124’の処理を行っても良い。同様に、リストL、リストLに情報の組が追加される毎に、第二判定部48’の処理を行ってもよい。
 第四実施形態から第十実施形態は互いに組み合わせることができる。
 依頼装置1’の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、計算装置2’の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
 依頼装置1’及び計算装置2’のそれぞれはコンピュータによって実現することができる。この場合、この装置が有すべき各機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これ装置における各処理機能が、コンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 なお、第一実施形態から第三実施形態と、第四実施形態から第十実施形態とを組み合わせてもよい。例えば、図17に例示するように、第一実施形態から第三実施形態の計算装置2が第四実施形態から第十実施形態の依頼装置1’を備えており、この依頼装置1’を含む計算装置2が、第四実施形態から第十実施形態で説明したのと同様にして計算装置2’を用いて、関数fの計算を行ってもよい。
 具体的には、計算装置2は計算する必要がある関数f(x)を計算するために、対応する写像θ(g,h)の値を、計算装置2’を用いて計算する。関数f(x)に対応する写像θ(g,h)とは、与えられた関数f及びxに対して、関数f(x)と値が同じ値を出力する写像θ(g,h)である。ある元h∈Hに関して、f(x)=θ(x,h)という関係がある場合には、f(x)に対応する写像θがθ(x,h)となる。
 例えば、参考文献1に記載されたBoneh-Franklin方式のIDベース暗号において、ある一定のIDに関する復号関数をfとする。この方式のIDベース暗号では、楕円曲線の点がなす有限群G,Hと、ペアリングτ:G×H→Fを用いて構成される。QをGの元とする。IDベース暗号の鍵発行センタの秘密鍵をsとして、公開鍵をP=sQとする。IDベース暗号のパブリックパラメータは、群G,Hの記述と、ペアリングτの記述、Q及びPである。
 〔参考文献1〕Dan Boneh, Matt Franklin, “Identity-Based Encryption from the Weil Pairing”, CRYPTO 2001, LNCS 2139, pp.213-229, 2001.
 鍵の発行は以下のようにして行われる。鍵発行センタは、IDに対応して定まるHの元QIDについて、PID=sQIDを計算してIDの保持者に対して通知する。PIDはIDの保持者の秘密鍵である。このとき、復号関数f:G→Fは、f(x)=τ(x,PID)で定義される。
 暗号文の作成、暗号文の復号は以下のようにして行われる。平文mをあるIDについて暗号化するためには、乱数rを生成して(Q,m(+)H(τ(P,QID)))を計算し、これを暗号文(C,C)とする。復号するためには、暗号文(C,C)に対して、C(+)H(f(C))を計算することで平文が得られる。ただし、ここでHはハッシュ関数、(+)は排他的論理和である。
 このようなBoneh-Franklin方式のIDベース暗号において、関数f(x)に対応する写像θは例えばペアリングτを用いて定義される。すなわち、f(x)=τ(x,PID)である。
 計算装置2がICカードや携帯電話であり、秘密情報の抽出が困難であるが、計算能力が限定されている場合に、このように依頼装置及び計算装置を多重にして組み合わせることが有益である。
 この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

Claims (19)

  1.  G,Hを巡回群、fを群Hの元xを群Gへ写す関数、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとして、
     互いに素である2つの自然数a,bを用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する整数計算部と、
     f(x)を計算可能であり、その計算結果をuとする第一乱数化可能標本器と、
     u’=uを計算する第一べき乗計算部と、
     f(x)を計算可能であり、その計算結果をvとする第二乱数化可能標本器と、
     v’=vを計算する第二べき乗計算部と、
     u’=v’であるか判定する判定部と、
     u’=v’であると判定された場合には、ub’a’を計算する最終計算部と、
     を含む代理計算システム。
  2.  請求項1の代理計算システムにおいて、
     Xを群Gに値を持つ確率変数、確率変数Xの実現値をxとして、f(x)xを計算可能であり、a=1あれば上記第二乱数化可能標本器に代わりその計算結果を上記vとし、b=1であれば上記第一乱数化可能標本器に代わりその計算結果を上記uとする標本器を更に含む、
     代理計算システム。
  3.  請求項1の代理計算システムにおいて、
     上記fを準同型写像、群Hの生成元をμ、群Hの位数をK、ν=f(μ)として、
     上記第一乱数化可能標本器は、0以上K未満の整数の乱数rを生成する第一乱数生成部と、第一入力情報μ r1を計算する第一入力情報計算部と、上記第一入力情報μ r1を用いてf(μ r1)を計算可能でありその計算結果を第一出力情報zとする第一出力情報計算部と、zν-r1を計算してその計算結果を上記uとする第一計算部とを含み、
     上記第二乱数化可能標本器は、0以上K未満の整数の乱数rを生成する第二乱数生成部と、第二入力情報μ r2を計算する第二入力情報計算部と、上記第二入力情報μ r2を用いてf(μ r2)を計算可能でありその計算結果を第二出力情報zとする第二出力情報計算部と、zν-r2を計算してその計算結果を上記vとする第二計算部とを含む、
     代理計算システム。
  4.  請求項3の代理計算システムにおいて、
     0以上K未満の整数の乱数rを生成する第三乱数生成部と、第三入力情報xr3を計算する第三入力情報計算部と、上記第三入力情報xr3を用いてf(xr3)を計算可能でありその計算結果を第三出力情報zとする第三出力情報計算部と、z 1/r3を計算してa=1あれば上記第二乱数化可能標本器に代わりその計算結果を上記vとしb=1であれば上記第一乱数化可能標本器に代わりその計算結果を上記uとする第三計算部とを含む標本器を更に含む、
     代理計算システム。
  5.  請求項1の代理計算システムにおいて、
     群H=G×G、上記fを準同型写像、群Gの生成元をμ、群Gの位数をK、x=(c,c),(V,W)を群Hの元、f(V,W)=Yとして、
     上記第一乱数化可能標本器は、0以上K未満の整数の乱数rを生成する第四乱数生成部と、0以上K未満の整数の乱数rを生成する第五乱数生成部と、第四入力情報c r4μ r5を計算する第四入力情報計算部と、第五入力情報c r4を計算する第五入力情報計算部と、上記第四入力情報c r4μ r5及び上記第五入力情報c r4を用いてf(c r4μ r5,c r4)を計算可能でありその計算結果を第四出力情報zとする第四出力情報計算部と、z-r4μ -r5を計算してその計算結果を上記uとする第四計算部とを含み、
     上記第二乱数化可能標本器は、0以上K未満の整数の乱数rを生成する第六乱数生成部と、0以上K未満の整数の乱数rを生成する第七乱数生成部と、第六入力情報c r6μ r7を計算する第六入力情報計算部と、第七入力情報c r6を計算する第七入力情報計算部と、上記第六入力情報c r6μ r7及び上記第七入力情報c r6を用いてf(c r6μ r7,c r6)を計算可能でありその計算結果を第五出力情報zとする第五出力情報計算部と、z-r6μ -r7を計算してその計算結果を上記vとする第五計算部とを含む、
     代理計算システム。
  6.  G,Hを巡回群、fを群Hの元xを群Gへ写す関数、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとして、
     整数計算部が、互いに素である2つの自然数a,bを用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する整数計算ステップと、
     第一乱数化可能標本器が、f(x)を計算可能であり、その計算結果をuとする第一乱数化可能標本抽出ステップと、
     第一べき乗計算部が、u’=uを計算する第一べき乗計算ステップと、
     第二乱数化可能標本器が、f(x)を計算可能であり、その計算結果をvとする第二乱数化可能標本抽出ステップと、
     第二べき乗計算部が、v’=vを計算する第二べき乗計算ステップと、
     判定部が、u’=v’であるか判定する判定ステップと、
     最終計算部が、u’=v’であると判定された場合には、ub’a’を計算する最終計算ステップと、
     を含む代理計算方法。
  7.  G,Hを巡回群、fを群Hの元xを群Gへ写す関数、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとして、
     互いに素である2つの自然数a,bを用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する整数計算部と、
     f(x)を計算可能な第一乱数化可能標本器による計算結果uを用いてu’=uを計算する第一べき乗計算部と、
     f(x)を計算可能な第二乱数化可能標本器による計算結果vを用いてv’=vを計算する第二べき乗計算部と、
     u’=v’であるか判定する判定部と、
     u’=v’であると判定された場合には、ub’a’を計算する最終計算部と、
     を含む依頼装置。
  8.  依頼装置が計算装置に依頼した計算の結果を用いてθ(g,h)を計算する代理計算システムにおいて、
     G、H及びFを巡回群とし、写像θ:G×H→Fを双準同型写像とし、gを群Gの元とし、hを群Hの元とし、Kを群Gの位数とし、Kを群Hの位数とし、μを群Gの生成元とし、μを群Hの生成元とし、ν=θ(μ,μ)とし、kを自然数のセキュリティパラメータとし、K=2として、
     上記依頼装置は、
     0以上K未満の整数の乱数rを生成する第一乱数生成部と、
     0以上K未満の整数の乱数rを生成する第二乱数生成部と、
     第一入力情報g=μ r1gを計算する第一入力情報計算部と、
     第二入力情報h=μ r2を計算する第二入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν-r1r2を計算する第一リスト情報計算部と、
     上記乱数rと上記計算されたzν-r1r2とから構成される情報の組(r,zν-r1r2)が記憶される第一リスト記憶部と、
     0以上K未満の整数の一様乱数であるdを生成する第三乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第四乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第五乱数生成部と、
     第三入力情報g=μ r4d1を計算する第三入力情報計算部と、
     第四入力情報h=μ r5を計算する第四入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν-r4r5を計算する第二リスト情報計算部と、
     上記dと上記rと上記計算されたzν-r4r5とから構成される情報の組(d,r,zν-r4r5)が記憶される第二リスト記憶部と、
     上記第一リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、上記第二リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、sをσに代入し、wをν’に代入する第一判定部と、
     0以上K未満の整数の一様乱数であるrを生成する第六乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第七乱数生成部と、
     第五入力情報g=gr6を計算する第五入力情報計算部と、
     第六入力情報h=μ r7σhを計算する第六入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν’-r6r7を計算する第三リスト情報計算部と、
     上記rと上記計算されたzν’-r6r7とから構成される情報の組(r,zν’-r6r7)が記憶される第三リスト記憶部と、
     0以上K未満の整数の一様乱数であるdを生成する第八乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第九乱数生成部と、
     0以上K未満の整数の一様乱数であるr10を生成する第十乱数生成部と、
     第七入力情報g=μ r9を計算する第七入力情報計算部と、
     第八入力情報h=μ r10σd2を計算する第八入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν’-r9r10を計算する第四リスト情報計算部と、
     上記dと上記rと上記計算されたzν’-r9r10とから構成される情報の組(d,r,zν’-r9r10)が記憶される第四リスト記憶部と、
     上記第三リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、上記第四リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、(w)^(s -1)を出力する第二判定部と、
     を含み、
     上記計算装置は、
     上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第一出力情報計算部と、
     上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第二出力情報計算部と、
     上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第三出力情報計算部と、
     上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第四出力情報計算部と、
    を含む、
     代理計算システム。
  9.  請求項8の代理計算システムにおいて、
     上記第一入力情報計算部は、第一入力情報g=gr1を計算し、
     上記第一リスト情報計算部は、上記r及び上記rを用いてrを計算し、
     上記第一リスト記憶部には、上記計算されたrと上記計算装置から受信したz∈Fとから構成される情報の組(r,z)が記憶される、
     ことを特徴とする代理計算システム。
  10.  請求項8又は9に記載の代理計算システムにおいて、
     上記第六入力情報計算部は、第六入力情報h=hr7を計算し、
     上記第三リスト情報計算部は、上記r及び上記rを用いてrを計算し、
     上記第三リスト記憶部には、上記計算されたrと上記計算装置から受信したz∈Fとから構成される情報の組(r,z)が記憶される、
     ことを特徴とする代理計算システム。
  11.  請求項8から10の何れかに記載の代理計算システムにおいて、
     上記第一判定部は、上記の関係を満たす場合には、tをσに代入し、wをν’に代入し、
     上記第十乱数生成部は、上記rを用いて-r -1を計算してr10とする、
     ことを特徴とする代理計算システム。
  12.  請求項11に記載の代理計算システムにおいて、
     上記第七乱数生成部は、上記rを用いて-r -1を計算してrとし、
     上記第三リスト記憶部には、1と上記計算されたzν’-r6r7とから構成される情報の組(1,zν’-r6r7)が記憶される、
     ことを特徴とする代理計算システム。
  13.  請求項8から12の何れかに記載の代理計算システムにおいて、
     上記第四乱数生成部は、上記rを用いて-r -1を計算してrとする、
     ことを特徴とする代理計算システム。
  14.  請求項8から13の何れかに記載の代理計算システムにおいて、
     上記dを用いてgd1を計算する事前計算部を更に含み、
     上記第三入力情報計算部は、上記事前計算されたgd1を用いて、上記gの計算を行う、 ことを特徴とする代理計算システム。
  15.  請求項8から14の何れかに記載の代理計算システムにおいて、
     上記dを用いてhd2を計算する事前計算部を更に含み、
     上記第八入力情報計算部は、上記事前計算されたhd2を用いて、上記hの計算を行う、
     ことを特徴とする代理計算システム。
  16.  依頼装置が計算装置に依頼した計算の結果を用いてθ(g,h)を計算する代理計算方法において、
     G、H及びFを巡回群とし、写像θ:G×H→Fを双準同型写像とし、gを群Gの元とし、hを群Hの元とし、Kを群Gの位数とし、Kを群Hの位数とし、μを群Gの生成元とし、μを群Hの生成元とし、ν=θ(μ,μ)とし、kを整数のセキュリティパラメータとし、K=2として、
     上記依頼装置の第一乱数生成部が、0以上K未満の整数の乱数rを生成する第一乱数生成ステップと、
     上記依頼装置の第二乱数生成部が、0以上K未満の整数の乱数rを生成する第二乱数生成ステップと、
     上記依頼装置の第一入力情報計算部が、第一入力情報g=μ r1gを計算する第一入力情報計算ステップと、
     上記依頼装置の第二入力情報計算部が、第二入力情報h=μ r2を計算する第二入力情報計算ステップと、
     上記計算装置の第一出力情報計算部が、上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第一出力情報計算ステップと、
     上記依頼装置の第一リスト情報計算部が、上記計算装置から受信したz∈Fを用いて、zν-r1r2を計算する第一リスト情報計算ステップと、
     上記依頼装置の第一リスト記憶部に、上記乱数rと上記計算されたzν-r1r2とから構成される情報の組(r,zν-r1r2)が記憶されるステップと、
     上記依頼装置の第三乱数生成部が、0以上K未満の整数の一様乱数であるdを生成する第三乱数生成ステップと、
     上記依頼装置の第四乱数生成部が、0以上K未満の整数の一様乱数であるrを生成する第四乱数生成ステップと、
     上記依頼装置の第五乱数生成部が、0以上K未満の整数の一様乱数であるrを生成する第五乱数生成ステップと、
     上記依頼装置の第三入力情報計算部が、第三入力情報g=μ r4d1を計算する第三入力情報計算ステップと、
     上記依頼装置の第四入力情報計算部が、第四入力情報h=μ r5を計算する第四入力情報計算ステップと、
     上記計算装置の第二出力情報計算部が、上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第二出力情報計算ステップと、
     上記依頼装置の第二リスト情報計算部が、上記計算装置から受信したz∈Fを用いて、zν-r4r5を計算する第二リスト情報計算ステップと、
     上記依頼装置の第二リスト記憶部に、上記dと上記rと上記計算されたzν-r4r5とから構成される情報の組(d,r,zν-r4r5)が記憶されるステップと、
     上記依頼装置の第一判定部が、上記第一リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、上記第二リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、sをσに代入し、wをν’に代入する第一判定ステップと、
     上記依頼装置の第六乱数生成部が、0以上K未満の整数の一様乱数であるrを生成する第六乱数生成ステップと、
     上記依頼装置の第七乱数生成部が、0以上K未満の整数の一様乱数であるrを生成する第七乱数生成ステップと、
     上記依頼装置の第五入力情報計算部が、第五入力情報g=gr6を計算する第五入力情報計算ステップと、
     上記依頼装置の第六入力情報計算部が、第六入力情報h=μ r7σhを計算する第六入力情報計算ステップと、
     上記計算装置の第三出力情報計算部が、上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第三出力情報計算ステップと、
     上記依頼装置の第三リスト情報計算部が、上記計算装置から受信したz∈Fを用いて、zν’-r6r7を計算する第三リスト情報計算ステップと、
     上記依頼装置の第三リスト記憶部に、上記rと上記計算されたzν’-r6r7とから構成される情報の組(r,zν’-r6r7)が記憶されるステップと、
     上記依頼装置の第八乱数生成部が、0以上K未満の整数の一様乱数であるdを生成する第八乱数生成ステップと、
     上記依頼装置の第九乱数生成部が、0以上K未満の整数の一様乱数であるrを生成する第九乱数生成ステップと、
     上記依頼装置の第十乱数生成部が、0以上K未満の整数の一様乱数であるr10を生成する第十乱数生成ステップと、
     上記依頼装置の第七入力情報計算部が、第七入力情報g=μ r9を計算する第七入力情報計算ステップと、
     上記依頼装置の第八入力情報計算部が、第八入力情報h=μ r10σd2を計算する第八入力情報計算ステップと、
     上記計算装置の第四出力情報計算部が、上記依頼装置から受信したg及びhを用いてθ(g,h)を計算可能であり、その計算結果を上記zとして出力する第四出力情報計算ステップと、
     上記依頼装置の第四リスト情報計算部が、上記計算装置から受信したz∈Fを用いて、zν’-r9r10を計算する第四リスト情報計算ステップと、
     上記依頼装置の第四リスト記憶部に、上記dと上記rと上記計算されたzν’-r9r10とから構成される情報の組(d,r,zν’-r9r10)が記憶されるステップと、
     上記依頼装置の第二判定部が、上記第三リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、上記第四リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、(w)^(s -1)を出力する第二判定ステップと、
     を含む代理計算方法。
  17.  依頼装置が計算装置に依頼した計算の結果を用いてθ(g,h)を計算する代理計算システムの依頼装置において、
     G、H及びFを巡回群とし、写像θ:G×H→Fを双準同型写像とし、gを群Gの元とし、hを群Hの元とし、Kを群Gの位数とし、Kを群Hの位数とし、μを群Gの生成元とし、μを群Hの生成元とし、ν=θ(μ,μ)とし、kを自然数のセキュリティパラメータとし、K=2として、
     0以上K未満の整数の乱数rを生成する第一乱数生成部と、
     0以上K未満の整数の乱数rを生成する第二乱数生成部と、
    第一入力情報g=μ r1gを計算する第一入力情報計算部と、
     第二入力情報h=μ r2を計算する第二入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν-r1r2を計算する第一リスト情報計算部と、
     上記乱数rと上記計算されたzν-r1r2とから構成される情報の組(r,zν-r1r2)が記憶される第一リスト記憶部と、
     0以上K未満の整数の一様乱数であるdを生成する第三乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第四乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第五乱数生成部と、
     第三入力情報g=μ r4d1を計算する第三入力情報計算部と、
     第四入力情報h=μ r5を計算する第四入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν-r4r5を計算する第二リスト情報計算部と、
     上記dと上記rと上記計算されたzν-r4r5とから構成される情報の組(d,r,zν-r4r5)が記憶される第二リスト記憶部と、
     上記第一リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、上記第二リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、sをσに代入し、wをν’に代入する第一判定部と、
     0以上K未満の整数の一様乱数であるrを生成する第六乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第七乱数生成部と、
     第五入力情報g=gr6を計算する第五入力情報計算部と、
     第六入力情報h=μ r7σhを計算する第六入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν’-r6r7を計算する第三リスト情報計算部と、
     上記rと上記計算されたzν’-r6r7とから構成される情報の組(r,zν’-r6r7)が記憶される第三リスト記憶部と、
     0以上K未満の整数の一様乱数であるdを生成する第八乱数生成部と、
     0以上K未満の整数の一様乱数であるrを生成する第九乱数生成部と、
     0以上K未満の整数の一様乱数であるr10を生成する第十乱数生成部と、
     第七入力情報g=μ r9を計算する第七入力情報計算部と、
     第八入力情報h=μ r10σd2を計算する第八入力情報計算部と、
     上記計算装置から受信したz∈Fを用いて、zν’-r9r10を計算する第四リスト情報計算部と、
     上記dと上記rと上記計算されたzν’-r9r10とから構成される情報の組(d,r,zν’-r9r10)が記憶される第四リスト記憶部と、
     上記第三リスト記憶部から読み込んだ情報の組の第一成分をsとし、第二成分をwとし、上記第四リスト記憶部から読み込んだ情報の組の第一成分をtとし、第二成分をsとし、第三成分をwとして、これらの情報の組が(w)^(t -1)=wの関係を満たすかを判定し、その関係を満たす場合には、(w)^(s -1)を出力する第二判定部と、
     を含む依頼装置。
  18.  請求項7又は請求項17の依頼装置の各部としてコンピュータを機能させるためのプログラム。
  19.  請求項18の依頼装置プログラムが記録されたコンピュータ読み取り可能な記録媒体。
     
PCT/JP2011/050278 2010-01-12 2011-01-11 代理計算システム、方法、依頼装置、プログラム及びその記録媒体 Ceased WO2011086992A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201180005420.3A CN102687184B (zh) 2010-01-12 2011-01-11 代理计算系统、方法及代理计算委托装置
EP11732862.5A EP2525341B1 (en) 2010-01-12 2011-01-11 Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
JP2011549975A JP5379869B2 (ja) 2010-01-12 2011-01-11 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
KR1020127017347A KR101344352B1 (ko) 2010-01-12 2011-01-11 대리 계산 시스템, 방법, 의뢰 장치, 프로그램 및 그 기록 매체
US13/520,491 US9037623B2 (en) 2010-01-12 2011-01-11 Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010003924 2010-01-12
JP2010-003924 2010-01-12
JP2010007835 2010-01-18
JP2010-007835 2010-01-18

Publications (1)

Publication Number Publication Date
WO2011086992A1 true WO2011086992A1 (ja) 2011-07-21

Family

ID=44304266

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/050278 Ceased WO2011086992A1 (ja) 2010-01-12 2011-01-11 代理計算システム、方法、依頼装置、プログラム及びその記録媒体

Country Status (6)

Country Link
US (1) US9037623B2 (ja)
EP (2) EP2525341B1 (ja)
JP (1) JP5379869B2 (ja)
KR (1) KR101344352B1 (ja)
CN (1) CN102687184B (ja)
WO (1) WO2011086992A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227193A (ja) * 2010-04-16 2011-11-10 Nippon Telegr & Teleph Corp <Ntt> 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体
JP2012220834A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム
JP2012237881A (ja) * 2011-05-12 2012-12-06 Nippon Telegr & Teleph Corp <Ntt> 情報提供システム、仲介装置、情報提供装置、仲介方法、情報提供方法、及びプログラム
JP5491638B2 (ja) * 2010-10-26 2014-05-14 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
WO2015008607A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 復号装置、復号能力提供装置、それらの方法、およびプログラム
WO2015008605A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 計算装置、計算方法、およびプログラム
WO2015008769A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 ディレクトリサービス装置、クライアント装置、鍵クラウドシステム、それらの方法、およびプログラム
WO2015056601A1 (ja) 2013-10-16 2015-04-23 日本電信電話株式会社 鍵装置、鍵クラウドシステム、復号方法、およびプログラム
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2667371B8 (en) * 2011-03-04 2018-03-07 Nippon Telegraph And Telephone Corporation Proxy calculation system, method, request device, and program
US9231757B2 (en) * 2012-12-05 2016-01-05 Inha-Industry Partnership Institute Proxy signature scheme
EP3232603B1 (en) * 2015-01-16 2023-05-31 Nippon Telegraph and Telephone Corporation Key-exchange method, key-exchange system, terminal device, and program
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082609A (ja) * 2000-09-06 2002-03-22 Toyo Commun Equip Co Ltd 依頼計算を用いた演算装置、及び記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0381523A3 (en) * 1989-02-02 1993-03-03 Kabushiki Kaisha Toshiba Server-aided computation method and distributed information processing unit
US6509728B1 (en) * 1998-05-28 2003-01-21 Anritsu Corporation Spectrum analyzer having function of displaying amplitude probability distribution effectively
FR2877453A1 (fr) 2004-11-04 2006-05-05 France Telecom Procede de delegation securisee de calcul d'une application bilineaire

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082609A (ja) * 2000-09-06 2002-03-22 Toyo Commun Equip Co Ltd 依頼計算を用いた演算装置、及び記録媒体

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
DAN BONEH; MATT FRANKLIN: "Identity-Based Encryption from the Weil Pairing", CRYPTO 2001, 2001, pages 213 - 229
M. BLUM; M. LUBY; R. RUBINFELD: "Self-Testing/Correcting with Applications to Numerical Problems", STOC, 1990, pages 73 - 83
MANUEL BLUM ET AL.: "Reflections on the Pentium Division Bug", IEEE TRANSACTIONS ON COMPUTERS, vol. 45, no. 4, April 1996 (1996-04-01), pages 385 - 393, XP000584783, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=494097> [retrieved on 20110204] *
See also references of EP2525341A4
TSUTOMU MATSUMOTO ET AL.: "How to ask and verify oracles for speeding up secret computations. Part 3", IEICE TECHNICAL REPORT, vol. 89, no. 215, 25 September 1989 (1989-09-25), pages 25 - 28 *
TSUTOMU MATSUMOTO ET AL.: "How to ask and verify oracles for sppeding up secret computations", IEICE TECHNICAL REPORT, vol. 89, no. 45, 19 May 1989 (1989-05-19), pages 21 - 28 *
TSUTOMU MATSUMOTO ET AL.: "How to ask and verity oracles for speeding up secret computations. Part 2", IEICE TECHNICAL REPORT, vol. 89, no. 145, 21 July 1989 (1989-07-21), pages 13 - 20 *
TSUYOSHI YAMAMOTO ET AL.: "Jun Dogata Shazo ni Taisuru Jiko Teisei ni Tsuite", 2010 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY GAIYOSHU, 19 January 2010 (2010-01-19) *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011227193A (ja) * 2010-04-16 2011-11-10 Nippon Telegr & Teleph Corp <Ntt> 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体
JP5491638B2 (ja) * 2010-10-26 2014-05-14 日本電信電話株式会社 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
JP2012220834A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム
JP2012237881A (ja) * 2011-05-12 2012-12-06 Nippon Telegr & Teleph Corp <Ntt> 情報提供システム、仲介装置、情報提供装置、仲介方法、情報提供方法、及びプログラム
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
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
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
WO2015008769A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 ディレクトリサービス装置、クライアント装置、鍵クラウドシステム、それらの方法、およびプログラム
CN105393491A (zh) * 2013-07-18 2016-03-09 日本电信电话株式会社 计算装置、计算方法以及程序
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
WO2015008607A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 復号装置、復号能力提供装置、それらの方法、およびプログラム
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

Also Published As

Publication number Publication date
EP2525341A4 (en) 2014-01-08
US20120323981A1 (en) 2012-12-20
EP2525341A1 (en) 2012-11-21
EP2808860A1 (en) 2014-12-03
JP5379869B2 (ja) 2013-12-25
CN102687184B (zh) 2015-11-25
CN102687184A (zh) 2012-09-19
JPWO2011086992A1 (ja) 2013-05-20
EP2525341B1 (en) 2016-04-06
KR20120101506A (ko) 2012-09-13
KR101344352B1 (ko) 2013-12-24
US9037623B2 (en) 2015-05-19

Similar Documents

Publication Publication Date Title
JP5379869B2 (ja) 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
US12028454B2 (en) Multi-party threshold authenticated encryption
US10116443B1 (en) Pairing verification in supersingular isogeny-based cryptographic protocols
US10218504B1 (en) Public key validation in supersingular isogeny-based cryptographic protocols
US11804960B2 (en) Distributed symmetric encryption
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
Fazio et al. Homomorphic secret sharing from paillier encryption
JP5736816B2 (ja) 認証装置、認証方法、プログラム、及び署名生成装置
JP6349841B2 (ja) 暗号文処理装置、暗号文処理方法、暗号文処理プログラムおよび情報処理装置
JP2020508021A (ja) キー交換デバイス及び方法
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
Pal et al. Offline witness encryption from witness PRF and randomized encoding in CRS model
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
Yasuda et al. Constructions for the IND-CCA1 secure fully homomorphic encryption
US11005656B2 (en) Embedding information in elliptic curve base point
Dharminder et al. A Novel Post-quantum Piekert’s Reconciliation-Based Forward Secure Authentication Key Agreement for Mobile Devices
JP6267657B2 (ja) 安全性強化方法、安全性強化システム、安全性強化装置、検証装置、およびプログラム
Behnia Efficient Post-Quantum and Compact Cryptographic Constructions for the Internet of Things
Blanco et al. Quantum Resistant Authentication Methods for Quantum Key Distribution
Schneider Basics of Efficient Secure Function Evaluation
Thorncharoensri et al. Fair multi-signature

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180005420.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2011549975

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 20127017347

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13520491

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2011732862

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE