EP2562736A1 - Secret sharing system, sharing apparatus, sharing management apparatus, acquiring apparatus, secret sharing method, program and recording medium - Google Patents

Secret sharing system, sharing apparatus, sharing management apparatus, acquiring apparatus, secret sharing method, program and recording medium Download PDF

Info

Publication number
EP2562736A1
EP2562736A1 EP11809735A EP11809735A EP2562736A1 EP 2562736 A1 EP2562736 A1 EP 2562736A1 EP 11809735 A EP11809735 A EP 11809735A EP 11809735 A EP11809735 A EP 11809735A EP 2562736 A1 EP2562736 A1 EP 2562736A1
Authority
EP
European Patent Office
Prior art keywords
share
secret
coef
information
shb
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.)
Granted
Application number
EP11809735A
Other languages
German (de)
French (fr)
Other versions
EP2562736B1 (en
EP2562736A4 (en
Inventor
Ryo Nishimaki
Koutarou Suzuki
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.)
Nippon Telegraph and Telephone Corp
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
Publication of EP2562736A1 publication Critical patent/EP2562736A1/en
Publication of EP2562736A4 publication Critical patent/EP2562736A4/en
Application granted granted Critical
Publication of EP2562736B1 publication Critical patent/EP2562736B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Definitions

  • the present invention relates to a secret sharing technique.
  • SSS secret sharing scheme
  • the secret sharing scheme is a scheme in which a plurality of pieces of share information SH(1), ..., SH(N) are generated from secret information MSK and shared among and managed by a plurality of share management apparatuses PA(1), ..., PA(N), and the secret information MSK can be reconstructed only when a predetermined number or more of the pieces of share information SH(1) to SH(N) are obtained.
  • representative secret sharing schemes will be described.
  • the reconstruction processing is performed for share information SH'(1), ..., SH'(N) each piece of which is obtained by performing a liner calculation CALC for each piece of share information SH(1), ..., SH(N) and each of independent values ⁇ (1), ..., ⁇ (N) as operands, in general, the result of a calculation that involves the secret information MSK as an operand cannot be obtained.
  • the calculation expressed by the formula (3) is linear. Therefore, the value reconstructed from the share information SH'( ⁇ 1 ), ..., SH( ⁇ Kt ) each piece of which is obtained by performing the linear calculation CALC for each piece of share information SH( ⁇ 1 ), ..., SH( ⁇ Kt ) and the value ⁇ as operands is equal to the result of the linear calculation CALC performed for the secret information MSK and the value ⁇ as operands.
  • Non-patent literature 1 Kaoru Kurosawa and Wakaha Ogata, "Introduction of Modem Cryptography (Electronics, information and communication lectures series), " Corona Publishing Co., LTD., March 2004, p. 116 to 119 .
  • Non-patent literature 2 A. Shamir, "How to Share a Secret,” Communications of the ACM, November 1979, Volume 22, Number 11, pp. 612 to 613 .
  • a sharing apparatus performs the secret sharing of secret information MSK to generate a plurality of pieces of share information SH(1), ..., SH(N), which are distributed among and managed by a plurality of share management apparatuses PA(1), ..., PA(N).
  • Each share management apparatus PA(1), ..., PA(N) performs a certain calculation.
  • An acquisition apparatus cannot obtain the secret information MSK but can obtain generation information corresponding to the result of a calculation that involves the secret information MSK and an arbitrary value ⁇ as operands if the calculation results are given from a predetermined number or more of share management apparatuses.
  • the present invention has been made in view of such circumstances, and an object of the present invention is to provide a secure scheme that satisfies the conditions 1 to 3 described above.
  • the acquisition apparatus generates reconstructed secret values SUBS( ⁇ , ⁇ ) for each subset SUB( ⁇ ) from a plurality of the share secret values DSH( ⁇ , ⁇ , h( ⁇ )) for the subset SUB( ⁇ ) by performing a reconstruction processing for the subset SUB( ⁇ ) according to the secret sharing scheme, and generates generation information D*( ⁇ ) from the reconstructed secret values SUBSK( ⁇ , ⁇ ).
  • the basis vectors b i * ( ⁇ ), whichare the secret information, are independently secret-shared among the subset SUB( ⁇ ), and the share secret values DSH( ⁇ , ⁇ , h( ⁇ )) are generated using common information shared in each subset SUB( ⁇ ).
  • the reconstruction processing using the share secret values DSH( ⁇ , ⁇ , h( ⁇ )) as share information can be properly performed.
  • the common information is shared in each subset SUB( ⁇ ) but is not shared among all the share management apparatuses PA( ⁇ , h( ⁇ )), so that high security is ensured.
  • the present invention can provide a secure scheme that satisfies the conditions 1 to 3 described above.
  • F q represents a finite field having an order q.
  • the order q is an integer equal to or greater than 1, which is a prime number or a power of a prime number, for example.
  • the finite field F q is a prime field or an extension field of a prime field. If the finite field F q is a prime field, it can be easily constructed by a remainder calculation modulo q, for example. If the finite field F q is an extension field, it can be easily constructed by a remainder calculation modulo an irreducible polynomial, for example.
  • a specific construction method for the finite field F q is disclosed in Reference literature 1 (ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers).
  • 0 F : 0 F represents an additive identity of the finite field F q .
  • 1 F : 1 F represents a multiplicative identity of the finite field F q .
  • E represents an elliptic curve defined on the finite field F q .
  • the elliptic curve E is a set of points comprising a set of points (x, y) consisting of x and y ⁇ F q that satisfy the following Weierstrass equation in an affine coordinate system and a particular point O referred to as a point of infinity.
  • y 2 + a 1 ⁇ x ⁇ y + a 3 ⁇ y x 3 + a 2 ⁇ x 2 + a 4 ⁇ x + a 6
  • a binary calculation + referred to as an elliptic curve addition is defined for arbitrary two points on the elliptic curve E
  • a monadic calculation - referred to as an inverse calculation is defined for an arbitrary one point on the elliptic curve E.
  • the finite set comprising the rational points on the elliptic curve E has a subgroup having an order p (p ⁇ 1).
  • p the number of elements of the finite set comprising rational points on the elliptic curve E
  • #E the number of elements of the finite set comprising rational points on the elliptic curve E
  • p is a large prime number that divides #E
  • a finite set E[p] consisting of p-division points on the elliptic curve E forms a subgroup of the finite set consisting of the rational points on the elliptic curve E.
  • G represents a cyclic group.
  • the cyclic group G include the finite set E[p] comprising p-division points on the elliptic curve E, a subgroup thereof and a quotient group thereof.
  • a calculation defined on the cyclic group G is additively expressed. That is, ⁇ ⁇ Q ⁇ G for ⁇ ⁇ F q and ⁇ ⁇ G means that a calculation defined on the cyclic group G is performed ⁇ times on ⁇ ⁇ G 1 , and ⁇ 1 + ⁇ 2 ⁇ G for ⁇ 1 and ⁇ 2 ⁇ G means that a calculation defined on the cyclic group G is performed on operands ⁇ 1 ⁇ G and ⁇ 2 ⁇ G.
  • g: g represents a generator of the cyclic group G.
  • Fig. 1 is a block diagram for illustrating a general configuration of a secret sharing system according to the first embodiment.
  • an acquisition apparatus 130 and common value generation apparatuses 140-1 to 140-L which can communicate with each other via a network 150.
  • Each subset SUB( ⁇ ) is associated with a common value generation apparatus 140- ⁇ that generates a common value ⁇ ( ⁇ ) shared in the subset SUB( ⁇ ).
  • Fig. 2 is a block diagram for illustrating a configuration of the sharing apparatus 110 shown in Fig. 1 .
  • Fig. 5A is a block diagram for illustrating details of a secret sharing unit 114- ⁇ shown in Fig. 2 .
  • the secret sharing unit 114- ⁇ according to this embodiment has a function selection unit 114a- ⁇ , an index generation unit 114b- ⁇ and a sharing processing unit 114c- ⁇ .
  • the sharing apparatus 110 is a particular apparatus including a well-known or dedicated computer comprising a central processing unit (CPU), a random access memory (RAM), a read-only memory (ROM) and the like and a particular program. More specifically, the temporary storage 111 and the storage 112 are storage areas provided by a RAM, a register, a cache memory, an element in an integrated circuit or an auxiliary storage device, such as a hard disk, or a combination of at least some of these devices.
  • the transmitter 115 is a communication device, such as a modem and a local area network (LAN) card.
  • LAN local area network
  • the sharing apparatus 110 performs each processing under the control of the controller 113. Although only simply described in the following, every data output from each processing unit is stored in the temporary storage 111 or the storage 112. The data stored in the temporary storage 111 or the storage 112 is read as required and input to each processing unit for the processing thereof.
  • Fig. 3A is a block diagram for illustrating a configuration of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) according to the first embodiment.
  • Fig. 5B is a block diagram for illustrating details of a share secret value generation unit 124- ⁇ -h( ⁇ ) shown in Fig. 3A . As illustrated in Fig.
  • the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) has a temporary storage 121- ⁇ -h( ⁇ ), a storage 122- ⁇ -h( ⁇ ), a controller 123- ⁇ -h( ⁇ ), a share secret value generation unit 124- ⁇ -h( ⁇ ), a transmitter 125- ⁇ -h( ⁇ ) and a receiver 126- ⁇ -h( ⁇ ).
  • the share secret value generation unit 124- ⁇ -h( ⁇ ) has a linear calculation unit 124a- ⁇ -h( ⁇ ) and a share secret value synthesis unit 124b- ⁇ -h( ⁇ ).
  • the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) is a particular apparatus including a well-known or dedicated computer comprising a CPU, a RAM, a ROM and the like and a particular program. More specifically, the temporary storage 121- ⁇ -h( ⁇ ) and the storage 122- ⁇ -h( ⁇ ) are storage areas provided by a RAM, a register, a cache memory, an element in an integrated circuit or an auxiliary storage device, such as a hard disk, or a combination of at least some of these devices.
  • the controller 123- ⁇ -h( ⁇ ) and the share secret value generation unit 124- ⁇ -h( ⁇ ) are processing units implemented by the CPU executing a predetermined program.
  • At least part of the controller 123- ⁇ -h( ⁇ ) and the share secret value generation unit 124- ⁇ -h( ⁇ ) can be a particular integrated circuit.
  • the transmitter 125- ⁇ -h( ⁇ ) and the receiver 126- ⁇ -h( ⁇ ) are communication devices, such as a modem and a local area network (LAN) card.
  • LAN local area network
  • the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) performs each processing under the control of the controller 123- ⁇ -h( ⁇ ). Although only simply described in the following, every data output from each processing unit is stored in the temporary storage 121- ⁇ -h( ⁇ ) or the storage 122- ⁇ -h( ⁇ ). The data stored in the temporary storage 121- ⁇ -h( ⁇ ) or the storage 122- ⁇ -h( ⁇ ) is read as required and input to each processing unit for the processing thereof.
  • Fig. 3B is a block diagram for illustrating a configuration of the common value generation apparatus 140- ⁇ according to the first embodiment.
  • the common value generation apparatus 140- ⁇ according to this embodiment has a random number generation unit 141- ⁇ and a transmitter 142- ⁇ .
  • the common value generation apparatus 140- ⁇ according to this embodiment is a particular apparatus including a well-known or dedicated computer comprising a CPU, a RAM, a ROM and the like and a particular program, for example.
  • the random number generation unit 141- ⁇ can be a particular integrated circuit.
  • Fig. 4 is a block diagram for illustrating a configuration of the acquisition apparatus 130 according to the first embodiment.
  • Fig. 6 is a block diagram for illustrating details of a reconstruction unit 134- ⁇ shown in Fig. 4 .
  • the reconstruction unit 134- ⁇ has a coefficient calculation unit 134a- ⁇ and a polynomial calculation unit 134b- ⁇ .
  • the acquisition apparatus 130 is a particular apparatus including a well-known or dedicated computer comprising a CPU, a RAM, a ROM and the like and a particular program. More specifically, the temporary storage 131 and the storage 132 are storage areas provided by a RAM, a register, a cache memory, an element in an integrated circuit or an auxiliary storage device, such as a hard disk, or a combination of at least some of these devices.
  • the transmitter 135 and the receiver 136 are communication devices, such as a modem and a local area network (LAN) card, for example.
  • the acquisition apparatus 130 performs each processing under the control of the controller 133. Although only simply described in the following, every data output from each processing unit is stored in the temporary storage 131 or the storage 132. The data stored in the temporary storage 131 or the storage 132 is read as required and input to each processing unit for the processing thereof.
  • information ⁇ ⁇ F q for identifying secret information ⁇ ⁇ g ⁇ G is stored in the storage 112 of the sharing apparatus 110.
  • Fig. 7 is a diagram for generally illustrating the secret sharing processing according to the first embodiment.
  • the secret sharing processing according to this embodiment will be generally described with reference to Fig. 7 .
  • the sharing apparatus 110 Fig. 1
  • the pieces of share information SH( ⁇ , h( ⁇ )) are transmitted and distributed to the respective share management apparatuses [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) via the network 150.
  • Each share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) having received the corresponding share information SH( ⁇ , h( ⁇ )) performs a predetermined common calculation using the share information SH( ⁇ , h( ⁇ )) and the common information including a common value ⁇ ( ⁇ ) shared in the subset SUB( ⁇ ) to generate share secret value DSH( ⁇ , h( ⁇ )), and outputs the share secret value DSH( ⁇ , h( ⁇ )) (Step S12).
  • the common values ⁇ ( ⁇ ) shared in different subsets SUB( ⁇ ) are independent of each other.
  • the share management apparatuses [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) belonging to the same subset SUB( ⁇ ) use the same "common information.”
  • the "common information" illustrated in this embodiment includes the common value ⁇ ( ⁇ ) and provided information v common to all the share management apparatuses PA( ⁇ , h( ⁇ )) 120- ⁇ -h( ⁇ ) provided by the acquisition apparatus 130.
  • the share management apparatuses [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) belonging to the same subset SUB( ⁇ ) perform the same "common calculation". According to this embodiment, all the "common calculations" are the same.
  • the "common calculation” according to this embodiment is a linear calculation.
  • the share secret value DSH( ⁇ , h( ⁇ )) output from each share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) is transmitted to the acquisition apparatus 130 via the network 150.
  • the acquisition apparatus 130 generates a reconstructed secret value SUBSK( ⁇ ) by performing a reconstruction processing for each subset SUB( ⁇ ) using a plurality of share secret values DSH( ⁇ , h( ⁇ )) for the subset SUB( ⁇ ) (Step S 13).
  • the acquisition apparatus 130 generates generation information SK using the reconstructed secret value SUBSK( ⁇ ) generated for each subset SUB( ⁇ ) and outputs the generation information SK (Step S14).
  • the acquisition apparatus 130 generates the generation information SK by linear combination of the reconstructed secret values SUBSK( ⁇ ).
  • Fig. 8A is a diagram for illustrating a processing of the sharing apparatus according to the first embodiment
  • Fig. 8B is a diagram for illustrating details of the processing of Step S 112.
  • the information ⁇ ⁇ F q for identifying the secret information ⁇ ⁇ g ⁇ G is read from the storage 112 and input to the secret sharing unit 114- ⁇ .
  • the secret sharing unit 114- ⁇ shares the secret information ⁇ ⁇ g or the information ⁇ using the information ⁇ ⁇ F q according to a predetermined secret sharing scheme to generate H( ⁇ ) pieces of share information SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )) for each of the subsets SUB( ⁇ ) and outputs the share information (Step S112).
  • R( ⁇ ) is a constant that satisfies a relation: 2 ⁇ R( ⁇ ) ⁇ H( ⁇ )).
  • x represents a variable that is an element of the finite field F q
  • the ⁇ ⁇ F q is 0 F , for example.
  • SH ⁇ , h ⁇ ⁇ h ⁇ , f ⁇ , ⁇ h ⁇ ⁇ g ⁇ G
  • the sharing processing unit 114c- ⁇ outputs the share information SH( ⁇ , h( ⁇ )) (Step S 112c) (this is the end of the description of ⁇ Details of Step S112>>).
  • Each common value generation apparatus 140- ⁇ ( Fig. 3B ) generates the common value ⁇ ( ⁇ ) shared among the share management apparatuses [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) forming the subset SUB( ⁇ ) associated with the common value generation apparatus 140- ⁇ .
  • each common value ⁇ ( ⁇ ) is a random number generated by the random number generation unit 141- ⁇ , and the transmitter 142- ⁇ transmits the common value ⁇ ( ⁇ ) to each share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) forming the subset SUB( ⁇ ).
  • Fig. 9A is a diagram for illustrating a processing of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) according to the first embodiment
  • Fig. 9B is a diagram for illustrating details of the processing of Step S124.
  • the processing of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) according to this embodiment will be described with reference to these drawings.
  • the receiver 126- ⁇ -h( ⁇ ) of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) receives the transmitted share information SH( ⁇ , h( ⁇ )) and stores the share information in the storage 122- ⁇ -h( ⁇ ) (Step S 121). Note that the processing of Step S 121 can be omitted if the share information SH( ⁇ , h( ⁇ )) has already been stored in the storage 122- ⁇ -h( ⁇ ) of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ).
  • the receiver 126- ⁇ -h( ⁇ ) of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) receives the common value ⁇ ( ⁇ ) transmitted from the common value generation apparatus 140- ⁇ and stores the common value in the storage 122- ⁇ -h( ⁇ ) (Step S122).
  • the provided information v read from the storage 132 of the acquisition apparatus 130 ( Fig. 4 ) is transmitted by the transmitter 135 to each share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) via the network 150.
  • the provided information v is common to all the share management apparatus PA( ⁇ , h( ⁇ )) 120- ⁇ -h( ⁇ ).
  • the provided information v is received by the receiver 126- ⁇ -h( ⁇ ) of the share management apparatus [PA( ⁇ , h( ⁇ ))] 120- ⁇ -h( ⁇ ) ( Fig. 3A ) and stored in the storage 122- ⁇ -h( ⁇ ) (Step S 123).
  • the share secret value generation unit 124- ⁇ -h( ⁇ ) reads the share information SH( ⁇ , h( ⁇ )), the common value ⁇ ( ⁇ ) and the provided information v from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 124- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , h( ⁇ )) by performing a common calculation FNC 1 using the share information SH( ⁇ , h( ⁇ )) and the common information including the common value ⁇ ( ⁇ ) and the provided information v, and outputs the share secret value DSH( ⁇ , h( ⁇ )) (Step S124).
  • the share secret value generation units 124- ⁇ -h( ⁇ ) of the share management apparatuses PA( ⁇ , h( ⁇ )) 120- ⁇ -h( ⁇ ) belonging to the same subset SUB( ⁇ ) use the same common information and perform the same common calculation.
  • the share information according to this embodiment is expressed by the formula (5).
  • the linear calculation unit 124a- ⁇ -h( ⁇ ) performs the following calculation and outputs the calculation result dsh( ⁇ , ⁇ (h( ⁇ ))) (Step S124a).
  • dsh ⁇ , ⁇ h ⁇ ⁇ ⁇ ⁇ v ⁇ f ⁇ , ⁇ h ⁇ ⁇ g ⁇ G
  • the output calculation result dsh( ⁇ , ⁇ (h( ⁇ ))) is input to the share secret value synthesis unit 124b- ⁇ -h( ⁇ ).
  • the generated share secret value DSH( ⁇ , h( ⁇ )) is transmitted to the transmitter 125- ⁇ -h( ⁇ ).
  • the transmitter 125- ⁇ -h( ⁇ ) transmits the share secret value DSH( ⁇ , h( ⁇ )) to the acquisition apparatus 130 via the network 150 (Step S125).
  • Fig. 10A is a diagram for illustrating a processing of the acquisition apparatus according to the first embodiment
  • Fig. 10B is a diagram for illustrating the processing of Step S 134.
  • the share secret value DSH( ⁇ , h( ⁇ )) transmitted from each share management apparatus PA( ⁇ , h( ⁇ )) 120- ⁇ -h( ⁇ ) is received by the receiver 136 of the acquisition apparatus 130 ( Fig. 4 ) and stored in the storage 132 (Step S131).
  • the reconstruction unit 134- ⁇ generates the reconstructed secret value SUBSK( ⁇ ) by performing a reconstruction processing for each subset SUB( ⁇ ) according to the secret sharing scheme used in Step S122 described above using the input share secret values DSH( ⁇ , h( ⁇ )), and outputs the reconstructed secret value SUBSK( ⁇ ) for the subset SUB( ⁇ ) (Step S134).
  • the share secret value DSH( ⁇ , h( ⁇ )) is expressed by formula (7).
  • R( ⁇ ) different share secret values DSH( ⁇ , h( ⁇ )) are input for each ⁇ .
  • the share secret values DHS( ⁇ , h( ⁇ )) for each ⁇ input to the reconstruction unit 134- ⁇ are expressed as follows.
  • ⁇ ⁇ x x - ⁇ 1 ⁇ ⁇ ⁇ ⁇ ⁇ x - ⁇ R ⁇ ⁇ ⁇ ⁇ ⁇ - ⁇ 1 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ - ⁇ R ⁇ ⁇ ⁇ F q
  • the generated coefficients ⁇ ⁇ (x) and dsh 1 ( ⁇ ), ..., dsh R( ⁇ ) ( ⁇ ) of DSH( ⁇ , ⁇ 1 ( ⁇ ), ..., DSH( ⁇ , ⁇ R( ⁇ ) ( ⁇ )) are input to the polynomial calculation unit 134b- ⁇ .
  • the polynomial calculation unit 134b- ⁇ generates the reconstructed secret value SUBSK( ⁇ ) for the subset SUB( ⁇ ) by performing the following calculation.
  • Step S135 the reconstructed secret value SUBSK( ⁇ ) output from each reconstruction unit 134- ⁇ is sent to the synthesis unit 137.
  • the synthesis unit 137 generates the generation information SK expressed by the following formula using the reconstructed secret values SUBSK( ⁇ ) generated for the subsets SUB( ⁇ ), and outputs the generation information SK (Step S141).
  • SK FNC ⁇ 2 SUBSK 1 , ... , SUBSK L
  • each CE ⁇ ⁇ F q is a coefficient, for example, a multiplicative inverse of L: (L) -1 ⁇ F q . Any one of the coefficients CE 1 , ..., CE L can be 0 F . In that case, the generation information SK is generated by using only part of SUBSK(1) + ... + SUBSK(L).
  • the synthesis unit 137 can randomly selects the coefficient or coefficients to be set at 0 F from among the coefficients CE 1 , ..., CE L . This improves security.
  • the synthesis unit 137 can also arbitrarily set the coefficients CE 1 , ..., CE L . This allows the acquisition apparatus 130 to generate the generation information SK without using the reconstructed secret values SUBSK( ⁇ ') for a less reliable subset SUB( ⁇ ') (this is the end of the description of «Details of Step S141>>).
  • the sharing apparatus 110 performs the secret sharing of the secret information ⁇ ⁇ g ⁇ G independently for each subset SUB( ⁇ ) to generate the share information SH( ⁇ , h( ⁇ )), each share management apparatus PA( ⁇ , h( ⁇ )) 120- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , h( ⁇ )) by performing a common calculation using the share information SH( ⁇ , h( ⁇ )) and the common information including the common value ⁇ ( ⁇ ) and the provided information v, and the acquisition apparatus 130 generates each of the reconstructed secret values SUBSK( ⁇ ) by performing a reconstruction processing for each subset SUB( ⁇ ) using a plurality of share secret values DSH( ⁇ , h( ⁇ )) for the subset SUB( ⁇ ) and generates the generation information SK from the reconstructed secret values SUBSK( ⁇ ).
  • the common calculation and the reconstruction processing are performed for each subset SUB( ⁇ ) by using the common value ⁇ ( ⁇ ) shared in the subset SUB( ⁇ ), these processings are possible.
  • the value ⁇ is not shared among all the share management apparatuses PA( ⁇ , h( ⁇ )) 120- ⁇ -h( ⁇ ), but the common value ⁇ ( ⁇ ) is independently shared in each subset SUB( ⁇ ), so that high security is ensured.
  • the common values ⁇ ( ⁇ ) shared in the different subsets SUB( ⁇ ) are independent of each other. This ensures high security.
  • the common calculation FNC1 according to this embodiment is a linear calculation. Therefore, according to this embodiment, the generation information SK can be generated by linear combination of the reconstructed secret values SUBSK( ⁇ ), so that the generation information SK generated from the reconstructed secret values SUBSK( ⁇ ) can be the same as the result of the common calculation FNC1 with respect to the secret information ⁇ ⁇ g and a certain value ⁇ as operands.
  • the (R( ⁇ ), H( ⁇ )) threshold secret sharing scheme is used to share the secret information ⁇ ⁇ g ⁇ G among the subset SUB( ⁇ ).
  • the secret information ⁇ ⁇ g ⁇ G which is an element of the cyclic group G, is shared by secret sharing.
  • the element ⁇ of the finite field F q ( ⁇ ⁇ F q ) can be shared by secret sharing.
  • Fig. 11A is a diagram for illustrating a configuration of a secret sharing unit 214- ⁇ according to modification 1 of the first embodiment
  • Fig. 11B is a diagram for illustrating a configuration of a share secret value generation unit 224- ⁇ -h( ⁇ ) according to modification 1 of the first embodiment.
  • the same parts as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment.
  • the remainder of the configuration is the same as that according to the first embodiment.
  • Step S 112 shown in Fig. 8B the processing of Step S 112 shown in Fig. 8B is modified as described below.
  • Steps S 112a and S 112b shown in Fig. 8B are performed.
  • Step S112c a sharing processing unit 214c- ⁇ of the secret sharing unit 214- ⁇ ( Fig. 11A ) generates pieces of share information SH( ⁇ , h( ⁇ )) described below using the polynomial f( ⁇ , x) ⁇ F q and the indexes ⁇ (h( ⁇ )) ⁇ Fq and outputs the share information.
  • SH ⁇ , h ⁇ ⁇ h ⁇ , f ⁇ , ⁇ h ⁇
  • Step S 124 the processing of Step S 124 shown in Fig. 9B is modified as described below.
  • Step S124b ⁇ ⁇ ⁇ v ⁇ f ⁇ , ⁇ h ⁇ ⁇ g ⁇ G
  • the calculation result dsh( ⁇ , ⁇ (h( ⁇ ))) ⁇ G is information that is part of the share secret value DSH( ⁇ , h( ⁇ )).
  • modification 2 of the first embodiment will be described.
  • an element ⁇ of the finite field F q ( ⁇ ⁇ F q ) is shared.
  • the modification 2 of the first embodiment differs from modification 1 in that the calculation result dsh( ⁇ , ⁇ (h( ⁇ ))) is not an element of the cyclic group but an element of the finite field F q .
  • Fig. 12A is a diagram for illustrating a configuration of a share secret value generation unit 324- ⁇ -h( ⁇ ) according to modification 2 of the first embodiment
  • Fig. 12B is a diagram for illustrating a configuration of a reconstruction unit 334- ⁇ according to modification 2 of the first embodiment.
  • the same parts as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment.
  • the remainder of the configuration is the same as that according to the first embodiment.
  • Step S 112 is modified in the same way as in modification 1 of the first embodiment.
  • Step S 124 the processing of Step S 124 shown in Fig. 9B is modified as described below.
  • Step S 134a shown in Fig. 10B is performed. Then, instead of Step S134b shown in Fig. 10B , each coefficient ⁇ ⁇ (x) and dsh 1 ( ⁇ ), ..., dsh R( ⁇ ) ( ⁇ ) of DSH( ⁇ , ⁇ 1 ( ⁇ )), ..., DSH( ⁇ , ⁇ R( ⁇ ) ( ⁇ )) expressed by formula (8) are input to a polynomial calculation unit 334b- ⁇ ( Fig. 12B ), and the polynomial calculation unit 334b- ⁇ generates the reconstructed secret value SUBSK( ⁇ ) for the subset SUB( ⁇ ) by performing the following calculation.
  • SUBSK ⁇ ⁇ 1 ⁇ ⁇ dsh 1 ⁇ + ... + ⁇ R ⁇ ⁇ ⁇ dsh R ⁇ ⁇ ⁇ g ⁇ G
  • the polynomial calculation unit 334b- ⁇ outputs the reconstructed secret value SUBSK( ⁇ ) for the subset SUB( ⁇ ) (this is the end of the description of «Modification of Step S 134 according to Modification 2 of First Embodiment»). The remainder of the processing is the same as that in the first embodiment.
  • Fig. 13A is a diagram for illustrating a configuration of a secret sharing unit 414- ⁇ according to modification 3 of the first embodiment
  • Fig. 13B is a diagram for illustrating a configuration of a share secret value generation unit 424- ⁇ -h( ⁇ ) according to modification 3 of the first embodiment
  • Fig. 13C is a diagram for illustrating a configuration of a reconstruction unit 434- ⁇ according to modification 3 of the first embodiment.
  • Step S 112 shown in Fig. 8B is modified as described below.
  • a random number generation unit 414a- ⁇ of the secret sharing unit 414- ⁇ ( Fig. 13A ) randomly selects H( ⁇ )-1 elements of the cyclic group G described below and outputs the elements.
  • the secret information ⁇ ⁇ g ⁇ G and the H( ⁇ )-1 elements SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )-1) of the cyclic group G (SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )-1) ⁇ G) are input to an inverse calculation unit 414b- ⁇ .
  • the inverse calculation unit 414b- ⁇ generates SH( ⁇ , h( ⁇ )) by performing the following calculation and outputs SH( ⁇ , h( ⁇ )).
  • SH ⁇ , h ⁇ ⁇ ⁇ g - SH ⁇ 1 + ... + SH ⁇ ⁇ , H ⁇ - 1 ⁇ G
  • the secret sharing unit 414- ⁇ outputs the following information as share information for the subset SUB( ⁇ ).
  • the share information satisfies the following relation.
  • SH ⁇ 1 + SH ⁇ 2 + ... + SH ⁇ , H ⁇ ⁇ ⁇ g ⁇ G
  • Step S124 shown in Fig. 9B is modified as described below.
  • the common value ⁇ ( ⁇ ), the provided information v and the share information SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )) are input to the share secret value generation unit 424- ⁇ -h( ⁇ ) ( Fig. 13B ).
  • the share secret value generation unit 424- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , h( ⁇ )) by performing the following calculation and outputs the share secret value.
  • DSH ⁇ , h ⁇ ⁇ ⁇ ⁇ v ⁇ SH ⁇ , h ⁇ ⁇ G
  • Step S 132 shown in Fig. 10A the processing of Step S 132 shown in Fig. 10A is modified as described below.
  • Step S 134 shown in Fig. 10B is modified as described below.
  • the share secret value DSH( ⁇ , h( ⁇ )) according to modification 3 is expressed by formula (23).
  • the reconstruction unit 434- ⁇ generates the reconstructed secret value SUBSK( ⁇ ) for the subset SUB( ⁇ ) by performing the following calculation and outputs the reconstructed secret value.
  • SUBSK ⁇ DSH ⁇ 1 + ... + DSH ⁇ , H ⁇ ⁇ G
  • the remainder of the processing is the same as that in the first embodiment.
  • Modification 4 differs from modification 3 in that secret information ⁇ ⁇ F q that is an element of the finite field F q is shared by secret sharing.
  • Fig. 14A is a diagram for illustrating a configuration of a secret sharing unit 514- ⁇ according to modification 4 of the first embodiment
  • Fig. 14B is a diagram for illustrating a configuration of a share secret value generation unit 524- ⁇ -h( ⁇ ) according to modification 4 of the first embodiment
  • Fig. 14C is a diagram for illustrating a configuration of a reconstruction unit 534- ⁇ according to modification 4 of the first embodiment.
  • Step S 112 shown in Fig. 8B is modified as described below.
  • a random number generation unit 514a- ⁇ of the secret sharing unit 514- ⁇ randomly selects H( ⁇ )-1 elements of the finite field F q described below and outputs the elements.
  • the secret information ⁇ ⁇ F q and the H( ⁇ )-1 elements SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )-1) of the finite field F q (SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )-1) ⁇ F q ) are input to an inverse calculation unit 514b- ⁇ .
  • the inverse calculation unit 514b- ⁇ generates SH( ⁇ , h( ⁇ )) by performing the following calculation and outputs SH( ⁇ , h( ⁇ )).
  • SH ⁇ , h ⁇ ⁇ - SH ⁇ 1 + ... + SH ⁇ ⁇ , H ⁇ - 1 ⁇ F q
  • the secret sharing unit 514- ⁇ outputs the following as share information for the subset SUB( ⁇ ).
  • the share information satisfies the following relation.
  • SH ⁇ 1 + SH ⁇ 2 + ... + SH ⁇ , H ⁇ ⁇ ⁇ F q
  • Step S 124 shown in Fig. 9B is modified as described below.
  • the common value ⁇ ( ⁇ ), the provided information v and the share information SH( ⁇ , 1), ..., SH( ⁇ , H( ⁇ )) are input to the share secret value generation unit 524- ⁇ -h( ⁇ ) ( Fig. 14B ).
  • the share secret value generation unit 524- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , h( ⁇ )) by performing the following calculation and outputs the share secret value.
  • DSH ⁇ , h ⁇ ⁇ ⁇ ⁇ v ⁇ SH ⁇ , h ⁇ ⁇ F q
  • Step S 132 is modified in the same way as in modification 3 of the first embodiment.
  • Step S 134 shown in Fig. 10B is modified as described below.
  • the share secret value DSH( ⁇ , h( ⁇ )) according to modification 4 is expressed by formula (29).
  • the reconstruction unit 534- ⁇ generates the reconstructed secret value SUBSK( ⁇ ) for the subset SUB( ⁇ ) by performing the following calculation and outputs the reconstructed secret value.
  • SUBSK ⁇ DSH ⁇ 1 + ... + DSH ⁇ , H ⁇ ⁇ g ⁇ G
  • the remainder of the processing is the same as that in the first embodiment.
  • any one of the share management apparatuses in each subset SUB( ⁇ ) can have the function of the common value generation apparatus. In that case, the common value generation apparatus 140- ⁇ is unnecessary.
  • the share secret value DSH( ⁇ , h( ⁇ )) is generated by performing the common calculation FNC1 using the share information SH( ⁇ , h( ⁇ )) and the common information including the common value ⁇ ( ⁇ ) and the provided information v.
  • the share secret value DSH( ⁇ , h( ⁇ )) can also be generated without using the provided information v by using the common value ⁇ ( ⁇ ) alone as the common information.
  • the common information can also include other information as well as the common value ⁇ ( ⁇ ) and the provided information v.
  • This embodiment is an application of the first embodiment to key generation in functional encryption.
  • Matrix means a rectangular array of elements of a set for which a calculation is defined. Not only elements of a ring but also elements of a group can form the matrix.
  • Z Z represents the integer set.
  • sec sec represents a security parameter (sec ⁇ Z, sec > 0).
  • 0*: 0* represents a string of * 0s.
  • 1*: 1* represents a string of * 1s.
  • F q F q represents a finite field having an order q (same definition as in the first embodiment).
  • 0 F 0 F represents an additive identity of the finite field F q (same definition as in the first embodiment).
  • 1 F 1 F represents a multiplicative identity of the finite field F q (same definition as in the first embodiment).
  • ⁇ (i, j): ⁇ (i, j) represents a Kronecker delta function.
  • E represents an elliptic curve defined on the finite field F q (same definition as in the first embodiment).
  • a finite set comprising rational points on the elliptic curve E has a subgroup having an order p (p ⁇ 1).
  • #E the number of elements of the finite set comprising rational points on the elliptic curve E
  • p is a large prime number that divides #E
  • a finite set E[p] consisting of p-division points on the elliptic curve E forms a subgroup of the finite set consisting of the rational points on the elliptic curve E.
  • G 1 , G 2 , G T each represent a cyclic group having an order q.
  • Specific examples of the cyclic groups G 1 and G 2 include the finite set E[p] comprising p-division points on the elliptic curve E and a subgroup thereof.
  • Specific examples of the cyclic group G T include a finite set forming an extension field of the finite field F q , which is a prime field.
  • One example is a finite set consisting of p-th roots of 1 in an algebraic closure of the finite field F q .
  • the security is improved if the cyclic groups G 1 , G 2 and G T and the finite field F q have the same order.
  • calculations defined on the cyclic groups G 1 and G 2 are additively expressed, and a calculation defined on the cyclic group G T is multiplicatively expressed.
  • ⁇ ⁇ ⁇ ⁇ G 1 for ⁇ ⁇ F q and ⁇ ⁇ G 1 means that a calculation defined on the cyclic group G 1 is performed ⁇ times on ⁇ ⁇ G 1
  • ⁇ 1 + ⁇ 2 ⁇ G 1 for ⁇ 1 and ⁇ 2 ⁇ G means that a calculation defined on the cyclic group G 1 is performed on operands ⁇ 1 ⁇ G 1 and ⁇ 2 ⁇ G 1 .
  • ⁇ ⁇ ⁇ ⁇ G 2 for ⁇ ⁇ F q and ⁇ ⁇ G 2 means that a calculation defined on the cyclic group G 2 is performed ⁇ times on ⁇ ⁇ G 2
  • ⁇ 1 + ⁇ 2 ⁇ G 2 for ⁇ 1 and ⁇ 2 ⁇ G 2 means that a calculation defined on the cyclic group G 2 is performed on operands ⁇ 1 ⁇ G 2 and ⁇ 2 ⁇ G 2 .
  • ⁇ ⁇ ⁇ G T for ⁇ ⁇ F q and ⁇ ⁇ G T means that a calculation defined on the cyclic group G T is performed ⁇ times on ⁇ ⁇ G T
  • ⁇ 1 ⁇ ⁇ 2 ⁇ G T for ⁇ 1 and ⁇ 2 ⁇ G T means that a calculation defined on the cyclic group G 1 is performed on operands ⁇ 1 ⁇ G T and ⁇ 2 ⁇ G T .
  • ⁇ represents an integer equal to or greater than 1.
  • ⁇ ( ⁇ ): ⁇ ( ⁇ ) represents an integer equal to or greater than 0.
  • G 1 n( ⁇ )+ ⁇ ( ⁇ ) : G 1 n( ⁇ )+ ⁇ ( ⁇ ) represents a direct product of n( ⁇ )+ ⁇ ( ⁇ ) cyclic groups G 1 .
  • G 2 n( ⁇ )+ ⁇ ( ⁇ ) : G 2 n( ⁇ )+ ⁇ ( ⁇ ) represents a direct product of n( ⁇ )+ ⁇ ( ⁇ ) cyclic groups G 2 .
  • g 1 , g 2 , g T represent generators of the cyclic groups G 1 , G 2 and G T , respectively.
  • V( ⁇ ) V( ⁇ ) represents an n( ⁇ )+ ⁇ ( ⁇ )-dimensional vector space formed by a direct product of n( ⁇ )+ ⁇ ( ⁇ ) cyclic groups G 1 .
  • V*( ⁇ ) V*( ⁇ ) represents an n( ⁇ )+ ⁇ ( ⁇ )-dimensional vector space formed by a direct product of n( ⁇ )+ ⁇ ( ⁇ ) cyclic groups G 2 .
  • e ⁇ represents a nondegenerate bilinear map that maps a direct product G 1 n( ⁇ )+ ⁇ ( ⁇ ) ⁇ G 2 n( ⁇ )+ ⁇ ( ⁇ ) of the direct product G 1 n( ⁇ )+ ⁇ ( ⁇ ) and the direct product G 2 n( ⁇ )+ ⁇ ( ⁇ )) to the cyclic group G T .
  • the bilinear map e ⁇ is not a map that maps all the elements of ⁇ 1 ⁇ G 1 n( ⁇ )+ ⁇ ( ⁇ ) and ⁇ 2 ⁇ G 2 n( ⁇ )+ ⁇ ( ⁇ ) to the identity element of the cyclic group G T .
  • a nondegenerate bilinear map that maps the direct current G 1 x G 2 of the cyclic groups G 1 and G 2 to the cyclic group G T shown below is used to provide the bilinear map e ⁇ .
  • the bilinear map Pair outputs one element of the cyclic group G T in response to a set of one element of the cyclic group G 1 and one element of the cyclic group G 2 .
  • the bilinear map Pair has the following properties.
  • the bilinear map Pair satisfies the following relation for any elements of ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 , and ⁇ , ⁇ ⁇ F q .
  • Pair ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 Pair ⁇ ⁇ 1 ⁇ 2 v ⁇ ⁇
  • the bilinear map Pair is not a map that maps all the elements of ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 to the identity element of the cyclic group G T .
  • bilinear map Pair examples include functions for pairing calculations, such as Weil pairing and Tate pairing (see Reference literature 4 ( Alfred. J. Menezes, "ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS,” KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6, pp. 61 to 81 ), for example).
  • a modified pairing function e( ⁇ 1 , phi( ⁇ 2 )) ( ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 ) that is a combination of a function for a pairing calculation, such as Tate pairing, and a predetermined function phi may be used as the bilinear map Pair (see Reference literature 2, for example).
  • An algorithm for performing the paring calculation on a computer is the well-known Millers algorithm (see Reference literature 5 ( V. S. Miller, "Short Programs for functions on Curves," 1986, Internet ⁇ http://crypto.stanford.edu/miller/miller.pdf> ).
  • a i ( ⁇ ) represent n( ⁇ )+ ⁇ ( ⁇ )-dimensional basis vectors each consisting of n( ⁇ )+ ⁇ ( ⁇ ) elements of the cyclic group G 1 .
  • the basis vectors a i ( ⁇ ) are n( ⁇ )+ ⁇ ( ⁇ )-dimensional vectors the i-th elements of which are ⁇ 1 ⁇ g 1 ⁇ G 1 and the remaining n( ⁇ )+ ⁇ ( ⁇ )-1 elements of which are the identity elements of the cyclic group G 1 (expressed as "0" in additive terms).
  • a i * ( ⁇ ) (i 1, ..., n( ⁇ ) + ⁇ ( ⁇ )): a i * ( ⁇ ) represent n( ⁇ )+ ⁇ ( ⁇ )-dimensional basis vectors each consisting of n( ⁇ )+ ⁇ ( ⁇ ) elements of the cyclic group G 2 .
  • the basis vectors a i * ( ⁇ ) are n( ⁇ )+ ⁇ ( ⁇ )-dimensional vectors the i-th elements of which are ⁇ 2 ⁇ g 2 ⁇ G 2 and the remaining n( ⁇ )+ ⁇ ( ⁇ )-1 elements of which are the identity elements of the cyclic group G 2 (expressed as "0" in additive terms).
  • the basis vectors a i ( ⁇ ) and a i * ( ⁇ ) are dual normal orthogonal bases, and the vector spaces V( ⁇ ) and V * ( ⁇ ) are dual vector spaces capable of forming a bilinear map (dual pairing vector spaces (DPVSs)).
  • X( ⁇ ) represents an n( ⁇ )+ ⁇ ( ⁇ ) row by n( ⁇ )+ ⁇ ( ⁇ ) column matrix consisting of the elements of the finite field F q .
  • X ⁇ ⁇ 1 , 1 ⁇ ⁇ 1 , 2 ⁇ ⁇ ⁇ 1 , n ⁇ + ⁇ ⁇ ⁇ ⁇ 2 , 1 ⁇ ⁇ 2 , 2 ⁇ ⁇ ⁇ ⁇ ⁇ n ⁇ + ⁇ ⁇ , 1 ⁇ ⁇ n ⁇ + ⁇ ⁇ , 2 ⁇ ⁇ ⁇ n ⁇ + ⁇ ⁇ , n ⁇ + ⁇ ⁇ ⁇
  • Each element ⁇ i,j ( ⁇ ) of the matrix X( ⁇ ) is referred to as a transformation coefficient.
  • the matrix X * ( ⁇ ) is used for coordinate transformation of the basis vectors a i * ( ⁇ ). If i rows by j columns of elements of the matrix X * (y) are denoted by ⁇ i,J * ( ⁇ ) ⁇ F q , the matrix X * ( ⁇ ) is expressed as follows.
  • X * ⁇ ⁇ 1 , 1 * ⁇ ⁇ 1 , 2 * ⁇ ⁇ ⁇ 1 , n ⁇ + ⁇ ⁇ * ⁇ ⁇ 2 , 1 * ⁇ ⁇ 2 , 2 * ⁇ ⁇ ⁇ ⁇ ⁇ n ⁇ + ⁇ ⁇ , 1 * ⁇ ⁇ n ⁇ + ⁇ ⁇ , 2 * ⁇ ⁇ ⁇ n ⁇ + ⁇ ⁇ , ⁇ ⁇ ⁇ n ⁇ + ⁇ ⁇ , n ⁇ + ⁇ ⁇ * ⁇
  • Each element ⁇ i,j *( ⁇ ) of the matrix X * ( ⁇ ) is referred to as a transformation coefficient.
  • b i ( ⁇ ) represent n( ⁇ )+ ⁇ ( ⁇ )-dimensional basis vectors each consisting of n( ⁇ )+ ⁇ ( ⁇ ) elements of the cyclic group G 1 .
  • the elements of the basis vectors b i ( ⁇ ) are expressed as follows.
  • b i * ( ⁇ ) represents n( ⁇ )+ ⁇ ( ⁇ )-dimensional basis vectors each consisting of n( ⁇ )+ ⁇ ( ⁇ ) elements of the cyclic group G 2 .
  • the elements of the basis vectors b i * ( ⁇ ) are expressed as follows.
  • b i * ⁇ ⁇ i , 1 * ⁇ ⁇ ⁇ 2 ⁇ g 1 , ⁇ i , 2 * ⁇ ⁇ ⁇ 1 ⁇ g 1 , ... , ⁇ i , n ⁇ + ⁇ ⁇ * ⁇ ⁇ ⁇ 2 ⁇ g 2
  • e ⁇ b i ⁇ , b j * ⁇ g T ⁇ ⁇ ⁇ ⁇ ⁇ i j That is, from the relations expressed by formulas (36), (51), (53) and (55), the following relation holds.
  • the basis vectors b i ( ⁇ ) and b i * ( ⁇ ) are dual normal orthogonal bases of dual pairing vector spaces (the vector spaces V( ⁇ ) and V * ( ⁇ )). If the relation expressed by formula (56) holds, other basis vectors a i ( ⁇ ) and a i * ( ⁇ ) than those illustrated by formulas (39) and (40) or other basis vectors b i ( ⁇ ) and b i * ( ⁇ ) than those illustrated by formulas (52) and (54) can also be used.
  • B( ⁇ ) X( ⁇ ) ⁇ A( ⁇ ).
  • the matrix B( ⁇ ) is expressed as follows.
  • B * ( ⁇ ) X * ( ⁇ ) ⁇ A * ( ⁇ ).
  • the matrix B * ( ⁇ ) is expressed as follows.
  • v( ⁇ ) ⁇ : v( ⁇ ) ⁇ represent n( ⁇ )-dimensional vectors each consisting of elements of the finite field F q .
  • v ⁇ ⁇ v 1 ⁇ , ... , v n ⁇ ⁇ ⁇ F q n ⁇ v ⁇ ( ⁇ ):
  • w( ⁇ ) ⁇ : w( ⁇ ) ⁇ represent n( ⁇ )-dimensional vectors each consisting of elements of the finite field F q .
  • Enc represents a common key encryption function that represents an encryption processing according to the common key cryptography.
  • Enc K (M) Enc K (M) represents a ciphertext obtained by encryption of a plaintext M according to the common key encryption function Enc using a common key K.
  • Dec Dec represents a common key decryption function that represents a decryption processing according to the common key cryptography.
  • Dec K (C) Dec K (C) represents a decryption result obtained by decryption of a ciphertext C according to the common key decryption function Dec using the common key K.
  • the functional encryption scheme is a scheme according to which a ciphertext is decrypted if the truth value of a logical formula determined by a combination of first information and second information is "true.”
  • One of the first and second information is embedded in the ciphertext, and the other is embedded in key information.
  • the predicate encryption scheme disclosed in " Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology (Reference literature 9) is a functional encryption scheme.
  • a value corresponding to secet information is hierarchically secret-shared in a mode that depends on a predetermined logical formula.
  • the predetermined logical formula includes propositional variables whose truth value are determined by the combination of first information and second information and includes some or all of the logical symbols ⁇ , ⁇ and ⁇ as required. If the truth value of the predetermined logical formula determined by the truth values of propositional variables is "true,” the value corresponding to the secret value is reconstructed, and the ciphertext is decrypted based on the reconstructed value.
  • the secret information SE can be reconstructed if K t different arbitrary pieces of share information share( ⁇ 1 ), ..., share( ⁇ Kt ) are given, the secret information SE cannot be obtained at all if K t -1 arbitrary pieces of share information share( ⁇ 1), ..., share( ⁇ Kt-1 ) are given.
  • These secret sharing schemes can be performed on a field. Furthermore, these schemes can be extended to share a value corresponding to secret information SE into values corresponding to share information, shares, by secret sharing.
  • the value corresponding to secret information SE is the secret information SE itself or a function value of the secret information SE, and values corresponding to the share information, shares, are the pieces of share information, shares, themselves or function values of the share information.
  • an element g T SE ⁇ G T corresponding to secret information SE ⁇ F q that is an element of the finite field F q can be secret-shared into elements g T share(1) , g T share(2) ⁇ G T of the cyclic group G T that correspond to share information, share (1), share(2) by secret sharing.
  • the secret information SE described above is a linear combination of the share information "share.”
  • the secret sharing scheme in which the secret information SE is a linear combination of share information, share is referred to as a linear secret sharing scheme.
  • the predetermined logical formula described above can be represented by tree-structure data obtained by hierarchical secret sharing of secret information. That is, according to the De Morgan's laws, the predetermined logical formula described above can be represented by a logical formula comprising literals or a logical formula comprising at least some of the logical symbols ⁇ and ⁇ and literals (such a logical formula will be referred to as the "normal form logical formula"), and the normal form logical formula can be represented by tree-structure data obtained by hierarchical secret sharing of secret information.
  • the tree-structure data that represents the normal form logical formula includes a plurality of nodes, at least some of the nodes are parent nodes of one or more child nodes, one of the parent nodes is a root node, and at least some of the child nodes are leaf nodes.
  • a parent node of a root node or a child node of a leaf node does not exist.
  • the root node corresponds to the value corresponding to the secret information
  • the child nodes of each parent node correspond to the values corresponding to the pieces of share information obtained by secret sharing of the value corresponding to the parent node.
  • the way of secret sharing in each node depends on the normal form logical formula.
  • the leaf nodes correspond to literals forming the normal form logical formula, and the truth values of literals are determined by the combination of the first information and the second information.
  • the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, although the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is false is not obtained.
  • the value corresponding to the share information corresponding to the parent node (the value corresponding to the secret information if the parent node is the root node) is reconstructed only if the number of values corresponding to the share information corresponding to the child nodes of the parent node is equal to or greater than the threshold associated with the parent node.
  • the tree-structure data represents the normal logical formula if the tree-structure data is configured in such a way that the value dependent on the secret information corresponding to the root node can be ultimately recovered only when the truth values of the literals corresponding to the leaf nodes allow the normal logical formula to return true as its truth value.
  • the tree-structure data that represents the normal form logical formula can be readily set. The following are specific examples thereof.
  • Fig. 15 is a diagram illustrating tree-structure data that represents a normal form logical formula PRO(1) ⁇ PRO(2) ⁇ ⁇ PRO(3) including propositional variables PRO(1) and PRO(2), the negation ⁇ PRO(3) of a propositional variable PRO(3) and the logical symbols ⁇ and v.
  • the tree-structure data illustrated in Fig. 15 includes a plurality of nodes N 1 , ..., N 5 .
  • the node N 1 is a parent node of the nodes N 2 and N 5
  • the node N 2 is a parent node of the nodes N 3 and N 4
  • one node N 1 of the parent nodes is the root node
  • some nodes N 3 , N 4 and N 5 of the child nodes are leaf nodes.
  • the node N 1 corresponds to the value corresponding to the secret information SE
  • the child nodes N 2 and N 5 of the node N 1 correspond to the values corresponding to share information SE and SE obtained by secret sharing of the value corresponding to the secret information SE according to a (1, 2) threshold secret sharing scheme
  • the child nodes N 3 and N 4 of the node N 2 correspond to the values corresponding to share information SE-SH 1 and SH 1 obtained by secret sharing of the value corresponding to the share information SE according to a (2, 2) threshold secret sharing scheme, respectively.
  • the leaf nodes N 3 , N 4 and N 5 correspond to the literals PRO(1), PRO(2) and ⁇ PRO(3) forming the normal form logical formula PRO(1) ⁇ PRO(2) ⁇ ⁇ PRO(3), respectively, and the truth values of the literals PRO(1), PRO(2) and ⁇ PRO(3) are determined by the combination of the first information and the second information.
  • the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, although the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is false is not obtained.
  • the value corresponding to the secret information SE is reconstructed only if the combination of the first information and the second information makes the truth value of the normal form logical formula PRO(1) ⁇ PRO(2) ⁇ a ⁇ PRO(3) true.
  • Fig. 16 is a diagram illustrating tree-structure data that represents a normal form logical formula (PRO(1) ⁇ PRO(2)) ⁇ (PRO(2) ⁇ PRO(3)) ⁇ (PRO(1) ⁇ PRO(3)) ⁇ ⁇ PRO(4) ⁇ ( ⁇ PRO(5) ⁇ PRO(6)) ⁇ PRO(7) including propositional variables PRO(1), PRO(2), PRO(3), PRO(6) and PRO(7), negations ⁇ PRO(4) and ⁇ PRO(5) of propositional variables PRO(4) and PRO(5) and logical symbols ⁇ and v.
  • the tree-structure data illustrated in Fig. 16 includes a plurality of nodes N 1 , ..., N 11 .
  • the node N 1 is a parent node of the nodes N 2 , N 6 and N 7
  • the node N 2 is a parent node of the nodes N 3 , N 4 and N 5
  • the node N 7 is a parent node of the nodes N 8 and N 11
  • the node N 8 is a parent node of the nodes N 9 and N 10
  • one node N 1 of the parent nodes is the root node
  • some nodes N 3 , N 4 , N 5 , N 6 , N 9 , N 10 and N 11 of the child nodes are leaf nodes.
  • the node N 1 corresponds to the value corresponding to the secret information SE
  • the child nodes N 2 , N 6 and N 7 of the node N 1 correspond to the values corresponding to share information SE, SE and SE obtained by secret sharing of the value corresponding to the secret information SE according to a (1, 3) threshold secret sharing scheme
  • the child nodes N 3 , N 4 and N 5 of the node N 2 correspond to the values corresponding to share information (1, f(1)), (2, f(2)) and (3, f(3)) obtained by secret sharing of the value corresponding to the share information SE according to a (2, 3) threshold secret sharing scheme, respectively.
  • the child nodes N 8 and N 11 of the node N 7 correspond to the values corresponding to share information SH 4 and SE-SH 4 obtained by secret sharing of the value corresponding to the share information SE according to a (2, 2) threshold secret sharing scheme, respectively.
  • the child nodes N 9 and N 10 of the node N 8 correspond to the values corresponding to share information SH 4 and SH 4 obtained by secret sharing of the value corresponding to the share information SH 4 according to a (1, 2) threshold secret sharing scheme, respectively.
  • the leaf nodes N 3 , N 4 , N 5 , N 6 , N 9 , N 10 and N 11 correspond to the literals PRO(1), PRO(2), PRO(3), ⁇ PRO(4), ⁇ PRO(5), PRO(6) and PRO(7) forming the normal form logical formula (PRO(1) ⁇ PRO(2)) ⁇ (PRO(2) ⁇ PRO(3)) ⁇ (PRO(1) ⁇ PRO(3)) ⁇ ⁇ PRO(4) ⁇ ( ⁇ PRO(5) ⁇ PRO(6)) ⁇ PRO(7), respectively, and the truth values of the literals PRO(1), PRO(2), PRO(3), ⁇ PRO(4), ⁇ PRO(5), PRO(6) and PRO(7) are determined by the combination of the first information and the second information.
  • the values corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, although the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is false is not obtained.
  • the value corresponding to the secret information SE is reconstructed only if the combination of the first information and the second information makes the truth value of the normal form logical formula (PRO(1) ⁇ PRO(2)) ⁇ (PRO(2) ⁇ PRO(3)) ⁇ (PRO(1) ⁇ PRO(3)) ⁇ ⁇ PRO(4) ⁇ ( ⁇ PRO(5) ⁇ PRO(6)) ⁇ PRO(7) true.
  • the predetermined logical formula is represented by the tree-structure data obtained by hierarchical secret sharing of the secret information as described above, whether the truth value of the logical formula determined by the combination of the first information and the second information is "true” or "false” can be determined based on whether or not the value corresponding to the secret information can be reconstructed from the values corresponding to the share information corresponding to the leaf nodes obtained for the combination of the first information and the second information.
  • a mechanism that accepts the combination of the first information and the second information if the truth value of the logical formula determined by the combination of the first information and the second information is "true” and rejects the combination of the first information and the second information if the truth value is "false” will be referred to as an access structure.
  • the total number of leaf nodes in the tree-structure data that represents the predetermined logical formula as described above is denoted by ⁇
  • the tree-structure data described above is implemented as a labeled matrix LMT(MT, LAB).
  • MT mt 1 , 1 ⁇ mt 1 , COL ⁇ ⁇ ⁇ mt ⁇ , 1 ⁇ mt ⁇ , COL
  • the root node of the tree-structure data that represents the predetermined logical formula corresponds to the value corresponding to the secret information SE ⁇ F q as described above
  • GV ⁇ 1 F ... 1 F ⁇ F q COL
  • 1, ..., ⁇ is 0, and that if the truth value of the propositional variable PRO( ⁇ ) is "false," it is equivalent to that the inner product v( ⁇ ) ⁇ ⁇ w( ⁇ ) ⁇ is not 0.
  • a ⁇ -dimensional vector TFV ⁇ is defined as follows.
  • TFV ⁇ tfv 1 , ... , tfv ⁇
  • the secret sharing scheme described above is a linear secret sharing scheme
  • that the value corresponding to the secret information SE can be reconstructed from the values corresponding to the share information share( ⁇ ) corresponding to the identifiers ⁇ is equivalent to that the COL-dimensional vector GV ⁇ belongs to the vector space formed by the row vectors mt ⁇ ⁇ corresponding to the identifiers ⁇ . That is, whether the value corresponding to the secret information SE can be reconstructed from the values corresponding to the share information share( ⁇ ) corresponding to the identifiers ⁇ can be determined by determining whether or not the COL-dimensional vector GV ⁇ belongs to the vector space spanned by the row vectors mt ⁇ ⁇ corresponding to the identifiers ⁇ .
  • the "vector space formed by the row vectors mt ⁇ ⁇ " means a vector space that can be expressed by a linear combination of the row vectors mt ⁇ ⁇ .
  • the access structure accepts the combination of the first information and the second information, it is described as "the access structure accepts the second information," and if the access structure does not accept the combination of the first information and the second information, it is described as "the access structure rejects the second information.”
  • KEM key encapsulation mechanisms
  • the basic scheme involves Setup(1 sec , ( ⁇ ; n(1), ..., n( ⁇ ))), GenKey(PK, MSK, LMT(MT, LAB)), Enc(PK, M, ⁇ , v( ⁇ ) ⁇
  • the first element w 1 ( ⁇ ) of the second information VSET2 ( ⁇ , w( ⁇ ) ⁇
  • 1, ..., ⁇ is 1 F .
  • B * ( ⁇ ) ⁇ is the matrix B * ( ⁇ ) or a submatrix thereof
  • B( ⁇ ) ⁇ is the matrix B( ⁇ ) or a submatrix thereof.
  • u' is any one of ⁇ 2 (0), ..., ⁇ I (0).
  • Enc-3 The following ciphertext C( ⁇ +1) of the plaintext M is generated using the common key K.
  • C ⁇ ⁇ + 1 Enc K M
  • the common key encryption scheme Enc can be Camellia (registered trademark) capable of encryption using the common key K, AES or exclusive-OR of the common key and the plaintext.
  • the ciphertext C is rejected if GV ⁇ ⁇ span ⁇ MT TFV > is not satisfied, and is accepted if GV ⁇ ⁇ span ⁇ MT TFV > is satisfied. (Dec-2) If the ciphertext C is accepted, SET c ⁇ 1, ..., ⁇
  • LIT( ⁇ ) 1 ⁇ and the coefficients const( ⁇ ) ( ⁇ ⁇ SET) are calculated.
  • K g T ⁇ ⁇ G T
  • the plaintext M' is generated as follows using the common key K.
  • the plaintext M' is generated as follows.
  • M ⁇ C ⁇ ⁇ + 1 / K
  • the g T ⁇ , g T ⁇ ' , or g T ⁇ ' may be used, instead of g 1 , as the generator of G T .
  • a map that determines the correspondence between ⁇ for the key information SKS and ⁇ for ciphertext may be used to determine the combination of C( ⁇ ) and D*( ⁇ ), thereby performing the processing of [Dec(PK, SKS, C): Decryption].
  • the first element w 1 ( ⁇ ) of the second information VSET2 ⁇ , w( ⁇ ) ⁇
  • 1, ..., ⁇ can be set at 1 F . If the element w 1 ( ⁇ ) is not 1 F , w( ⁇ ) ⁇ /w 1 ( ⁇ ) can be used instead of w( ⁇ ) ⁇ , and if the element v n( ⁇ ) ( ⁇ ) is not 1 F , v( ⁇ ) ⁇ /v n( ⁇ ) ( ⁇ ) can be used instead of v( ⁇ ) ⁇ .
  • the second information VSET2 ⁇ , w( ⁇ ) ⁇
  • 1, ..., ⁇ .
  • the first element v 1 ( ⁇ ) of the first information VSET1 ⁇ , v( ⁇ ) ⁇
  • 1, ..., ⁇ is set at 1 F .
  • Fig. 17 is a block diagram for illustrating a general configuration of a secret sharing system according to the second embodiment.
  • Each subset SUB( ⁇ ) is associated with a common value generation apparatus 640- ⁇ .
  • Fig. 18 is a block diagram for illustrating a configuration of the sharing apparatus 610 according to the second embodiment.
  • Figs. 19A and 19B are block diagrams for illustrating oncigurations of the common value generation apparatuses 640-1 to 640-L and 650.
  • Fig. 20 is a block diagram for illustrating a configuration of the share management apparatus [PA( ⁇ , h( ⁇ ))] 620- ⁇ -h( ⁇ ) according to th second embodiment.
  • Fig. 21 is a block diagram for illustrating a configuration of the acquisition apparatus 630 according to the second embodiment.
  • the same components as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment and will be only simply described below.
  • the sharing apparatus 610 according to this embodiment is implemented by a predetermined program loaded to and executed by a well-known computer comprising a CPU, a RAM, a ROM and the like, for example.
  • the common value generation apparatus 640- ⁇ has a coefficient setting unit 641- ⁇ and a transmitter 642- ⁇ .
  • the common value generation apparatus 650 according to this embodiment has a storage 651, common information generation units 652 and 653 and a transmitter 654.
  • the share management apparatus [PA( ⁇ , h( ⁇ ))] 620- ⁇ -h( ⁇ ) has the temporary storage 121- ⁇ -h( ⁇ ), the storage 122- ⁇ -h( ⁇ ), the controller 123- ⁇ -h( ⁇ ), share secret value generation units 621- ⁇ -h( ⁇ ), 622- ⁇ -h( ⁇ ) and 623- ⁇ -h( ⁇ ), a selection unit 624- ⁇ -h( ⁇ ), the transmitter 125- ⁇ -h( ⁇ ) and the receiver 126- ⁇ -h( ⁇ ).
  • the share management apparatus [PA( ⁇ , h( ⁇ ))] 620- ⁇ -h( ⁇ ) is implemented by a predetermined program loaded to and executed by a well-known computer comprising a CPU, a RAM, a ROM and the like, for example.
  • the acquisition apparatus 630 according to this embodiment is implemented by a predetermined program loaded to and executed by a well-known computer comprising a CPU, a RAM, a ROM and the like, for example.
  • the basis vectors b i * ( ⁇ ) (formula (55)), which are master key information of the functional encryption scheme using the access structure, are shared, and the key information D * ( ⁇ ) is reconstructed from the calculation results of the share information obtained by the secret sharing.
  • general key information D * ( ⁇ ) expressed by formula (74), (76) or (77), for example, is reconstructed.
  • the basis vectors b i * ( ⁇ ) can be shared by expanding the first embodiment to multidimensional.
  • the secret information is reconstructed by a linear calculation of the share information, so that the reconstruction processing can also be achieved by regarding the result of a linear calculation of share information for each dimension obtained by multidimensional secret sharing as share information.
  • the reconstruction of the key information D * ( ⁇ ) can be achieved by expanding the first embodiment to multidimensional.
  • Figs. 22 and 23 are diagrams for generally illustrating the secret sharing processing according to the second embodiment.
  • the secret sharing processing according to this embodiment will be generally described with reference to Figs. 22 and 23 .
  • the sharing apparatus 610 Fig.
  • the values corresponding to the elements ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 of the basis vectors b i * ( ⁇ ) are ⁇ ( ⁇ , i, ⁇ ), and the specific secret sharing scheme is the same as that according to any of modifications 1, 2 and 4 of the first embodiment except that there is a plurality of targets of secret sharing. All of ⁇ ( ⁇ , i, ⁇ ) in this embodiment are shared in the same manner as in any of modifications 1, 2 and 4 of the first embodiment. That is, the secret sharing scheme according to this embodiment is the secret sharing scheme according to any of modifications 1, 2 and 4 of the first embodiment in which ⁇ is replaced with ⁇ ( ⁇ , i, ⁇ ).
  • SH ⁇ , i , ⁇ , ⁇ , h ⁇ ⁇ h ⁇ , f ⁇ , ⁇ h ⁇ ⁇ F q
  • f( ⁇ , ⁇ ) ⁇ ( ⁇ , i, ⁇ )
  • ⁇ ⁇ F q is a predetermined element of the finite field F q .
  • the common information shared in different subsets SUB( ⁇ ) are independent of each other.
  • the common calculation is a linear calculation.
  • the common information according to this embodiment includes SE( ⁇ ) (FNC2 -1 (SE) ⁇ SE(1), ..., SE( ⁇ ), ..., SE(L)) obtained from the secret information SE, share( ⁇ , ⁇ ) (FNC2' -1 (share( ⁇ )) ⁇ share( ⁇ , 1), ..., share( ⁇ , ⁇ ), ..., share( ⁇ , L)) obtained from the share information share( ⁇ ) and coef i (0, ⁇ ), coef( ⁇ , ⁇ ), coef i ( ⁇ , ⁇ ) ⁇ F q that are constants or random numbers, for example.
  • FNC2 -1 represents an inverse function of a linear calculation function FNC2.
  • the linear calculation function FNC2 is a function that outputs the result of a linear calculation of L input values
  • an example the linear calculation function FNC2 is a function that outputs the value of a linear combination of L values.
  • value of coef i (0, ⁇ ) and coef i ( ⁇ , ⁇ ) are adopted as the common information and whether coef i (0, ⁇ ), coef( ⁇ , ⁇ ), coef i ( ⁇ , ⁇ ), SE( ⁇ ) and share( ⁇ , ⁇ ) are constants or random numbers depend on the structure of the generated key information D * ( ⁇ ).
  • each share secret value DSH( ⁇ , ⁇ , h( ⁇ )) is a vector
  • the reconstruction processing described above can be achieved by performing the reconstruction processing (Step S134) shown in the first embodiment for each dimension (order) of the vector.
  • the i-th elements of the share secret values DSH( ⁇ , ⁇ , h( ⁇ )) which are the vectors used in this reconstruction processing are expressed as follows.
  • the reconstructed secret values SUBSK( ⁇ , ⁇ ) are obtained by performing the same processing for each ⁇ and each i (Steps S63 and S63').
  • D * ( ⁇ ) FNC2(SUBSK( ⁇ , 1), ..., (SUBSK( ⁇ , ⁇ ), ..., SUBSK( ⁇ , L))).
  • the acquisition apparatus 630 generates the generation information D * ( ⁇ ) by linear combination of the reconstructed secret values SUBSK( ⁇ , ⁇ ).
  • Fig. 24 is a diagram for illustrating a processing of the sharing apparatus according to the second embodiment.
  • the secret sharing unit 614- ⁇ performs the secret sharing of each piece of information ⁇ ( ⁇ , i, ⁇ ) ⁇ F q to generate the following H( ⁇ ) pieces of share information for the subset SUB( ⁇ ) and outputs the share information (Step S6104).
  • Step S6104 the processing of Step S112 in the first embodiment is performed for each piece of information ⁇ ( ⁇ , i, ⁇ ).
  • the common information generation unit 652 generates SE(1), ..., SE( ⁇ ), ..., SE(L) that satisfy the following relation from the secret information SE stored in the storage 651.
  • the common information generation unit 652 generates SE(1), ..., SE( ⁇ ), ..., SE(L) that satisfy the following relation.
  • the common information generation unit 653 generates share( ⁇ , 1), ..., share( ⁇ , ⁇ ), ..., share( ⁇ , L) from the share information share( ⁇ ) stored in the storage 651 as follows. FNC ⁇ 2 ⁇ ⁇ - 1 share ⁇ ⁇ share ⁇ 1 , ... , share ⁇ ⁇ , ... , share ⁇ L
  • the common information generation unit 653 generates share( ⁇ , 1), ..., share( ⁇ , ⁇ ), ..., share( ⁇ , L) that satisfy the following relation.
  • the processing of the share management apparatus [PA( ⁇ , h( ⁇ ))] 620- ⁇ -h( ⁇ ) according to this embodiment will be described with reference to this drawing.
  • Step S6201 receives the transmitted share information SH( ⁇ , i, ⁇ , ⁇ , h( ⁇ )) and stores the share information in the storage 122- ⁇ -h( ⁇ ) (Step S6201). Note that the processing of Step S6201 can be omitted if the processing of Step S6201 was performed in the past, and the share information SH( ⁇ , i, ⁇ , ⁇ , h( ⁇ )) has already been stored in the storage 122- ⁇ -h( ⁇ ) of the share management apparatus [PA( ⁇ , h( ⁇ ))] 620- ⁇ -h( ⁇ ).
  • the receiver 126- ⁇ -h( ⁇ ) of the share management apparatus [PA( ⁇ , h( ⁇ ))] 620- ⁇ -h( ⁇ ) receives the common information coef i (0, ⁇ ), coef( ⁇ , ⁇ ), coef i ( ⁇ , ⁇ ), SE( ⁇ ) and share( ⁇ , ⁇ ) transmitted from the common value generation apparatuses 640- ⁇ and 650 and stores the common information in the storage 122- ⁇ -h( ⁇ ) (Step S6202).
  • the share secret value generation unit 621- ⁇ -h( ⁇ ) reads pieces of the share information SH(0, i, ⁇ , ⁇ , h( ⁇ )) and the common information coef i (0, ⁇ ) and SE( ⁇ ) from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 621- ⁇ -h( ⁇ ) generates the share secret value DSH(0, ⁇ , h( ⁇ )) that satisfies formula (103) from these pieces of information and outputs the share secret value (Step S6203).
  • the share secret value generation unit 622- ⁇ -h( ⁇ ) reads pieces of the share information SH( ⁇ , i, ⁇ , ⁇ , h( ⁇ )), the common information coef( ⁇ , ⁇ ), coef i ( ⁇ , ⁇ ) and share( ⁇ ) and the n( ⁇ )-dimensional vector v( ⁇ ) ⁇ identified by the label LAB( ⁇ ) from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 622- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , ⁇ , h( ⁇ )) that satisfies formula (105) from these pieces of information and outputs the share secret value (Step S6206).
  • the share secret value generation unit 623- ⁇ -h( ⁇ ) reads pieces of the share information SH( ⁇ , i, ⁇ , ⁇ , h( ⁇ )), the common information coef i ( ⁇ , ⁇ ) and share( ⁇ ) and the n( ⁇ )-dimensional vector v( ⁇ ) ⁇ identified by the label LAB( ⁇ ) from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 623- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , ⁇ , h( ⁇ )) that satisfies formula (106) from these pieces of information and outputs the share secret value (Step S6207).
  • the transmitter 125- ⁇ -h( ⁇ ) transmits the share secret values DSH(0, ⁇ , h( ⁇ )) and DSH( ⁇ , ⁇ , h( ⁇ )) to the acquisition apparatus 630 via the network 150 (Step S6210).
  • Fig. 26 is a diagram for illustrating a processing of the acquisition apparatus according to the second embodiment.
  • Step S6302 determines whether or not the number of share secret values DSH(0, ⁇ , h( ⁇ )) and DSH( ⁇ , ⁇ , h( ⁇ )) stored in the storage 132 is equal to or greater than a number required to reconstruct the secret value (referred to as a "required number" hereinafter) (Step S6302). If it is not determined that the number of share secret values DSH(0, ⁇ , h( ⁇ )) and DSH( ⁇ , ⁇ , h( ⁇ )) stored in the storage 132 is equal to or greater than the required number, the process returns to step S6301.
  • Step S6308 the controller 133 sets ⁇ + 1 as a new ⁇ and stores the setting in the temporary storage 131 (Step S6308). After Step S6308, the process returns to Step S6306.
  • D * 0 FNC ⁇ 2 SUBSK 0 1 , ... , SUBSK 0 ⁇ , ... , SUBSK 0 L
  • D * ⁇ FNC ⁇ 2 SUBSK ⁇ 1 , ... , SUBSK ⁇ ⁇ , ... , SUBSK ⁇ L
  • the remainder of the configuration is the same as that according to the second embodiment.
  • the secret sharing unit 714- ⁇ shares each piece of information ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 ⁇ G 2 to generate H( ⁇ ) pieces of share information shown below for the subset SUB( ⁇ ) and outputs the share information.
  • the share secret value generation unit 721- ⁇ -h( ⁇ ) reads pieces of the share information SH(0, i, ⁇ , ⁇ , h( ⁇ )) and the common information coef i (0, ⁇ ) and SE( ⁇ ) from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 721- ⁇ -h( ⁇ ) generates the share secret value DSH(0, ⁇ , h( ⁇ )) that satisfies formula (120) from these pieces of information and outputs the share secret value (Step S7203).
  • the share secret value generation unit 722- ⁇ -h( ⁇ ) reads pieces of the share information SH( ⁇ , i, ⁇ , ⁇ , h( ⁇ )), the common information coef( ⁇ , ⁇ ), coef i ( ⁇ , ⁇ ) and share( ⁇ ) and the n( ⁇ )-dimensional vector v( ⁇ ) ⁇ identified by the label LAB( ⁇ ) from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 722- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , ⁇ , h( ⁇ )) that satisfies formula (121) from these pieces of information and outputs the share secret value (Step S7206).
  • the share secret value generation unit 723- ⁇ -h( ⁇ ) reads pieces of the share information SH( ⁇ , i, ⁇ ⁇ , h( ⁇ )), the common information coef i ( ⁇ , ⁇ ) and share( ⁇ ) and the n( ⁇ )-dimensional vector v( ⁇ ) ⁇ identified by the label LAB( ⁇ ) from the storage 122- ⁇ -h( ⁇ ).
  • the share secret value generation unit 723- ⁇ -h( ⁇ ) generates the share secret value DSH( ⁇ , ⁇ , h( ⁇ )) that satisfies formula (122) from these pieces of information and outputs the share secret value (Step S7207).
  • the secret sharing scheme or the reconstruction scheme in the second embodiment or modification 1 thereof can be modified as in the first embodiment or modification 3 thereof.
  • each calculation defined on the finite field F q described above can be replaced with a calculation defined on a finite ring Z q having an order q.
  • An example of the method of replacing each calculation defined on the finite field F q with a calculation defined on the finite ring Z q is a method that permits q other than a prime number or a power thereof.
  • a processing of generating key information on a functional encryption as the generation information has been described in the second embodiment, other generation information may be generated.
  • the computer executes the program to implement the processing described above.
  • the program that describes the specific processing can be recorded in a computer-readable recording medium.
  • the computer-readable recording medium may be any type of recording medium, such as a magnetic recording device, an optical disk, a magneto-optical recording medium and a semiconductor memory.
  • the program may be distributed by selling, transferring or lending a portable recording medium, such as a DVD and a CD-ROM, in which the program is recorded, for example.
  • the program may be distributed by storing the program in a storage device in a server computer and transferring the program from the server computer to other computers via a network.
  • the computer that executes the program first temporarily stores, in a storage device thereof, the program recorded in a portable recording medium or transferred from a server computer, for example. Then, when performing the processing, the computer reads the program from the recording medium and performs the processing according to the read program.
  • the computer may read the program directly from the portable recording medium and perform the processing according to the program.
  • the computer may perform the processing according to the program each time the computer receives the program transferred from the server computer.
  • the processing described above may be performed on an application service provider (ASP) basis, in which the server computer does not transmit the program to the computer, and the processing are implemented only through execution instruction and result acquisition.
  • the programs according to the embodiments of the present invention include a quasi-program, which is information to be processed by a computer (such as data that is not a direct instruction to a computer but has a property that defines the processing performed by the computer).

Landscapes

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

Abstract

A sharing apparatus independently shares a value corresponding to each element θ(ψ, i, β) · g2 of basis vectors bi *(θ) among each subset SUB(α) consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)) to generate share information SH(ψ, i, β, α, h(α)) corresponding to each element θ(ψ, i, β) · g2. The share management apparatus PA(α, h(α)) generates a share secret value DSH(ψ, α, h(α)) by performing a common calculation common in the subset SUB(α) on common information shared in the subset SUB(α) and the share information SH(ψ, i, β, α, h(α)). An acquisition apparatus generates reconstructed secret values SUBSK(ψ, α) for each subset SUB(α) by performing a reconstruction processing for the subset SUB(α) and generates generation information D*(ψ) from the reconstructed secret values SUBSK(ψ, α).

Description

    [TECHNICAL FIELD]
  • The present invention relates to a secret sharing technique.
  • [BACKGROUND ART]
  • In storage of secret information, risks of loss or destruction and theft of the secret information have to be considered. The risk of loss or destruction can be reduced by storing a plurality of pieces of secret information. However, this measure increases the risk of theft. A solution to eliminate both risks is a secret sharing scheme (SSS) (see Non-patent literatures 1 and 2, for example).
  • The secret sharing scheme is a scheme in which a plurality of pieces of share information SH(1), ..., SH(N) are generated from secret information MSK and shared among and managed by a plurality of share management apparatuses PA(1), ..., PA(N), and the secret information MSK can be reconstructed only when a predetermined number or more of the pieces of share information SH(1) to SH(N) are obtained. In the following, representative secret sharing schemes will be described.
  • (N, N) Threshold Secret Sharing Scheme:
    • According to an (N, N) threshold secret sharing scheme (referred to also as an "N-out-of-N sharing scheme" or "N-out-of-N threshold sharing scheme"), although the secret information MSK can be reconstructed if all the share information SH(1), ..., SH(N) are given, the secret information MSK cannot be obtained at all when N-1 arbitrary pieces of share information SH(φ1), ..., share(φN-1) are given. The following is an example of the (N, N) threshold secret sharing scheme.
      • ● SH1, ..., SHN-1 are randomly selected.
      • ● SHN = MSK - (SH1 + ... + SHN-1) is calculated.
      • ● Each piece of share information SH1, ..., SHN is shared among a plurality of share management apparatuses PA(1), ..., PA(N) for management.
      • ● If all the share information SH1, ..., SHN are given, the secret information MSK can be reconstructed by a reconstruction processing according to MSK = SH1 + ... + SHN.
  • The calculation MSK = SH1 + ... + SHN for reconstructing the secret information MSK from the share information SH1, ..., SHN is linear. Therefore, if the reconstruction processing is performed for share information SH'(1), ..., SH'(N) each piece of which is obtained by performing a liner calculation CALC for each piece of share information SH(1), ..., SH(N) and a value σ as operands, the result of the reconstruction processing is the result of the linear calculation CALC performed for the secret information MSK and the σ as operands. For example, if the reconstruction processing is performed for share information SH'(1) = σ · SH(1), ..., SH'(N) = σ · SH(N), the following value results. σ SH 1 + + σ SH N = σ SH 1 + + SH N = σ MSK
    Figure imgb0001
  • On the other hand, if the reconstruction processing is performed for share information SH'(1), ..., SH'(N) each piece of which is obtained by performing a liner calculation CALC for each piece of share information SH(1), ..., SH(N) and each of independent values σ(1), ..., σ(N) as operands, in general, the result of a calculation that involves the secret information MSK as an operand cannot be obtained. For example, the reconstruction processing is performed for share information SH'(1) = σ(1) · SH(1), ..., SH'(N) = σ(N) · SH(N), the following value results. σ 1 SH 1 + + σ N SH N
    Figure imgb0002
  • (Kt, N) Threshold Secret Sharing Scheme:
    • According to a (Kt, N) threshold secret sharing scheme (referred to also as a "Kt-out-of-N sharing scheme" or "Kt-out-of-N threshold secret sharing scheme"), although the secret information MSK can be reconstructed if Kt different arbitrary pieces of share information SH(φ1), ..., SH(φKt) are given, the secret information MSK cannot be obtained at all if Kt-1 arbitrary pieces of share information SH(φ1), ..., SH(φKt-1) are given. The subscript "Kt" means Kt. The following is an example of the (Kt, N) threshold secret sharing scheme.
      • ● A Kt-1-th order polynomial f(x) = ξ0 + ξ1 · x + ξ2 · x2 + ... + ξKt-1 · xKt-1 that satisfies f(0) = MSK is randomly selected. That is, ξ0 = MSK is set, and ξ1, ..., ξKt-1 are randomly selected. The share information is denoted by SHρ = (ρ, f(ρ)) (ρ = 1, ..., N).
      • ● If Kt different arbitrary pieces of share information SH(φ1), ..., SH(φKt) ((φ1, ..., φKt) ⊂ (1, ..., N)) are obtained, the secret information MSK can be reconstructed by the following reconstruction processing using the Lagrange's interpolation formula, for example.
      MSK = f 0 = λ 1 f φ 1 + + λ Kt f φ Kt
      Figure imgb0003
      λ ρ x = x - φ 1 ρ x - φ K t φ ρ - φ 1 ρ φ ρ - φ K t F q
      Figure imgb0004
    • Note that "... ρ
      Figure imgb0005
      ..."means that there is not the p-th operand from the top [the denominator element (φρ - φρ), the numerator element (x - φρ)]. That is, the denominator of formula (4) is as follows. φ ρ - φ 1 φ ρ - φ ρ - 1 φ ρ - φ ρ + 1 φ ρ - φ Kt
      Figure imgb0006
    • The numerator of formula (4) is as follows. x - φ 1 x - φ ρ - 1 x - φ ρ + 1 x - φ Kt
      Figure imgb0007
    • These relations hold on a field.
  • The calculation expressed by the formula (3) is linear. Therefore, the value reconstructed from the share information SH'(φ1), ..., SH(φKt) each piece of which is obtained by performing the linear calculation CALC for each piece of share information SH(φ1), ..., SH(φKt) and the value σ as operands is equal to the result of the linear calculation CALC performed for the secret information MSK and the value σ as operands. On the other hand, if the reconstruction processing is performed for share information SH'(φ1), ..., SH'(φKt) each piece of which is obtained by performing the liner calculation CALC for each piece of share information SH(φ1), ..., SH(φKt) and each of independent values σ(φ1), ..., σ(φKt) as operands, in general, the result of a calculation that involves the secret information MSK as an operand cannot be obtained.
  • [PRIOR ART LITERATURE] [NON-PATENT LITERATURE]
  • Non-patent literature 1: Kaoru Kurosawa and Wakaha Ogata, "Introduction of Modem Cryptography (Electronics, information and communication lectures series), " Corona Publishing Co., LTD., March 2004, p. 116 to 119.
    Non-patent literature 2: A. Shamir, "How to Share a Secret," Communications of the ACM, November 1979, Volume 22, .
  • [SUMMARY OF THE INVENTION] [PROBLEMS TO BE SOLVED BY THE INVENTION]
  • A scheme that satisfies the following conditions is contemplated.
    (Condition 1) A sharing apparatus performs the secret sharing of secret information MSK to generate a plurality of pieces of share information SH(1), ..., SH(N), which are distributed among and managed by a plurality of share management apparatuses PA(1), ..., PA(N).
    (Condition 2) Each share management apparatus PA(1), ..., PA(N) performs a certain calculation.
    (Condition 3) An acquisition apparatus cannot obtain the secret information MSK but can obtain generation information corresponding to the result of a calculation that involves the secret information MSK and an arbitrary value σ as operands if the calculation results are given from a predetermined number or more of share management apparatuses.
  • However, such a scheme is difficult to implement. That is, if the share management apparatuses PA(1), ..., PA(N) perform their respective calculations using independent values σ(1), ..., σ(N), the acquisition apparatus cannot properly perform the reconstruction processing using the calculation results from the share management apparatuses as the share information and thus cannot obtain desired generation information. However, since the value σ can be used for estimating the generation information, it is unfavorable from the viewpoint of security that all the share management apparatuses PA(1), ..., PA(N) share the same value σ.
  • The present invention has been made in view of such circumstances, and an object of the present invention is to provide a secure scheme that satisfies the conditions 1 to 3 described above.
  • [MEANS TO SOLVE THE PROBLEMS]
  • According to the present invention, a sharing apparatus, ∑α=1 L h(α) share management apparatuses PA(α, h(α)) (α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2) and an acquisition apparatus cooperate to perform a secret sharing processing. The sharing apparatus independently performs the secret sharing of a value corresponding to each element θ(ψ, i, β) · g2 of basis vectors bi *(ψ) among each subset SUB(α) consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)) according to a predetermined secret sharing scheme to generate share information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)) corresponding to each element θ(ψ, i, β) · g2, provided that Ψ denotes an integer equal to or greater than 1, ψ denotes an integer equal to or greater than 0 and equal to or smaller than Ψ (ψ= 0, ..., Ψ), n(ψ) denotes an integer equal to or greater than 1, ζ(ψ) denotes an integer equal to or greater than 0, g2 denotes a generator of a cyclic group G2, and the basis vectors bi *(ψ) are n(ψ) + ζ(ψ) - dimensional vectors for θ(ψ, i, β) (i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ) + ζ(ψ), n(ψ) ≥ 1, ζ(ψ) ≥ 1) whose elements are n(ψ)+ζ(ψ) elements of the cyclic group G2 (i.e., bi *(ψ) = (θ(φ, i, 1) · g2, ..., θ(ψ, i, n(ψ)+ζ(ψ)) ·g2) ∈ G2 n(ψ)+ζ(ψ)). The share management apparatus PA(α, h(α)) generates share secret values DSH(ψ, α, h(α)) by performing a common calculation common in the subset SUB(α) on common information shared in the subset SUB(α) and the share information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)). The acquisition apparatus generates reconstructed secret values SUBS(ψ, α) for each subset SUB(α) from a plurality of the share secret values DSH(ψ, α, h(α)) for the subset SUB(α) by performing a reconstruction processing for the subset SUB(α) according to the secret sharing scheme, and generates generation information D*(ψ) from the reconstructed secret values SUBSK(ψ, α).
  • According to the present invention, the basis vectors bi *(ψ), whichare the secret information, are independently secret-shared among the subset SUB(α), and the share secret values DSH(ψ, α, h(α)) are generated using common information shared in each subset SUB(α). In this case, in each subset SUB(α), the reconstruction processing using the share secret values DSH(ψ, α, h(α)) as share information can be properly performed. The common information is shared in each subset SUB(α) but is not shared among all the share management apparatuses PA(α, h(α)), so that high security is ensured.
  • [EFFECTS OF THE INVENTION]
  • As described above, the present invention can provide a secure scheme that satisfies the conditions 1 to 3 described above.
  • [BRIEF DESCRIPTION OF THE DRAWINGS]
    • [Fig. 1] Fig. 1 is a block diagram for illustrating a general configuration of a secret sharing system according to a first embodiment.
    • [Fig. 2] Fig. 2 is a block diagram for illustrating a configuration of a sharing apparatus shown in Fig. 1.
    • [Fig. 3A] Fig. 3A is a block diagram for illustrating a configuration of a share management apparatus according to the first embodiment.
    • [Fig. 3B] Fig. 3B is a block diagram for illustrating a configuration of a common value generation apparatus according to the first embodiment.
    • [Fig. 4] Fig. 4 is a block diagram for illustrating a configuration of an acquisition apparatus according to the first embodiment.
    • [Fig. 5A] Fig. 5A is a block diagram for illustrating details of a secret sharing unit shown in Fig. 2.
    • [Fig. 5B] Fig. 5B is a block diagram for illustrating details of a share secret value generation unit shown in Fig. 3A.
    • [Fig. 6] Fig. 6 is a block diagram for illustrating details of a reconstruction unit shown in Fig. 4.
    • [Fig. 7] Fig. 7 is a diagram for generally illustrating a secret sharing processing according to the first embodiment.
    • [Fig. 8A] Fig. 8A is a diagram for illustrating a processing of the sharing apparatus according to the first embodiment.
    • [Fig. 8B] Fig. 8B is a diagram for illustrating details of a processing of Step S112.
    • [Fig. 9A] Fig. 9A is a diagram for illustrating a processing of the share management apparatus according to the first embodiment.
    • [Fig. 9B] Fig. 9B is a diagram for illustrating details of a processing of Step S124.
    • [Fig. 10A] Fig. 10A is a diagram for illustrating a processing of the acquisition apparatus according to the first embodiment.
    • [Fig. 10B] Fig. 10B is a diagram for illustrating details of a processing of Step S134.
    • [Fig. 11A] Fig. 11A is a diagram for illustrating a configuration of a secret sharing unit according to a modification 1 of the first embodiment.
    • [Fig. 11B] Fig. 11B is a diagram for illustrating a configuration of a share secret value generation unit according to modification 1 of the first embodiment.
    • [Fig. 12A] Fig. 12A is a diagram for illustrating a configuration of a share secret value generation unit according to modification 2 of the first embodiment.
    • [Fig. 12B] Fig. 12B is a diagram for illustrating a configuration of a reconstruction unit according to modification 2 of the first embodiment.
    • [Fig. 13A] Fig. 13A is a diagram for illustrating a configuration of a secret sharing unit according to modification 3 of the first embodiment.
    • [Fig. 13B] Fig. 13B is a diagram for illustrating a configuration of a share secret value generation unit according to modification 3 of the first embodiment.
    • [Fig. 13C] Fig. 13C is a diagram for illustrating a configuration of a reconstruction unit according to modification 3 of the first embodiment.
    • [Fig. 14A] Fig. 14A is a diagram for illustrating a configuration of a secret sharing unit according to modification 4 of the first embodiment.
    • [Fig. 14B] Fig. 14B is a diagram for illustrating a configuration of a share secret value generation unit according to modification 4 of the first embodiment.
    • [Fig. 14C] Fig. 14C is a diagram for illustrating a configuration of a reconstruction unit according to modification 4 of the first embodiment.
    • [Fig. 15] Fig. 15 is a diagram illustrating tree-structure data that represents a normal form logical formula.
    • [Fig. 16] Fig. 16 is a diagram illustrating tree-structure data that represents a normal form logical formula.
    • [Fig. 17] Fig. 17 is a block diagram for illustrating a general configuration of a secret sharing system according to a second embodiment.
    • [Fig. 18] Fig. 18 is a block diagram for illustrating a configuration of a sharing apparatus according to the second embodiment.
    • [Fig. 19A] Fig. 19A is a block diagram for illustrating a configuration of a common value generation apparatus according to the second embodiment.
    • [Fig. 19B] Fig. 19B is a block diagram for illustrating a configuration of a common value generation apparatus according to the second embodiment.
    • [Fig. 20] Fig. 20 is a block diagram for illustrating a configuration of a share management apparatus according to the second embodiment.
    • [Fig. 21] Fig. 21 is a block diagram for illustrating a configuration of an acquisition apparatus according to the second embodiment.
    • [Fig. 22] Fig. 22 is a diagram for generally illustrating a secret sharing processing according to the second embodiment.
    • [Fig. 23] Fig. 23 is a diagram for generally illustrating the secret sharing processing according to the second embodiment.
    • [Fig. 24] Fig. 24 is a diagram for illustrating a processing of the sharing apparatus according to the second embodiment.
    • [Fig. 25] Fig. 25 is a diagram for illustrating a processing of the share management apparatus according to the second embodiment.
    • [Fig. 26] Fig. 26 is a diagram for illustrating a processing of the acquisition apparatus according to the second embodiment.
    • [Fig. 27] Fig. 27 is a diagram for illustrating a processing of a share management apparatus according to modification 1 of the second embodiment.
    • [Fig. 28] Fig. 28 is a diagram for illustrating the processing of the share management apparatus according to modification 1 of the second embodiment.
    [DETAILED DESCRIPTION OF THE EMBODIMENTS]
  • In the following, embodiments of the present invention will be described with reference to the drawings.
  • [FIRST EMBODIMENT]
  • First, a first embodiment of the present invention will be described.
  • [Definitions]
  • Terms and symbols used in the description of this embodiment will be defined below.
    Fq: Fq represents a finite field having an order q. The order q is an integer equal to or greater than 1, which is a prime number or a power of a prime number, for example. For example, the finite field Fq is a prime field or an extension field of a prime field. If the finite field Fq is a prime field, it can be easily constructed by a remainder calculation modulo q, for example. If the finite field Fq is an extension field, it can be easily constructed by a remainder calculation modulo an irreducible polynomial, for example. A specific construction method for the finite field Fq is disclosed in Reference literature 1 (ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers).
  • 0F: 0F represents an additive identity of the finite field Fq.
    1F: 1F represents a multiplicative identity of the finite field Fq.
  • E: E represents an elliptic curve defined on the finite field Fq. The elliptic curve E is a set of points comprising a set of points (x, y) consisting of x and y ∈ Fq that satisfy the following Weierstrass equation in an affine coordinate system and a particular point O referred to as a point of infinity. y 2 + a 1 x y + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6
    Figure imgb0008

    In the formula, a1, a2, a3, a4, a6 ∈ Fq.
    A binary calculation + referred to as an elliptic curve addition is defined for arbitrary two points on the elliptic curve E, and a monadic calculation - referred to as an inverse calculation is defined for an arbitrary one point on the elliptic curve E. The facts that a finite set comprising rational points on the elliptic curve E forms a group with respect to the elliptic curve addition and that a calculation referred to as an elliptic curve scalar multiplication can be defined using the elliptic curve addition and specific methods of elliptic curve addition or other elliptic calculations on a computer are well known (see Reference literature 1, Reference literature 2 (RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems), and Reference literature 3 (Ian F. Blake, Gadiel Serrousi and Nigel P. Smart, "Elliptic Curve Cryptography" published by Pearson Education, ISBN4-89471-431-0), for example).
    The finite set comprising the rational points on the elliptic curve E has a subgroup having an order p (p ≥ 1). For example, provided that the number of elements of the finite set comprising rational points on the elliptic curve E is denoted by #E, and p is a large prime number that divides #E, a finite set E[p] consisting of p-division points on the elliptic curve E forms a subgroup of the finite set consisting of the rational points on the elliptic curve E. The "p-division points on the elliptic curve E" means those of the points A on the elliptic curve E whose elliptic curve scalar products p · A on the elliptic curve E satisfy a relation p · A = O.
  • G: G represents a cyclic group. Specific examples of the cyclic group G include the finite set E[p] comprising p-division points on the elliptic curve E, a subgroup thereof and a quotient group thereof. In this embodiment, a calculation defined on the cyclic group G is additively expressed. That is, χ · Q ∈ G for χ ∈ Fq and Ω ∈ G means that a calculation defined on the cyclic group G is performed χ times on Ω ∈ G1, and Ω1 + Ω2 ∈ G for Ω1 and Ω2 ∈ G means that a calculation defined on the cyclic group G is performed on operands Ω1 ∈ G and Ω2 ∈ G.
    g: g represents a generator of the cyclic group G.
  • <General Configuration>
  • Fig. 1 is a block diagram for illustrating a general configuration of a secret sharing system according to the first embodiment.
    As illustrated in Fig. 1, a secret sharing system 1 according to this embodiment comprises a sharing apparatus 110, ∑α=1 L h(α) share management apparatuses [PA(α, h(α)) (α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2)] 120 - α - h(α), an acquisition apparatus 130 and common value generation apparatuses 140-1 to 140-L, which can communicate with each other via a network 150. For simplicity of explanation, this embodiment will be described with regard to an example where there are only one sharing apparatus 110 and only one acquisition apparatus 130, there can be two or more sharing apparatuses 110 and two or more acquisition apparatuses 130. Similarly, this embodiment will be described with regard to an example where there is only one set of ∑α=1 L h(α) share management apparatuses [PA(α, h(α))] 120-α-h(α), there can be a plurality of such sets.
    As illustrated in Fig. 1, the set of ∑α=1 L h(α) share management apparatuses [PA(α, h(α))] 120-α-h(α) is divided into a plurality of subsets SUB(α) each consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)). Each subset SUB(α) is associated with a common value generation apparatus 140-α that generates a common value σ(α) shared in the subset SUB(α).
  • <Sharing Apparatus 110>
  • Fig. 2 is a block diagram for illustrating a configuration of the sharing apparatus 110 shown in Fig. 1. Fig. 5A is a block diagram for illustrating details of a secret sharing unit 114-α shown in Fig. 2.
    As illustrated in Fig. 2, the sharing apparatus 110 according to this embodiment comprises a temporary storage 111, a storage 112, a controller 113, secret sharing units 114-α (α = 1, ..., L) and a transmitter 115. As illustrated in Fig. 5A, the secret sharing unit 114-α according to this embodiment has a function selection unit 114a-α, an index generation unit 114b-α and a sharing processing unit 114c-α.
  • The sharing apparatus 110 according to this embodiment is a particular apparatus including a well-known or dedicated computer comprising a central processing unit (CPU), a random access memory (RAM), a read-only memory (ROM) and the like and a particular program. More specifically, the temporary storage 111 and the storage 112 are storage areas provided by a RAM, a register, a cache memory, an element in an integrated circuit or an auxiliary storage device, such as a hard disk, or a combination of at least some of these devices. The controller 113 and the secret sharing unit 114-α (α = 1, ..., L) are processing units implemented by the CPU executing a predetermined program. At least part of the controller 113 and the secret sharing unit 114-α (α = 1, ..., L) can be a particular integrated circuit. The transmitter 115 is a communication device, such as a modem and a local area network (LAN) card.
  • The sharing apparatus 110 performs each processing under the control of the controller 113. Although only simply described in the following, every data output from each processing unit is stored in the temporary storage 111 or the storage 112. The data stored in the temporary storage 111 or the storage 112 is read as required and input to each processing unit for the processing thereof.
  • <Share Management Apparatus [PA(α, h(α))] 120-α-h(α)>
  • Fig. 3A is a block diagram for illustrating a configuration of the share management apparatus [PA(α, h(α))] 120-α-h(α) according to the first embodiment. Fig. 5B is a block diagram for illustrating details of a share secret value generation unit 124-α-h(α) shown in Fig. 3A.
    As illustrated in Fig. 3A, the share management apparatus [PA(α, h(α))] 120-α-h(α) has a temporary storage 121-α-h(α), a storage 122-α-h(α), a controller 123-α-h(α), a share secret value generation unit 124-α-h(α), a transmitter 125-α-h(α) and a receiver 126-α-h(α). As illustrated in Fig. 5B, the share secret value generation unit 124-α-h(α) has a linear calculation unit 124a-α-h(α) and a share secret value synthesis unit 124b-α-h(α).
  • The share management apparatus [PA(α, h(α))] 120-α-h(α) is a particular apparatus including a well-known or dedicated computer comprising a CPU, a RAM, a ROM and the like and a particular program. More specifically, the temporary storage 121-α-h(α) and the storage 122-α-h(α) are storage areas provided by a RAM, a register, a cache memory, an element in an integrated circuit or an auxiliary storage device, such as a hard disk, or a combination of at least some of these devices. The controller 123-α-h(α) and the share secret value generation unit 124-α-h(α) are processing units implemented by the CPU executing a predetermined program. At least part of the controller 123-α-h(α) and the share secret value generation unit 124-α-h(α) can be a particular integrated circuit. The transmitter 125-α-h(α) and the receiver 126-α-h(α) are communication devices, such as a modem and a local area network (LAN) card.
  • The share management apparatus [PA(α, h(α))] 120-α-h(α) performs each processing under the control of the controller 123-α-h(α). Although only simply described in the following, every data output from each processing unit is stored in the temporary storage 121-α-h(α) or the storage 122-α-h(α). The data stored in the temporary storage 121-α-h(α) or the storage 122-α-h(α) is read as required and input to each processing unit for the processing thereof.
  • <Common value Generation Apparatus 140-α>
  • Fig. 3B is a block diagram for illustrating a configuration of the common value generation apparatus 140-α according to the first embodiment.
    As illustrated in Fig. 3B, the common value generation apparatus 140-α according to this embodiment has a random number generation unit 141-α and a transmitter 142-α. The common value generation apparatus 140-α according to this embodiment is a particular apparatus including a well-known or dedicated computer comprising a CPU, a RAM, a ROM and the like and a particular program, for example. And the random number generation unit 141-α can be a particular integrated circuit.
  • <Acquisition Apparatus 130>
  • Fig. 4 is a block diagram for illustrating a configuration of the acquisition apparatus 130 according to the first embodiment. Fig. 6 is a block diagram for illustrating details of a reconstruction unit 134-α shown in Fig. 4.
    As illustrated in Fig. 4, the acquisition apparatus 130 according to this embodiment has a temporary storage 131, a storage 132, a controller 133, reconstruction units 134-α (α = 1, ..., L), a synthesis unit 137, a transmitter 135 and a receiver 136. As illustrated in Fig. 6, the reconstruction unit 134-α has a coefficient calculation unit 134a-α and a polynomial calculation unit 134b-α.
  • The acquisition apparatus 130 according to this embodiment is a particular apparatus including a well-known or dedicated computer comprising a CPU, a RAM, a ROM and the like and a particular program. More specifically, the temporary storage 131 and the storage 132 are storage areas provided by a RAM, a register, a cache memory, an element in an integrated circuit or an auxiliary storage device, such as a hard disk, or a combination of at least some of these devices. The controller 133, the reconstruction units 134-α (α = 1, ..., L) and the synthesis unit 137 are processing units implemented by the CPU executing a predetermined program, for example. At least part of the controller 133, the reconstruction units 134-α (α = 1, ..., L) and the synthesis unit 137 can be a particular integrated circuit. The transmitter 135 and the receiver 136 are communication devices, such as a modem and a local area network (LAN) card, for example.
    The acquisition apparatus 130 performs each processing under the control of the controller 133. Although only simply described in the following, every data output from each processing unit is stored in the temporary storage 131 or the storage 132. The data stored in the temporary storage 131 or the storage 132 is read as required and input to each processing unit for the processing thereof.
  • <Secret Sharing Processing>
  • A secret sharing processing according to this embodiment will be described.
  • [Preprocessing]
  • As a preprocessing for the secret sharing processing according to this embodiment, information θ ∈ Fq for identifying secret information θ · g ∈ G is stored in the storage 112 of the sharing apparatus 110.
  • [General Description of Secret Sharing Processing]
  • Fig. 7 is a diagram for generally illustrating the secret sharing processing according to the first embodiment. In the following, the secret sharing processing according to this embodiment will be generally described with reference to Fig. 7.
    According to this embodiment, first, the sharing apparatus 110 (Fig. 1) independently performs the secret sharing of the secret information θ · g ∈ G among each subset SUB(α) to generate pieces of share information SH(α, h(α)) (h(α) = 1, ..., H(α)) and outputs the share information SH(α, h(α)) (Step S11). The pieces of share information SH(α, h(α)) are transmitted and distributed to the respective share management apparatuses [PA(α, h(α))] 120-α-h(α) via the network 150.
  • Each share management apparatus [PA(α, h(α))] 120-α-h(α) having received the corresponding share information SH(α, h(α)) performs a predetermined common calculation using the share information SH(α, h(α)) and the common information including a common value σ(α) shared in the subset SUB(α) to generate share secret value DSH(α, h(α)), and outputs the share secret value DSH(α, h(α)) (Step S12).
  • According to this embodiment, the common values σ(α) shared in different subsets SUB(α) are independent of each other. The share management apparatuses [PA(α, h(α))] 120-α-h(α) belonging to the same subset SUB(α) use the same "common information." In particular, the "common information" illustrated in this embodiment includes the common value σ(α) and provided information v common to all the share management apparatuses PA(α, h(α)) 120-α-h(α) provided by the acquisition apparatus 130. The share management apparatuses [PA(α, h(α))] 120-α-h(α) belonging to the same subset SUB(α) perform the same "common calculation". According to this embodiment, all the "common calculations" are the same. The "common calculation" according to this embodiment is a linear calculation.
  • The share secret value DSH(α, h(α)) output from each share management apparatus [PA(α, h(α))] 120-α-h(α) is transmitted to the acquisition apparatus 130 via the network 150. The acquisition apparatus 130 generates a reconstructed secret value SUBSK(α) by performing a reconstruction processing for each subset SUB(α) using a plurality of share secret values DSH(α, h(α)) for the subset SUB(α) (Step S 13).
  • Then, the acquisition apparatus 130 generates generation information SK using the reconstructed secret value SUBSK(α) generated for each subset SUB(α) and outputs the generation information SK (Step S14). According to this embodiment, the acquisition apparatus 130 generates the generation information SK by linear combination of the reconstructed secret values SUBSK(α).
  • [Processing of Sharing Apparatus (Step S 11)]
  • Fig. 8A is a diagram for illustrating a processing of the sharing apparatus according to the first embodiment, and Fig. 8B is a diagram for illustrating details of the processing of Step S 112. In the following, details of the processing of the sharing apparatus 110 will be described with reference to these drawings.
    First, the controller 113 of the sharing apparatus 110 (Fig. 2) sets α at 1 (α = 1) and stores the setting in the temporary storage 111 (Step S111). Then, the information θ ∈ Fq for identifying the secret information θ · g ∈ G is read from the storage 112 and input to the secret sharing unit 114-α. The secret sharing unit 114-α shares the secret information θ · g or the information θ using the information θ ∈ Fq according to a predetermined secret sharing scheme to generate H(α) pieces of share information SH(α, 1), ..., SH(α, H(α)) for each of the subsets SUB(α) and outputs the share information (Step S112).
  • <<Details of Step S112>>
  • The secret sharing unit 114-α according to this embodiment generates the share information SH(α, h(α)) (h(α) = 1, ..., H(α)) for each subset SUB(α) by sharing the secret information according to an (R(α), H(α)) threshold secret sharing scheme (R(α) is a constant that satisfies a relation: 2 ≤ R(α) < H(α)).
    As illustrated in Fig. 8B, first, the function selection unit 114a-α of the secret sharing unit 114-α (Fig. 5A) randomly selects an R(α)-1-th order polynomial f(α, x) ∈ Fq that satisfies a relation f(α, ω) = θ with regard to a predetermined element ω of the finite field Fq (ω ∈ Fq) and outputs the polynomial (Step S 112a). Note that x represents a variable that is an element of the finite field Fq, and the ω ∈ Fq is 0F, for example.
    Then, the index generation unit 114b-α generates respective indexes φ(h(α)) ∈ Fq for h(α) = 1, ..., H(α) and outputs the indexes (Step S112b). Note that the processing of Step S112b can be omitted if the indexes are h(α), i.e., φ(h(α)) = h(α) ∈ Fq, or the indexes φ(h(α)) ∈ Fq have already been obtained.
    Then, the sharing processing unit 114c-α generates the following share information SH(α, h(α)) (h(α) = 1, ..., H(α)) using the polynomial f(α, x) ∈ Fq and the indexes φ(h(α)) ∈ Fq. SH α , h α = φ h α , f α , φ h α g G
    Figure imgb0009

    The sharing processing unit 114c-α outputs the share information SH(α, h(α)) (Step S 112c) (this is the end of the description of <<Details of Step S112>>).
  • Then, the controller 113 determines whether or not the value α stored in the temporary storage 111 equals to L (Step S 113). If it is not determined that α = L, the controller 113 sets α+1 as a new α, stores the setting in the temporary storage 111 (Step S 114), and instructs to perform the processing of Step S 112 using the new α. On the other hand, if it is determined in Step S 113 that α = L, the share information SH(α, h(α)) (α = 1, ..., L) output from each secret sharing unit 114-α is transmitted to the transmitter 115. The transmitter 115 transmits each share information SH(α, h(α)) (α = 1, ..., L) to the corresponding share management apparatus [PA(α, h(α))] 120-α-h(α) (α = 1, ..., L) via the network 150 (Step S 115). That is, the share information SH(1, 1) is transmitted to the share management apparatus [PA(1,1)] 120-1-1, the share information SH(1, 2) is transmitted to the share management apparatus [PA(1,2)] 120-1-2, ..., and the share information SH(L, H(L)) is transmitted to the share management apparatus [PA(L, H(L))] 120-L-H(L).
  • [Processing of Common value Generation Apparatus]
  • Each common value generation apparatus 140-α (Fig. 3B) generates the common value σ(α) shared among the share management apparatuses [PA(α, h(α))] 120-α-h(α) forming the subset SUB(α) associated with the common value generation apparatus 140-α. According to this embodiment, each common value σ(α) is a random number generated by the random number generation unit 141-α, and the transmitter 142-α transmits the common value σ(α) to each share management apparatus [PA(α, h(α))] 120-α-h(α) forming the subset SUB(α).
  • [Processing of Share Management Apparatus (Step S 12)]
  • Fig. 9A is a diagram for illustrating a processing of the share management apparatus [PA(α, h(α))] 120-α-h(α) according to the first embodiment, and Fig. 9B is a diagram for illustrating details of the processing of Step S124. In the following, the processing of the share management apparatus [PA(α, h(α))] 120-α-h(α) according to this embodiment will be described with reference to these drawings.
  • First, the receiver 126-α-h(α) of the share management apparatus [PA(α, h(α))] 120-α-h(α) (Fig. 3A) receives the transmitted share information SH(α, h(α)) and stores the share information in the storage 122-α-h(α) (Step S 121). Note that the processing of Step S 121 can be omitted if the share information SH(α, h(α)) has already been stored in the storage 122-α-h(α) of the share management apparatus [PA(α, h(α))] 120-α-h(α).
  • The receiver 126-α-h(α) of the share management apparatus [PA(α, h(α))] 120-α-h(α) receives the common value σ(α) transmitted from the common value generation apparatus 140-α and stores the common value in the storage 122-α-h(α) (Step S122).
  • According to this embodiment, the provided information v read from the storage 132 of the acquisition apparatus 130 (Fig. 4) is transmitted by the transmitter 135 to each share management apparatus [PA(α, h(α))] 120-α-h(α) via the network 150. The provided information v is common to all the share management apparatus PA(α, h(α)) 120-α-h(α). The provided information v is received by the receiver 126-α-h(α) of the share management apparatus [PA(α, h(α))] 120-α-h(α) (Fig. 3A) and stored in the storage 122-α-h(α) (Step S 123).
  • Then, the share secret value generation unit 124-α-h(α) reads the share information SH(α, h(α)), the common value σ(α) and the provided information v from the storage 122-α-h(α). The share secret value generation unit 124-α-h(α) generates the share secret value DSH(α, h(α)) by performing a common calculation FNC 1 using the share information SH(α, h(α)) and the common information including the common value σ(α) and the provided information v, and outputs the share secret value DSH(α, h(α)) (Step S124).
  • <<Details of Step S124>>
  • The share secret value generation units 124-α-h(α) of the share management apparatuses PA(α, h(α)) 120-α-h(α) belonging to the same subset SUB(α) use the same common information and perform the same common calculation. The share information according to this embodiment is expressed by the formula (5).
  • As illustrated in Fig. 9B, first, the common value σ(α), the provided information v and f(α, φ(h(α))) · g of the share information SH(α, h(α)) = (φ(h(α)), f(α, φ(h(α))) · g) are input to the linear calculation unit 124a-α-h(α) of the share secret value generation unit 124-α-h(α) according to this embodiment. The linear calculation unit 124a-α-h(α) performs the following calculation and outputs the calculation result dsh(α, φ(h(α))) (Step S124a). dsh α , φ h α = σ α v f α , φ h α g G
    Figure imgb0010
  • The output calculation result dsh(α, φ(h(α))) is input to the share secret value synthesis unit 124b-α-h(α). In addition, the index φ(h(α)) of the share information SH(α, h(α)) = (φ(h(α)), f(α, φ(h(α))) · g) is input to the share secret value synthesis unit 124b-α-h(α), and the share secret value synthesis unit 124b-α-h(α) generates the share secret value DSH(α, h(α)) according to the following calculation. DSH α , h α = φ h α , dsh α , φ h α
    Figure imgb0011

    The share secret value synthesis unit 124b-α-h(α) outputs the share secret value DSH(α, h(α)) (Step S124b) (this is the end of the description of
  • <<Details of Step S124>>).
  • The generated share secret value DSH(α, h(α)) is transmitted to the transmitter 125-α-h(α). The transmitter 125-α-h(α) transmits the share secret value DSH(α, h(α)) to the acquisition apparatus 130 via the network 150 (Step S125).
  • [Processing of Acquisition Apparatus (Steps S 13 and S 14)]
  • Fig. 10A is a diagram for illustrating a processing of the acquisition apparatus according to the first embodiment, and Fig. 10B is a diagram for illustrating the processing of Step S 134.
    The share secret value DSH(α, h(α)) transmitted from each share management apparatus PA(α, h(α)) 120-α-h(α) is received by the receiver 136 of the acquisition apparatus 130 (Fig. 4) and stored in the storage 132 (Step S131).
  • Then, the controller 133 determines whether or not the number of share secret values DSH(α, h(α)) stored in the storage 132 is equal to or greater than a required number (Step S 132). According to this embodiment, it is determined whether or not R(α) or more different share secret values DSH(α, h(α)) are stored in the storage 132 for each α = 1, ..., L (2 ≤ R(α) < H(α)). If it is not determined that the number of share secret values DSH(α, h(α)) stored in the storage 132 is equal to or greater than the required number, the process returns to the processing of Step S 131.
  • On the other hand, if it is determined that the number of share secret values DSH(α, h(α)) stored in the storage 132 is equal to or greater than the required number, the controller 133 sets α at 1 (α = 1) and stores the setting in the temporary storage 131 (Step S 133). Then, the required number of share secret values DSH(α, h(α)) for the subset SUB(α) are read from the storage 132 and input to the reconstruction unit 134-α. The reconstruction unit 134-α generates the reconstructed secret value SUBSK(α) by performing a reconstruction processing for each subset SUB(α) according to the secret sharing scheme used in Step S122 described above using the input share secret values DSH(α, h(α)), and outputs the reconstructed secret value SUBSK(α) for the subset SUB(α) (Step S134).
  • <<Details of Step S134>>
  • The share secret value DSH(α, h(α)) according to this embodiment is expressed by formula (7). To the reconstruction unit 134-α (Fig. 6), R(α) different share secret values DSH(α, h(α)) are input for each α. In the following, the share secret values DHS(α, h(α)) for each α input to the reconstruction unit 134-α are expressed as follows. DSH α , φ 1 α = φ 1 α , dsh 1 α
    Figure imgb0012
    DSH α , φ R α α = φ R α α , dsh R α α
    Figure imgb0013

    Note that the following relations hold. φ 1 α , , φ R α α φ 1 , , φ H α
    Figure imgb0014
    dsh 1 α , , dsh R α α dsh α , φ 1 , , dsh α , φ H α
    Figure imgb0015
  • As illustrated in Fig. 10B, the indexes φ1(α), ..., φR(α)(α) of DSH(α, φ1(α)), ..., DSH(α, φR(α)(α)) expressed by formula (8) are input to the coefficient calculation unit 134a-α, and the coefficient calculation unit 134a-α generates the coefficients λρ(x) (p = 1, ..., R(α)) for each ρ = 1, ..., R(α) by performing the calculation expressed by the following formula and outputs the coefficients (Step S 134a). λ ρ x = x - φ 1 α ρ x - φ R α α φ ρ α - φ 1 α ρ φ ρ α - φ R α α F q
    Figure imgb0016
  • The generated coefficients λρ(x) and dsh1(α), ..., dshR(α)(α) of DSH(α, φ1(α), ..., DSH(α, φR(α)(α)) are input to the polynomial calculation unit 134b-α. The polynomial calculation unit 134b-α generates the reconstructed secret value SUBSK(α) for the subset SUB(α) by performing the following calculation. SUBSK α = λ 1 ω dsh 1 α + + λ R α ω dsh R α α G
    Figure imgb0017

    The polynomial calculation unit 134b-α outputs the reconstructed secret value SUBSK(α) (Step S134b) (this is the end of the description of <<Details of Step S134>>).
  • The controller 133 determines whether or not the value α stored in the temporary storage 131 equals to L (Step S135). If it is not determined that α = L, the controller 133 sets α + 1 as a new α, stores the setting in the temporary storage 131 (Step S136), and instructs to perform the processing of Step S 134 using the new α.
  • On the other hand, if it is determined in Step S135 that α = L, the reconstructed secret value SUBSK(α) output from each reconstruction unit 134-α is sent to the synthesis unit 137. The synthesis unit 137 generates the generation information SK expressed by the following formula using the reconstructed secret values SUBSK(α) generated for the subsets SUB(α), and outputs the generation information SK (Step S141). SK = FNC 2 SUBSK 1 , , SUBSK L
    Figure imgb0018
  • <<Details of Step S141>>
  • The following are specific examples of formula (13). Specific example 1 : SK = SUBSK 1 + + SUBSK L G
    Figure imgb0019
    Specific example 2 : SK = CE 1 SUBSK 1 + + CE L SUBSK L G
    Figure imgb0020

    Note that each CEα ∈ Fq is a coefficient, for example, a multiplicative inverse of L: (L)-1 ∈ Fq. Any one of the coefficients CE1, ..., CEL can be 0F. In that case, the generation information SK is generated by using only part of SUBSK(1) + ... + SUBSK(L). In the generation, the synthesis unit 137 can randomly selects the coefficient or coefficients to be set at 0F from among the coefficients CE1, ..., CEL. This improves security. The synthesis unit 137 can also arbitrarily set the coefficients CE1, ..., CEL. This allows the acquisition apparatus 130 to generate the generation information SK without using the reconstructed secret values SUBSK(α') for a less reliable subset SUB(α') (this is the end of the description of «Details of Step S141>>).
  • <Characteristics of First Embodiment>
  • According to this embodiment, the sharing apparatus 110 performs the secret sharing of the secret information θ ·g ∈ G independently for each subset SUB(α) to generate the share information SH(α, h(α)), each share management apparatus PA(α, h(α)) 120-α-h(α) generates the share secret value DSH(α, h(α)) by performing a common calculation using the share information SH(α, h(α)) and the common information including the common value σ(α) and the provided information v, and the acquisition apparatus 130 generates each of the reconstructed secret values SUBSK(α) by performing a reconstruction processing for each subset SUB(α) using a plurality of share secret values DSH(α, h(α)) for the subset SUB(α) and generates the generation information SK from the reconstructed secret values SUBSK(α).
  • Since the secret sharing, the common calculation and the reconstruction processing are performed for each subset SUB(α) by using the common value σ(α) shared in the subset SUB(α), these processings are possible. In addition, the value σ is not shared among all the share management apparatuses PA(α, h(α)) 120-α-h(α), but the common value σ(α) is independently shared in each subset SUB(α), so that high security is ensured. In particular, according to this embodiment, the common values σ(α) shared in the different subsets SUB(α) are independent of each other. This ensures high security.
  • According to this embodiment, all the share management apparatuses PA(α, h(α)) 120-α-h(α) (α = 1, ..., L) performs the same common calculation FNC1. The common calculation FNC1 according to this embodiment is a linear calculation. Therefore, according to this embodiment, the generation information SK can be generated by linear combination of the reconstructed secret values SUBSK(α), so that the generation information SK generated from the reconstructed secret values SUBSK(α) can be the same as the result of the common calculation FNC1 with respect to the secret information θ · g and a certain value σ as operands.
  • According to this embodiment, the (R(α), H(α)) threshold secret sharing scheme is used to share the secret information θ · g ∈ G among the subset SUB(α). Such an arrangement is possible if the share information SH(α, h(α)) includes an element f(α, φ(h(α))) · g of the cyclic group G (i.e., f(α, φ(h(α))) · g ∈ G) provided that x is a variable that is an element of the finite field Fq, an R(α)-1-th order polynomial that satisfies a relation f(α, ω) = θ for a predetermined element ω of the finite field Fq (ω ∈ Fq) is expressed as f(α, x) ∈ Fq, and the index for h(α) is φ(h(α)). Since the secret information θ · g ∈ G that is an element of the cyclic group is shared by secret sharing, even if the secret information θ · g reconstructed from the share information SH(α, h(α)) leaks to the outside, θ does not leaks to the outside if it is difficult to solve the discrete logarithm problem on the cyclic group G. Thus, high security is ensured.
  • [Modification 1 of First Embodiment]
  • Next, modification 1 of the first embodiment will be described.
    According to the first embodiment, the secret information θ · g ∈ G, which is an element of the cyclic group G, is shared by secret sharing. However, the element θ of the finite field Fq (θ ∈ Fq) can be shared by secret sharing. In that case, the share information SH(α, h(α)) shared according to the (R(α), H(α)) threshold secret sharing scheme includes an element f(α, φ(h(α))) of the finite field Fq (f(α, φ(h(α))) ∈ Fq) provided that x is a variable that is an element of the finite field Fq, an R(α)-1-th order polynomial that satisfies a relation f(α, ω) = θ for a predetermined element ω of the finite field Fq (ω ∈ Fq) is expressed as f(α, x) ∈ Fq, and the index for h(α) is φ(h(α)).
    Fig. 11A is a diagram for illustrating a configuration of a secret sharing unit 214-α according to modification 1 of the first embodiment, and Fig. 11B is a diagram for illustrating a configuration of a share secret value generation unit 224-α-h(α) according to modification 1 of the first embodiment. In these drawings, the same parts as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment.
  • A secret sharing system 2 according to modification 1 of the first embodiment comprises a sharing apparatus 210 that replaces the sharing apparatus 110 and share management apparatuses 220-α-h(α) (α = 1, ..., L) that replace the share management apparatuses 120-α-h(α) (α = 1, ..., L). The secret sharing units 114-α (α = 1, ..., L) are replaced by secret sharing units 214-α (α = 1, ..., L) shown in Fig. 11A, and the share secret value generation units 124-α-h(α) (α = 1, ..., L) are replaced by share secret value generation units 224-α-h(α) (α = 1, ..., L) shown in Fig. 11B. The remainder of the configuration is the same as that according to the first embodiment.
  • «Modification of Step S 112 according to Modification 1 of First Embodiment»
  • According to modification 1 of the first embodiment, the processing of Step S 112 shown in Fig. 8B is modified as described below.
    First, Steps S 112a and S 112b shown in Fig. 8B are performed. Then, instead of Step S112c, a sharing processing unit 214c-α of the secret sharing unit 214-α (Fig. 11A) generates pieces of share information SH(α, h(α)) described below using the polynomial f(α, x) ∈ Fq and the indexes φ(h(α)) ∈ Fq and outputs the share information. SH α , h α = φ h α , f α , φ h α
    Figure imgb0021
  • «Modification of Step S124 according to Modification 1 of First Embodiment»
  • According to modification 1 of the first embodiment, the processing of Step S 124 shown in Fig. 9B is modified as described below.
    First, instead of Step S124a, the common value σ(α), the provided information v and f(α, φ(h(α))) of the share information SH(α, h(α)) = (φ(h(α)), f(α, φ(h(α)))) are input to a linear calculation unit 224a-α-h(α) (Fig. 11B), and the linear calculation unit 224a-α-h(α) performs the following calculation and outputs the calculation result dsh(α, φ(h(α))) ∈ G. dsh α , φ h α = σ α v f α , φ h α g G
    Figure imgb0022

    The calculation result dsh(α, φ(h(α))) ∈ G is information that is part of the share secret value DSH(α, h(α)). Then, the processing of Step S124b shown in Fig. 9B is performed (this is the end of the description of «Modification of Step S124 according to Modification 1 of First Embodiment»). The remainder of the processing is the same as that in the first embodiment.
  • [Modification 2 of First Embodiment]
  • Next, modification 2 of the first embodiment will be described.
    According to modification 2 of the first embodiment, again, an element θ of the finite field Fq (θ ∈ Fq) is shared. The modification 2 of the first embodiment differs from modification 1 in that the calculation result dsh(α, φ(h(α))) is not an element of the cyclic group but an element of the finite field Fq.
  • Fig. 12A is a diagram for illustrating a configuration of a share secret value generation unit 324-α-h(α) according to modification 2 of the first embodiment, and Fig. 12B is a diagram for illustrating a configuration of a reconstruction unit 334-α according to modification 2 of the first embodiment. In these drawings, the same parts as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment.
  • A secret sharing system 3 according to modification 2 of the first embodiment comprises the sharing apparatus 210 that replaces the sharing apparatus 110, share management apparatuses 320-α-h(α) (α = 1, ..., L) that replace the share management apparatuses 120-α-h(α) (α = 1, ..., L), and an acquisition apparatus 330 that replaces the acquisition apparatus 130. The share secret value generation units 124-α-h(α) (α = 1, ..., L) are replaced by the share secret value generation units 324-α-h(α) (α = 1, ..., L) shown in Fig. 12A, and the reconstruction units 134-α (α = 1, ..., L) are replaced by the reconstruction units 334-α (α = 1, ..., L) shown in Fig. 12B. The remainder of the configuration is the same as that according to the first embodiment.
  • «Modification of Step S 112 according to Modification 2 of First Embodiment»
  • Step S 112 is modified in the same way as in modification 1 of the first embodiment.
  • «Modification of Step S 124 according to Modification 2 of First Embodiment»
  • According to modification 2 of the first embodiment, the processing of Step S 124 shown in Fig. 9B is modified as described below.
    First, instead of Step S124a, the common value σ(α), the provided information v and f(α, φ(h(α))) of the share information SH(α, h(α)) = (φ(h(α)), f(α, φ(h(α)))) are input to a linear calculation unit 324a-α-h(α) (Fig. 12A), and the linear calculation unit 324a-α-h(α) performs the following calculation and outputs the calculation result dsh(α, φ(h(α))) ∈ Fq. dsh α , φ h α = σ α v f α , φ h α F q
    Figure imgb0023

    The calculation result dsh(α, φ(h(α))) ∈ Fq is information that is part of the share secret value DSH(α, h(α)). Then, the processing of Step S124b shown in Fig. 9B is performed.
  • «Modification of Step S 134 according to Modification 2 of First Embodiment»
  • First, the processing of Step S 134a shown in Fig. 10B is performed. Then, instead of Step S134b shown in Fig. 10B, each coefficient λρ(x) and dsh1(α), ..., dshR(α)(α) of DSH(α, φ1(α)), ..., DSH(α, φR(α)(α)) expressed by formula (8) are input to a polynomial calculation unit 334b-α (Fig. 12B), and the polynomial calculation unit 334b-α generates the reconstructed secret value SUBSK(α) for the subset SUB(α) by performing the following calculation. SUBSK α = λ 1 ω dsh 1 α + + λ R α ω dsh R α α g G
    Figure imgb0024

    The polynomial calculation unit 334b-α outputs the reconstructed secret value SUBSK(α) for the subset SUB(α) (this is the end of the description of «Modification of Step S 134 according to Modification 2 of First Embodiment»). The remainder of the processing is the same as that in the first embodiment.
  • [Modification 3 of First Embodiment]
  • According to modification 3 of the first embodiment, instead of the (R(α), H(α)) threshold secret sharing scheme, an (H(α), H(α)) threshold secret sharing scheme is used to share secret information.
    Fig. 13A is a diagram for illustrating a configuration of a secret sharing unit 414-α according to modification 3 of the first embodiment, Fig. 13B is a diagram for illustrating a configuration of a share secret value generation unit 424-α-h(α) according to modification 3 of the first embodiment, and Fig. 13C is a diagram for illustrating a configuration of a reconstruction unit 434-α according to modification 3 of the first embodiment.
  • A secret sharing system 4 according to modification 3 of the first embodiment comprises a sharing apparatus 410 that replaces the sharing apparatus 110, a share management apparatuses 420-α-h(α) (α = 1, ..., L) that replace the share management apparatuses 120-α-h(α) (α = 1, ..., L), and an acquisition apparatus 430 that replaces the acquisition apparatus 130. The secret sharing units 114-α (α = 1, ..., L) are replaced by the secret sharing units 414-α (α = 1, ..., L) shown in Fig. 13A, the share secret value generation units 124-α-h(α) (α = 1, ..., L) are replaced by the share secret value generation units 424-α-h(α) (α = 1, ..., L) shown in Fig. 13B, and the reconstruction units 134-α (α = 1, ..., L) are replaced by the reconstruction units 434-α (α = 1, ..., L) shown in Fig. 13C. The remainder of the configuration is the same as that according to the first embodiment.
  • «Modification of Step S 112 according to Modification 3 of First Embodiment»
  • According to modification 3 of the first embodiment, the processing of Step S 112 shown in Fig. 8B is modified as described below.
    First, a random number generation unit 414a-α of the secret sharing unit 414-α (Fig. 13A) randomly selects H(α)-1 elements of the cyclic group G described below and outputs the elements. SH α 1 , , SH α , H α - 1 G
    Figure imgb0025
  • Then, the secret information θ · g ∈ G and the H(α)-1 elements SH(α, 1), ..., SH(α, H(α)-1) of the cyclic group G (SH(α, 1), ..., SH(α, H(α)-1) ∈ G) are input to an inverse calculation unit 414b-α. The inverse calculation unit 414b-α generates SH(α, h(α)) by performing the following calculation and outputs SH(α, h(α)). SH α , h α = θ g - SH α 1 + + SH α , H α - 1 G
    Figure imgb0026
  • The secret sharing unit 414-α outputs the following information as share information for the subset SUB(α). SH α 1 , , SH α , H α G
    Figure imgb0027

    The share information satisfies the following relation. SH α 1 + SH α 2 + + SH α , H α = θ g G
    Figure imgb0028
  • «Modification of Step S 124 according to Modification 3 of First Embodiment»
  • According to modification 3 of the first embodiment, the processing of Step S124 shown in Fig. 9B is modified as described below.
    First, the common value σ(α), the provided information v and the share information SH(α, 1), ..., SH(α, H(α)) are input to the share secret value generation unit 424-α-h(α) (Fig. 13B). The share secret value generation unit 424-α-h(α) generates the share secret value DSH(α, h(α)) by performing the following calculation and outputs the share secret value. DSH α , h α = σ α v SH α , h α G
    Figure imgb0029
  • «Modification of Step S 132 according to Modification 3 of First Embodiment»
  • According to modification 3 of the first embodiment, the processing of Step S 132 shown in Fig. 10A is modified as described below.
    According to modification 3, again, the controller 133 determines whether or not the number of share secret values DSH(α, h(α)) stored in the storage 132 is equal to or greater than a required number, where the "required number" in modification 3 is H(α). That is, according to modification 3, it is determined for each α = 1, ..., L whether or not all the share secret values DSH(α, h(α)) are stored in the storage 132.
  • «Modification of Step S134 according to Modification 3 of First Embodiment»
  • According to modification 3 of the first embodiment, the processing of Step S 134 shown in Fig. 10B is modified as described below.
    The share secret value DSH(α, h(α)) according to modification 3 is expressed by formula (23). To the reconstruction unit 434-α (Fig. 13C), all the share secret values DSH(α, h(α)) (h(α) = 1, ..., H(α)) for α are input. The reconstruction unit 434-α generates the reconstructed secret value SUBSK(α) for the subset SUB(α) by performing the following calculation and outputs the reconstructed secret value. SUBSK α = DSH α 1 + + DSH α , H α G
    Figure imgb0030

    The remainder of the processing is the same as that in the first embodiment.
  • [Modification 4 of First Embodiment]
  • According to modification 4 of the first embodiment, again, instead of the (R(α), H(α)) threshold secret sharing scheme, the (H(α), H(α)) threshold secret sharing scheme is used to share secret information. Modification 4 differs from modification 3 in that secret information θ ∈ Fq that is an element of the finite field Fq is shared by secret sharing.
  • Fig. 14A is a diagram for illustrating a configuration of a secret sharing unit 514-α according to modification 4 of the first embodiment, Fig. 14B is a diagram for illustrating a configuration of a share secret value generation unit 524-α-h(α) according to modification 4 of the first embodiment, and Fig. 14C is a diagram for illustrating a configuration of a reconstruction unit 534-α according to modification 4 of the first embodiment.
    A secret sharing system 5 according to modification 4 of the first embodiment comprises a sharing apparatus 510 that replaces the sharing apparatus 110, share management apparatuses 520-α-h(α) (α = 1, ..., L) that replace the share management apparatuses 120-α-h(α) (α = 1, ..., L), and an acquisition apparatus 530 that replaces the acquisition apparatus 130. The secret sharing units 114-α (α = 1, ..., L) are replaced by the secret sharing units 514-α (α = 1, ..., L) shown in Fig. 14A, the share secret value generation units 124-α-h(α) (α = 1, ..., L) are replaced by the share secret value generation units 524-α-h(α) (α = 1, ..., L) shown in Fig. 14B, and the reconstruction units 134-α (α = 1, ..., L) are replaced by the reconstruction units 534-α (α = 1, ..., L) shown in Fig. 14C. The remainder of the configuration is the same as that according to the first embodiment.
  • «Modification of Step S 112 according to Modification 4 of First Embodiment»
  • According to modification 4 of the first embodiment, the processing of Step S 112 shown in Fig. 8B is modified as described below.
    First, a random number generation unit 514a-α of the secret sharing unit 514-α (Fig. 14A) randomly selects H(α)-1 elements of the finite field Fq described below and outputs the elements. SH α 1 , , SH α , H α - 1 F q
    Figure imgb0031
  • Then, the secret information θ ∈ Fq and the H(α)-1 elements SH(α, 1), ..., SH(α, H(α)-1) of the finite field Fq (SH(α, 1), ..., SH(α, H(α)-1) ∈ Fq) are input to an inverse calculation unit 514b-α. The inverse calculation unit 514b-α generates SH(α, h(α)) by performing the following calculation and outputs SH(α, h(α)). SH α , h α = θ - SH α 1 + + SH α , H α - 1 F q
    Figure imgb0032
  • The secret sharing unit 514-α outputs the following as share information for the subset SUB(α). SH α 1 , , SH α , H α F q
    Figure imgb0033

    The share information satisfies the following relation. SH α 1 + SH α 2 + + SH α , H α = θ F q
    Figure imgb0034
  • «Modification of Step S 124 according to Modification 4 of First Embodiment»
  • According to modification 4 of the first embodiment, the processing of Step S 124 shown in Fig. 9B is modified as described below.
    First, the common value σ(α), the provided information v and the share information SH(α, 1), ..., SH(α, H(α)) are input to the share secret value generation unit 524-α-h(α) (Fig. 14B). The share secret value generation unit 524-α-h(α) generates the share secret value DSH(α, h(α)) by performing the following calculation and outputs the share secret value. DSH α , h α = σ α v SH α , h α F q
    Figure imgb0035
  • «Modification of Step S 132 according to Modification 4 of First Embodiment»
  • Step S 132 is modified in the same way as in modification 3 of the first embodiment.
  • «Modification of Step S 134 according to Modification 4 of First Embodiment»
  • According to modification 4 of the first embodiment, the processing of Step S 134 shown in Fig. 10B is modified as described below.
    The share secret value DSH(α, h(α)) according to modification 4 is expressed by formula (29). To the reconstruction unit 534-α (Fig. 14C), all the share secret values DSH(α, h(α)) (h(α) = 1, ..., H(α)) for α are input. The reconstruction unit 534-α generates the reconstructed secret value SUBSK(α) for the subset SUB(α) by performing the following calculation and outputs the reconstructed secret value. SUBSK α = DSH α 1 + + DSH α , H α g G
    Figure imgb0036

    The remainder of the processing is the same as that in the first embodiment.
  • [Other Modifications of First Embodiment]
  • Various other modifications can be made without departing from the spirit of the present invention. For example, the calculation expressed by the following formula (31) can be performed instead of formula (29) in modification 4 of the first embodiment, and the calculation expressed by formula (24) can be performed instead of the calculation expressed by formula (30). DSH α , h α = σ α v SH α , h α F q
    Figure imgb0037

    The reconstructed secret value SUBSK(α) can be an element of the finite field Fq.
  • Although the same secret sharing scheme is used for the subsets SUB(α) in this embodiment, different secret sharing schemes can also be used for different subsets SUB(α).
  • Although the common value generation apparatus 140-α is provided for each subset SUB(α) in this embodiment, any one of the share management apparatuses in each subset SUB(α) can have the function of the common value generation apparatus. In that case, the common value generation apparatus 140-α is unnecessary.
  • In this embodiment, the share secret value DSH(α, h(α)) is generated by performing the common calculation FNC1 using the share information SH(α, h(α)) and the common information including the common value σ(α) and the provided information v. However, the share secret value DSH(α, h(α)) can also be generated without using the provided information v by using the common value σ(α) alone as the common information. The common information can also include other information as well as the common value σ(α) and the provided information v.
  • Although the same common calculation for determining the share secret value DSH(α, h(α)) has to be used in each subset SUB(α), different common calculations can be used in different subsets SUB(α).
  • [Second Embodiment]
  • Next, a second embodiment of the present invention will be described. This embodiment is an application of the first embodiment to key generation in functional encryption.
  • <Definitions>
  • Terms and symbols used in the description of this embodiment will be defined below.
    Matrix: the term "matrix" means a rectangular array of elements of a set for which a calculation is defined. Not only elements of a ring but also elements of a group can form the matrix.
    • (●)T: (●)T represents a transposed matrix of ●.
    • (●)-1: (●)-1 represents an inverse matrix of ●.
    • ∧: ∧ is a logical symbol that represents logical conjunction (AND).
    • ∨: ∨ is a logical symbol that represents logical disjunction (OR).
    • ¬: ¬ is a logical symbol that represents negation (NOT).
    Propositional variable: a propositional variable is a variable in a set {true, false} consisting of "true" and "false" of a proposition. That is, the domain of the propositional variable is a set consisting of "true" and "false". The propositional variable and the negation of the propositional variable are collectively called literals.
    Logical formula: the term "logical formula" means an expression of a proposition in mathematical logic. More specifically, "true" and "false" are logical formulas, a propositional variable is a logical formula, the negation of a logical formula is a logical formula, the conjunction of logical formulas is a logical formula, and the disjunction of logical formulas is a logical formula.
  • Z: Z represents the integer set.
    sec: sec represents a security parameter (sec ∈ Z, sec > 0).
    0*: 0* represents a string of * 0s.
    1*: 1* represents a string of * 1s.
    Fq: Fq represents a finite field having an order q (same definition as in the first embodiment).
    0F: 0F represents an additive identity of the finite field Fq (same definition as in the first embodiment).
    1F: 1F represents a multiplicative identity of the finite field Fq (same definition as in the first embodiment).
    δ(i, j): δ(i, j) represents a Kronecker delta function. δ(i, j) = 1F when i = j, and δ(i, j) = 0F when i ≠ j.
  • E: E represents an elliptic curve defined on the finite field Fq (same definition as in the first embodiment).
    A finite set comprising rational points on the elliptic curve E has a subgroup having an order p (p ≥ 1). For example, provided that the number of elements of the finite set comprising rational points on the elliptic curve E is denoted by #E, and p is a large prime number that divides #E, a finite set E[p] consisting of p-division points on the elliptic curve E forms a subgroup of the finite set consisting of the rational points on the elliptic curve E. The "p-division points on the elliptic curve E" means those of the points A on the elliptic curve E whose elliptic curve scalar products p · A on the elliptic curve E satisfy a relation p · A = O.
  • G1, G2, GT: G1, G2 and GT each represent a cyclic group having an order q. Specific examples of the cyclic groups G1 and G2 include the finite set E[p] comprising p-division points on the elliptic curve E and a subgroup thereof. G1 may be the same as G2 (G1 = G2) or differ from G2 (G1 ≠ G2). Specific examples of the cyclic group GT include a finite set forming an extension field of the finite field Fq, which is a prime field. One example is a finite set consisting of p-th roots of 1 in an algebraic closure of the finite field Fq. The security is improved if the cyclic groups G1, G2 and GT and the finite field Fq have the same order.
    In this embodiment, calculations defined on the cyclic groups G1 and G2 are additively expressed, and a calculation defined on the cyclic group GT is multiplicatively expressed. For example, χ · Ω ∈ G1 for χ ∈ Fq and Ω ∈ G1 means that a calculation defined on the cyclic group G1 is performed χ times on Ω ∈ G1, and Ω1 + Ω2 ∈ G1 for Ω1 and Ω2 ∈ G means that a calculation defined on the cyclic group G1 is performed on operands Ω1 ∈ G1 and Ω2 ∈ G1. Similarly, χ · Ω ∈ G2 for χ ∈ Fq and Ω ∈ G2 means that a calculation defined on the cyclic group G2 is performed χ times on Ω ∈ G2, and Ω1 + Ω2 ∈ G2 for Ω1 and Ω2 ∈ G2 means that a calculation defined on the cyclic group G2 is performed on operands Ω1 ∈ G2 and Ω2 ∈ G2. On the other hand, Ωχ ∈ GT for χ ∈ Fq and Ω ∈ GT means that a calculation defined on the cyclic group GT is performed χ times on Ω ∈ GT, and Ω1 · Ω2 ∈ GT for Ω1 and Ω2 ∈ GT means that a calculation defined on the cyclic group G1 is performed on operands Ω1 ∈ GT and Ω2 ∈ GT.
  • Ψ: Ψ represents an integer equal to or greater than 1.
    Ψ: Ψ represents an integer equal to or greater than 0 and equal to or smaller than Ψ (ψ = 0, ..., Ψ).
    λ: λ represents an integer equal to or greater than 1 and equal to or smaller than Ψ (λ = 1, ..., Ψ).
    n(ψ): n(ψ) represents an integer equal to or greater than 1.
    ζ(ψ): ζ(ψ) represents an integer equal to or greater than 0.
  • G1 n(ψ)+ζ(ψ): G1 n(ψ)+ζ(ψ) represents a direct product of n(ψ)+ζ(ψ) cyclic groups G1.
    G2 n(ψ)+ζ(ψ): G2 n(ψ)+ζ(ψ) represents a direct product of n(ψ)+ζ(ψ) cyclic groups G2.
    g1, g2, gT: g1, g2 and gT represent generators of the cyclic groups G1, G2 and GT, respectively.
    V(ψ): V(ψ) represents an n(ψ)+ζ(ψ)-dimensional vector space formed by a direct product of n(ψ)+ζ(ψ) cyclic groups G1.
    V*(ψ): V*(ψ) represents an n(ψ)+ζ(ψ)-dimensional vector space formed by a direct product of n(ψ)+ζ(ψ) cyclic groups G2.
  • eψ: eψ represents a nondegenerate bilinear map that maps a direct product G1 n(ψ)+ζ(ψ) × G2 n(ψ)+ζ(ψ) of the direct product G1 n(ψ)+ζ(ψ) and the direct product G2 n(ψ)+ζ(ψ)) to the cyclic group GT. The bilinear map eψ outputs one element of the cyclic group GT in response to input of n(ψ)+ζ(ψ) elements γβ (β = 1, ..., n(ψ) + ζ(ψ)) of the cyclic group G1 and n(ψ)+ζ(ψ) elements γβ* (β = 1, ... n(ψ) + ζ(ψ)) of the cyclic group G2. e ψ : G 1 n ψ + ζ ψ × G 2 n ψ + ζ ψ G T
    Figure imgb0038

    The bilinear map eψ has the following properties.
  • [Bilinearlity]
  • The bilinear map eψ satisfies the following relation for any elements of Γ1 ∈ G1 n(ψ)+ζ(ψ), Γ2 ∈ G2 n(ψ)+ζ(ψ), and ν, κ ∈ Fq. e ψ ν Γ 1 , κ Γ 2 = e ψ Γ 1 Γ 2 ν κ
    Figure imgb0039
  • [Nondegenerateness]
  • The bilinear map eψ is not a map that maps all the elements of Γ1 ∈ G1 n(ψ)+ζ(ψ) and Γ2 ∈ G2 n(ψ)+ζ(ψ) to the identity element of the cyclic group GT.
  • [Computability]
  • There is an efficient calculation algorithm for eψ1, Γ2) for any of the following elements. Γ 1 G 1 n ψ + ζ ψ , Γ 2 G 2 n ψ + ζ ψ
    Figure imgb0040
  • According to this embodiment, a nondegenerate bilinear map that maps the direct current G1 x G2 of the cyclic groups G1 and G2 to the cyclic group GT shown below is used to provide the bilinear map eψ. Pair : G 1 × G 2 G T
    Figure imgb0041

    The bilinear map eψ according to this embodiment outputs one element of the cyclic group GT in response to input of an n(ψ)+ζ(ψ)-dimensional vector (γ1, ..., γn(ψ)+ζ(ψ)) formed by n(ψ)+ζ(ψ) elements γ β (β = 1, ..., n(ψ)+ζ(ψ)) of the cyclic group G1 and an n(ψ)+ζ(ψ)-dimensional vector (γ1 *, ..., γn(ψ)+ζ(ψ) *) formed by n(ψ)+ζ(ψ) elements γ β * (β = 1, ... n(ψ)+ζ(ψ)) of the cyclic group G2. e ψ : β = 1 n ψ + ζ ψ Pair γ β γ β *
    Figure imgb0042

    The bilinear map Pair outputs one element of the cyclic group GT in response to a set of one element of the cyclic group G1 and one element of the cyclic group G2. The bilinear map Pair has the following properties.
  • [Bilinearlity]
  • The bilinear map Pair satisfies the following relation for any elements of Ω1 ∈ G1, Ω2 ∈ G2, and ν, κ ∈ Fq. Pair ν Ω 1 , κ Ω 2 = Pair Ω 1 Ω 2 v κ
    Figure imgb0043
  • [Nondegenerateness]
  • The bilinear map Pair is not a map that maps all the elements of Ω 1 G 1 , Ω 2 G 2
    Figure imgb0044

    to the identity element of the cyclic group GT.
  • [Computability]
  • There is an efficient calculation algorithm for Pair(Ω1, Ω2) for any of the elements of Ω1 ∈ G1 and Ω2 ∈ G2.
  • Specific examples of the bilinear map Pair include functions for pairing calculations, such as Weil pairing and Tate pairing (see Reference literature 4 (Alfred. J. Menezes, "ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6, pp. 61 to 81), for example). Depending on the type of the elliptic curve E, a modified pairing function e(Ω1, phi(Ω2)) (Ω1 ∈ G1, Ω2 ∈ G2) that is a combination of a function for a pairing calculation, such as Tate pairing, and a predetermined function phi may be used as the bilinear map Pair (see Reference literature 2, for example). An algorithm for performing the paring calculation on a computer is the well-known Millers algorithm (see Reference literature 5 (V. S. Miller, "Short Programs for functions on Curves," 1986, Internet <http://crypto.stanford.edu/miller/miller.pdf>). Methods for forming an elliptic curve or a cyclic group that improves efficiency of the pairing calculation are well-known (see Reference literature 2, Reference literature 6 (A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234 to 1243, May 2001), Reference literature 7 (P. S. L. M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp. 257 to 267, Springer-Verlag. 2003), and Reference literature 8 (R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/), for example).
  • ai(ψ) (i=1, ..., n(ψ) + ζ(ψ)): ai(ψ) represent n(ψ)+ζ(ψ)-dimensional basis vectors each consisting of n(ψ)+ζ(ψ) elements of the cyclic group G1. For example, the basis vectors ai(ψ) are n(ψ)+ζ(ψ)-dimensional vectors the i-th elements of which are κ1 · g1 ∈ G1 and the remaining n(ψ)+ζ(ψ)-1 elements of which are the identity elements of the cyclic group G1 (expressed as "0" in additive terms). In this example, the elements of the n(ψ)+ζ(ψ)-dimensional basis vectors ai(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) are expressed as follows. a 1 ψ = κ 1 g 1 , 0 , 0 , , 0 a 2 ψ = 0 , κ 1 g 1 , 0 , , 0 a n ψ + ζ ψ ψ = 0 , 0 , 0 , , κ 1 g 1
    Figure imgb0045

    κ1 represents a constant that is an element of the finite field Fq other than the additive identity 0F, and a specific example of κ1 ∈ Fq is κ1 = 1F. The basis vectors ai(ψ) are orthogonal bases, and any n(ψ)+ζ(ψ)-dimensional vector consisting of n(ψ)+ζ(ψ) elements of the cyclic group G1 is expressed by a linear sum of the n(ψ)+ζ(ψ)-dimensional basis vectors ai(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). That is, the n(ψ)+ζ(ψ)-dimensional basis vectors ai(ψ) span the vector space V(ψ).
  • ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)): ai *(ψ) represent n(ψ)+ζ(ψ)-dimensional basis vectors each consisting of n(ψ)+ζ(ψ) elements of the cyclic group G2. For example, the basis vectors ai *(ψ) are n(ψ)+ζ(ψ)-dimensional vectors the i-th elements of which are κ2 · g2 ∈ G2 and the remaining n(ψ)+ζ(ψ)-1 elements of which are the identity elements of the cyclic group G2 (expressed as "0" in additive terms). In this example, the elements of the n(ψ)+ζ(ψ)-dimensional basis vectors ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) are expressed as follows. a 1 * ψ = κ 2 g 2 , 0 , 0 , , 0 a 2 * ψ = 0 , κ 2 g 2 , 0 , , 0 a n ψ + ζ ψ * ψ = 0 , 0 , 0 , , κ 2 g 2
    Figure imgb0046

    κ2 represents a constant that is an element of the finite field Fq other than the additive identity 0F, and a specific example of κ2 ∈ Fq is κ2 = 1F. The basis vectors ai *(ψ) are orthogonal bases, and any n(ψ)+ζ(ψ)-dimensional vector consisting of n(ψ)+ζ(ψ) elements of the cyclic group G2 is expressed by a linear sum of the n(ψ)+ζ(ψ)-dimensional basis vectors ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). That is, the n(ψ)+ζ(ψ)-dimensional basis vectors ai *(ψ) span the vector space V*(ψ).
  • The basis vectors ai(ψ) and ai *(ψ) satisfy the following relation with respect to the elements τ = κ1 · κ2 of the finite field Fq other than 0F. e ψ a i ψ , a j * ψ = g T τ δ i j
    Figure imgb0047

    That is, if i = j, the following relation holds from the relations expressed by formulas (36) and (37). e ψ a i ψ , a j * ψ = Pair κ 1 g 1 , κ 2 g 2 Pair 0 0 Pair 0 0 = Pair g 1 g 2 κ 1 κ 2 Pair g 1 g 2 0 0 Pair g 1 g 2 0 0 = Pair g 1 g 2 κ 1 κ 2 = g T τ
    Figure imgb0048

    The superscripts κ1 and κ2 represent κ1 and κ2, respectively.
    On the other hand, if i ≠ j, the right side of eψ(ai(ψ), aj *(ψ)) = Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ)) does not include Pair(κ1 · g1, κ2 · g2) but is the product of Pair(κ1 · g1, 0), Pair(0, κ2 · g2) and Pair(0, 0). Furthermore, from the relation expressed by formula (37), a relation holds: Pair(g1, 0) = Pair(0, g2) = Pair(g1, g2)0. Therefore, if i ≠ j, the following relation holds. e ψ a i ψ , a j * ψ = e ψ g 1 g 2 0 = g T 0
    Figure imgb0049
  • In particular, if τ = κ1 · κ2 = 1F (if κ1 = κ2 = 1F, for example), the following relation holds. e a i ψ , a j * ψ = g T δ i j
    Figure imgb0050

    gT 0 = 1 is the identity element of the cyclic group GT, and gT 1 = gT is the generator of the cyclic group GT. The basis vectors ai(ψ) and ai *(ψ) are dual normal orthogonal bases, and the vector spaces V(ψ) and V*(ψ) are dual vector spaces capable of forming a bilinear map (dual pairing vector spaces (DPVSs)).
  • A(ψ): A(ψ) represents an n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix consisting of the basis vectors ai(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). For example, if the basis vectors ai(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) are expressed by formula (39), the matrix A(ψ) is expressed as follows. A ψ = a 1 ψ a 2 ψ a n ψ + ζ ψ ψ = κ 1 g 1 0 0 0 κ 1 g 1 0 0 0 κ 1 g 1
    Figure imgb0051
  • A*(ψ): A*(ψ) represents an n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix consisting of the basis vectors ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). For example, if the basis vectors ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) are expressed by formula (40), the matrix A*(ψ) is expressed as follows. A * ψ = a 1 * ψ a 2 * ψ a n ψ + ζ ψ * ψ = κ 2 g 2 0 0 0 κ 2 g 2 0 0 0 κ 2 g 2
    Figure imgb0052
  • X(ψ): X(ψ) represents an n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix consisting of the elements of the finite field Fq. The matrix X(ψ) is used for coordinate transformation of the basis vectors ai(ψ). If i rows by j columns of elements of the matrix X(ψ) (i = 1, ..., n(ψ) + ζ(ψ), j = 1, ..., n(ψ) + ζ(ψ)) are denoted by χi,j(ψ) ∈ Fq, the matrix X(ψ) is expressed as follows. X ψ = χ 1 , 1 ψ χ 1 , 2 ψ χ 1 , n ψ + ζ ψ ψ χ 2 , 1 ψ χ 2 , 2 ψ χ n ψ + ζ ψ , 1 ψ χ n ψ + ζ ψ , 2 ψ χ n ψ + ζ ψ , n ψ + ζ ψ ψ
    Figure imgb0053

    Each element χi,j(ψ) of the matrix X(ψ) is referred to as a transformation coefficient.
  • X*(ψ): X*(ψ) represents a matrix that satisfies a relation: X*(ψ) = τ' · (X(ψ)-1)T . τ' ∈ Fq is an arbitrary constant belonging to the finite field Fq, e.g., τ' = 1F. The matrix X*(ψ) is used for coordinate transformation of the basis vectors ai *(ψ). If i rows by j columns of elements of the matrix X*(y) are denoted by χi,J *(ψ) ∈ Fq, the matrix X*(ψ) is expressed as follows. X * ψ = χ 1 , 1 * ψ χ 1 , 2 * ψ χ 1 , n ψ + ζ ψ * ψ χ 2 , 1 * ψ χ 2 , 2 * ψ χ n ψ + ζ ψ , 1 * ψ χ n ψ + ζ ψ , 2 * ψ χ n ψ + ζ ψ , n ψ + ζ ψ * ψ
    Figure imgb0054

    Each element χi,j*(ψ) of the matrix X*(ψ) is referred to as a transformation coefficient.
  • In this case, provided that a unit matrix with n(ψ)+ζ(ψ) rows and n(ψ)+ζ(ψ) columns is denoted by I(ψ), a relation holds: X(ψ)·(X*(ψ))T = τ'· I(ψ). That is, the unit matrix is defined as follows. I ψ = 1 F 0 F 0 F 0 F 1 F 0 F 0 F 0 F 1 F
    Figure imgb0055

    With regard to this, the following relation holds. χ 1 , 1 ψ χ 1 , 2 ψ χ 1 , n ψ + ζ ψ ψ χ 2 , 1 ψ χ 2 , 2 ψ χ n ψ + ζ ψ , 1 ψ χ n ψ + ζ ψ , 2 ψ χ n ψ + ζ ψ , n ψ + ζ ψ ψ × χ 1 , 1 * ψ χ 1 , 2 * ψ χ 1 , n ψ + ζ ψ * ψ χ 2 , 1 * ψ χ 2 , 2 * ψ χ n ψ + ζ ψ , 1 * ψ χ n ψ + ζ ψ , 2 * ψ χ n ψ + ζ ψ , n ψ + ζ ψ * ψ
    Figure imgb0056
    = τʹ 1 F 0 F 0 F 0 F 1 F 0 F 0 F 0 F 1 F
    Figure imgb0057

    The n(ψ)+ζ(ψ)-dimensional vectors are defined as follows. χ i ψ = χ i , 1 ψ , , χ i , n ψ + ζ ψ ψ
    Figure imgb0058
    χ i * ψ = χ i , 1 * ψ , , χ i , n ψ + ζ ψ * ψ
    Figure imgb0059

    Then, from the relation expressed by formula (48), the inner product of the n(ψ)+ζ(ψ)-dimensional vectors χi (ψ) and χj →*(ψ) is expressed as follows. χ i ψ χ j * ψ = τʹ δ i j
    Figure imgb0060
  • bi(ψ): bi(ψ) represent n(ψ)+ζ(ψ)-dimensional basis vectors each consisting of n(ψ)+ζ(ψ) elements of the cyclic group G1. bi(ψ) are obtained by coordinate transformation of the basis vectors ai(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) using the matrix X(ψ). More specifically, the basis vectors bi(ψ) are obtained by the following calculation. b i ψ = j = 1 n ψ + ζ ψ χ i , j ψ a j ψ
    Figure imgb0061

    For example, if the basis vectors aj(ψ) (j = 1, ..., n(ψ) + ζ(ψ)) are expressed by formula (39), the elements of the basis vectors bi(ψ) are expressed as follows. b i ψ = χ i , 1 ψ κ 1 g 1 , χ i , 2 ψ κ 1 g 1 , , χ i , n ψ + ζ ψ ψ κ 1 g 1
    Figure imgb0062

    Any n(ψ)+ζ(ψ)-dimensional vector consisting of n(ψ)+ζ(ψ) elements of the cyclic group G1 is expressed by a linear sum of the n(ψ)+ζ(ψ)-dimensional basis vectors bi(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). That is, the n(ψ)+ζ(ψ)-dimensional basis vectors bi(ψ) span the vector space V(ψ) described above.
  • bi *(ψ): bi *(ψ) represents n(ψ)+ζ(ψ)-dimensional basis vectors each consisting of n(ψ)+ζ(ψ) elements of the cyclic group G2. bi *(ψ) are obtained by coordinate transformation of the basis vectors ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) using the matrix X*(ψ). More specifically, the basis vectors bi *(ψ) are obtained by the following calculation. b i * ψ = j = 1 n ψ + ζ ψ χ i , j * ψ a * j ψ
    Figure imgb0063

    For example, if the basis vectors aj *(ψ) (j = 1, ..., n(ψ) + ζ(ψ)) are expressed by formula (40), the elements of the basis vectors bi *(ψ) are expressed as follows. b i * ψ = χ i , 1 * ψ κ 2 g 1 , χ i , 2 * ψ κ 1 g 1 , , χ i , n ψ + ζ ψ * ψ κ 2 g 2
    Figure imgb0064
  • Any n(ψ)+ζ(ψ)-dimensional vector consisting of n(ψ)+ζ(ψ) elements of the cyclic group G2 is expressed by a linear sum of the n(ψ)+ζ(ψ)-dimensional basis vectors bi *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). That is, the n(ψ)+ζ(ψ)-dimensional basis vectors bi *(ψ) span the vector space V*(ψ) described above.
  • The basis vectors bi(ψ) and bi *(ψ) satisfy the following relation with respect to the elements τ = κ1 · κ2 of the finite field Fq other than 0F. e ψ b i ψ , b j * ψ = g T τ τʹ δ i j
    Figure imgb0065

    That is, from the relations expressed by formulas (36), (51), (53) and (55), the following relation holds. e ψ b i ψ , b j * ψ = β = 1 n ψ + ζ ψ Pair χ i , β ψ κ 1 g 1 , χ j , β * ψ κ 2 g 2 = Pair g 1 g 2 κ 1 κ 2 χ i ψ χ j * ψ = Pair g 1 g 2 τ τʹ δ i j = g T τ τʹ δ i j
    Figure imgb0066

    In particular, if τ = κ1 · κ2 = 1F1 = κ2 = 1F, for example) and τ' = 1F, the following relation holds. e ψ b i ψ , b j * ψ = g T δ i j
    Figure imgb0067

    The basis vectors bi(ψ) and bi *(ψ) are dual normal orthogonal bases of dual pairing vector spaces (the vector spaces V(ψ) and V*(ψ)).
    If the relation expressed by formula (56) holds, other basis vectors ai(ψ) and ai *(ψ) than those illustrated by formulas (39) and (40) or other basis vectors bi(ψ) and bi *(ψ) than those illustrated by formulas (52) and (54) can also be used.
  • B(ψ): B(ψ) represents an n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix consisting of the basis vectors bi(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). A relation holds: B(ψ) = X(ψ) · A(ψ). For example, if the basis vectors bi(ψ) are expressed by formula (53), the matrix B(ψ) is expressed as follows. B ψ = b 1 ψ b 2 ψ b n ψ + ζ ψ ψ = χ 1 , 1 ψ κ 1 g 1 χ 1 , n ψ + ζ ψ ψ κ 1 g 1 χ n ψ + ζ ψ , 1 * ψ κ 1 g 1 χ n ψ + ζ ψ , n ψ + ζ ψ ψ κ 1 g 1
    Figure imgb0068
  • B*(ψ): B*(ψ) represents an n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix consisting of the basis vectors bi *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). A relation holds: B*(ψ) = X*(ψ) · A*(ψ). For example, if the basis vectors bi *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) are expressed by formula (55), the matrix B*(ψ) is expressed as follows. B * ψ = b 1 * ψ b 2 * ψ b n ψ + ζ ψ * ψ = χ 1 , 1 * ψ κ 2 g 2 χ 1 , n ψ + ζ ψ * ψ κ 2 g 2 χ n ψ + ζ ψ , 1 * ψ κ 2 g 2 χ n ψ + ζ ψ , n ψ + ζ ψ * ψ κ 2 g 2
    Figure imgb0069
  • v(λ): v(λ) represent n(λ)-dimensional vectors each consisting of elements of the finite field Fq. v λ = v 1 λ , , v n λ λ F q n λ
    Figure imgb0070

    vµ(λ): vµ(λ) represent µ-th elements (µ = 1, ..., n(λ)) of the n(λ)-dimensional vectors v(λ).
    w(λ): w(λ) represent n(λ)-dimensional vectors each consisting of elements of the finite field Fq. w λ = w 1 λ , , w n λ λ F q n λ
    Figure imgb0071

    wµ(λ): wµ(λ) represent µ-th elements (µ = 1, ..., n(λ)) of the n(λ)-dimensional vectors wµ(λ).
  • Enc: Enc represents a common key encryption function that represents an encryption processing according to the common key cryptography.
    EncK(M): EncK(M) represents a ciphertext obtained by encryption of a plaintext M according to the common key encryption function Enc using a common key K.
    Dec: Dec represents a common key decryption function that represents a decryption processing according to the common key cryptography.
    DecK(C): DecK(C) represents a decryption result obtained by decryption of a ciphertext C according to the common key decryption function Dec using the common key K.
  • <Functional Encryption Scheme>
  • Next, a basic configuration of a functional encryption scheme will be described.
    The functional encryption scheme is a scheme according to which a ciphertext is decrypted if the truth value of a logical formula determined by a combination of first information and second information is "true." One of the first and second information is embedded in the ciphertext, and the other is embedded in key information. For example, the predicate encryption scheme disclosed in "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," with Amit Sahai and Brent Waters One of 4 papers from Eurocrypt 2008 invited to the Journal of Cryptology (Reference literature 9) is a functional encryption scheme.
  • There are various other well-known functional encryption schemes. In the following, however, a new functional encryption scheme that has not been published yet will be described. According to the new functional encryption scheme described below, a value corresponding to secet information is hierarchically secret-shared in a mode that depends on a predetermined logical formula. The predetermined logical formula includes propositional variables whose truth value are determined by the combination of first information and second information and includes some or all of the logical symbols ∧, ∨ and ¬ as required. If the truth value of the predetermined logical formula determined by the truth values of propositional variables is "true," the value corresponding to the secret value is reconstructed, and the ciphertext is decrypted based on the reconstructed value.
  • <Relationship between Logical formula and Hierarchical Secret Sharing>
  • A relationship between the predetermined logical formula and the hierarchical secret sharing will be described.
    As described above, according to the (N, N) threshold secret sharing scheme, although the secret information SE can be reconstructed if all the share information share(1), ..., share(N) are given, the secret information SE cannot be obtained at all if N-1 arbitrary pieces of share information share(φ1), ..., share(φN-1) are given. According to the (Kt,N) threshold secret sharing scheme, although the secret information SE can be reconstructed if Kt different arbitrary pieces of share information share(φ1), ..., share(φKt) are given, the secret information SE cannot be obtained at all if Kt-1 arbitrary pieces of share information share(φ1), ..., share(φKt-1) are given.
  • These secret sharing schemes can be performed on a field. Furthermore, these schemes can be extended to share a value corresponding to secret information SE into values corresponding to share information, shares, by secret sharing. The value corresponding to secret information SE is the secret information SE itself or a function value of the secret information SE, and values corresponding to the share information, shares, are the pieces of share information, shares, themselves or function values of the share information. For example, an element gT SE ∈ GT corresponding to secret information SE ∈ Fq that is an element of the finite field Fq can be secret-shared into elements gT share(1), gT share(2) ∈ GT of the cyclic group GT that correspond to share information, share (1), share(2) by secret sharing. The secret information SE described above is a linear combination of the share information "share." The secret sharing scheme in which the secret information SE is a linear combination of share information, share, is referred to as a linear secret sharing scheme.
  • The predetermined logical formula described above can be represented by tree-structure data obtained by hierarchical secret sharing of secret information. That is, according to the De Morgan's laws, the predetermined logical formula described above can be represented by a logical formula comprising literals or a logical formula comprising at least some of the logical symbols ∧ and ∨ and literals (such a logical formula will be referred to as the "normal form logical formula"), and the normal form logical formula can be represented by tree-structure data obtained by hierarchical secret sharing of secret information.
  • The tree-structure data that represents the normal form logical formula includes a plurality of nodes, at least some of the nodes are parent nodes of one or more child nodes, one of the parent nodes is a root node, and at least some of the child nodes are leaf nodes. A parent node of a root node or a child node of a leaf node does not exist. The root node corresponds to the value corresponding to the secret information, and the child nodes of each parent node correspond to the values corresponding to the pieces of share information obtained by secret sharing of the value corresponding to the parent node. The way of secret sharing in each node (the secret sharing scheme and the threshold) depends on the normal form logical formula. The leaf nodes correspond to literals forming the normal form logical formula, and the truth values of literals are determined by the combination of the first information and the second information.
  • It is assumed that the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, although the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is false is not obtained. Because of the property of the secret sharing described above, the value corresponding to the share information corresponding to the parent node (the value corresponding to the secret information if the parent node is the root node) is reconstructed only if the number of values corresponding to the share information corresponding to the child nodes of the parent node is equal to or greater than the threshold associated with the parent node. Accordingly, whether the value that is dependent on the secret information corresponding to the root node can be recovered or not is ultimately determined by which leaf node's literal has returned true as its truth value and by the configuration (including the way of secret sharing at each node) of the tree-structure data. The tree-structure data represents the normal logical formula if the tree-structure data is configured in such a way that the value dependent on the secret information corresponding to the root node can be ultimately recovered only when the truth values of the literals corresponding to the leaf nodes allow the normal logical formula to return true as its truth value. The tree-structure data that represents the normal form logical formula can be readily set. The following are specific examples thereof.
  • Fig. 15 is a diagram illustrating tree-structure data that represents a normal form logical formula PRO(1) ∧ PRO(2) ∨ ¬PRO(3) including propositional variables PRO(1) and PRO(2), the negation ¬PRO(3) of a propositional variable PRO(3) and the logical symbols ∧ and v. The tree-structure data illustrated in Fig. 15 includes a plurality of nodes N1, ..., N5. The node N1 is a parent node of the nodes N2 and N5, the node N2 is a parent node of the nodes N3 and N4, one node N1 of the parent nodes is the root node, and some nodes N3, N4 and N5 of the child nodes are leaf nodes. The node N1 corresponds to the value corresponding to the secret information SE, the child nodes N2 and N5 of the node N1 correspond to the values corresponding to share information SE and SE obtained by secret sharing of the value corresponding to the secret information SE according to a (1, 2) threshold secret sharing scheme. The child nodes N3 and N4 of the node N2 correspond to the values corresponding to share information SE-SH1 and SH1 obtained by secret sharing of the value corresponding to the share information SE according to a (2, 2) threshold secret sharing scheme, respectively. That is, the leaf node N3 corresponds to the value corresponding to share information share(1) = SE - SH1, the leaf node N4 corresponds to the value corresponding to share information share(2) = SH1, and the leaf node N5 corresponds to the value corresponding to share information share(3) = SE. The leaf nodes N3, N4 and N5 correspond to the literals PRO(1), PRO(2) and ¬PRO(3) forming the normal form logical formula PRO(1) ∧ PRO(2) ∨ ¬PRO(3), respectively, and the truth values of the literals PRO(1), PRO(2) and ¬PRO(3) are determined by the combination of the first information and the second information. The value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, although the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is false is not obtained. In this case, the value corresponding to the secret information SE is reconstructed only if the combination of the first information and the second information makes the truth value of the normal form logical formula PRO(1) ∧ PRO(2) ∨ a¬PRO(3) true.
  • Fig. 16 is a diagram illustrating tree-structure data that represents a normal form logical formula (PRO(1) ∧ PRO(2)) ∨ (PRO(2) ∧ PRO(3)) ∨ (PRO(1) ∧ PRO(3)) ∨ ¬PRO(4) ∨ (¬PRO(5) ∨ PRO(6)) ∧ PRO(7) including propositional variables PRO(1), PRO(2), PRO(3), PRO(6) and PRO(7), negations ¬PRO(4) and ¬PRO(5) of propositional variables PRO(4) and PRO(5) and logical symbols ∧ and v.
    The tree-structure data illustrated in Fig. 16 includes a plurality of nodes N1, ..., N11. The node N1 is a parent node of the nodes N2, N6 and N7, the node N2 is a parent node of the nodes N3, N4 and N5, the node N7 is a parent node of the nodes N8 and N11, the node N8 is a parent node of the nodes N9 and N10, one node N1 of the parent nodes is the root node, and some nodes N3, N4, N5, N6, N9, N10 and N11 of the child nodes are leaf nodes. The node N1 corresponds to the value corresponding to the secret information SE, the child nodes N2, N6 and N7 of the node N1 correspond to the values corresponding to share information SE, SE and SE obtained by secret sharing of the value corresponding to the secret information SE according to a (1, 3) threshold secret sharing scheme. The child nodes N3, N4 and N5 of the node N2 correspond to the values corresponding to share information (1, f(1)), (2, f(2)) and (3, f(3)) obtained by secret sharing of the value corresponding to the share information SE according to a (2, 3) threshold secret sharing scheme, respectively. The child nodes N8 and N11 of the node N7 correspond to the values corresponding to share information SH4 and SE-SH4 obtained by secret sharing of the value corresponding to the share information SE according to a (2, 2) threshold secret sharing scheme, respectively. The child nodes N9 and N10 of the node N8 correspond to the values corresponding to share information SH4 and SH4 obtained by secret sharing of the value corresponding to the share information SH4 according to a (1, 2) threshold secret sharing scheme, respectively. That is, the leaf node N3 corresponds to the value corresponding to share information share(1) = (1, f(1)), the leaf node N4 corresponds to the value corresponding to share information share(2) = (2, f(2)), the leaf node N5 corresponds to the value corresponding to share information share(3) = (3, f(3)), the leaf node N6 corresponds to the value corresponding to share information share(4) = SE, the leaf node N9 corresponds to the value corresponding to share information share(5) = SH4, the leaf node N10 corresponds to the value corresponding to share information share(6) = SH4, and the leaf node N11 corresponds to the value corresponding to share information share(7) = SE - SH4. The leaf nodes N3, N4, N5, N6, N9, N10 and N11 correspond to the literals PRO(1), PRO(2), PRO(3), ¬PRO(4), ¬PRO(5), PRO(6) and PRO(7) forming the normal form logical formula (PRO(1) ∧ PRO(2)) ∨ (PRO(2) ∧ PRO(3)) ∨ (PRO(1) ∧ PRO(3)) ∨ ¬PRO(4) ∨ (¬PRO(5) ∨ PRO(6)) ∧ PRO(7), respectively, and the truth values of the literals PRO(1), PRO(2), PRO(3), ¬PRO(4), ¬PRO(5), PRO(6) and PRO(7) are determined by the combination of the first information and the second information. The values corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, although the value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is false is not obtained. In this case, the value corresponding to the secret information SE is reconstructed only if the combination of the first information and the second information makes the truth value of the normal form logical formula (PRO(1) ∧ PRO(2)) ∨ (PRO(2) ∧ PRO(3)) ∨ (PRO(1) ∧ PRO(3)) ∨ ¬PRO(4) ∨ (¬PRO(5) ∨ PRO(6)) ∧ PRO(7) true.
  • <Access Structure>
  • In the case where the predetermined logical formula is represented by the tree-structure data obtained by hierarchical secret sharing of the secret information as described above, whether the truth value of the logical formula determined by the combination of the first information and the second information is "true" or "false" can be determined based on whether or not the value corresponding to the secret information can be reconstructed from the values corresponding to the share information corresponding to the leaf nodes obtained for the combination of the first information and the second information. In the following, a mechanism that accepts the combination of the first information and the second information if the truth value of the logical formula determined by the combination of the first information and the second information is "true" and rejects the combination of the first information and the second information if the truth value is "false" will be referred to as an access structure.
  • It is assumed that the total number of leaf nodes in the tree-structure data that represents the predetermined logical formula as described above is denoted by Ψ, and identifiers corresponding to the leaf nodes are denoted by λ = 1, ..., Ψ. It is also assumed that the first information is a set {v(λ)}λ=1, ..., Ψ of n(λ)-dimensional vectors v(λ) corresponding to the leaf nodes, and the second information is a set {w(λ)}λ=1, ..., Ψ of n(λ)-dimensional vectors w(λ). The tree-structure data described above is implemented as a labeled matrix LMT(MT, LAB).
  • The labeled matrix LMT(MT, LAB) includes the following matrix MT with Ψ rows and COL columns (COL ≥ 1) and labels LAB(λ) associated with rows λ = 1, ..., Ψ of the matrix MT. MT = mt 1 , 1 mt 1 , COL mt Ψ , 1 mt Ψ , COL
    Figure imgb0072
  • Each element mtλ,col (col = 1, ..., COL) of the matrix MT satisfies two requirements described below. First, if the root node of the tree-structure data that represents the predetermined logical formula corresponds to the value corresponding to the secret information SE ∈ Fq as described above, the following relations hold between a COL-dimensional vector GV consisting of elements of the predetermined finite field Fq and COL-dimensional vector CV consisting of elements of the finite field Fq corresponding to the secret information SE. GV = gv 1 gv COL F q COL
    Figure imgb0073
    CV = cv 1 cv COL F q COL
    Figure imgb0074
    SE = GV GV T
    Figure imgb0075

    The following is a specific example of the COL-dimensional vector GV. GV = 1 F 1 F F q COL
    Figure imgb0076

    Note that other COL-dimensional vectors GV, such as GV = (1F, 0F, ..., 0F) ∈ Fq COL, are also possible.
  • Second, if the leaf nodes corresponding to the identifiers λ, correspond to the values corresponding to the share information share(λ) ∈ Fq, the following relation holds. share 1 , , share Ψ T = MT CV T
    Figure imgb0077

    As described above, if the tree-structure data that represents the predetermined logical formula is determined, the matrix MT that satisfies the two requirements can be readily selected. Even if the secret information SE or the share information share(λ) is a variable, the matrix MT that satisfies the two requirements can be readily selected. That is, the value of the secret information SE or the share information share(λ) may be determined after the matrix MT is determined.
  • The label LAB(λ) associated with each row λ = 1, ..., Ψ of the matrix MT corresponds to the literal (PRO(λ) or ¬PRO(λ)) corresponding to the leaf node corresponding to the identifier λ. It is assumed herein that if the truth value of the propositional variable PRO(λ) is "true", it is equivalent to that the inner product v(λ) · w(λ) of the v(λ) included in the first information VSET1 = {λ, v(λ)|λ = 1, ..., Ψ} and w(λ) included in the second information VSET2 = {λ, w(λ)|λ = 1, ..., Ψ} is 0, and that if the truth value of the propositional variable PRO(λ) is "false," it is equivalent to that the inner product v(λ) · w(λ) is not 0. It is also assumed that the label LAB(λ) corresponding to PRO(λ) represents v(λ), and the label LAB(λ) corresponding to ¬PRO(λ) represents ¬v(λ). ¬v(λ) is a logical formula of the negation of v(λ), and v(λ) can be identified from ¬v(λ). The expression "LAB(λ) = v(λ)" means that LAB(λ) represents v(λ), and the expression "LAB(λ) = ¬v(λ)" means that LAB(λ) represents ¬v(λ). A set {LAB(λ)}λ=1,..., Ψ of LAB(λ)'s (λ = 1, ..., Ψ) is expressed as LAB.
  • A Ψ-dimensional vector TFV is defined as follows. TFV = tfv 1 , , tfv Ψ
    Figure imgb0078

    The element tfv(λ) is 1 (tfv(λ) = 1) if the inner product v(λ)· w(λ) is 0, and 0 (tfv(λ) = 0) if the inner product is not 0. tfv λ = 1 PRO λ is true if v λ w λ = 0
    Figure imgb0079
    tfv λ = 0 PRO λ is false if v λ w λ 0
    Figure imgb0080

    Furthermore, LIT(λ) = 1 if the truth value of the following logical formula is "true," and LIT(λ) = 0 if the logical formula is "false." LAB λ = v λ tfv λ = 1 LAB λ = v λ ) tfv λ = 0
    Figure imgb0081

    That is, LIT(λ) = 1 if the truth value of the literal corresponding to the leaf node corresponding to the identifier λ is "true," and LIT(λ) = 0 if the truth value is "false." Then, a submatrix MTTFV made up only of row vectors mtλ = (mtλ, 1, ... , mtλ, COL) that yield LIT(λ) = 1 among the vectors in the matrix MT can be written as MT TFV = MT LIT λ = 1
    Figure imgb0082
  • If the secret sharing scheme described above is a linear secret sharing scheme, that the value corresponding to the secret information SE can be reconstructed from the values corresponding to the share information share(λ) corresponding to the identifiers λ is equivalent to that the COL-dimensional vector GV belongs to the vector space formed by the row vectors mtλ corresponding to the identifiers λ. That is, whether the value corresponding to the secret information SE can be reconstructed from the values corresponding to the share information share(λ) corresponding to the identifiers λ can be determined by determining whether or not the COL-dimensional vector GV belongs to the vector space spanned by the row vectors mtλ corresponding to the identifiers λ. The "vector space formed by the row vectors mtλ " means a vector space that can be expressed by a linear combination of the row vectors mtλ .
  • It is assumed that the combination of the first information and the second information is accepted if the COL-dimensional vector GV belongs to a vector space "span<MTTFV>" spanned by the row vectors mtλ of the submatrix MTTFV described above, and is otherwise rejected. In this way, the access structure described above is embodied. In the case where the labeled matrix LMT(MT, LAB) corresponds to the first embodiment as described above, if the access structure accepts the combination of the first information and the second information, it is described as "the access structure accepts the second information," and if the access structure does not accept the combination of the first information and the second information, it is described as "the access structure rejects the second information." accept if GV span < MT TFV >
    Figure imgb0083
    reject if GV span < MT TFV >
    Figure imgb0084
  • In the case where GV ∈ span<MTTFV>, there are constants const(µ) that satisfy the following relation, and the constants const(µ) can be determined in a polynomial time of the order of the size of the matrix MT. SE = μ SET const µ share µ
    Figure imgb0085
    const µ F q | µ SET , SET 1 , , λ | LIT λ = 1
    Figure imgb0086
  • <Basic Scheme of Functional Encryption Scheme using Access Structure>
  • In the following, a basic scheme for forming key encapsulation mechanisms (KEM) with the functional encryption scheme using the access structure will be illustrated. The basic scheme involves Setup(1sec, (Ψ; n(1), ..., n(Ψ))), GenKey(PK, MSK, LMT(MT, LAB)), Enc(PK, M, {λ, v(λ)|λ = 1, ..., Ψ})(v1(λ) = 1F) and Dec(PK, SKS, C). In addition, the first element w1(λ) of the second information VSET2 = (λ, w(λ)|λ = 1, ..., Ψ} is 1F.
  • [Setup(1sec, (Ψ; n(1), ..., n(Ψ))); setup] Input : 1 sec , Ψ ; n 1 , , n Ψ
    Figure imgb0087

    Output: master key information MSK, public parameters PK
  • In setup, the following processing is performed for each ψ = 0, ..., Ψ.
    (Setup-1) Using 1sec as an input, the order q, the elliptic curve E, the cyclic groups G1, G2 and GT, the bilinear map eψ(Ψ = 0, ..., Ψ) for the security parameter sec are generated (param = (q, E, G1, G2, GT, eψ).
    (Setup-2) τ' ∈ Fq is selected, and the matrixes X(ψ) and X*(ψ) that satisfy a relation: X*(ψ) = τ' · (X(ψ)-1)T are selected.
    (Setup-3) Coordinate transformation of the basis vectors a1(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) is performed according to formula (52) to generate n(ψ)+ζ(ψ)-dimensional basis vectors bi(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). The n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix B(ψ) consisting of the basis vectors bi(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) is generated.
    (Setup-4) Coordinate transformation of the basis vectors ai *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) is performed according to formula (54) to generate n(ψ)+ζ(ψ)-dimensional basis vectors bi *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)). The n(ψ)+ζ(ψ) row by n(ψ)+ζ(ψ) column matrix B*(ψ) consisting of the basis vectors bi *(ψ) (i = 1, ..., n(ψ) + ζ(ψ)) is generated.
    (Setup-5) A set {B*(ψ)^}ψ=0,..., Ψ of B*(ψ)^ is set as the master key information (MSK = (B*(ψ)^}ψ=0,..., Ψ). A set {B*(ψ)^}ψ=0,..., Ψ of B(ψ)^, 1sec and param are set as the public parameters PK. Note that B*(ψ)^ is the matrix B*(ψ) or a submatrix thereof, and B(ψ)^ is the matrix B(ψ) or a submatrix thereof. The set {B*(ψ)^}ψ=0,..., Ψ includes at least b1 *(0), b1 *(λ), ..., and bn(λ)*(λ) (λ = 1, ..., Ψ). The set {B(ψ)^}ψ=0, ..., Ψ includes at least b1(0), b1(λ), ..., bn(λ)(λ = 1, ..., Ψ). The following is an example. n 0 + ζ 0 5 , ζ λ = 3 n λ
    Figure imgb0088
    B 0 = b 1 0 b 3 0 b 5 0 T
    Figure imgb0089
    B λ = b 1 λ b n λ λ b 3 n λ + 1 λ b 4 n λ λ T λ = 1 , , Ψ
    Figure imgb0090
    B * 0 = b 1 * 0 b 3 * 0 b 4 * 0 T
    Figure imgb0091
    B * λ = b 1 * λ b n λ * λ b 2 n λ + 1 * λ b 3 n λ * λ T λ = 1 , , Ψ
    Figure imgb0092
  • [GenKey (PK, MSK, LMT(MT, LAB)): Key Information Generation]
  • Input: public parameters PK, master key information MSK, labeled matrix LMT(MT, LAB) corresponding to first information VSET1 = {λ, v(λ)|λ = 1, ..., Ψ}
    Output: key information SKS
  • (GenKey-1) The following processing is performed on the secret information SE that satisfies formulas (63) to (67). D * 0 = - SE b 1 * 0 + ι = 2 I coef ι 0 b ι * 0
    Figure imgb0093

    Note that I is a constant equal to or greater than 2 and equal to or smaller than n(0) + ζ(0). coefi(0) ∈ Fq are constants or random numbers. The "random number" means a true random number or a pseudo-random number. The following is an example of D*(0). Note that coef4(0) in formula (75) is a random number. D * 0 = - SE b 1 * 0 + b 3 * 0 coef 4 0 b 4 * 0
    Figure imgb0094
  • (GenKey-2) The following processing is performed on each share(λ) (λ = 1, ..., Ψ) that satisfies formulas (63) to (67).
    For λ that satisfies a relation: LAB(λ) = v(λ), the following D*(λ) is generated. D * λ = share λ + coef λ v 1 λ b 1 * λ + ι = 2 n λ coef λ v ι λ b ι * λ + ι = n λ + 1 n λ + ζ λ coef ι λ b ι * λ
    Figure imgb0095

    For λ that satisfies a relation: LAB(λ) = ¬v(λ), the following D*(λ) is generated. D * λ = ( share λ ι = 2 n λ v ι λ b ι * λ + ι = n λ + 1 n λ + ζ λ coef ι λ b ι * λ .
    Figure imgb0096

    Note that coef(λ), coefi(λ) ∈ Fq are constants or random numbers. The following is an example.
    For λ that satisfies a relation: LAB(λ) = v(λ), the following D*(λ) is generated, for example. D * λ = share λ + coef λ v 1 λ b 1 * λ + ι = 2 n λ coef λ v ι λ b ι * λ
    Figure imgb0097
    + ι = 2 n λ + 1 3 n λ coef ι λ b ι * λ
    Figure imgb0098

    For λ that satisfies a relation: LAB(λ) = ¬v(λ), the following D*(λ) is generated, for example. D * λ = share λ ι = 1 n λ v ι λ b ι * λ + ι = 2 n λ + 1 3 n λ coef ι λ b ι * λ
    Figure imgb0099

    Note that coef(λ) and coefi(λ) in formulas (78) and (79) are random numbers.
  • (GenKey-3) The following key information is generated. SKS = LMT MT LAB , D * 0 , D * 1 , , D ψ
    Figure imgb0100
  • [Enc(PK, M, VSET2): Encryption]
  • Input: public parameter PK, plaintext M, second information VSET2 = {λ, w(λ)|λ = 1, ..., Ψ}(w1(λ) = 1F)
    Output: ciphertext C
  • (Enc-1) A ciphertext C(ψ) (ψ = 0, ..., Ψ) with a common key K is generated by the following processing. C 0 = υ b 1 0 + ι = 2 I υ ι 0 b ι 0
    Figure imgb0101
    C λ = υ ι = 1 n λ w ι λ b ι λ + ι = n λ + 1 n λ + ζ λ υ ι λ b ι λ
    Figure imgb0102

    Note that u, υi(ψ) ∈ Fq (ψ = 0, ..., Ψ) are constants or random numbers, and the following relations hold. coef 2 0 , , coef I 0 υ 2 0 , , υ I 0 = υʹ
    Figure imgb0103
    coef ι λ υ ι λ = 0 F ι = n λ + 1 , , n λ + ζ λ
    Figure imgb0104

    An example of u' is any one of υ2(0), ..., υI(0). For example, u, υ3(0), υ5(0), υ3·n(λ)+1(λ), ..., υ4·n(λ)(λ) are random numbers, ζ(λ) = 3 · n(λ) and I = 5, and the following relations hold. υ 2 0 , , υ I 0 = 0 F , υ 3 0 , 0 F , υ 5 0
    Figure imgb0105
    υʹ = υ 3 0
    Figure imgb0106
    υ n λ + 1 λ , , υ 3 n λ λ = 0 F 0 F
    Figure imgb0107
  • (Enc-2) The following common key is generated. K = g T τ τʹ υʹ G T
    Figure imgb0108

    For example, if τ = τ' = 1F, the following relation holds. K = g T υʹ G T
    Figure imgb0109
  • (Enc-3) The following ciphertext C(Ψ+1) of the plaintext M is generated using the common key K. C Ψ + 1 = Enc K M
    Figure imgb0110

    The common key encryption scheme Enc can be Camellia (registered trademark) capable of encryption using the common key K, AES or exclusive-OR of the common key and the plaintext. As another simple example, EncK(M) may be generated as follows. Note that M ∈ GT in formula (88). C Ψ + 1 = g T υʹ M
    Figure imgb0111
  • (Enc-4) The following ciphertext is generated. C = VSET 2 , C 0 , C λ λ , w λ VSET 2 , C Ψ + 1
    Figure imgb0112

    Note that the subscript "w(λ)→" means "w(λ)."
  • [Dec(PK, SKS, C): Decryption]
  • Input: public parameter PK, key information SKS, ciphertext C
    Output: plaintext M'
  • (Dec-1) For λ = 1, ..., Ψ, it is determined whether or not the inner product v(λ)· w(λ) of the n(λ)-dimensional vectors v(λ) and the n( λ )-dimensional vector w( λ ) is 0, where the n( λ )-dimensional vector v( λ ) is each of the labels LAB(λ) of the labeled matrix LMT(MT, LAB) included in the key information SKS and the n(λ)-dimensional vectors w(λ) is included in VSET2 of the ciphertext C, and based on the determination results and the labels LAB(λ) of the labeled matrix LMT(MT, LAB), it is determined whether or not GV ∈ span<MTTFV> (formula (69) to (73)). The ciphertext C is rejected if GV ∈ span<MTTFV> is not satisfied, and is accepted if GV ∈ span<MTTFV> is satisfied.
    (Dec-2) If the ciphertext C is accepted, SET c {1, ..., λ|LIT(λ) = 1} and the coefficients const(µ) (µ ∈ SET) are calculated.
  • (Dec-3) The following common key is generated. K = e 0 C 0 , D * 0 µ SET LAB µ = v µ e µ C µ , D * µ const µ µ SET LAB µ = v µ e µ C µ , D * µ const µ / v µ w µ
    Figure imgb0113
  • From formulas (37), (56) and (83), the following relation holds. e 0 C 0 , D * 0 = e 0 υ b 1 0 + ι = 2 I υ ι 0 b ι 0 , - SE b 1 * 0 + ι = 2 I coef ι 0 b ι * 0 = e 0 υ b 1 0 , - SE b 1 * 0 ι = 2 I e 0 υ ι 0 b ι 0 , coef ι 0 b ι * 0 ) = e 0 b 1 0 , b 1 * 0 - SE υ τ = 2 I e 0 b ι 0 , b ι * 0 υ ι 0 . coef ι 0 ) = g T τ τʹ δ 1 1 - SE υ ι = 2 I g T τ τʹ δ ι ι υ ι 0 coef ι 0 = g T τ τʹ - SE υ + υʹ
    Figure imgb0114
  • From formulas (37), (56), (69), (76), (82) and (84) and w1(λ) = 1F, the following relation holds. µ SET LAB µ = v µ e µ C µ , D * µ const µ = µ SET LAB µ = v µ e µ ( υ ι = 1 n µ w ι µ b ι µ + ι = n µ + 1 n µ + ζ µ υ ι µ b ι µ , share µ b 1 * µ + ι = 1 n µ coef µ v ι μ b ι * µ + ι = n µ + 1 n µ + ζ µ coef ι µ b ι * µ ) const µ = µ SET LAB µ = v µ e µ υ ι = 1 n µ w ι µ b ι * µ , share µ b 1 * µ e µ υ ι = 1 n µ w ι µ b ι μ , ι = 1 n µ coef µ v ι µ b ι * µ const µ = µ SET LAB µ = v µ g T τ τʹ υ share µ ι = 1 n µ g T τ τʹ υ coef µ w ι µ v ι µ const µ = µ SET LAB µ = v µ g T τ τʹ υ const µ share µ
    Figure imgb0115
  • From formulas (37), (56), (70), (77), (82) and (84), the following relation holds. μ SET LAB μ = v μ e μ C μ , D * μ const μ / v μ w μ = μ SET LAB μ = v μ e μ ( υ ι = 1 n µ w ι μ b ι * μ + ι = n μ + 1 n μ + ζ μ υ ι μ b ι μ , share μ ι = 1 n µ v ι μ b ι * μ + ι = n μ + 1 n μ + ζ μ coef ι μ b 1 * μ cons μ / v μ w μ = μ SET LAB μ = v μ ι = 1 n μ e μ b ι μ , b ι * μ υ share μ w i μ v i μ const μ / v μ w μ = μ SET LAB μ = v μ ι = 1 n μ g T τ τʹ υ share μ w i μ v i μ const μ / v μ w μ = μ SET LAB μ = v μ g T τ τʹ υ share μ v μ w μ const μ / v μ w μ
    Figure imgb0116
    = µ SET LAB µ = v µ g T τ τʹ υ const µ share µ
    Figure imgb0117
  • From formulas (73) and (91) to (93), the following relation holds. K = g T τ τʹ - SE υ + υʹ µ SET LAB µ = v µ g T τ τʹ υ const µ share µ µ SET LAB µ = v µ g T τ τʹ υ const µ share µ = g T τ τʹ - SE υ + υʹ g T τ τʹ υ SE = g T τ τʹ υʹ
    Figure imgb0118

    For example, if τ = τ' = 1F, the following relation holds. K = g T υʹ G T
    Figure imgb0119
  • (Dec-4) The plaintext M' is generated as follows using the common key K. = Dec K C Ψ + 1 = Dec K C Ψ + 1
    Figure imgb0120

    For example, if the common key encryption scheme shown by formula (88) is used, the plaintext M' is generated as follows. = C Ψ + 1 / K
    Figure imgb0121
  • The gT τ, gT τ', or gT τ·τ' may be used, instead of g1, as the generator of GT. A map that determines the correspondence between λ for the key information SKS and λ for ciphertext may be used to determine the combination of C(λ) and D*(λ), thereby performing the processing of [Dec(PK, SKS, C): Decryption]. Not only the first element w1(λ) of the second information VSET2 = {λ, w(λ)|λ = 1, ..., Ψ} but also the n(λ)-th element vn(λ)(λ) of the first information VSET1 = {λ, v(λ)|λ = 1, ..., Ψ} can be set at 1F. If the element w1(λ) is not 1F, w(λ)/w1(λ) can be used instead of w(λ), and if the element vn(λ)(λ) is not 1F, v(λ)/vn(λ)(λ) can be used instead of v(λ). The second information VSET2 = {λ, w(λ)|λ = 1, ..., Ψ} can be used instead of the first information VSET1 = {λ, v(λ)→|λ = 1, ..., Ψ}, and the first information VSET1 = {λ, v(λ)|λ = 1, ..., Ψ} can be used instead of the second information VSET2 = {λ, w(λ)|λ = 1, ..., Ψ}. In that case, the first element v1(λ) of the first information VSET1 = {λ, v(λ)|λ = 1, ..., Ψ} is set at 1F.
  • <General Configuration>
  • Fig. 17 is a block diagram for illustrating a general configuration of a secret sharing system according to the second embodiment.
    As illustrated in Fig. 17, a secret sharing system 6 according to this embodiment comprises a sharing apparatus 610, Σα=1 L h(α) share management apparatuses [PA(α, h(α)) (α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2)] 620-α-h(α), an acquisition apparatus 630 and common value generation apparatuses 640-1 to 640-L and 650, which can communicate with each other via the network 150. For simplicity of explanation, this embodiment will be described with regard to an example where there are only one sharing apparatus 610 and only one acquisition apparatus 630, there can be two or more sharing apparatuses 610 and two or more acquisition apparatuses 630. Similarly, this embodiment will be described with regard to an example where there is only one set of Σα=1 L h(α) share management apparatuses [PA(α, h(α))] 620-α-h(α), there can be a plurality of such sets.
  • As illustrated in Fig. 17, the set of Σα=1 L h(α) share management apparatuses [PA(α, h(α))] 620-α-h(α) is divided into a plurality of subsets SUB(α) each consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)). Each subset SUB(α) is associated with a common value generation apparatus 640-α.
  • Fig. 18 is a block diagram for illustrating a configuration of the sharing apparatus 610 according to the second embodiment. Figs. 19A and 19B are block diagrams for illustrating oncigurations of the common value generation apparatuses 640-1 to 640-L and 650. Fig. 20 is a block diagram for illustrating a configuration of the share management apparatus [PA(α, h(α))] 620-α-h(α) according to th second embodiment. Fig. 21 is a block diagram for illustrating a configuration of the acquisition apparatus 630 according to the second embodiment. In these drawings, the same components as those in the first embodiment are denoted by the same reference numerals as those in the first embodiment and will be only simply described below.
  • <Sharing Apparatus 610>
  • As illustrated in Fig. 18, the sharing apparatus 610 according to this embodiment comprises the temporary storage 111, the storage 112, the controller 113, secret sharing units 614-α (α = 1, ..., L) and the transmitter 115. The sharing apparatus 610 according to this embodiment is implemented by a predetermined program loaded to and executed by a well-known computer comprising a CPU, a RAM, a ROM and the like, for example.
  • <Common value Generation Apparatuses 640-α, 650>
  • As illustrated in Fig. 19A, the common value generation apparatus 640-α according to this embodiment has a coefficient setting unit 641-α and a transmitter 642-α. As illustrated in Fig. 19B, the common value generation apparatus 650 according to this embodiment has a storage 651, common information generation units 652 and 653 and a transmitter 654.
  • <Share Management Apparatus [PA(α, h(α))] 620-α-h(α)>
  • As illustrated in Fig. 20, the share management apparatus [PA(α, h(α))] 620-α-h(α) according to this embodiment has the temporary storage 121-α-h(α), the storage 122-α-h(α), the controller 123-α-h(α), share secret value generation units 621-α-h(α), 622-α-h(α) and 623-α-h(α), a selection unit 624-α-h(α), the transmitter 125-α-h(α) and the receiver 126-α-h(α). The share management apparatus [PA(α, h(α))] 620-α-h(α) according to this embodiment is implemented by a predetermined program loaded to and executed by a well-known computer comprising a CPU, a RAM, a ROM and the like, for example.
  • <Acquisition Apparatus 630>
  • As illustrated in Fig. 21, the acquisition apparatus 630 according to this embodiment has the temporary storage 131, the storage 132, the controller 133, reconstruction units 634-α and 636-α (α = 1, ..., L), synthesis units 635 and 637 and the receiver 136. The acquisition apparatus 630 according to this embodiment is implemented by a predetermined program loaded to and executed by a well-known computer comprising a CPU, a RAM, a ROM and the like, for example.
  • <Secret Sharing Processing>
  • Next, a secret sharing processing according to this embodiment will be described.
    According to this embodiment, which is an application of the first embodiment, the basis vectors bi *(ψ) (formula (55)), which are master key information of the functional encryption scheme using the access structure, are shared, and the key information D*(ψ) is reconstructed from the calculation results of the share information obtained by the secret sharing. In the following, an example will be described where general key information D*(ψ) expressed by formula (74), (76) or (77), for example, is reconstructed. Of course, however, the same processing can be applied to specific key information D*(ψ) expressed by formula (75), (78) or (79), for example.
  • Each element expressed by formula (98) that forms the basis vectors bi *(ψ) expressed by formula (55) is expressed by formula (99). χ i , β * ψ κ 2 g 2 G 2 i = 1 , , n ψ + ζ ψ , β = 1 , , n ψ + ζ ψ
    Figure imgb0122
    θ ψ i β g 2 G 2
    Figure imgb0123

    Note that the following relation holds. θ ψ i β = χ i , β * ψ κ 2 F q
    Figure imgb0124

    That is, the basis vectors bi *(ψ) expressed by formula (55) are expressed as follows. b i * ψ , θ i 1 g 2 , , θ ψ , i , n ψ + ζ ψ g 2 G 2 n ψ + ζ ψ
    Figure imgb0125

    From this formula, it can be seen that the basis vectors bi *(ψ) can be shared by expanding the first embodiment to multidimensional. The secret information is reconstructed by a linear calculation of the share information, so that the reconstruction processing can also be achieved by regarding the result of a linear calculation of share information for each dimension obtained by multidimensional secret sharing as share information. Thus, it can also be seen that the reconstruction of the key information D*(ψ) can be achieved by expanding the first embodiment to multidimensional.
  • In the following, differences from the first embodiment will be mainly described, and descriptions of common things will be omitted. [Preprocessing]
  • As a preprocessing for the secret sharing processing according to this embodiment, the pieces of information θ(ψ, i, β) ∈ Fq for identifying the pieces of secret information θ(ψ, i, β) · g2 ∈ G2 (i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ)+ζ(ψ)) which are elements of the basis vectors bi * (ψ) are stored in the storage 112 of the sharing apparatus 610. The secret information SE and the share information share(λ) (λ = 1, ..., Ψ) that satisfy formulas (63) to (67) are stored in the storage 651 of the common value generation apparatus 650. The labeled matrix LMT(MT, LAB) corresponding to the first information that comprises the set {v(λ)}λ=1,..., Ψ of the n(λ)-dimensional vectors v(λ) expressed by formula (60) is stored in the storage 122-α-h(α) of each share management apparatus 620-α-h(α). Note that the labeled matrix LMT(MT, LAB) is common to all the share management apparatus PA(α, h(α)) 620-α-h(α).
  • [General Description of Secret Sharing Processing]
  • Figs. 22 and 23 are diagrams for generally illustrating the secret sharing processing according to the second embodiment. In the following, the secret sharing processing according to this embodiment will be generally described with reference to Figs. 22 and 23.
    According to this embodiment, first, the sharing apparatus 610 (Fig. 17) independently shares, according to a predetermined secret sharing scheme, the value corresponding to each element θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) among the subset SUB(α) each consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α) to generate pieces of share information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)). In this embodiment, the values corresponding to the elements θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) are θ(ψ, i, β), and the specific secret sharing scheme is the same as that according to any of modifications 1, 2 and 4 of the first embodiment except that there is a plurality of targets of secret sharing. All of θ(ψ, i, β) in this embodiment are shared in the same manner as in any of modifications 1, 2 and 4 of the first embodiment. That is, the secret sharing scheme according to this embodiment is the secret sharing scheme according to any of modifications 1, 2 and 4 of the first embodiment in which θ is replaced with θ(ψ, i, β). For example, the following share information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)) is generated. SH ψ , i , β , α , h α = φ h α , f α , φ h α F q
    Figure imgb0126

    Note that f(α, ω) = θ(ψ, i, β), and ω ∈ Fq is a predetermined element of the finite field Fq.
    The pieces of share information SH(ψ, i, β, α, h(α)) are transmitted to the respective share management apparatuses [PA(α, h(α))] 620-α-h(α) (α = 1, ..., L) via the network 150 and shared among the apparatuses (Steps S61 and S61').
  • Each share management apparatus [PA(α, h(α))] 620-α-h(α) (α = 1, ..., L) having received the corresponding share management information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)) performs a common calculation, which is common in each subset SUB(α), on the common information common in the subset SUB(α) and the share information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)) to generate share secret value DSH(ψ, α, h(α)). The common information shared in different subsets SUB(α) are independent of each other. The common calculation is a linear calculation. The common information according to this embodiment includes SE(α) (FNC2-1(SE) → SE(1), ..., SE(α), ..., SE(L)) obtained from the secret information SE, share(λ, α) (FNC2'-1(share(λ)) → share(λ, 1), ..., share(λ, α), ..., share(λ, L)) obtained from the share information share(λ) and coefi(0, α), coef(λ, α), coefi(λ, α) ∈ Fq that are constants or random numbers, for example. FNC2-1 represents an inverse function of a linear calculation function FNC2. FNC2'-1 represents an inverse function of a linear calculation function FNC2'. The linear calculation function FNC2 is a function that outputs the result of a linear calculation of L input values, and an example the linear calculation function FNC2 is a function that outputs the value of a linear combination of L values. For which value of coefi (0, α) and coefi (λ, α) are adopted as the common information and whether coefi(0, α), coef(λ, α), coefi(λ, α), SE(α) and share(λ, α) are constants or random numbers depend on the structure of the generated key information D*(ψ). Each share management apparatus [PA(α, h(α))] 620-α-h(α) according to this embodiment generates the share secret value DSH(0, α, h(α)) (α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2) for ψ = 0 as follows (FNC1), for example. SHb i 0 , α , h α = SH 0 i 1 α , , SH 0 , i , I , α , h α
    Figure imgb0127
    DSH 0 , α , h α = - SE α SHb 1 * 0 , α , h α g 2 + Σ ι = 2 I coef ι 0 α SHb ι * 0 , α , h α g 2
    Figure imgb0128
  • Furthermore, each share management apparatus [PA(α, h(α))] 620-α-h(α) according to this embodiment generates the share secret value DSH(λ, α, h(α)) (α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2) for each λ (λ = 1, ..., Ψ) according to the following formulas (104) to (106) (FNC1'), for example. SHb i * λ , α , h α = ( SH λ , i , 1 , α , h α , , SH λ , i , n λ + ζ λ , α , h α
    Figure imgb0129
    DSH λ , α , h α = share λ α + coef λ α v 1 λ SHb 1 * λ , α , h α g 2 + ι = 2 n λ coef λ α v ι λ SHb ι * λ , α , h α g 2 + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α g 2
    Figure imgb0130
    DSH λ , α , h α = share λ α ι = 1 n λ v ι λ SHb 1 * λ , α , h α g 2 + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α g 2
    Figure imgb0131

    The share secret value DSH(ψ, α, h(α)) output from each share management apparatus [PA(α, h(α))] 620-α-h(α) is transmitted to the acquisition apparatus 630 via the network 150 (Steps S62 and S62').
  • The acquisition apparatus 630 generates reconstructed secret values SUBSK(ψ, α) (ψ = 0, ..., ψ, α = 1, ..., L) for each subset SUB(α) by performing a reconstruction processing for the subset SUB(α) according to the secret sharing scheme in Steps S61 and S61' described above using a plurality of share secret values DSH(ψ, α, h(α)) for the subset SUB(α).
    The acquisition apparatus 630 according to this embodiment sets SUBSK(0, α) shown below as the reconstructed secret value for ψ = 0. SUBSK 0 α = - SE α b 1 * 0 + Σ ι = 2 I coef ι 0 α b ι * 0
    Figure imgb0132

    The acquisition apparatus 630 according to this embodiment sets the reconstructed secret values SUBSK(λ, α) for each λ = 1, ..., Ψ according to the following formula (108) or (109). SUBSK λ α = share λ α + coef λ α v 1 λ b 1 * λ + ι = 2 n λ coef λ α v ι λ b ι * λ
    Figure imgb0133
    + ι = n λ + 1 n λ + ζ λ coef ι λ α b ι * λ
    Figure imgb0134
    SUBSK λ α = share λ α ι = 1 n λ v ι λ b 1 * λ + ι = n λ + 1 n λ + ξ λ coef ι λ α b ι * λ
    Figure imgb0135

    These processings can be achieved by performing the reconstruction processing shown in the first embodiment for each dimension (order) of the share secret value DSH(ψ, α, h(α)). That is, although each share secret value DSH(ψ, α, h(α)) is a vector, the reconstruction processing described above can be achieved by performing the reconstruction processing (Step S134) shown in the first embodiment for each dimension (order) of the vector. For example, assume that the i-th elements of the share secret values DSH(ψ, α, h(α)) which are the vectors used in this reconstruction processing are expressed as follows. φ 1 α , dsh 1 α φ R α α , dsh R α α
    Figure imgb0136

    In this case, each coefficient λρ(x) (ρ = 1, ..., R(α) is obtained by calculation of formula (11), and the i-th reconstructed secret value SUBSK(ψ, α) for ψ is obtained by the following calculation. λ 1 ω dsh 1 α + + λ R α ω dsh R α α
    Figure imgb0137

    Thus, the reconstructed secret values SUBSK(ψ, α) are obtained by performing the same processing for each ψ and each i (Steps S63 and S63').
  • The acquisition apparatus 630 generates generation information D (ψ) (ψ = 0, ..., Ψ) using the reconstructed secret values SUBSK(ψ, α) (ψ = 0, ..., Ψ, α = 1, ..., L) generated for each subset SUB(α), and outputs the generation information D*(ψ) (D*(ψ) = FNC2(SUBSK(ψ, 1), ..., (SUBSK(ψ, α), ..., SUBSK(ψ, L))).
    For example, the acquisition apparatus 630 generates the generation information D*(ψ) by linear combination of the reconstructed secret values SUBSK(ψ, α). For example, if the secret sharing has been performed so as to satisfy the following formulas (110-1) and (110-2), the acquisition * apparatus 630 generates D (ψ) (ψ = 0, ..., Ψ) according to the following formula (111) (Steps S64 and S64'). FNC 2 ( SUBSK 0 1 , , SUBSK 0 α , , SUBSK 0 L = SUBSK 0 1 + + SUBSK 0 α + + SUBSK 0 L
    Figure imgb0138
    FNC 2 ʹ ( SUBSK λ 1 , , SUBSK λ α , , SUBSK λ L = SUBSK λ 1 + + SUBSK λ α + + SUBSK λ L
    Figure imgb0139
    D * ψ = SUBSK ψ 1 + + SUBSK ψ α + + SUBSK ψ L
    Figure imgb0140
  • [Processing of Sharing Apparatus (Steps S61 and S61')]
  • Fig. 24 is a diagram for illustrating a processing of the sharing apparatus according to the second embodiment. In the following, details of the processing of the sharing apparatus 610 will be described with reference to this drawing.
    First, the controller 113 of the sharing apparatus 610 (Fig. 18) sets ψ at 0 (ψ = 0) and stores the setting in the temporary storage 111 (Step S6101). The controller 113 sets α at 1 and β at 1 (α = 1, β = 1) and stores the settings in the temporary storage 111 (Step S6102). Then, the controller 113 of the sharing apparatus 610 sets i at 1 (i = 1) and stores the stting in the temporary storage 111 (Step S6103).
    Then, the information θ(ψ, i, β) ∈ Fq for identifying the secret information θ(ψ, i, β) · g2 ∈ G2 (i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ,) + ζ(ψ,)) is read from the storage 112 and input to the secret sharing unit 614-α (α = 1, ..., L). The secret sharing unit 614-α performs the secret sharing of each piece of information θ(ψ, i, β) ∈ Fq to generate the following H(α) pieces of share information for the subset SUB(α) and outputs the share information (Step S6104). SH ψ i β α 1 , , SH ψ , i , β , α , H α
    Figure imgb0141

    For example, in Step S6104, the processing of Step S112 in the first embodiment is performed for each piece of information θ(ψ, i, β).
  • Then, the controller 113 determines whether or not β stored in the temporary storage 111 is n(ψ)+ζ(ψ) (Step S6105). If it is not determined that β = n(ψ)+ζ(ψ), the controller 113 sets β + 1 as a new β and stores the setting in the temporary storage 111 (Step S6106). After Step S6106, the process returns to Step S6104.
  • On the other hand, if it is determined in Step S6105 that β = n(ψ) + ζ(ψ), the controller 113 sets β at 1 (β = 1) and stores the setting in the temporary storage 111 (Step S6107). Then, the controller 113 determines whether or not the value i stored in the temporary storage 111 is n(ψ) + ζ(ψ) (Step S6108). If it is not determined that i = n(ψ) + ζ(ψ), the controller 113 sets i + 1 as a new i and stores the setting in the temporary storage 111 (Step S6109). After Step S6109, the process returns to Step S6104.
  • On the other hand, if it is determined in Step S6108 that i = n(ψ) + ζ(ψ), the controller 113 determined whether or not the value α stored in the temporary storage 111 equals to L (Step S6110). If it is not determined that α = L, the controller 113 sets α + 1 as a new α and stores the setting in the temporary storage 111 (Step S6111). After Step S6111, the process returns to Step S6103.
  • On the other hand, if it is determined in Step S6110 that α = L, the controller 113 determines whether or not the value ψ stored in the temporary storage 111 equals to Ψ (Step S6112). If it is not determined that ψ = Ψ, the controller 113 sets ψ + 1 as a new ψ and stores the setting in the temporary storage 111 (Step S6113). After Step S6113, the process returns to Step S6102.
  • On the other hand, if it is determined in Step S6112 that ψ = Ψ, SH(ψ, i, β, α, 1), ..., SH(ψ, i, β, α, H(α)) output from each secret sharing unit 614-α are sent to the transmitter 115. The transmitter 115 transmits the following share information to the corresponding share management apparatus [PA(α, h(α))] 620-α-h(α) (α = 1, ..., L) via the network 150 (Step S6114). SH ψ , i , β , α , h α i = 1 , , n ψ + ζ ψ , β = 1 , , n ψ + ζ ψ
    Figure imgb0142

    That is, the share information SH(ψ, i, β, 1, h(1)) is transmitted to the share management apparatus [PA(1, 1)] 620-1-1, the share information SH(ψ, i, β, 2, h(2)) is transmitted to the share management apparatus [PA(1, 2)] 620-1-2, ..., and the share information SH(ψ, i, β, L, H(L)) is transmitted to the share management apparatus [PA(L, H(L))] 620-L-H(L).
  • [Processing of Common value Generation Apparatus]
  • Each common value generation apparatus 640-α (α = 1, ..., L) (Fig. 19A) generates the common information coefi(0, α), coef(λ, α), coefi(λ, α) shared among the share management apparatuses [PA(α, h(α))] 620-α-h(α) (h(α) = 1, ..., H(α)) forming the subset SUB(α) associated with the common value generation apparatus 640-α. According to this embodiment, the common information coefi(0, α), coef(λ, α), coefi(λ, α) are random numbers or constants output from the common information generation unit 641-α, and the transmitter 642-α transmits the common information coefi(0, α), coef(λ, α), coefi(λ, α) to respective share management apparatuses [PA(α, h(α))] 620-α-h(α) (h(α) = 1, ..., H(α)) forming the subset SUB(α).
  • The common value generation apparatus 650 (Fig. 19B) generates SE(α)'s (α = 1, ..., L) from the secret information SE and share(λ, α)'s (α = 1, ..., L) from the share information share(λ). According to this embodiment, the common information generation unit 652 generates SE(1), ..., SE(α), ..., SE(L) that satisfy the following relation from the secret information SE stored in the storage 651. FNC 2 - 1 SE SE 1 , , SE α , , SE L
    Figure imgb0143

    For example, the common information generation unit 652 generates SE(1), ..., SE(α), ..., SE(L) that satisfy the following relation. SE = SE 1 + + SE α + + SE L
    Figure imgb0144

    According to this embodiment, the common information generation unit 653 generates share(λ, 1), ..., share(λ, α), ..., share(λ, L) from the share information share(λ) stored in the storage 651 as follows. FNC 2 ʹ - 1 share λ share λ 1 , , share λ α , , share λ L
    Figure imgb0145

    For example, the common information generation unit 653 generates share(λ, 1), ..., share(λ, α), ..., share(λ, L) that satisfy the following relation. share λ = share λ 1 + + share λ α + + share λ L
    Figure imgb0146

    SE(α) and share(λ, α) (α = 1, ..., L, λ = 1, ..., Ψ) are sent to the transmitter 654, and the transmitter 654 transmits SE(α) and share(λ, α) to respective share management apparatuses [PA(α, h(α))] 620-α-h(α) forming the subset SUB(α).
  • [Processing of Share Management Apparatus (Step S62)]
  • Fig. 25 is a diagram for illustrating a processing of the share management apparatus [PA(α, h(α))] 620-α-h(α) (α = 1, ..., L) according to the second embodiment. In the following, the processing of the share management apparatus [PA(α, h(α))] 620-α-h(α) according to this embodiment will be described with reference to this drawing.
    First, the receiver 126-α-h(α) of the share management apparatus [PA(α, h(α))] 620-α-h(α) (Fig. 20) receives the transmitted share information SH(ψ, i, β, α, h(α)) and stores the share information in the storage 122-α-h(α) (Step S6201). Note that the processing of Step S6201 can be omitted if the processing of Step S6201 was performed in the past, and the share information SH(ψ, i, β, α, h(α)) has already been stored in the storage 122-α-h(α) of the share management apparatus [PA(α, h(α))] 620-α-h(α).
  • The receiver 126-α-h(α) of the share management apparatus [PA(α, h(α))] 620-α-h(α) receives the common information coefi(0, α), coef(λ,α), coefi(λ, α), SE(α) and share(λ, α) transmitted from the common value generation apparatuses 640-α and 650 and stores the common information in the storage 122-α-h(α) (Step S6202).
  • Then, the share secret value generation unit 621-α-h(α) reads pieces of the share information SH(0, i, β, α, h(α)) and the common information coefi(0, α) and SE(α) from the storage 122-α-h(α). The share secret value generation unit 621-α-h(α) generates the share secret value DSH(0, α, h(α)) that satisfies formula (103) from these pieces of information and outputs the share secret value (Step S6203).
  • Then, the controller 123-α-h(α) sets λ at 1 (λ = 1) and stores the setting in the temporary storage 121-α-h(α) (Step S6204). The selection unit 624-α-h(α) refers to the label LAB(λ) of the labeled matrix LMT(MT, LAB) stored in the storage 122-α-h(α) to determine whether or not LAB(λ) = v(λ) (Step S6205).
  • If LAB(λ) = v(λ), the share secret value generation unit 622-α-h(α) reads pieces of the share information SH(λ, i, β, α, h(α)), the common information coef(λ, α), coefi(λ, α) and share(α) and the n(λ)-dimensional vector v(λ) identified by the label LAB(λ) from the storage 122-α-h(α). The share secret value generation unit 622-α-h(α) generates the share secret value DSH(λ, α, h(α)) that satisfies formula (105) from these pieces of information and outputs the share secret value (Step S6206). On the other hand, if LAB(λ) = ¬v(λ), the share secret value generation unit 623-α-h(α) reads pieces of the share information SH(λ, i, β, α, h(α)), the common information coefi(λ, α) and share(α) and the n(λ)-dimensional vector v(λ) identified by the label LAB(λ) from the storage 122-α-h(α). The share secret value generation unit 623-α-h(α) generates the share secret value DSH(λ, α, h(α)) that satisfies formula (106) from these pieces of information and outputs the share secret value (Step S6207).
  • Once the share secret value DSH(λ, α, h(α)) for λ is generated, the controller 123-α-h(α) determines whether or not the value λ stored in the temporary storage 121-α-h(α) is Ψ (Step S6208), sets λ + 1 as a new λ if it is not determined that λ = Ψ (Step S6209) and proceeds to the processing of Step S6205. On the other hand, if it is determined that λ = Ψ, the generated share secret values DSH(0, α, h(α)) and DSH(λ, α, h(α)) (λ = 1, ..., ψ) are sent to the transmitter 125-α-h(α). The transmitter 125-α-h(α) transmits the share secret values DSH(0, α, h(α)) and DSH(λ, α, h(α)) to the acquisition apparatus 630 via the network 150 (Step S6210).
  • [Processing of Acquisition Apparatus (Steps S63, S63', S64 and S64')]
  • Fig. 26 is a diagram for illustrating a processing of the acquisition apparatus according to the second embodiment.
    The share secret values DSH(0, α, h(α)) and DSH(λ, α, h(α)) (λ = 1, ..., Ψ) transmitted from each share management apparatus PA(α, h(α)) 620-α-h(α) are received by the receiver 136 of the acquisition apparatus 630 (Fig. 21) and stored in the storage 132 (Step S6301).
  • Then, the controller 133 determines whether or not the number of share secret values DSH(0, α, h(α)) and DSH(λ, α, h(α)) stored in the storage 132 is equal to or greater than a number required to reconstruct the secret value (referred to as a "required number" hereinafter) (Step S6302). If it is not determined that the number of share secret values DSH(0, α, h(α)) and DSH(λ, α, h(α)) stored in the storage 132 is equal to or greater than the required number, the process returns to step S6301.
  • On the other hand, if it is determined that the number of share secret values DSH(0, α, h(α)) and DSH(λ, α, h(α)) stored in the storage 132 is equal to or greater than the required number, the controller 133 sets α at 1 (α = 1) and stores the setting in the temporary storage 131 (Step S6303). Then, the required number of share secret values DSH(0, α, h(α)) (h(α) = 1, ..., H(α)) corresponding to the subset SUB(α) are read from the storage 132 and input to each reconstruction unit 634-α (α = 1, ..., L). Each reconstruction unit 634-α generates the reconstructed secret value SUBSK(0, α) that satisfies formula (107) from the input share secret values DSH(0, α, h(α)) (h(α) = 1, ..., H(α)) by performing the reconstruction processing for each subset SUB(α), and outputs the reconstructed secret value SUBSK(0, α) for the subset SUB(α) (α = 1, ..., L) (Step S6304).
  • Then, the controller 133 sets λ, at 1 (λ = 1) and stores the setting in the temporary storage 131 (Step S6305). Then, the required number of share secret values DSH(λ, α, h(α)) (h(α) = 1, ..., H(α)) corresponding to the subset SUB(α) are read from the storage 132 and input to each reconstruction unit 636-α (α = 1, ..., L). Each reconstruction unit 636-α generates the reconstructed secret value SUBSK(λ, α) that satisfies formula (108) or (109) from the input share secret values DSH(λ, α, h(α)) (h(α) = 1, ..., H(α)) by performing the reconstruction processing for each subset SUB(α), and outputs the reconstructed secret value SUBSK(λ, α) for the subset SUB(α) (Step S6306).
    Then, the controller 133 determines whether or not the value λ stored in the temporary storage 131 is Ψ (Step S6307). If it is not determined that λ = Ψ, the controller 133 sets λ + 1 as a new λ and stores the setting in the temporary storage 131 (Step S6308). After Step S6308, the process returns to Step S6306.
    On the other hand, if it is determined that λ = Ψ, the controller 133 determines whether or not the value λ stored in the temporary storage 131 is L (Step S6309). If it is not determined that α = L, the controller 133 sets α + 1 as a new α and stores the setting in the temporary storage 131 (Step S6310). After Step S6310, the process returns to Step S6304.
  • On the other hand, if it is determined in Step S6309 that α = L, the reconstructed secret value SUBSK(0, α) (α = 1, ..., L) output from each reconstruction unit 634-α (α = 1, ..., L) are transmitted to the synthesis unit 635. The synthesis unit 635 generates the following key information D*(0) from the reconstructed secret values SUBSK(0, α) (α = 1, ..., L) and outputs the key information. D * 0 = FNC 2 SUBSK 0 1 , , SUBSK 0 α , , SUBSK 0 L
    Figure imgb0147

    For example, the key information D*(0) is generated according to formula (111) with ψ = 0 and output (Step S6311).
  • Furthermore, the reconstructed secret values SUBSK(λ, α) (α = 1, ..., L) output from each reconstruction unit 634-α (α = 1, ..., L) is transmitted to the synthesis unit 637. The synthesis unit 637 generates the following key information D*(λ) (λ = 1, ..., Ψ) from the reconstructed secret values SUBSK(λ, α) (α = 1, ..., L) and outputs the key information. D * λ = FNC 2 SUBSK λ 1 , , SUBSK λ α , , SUBSK λ L
    Figure imgb0148

    For example, the key information D*(λ) (λ = 1, ..., Ψ) is generated according to formula (111) with ψ = λ (λ = 1, ..., Ψ) and output (Step S6312).
  • <Modification 1 of Second Embodiment>
  • Modification 1 of the second embodiment is an application of modification 1 of the first embodiment to the second embodiment. That is, according to modification 1 of the second embodiment, the values corresponding to the elements θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) are θ(ψ, i, β) · g2, and each share management apparatus [PA(α, h(α))] 620-α-h(α) generates the following DSH(0, α, h(α)) as the share secret value for ψ = 0 (FNC1) DSH 0 , α , h α = - SE α SHb 1 * 0 , α , h α g 2 + ι = 2 I coef ι 0 α SHb ι * 0 , α , h α
    Figure imgb0149

    Furthermore, each share management apparatus [PA(α, h(α))] 620-α-h(α) according to this embodiment generates the following DSH(λ, α, h(α)) (λ = 1, ..., Ψ) as the share secret value for each λ according to the following formula (121) or (122), for example (FNC1'). DSH λ , α , h α = share λ α + coef λ α v 1 λ SHb 1 * λ , α , h α + ι = 2 n λ coef λ α v ι λ SHb ι * λ , α , h α + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α
    Figure imgb0150
    DSH λ , α , h α = share λ α ι = 1 n λ v ι λ SHb 1 * λ , α , h α + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α
    Figure imgb0151

    In the other respects, modification 1 is the same as the second embodiment.
  • A secret sharing system 7 according to modification 1 of the second embodiment comprises a sharing apparatus 710 that replaces the sharing apparatus 610 and share management apparatuses 720-α-h(α) (α = 1, ..., L) that replace the share management apparatuses 620-α-h(α) (α = 1, ..., L). The remainder of the configuration is the same as that according to the second embodiment.
    According to modification 1 of the second embodiment, instead of Step S6104, the information θ(ψ, i, β) · g2 ∈ G2 (i = 1, ..., n(ψ) + ζ(ψ), β = 1, ..., n(ψ) + ζ(ψ)) is read from the storage 112 and input to a secret sharing unit 714-α (α = 1, ..., L) (Fig. 27). The secret sharing unit 714-α shares each piece of information θ(ψ, i, β) · g2 ∈ G2 to generate H(α) pieces of share information shown below for the subset SUB(α) and outputs the share information. SH ψ i β α 1 , , SH ψ , i , β , α , H α
    Figure imgb0152

    The secret sharing scheme for the information θ(ψ, i, β) · g2 ∈ G2 is the same as that according to the first embodiment. That is, according to this embodiment, the secret sharing scheme according to the first embodiment in which θ · g is replaced with θ(ψ, i, β) · g2 is performed. For example, the following share information SH(ψ, i, β, α, h(α)) (h(α) = 1, ..., H(α)) is generated. SH ψ , i , β , α , h α = φ h α , f α , φ h α ) g 2 G 2
    Figure imgb0153

    Note that a relation: f(α, ω) = θ(ψ, i, β) holds, and ω ∈ Fq is a predetermined element of the finite field Fq (Step S7104).
  • According to modification 1 of the second embodiment, instead of Step S6203 in the second embodiment, the share secret value generation unit 721-α-h(α) reads pieces of the share information SH(0, i, β, α, h(α)) and the common information coefi(0, α) and SE(α) from the storage 122-α-h(α). The share secret value generation unit 721-α-h(α) generates the share secret value DSH(0, α, h(α)) that satisfies formula (120) from these pieces of information and outputs the share secret value (Step S7203).
  • According to modification 1 of the second embodiment, instead of Step S6206 in the second embodiment, the share secret value generation unit 722-α-h(α) reads pieces of the share information SH(λ, i, β, α, h(α)), the common information coef(λ, α), coefi(λ, α) and share(α) and the n(λ)-dimensional vector v(λ) identified by the label LAB(λ) from the storage 122-α-h(α). The share secret value generation unit 722-α-h(α) generates the share secret value DSH(λ, α, h(α)) that satisfies formula (121) from these pieces of information and outputs the share secret value (Step S7206). Furthermore, instead of Step S6207 in the second embodiment, the share secret value generation unit 723-α-h(α) reads pieces of the share information SH(λ, i, β α, h(α)), the common information coefi(λ, α) and share(α) and the n(λ)-dimensional vector v(λ) identified by the label LAB(λ) from the storage 122-α-h(α). The share secret value generation unit 723-α-h(α) generates the share secret value DSH(λ, α, h(α)) that satisfies formula (122) from these pieces of information and outputs the share secret value (Step S7207).
  • <Modification 2 of Second Embodiment>
  • The secret sharing scheme or the reconstruction scheme in the second embodiment or modification 1 thereof can be modified as in the first embodiment or modification 3 thereof.
  • [Other Modifications or the like]
  • The present invention is not limited to the embodiments described above. For example, each calculation defined on the finite field Fq described above can be replaced with a calculation defined on a finite ring Zq having an order q. An example of the method of replacing each calculation defined on the finite field Fq with a calculation defined on the finite ring Zq is a method that permits q other than a prime number or a power thereof. Furthermore, although a processing of generating key information on a functional encryption as the generation information has been described in the second embodiment, other generation information may be generated.
  • The various processing described above can be performed not only sequentially in the order described above but also in parallel with each other or individually as required or depending on the processing power of the apparatus that performs the processing. Furthermore, of course, other various modifications can be appropriately made to the processing without departing form the spirit of the present invention.
  • In the case where the configurations described above are implemented by a computer, the specific processing of the apparatuses are described in a program. The computer executes the program to implement the processing described above.
    The program that describes the specific processing can be recorded in a computer-readable recording medium. The computer-readable recording medium may be any type of recording medium, such as a magnetic recording device, an optical disk, a magneto-optical recording medium and a semiconductor memory.
  • The program may be distributed by selling, transferring or lending a portable recording medium, such as a DVD and a CD-ROM, in which the program is recorded, for example. Alternatively, the program may be distributed by storing the program in a storage device in a server computer and transferring the program from the server computer to other computers via a network.
    The computer that executes the program first temporarily stores, in a storage device thereof, the program recorded in a portable recording medium or transferred from a server computer, for example. Then, when performing the processing, the computer reads the program from the recording medium and performs the processing according to the read program. In an alternative implementation, the computer may read the program directly from the portable recording medium and perform the processing according to the program. As a further alternative, the computer may perform the processing according to the program each time the computer receives the program transferred from the server computer. As a further alternative, the processing described above may be performed on an application service provider (ASP) basis, in which the server computer does not transmit the program to the computer, and the processing are implemented only through execution instruction and result acquisition. The programs according to the embodiments of the present invention include a quasi-program, which is information to be processed by a computer (such as data that is not a direct instruction to a computer but has a property that defines the processing performed by the computer).
  • Although a predetermined program is executed on a computer to implement the specific processing of each apparatus in the embodiments described above, at least part of the specific processing may be implemented by hardware by itself.
  • [DESCRIPTION OF REFERENCE NUMERALS]
    • 1 to 7: secret sharing system
    • 110, 210, 410, 510, 610, 710: sharing apparatus
    • 120 to 720: share management apparatus
    • 130, 330, 430, 530, 630: acquisition apparatus
    • 140, 640, 650: common value generation apparatus

Claims (33)

  1. A secret sharing system, comprising:
    a sharing apparatus;
    Σα=1 L h(α) share management apparatuses PA(α, h(α)), where α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2; and
    an acquisition apparatus,
    wherein the sharing apparatus includes:
    a secret sharing unit that independently shares a value corresponding to each element θ(ψ, i, β) · g2 of basis vectors bi *(ψ) among each subset SUB(α) consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)) according to a predetermined secret sharing scheme to generate share information SH(ψ, i, β, α, h(α)) corresponding to each element θ(ψ, i, β) · g2, where h(α) = 1, ..., H(α), provided that Ψ denotes an integer equal to or greater than 1, ψ denotes an integer equal to or greater than 0 and equal to or smaller than Ψ, ψ = 0, ..., Ψ, n(ψ) denotes an integer equal to or greater than 1, ζ(ψ) denotes an integer equal to or greater than 0, a generator of a cyclic group G2 is denoted by g2, and the basis vectors bi *(ψ) = (θ(ψ, i, 1) · g2, ..., θ(ψ, i, n(ψ)+ζ(ψ)) · g2) ∈ G2 n(ψ)+ζ(ψ) are n(ψ)+ζ(ψ)-dimensional basis vectors for θ(ψ, i, β), where i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ) + ζ(ψ), n(ψ) ≥ 1, ζ(ψ) ≥ 1, elements of the basis vectors bi *(ψ) are n(ψ)+ζ(ψ) elements of the cyclic group G2,
    each of the share management apparatuses PA(α, h(α)) includes:
    a share secret value generation unit that generates share secret values DSH(ψ, α, h(α)) by performing a common calculation common in the subset SUB(α) on common information shared in the subset SUB(α) and the share information Soh(ψ, i, β, α, h(α)), where h(α) = 1, ..., H(α), and
    the acquisition apparatus includes:
    a reconstruction unit that generates reconstructed secret values SUBSK(ψ, α) for each subset SUB(α) from a plurality of the share secret values DSH(ψ, α, h(α)) for the subset SUB(α) by performing reconstruction processing for the subset SUB(α) according to the secret sharing scheme; and
    a synthesis unit that generates generation information D*(ψ) from the reconstructed secret values SUBSK(ψ, α).
  2. The secret sharing system according to claim 1, wherein pieces of the common information shared in different subsets SUB(α) are independent from each other.
  3. The secret sharing system according to claim 1, wherein the common calculation is a linear calculation.
  4. The secret sharing system according to claim 2, wherein the common calculation is a linear calculation.
  5. The secret sharing system according to claim 1, wherein the synthesis unit generates the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  6. The secret sharing system according to claim 2, wherein the synthesis unit generates the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  7. The secret sharing system according to claim 3, wherein the synthesis unit generates the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  8. The secret sharing system according to claim 4, wherein the synthesis unit generates the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  9. The secret sharing system according to any one of claims 1 to 8, wherein the value corresponding to each element θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) are θ(ψ, i, β),
    the common information includes coefi(0, α), coef(λ, α), coefi(λ, α), SE(α) and share(λ, α), provided that λ denotes an integer equal to or greater than 1 and equal to or smaller than Ψ, λ = 1, ..., Ψ, and
    the share secret value generation unit generates: DSH 0 , α , h α = - SE α SHb 1 * 0 , α , h α g 2 + ι = 2 I coef ι 0 α SHb ι * 0 , α , h α g 2
    Figure imgb0154

    as a share secret value for ψ = 0, provided that SHb i * 0 , α , h α = ( SH 0 , i , 1 , α , h α , , SH 0 , i , I , α , h α ;
    Figure imgb0155
    and DSH λ , α , h α = share λ α + coef λ α v 1 λ SHb 1 * λ , α , h α g 2 + ι = 2 n λ coef λ α v ι λ SHb ι * λ , α , h α g 2
    Figure imgb0156
    + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α g 2
    Figure imgb0157

    or DSH λ , α , h α = share λ α ι = 1 n λ v ι λ SHb 1 * λ , α , h α g 2 + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α g 2
    Figure imgb0158

    as a secret share value for each λ, provided that SHb i * λ , α , h α = ( SH λ , i , 1 , α , h α , , SH λ , i , n λ + ζ λ , α , h α
    Figure imgb0159

    and v(λ) = (v1(λ), ..., vn(λ)(λ)) are n(λ)-dimensional vectors.
  10. The secret sharing system according to any one of claims 1 to 8, wherein the value corresponding to each element θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) are θ(ψ, i, β) · g2,
    the common information includes coefi(0, α), coef(λ, α), coefi(λ, α), SE(α) and share(λ, α), provided that λ denotes an integer equal to or greater than 1 and equal to or smaller than Ψ, λ = 1, ..., Ψ, and
    the share secret value generation unit generates: DSH 0 , α , h α = - SE α SHb 1 * 0 , α , h α + ι = 2 I coef ι 0 α SHb ι * 0 , α , h α
    Figure imgb0160

    as a share secret value for ψ = 0, provided that SHb i * 0 , α , h α = ( SH 0 , i , 1 , α , h α , , SH 0 , i , I , α , h α ;
    Figure imgb0161
    and DSH λ , α , h α = share λ α + coef λ α v 1 λ SHb 1 * λ , α , h α + ι = 2 n λ coef λ α v ι λ SHb ι * λ , α , h α + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α
    Figure imgb0162

    or DSH λ , α , h α = share λ α ι = 1 n λ v ι λ SHb 1 * λ , α , h α + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α
    Figure imgb0163

    as a secret share value for each λ, provided that SHb i * λ , α , h α = ( SH λ , i , 1 , α , h α , , SH λ , i , n λ + ζ λ , α , h α
    Figure imgb0164

    and v(λ) = (v1(λ), ..., vn(λ)(λ)) are n(λ)-dimensional vectors.
  11. The secret sharing system according to claim 9, wherein the reconstruction unit generates: SUBSK 0 α = - SE α b 1 * 0 + ι = 2 I coef ι 0 α b ι * 0
    Figure imgb0165

    as a reconstructed secret value for ψ = 0; and SUBSK λ α = share λ α + coef λ α v 1 λ b 1 * λ + ι = 2 n λ coef λ α v ι λ b ι * λ + ι = n λ + 1 n λ + ζ λ coef ι λ α b ι * λ
    Figure imgb0166

    or SUBSK λ α = share λ α ι = 1 n λ v ι λ b 1 * λ + ι = n λ + 1 n λ + ξ λ coef ι λ α b ι * λ
    Figure imgb0167

    as a reconstructed secret value for each λ.
  12. The secret sharing system according to claim 10, wherein the reconstruction unit generates:
    SUBSK(0, α) = -SE(α) · b1 *(0) + Σi=2 I coefi(0, α)·bi *(0) as a reconstructed secret value for ψ = 0; and SUBSK λ α = share λ α + coef λ α v 1 λ b 1 * λ + ι = 2 n λ coef λ α v ι λ b ι * λ + ι = n λ + 1 n λ + ζ λ coef ι λ α b ι * λ
    Figure imgb0168

    or SUBSK λ α = share λ α ι = 1 n λ v ι λ b 1 * λ + ι = n λ + 1 n λ + ξ λ coef ι λ α b ι * λ
    Figure imgb0169
    as a reconstructed secret value for each λ.
  13. A sharing apparatus that independently shares a value corresponding to each element θ(ψ, i, β) · g2 of basis vectors bi *(ψ) among each subset SUB(α) consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)) according to a predetermined secret sharing scheme to generate share information SH(ψ, i, β, α, h(α)) corresponding to each element θ(ψ, i, β) · g2, where α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2, provided that Ψ denotes an integer equal to or greater than 1, ψ denotes an integer equal to or greater than 0 and equal to or smaller than Ψ, ψ = 0, ..., Ψ, n(ψ) denotes an integer equal to or greater than 1, ζ(ψ) denotes an integer equal to or greater than 0, a generator of a cyclic group G2 is denoted by g2, and the basis vectors bi *(ψ) = (θ(ψ, i, 1) · g2, ..., θ(ψ, i, n(ψ)+ζ(ψ)) · g2) ∈ G2 n(ψ)+ζ(ψ) are n(ψ)+ζ(ψ)-dimensional basis vectors for θ(ψ, i, β), where i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ)+ζ(ψ), n(ψ) ≥ 1, ζ(ψ) ≥ 1, the elements of the basis vectors bi *(ψ) are n(ψ)+ζ(ψ) elements of the cyclic group G2.
  14. A share management apparatus that generates share secret values DSH(ψ, α, h(α)) by performing a common calculation common in each subset SUB(α) consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)), where α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2, on common information shared in the subset SUB(α) and share information SH(ψ, i, β, α, h(α)) obtained by independently sharing a value corresponding to each element θ(ψ, i, β) · g2 of a basis vectors bi *(ψ) among the subset SUB(α), provided that h(α) = 1, ..., H(α), Ψ denotes an integer equal to or greater than 1, ψ denotes an integer equal to or greater than 0 and equal to or smaller than Ψ, ψ = 0, ..., Ψ, n(ψ) denotes an integer equal to or greater than 1, ζ(ψ) denotes an integer equal to or greater than 0, a generator of a cyclic group G2 is denoted by g2, and the basis vectors are n(ψ)+ζ(ψ)-dimensional basis vectors bi *(ψ) = (θ(ψ, i, 1) · g2, ..., θ(ψ, i, n(ψ + ζ(ψ)) · g2) ∈ G2 n(ψ)+ζ(ψ) for θ(ψ i, β), where i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ) + ζ(ψ), n(ψ) ≥ 1, ζ(ψ) ≥ 1, the elements of the basis vectors bi *(ψ) are n(ψ)+ζ(ψ) elements of the cyclic group G2.
  15. An acquisition apparatus, comprising:
    a reconstruction unit that generates reconstructed secret values SUBSK(ψ, α) for each subset SUB(α) from a plurality of share secret values DSH(ψ, α, h(α)) for the subset SUB(α) by performing a reconstruction processing for the subset SUB(α) according to a predetermined secret sharing scheme, provided that Ψ denotes an integer equal to or greater than 1, ψ denotes an integer equal to or greater than 0 and equal to or smaller than Ψ, ψ = 0, ..., Ψ, SUB(α) denotes the subset consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)), α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2; and
    a synthesis unit that generates generation information D*(ψ) from the reconstructed secret values SUBSK(ψ, α).
  16. A secret sharing method performed by a sharing apparatus, Σα=1 L h(α) share management apparatuses PA(α, h(α)), where α = 1, ..., L, L ≥ 2, h(α) = 1, ..., H(α), H(α) ≥ 2, and an acquisition apparatus, the method comprising:
    (A) a step of independently sharing, at the sharing apparatus, a value corresponding to each element θ(ψ, i, β) · g2 of basis vectors bi *(ψ) among each subset SUB(α) consisting of H(α) share management apparatuses PA(α, 1), ..., PA(α, H(α)) according to a predetermined secret sharing scheme to generate share information SH(ψ, i, β, α, h(α)) corresponding to each element θ(ψ, i, β) · g2, where h(α) = 1, ..., H(α), provided that Ψ denotes an integer equal to or greater than 1, ψ denotes an integer equal to or greater than 0 and equal to or smaller than Ψ, ψ = 0, ..., Ψ, n(ψ) denotes an integer equal to or greater than 1, ζ(ψ) denotes an integer equal to or greater than 0, a generator of a cyclic group G2 is denoted by g2, and the basis vectors bi *(ψ) = (θ(ψ, i, 1) · g2, ..., θ(ψ, i, n(ψ) + ζ(ψ)) · g2) ∈ G2 n(ψ)+ζ(ψ) are an n(ψ)+ζ(ψ)-dimensional basis vectors for θ(ψ, i, β), where i = 1, ..., n(ψ)+ζ(ψ), β = 1, ..., n(ψ) + ζ(ψ), n(ψ) ≥ 1, ζ(ψ) ≥ 1, the elements of the basis vectors bi *(ψ) are n(ψ)+ζ(ψ) elements of the cyclic group G2;
    (B) a step of generating, at each of the share management apparatuses PA(α, h(α)), share secret values DSH(ψ, α, h(α)) by performing a common calculation common in the subset SUB(α) on common information shared in the subset SUB(α) and the share information SH(ψ, i, β, α, h(α)), where h(α) = 1, ..., H(α);
    (C) a step of generating, at the acquisition apparatus, reconstructed secret values SUBSK(ψ, α) for each subset SUB(α) from a plurality of the share secret values DSH(ψ, α, h(α)) for the subset SUB(α) by performing a reconstruction processing for the subset SUB(α) according to the secret sharing scheme; and
    (D) a step of generating, the acquisition apparatus, generation information D*(ψ) from the reconstructed secret values SUBSK(ψ, α).
  17. The secret sharing method according to claim 16, wherein pieces of the common information shared in different subsets SUB(α) are independent from each other.
  18. The secret sharing method according to claim 16, wherein the common calculation is a linear calculation.
  19. The secret sharing method according to claim 17, wherein the common calculation is a linear calculation.
  20. The secret sharing method according to claim 16, wherein the step (D) includes a step of generating the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  21. The secret sharing method according to claim 17, wherein the step (D) includes a step of generating the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  22. The secret sharing method according to claim 18, wherein the step (D) includes a step of generating the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  23. The secret sharing method according to claim 19, wherein the step (D) includes a step of generating the generation information D*(ψ) by a linear combination of the reconstructed secret values SUBSK(ψ, α).
  24. The secret sharing method according to any one of claims 16 to 23, wherein the value corresponding to each element θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) are θ(ψ, i, β),
    the common information includes coefi(0, α), coef(λ, α), coefi(λ, α), SE(α) and share(λ, α), provided that λ denotes an integer equal to or greater than 1 and equal to or smaller than Ψ, λ = 1, ..., Ψ, and
    the step (B) includes:
    (B-1) a step of generating DSH 0 , α , h α = - SE α SHb 1 * 0 , α , h α g 2 + ι = 2 I coef ι 0 α SHb ι * 0 , α , h α g 2
    Figure imgb0170

    as a share secret value for ψ = 0, provided that SHb i * 0 , α , h α = ( SH 0 , i , 1 , α , h α , , SH 0 , i , I , α , h α ;
    Figure imgb0171
    and
    (B-2) a step of generating DSH λ , α , h α
    Figure imgb0172
    = share λ α + coef λ α v 1 λ SHb 1 * λ , α , h α g 2 + ι = 2 n λ coef λ α v ι λ SHb ι * λ , α , h α g 2 + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α g 2
    Figure imgb0173
    or DSH λ , α , h α = share λ α ι = 1 n λ v ι λ SHb 1 * λ , α , h α g 2 + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α g 2
    Figure imgb0174

    as a secret share value for each λ, provided that SHb i * λ , α , h α = ( SH λ , i , 1 , α , h α , , SH λ , i , n λ + ζ λ , α , h α
    Figure imgb0175

    and v(λ) = (v1(λ), ..., vn(λ)(λ)) are n(λ)-dimensional vectors.
  25. The secret sharing method according to any one of claims 16 to 23, wherein the value corresponding to each element θ(ψ, i, β) · g2 of the basis vectors bi *(ψ) are θ(ψ, i, β) · g2,
    the common information includes coefi(0, α), coef(λ, α), coefi(λ, α), SE(α) and share(λ, α), provided that λ denotes an integer equal to or greater than 1 and equal to or smaller than Ψ, λ = 1, ..., Ψ, and
    the step (B) includes:
    (B-1) a step of generating DSH 0 , α , h α = - SE α SHb 1 * 0 , α , h α + ι = 2 I coef ι 0 α SHb ι * 0 , α , h α
    Figure imgb0176

    as a share secret value for ψ = 0, provided that SHb i * 0 , α , h α = ( SH 0 , i , 1 , α , h α , , SH 0 , i , I , α , h α ;
    Figure imgb0177
    and
    (B-2) a step of generating DSH λ , α , h α = share λ α + coef λ α v 1 λ SHb 1 * λ , α , h α + ι = 2 n λ coef λ α v ι λ SHb ι * λ , α , h α + ι = n λ + 1 n λ + ζ λ coef ι λ α v ι λ SHb ι * λ , α , h α
    Figure imgb0178
    or DSH λ , α , h α = share λ α ι = 1 n λ v ι λ SHb 1 * λ , α , h α + ι = n λ + 1 n λ + ζ λ coef ι λ α SHb ι * λ , α , h α
    Figure imgb0179

    as a secret share value for each λ, provided that SHb i * λ , α , h α = ( SH λ , i , 1 , α , h α , , SH λ , i , n λ + ζ λ , α , h α
    Figure imgb0180

    and v(λ) = (v1(λ), ..., vn(λ)(λ)) are n(λ)-dimensional vectors.
  26. The secret sharing method according to claim 24 wherein the step (C) includes:
    (C-1) a step of generating SUBSK 0 α = - SE α b 1 * 0 + ι = 2 I coef ι 0 α b ι * 0
    Figure imgb0181

    as a reconstructed secret value for ψ = 0; and
    (C-2) a step of generating SUBSK λ α = share λ α + coef λ α v 1 λ b 1 * λ + ι = 2 n λ coef λ α v ι λ b ι * λ + ι = n λ + 1 n λ + ζ λ coef ι λ α b ι * λ
    Figure imgb0182
    or SUBSK λ α = share λ α ι = 1 n λ v ι λ b 1 * λ + ι = n λ + 1 n λ + ξ λ coef ι λ α b ι * λ
    Figure imgb0183

    as a reconstructed secret value for each λ.
  27. The secret sharing method according to claim 25, wherein the step (C) includes:
    (C-1) a step of generating SUBSK 0 α = - SE α b 1 * 0 + ι = 2 I coef ι 0 α b ι * 0
    Figure imgb0184

    as a reconstructed secret value for ψ = 0; and
    (C-2) a step of generating SUBSK λ α = share λ α + coef λ α v 1 λ b 1 * λ + ι = 2 n λ coef λ α v ι λ b ι * λ + ι = n λ + 1 n λ + ζ λ coef ι λ α b ι * λ
    Figure imgb0185
    or SUBSK λ α = share λ α ι = 1 n λ v ι λ b 1 * λ + ι = n λ + 1 n λ + ξ λ coef ι λ α b ι * λ
    Figure imgb0186

    as a reconstructed secret value for each λ.
  28. A program that makes a computer function as a sharing apparatus according to claim 13.
  29. A program that makes a computer function as a share management apparatus according to claim 14.
  30. A program that makes a computer function as an acquisition apparatus according to claim 15.
  31. A computer-readable recording medium that stores a program that makes a computer function as a sharing apparatus according to claim 13.
  32. A computer-readable recording medium that stores a program that makes a computer function as a share management apparatus according to claim 14.
  33. A computer-readable recording medium that stores a program that makes a computer function as an acquisition apparatus according to claim 15.
EP11809735.1A 2010-07-23 2011-07-22 Secret sharing system, sharing apparatus, sharing management apparatus, aquisition apparatus, secret sharing method, program and recording medium Active EP2562736B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010166407 2010-07-23
PCT/JP2011/066693 WO2012011565A1 (en) 2010-07-23 2011-07-22 Secret sharing system, sharing apparatus, sharing management apparatus, acquiring apparatus, secret sharing method, program and recording medium

Publications (3)

Publication Number Publication Date
EP2562736A1 true EP2562736A1 (en) 2013-02-27
EP2562736A4 EP2562736A4 (en) 2015-03-11
EP2562736B1 EP2562736B1 (en) 2016-06-29

Family

ID=45496983

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11809735.1A Active EP2562736B1 (en) 2010-07-23 2011-07-22 Secret sharing system, sharing apparatus, sharing management apparatus, aquisition apparatus, secret sharing method, program and recording medium

Country Status (6)

Country Link
US (1) US8964988B2 (en)
EP (1) EP2562736B1 (en)
JP (1) JP5379914B2 (en)
KR (1) KR101456579B1 (en)
CN (1) CN103003857B (en)
WO (1) WO2012011565A1 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5814880B2 (en) * 2012-07-31 2015-11-17 三菱電機株式会社 Encryption system, encryption method, encryption program, and decryption device
CN102855422B (en) * 2012-08-21 2015-03-04 飞天诚信科技股份有限公司 Method and device for identifying pirated encryption lock
KR102084733B1 (en) * 2013-05-09 2020-03-05 삼성전자주식회사 Apparatus and method for managing distribution of file
CN105900164B (en) * 2014-01-17 2019-03-08 日本电信电话株式会社 Secret calculation method, secure computing system, sorting plant and recording medium
US9141814B1 (en) * 2014-06-03 2015-09-22 Zettaset, Inc. Methods and computer systems with provisions for high availability of cryptographic keys
CN106471558B (en) * 2014-07-02 2018-03-20 三菱电机株式会社 Matrix generation device and matrix generating method
US10091000B2 (en) * 2014-09-24 2018-10-02 Intel Corporation Techniques for distributing secret shares
US10097522B2 (en) * 2015-05-21 2018-10-09 Nili Philipp Encrypted query-based access to data
JP6034927B1 (en) * 2015-07-27 2016-11-30 日本電信電話株式会社 Secret calculation system, secret calculation device, and program
CN108475483B (en) * 2016-01-18 2021-07-13 日本电信电话株式会社 Hidden decision tree calculation system, device, method and recording medium
US10158651B1 (en) 2016-04-20 2018-12-18 Wells Fargo Bank, N.A. Verifying secure transactions through distributed nodes
US11456862B2 (en) * 2017-07-05 2022-09-27 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation apparatus, secure computation method, and recording medium
CN108712261B (en) * 2018-05-10 2021-02-26 杭州智块网络科技有限公司 Key generation method, device and medium based on block chain
JP7087965B2 (en) * 2018-11-29 2022-06-21 日本電信電話株式会社 Cryptographic system, cryptographic device, decryption device, encryption method, decryption method and program
CN111049644B (en) * 2019-10-22 2021-03-23 贵州财经大学 Rational and fair secret information sharing method based on confusion incentive mechanism

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485474A (en) * 1988-02-25 1996-01-16 The President And Fellows Of Harvard College Scheme for information dispersal and reconstruction
DE69534192T2 (en) * 1994-07-29 2006-02-16 Canon K.K. A method for sharing secret information, generating a digital signature, and performing authentication in a communication system having a plurality of information processing devices and communication system for applying this method
JP3604737B2 (en) * 1994-07-29 2004-12-22 キヤノン株式会社 Secret information processing method in communication system having a plurality of information processing devices and communication system thereof
US6012159A (en) * 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
JPH10198272A (en) 1996-12-27 1998-07-31 Canon Inc Key managing method, ciphering system, and decentralized digital signature system with hierarchy
WO2001024439A1 (en) * 1999-09-29 2001-04-05 Hitachi, Ltd. Device, program or system for processing secret information
US7359507B2 (en) * 2000-03-10 2008-04-15 Rsa Security Inc. Server-assisted regeneration of a strong secret from a weak secret
JP4292835B2 (en) * 2003-03-13 2009-07-08 沖電気工業株式会社 Secret reconstruction method, distributed secret reconstruction device, and secret reconstruction system
KR100518687B1 (en) * 2003-12-01 2005-10-05 한국전자통신연구원 Scalar-multiplication Method of elliptic curves defined over composite fields and The medium recording the program
US7945784B1 (en) * 2005-08-19 2011-05-17 Adobe Systems Incorporated Method and system to perform secret sharing
JP2008098894A (en) * 2006-10-11 2008-04-24 Kddi Corp System, method and program for managing information
JP4334582B2 (en) * 2007-06-26 2009-09-30 株式会社東芝 Secret sharing apparatus, method and program
US8422681B2 (en) * 2008-03-06 2013-04-16 International Business Machines Corporation Non-interactive hierarchical identity-based key-agreement
JP2010118968A (en) 2008-11-13 2010-05-27 Hiroshima Ichi Secret information distribution device and secret information restoration device
CN102396012B (en) 2009-04-24 2014-05-07 日本电信电话株式会社 Secret distribution system, distribution device, distribution management device, acquisition device, processing methods for said devices, secret distribution method

Also Published As

Publication number Publication date
WO2012011565A1 (en) 2012-01-26
US20130114815A1 (en) 2013-05-09
JPWO2012011565A1 (en) 2013-09-09
JP5379914B2 (en) 2013-12-25
CN103003857B (en) 2015-03-11
US8964988B2 (en) 2015-02-24
KR101456579B1 (en) 2014-10-31
EP2562736B1 (en) 2016-06-29
CN103003857A (en) 2013-03-27
KR20130036044A (en) 2013-04-09
EP2562736A4 (en) 2015-03-11

Similar Documents

Publication Publication Date Title
EP2562736B1 (en) Secret sharing system, sharing apparatus, sharing management apparatus, aquisition apparatus, secret sharing method, program and recording medium
US8897442B2 (en) Encryption device, decryption device, encryption method, decryption method, program, and recording medium
EP2423904B1 (en) Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium
US8938068B2 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
JP5291795B2 (en) ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, SECURITY METHOD, PROGRAM, AND RECORDING MEDIUM
Lee et al. Anonymous HIBE with short ciphertexts: full security in prime order groups
EP2675107B1 (en) Encryption processing system, key generation device, encryption device, decryption device, key delegation device, encryption processing method, and encryption processing program
Akiyama et al. An algebraic surface cryptosystem
JP5612494B2 (en) Timed cryptographic system, timed cryptographic method, apparatus, and program using function encryption
Singh FIFE: A Framework for Investigating Functional Encryption

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20121120

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602011027813

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G09C0001000000

Ipc: H04L0009080000

A4 Supplementary search report drawn up and despatched

Effective date: 20150209

RIC1 Information provided on ipc code assigned before grant

Ipc: H04L 9/30 20060101ALI20150203BHEP

Ipc: H04L 9/32 20060101ALI20150203BHEP

Ipc: H04L 9/08 20060101AFI20150203BHEP

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

INTG Intention to grant announced

Effective date: 20160126

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 809847

Country of ref document: AT

Kind code of ref document: T

Effective date: 20160715

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 6

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602011027813

Country of ref document: DE

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160929

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20160629

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160930

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 809847

Country of ref document: AT

Kind code of ref document: T

Effective date: 20160629

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161029

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20161031

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: BE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602011027813

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160731

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160731

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

26N No opposition filed

Effective date: 20170330

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 7

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160722

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160929

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160722

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20110722

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

Ref country code: MT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20160731

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20160629

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20230720

Year of fee payment: 13

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230725

Year of fee payment: 13

Ref country code: DE

Payment date: 20230719

Year of fee payment: 13