WO2012011565A1 - 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 - Google Patents
秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 Download PDFInfo
- Publication number
- WO2012011565A1 WO2012011565A1 PCT/JP2011/066693 JP2011066693W WO2012011565A1 WO 2012011565 A1 WO2012011565 A1 WO 2012011565A1 JP 2011066693 W JP2011066693 W JP 2011066693W WO 2012011565 A1 WO2012011565 A1 WO 2012011565A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- secret
- coef
- information
- share
- secret sharing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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/0833—Key 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/0836—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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/3073—Public 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 secret sharing technology.
- SSS Secret Sharing Scheme
- the secret sharing method generates a plurality of pieces of share information SH (1), ..., SH (N) from the secret information MSK, and generates a plurality of distributed management devices PA (1), ..., PA (N ), And the secret information MSK can be restored only when the share information SH (1), ..., SH (N) can be obtained more than a predetermined number of share information. It is.
- the following shows a typical scheme of the secret sharing method.
- (N, N) threshold secret sharing method In (N, N) threshold secret sharing method (sometimes called “N-out-of-N threshold distribution method” or “N-out-of-N threshold distribution method"), all shares The secret information MSK can be restored if the information SH (1), ..., SH (N) is given, but any N-1 pieces of share information SH ( ⁇ 1 ), ..., SH ( ⁇ N- Even if 1 ) is given, no secret information MSK information can be obtained.
- each share information SH (1), ..., SH (N) and mutually independent values ⁇ (1), ..., ⁇ (N) are used as operands, and the same for each share information.
- restoration processing is executed using the result of linear operation CALC as each piece of share information SH '(1), ..., SH' (N)
- the operation result is normally obtained using the secret information MSK as the operand.
- SH ′ (N) the following values are obtained.
- K t , N threshold secret sharing scheme: (K t, N) in the threshold secret sharing scheme (sometimes referred to as "K t -out-of-N-balancing method" and "K t -out-of-N threshold distribution method” there is also a), any differences becomes K t pieces of share information SH of ( ⁇ 1), ..., SH ( ⁇ Kt) can restore the secret information MSK given any K t -1 pieces of share information SH (phi 1 ), ..., SH ( ⁇ Kt-1 ), the secret information MSK cannot be obtained at all.
- Kt subscript represents the K t.
- An example of the (K t , N) threshold secret sharing scheme is shown below.
- each share information SH ( ⁇ 1 ), ..., SH ( ⁇ Kt ) and the value ⁇ are used as operands, and the result of performing the same linear operation CALC for each share information is obtained as each share information SH ′ ( The value restored as ⁇ 1 ),..., SH ′ ( ⁇ Kt ) is equal to the result of performing the linear operation CALC using the secret information MSK and the value ⁇ as operands.
- each share information SH ( ⁇ 1 ), ..., SH ( ⁇ Kt ) and mutually independent values ⁇ ( ⁇ 1 ), ..., ⁇ ( ⁇ Kt ) are used as operands, and share information is obtained.
- the distributed device secretly distributes the secret information MSK to generate a plurality of share information SH (1), ..., SH (N), which are then distributed to a plurality of distributed management devices PA (1),. ., Distributed to PA (N).
- Each distributed management device PA (1),..., PA (N) executes some kind of calculation.
- Condition 3) The acquisition device cannot obtain the secret information MSK, but when the calculation results generated by a predetermined number or more of the distributed management devices are given, the secret information MSK and an arbitrary value ⁇ are calculated. Generation information corresponding to the result of the operation included in the child can be obtained.
- the present invention has been made in view of such a point, and an object thereof is to safely realize a method satisfying the above conditions 1 to 3.
- g 2 ) ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ) the value corresponding to each element
- the acquisition device uses a plurality of distributed secret values DSH ( ⁇ , ⁇ , h ( ⁇ )) corresponding to the same subset SUB ( ⁇ ), and restores each subset SUB ( ⁇ ) according to the secret sharing scheme.
- a secret restoration value SUBSK ( ⁇ , ⁇ ) for each subset SUB ( ⁇ ) is generated by the processing, and generation information D * ( ⁇ ) is generated using the secret restoration value SUBSK ( ⁇ , ⁇ ).
- the basis vector b i * ( ⁇ ), which is secret information, is secretly distributed independently for each subset SUB ( ⁇ ), and the shared secret value is used using common information shared for each subset SUB ( ⁇ ).
- DSH ( ⁇ , ⁇ , h ( ⁇ )) is generated.
- the restoration process using the shared secret value DSH ( ⁇ , ⁇ , h ( ⁇ )) as the share information can be correctly executed. Since the common information is shared for each subset SUB ( ⁇ ) and not shared by all the distributed management devices PA ( ⁇ , h ( ⁇ )), the safety is high.
- FIG. 1 is a block diagram for explaining the overall configuration of the secret sharing system according to the first embodiment.
- FIG. 2 is a block diagram for explaining the configuration of the distribution apparatus of FIG.
- FIG. 3A is a block diagram for explaining the configuration of the distributed management apparatus according to the first embodiment.
- FIG. 3B is a block diagram for explaining the configuration of the shared value generation apparatus according to the first embodiment.
- FIG. 4 is a block diagram for explaining the configuration of the acquisition apparatus according to the first embodiment.
- FIG. 5A is a block diagram for explaining details of the secret sharing unit of FIG.
- FIG. 5B is a block diagram for explaining details of the distributed secret value generation unit of FIG. 3A.
- FIG. 6 is a block diagram for explaining details of the restoration unit of FIG. FIG.
- FIG. 7 is a diagram for explaining the entire secret sharing process of the first embodiment.
- FIG. 8A is a diagram for illustrating processing of the distribution apparatus according to the first embodiment.
- FIG. 8B is a diagram for illustrating details of the processing in step S112.
- FIG. 9A is a diagram for illustrating processing of the distributed management device according to the first embodiment.
- FIG. 9B is a diagram for illustrating details of the processing in step S124.
- FIG. 10A is a diagram for illustrating processing of the acquisition device according to the first embodiment.
- FIG. 10B is a diagram for illustrating the process in step S134.
- FIG. 11A is a diagram for explaining a configuration of a secret sharing unit according to Modification 1 of the first embodiment.
- FIG. 11B is a diagram for explaining a configuration of a distributed secret value generation unit according to Modification 1 of the first embodiment.
- FIG. 12A is a diagram for describing a configuration of a distributed secret value generation unit according to Modification 2 of the first embodiment.
- FIG. 12B is a diagram for describing a configuration of a restoration unit according to Modification 2 of the first embodiment.
- FIG. 13A is a diagram for describing a configuration of a secret sharing unit according to Modification 3 of the first embodiment.
- FIG. 13B is a diagram for describing a configuration of a distributed secret value generation unit according to Modification 3 of the first embodiment.
- FIG. 13C is a diagram for describing a configuration of a restoration unit according to Modification 3 of the first embodiment.
- FIG. 12A is a diagram for describing a configuration of a distributed secret value generation unit according to Modification 2 of the first embodiment.
- FIG. 12B is a diagram for describing a configuration of a restoration unit according to Modification 2 of
- FIG. 14A is a diagram for describing a configuration of a secret sharing unit according to Modification 4 of the first embodiment.
- FIG. 14B is a diagram for describing a configuration of a distributed secret value generation unit according to Modification 4 of the first embodiment.
- FIG. 14C is a diagram for describing a configuration of a restoration unit according to Modification 4 of the first embodiment.
- FIG. 15 is a diagram exemplifying tree structure data expressing a standard logical expression.
- FIG. 16 is a diagram illustrating tree structure data expressing a standard logical expression.
- FIG. 17 is a block diagram for explaining the overall configuration of the secret sharing system according to the second embodiment.
- FIG. 18 is a block diagram for explaining the configuration of the distribution apparatus according to the second embodiment.
- FIG. 19A is a block diagram for explaining a configuration of a shared value generation device according to the second embodiment.
- FIG. 19B is a block diagram for explaining a configuration of a shared value generation apparatus according to the second embodiment.
- FIG. 20 is a block diagram for explaining the configuration of the distributed management apparatus according to the second embodiment.
- FIG. 21 is a block diagram for explaining a configuration of an acquisition apparatus according to the second embodiment.
- FIG. 22 is a diagram for explaining the entire secret sharing process of the second embodiment.
- FIG. 23 is a diagram for explaining the entire secret sharing process of the second embodiment.
- FIG. 24 is a diagram for illustrating processing of the distribution apparatus according to the second embodiment.
- FIG. 25 is a diagram for illustrating processing of the distributed management apparatus according to the second embodiment.
- FIG. 26 is a diagram for illustrating processing of the acquisition apparatus according to the second embodiment.
- FIG. 27 is a diagram for illustrating the processing of the distributed management apparatus according to the first modification in the second embodiment.
- FIG. 28 is a diagram for illustrating the processing of the distributed management apparatus according to the first modification in the second embodiment.
- F q represents a finite field of order q.
- the order q is an integer of 1 or more.
- a prime number or a power value of a prime number is assumed to be the order q.
- examples of the finite field F q are an elementary field and an extension field based on it.
- An operation when the finite field F q is a prime field can be easily configured by, for example, a remainder operation modulo the order q.
- An operation when the finite field F q is an extension field can be easily configured by, for example, a remainder operation modulo an irreducible polynomial.
- Specific configuration method of a finite field F q for example, reference 1 "ISO / IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers " disclosed.
- 0 F : 0 F represents an additive unit of the finite field F q .
- 1 F : 1 F represents a multiplicative unit element of the finite field F q .
- E represents an elliptic curve defined on the finite field Fq .
- the elliptic curve E is a set including a set of points (x, y) consisting of x, y ⁇ F q that satisfies the Weierstrass equation on the affine coordinates shown below, and a special point O called an infinity point. is there.
- y 2 + a 1 ⁇ x ⁇ y + a 3 ⁇ y x 3 + a 2 ⁇ x 2 + a 4 ⁇ x + a 6
- a 1 , a 2 , a 3 , a 4 , a 6 ⁇ F q are satisfied.
- a binary operation + called elliptic addition is defined for any two points on the elliptic curve E
- a unary operation ⁇ called inverse element operation is defined for any one point on the elliptic curve E.
- elliptic scalar multiplication can be defined using elliptic addition, and specific elliptic operations such as elliptic addition on a computer
- the calculation method is well known (for example, Reference 1 and Reference 2 “RFC 5091: Identity-Based Cryptography Standard (IBCS) # 1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems”, Reference 3 “Ian ⁇ See F.
- a finite set of rational points on the elliptic curve E has a subgroup of order p (p ⁇ 1). For example, if the number of elements of a finite set of rational points on the elliptic curve E is #E, and p is a large prime number that divides #E, the finite set E [p] of the p equal points of the elliptic curve E is A subgroup of a finite set of rational points on the elliptic curve E is constructed.
- G represents a cyclic group.
- a specific example of the cyclic group G is a finite set E [p] composed of p equal points of the elliptic curve E, its subgroup, remainder group, and the like.
- operations defined on the cyclic group G are expressed additively. That is, ⁇ ⁇ ⁇ G for ⁇ F q and ⁇ G means that the operation defined by the cyclic group G is applied to ⁇ G 1 ⁇ times, and for ⁇ 1 and ⁇ 2 ⁇ G ⁇ 1 + ⁇ 2 ⁇ G means that an operation defined by the cyclic group G is performed using ⁇ 1 ⁇ G and ⁇ 2 ⁇ G as operands.
- g: g represents a generation source of the cyclic group G.
- FIG. 1 is a block diagram for explaining the overall configuration of the secret sharing system according to the first embodiment.
- the shared value generation apparatuses 140-1 to 140-L can communicate with each other through the network 150.
- the present embodiment exemplifies a configuration in which one distribution device 110 and one acquisition device 130 exist, but two or more distribution devices 110 and / or acquisition devices 130 may exist.
- there is only one set of ⁇ 1 L h ( ⁇ ) dispersion management devices [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ).
- PA ( ⁇ , h ( ⁇ )) 120- ⁇ -h ( ⁇ ).
- Each of the plurality of distribution management devices PA ( ⁇ , 1),..., PA ( ⁇ , H ( ⁇ )) is divided into a plurality of subsets SUB ( ⁇ ).
- Each subset SUB ( ⁇ ) corresponds to a shared value generation device 140- ⁇ that generates a shared value ⁇ ( ⁇ ) shared by each subset SUB ( ⁇ ).
- FIG. 2 is a block diagram for explaining the configuration of the distribution apparatus 110 of FIG.
- FIG. 5A is a block diagram for explaining details of secret sharing section 114- ⁇ in FIG.
- the secret sharing unit 114- ⁇ of this embodiment includes a function selection unit 114a- ⁇ , an index generation unit 114b- ⁇ , and a distribution processing unit 114c- ⁇ .
- the distribution apparatus 110 is a special apparatus including a known or dedicated computer including a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read-Only Memory), and a special program.
- the temporary storage unit 111 and the storage unit 112 are, for example, a RAM, a register, a cache memory, an auxiliary storage device such as an element in an integrated circuit or a hard disk, or a storage area composed of a combination of at least a part thereof. It is.
- the transmitting unit 115 is a communication device such as a modem or a LAN (Local Area Network) card.
- the distribution apparatus 110 executes each process under the control of the control unit 113. Although the description is simplified below, the data output from each processing unit is stored in the temporary storage unit 111 or the storage unit 112 one by one. Data stored in the temporary storage unit 111 or the storage unit 112 is read out as necessary, is input to each processing unit, and is used for the processing.
- FIG. 3A is a block diagram for explaining the configuration of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) of the first embodiment.
- FIG. 5B is a block diagram for explaining details of the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) of FIG. 3A.
- the distributed management apparatus [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) of this embodiment includes a temporary storage unit 121- ⁇ -h ( ⁇ ) and a storage unit.
- the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) includes a linear operation unit 124a- ⁇ -h ( ⁇ ) and a distributed secret value synthesis unit 124b- ⁇ -h ( ⁇ ).
- the distributed management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) is a special device including, for example, a known or dedicated computer having a CPU, RAM, ROM, etc. and a special program. is there.
- the temporary storage unit 121- ⁇ -h ( ⁇ ) and the storage unit 122- ⁇ -h ( ⁇ ) are, for example, an auxiliary storage device such as a RAM, a register, a cache memory, an element in an integrated circuit, or a hard disk. Or a storage area composed of a combination of at least some of these.
- the control unit 123- ⁇ -h ( ⁇ ) and the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) are, for example, processing units configured by the CPU executing a predetermined program.
- control unit 123- ⁇ -h ( ⁇ ) and the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) may be a special integrated circuit.
- the transmission unit 125- ⁇ -h ( ⁇ ) and the reception unit 126- ⁇ -h ( ⁇ ) are communication devices such as a modem and a LAN card, for example.
- the distributed management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) executes each process under the control of the control unit 123- ⁇ -h ( ⁇ ).
- the data output from each processing unit is stored in the temporary storage unit 121- ⁇ -h ( ⁇ ) or the storage unit 122- ⁇ -h ( ⁇ ) one by one.
- Data stored in the temporary storage unit 121- ⁇ -h ( ⁇ ) or the storage unit 122- ⁇ -h ( ⁇ ) is read out as necessary, and is input to each processing unit and used for the processing. .
- FIG. 3B is a block diagram for explaining the configuration of the shared value generation device 140- ⁇ of the first embodiment.
- the shared value generation apparatus 140- ⁇ of the present embodiment includes a random number generation unit 141- ⁇ and a transmission unit 142- ⁇ .
- the shared value generation device 140- ⁇ of the present embodiment is a special device including a known or dedicated computer including a CPU, RAM, ROM, etc. and a special program, for example, but the random number generation unit 141- ⁇ is a special device. It may be an integrated circuit.
- FIG. 4 is a block diagram for explaining the configuration of the acquisition device 130 according to the first embodiment.
- FIG. 6 is a block diagram for explaining details of the restoration unit 134- ⁇ of FIG.
- the restoration unit 134- ⁇ includes a coefficient calculation unit 134a- ⁇ and a polynomial calculation unit 134b- ⁇ .
- the acquisition device 130 is a special device including a known or dedicated computer including a CPU, RAM, ROM, and the like and a special program, for example.
- the temporary storage unit 131 and the storage unit 132 are, for example, a RAM, a register, a cache memory, an auxiliary storage device such as an element in an integrated circuit or a hard disk, or a storage area composed of a combination of at least a part thereof. It is.
- the transmission unit 135 and the reception unit 136 are communication devices such as a modem and a LAN card, for example.
- the acquisition device 130 executes each process under the control of the control unit 133.
- the data output from each processing unit is stored in the temporary storage unit 131 or the storage unit 132 one by one. Data stored in the temporary storage unit 131 or the storage unit 132 is read out as necessary, is input to each processing unit, and is used for the processing.
- FIG. 7 is a diagram for explaining the entire secret sharing process of the first embodiment.
- Each share information SH ( ⁇ , h ( ⁇ )) is distributed and transmitted to each distributed management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) via the network 150, respectively. .
- Each distribution management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) to which each share information SH ( ⁇ , h ( ⁇ )) has been transmitted has its share information SH ( ⁇ , h ( ⁇ )) and common information including the shared value ⁇ ( ⁇ ) shared for each subset SUB ( ⁇ ), and performing a predetermined common operation, the distributed secret value DSH ( ⁇ , h ( ⁇ ) ) And the distributed secret value DSH ( ⁇ , h ( ⁇ )) is output (step S12).
- the shared values ⁇ ( ⁇ ) shared by different subsets SUB ( ⁇ ) are independent from each other.
- the “common information” used by each of the dispersion management devices [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) belonging to the same subset SUB ( ⁇ ) is the same.
- the “common information” exemplified in this embodiment includes the shared value ⁇ ( ⁇ ) and all the dispersion management devices PA ( ⁇ , h ( ⁇ )) 120 ⁇ h ( ⁇ ) provided from the acquisition device 130.
- common provision information v is common provision information
- the “common operations” performed by the dispersion management devices [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) belonging to the same subset SUB ( ⁇ ) are the same. In this embodiment, it is assumed that all “common operations” are the same.
- the “common operation” in this embodiment is an operation having linearity.
- Each distributed secret value DSH ( ⁇ , h ( ⁇ )) output from each distributed management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) is obtained via the network 150, respectively. 130.
- the acquisition device 130 uses a plurality of distributed secret values DSH ( ⁇ , h ( ⁇ )) corresponding to the same subset SUB ( ⁇ ), and performs a secret restoration value SUBSK ( ⁇ by a restoration process for each subset SUB ( ⁇ ). ) Is generated (step S13).
- the acquisition device 130 generates the generation information SK using the secret restoration value SUBSK ( ⁇ ) generated for each subset SUB ( ⁇ ), and outputs the generation information SK (step S14).
- the acquisition device 130 linearly combines the secret restoration value SUBSK ( ⁇ ) to generate the generation information SK.
- FIG. 8A is a diagram for illustrating processing of the distribution apparatus according to the first embodiment
- FIG. 8B is a diagram for illustrating details of processing in step S112.
- information ⁇ F q for specifying the secret information ⁇ ⁇ g ⁇ G is read from the storage section 112 and input to the secret sharing section 114- ⁇ .
- the secret sharing unit 114- ⁇ uses the information ⁇ F q to secretly distribute the secret information ⁇ ⁇ g or the information ⁇ according to a predetermined secret sharing scheme, and shares H ( ⁇ ) for the subset SUB ( ⁇ ).
- Information SH ( ⁇ , 1),..., SH ( ⁇ , H ( ⁇ )) is generated and output (step S112).
- R ( ⁇ ), H ( ⁇ ) threshold secret sharing scheme
- the function selection unit 114a-alpha secret sharing unit 114-alpha FIG. 8B
- x is a variable composed of elements of the finite field F q
- an example of the element ⁇ F q is 0 F.
- the distribution processing unit 114c- ⁇ outputs the share information SH ( ⁇ , h ( ⁇ )) (end of description of step S112c / ⁇ detail of step S112 >>).
- the share information SH (L, H (L)) is transmitted to the distributed management device [PA (L, H (L))] 120-LH (L), respectively.
- Each shared value generation device 140- ⁇ (FIG. 3B) has each dispersion management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) constituting the subset SUB ( ⁇ ) corresponding to itself.
- FIG. 9A is a diagram for illustrating the processing of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) of the first embodiment
- FIG. 9B is the processing of step S124. It is a figure for demonstrating the detail of.
- the processing of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) of this embodiment will be described with reference to these drawings.
- the receiving unit 126- ⁇ -h ( ⁇ ) of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) sends the transmitted share information SH ( ⁇ , h ( ⁇ )) is received and stored in the storage unit 122- ⁇ -h ( ⁇ ) (step S121).
- step S121 the process of step S121 has been executed in the past, and the share information SH ( ⁇ , h ( ⁇ )) has already been stored in the storage unit [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ). If stored in 122- ⁇ -h ( ⁇ ), the process of step S121 may be omitted.
- the receiving unit 126- ⁇ -h ( ⁇ ) of the dispersion management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) transmits the shared value ⁇ ( ⁇ ) is received and stored in the storage unit 122- ⁇ -h ( ⁇ ) (step S122).
- the provision information v read from the storage unit 132 of the acquisition device 130 is transmitted from the transmission unit 135 via the network 150 to each distributed management device [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ . -Sent to h ( ⁇ ).
- This provision information v is common to all the dispersion management devices PA ( ⁇ , h ( ⁇ )) 120- ⁇ -h ( ⁇ ).
- the provided information v is received by the receiving unit 126- ⁇ -h ( ⁇ ) of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 120- ⁇ -h ( ⁇ ) (FIG. 3A) and stored in the storage unit 122- It is stored in ⁇ -h ( ⁇ ) (step S123).
- the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) receives the share information SH ( ⁇ , h ( ⁇ )), the shared value ⁇ ( ⁇ ), and the provided information from the storage unit 122- ⁇ -h ( ⁇ ). v and read.
- the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) uses the common information including the shared value ⁇ ( ⁇ ) and the provided information v and the shared information SH ( ⁇ , h ( ⁇ )), and uses the common operation FNC1.
- DSH distributed secret value
- Step S124 Details of Step S124 >> Common information respectively used by the distributed secret value generators 124- ⁇ -h ( ⁇ ) of the distributed management devices PA ( ⁇ , h ( ⁇ )) 120- ⁇ -h ( ⁇ ) belonging to the same subset SUB ( ⁇ ) is
- the common operations performed are the same.
- the share information in this embodiment is as shown in Equation (5).
- the shared value ⁇ ( ⁇ ) and the provided information v are added to the linear operation unit 124a- ⁇ -h ( ⁇ ) of the distributed secret value generation unit 124- ⁇ -h ( ⁇ ) of the present 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... (6)
- the output calculation result dsh ( ⁇ , ⁇ (h ( ⁇ ))) is input to the distributed secret value combining unit 124b- ⁇ -h ( ⁇ ).
- the index ⁇ (h ( ⁇ )) of g) is input, and the distributed secret value combining unit 124b- ⁇ -h ( ⁇ ) generates the distributed secret value DSH ( ⁇ , h ( ⁇ )) by the following calculation. .
- DSH ( ⁇ , h ( ⁇ )) ( ⁇ (h ( ⁇ )), dsh ( ⁇ , ⁇ (h ( ⁇ )))) (7)
- the distributed secret value combining unit 124b- ⁇ -h ( ⁇ ) outputs the distributed secret value DSH ( ⁇ , h ( ⁇ )) (end of description of step S124b / ⁇ detail of step S124 >>).
- the generated distributed secret value DSH ( ⁇ , h ( ⁇ )) is sent to the transmission unit 125- ⁇ -h ( ⁇ ).
- the transmission unit 125- ⁇ -h ( ⁇ ) transmits the distributed secret value DSH ( ⁇ , h ( ⁇ )) to the acquisition device 130 via the network 150 (step S125).
- FIG. 10A is a diagram for illustrating the process of the acquisition device according to the first embodiment
- FIG. 10B is a diagram for illustrating the process of step S134.
- the distributed secret value DSH ( ⁇ , h ( ⁇ )) transmitted from each dispersion management device PA ( ⁇ , h ( ⁇ )) 120- ⁇ -h ( ⁇ ) is received by the receiving unit 136 of the acquisition device 130 (FIG. 4). And stored in the storage unit 132 (step S131).
- control unit 133 determines whether or not the necessary number or more of the distributed secret values DSH ( ⁇ , h ( ⁇ )) are stored in the storage unit 132 (step S132).
- the necessary number or more of the distributed secret values DSH ( ⁇ , h ( ⁇ )) are stored in the storage unit 132 (step S132).
- the process returns to step S131.
- the necessary number of distributed secret values DSH ( ⁇ , h ( ⁇ )) corresponding to the subset SUB ( ⁇ ) are read from the storage unit 132 and input to the restoration unit 134- ⁇ .
- the restoration unit 134- ⁇ uses the input distributed secret value DSH ( ⁇ , h ( ⁇ )) and performs the restoration process for each subset SUB ( ⁇ ) according to the secret sharing scheme used in step S112 described above.
- a secret restoration value SUBSK ( ⁇ ) is generated, and a secret restoration value SUBSK ( ⁇ ) for each subset SUB ( ⁇ ) is output (step S134).
- Step S134 The distributed secret value DSH ( ⁇ , h ( ⁇ )) of this embodiment is as shown in Equation (7).
- the restoring unit 134- ⁇ (FIG. 6) receives R ( ⁇ ) different distributed secret values DSH ( ⁇ , h ( ⁇ )) for each ⁇ .
- the distributed secret value DSH ( ⁇ , h ( ⁇ )) corresponding to each ⁇ input to the restoration unit 134- ⁇ is expressed as follows.
- DSH ( ⁇ , ⁇ 1 ( ⁇ )) ( ⁇ 1 ( ⁇ ), dsh 1 ( ⁇ )) ...
- DSH ( ⁇ , ⁇ R ( ⁇ ) ( ⁇ )) ( ⁇ R ( ⁇ ) ( ⁇ ), dsh R ( ⁇ ) ( ⁇ ))
- the following is satisfied.
- Each generated coefficient ⁇ ⁇ (x) and dsh 1 (DSH ( ⁇ , ⁇ 1 ( ⁇ )), ..., DSH ( ⁇ , ⁇ R ( ⁇ ) ( ⁇ )) shown in equation (8) ⁇ ),..., dsh R ( ⁇ ) ( ⁇ ) are input to the polynomial arithmetic unit 134b- ⁇ .
- the polynomial calculation unit 134b- ⁇ generates the secret restoration value SUBSK ( ⁇ ) of the subset SUB ( ⁇ ) by the following calculation.
- SUBSK ( ⁇ ) ⁇ 1 ( ⁇ ) ⁇ dsh 1 ( ⁇ ) + ...
- the polynomial calculation unit 134b- ⁇ outputs the secret restoration value SUBSK ( ⁇ ) (end of description of step S134b / ⁇ detail of step S134 >>).
- each secret restoration value SUBSK ( ⁇ ) output from each restoration unit 134- ⁇ is sent to the synthesis unit 137.
- the synthesizer 137 generates the following generation information SK using each secret restoration value SUBSK ( ⁇ ) generated for each subset SUB ( ⁇ ), and outputs the generation information SK (step S141).
- SK FNC2 (SUBSK (1), ..., SUBSK (L))... (13)
- Example 1 SUBSK (1) + ... + SUBSK (L) ⁇ G (14)
- CE ⁇ ⁇ F q is a coefficient, and an example thereof is L multiplicative inverse (L) ⁇ 1 ⁇ F q .
- the coefficient CE 1, ..., one part of the CE L may be 0 F.
- generation information SK is generated using only a part of SUBSK (1) +... + SUBSK (L).
- the combining unit 137, the coefficient CE 1, ..., a factor to be 0 F of CE L may be selected randomly. Thereby, safety is improved.
- Combining unit 137, the coefficient CE 1, ..., may be configured to the CE L can be freely set. Thereby, the acquisition device 130 can generate the generation information SK without using the secret restoration value SUBSK ( ⁇ ′) corresponding to the subset SUB ( ⁇ ′) with low reliability ( ⁇ Step End of description of details of S141 >>).
- the distribution device 110 generates the share information SH ( ⁇ , h ( ⁇ )) by secretly distributing the secret information ⁇ ⁇ g ⁇ G independently for each subset SUB ( ⁇ ), and each distribution management device PA ( ⁇ , h ( ⁇ )) 120 ⁇ h ( ⁇ ) uses the common information including the shared value ⁇ ( ⁇ ) and the provided information v and the shared information SH ( ⁇ , h ( ⁇ )), and performs a common operation
- each distribution management device PA ( ⁇ , h ( ⁇ )) 120 ⁇ h ( ⁇ ) uses the common information including the shared value ⁇ ( ⁇ ) and the provided information v and the shared information SH ( ⁇ , h ( ⁇ )), and performs a common operation
- DSH distributed secret value
- the acquisition device 130 generates a plurality of distributed secret values DSH ( ⁇ , h ( ⁇ )) corresponding to the same subset SUB ( ⁇ ).
- the secret restoration value SUBSK ( ⁇ ) is generated by the restoration process for each subset SUB ( ⁇ ), and the generation information SK is generated using the secret restoration value
- shared value ⁇ ( ⁇ ) shared by each subset SUB ( ⁇ ) is used, and secret sharing, common calculation, and restoration processing are performed for each subset SUB ( ⁇ ), so these processes can be executed It is.
- dispersion management devices PA ( ⁇ , h ( ⁇ )) 120 ⁇ h ( ⁇ ) share the value ⁇ , but independently share the value ⁇ ( ⁇ ) for each subset SUB ( ⁇ ). It is safe to share.
- the shared values ⁇ ( ⁇ ) shared by different subsets SUB ( ⁇ ) are independent of each other. Thereby, high safety can be secured.
- the distributed management devices PA ( ⁇ , h ( ⁇ )) 120 ⁇ h ( ⁇ ) ( ⁇ 1,..., L) all perform the same common operation FNC1.
- the common operation FNC1 in this embodiment is an operation having linearity. Therefore, in this embodiment, by generating the generation information SK by linearly combining the secret recovery value SUBSK ( ⁇ ), the generation information SK generated using each secret recovery value SUBSK ( ⁇ ) It can be made the same as the result of performing the common operation FNC1 with g and a certain value ⁇ as operands.
- (R ( ⁇ ), H ( ⁇ )) threshold secret sharing scheme is used, and secret information ⁇ ⁇ g ⁇ G is secretly shared for each subset SUB ( ⁇ ).
- the element of the cyclic group G is secret information ⁇ ⁇ g ⁇ G, and this is secretly distributed.
- the original ⁇ F q of the finite field F q may be secret sharing.
- the share information SH ( ⁇ , h ( ⁇ )) secret-shared using the (R ( ⁇ ), H ( ⁇ )) threshold secret sharing scheme is a variable that is a source of the finite field F q.
- FIG. 11A is a diagram for explaining the configuration of the secret sharing unit 214- ⁇ according to the first modification of the first embodiment
- FIG. 11B illustrates the distributed secret value generation unit 224 according to the first modification according to the first embodiment. It is a figure for demonstrating the structure of (alpha) -h ((alpha)).
- parts common to the first embodiment are denoted by the same reference numerals as in the first embodiment.
- step S124 in Modification 1 of First Embodiment the process of step S124 illustrated in FIG. 9B is modified as follows. First, instead of the step S124a, the linear calculation unit 224a- ⁇ -h ( ⁇ ) (FIG.
- step S124b ⁇ end of description of modification of step S124 in modification 1 of the first embodiment >>. Other processes are the same as those in the first embodiment.
- Modification 2 of the first embodiment Next, Modification 2 of the first embodiment will be described.
- the original Shita ⁇ F q of a finite field F q Any modification 2 of the first embodiment will be secret sharing. Differs from the first modification of the first embodiment, the operation result dsh ( ⁇ , ⁇ (h ( ⁇ ))) is not the original cyclic group G, a point which is elements of the finite field F q.
- FIG. 12A is a diagram for explaining the configuration of the distributed secret value generation unit 324- ⁇ -h ( ⁇ ) according to the second modification of the first embodiment
- FIG. 12B illustrates the second modification according to the first embodiment. It is a figure for demonstrating the structure of the restoring part 334- (alpha).
- parts common to the first embodiment are denoted by the same reference numerals as in the first embodiment.
- Step S112 in Modification 2 of First Embodiment This is the same as the modification in step S112 in the first modification of the first embodiment.
- step S124 in Modification 2 of First Embodiment the process of step S124 illustrated in FIG. 9B is modified as follows. First, in place of step S124a, the linear calculation unit 324a- ⁇ -h ( ⁇ ) (FIG.
- the calculation result dsh ( ⁇ , ⁇ (h ( ⁇ ))) ⁇ F q is a part of the distributed secret value DSH ( ⁇ , h ( ⁇ )).
- Step S134a Modification of Step S134 in Modification 2 of First Embodiment
- step S134b each coefficient ⁇ ⁇ (x) and DSH ( ⁇ , ⁇ 1 ( ⁇ )),..., DSH ( ⁇ , ⁇ shown in equation (8) are used.
- the polynomial calculation unit 334b-alpha the secret restoration value SUBSK ( ⁇ ) of the subset SUB ( ⁇ ) is generated by the following calculation.
- SUBSK ( ⁇ ) ⁇ 1 ( ⁇ ) ⁇ dsh 1 ( ⁇ ) + ... + ⁇ R ( ⁇ ) ( ⁇ ) ⁇ dsh R ( ⁇ ) ( ⁇ ) ⁇ ⁇ g ⁇ G ... (19)
- the polynomial calculation unit 334b- ⁇ outputs the secret restoration value SUBSK ( ⁇ ) of the subset SUB ( ⁇ ) ( ⁇ end of description of step S134 in modification 2 of the first embodiment >>).
- Other processes are the same as those in the first embodiment.
- FIG. 13A is a diagram for explaining the configuration of the secret sharing unit 414- ⁇ according to the third modification of the first embodiment
- FIG. 13B illustrates the distributed secret value generation unit 424 according to the third modification according to the first embodiment
- FIG. 13C is a diagram for explaining the configuration of the restoration unit 434- ⁇ of Modification 3 of the first embodiment.
- FIG. 13C is a diagram for explaining the configuration of ⁇ -h ( ⁇ ).
- Other configurations are the same as those of the first embodiment.
- step S112 in Modification 3 of First Embodiment the process of step S112 illustrated in FIG. 8B is modified as follows.
- the random number generation unit 414a- ⁇ of the secret sharing unit 414- ⁇ (FIG. 13A) randomly selects the elements of the following H ( ⁇ ) -1 cyclic groups G and outputs them.
- the inverse element calculation unit 414b- ⁇ stores the secret information ⁇ ⁇ g ⁇ G and the elements SH ( ⁇ , 1), ..., SH ( ⁇ , H of H ( ⁇ ) ⁇ 1 cyclic groups G ( ⁇ ) -1) ⁇ G is input.
- the inverse element calculation unit 414b- ⁇ generates and outputs SH ( ⁇ , h ( ⁇ )) by the following calculation.
- SH ( ⁇ , h ( ⁇ )) ⁇ ⁇ g- ⁇ SH ( ⁇ , 1) + ... + SH ( ⁇ , H ( ⁇ ) -1) ⁇ ⁇ G... (21)
- the secret sharing unit 414- ⁇ outputs the following as share information of the subset SUB ( ⁇ ).
- SH ( ⁇ , 1) + SH ( ⁇ , 2) + ... + SH ( ⁇ , H ( ⁇ )) ⁇ ⁇ g ⁇ G... (22)
- step S124 in Modification 3 of First Embodiment the process of step S124 illustrated in FIG. 9B is modified as follows.
- the shared secret value generator 424- ⁇ -h ( ⁇ ) (FIG. 13B) stores the shared value ⁇ ( ⁇ ), the provided information v, and the shared information SH ( ⁇ , 1), ..., SH ( ⁇ , H ( ⁇ )) is input.
- step S134 in Modification 3 of First Embodiment
- the restoration unit 434- ⁇ generates and outputs the secret restoration value SUBSK ( ⁇ ) of the subset SUB ( ⁇ ) by the following calculation.
- SUBSK ( ⁇ ) DSH ( ⁇ , 1) + ... + DSH ( ⁇ , H ( ⁇ )) ⁇ G... (24)
- Other processes are the same as those in the first embodiment.
- Modification 4 of the first embodiment also uses the (H ( ⁇ ), H ( ⁇ )) threshold secret sharing scheme instead of the (R ( ⁇ ), H ( ⁇ )) threshold secret sharing scheme.
- This is a modified example in which secret information is secretly distributed.
- secret information ⁇ F q which is an element of the finite field F q is secretly shared.
- FIG. 14A is a diagram for explaining the configuration of the secret sharing unit 514- ⁇ of the modification 4 in the first embodiment
- FIG. 14B is the shared secret value generation unit 524 of the modification 4 of the first embodiment
- FIG. 14C is a diagram for explaining the configuration of the restoration unit 534- ⁇ of Modification 4 of the first embodiment.
- the distribution device 110 is replaced with the distribution device 510
- Other configurations are the same as those in the first embodiment.
- step S112 in Modification 4 of First Embodiment the process of step S112 shown to FIG. 8B is deform
- the random number generation unit 514a- ⁇ of the secret sharing unit 514- ⁇ (FIG. 14A) randomly selects the elements of the following H ( ⁇ ) -1 finite fields F q and outputs them.
- the inverse element calculation unit 514b- ⁇ stores the secret information ⁇ F q and the elements SH ( ⁇ , 1),..., SH ( ⁇ , H of H ( ⁇ ) ⁇ 1 finite fields F q. ( ⁇ ) -1) ⁇ F q is input.
- the inverse element calculation unit 514b- ⁇ generates and outputs SH ( ⁇ , h ( ⁇ )) by the following calculation.
- SH ( ⁇ , h ( ⁇ )) ⁇ - ⁇ SH ( ⁇ , 1) + ... + SH ( ⁇ , H ( ⁇ ) -1) ⁇ ⁇ F q ... (26)
- the secret sharing unit 514- ⁇ outputs the following as share information of the subset SUB ( ⁇ ).
- SH ( ⁇ , 1) + SH ( ⁇ , 2) + ... + SH ( ⁇ , H ( ⁇ )) ⁇ F q ...
- step S124 in Modification 4 of First Embodiment is deform
- the shared secret value generator 524- ⁇ -h ( ⁇ ) (FIG. 14B) stores the shared value ⁇ ( ⁇ ), the provided information v, and the shared information SH ( ⁇ , 1), ..., SH ( ⁇ , H ( ⁇ )) is input.
- the distributed secret value generation unit 524- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH ( ⁇ , h ( ⁇ )) by the following calculation.
- DSH ( ⁇ , h ( ⁇ )) ⁇ ( ⁇ ) ⁇ v ⁇ SH ( ⁇ , h ( ⁇ )) ⁇ F q (29)
- step S134 ⁇ Modification of Step S134 in Modification 4 of First Embodiment
- the restoration unit 534- ⁇ generates and outputs the secret restoration value SUBSK ( ⁇ ) of the subset SUB ( ⁇ ) by the following calculation.
- SUBSK ( ⁇ ) ⁇ DSH ( ⁇ , 1) + ... + DSH ( ⁇ , H ( ⁇ )) ⁇ ⁇ g ⁇ G... (30)
- Other processes are the same as those in the first embodiment.
- Equation (29) ⁇ ( ⁇ ) ⁇ v ⁇ SH ( ⁇ , h ( ⁇ )) ⁇ F q (31)
- SUBSK ( ⁇ ) may be the underlying structure of the finite field F q.
- secret sharing is performed on each subset SUB ( ⁇ ) using the same secret sharing scheme, but different secret sharing schemes may be used on different subsets SUB.
- the shared value generation device 140- ⁇ is provided for each subset SUB ( ⁇ ).
- any of the distributed management devices of each subset SUB ( ⁇ ) has the function of the shared value generation device. Also good. In this case, the shared value generation device 140- ⁇ is not necessary.
- the common operation FNC1 is performed and the distributed secret value DSH ( ⁇ , h ( ⁇ )) was generated.
- the shared secret value DSH ( ⁇ , h ( ⁇ )) may be generated using the shared value ⁇ ( ⁇ ) as common information without using the provision information v.
- the common information may include the shared value ⁇ ( ⁇ ), the provision information v, and other information.
- the common operation for obtaining the distributed secret value DSH ( ⁇ , h ( ⁇ )) needs to be unified for each subset SUB ( ⁇ ), but it is not necessarily the same for different subsets SUB ( ⁇ ). There is no need to perform an operation.
- Matrix represents a set of elements in which operations are defined arranged in a rectangle. Not only elements with ring elements but also elements with group elements as elements are expressed as “matrix”.
- (•) T represents a transposed matrix of (•) -1 : (•) -1 represents the inverse matrix of.
- ⁇ : ⁇ is a logical symbol representing a logical product (AND).
- ⁇ : ⁇ is a logical symbol representing a logical sum (OR).
- ⁇ : ⁇ is a logical symbol representing negation (NOT).
- Propositional variable A propositional variable is a variable on the set ⁇ true, false ⁇ whose elements are “true” and “false” (“false”, “true”) of the proposition. In other words, the domain of the propositional variable is a set having “true” and “false” as elements.
- Propositional variables and negation of propositional variables are collectively called literals.
- Logical expression A logical expression means an expression representing a proposition in mathematical logic.
- “true” and “false” are logical expressions
- propositional variables are logical expressions
- negation of logical expressions is logical expressions
- logical products of logical expressions and logical expressions are logical expressions
- a logical sum of a logical expression and a logical expression is a logical expression.
- Z Z represents an integer set.
- sec sec represents a security parameter (sec ⁇ Z, sec> 0).
- 0 * 0 * represents a sequence of * 0's.
- 1 * : 1 * represents a sequence of * 1's.
- F q F q represents a finite field of order q (same as in the first embodiment).
- 0 F 0 F represents an additive unit of the finite field F q (same as in the first embodiment).
- 1 F represents a multiplicative unit element of the finite field F q (same as in the first embodiment).
- E represents an elliptic curve defined on the finite field F q (same as in the first embodiment).
- a finite set of rational points on the elliptic curve E has a subgroup of order p (p ⁇ 1). For example, if the number of elements of a finite set of rational points on the elliptic curve E is #E, and p is a large prime number that divides #E, the finite set E [p] of the p equal points of the elliptic curve E is A subgroup of a finite set of rational points on the elliptic curve E is constructed.
- G 1 , G 2 , G T each represent a cyclic group of order q.
- Specific examples of the cyclic group G T is a finite set constituting the extension field of a finite field F q underlying body. An example is a finite set of one of the p th root of the algebraic closure of a finite field F q.
- Safety is improved by making the order of the cyclic groups G 1 , G 2 , and G T the same as the order of the finite field F q .
- operations defined on the cyclic groups G 1 and G 2 are expressed additively, and operations defined on the cyclic group G T are expressed multiplicatively.
- ⁇ ⁇ ⁇ G 1 for Kai ⁇ F q and Omega ⁇ G 1 means that applying operation defined in the cyclic group G 1 with respect ⁇ G 1 ⁇ times, Omega 1, Omega 2 ⁇ 1 + ⁇ 2 ⁇ G for ⁇ G 1 1 is meant to carry out the operation defined in the cyclic group G 1 and the Omega 1 ⁇ G 1 and Omega 2 ⁇ G 1 as operand.
- ⁇ ⁇ ⁇ G 2 for Kai ⁇ F q and Omega ⁇ G 2 means that applying operation defined in the cyclic group G 2 with respect ⁇ G 2 ⁇ times
- Omega 1 , ⁇ 1 + ⁇ 2 ⁇ G 2 for Omega 2 ⁇ G 2 means that performs an operation defined in the cyclic group G 2 to the Omega 1 ⁇ G 2 and Omega 2 ⁇ G 2 as operands.
- Omega chi ⁇ G T for Kai ⁇ F q and Omega ⁇ G T for example, means that the applying operation defined in the cyclic group G T against ⁇ G T ⁇ times, Omega 1, Omega 2 ⁇ G T for ⁇ 1 ⁇ ⁇ 2 ⁇ G T means that performs an operation defined in the cyclic group G T and Omega 1 ⁇ G T and Omega 2 ⁇ G T as an operand.
- ⁇ ⁇ represents an integer of 1 or more.
- n ( ⁇ ): n ( ⁇ ) represents an integer of 1 or more.
- ⁇ ( ⁇ ): ⁇ ( ⁇ ) represents an integer of 0 or more.
- G 1 n ( ⁇ ) + ⁇ ( ⁇ ) : G 1 n ( ⁇ ) + ⁇ ( ⁇ ) represents the direct product of n ( ⁇ ) + ⁇ ( ⁇ ) cyclic groups G 1 .
- G 2 n ( ⁇ ) + ⁇ ( ⁇ ) : G 2 n ( ⁇ ) + ⁇ ( ⁇ ) represents the direct product of n ( ⁇ ) + ⁇ ( ⁇ ) cyclic groups G 2 .
- g 1 , g 2 , and g T represent generation sources of the cyclic groups G, G 1 , G 2 , and G T.
- e ⁇ is the direct product G 1 n ( ⁇ ) + ⁇ ( ⁇ ) ⁇ G 2 n ( ) of the direct product G 1 n ( ⁇ ) + ⁇ ( ⁇ ) and the direct product G 2 n ( ⁇ ) + ⁇ ( ⁇ ) ⁇ ) + ⁇ ( ⁇ ) nondegenerate bilinear mapping which maps the cyclic group G T a represents a (bilinear map).
- e ⁇ G 1 n ( ⁇ ) + ⁇ ( ⁇ ) ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ) ⁇ G T (32)
- the bilinear map e ⁇ satisfies the following properties.
- Bilinearity The bilinear map e ⁇ is all ⁇ 1 ⁇ G 1 n ( ⁇ ) + ⁇ ( ⁇ ) , ⁇ 2 ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ) and ⁇ , ⁇ F q The following relationship is satisfied.
- e ⁇ ( ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 ) e ⁇ ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ ⁇ ... (33)
- Bilinear map e ⁇ is a unit of cyclic group G T for all ⁇ 1 ⁇ G 1 n ( ⁇ ) + ⁇ ( ⁇ ) and ⁇ 2 ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ) It is not an original mapping.
- such as the following constitutes a bilinear mapping e [psi using nondegenerate bilinear mapping which maps the Cartesian product G 1 ⁇ G 2 in the cyclic group G T of a cyclic group G 1 and the cyclic group G 2 .
- Bilinear map Pair is a set of one original cyclic group G 1 and the one of the original cyclic group G 2 as input, and outputs one of the original cyclic group G T.
- the bilinear map Pair satisfies the following properties. [Bilinearity]
- the bilinear map Pair satisfies the following relation for all ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 and ⁇ , ⁇ F q .
- Pair ( ⁇ ⁇ ⁇ 1 , ⁇ ⁇ ⁇ 2 ) Pair ( ⁇ 1 , ⁇ 2 ) ⁇ ⁇ ⁇ ... (37)
- the bilinear map Pair is ⁇ 1 ⁇ G 1 , ⁇ 2 ⁇ G 2 (38) Not a mapping which maps the identity element of the cyclic group G T a.
- Pair ( ⁇ 1 , ⁇ 2 ) for every ⁇ 1 ⁇ G 1 and ⁇ 2 ⁇ G 2 .
- a specific example of the bilinear map Pair is a function for performing pairing operations such as Weil pairing and Tate pairing (for example, Reference 4 “Alfred. J. Menezes, ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS , ISBN0-7923-9368-6, pp. 61-81 etc.).
- Changed pairing function e ( ⁇ 1 , phi ( ⁇ 2 )) ( ⁇ 1 ⁇ G 1 ) combining a function for performing pairing operations such as Tate pairing and a predetermined function phi according to the type of elliptic curve E , ⁇ 2 ⁇ G 2 ) may be used as the bilinear map Pair (for example, see Reference 2).
- a i ( ⁇ ) is an element of n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 1 Represents an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector.
- An example of the basis vector a i ( ⁇ ) is the unit of the cyclic group G 1 with ⁇ 1 ⁇ g 1 ⁇ G 1 as the i-th element and the remaining n ( ⁇ ) + ⁇ ( ⁇ ) -1 elements This is an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector that is an element (additively expressed as “0”).
- An example of the basis vector a i * ( ⁇ ) is ⁇ 2 ⁇ g 2 ⁇ G 2 as the i-th element, and the remaining n ( ⁇ ) + ⁇ ( ⁇ ) -1 elements of the cyclic group G 2 This is an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector as a unit element (additionally expressed as “0”).
- a 1 * ( ⁇ ) ( ⁇ 2 ⁇ g 2 , 0,0, ..., 0)
- a 2 * ( ⁇ ) (0, ⁇ 2 ⁇ g 2 , 0, ..., 0)... (40)
- ... a n ( ⁇ ) + ⁇ ( ⁇ ) * ( ⁇ ) (0,0,0, ..., ⁇ 2 ⁇ g 2 )
- e ⁇ (a i ( ⁇ ), a j * ( ⁇ )) Pair ( ⁇ 1 ⁇ g 1 , ⁇ 2 ⁇ g 2 ) ⁇ Pair (0, 0) ⁇ ...
- e (a i ( ⁇ ), a j * ( ⁇ )) g T ⁇ (i, j) ... (42)
- g T 0 1 is the identity element of the cyclic group G T
- the basis vector a i ( ⁇ ) and the basis vector a i * ( ⁇ ) are dual orthonormal bases, and the vector space V ( ⁇ ) and the vector space V * ( ⁇ ) are duals that can form a bilinear map.
- Vector space [Dual Paring Vector Space (DPVS)].
- the matrix A ( ⁇ ) is as follows: .
- ⁇ ) represents a matrix of rows n ( ⁇ ) + ⁇ ( ⁇ ) columns.
- the matrix A * ( ⁇ ) is as follows: become.
- X ( ⁇ ) represents a matrix of n ( ⁇ ) + ⁇ ( ⁇ ) rows n ( ⁇ ) + ⁇ ( ⁇ ) columns having elements of the finite field F q as elements.
- the matrix X ( ⁇ ) is used for coordinate transformation of the basis vector a i ( ⁇ ).
- the matrix X ( ⁇ ) is as follows. Note that each element ⁇ i, j ( ⁇ ) of the matrix X ( ⁇ ) is referred to as a conversion coefficient.
- X * ( ⁇ ) is used for coordinate transformation of the basis vector a i * ( ⁇ ). Assuming that the elements of i rows and j columns of the matrix X * ( ⁇ ) are ⁇ i, j * ( ⁇ ) ⁇ F q , the matrix X * ( ⁇ ) is as follows. Note that each element ⁇ i, j * ( ⁇ ) of the matrix X * ( ⁇ ) is referred to as a conversion coefficient.
- the unit matrix of n ( ⁇ ) + ⁇ ( ⁇ ) row n ( ⁇ ) + ⁇ ( ⁇ ) column I ( ⁇ )
- X ( ⁇ ) ⁇ (X * ( ⁇ )) T ⁇ ' ⁇ I ( ⁇ )
- the unit matrix is defined as follows. The following is true for this:
- the n ( ⁇ ) + ⁇ ( ⁇ ) dimensional vector is defined as follows.
- b i ( ⁇ ) represents an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector having n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 1 as elements.
- the basis vector b i ( ⁇ ) is obtained by the following calculation.
- b i * ( ⁇ ) represents an n ( ⁇ ) + ⁇ ( ⁇ ) -dimensional basis vector whose elements are n ( ⁇ ) + ⁇ ( ⁇ ) elements of the cyclic group G 2 .
- the basis vector b i * ( ⁇ ) is obtained by the following calculation.
- b i * ( ⁇ ) ( ⁇ i, 1 * ( ⁇ ) ⁇ ⁇ 2 ⁇ g 2 , ⁇ i, 2 * ( ⁇ ) ⁇ ⁇ 2 ⁇ g 2 , ..., ⁇ i, n ( ⁇ ) + ⁇ ( ⁇ ) * ( ⁇ ) ⁇ ⁇ 2 ⁇ g 2 )... (55)
- e ⁇ (b i ( ⁇ ), b j * ( ⁇ )) g T ⁇ ⁇ ⁇ ' ⁇ ⁇ (i, j) ... (56) That is, the following relations are satisfied from the relations of Expressions (36), (51), (53), and (55).
- the basis vector b i ( ⁇ ) and the basis vector b i * ( ⁇ ) are dual orthonormal bases of the dual pairing vector space (vector space V ( ⁇ ) and vector space V * ( ⁇ )). If the relationship of equation (56) is satisfied, the basis vectors a i ( ⁇ ) and a i * ( ⁇ ) other than those exemplified in equations (39) and (40), and equations (52) and (54) Other basis vectors b i ( ⁇ ) and b i * ( ⁇ ) may be used.
- B ( ⁇ ) X ( ⁇ ) ⁇ A ( ⁇ ) is satisfied.
- the matrix B ( ⁇ ) is as follows.
- ⁇ ) represents a matrix of rows n ( ⁇ ) + ⁇ ( ⁇ ) columns.
- B * ( ⁇ ) X * ( ⁇ ) ⁇ A * ( ⁇ ) is satisfied.
- the matrix B * ( ⁇ ) is expressed as It becomes like this.
- v ( ⁇ ) ⁇ : v ( ⁇ ) ⁇ represents an n ( ⁇ ) -dimensional vector having elements of the finite field F q as elements.
- v ( ⁇ ) ⁇ (v 1 ( ⁇ ) , ..., v n ( ⁇ ) ( ⁇ )) ⁇ F q n ( ⁇ ) ... (60)
- w ( ⁇ ) ⁇ : w ( ⁇ ) ⁇ represents an n ( ⁇ ) -dimensional vector having elements of the finite field F q as elements.
- w ( ⁇ ) ⁇ (w 1 ( ⁇ ) , ..., w n ( ⁇ ) ( ⁇ )) ⁇ F q n ( ⁇ ) ... (61)
- Enc represents a common key encryption function indicating encryption processing of the common key encryption method.
- Enc K (M) represents a ciphertext obtained by encrypting plaintext M using the common key K according to the common key encryption function Enc.
- Dec represents a common key decryption function indicating a decryption process of the common key cryptosystem.
- Dec K (C) Dec K (C) represents a decryption result obtained by decrypting the ciphertext C using the common key K according to the common key decryption function Dec.
- the function encryption method is a method in which a ciphertext is decrypted when a truth value of a logical expression determined by a combination of first information and second information is “true”.
- first information and second information are embedded in the ciphertext, and the other is embedded in the key information.
- predicate encryption method 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 9) It is a kind of function cryptography.
- a value corresponding to secret information is secretly distributed hierarchically in a manner corresponding to a predetermined logical expression.
- the predetermined logical expression includes a propositional variable whose truth value is determined by a combination of the first information and the second information, and further includes any or all of the logical symbols ⁇ , ⁇ , and ⁇ as necessary.
- the secret information SE can be restored if all share information share (1), ..., share (N) is given. Even if -1 piece of share information share ( ⁇ 1 ), ..., share ( ⁇ N-1 ) is given, no information of secret information SE can be obtained.
- the secret information SE can be restored if K t pieces of different share information share ( ⁇ 1 ), ..., share ( ⁇ Kt ) are given. .., Share ( ⁇ Kt ⁇ 1 ), even if any K t ⁇ 1 pieces of share information share ( ⁇ 1 ) ,.
- These secret sharing schemes can also be executed on the body. These values can be expanded to secretly distribute a value corresponding to the secret information SE to a value corresponding to the share information share.
- the value corresponding to the secret information SE is the secret information SE itself or the function value of the secret information SE
- the value corresponding to the share information share is the share information share itself or the function value of the share information.
- finite field F q original a is secret information SE ⁇ F element g of q cyclic group G T corresponding to T SE ⁇ G T each share information share the secret information SE (1) of, according to share (2) original g T share (1) of the cyclic group G T, it may be a secret distributed g T share (2) ⁇ G T .
- the secret information SE described above is a linear combination of the share information share.
- a secret sharing scheme in which the secret information SE is a linear combination of the share information share is called a linear secret sharing scheme.
- the predetermined logical expression described above can be expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner. That is, according to De Morgan's law, the above-mentioned predetermined logical expression is a logical expression composed of literals, or a logical expression composed of at least part of the logical symbols ⁇ and ⁇ and literals (these are referred to as “standard logical expressions”). This standard logical expression can be expressed by tree structure data obtained by secretly sharing secret information in a hierarchical manner.
- the tree structure data representing the standard logical expression 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 of the child nodes Some are leaf nodes. There is no parent node of the root node or a child node of the leaf node. A value corresponding to the secret information corresponds to the root node, and a value corresponding to the share information obtained by secret sharing the value corresponding to the parent node corresponds to the child node of each parent node.
- the secret sharing mode secret sharing scheme and threshold
- Each leaf node corresponds to each literal constituting the standard logical expression, and the truth value of each literal is determined by the combination of the first information and the second information.
- a value corresponding to the share information corresponding to the leaf node corresponding to the literal whose truth value is true is obtained, but according to the share information corresponding to the leaf node corresponding to the literal whose truth value is false.
- the obtained value is not obtained.
- the value corresponding to the share information corresponding to the parent node depends on the share information corresponding to the child node. It is restored only when the number of values obtained is equal to or greater than the threshold value corresponding to the parent node.
- the secret information finally corresponding to the root node depends on which literal value corresponding to which leaf node is true and the structure of the tree structure data (including the form of secret sharing at each node). It is determined whether or not the value corresponding to can be restored.
- the tree structure data is configured so that the value corresponding to the secret information corresponding to the root node can be finally restored only when the truth value of each literal corresponding to each leaf node makes the truth value of the normal form logical expression true. If so, such tree structure data represents a standard logical expression. Tree structure data expressing such a standard logical expression can be easily set. Specific examples are shown below.
- FIG. 15 shows a standard logical expression PRO (1) ⁇ PRO (2 including the propositional variables PRO (1) and PRO (2) and the negation ⁇ PRO (3) of the propositional variable PRO (3) and logical symbols ⁇ and ⁇ . ) Is a diagram illustrating tree structure data expressing ⁇ PRO (3).
- the tree structure data illustrated in FIG. 15 includes a plurality of nodes N 1 ,..., N 5 .
- Node N 1 is a parent node of nodes N 2 and N 5
- node N 2 is a parent node of nodes N 3 and N 4
- one of the parent nodes is node N 1
- one of the child nodes is set as leaf nodes.
- the child node N 2, N 5 of the node N 1 is a value corresponding to the secret information SE is (1,2) threshold secret sharing scheme
- the values corresponding to the share information SE and SE that are secretly distributed correspond to each other.
- the node child node N 3 of the N 2, N 4, in response to each share information is secret sharing SE-SH 1, SH 1 at a value corresponding to the share information SE is (2,2) threshold secret sharing scheme Correspond to each value.
- the leaf nodes N 3 , N 4 , and N 5 include the literals PRO (1), PRO (2), and ⁇ PRO that form the standard logical expressions PRO (1) ⁇ PRO (2) ⁇ PRO (3). (3) correspond to each other, 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.
- FIG. 16 shows propositional variables PRO (1), PRO (2), PRO (3), PRO (6), PRO (7) and negation of propositional variables PRO (4), PRO (5) ⁇ PRO (4), Standard form formula (PRO (1) ⁇ PRO (2)) ⁇ (PRO (2) 3 PRO (3)) ⁇ (PRO (1) ⁇ PRO ( 3)) ⁇ PRO (4) ⁇ ( ⁇ PRO (5) ⁇ PRO (6)) ⁇ is a diagram illustrating tree structure data representing PRO (7).
- the tree structure data illustrated in FIG. 16 includes a plurality of nodes N 1 ,..., N 11 .
- Node N 1 is a parent node of nodes N 2 , N 6 and N 7
- Node N 2 is a parent node of nodes N 3 , N 4 and N 5
- Node N 7 is a parent node of nodes N 8 and N 11
- the node N 8 is a parent node of the nodes N 9 and N 10
- the node N 1 which is one of the parent nodes is a root node
- the nodes N 3 , N 4 , N 5 , N 6 , N 9 , N 10 , and N 11 are leaf nodes.
- a value corresponding to each share information SE, SE, and SE that has been secretly distributed by the distribution method corresponds to each.
- the child nodes N 3 , N 4 , and N 5 of the node N 2 each share information (1, f (1 )), (2, f (2)), and (3, f (3)) correspond to values.
- the child nodes N 8 and N 11 of the node N 7 correspond to the share information SH 4 and SE-SH 4 whose values corresponding to the share information SE are secret-distributed by the (2,2) threshold secret sharing scheme. Correspond to each value.
- the child nodes N 9 and N 10 of the node N 8 have values corresponding to the share information SH 4 according to the share information SH 4 and SH 4 secret-shared by the (1,2) threshold secret sharing scheme.
- the leaf nodes N 3 , N 4 , N 5 , N 6 , N 9 , N 10 , and N 11 have standard logical expressions (PRO (1) ⁇ PRO (2)) ⁇ (PRO (2) (PRO (3)) ⁇ (PRO (1) ⁇ PRO (3)) ⁇ PRO (4) ⁇ ( ⁇ PRO (5) ⁇ PRO (6)) ⁇
- Corresponding to each literal PRO (1), PRO (2), PRO (2), PRO (3), PRO (1), PRO (3), ⁇ PRO (4), ⁇ PRO (5), PRO (6 ), PRO (7) truth value is determined by the combination of the first information and the second information.
- the combination of the first information and the second information is a standard logical expression (PRO (1) ⁇ PRO (2)) ⁇ (PRO (2) ⁇ PRO (3)) ⁇ (PRO (1) ⁇ PRO ( 3))
- the value corresponding to the secret information SE is restored only when the truth value of ⁇ PRO (4) ⁇ ( ⁇ PRO (5) ⁇ PRO (6)) ⁇ PRO (7) is made true.
- ⁇ Access structure> Share information at leaf nodes obtained for a combination of first information and second information when a predetermined logical expression is expressed by tree structure data obtained by secretly sharing secret information hierarchically as described above Whether the truth value of the logical expression determined by the combination of the first information and the second information is “true” or “false” depending on whether the value according to the secret information can be restored from the value according to Can be judged.
- the truth value of the logical expression determined by the combination of the first information and the second information is “true”
- the combination of the first information and the second information is accepted, and when the truth value is “false”
- the first information A mechanism that rejects the combination of the second information and the second information is called an access structure.
- the total number of leaf nodes of the tree structure data expressing a predetermined logical expression is ⁇
- ⁇ 1, ..., ⁇ be the second information.
- the above tree structure data is implemented as a labeled matrix LMT (MT, LAB).
- a value corresponding to the secret information SE ⁇ F q corresponds to the root node of the tree structure data expressing a predetermined logical expression as described above
- an element of a predetermined finite field F q is defined as an element.
- the following relationship holds between the COL dimension vector GV ⁇ to be performed and the COL dimension vector CV ⁇ having elements of the finite field F q corresponding to the secret information SE as elements.
- GV ⁇ (gv 1 , ..., gv COL ) ⁇ F q COL ... (63)
- CV ⁇ (cv 1 , ..., cv COL ) ⁇ F q COL ... (64)
- SE GV ⁇ ⁇ (CV ⁇ ) T ... (65)
- GV ⁇ (1 F , ..., 1 F ) ⁇ F q COL ... (66)
- ⁇ 1,.
- VSET2 ⁇ , w ( ⁇ ) ⁇
- ⁇ 1, ..., ⁇ contains w ( ⁇ ) ⁇ and the inner product v ( ⁇ ) ⁇ ⁇ w ( ⁇ ) ⁇ is 0 If the truth value of the propositional variable PRO ( ⁇ ) is “false” and the inner product v ( ⁇ ) ⁇ .w ( ⁇ ) ⁇ is not equal to 0, deal with.
- a label LAB ( ⁇ ) corresponding to PRO ( ⁇ ) represents v ( ⁇ ) ⁇ , and a label LAB ( ⁇ ) corresponding to ⁇ PRO ( ⁇ ) represents ⁇ v ( ⁇ ) ⁇ .
- ⁇ v ( ⁇ ) ⁇ v ( ⁇ ) ⁇ is a logical expression representing the negation of a possible ⁇ v ( ⁇ ) ⁇ from v ( ⁇ ) ⁇ the identified.
- TFV ⁇ (tfv (1), ..., tfv ( ⁇ ))... (68)
- a value corresponding to the secret information SE can be restored from a value corresponding to the share information share ( ⁇ ) corresponding to the identifier ⁇ , and a row vector mt corresponding to the identifier ⁇ . It is equivalent to the COL dimension vector GV ⁇ belonging to the vector space spanned by ⁇ ⁇ . That is, by determining whether or not the COL dimension vector GV ⁇ belongs to the vector space spanned by the row vector mt ⁇ ⁇ corresponding to the identifier ⁇ , from the value corresponding to the share information share ( ⁇ ) corresponding to the identifier ⁇ It can be determined whether or not the value corresponding to the secret information SE can be restored.
- the row vectors mt lambda ⁇ vector space spanned by means vector space can be represented by a row vector mt lambda ⁇ linear combination of.
- the access structure accepts the combination of the first information and the second information, “the access structure accepts the second information. And the fact that the access structure does not accept the combination of the first information and the second information is called “the access structure rejects the second information”. Accept if GV ⁇ ⁇ span ⁇ MT TFV > Refusal if ⁇ (GV ⁇ ⁇ span ⁇ MT TFV >)
- B * ( ⁇ ) ⁇ is a matrix B * ( ⁇ ) or a submatrix thereof
- B ( ⁇ ) ⁇ is a matrix B ( ⁇ ) or a submatrix thereof.
- coef ( ⁇ ) and coef ⁇ ( ⁇ ) ⁇ F q are constants or random numbers.
- coef ( ⁇ ) and coef ⁇ ( ⁇ ) are random numbers.
- ( ⁇ 2 (0), ..., ⁇ I (0)) (0 F , ⁇ 3 (0), 0 F , ⁇ 5 (0))
- Enc-3 The ciphertext C ( ⁇ + 1) of plaintext M is generated using the common key K.
- C ( ⁇ + 1) Enc K (M)... (87)
- the common key cryptosystem Enc may be, for example, Camellia (registered trademark) that can be encrypted using the common key K, AES, or the exclusive OR of the common key and plain text, but other simple
- Enc K (M) may be generated as follows. However, in the example of equation (88), M ⁇ G T is assumed.
- C ( ⁇ + 1) g T ⁇ ' ⁇ M... (88)
- the g T a g T tau and g T tau 'and g T ⁇ ⁇ ⁇ ' instead of a generator of G T may be handled as generator of G T.
- a combination of C ( ⁇ ) and D * ( ⁇ ) is identified using a mapping that identifies the correspondence between ⁇ of key information SKS and ⁇ of ciphertext, and [Dec (PK, SKS, C): Decryption] These processes may be executed.
- the second information VSET2 ⁇ , w ( ⁇ ) ⁇
- ⁇ 1, ..., n of ⁇ ( ⁇ ) th element v n ( ⁇ ) ( ⁇ ) may be a 1 F. If the element w 1 ( ⁇ ) is not 1 F may be used to w ( ⁇ ) ⁇ / w 1 ( ⁇ ) instead of w ( ⁇ ) ⁇ , element v n ( ⁇ ) ( ⁇ ) is 1 F may be used v ( ⁇ ) ⁇ / v n ( ⁇ ) ( ⁇ ) is v ( ⁇ ) ⁇ instead of if not.
- First information VSET1 in this case ⁇ , v ( ⁇ ) ⁇
- ⁇ 1, ..., ⁇ 1 th element of v 1 (lambda) is the 1 F.
- FIG. 17 is a block diagram for explaining the overall configuration of the secret sharing system according to the second embodiment.
- the shared value generation apparatuses 640-1 to 650 and 650 can communicate with each other through the network 150.
- a set of ⁇ 1 L h ( ⁇ ) dispersion management devices [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) is represented by H ( ⁇ )
- Each of the plurality of distribution management devices PA ( ⁇ , 1),..., PA ( ⁇ , H ( ⁇ )) is divided into a plurality of subsets SUB ( ⁇ ).
- the shared value generation device 640- ⁇ corresponds to each subset SUB ( ⁇ ).
- FIG. 18 is a block diagram for explaining the configuration of the distribution apparatus 610 of the second embodiment.
- FIGS. 19A and 19B are block diagrams for explaining the configuration of shared value generation apparatuses 640-1 to 640-650.
- FIG. 20 is a block diagram for explaining the configuration of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) according to the second embodiment.
- FIG. 21 is a block diagram for explaining the configuration of the acquisition device 630 of the second embodiment.
- portions common to the first embodiment are denoted by the same reference numerals as in the first embodiment, and the description is simplified.
- the distribution device 610 of this embodiment is configured by, for example, reading and executing a predetermined program on a known computer including a CPU, a RAM, a ROM, and the like.
- the shared value generation apparatus 640- ⁇ of the present embodiment includes a coefficient setting unit 641- ⁇ and a transmission unit 642- ⁇ .
- the shared value generation unit 650 according to the present embodiment includes a storage unit 651, inverse function calculation units 652 and 653, and a transmission unit 654.
- the distributed management apparatus [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) of this embodiment includes a temporary storage unit 121- ⁇ -h ( ⁇ ) and a storage unit. 122- ⁇ -h ( ⁇ ), control unit 123- ⁇ -h ( ⁇ ), distributed secret value generation unit 621- ⁇ -h ( ⁇ ), 622- ⁇ -h ( ⁇ ), 623- ⁇ -h ( ⁇ ), a selector 624- ⁇ -h ( ⁇ ), a transmitter 125- ⁇ -h ( ⁇ ), and a receiver 126- ⁇ -h ( ⁇ ).
- the distributed management apparatus [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) of this embodiment has a predetermined program read into a known computer having, for example, a CPU, RAM, ROM, and the like. It is composed by being executed.
- the acquisition device 630 of this embodiment is configured by, for example, reading and executing a predetermined program on a known computer having a CPU, RAM, ROM, and the like.
- b i * ( ⁇ , ⁇ (i, 1) ⁇ g 2 , ..., ⁇ ( ⁇ , i, n ( ⁇ ) + ⁇ ( ⁇ )) ⁇ g 2 ) ⁇ G 2 n ( ⁇ ) + ⁇ ( ⁇ ) ... (101) From this equation, it can be seen that the base vector b i * ( ⁇ ) can be secretly shared by extending the first embodiment to multiple dimensions.
- the labeled matrix LMT (MT, LAB) is common to all the dispersion management devices PA ( ⁇ , h ( ⁇ )) 620- ⁇ -h ( ⁇ ).
- FIGS. 22 and 23 are diagrams for explaining the entire secret sharing process of the second embodiment.
- the entire secret sharing process of this embodiment will be described with reference to FIGS. 22 and 23.
- the dispersion device 610 (FIG. 17) sets H ( ⁇ ) values corresponding to the elements ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 of the basis vectors b i * ( ⁇ ).
- the value corresponding to each element ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 of the basis vector b i * ( ⁇ ) in this embodiment is ⁇ ( ⁇ , i, ⁇ ), and there are a plurality of secret sharing targets.
- the specific method of secret sharing is the same as any one of the first, second, and fourth modifications of the first embodiment.
- All ⁇ ( ⁇ , i, ⁇ ) in this embodiment is secretly shared by the same method as in any one of the first, second, and fourth modifications of the first embodiment. That is, in this embodiment, the secret sharing method is executed by replacing ⁇ in any one of the first, second, and fourth secret sharing methods of the first embodiment with ⁇ ( ⁇ , i, ⁇ ).
- Each distribution management device [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) ( ⁇ 1,1) to which each share information SH ( ⁇ , i, ⁇ , ⁇ , h ( ⁇ )) is transmitted.
- Common information shared by different subsets SUB ( ⁇ ) is independent of each other.
- a common operation is an operation with linearity.
- the common information of this form is, for example, SE ( ⁇ ) (FNC2 ⁇ 1 (SE) ⁇ SE (1),..., SE ( ⁇ ),. ), Share ( ⁇ , ⁇ ) obtained from share information share ( ⁇ ) (FNC2 ' -1 (share ( ⁇ )) ⁇ share ( ⁇ , 1), ..., share ( ⁇ , ⁇ ), ... ., share ( ⁇ , L)) and coef ⁇ (0, ⁇ ), coef ( ⁇ , ⁇ ), coef ⁇ ( ⁇ , ⁇ ) ⁇ F q which are constants or random numbers.
- FNC2 -1 represents an inverse function of the linear operation function FNC2.
- FNC2 ′ ⁇ 1 represents an inverse function of the linear operation function FNC2 ′.
- the linear calculation function FNC2 is a function that outputs a linear calculation result of input L values
- an example of the linear calculation function FNC2 is a function that outputs a linear combination value of L values.
- ⁇ coef ⁇ (0, ⁇ ) and coef ⁇ ( ⁇ , ⁇ ) are common information
- share ( ⁇ , ⁇ ) is a constant or a random number depends on the structure of the key information D * ( ⁇ ) to be generated.
- SHb i * (0, ⁇ , h ( ⁇ )) (SH (0, i, 1, ⁇ , h ( ⁇ )), ..., SH (0, i, I, ⁇ , h ( ⁇ )) ) ... (102)
- the acquisition device 630 uses a plurality of distributed secret values DSH ( ⁇ , ⁇ , h ( ⁇ )) corresponding to the same subset SUB ( ⁇ ), and uses the secret sharing scheme in steps S61 and S61 ′ described above.
- DSH distributed secret values
- SUBSK secret restoration value
- SUBSK secret restoration value
- each distributed secret value DSH ( ⁇ , ⁇ , h ( ⁇ )) is a vector, but the restoration process (step S134) shown in the first embodiment is executed for each dimension (order).
- the above-described restoration process can be realized.
- the ⁇ -dimensional element of the distributed secret value DSH ( ⁇ , ⁇ , h ( ⁇ )), which is a vector used for the restoration process is expressed as follows. ( ⁇ 1 ( ⁇ ), dsh 1 ( ⁇ )) ... ( ⁇ R ( ⁇ ) ( ⁇ ), dsh R ( ⁇ ) ( ⁇ )))
- the ⁇ -th order of the secret restoration value SUBSK ( ⁇ , ⁇ ) is obtained. ⁇ 1 ( ⁇ ) ⁇ dsh 1 ( ⁇ ) + ... + ⁇ R ( ⁇ ) ( ⁇ ) ⁇ dsh R ( ⁇ ) ( ⁇ ) Therefore, the secret restoration value SUBSK ( ⁇ , ⁇ ) is obtained by performing the same processing for each of ⁇ and ⁇ (steps S63 and S63 ′).
- the acquisition device 630 generates the generation information D * ( ⁇ ) by linearly combining the secret restoration values SUBSK ( ⁇ , ⁇ ).
- D * ( ⁇ ) SUBSK (0,1) +, ..., + SUBSK (0, ⁇ ) +, ..., + SUBSK (0, L)... (110-1)
- FNC2 '(SUBSK ( ⁇ , 1), ..., (SUBSK ( ⁇ , ⁇ ), ..., (SUBSK ( ⁇ , L))) SUBSK ( ⁇ , 1) +, ..., + SUBSK ( ⁇ , ⁇ ) +, ..., + SUBSK ( ⁇ , L)... (110-2)
- D * ( ⁇ ) SUBSK ( ⁇ , 1) +, ..., + SUBSK ( ⁇ , ⁇ ) +, ..., + SUBSK
- FIG. 24 is a diagram for illustrating processing of the distribution apparatus according to the second embodiment.
- the secret sharing unit 614- ⁇ secret-shares each piece of information ⁇ ( ⁇ , i, ⁇ ) ⁇ F q, and H H for the subset SUB ( ⁇ ) for each information ⁇ ( ⁇ , i, ⁇ ) as follows: ( ⁇ ) pieces of share information are generated and output (step S6104).
- step S6104 is executed by executing the process of step S112 of the first embodiment for each piece of information ⁇ ( ⁇ , i, ⁇ ).
- each SH ( ⁇ , i, ⁇ , ⁇ , 1), ..., SH ( ⁇ , i) output from each secret sharing unit 614- ⁇ . , ⁇ , ⁇ , H ( ⁇ )) are sent to the transmitter 115.
- each share information SH ( ⁇ , i, ⁇ , ⁇ , h (1)) is sent to each share information SH ( ⁇ , i, ⁇ , 1) in the distributed management device [PA (1, 1)] 620-1-1. 2, h (2)) is distributed to the distributed management device [PA (1,2)] 620-1-2, and share information SH ( ⁇ , i, ⁇ , L, H (L)) is distributed It is transmitted to the device [PA (L, H (L))] 620-LH (L).
- random numbers or constants output from the common information generation unit 641- ⁇ are common information coef ⁇ (0, ⁇ ), coef ( ⁇ , ⁇ ), coef ⁇ ( ⁇ , ⁇ ), and the transmission unit 642- ⁇ is common.
- the common information generation unit 653 uses the share information share ( ⁇ ) stored in the storage unit 651, and shares ( ⁇ , 1),... Share ( ⁇ , ⁇ ),. ., share ( ⁇ , L) is generated.
- the common information generation unit 653 generates share ( ⁇ , 1),..., Share ( ⁇ , ⁇ ), ..., share ( ⁇ , L) that satisfies the following relationship.
- share ( ⁇ ) share ( ⁇ , 1) + ...
- ( ⁇ , ⁇ ) is transmitted to each dispersion management device [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) constituting the subset SUB ( ⁇ ).
- the processing of the dispersion management apparatus [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) of this embodiment will be described with reference to FIG. First, the receiving unit 126- ⁇ -h ( ⁇ ) of the distribution management device [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) (FIG.
- step S6201 sends the transmitted share information SH ( ⁇ , i, ⁇ , ⁇ , h ( ⁇ )) are received and stored in the storage unit 122- ⁇ -h ( ⁇ ) (step S6201).
- step S6201 has been executed in the past, and the share information SH ( ⁇ , i, ⁇ , ⁇ , h ( ⁇ )) has already been distributed to the distributed management device [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -. If it is stored in the storage unit 122- ⁇ -h ( ⁇ ) of h ( ⁇ ), the process of step S6201 may be omitted.
- the receiving unit 126- ⁇ -h ( ⁇ ) of the dispersion management device [PA ( ⁇ , h ( ⁇ ))] 620- ⁇ -h ( ⁇ ) receives the common information transmitted from the shared value generation devices 640- ⁇ and 650.
- coef ⁇ (0, ⁇ ), coef ( ⁇ , ⁇ ), coef ⁇ ( ⁇ , ⁇ ), SE ( ⁇ ) and share ( ⁇ , ⁇ ) are received and stored in the storage unit 122- ⁇ -h ( ⁇ ). (Step S6202).
- the distributed secret value generation unit 621- ⁇ -h ( ⁇ ) receives the share information SH (0, i, ⁇ , ⁇ , h ( ⁇ )) and the common information coef ⁇ from the storage unit 122- ⁇ -h ( ⁇ ). Read (0, ⁇ ) and SE ( ⁇ ).
- the distributed secret value generation unit 621- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH (0, ⁇ , h ( ⁇ )) satisfying the equation (103) using these (step S6203).
- the distributed secret value generation unit 622- ⁇ -h ( ⁇ ) receives the share information SH ( ⁇ , i from the storage unit 122- ⁇ -h ( ⁇ ). , ⁇ , ⁇ , h ( ⁇ )) and the common information coef ( ⁇ , ⁇ ), coef ⁇ ( ⁇ , ⁇ ), share ( ⁇ ) and label LAB ( ⁇ ) and the n ( ⁇ ) dimensional vector v ( ⁇ ) ⁇ and read.
- the distributed secret value generation unit 622- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH ( ⁇ , ⁇ , h ( ⁇ )) satisfying the equation (105) using these (step S6206).
- the distributed secret value generation unit 623- ⁇ -h ( ⁇ ) receives the share information SH ( ⁇ , i from the storage unit 122- ⁇ -h ( ⁇ ). , ⁇ , ⁇ , h ( ⁇ )), common information coef ⁇ ( ⁇ , ⁇ ), share ( ⁇ ), and n ( ⁇ ) -dimensional vector v ( ⁇ ) ⁇ specified by the label LAB ( ⁇ ).
- the distributed secret value generation unit 623- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH ( ⁇ , ⁇ , h ( ⁇ )) satisfying the equation (106) using these (step S6207).
- the transmission unit 125- ⁇ -h ( ⁇ ) transmits the respective distributed secret values DSH (0, ⁇ , h ( ⁇ )) and DSH ( ⁇ , ⁇ , h ( ⁇ )) to the acquisition device 630 via the network 150. (Step S6210).
- FIG. 26 is a diagram for illustrating processing of the acquisition apparatus according to the second embodiment.
- the control unit 133 distributes the distributed secret values DSH (0, ⁇ , h ( ⁇ )), DSH ( ⁇ , ⁇ , h ( ⁇ ) equal to or greater than the number necessary for restoring the secret values (hereinafter referred to as “necessary number”). )) Is stored in the storage unit 132 (step S6302).
- the necessary number or more of the distributed secret values DSH (0, ⁇ , h ( ⁇ )), DSH ( ⁇ , ⁇ , h ( ⁇ )) are not stored in the storage unit 132, The process returns to step S6301.
- the control unit 133 ⁇ 1 is set, and the set content is stored in the temporary storage unit 131 (step S6303).
- step S6308 the process returns to step S6306.
- D * (0) FNC2 (SUBSK (0,1), ..., (SUBSK (0, ⁇ ), ..., (SUBSK (0, L))... (118)
- D * ( ⁇ ) FNC2 (SUBSK ( ⁇ , 1), ..., (SUBSK ( ⁇ , ⁇ ), ..., (SUBSK ( ⁇ , L))... (119)
- Modification 1 of the second embodiment is obtained by applying Modification 1 of the first embodiment to the second embodiment. That is, the value corresponding to each element ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 of the basis vector b i * ( ⁇ ) in the first modification of the second embodiment is ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2.
- Management device 720- ⁇ -h ( ⁇ ) ( ⁇ 1,..., L) is replaced.
- Other configurations are the same as those of the sixth embodiment.
- the secret sharing method for each piece of information ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 ⁇ G 2 is the same as in the first embodiment. That is, in this embodiment, the secret sharing method is executed by replacing ⁇ ⁇ g of the secret sharing method of the first embodiment with ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 .
- the secret sharing method is executed by replacing ⁇ ⁇ g of the secret sharing method of the first embodiment with ⁇ ( ⁇ , i, ⁇ ) ⁇ g 2 .
- the following share information SH ( ⁇ , i, ⁇ , ⁇ , h ( ⁇ )) (h ( ⁇ ) 1,..., H ( ⁇ )) is generated.
- the distributed secret value generation unit 721- ⁇ -h ( ⁇ ) receives the share information SH from the storage unit 122- ⁇ -h ( ⁇ ). (0, i, ⁇ , ⁇ , h ( ⁇ )) and common information coef ⁇ (0, ⁇ ), SE ( ⁇ ) are read.
- the distributed secret value generation unit 721- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH (0, ⁇ , h ( ⁇ )) satisfying the equation (120) using these (step S7203).
- the shared secret value generation unit 722- ⁇ -h ( ⁇ ) receives the share information SH from the storage unit 122- ⁇ -h ( ⁇ ).
- n ( ⁇ ) dimension specified by ( ⁇ , i, ⁇ , ⁇ , h ( ⁇ )) and common information coef ( ⁇ , ⁇ ), coef ⁇ ( ⁇ , ⁇ ), share ( ⁇ ) and label LAB ( ⁇ ) Read the vector v ( ⁇ ) ⁇ .
- the distributed secret value generation unit 622- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH ( ⁇ , ⁇ , h ( ⁇ )) satisfying the equation (121) using these (step S7206).
- the distributed secret value generation unit 723- ⁇ -h ( ⁇ ) receives the share information SH ( ⁇ , i, ⁇ , ⁇ from the storage unit 122- ⁇ -h ( ⁇ ). , h ( ⁇ )), common information coef ⁇ ( ⁇ , ⁇ ), share ( ⁇ ), and n ( ⁇ ) -dimensional vector v ( ⁇ ) ⁇ specified by the label LAB ( ⁇ ).
- the distributed secret value generation unit 623- ⁇ -h ( ⁇ ) generates and outputs a distributed secret value DSH ( ⁇ , ⁇ , h ( ⁇ )) satisfying the equation (122) using these (step S7207).
- each operation defined on the finite field F q described above may be replaced with an operation defined on the finite ring Z q of order q .
- An example of a method for replacing each operation defined on the finite field F q with an operation defined on the finite ring Z q is a method that allows q other than a prime number or a power value thereof.
- the process for generating key information for function encryption is exemplified as the generation information. However, other generation information may be generated.
- the processing contents of the functions that each device should have are described by a program.
- the processing functions are realized on the computer by executing the program on the computer.
- the program describing the processing contents can be recorded on a computer-readable recording medium.
- the computer-readable recording medium any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
- This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
- a computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
- the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
- ASP Application Service Provider
- the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
- a predetermined program is executed on the computer and the processing content of each device is realized.
- the processing content may be realized only by hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- 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
Description
(N,N)しきい値秘密分散方式(「N-out-of-N分散方式」や「N-out-of-Nしきい値分散方式」と呼ぶ場合もある))では、すべてのシェア情報SH(1),...,SH(N)が与えられれば秘密情報MSKを復元できるが、任意のN-1個のシェア情報SH(φ1),...,SH(φN-1)が与えられても秘密情報MSKの情報はまったく得られない。以下に、(N,N)しきい値秘密分散方式の一例を示す。
・SH1,...,SHN-1をランダムに選択する。
・SHN=MSK-(SH1+...+SHN-1)の計算を行う。
・各シェア情報SH1,...,SHNを複数の分散管理装置PA(1),...,PA(N)に分散して管理させる。
・すべてのシェア情報SH1,...,SHNが与えられれば、MSK=SH1+...+SHNの復元処理によって秘密情報MSKを復元できる。
σ・SH(1)+...+σ・SH(N)
=σ・(SH(1)+ ...+SH(N))
=σ・MSK …(1)
σ(1)・SH(1)+...+σ(N)・SH(N) …(2)
(Kt,N)しきい値秘密分散方式(「Kt-out-of-N分散方式」や「Kt-out-of-Nしきい値分散方式」と呼ぶ場合もある)では、任意の相違なるKt個のシェア情報SH(φ1),...,SH(φKt)が与えられれば秘密情報MSKを復元できるが、任意のKt-1個のシェア情報SH(φ1),...,SH(φKt-1)が与えられても秘密情報MSKの情報はまったく得られない。添え字のKtはKtを表す。以下に(Kt,N)しきい値秘密分散方式の一例を示す。
・f(0)=MSKを満たすKt-1次の多項式f(x)=ξ0+ξ1・x+ξ2・x2+...+ξKt-1・xKt-1をランダムに選ぶ。すなわち、ξ0=MSKとし、ξ1,..., ξKt-1をランダムに選ぶ。シェア情報をSHρ=(ρ, f(ρ))(ρ=1,...,N)とする。
・任意の相違なるKt個のシェア情報SH(φ1),...,SH(φKt)((φ1,...,φKt)⊂(1,...,N))が得られた場合、例えば、ラグランジェ(Lagrange)の補間公式を用い、以下のような復元処理によって秘密情報MSKを復元できる。
MSK=f(0)=λ1・f(φ1)+...+λKt・f(φKt) …(3)
(φρ-φ1)・...・(φρ-φρ-1)・(φρ-φρ+1)・...・(φρ-φKt)
式(4)の分子は以下のようになる。
(x-φ1)・...・(x-φρ-1)・(x-φρ+1)・...・(x-φKt)
これらの関係は体上でも成立する。
(条件1)分散装置が秘密情報MSKを秘密分散して複数のシェア情報SH(1),...,SH(N)を生成し、これらを複数の分散管理装置PA(1),...,PA(N)に分散して管理させる。
(条件2)各分散管理装置PA(1),...,PA(N)がそれぞれ何らかの演算を実行する。
(条件3)取得装置は、秘密情報MSKを得ることはできないが、所定数以上の分散管理装置で生成された演算結果が与えられた場合に、秘密情報MSKと任意な値σとを被演算子に含む演算の結果に対応する生成情報を得ることができる。
〔第1実施形態〕
まず、本発明の第1実施形態を説明する。
本形態で使用する用語や記号を定義する。
Fq:Fqは位数qの有限体を表す。位数qは1以上の整数であり、例えば、素数や素数のべき乗値を位数qとする。すなわち、有限体Fqの例は素体やそれを基礎体とした拡大体である。有限体Fqが素体である場合の演算は、例えば、位数qを法とする剰余演算によって容易に構成できる。有限体Fqが拡大体である場合の演算は、例えば、既約多項式を法とする剰余演算によって容易に構成できる。有限体Fqの具体的な構成方法は、例えば、参考文献1「ISO/IEC 18033-2: Information technology - Security techniques - Encryption algorithms - Part 2: Asymmetric ciphers」に開示されている。
1F:1Fは有限体Fqの乗法単位元を表す。
y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6
ただし、a1,a2,a3,a4,a6∈Fqを満たす。
楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算+が定義され、楕円曲線E上の任意の1点に対して逆元演算と呼ばれる単項演算-が定義される。楕円曲線E上の有理点からなる有限集合が楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できること、及びコンピュータ上での楕円加算などの楕円演算の具体的な演算方法はよく知られている(例えば、参考文献1、参考文献2「RFC 5091: Identity-Based Cryptography Standard (IBCS) #1: Supersingular Curve Implementations of the BF and BB1 Cryptosystems」、参考文献3「イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0」等参照)。
楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
g:gは巡回群Gの生成元を表す。
図1は、第1実施形態の秘密分散システムの全体構成を説明するためのブロック図である。
図1に例示するように、本形態の秘密分散システム1は、分散装置110と、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)〕120-α-h(α)と、取得装置130と、共有値生成装置140-1~Lとを有し、それらはネットワーク150を通じて通信可能である。説明を簡略化するため、本形態では、分散装置110及び取得装置130が1つずつ存在する構成を例示するが、分散装置110及び/又は取得装置130が2以上存在してもよい。同様な理由により、本形態では、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))〕120-α-h(α)からなる集合が1つのみ存在する構成を例示するが、このような集合が複数存在していてもよい。
図1に例示するように、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))〕120-α-h(α)からなる集合は、H(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる複数の部分集合SUB(α)ごとに区分される。各部分集合SUB(α)には、それぞれ、各部分集合SUB(α)ごとに共有される共有値σ(α)を生成する共有値生成装置140-αがそれぞれ対応する。
図2は、図1の分散装置110の構成を説明するためのブロック図である。図5Aは、図2の秘密分散部114-αの詳細を説明するためのブロック図である。
図2に例示するように、本形態の分散装置110は、一時記憶部111と、記憶部112と、制御部113と、秘密分散部114-α(α=1,...,L)と、送信部115とを有する。図5Aに例示するように、本形態の秘密分散部114-αは、関数選択部114a-αと、インデックス生成部114b-αと、分散処理部114c-αとを有する。
図3Aは、第1実施形態の分散管理装置〔PA(α,h(α))〕120-α-h(α)の構成を説明するためのブロック図である。図5Bは、図3Aの分散秘密値生成部124-α-h(α)の詳細を説明するためのブロック図である。
図3Aに例示するように、本形態の分散管理装置〔PA(α,h(α))〕120-α-h(α)は、一時記憶部121-α-h(α)と、記憶部122-α-h(α)と、制御部123-α-h(α)と、分散秘密値生成部124-α-h(α)と、送信部125-α-h(α)と、受信部126-α-h(α)とを有する。図5Bに例示するように、分散秘密値生成部124-α-h(α)は、線形演算部124a-α-h(α)と、分散秘密値合成部124b-α-h(α)とを有する。
図3Bは、第1実施形態の共有値生成装置140-αの構成を説明するためのブロック図である。
図3Bに例示するように、本形態の共有値生成装置140-αは、乱数生成部141-α及び送信部142-αを有する。本形態の共有値生成装置140-αは、例えば、CPU、RAM、ROM等を備える公知又は専用のコンピュータと特別なプログラムとを含む特別な装置であるが、乱数生成部141-αが特別な集積回路であってもよい。
図4は、第1実施形態の取得装置130の構成を説明するためのブロック図である。図6は、図4の復元部134-αの詳細を説明するためのブロック図である。
図4に例示するように、本形態の取得装置130は、一時記憶部131と、記憶部132と、制御部133と、復元部134-α(α=1,...,L)と、合成部137と、送信部135と、受信部136とを有する。図6に例示するように、復元部134-αは、係数算出部134a-αと、多項式演算部134b-αとを有する。
取得装置130は、制御部133の制御のもと各処理を実行する。以下では説明を簡略化するが、各処理部から出力されたデータは、逐一、一時記憶部131又は記憶部132に格納される。一時記憶部131又は記憶部132に格納されたデータは、必要に応じて読み出され、各処理部に入力されてその処理に利用される。
本形態の秘密分散処理を説明する。
[事前処理]
本形態の秘密分散処理の事前処理として、秘密情報θ・g∈Gを特定するための情報θ∈Fqが分散装置110の記憶部112に格納される。
図7は、第1実施形態の秘密分散処理の全体を説明するための図である。以下、図7を用いて、本形態の秘密分散処理の全体を説明する。
本形態では、まず、分散装置110(図1)が、部分集合SUB(α)ごとに独立に、秘密情報θ・g∈Gを秘密分散してシェア情報SH(α,h(α))(h(α)=1,...,H(α))を生成し、当該シェア情報SH(α,h(α))を出力する(ステップS11)。各シェア情報SH(α,h(α))は、それぞれ、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕120-α-h(α)に分散して送信される。
図8Aは、第1実施形態の分散装置の処理を例示するための図であり、図8Bは、ステップS112の処理の詳細を例示するための図である。以下、これらの図を用いて、分散装置110の処理の詳細を説明する。
まず、分散装置110(図2)の制御部113が、α=1に設定し、その設定内容を一時記憶部111に格納する(ステップS111)。次に、記憶部112から秘密情報θ・g∈Gを特定するための情報θ∈Fqが読み出され、秘密分散部114-αに入力される。秘密分散部114-αは、情報θ∈Fqを用いて秘密情報θ・g又は情報θを、所定の秘密分散方式に従って秘密分散し、部分集合SUB(α)に対するH(α)個のシェア情報SH(α,1),...,SH(α,H(α))を生成して出力する(ステップS112)。
本形態の秘密分散部114-αは、各部分集合SUB(α)に対し、(R(α),H(α))しきい値秘密分散方式(但し、R(α)は、2≦R(α)<H(α)を満たす定数)を用い、秘密情報を秘密分散して得られるシェア情報SH(α,h(α))(h(α)=1,...,H(α))を生成する。
図8Bに例示するように、まず、秘密分散部114-α(図5A)の関数選択部114a-αが、予め定められた有限体Fqの元ω∈Fqに対してf(α,ω)=θを満たすR(α)-1次の多項式をf(α,x)∈Fqをランダムに選択して出力する(ステップS112a)。なお、xは有限体Fqの元からなる変数であり、元ω∈Fqの一例は0Fである。
次に、インデックス生成部114b-αが、各h(α)=1,...,H(α)に対応するインデックスφ(h(α))∈Fqを生成して出力する(ステップS112b)。なお、インデックスφ(h(α))=h(α)∈Fqとする場合や、すでにインデックスφ(h(α))∈Fqが得られている場合には、ステップS112の処理は省略されてもよい。
次に、分散処理部114c-αが、多項式f(α,x)∈Fqとインデックスφ(h(α))∈Fqとを用い、以下のシェア情報SH(α,h(α))(h(α)=1,...,H(α))を生成する。
SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))・g∈G) …(5)
分散処理部114c-αはシェア情報SH(α,h(α))を出力する(ステップS112c/《ステップS112の詳細》の説明終わり)。
各共有値生成装置140-α(図3B)は、自らに対応する部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕120-α-h(α)で共有する共有値σ(α)を生成する。本形態では、乱数生成部141-αが生成した乱数を共有値σ(α)とし、送信部142-αが共有値σ(α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕120-α-h(α)に送信する。
図9Aは、第1実施形態の分散管理装置〔PA(α,h(α))〕120-α-h(α)の処理を例示するための図であり、図9Bは、ステップS124の処理の詳細を例示するための図である。以下、これらの図を用いて、本形態の分散管理装置〔PA(α,h(α))〕120-α-h(α)の処理を説明する。
同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))120-α-h(α)の分散秘密値生成部124-α-h(α)がそれぞれ用いる共通情報は互いに同一であり、同一の部分集合SUB(α)に属する分散管理装置PA(α,h(α))120-α-h(α)の分散秘密値生成部124-α-h(α)がそれぞれ行う共通演算は互いに同一である。本形態のシェア情報は式(5)に示すものである。
dsh(α,φ(h(α)))=σ(α)・v・f(α,φ(h(α)))・g∈G …(6)
DSH(α,h(α))=(φ(h(α)),dsh(α,φ(h(α)))) …(7)
分散秘密値合成部124b-α-h(α)は分散秘密値DSH(α,h(α))を出力する(ステップS124b/《ステップS124の詳細》の説明終わり)。
図10Aは、第1実施形態の取得装置の処理を例示するための図であり、図10Bは、ステップS134の処理を例示するための図である。
各分散管理装置PA(α,h(α))120-α-h(α)から送信された分散秘密値DSH(α,h(α))は、取得装置130(図4)の受信部136で受信され、記憶部132に格納される(ステップS131)。
本形態の分散秘密値DSH(α,h(α))は式(7)に示すものである。復元部134-α(図6)には、αごとにR(α)個ずつの相違なる分散秘密値DSH(α,h(α))が入力される。以下では、復元部134-αに入力される各αに対応する分散秘密値DSH(α,h(α))を以下のように表現する。
DSH(α,φ1(α))=(φ1(α), dsh1(α))
・・・ …(8)
DSH(α,φR(α)(α))=(φR(α)(α), dshR(α)(α))
ただし、以下が満たされる。
(φ1(α),...,φR(α)(α))⊂(φ(1),...,φ(H(α))) …(9)
(dsh1(α),...,dshR(α)(α))⊂(dsh(α,φ(1)),...,dsh(α,φ(H(α))))
…(10)
SUBSK(α)=λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)∈G …(12)
多項式演算部134b-αは、秘密復元値SUBSK(α)を出力する(ステップS134b/《ステップS134の詳細》の説明終わり)。
SK=FNC2(SUBSK(1),...,SUBSK(L)) …(13)
以下に式(13)の具体例を示す。
具体例1:SK=SUBSK(1)+...+SUBSK(L)∈G …(14)
具体例2:SK=CE1・SUBSK(1)+...+CEL・SUBSK(L)∈G …(15)
ただし、CEα∈Fqは係数であり、その一例はLの乗法逆元(L)-1∈Fqである。また、係数CE1,...,CELの何れか一部を0Fとしてもよい。この場合には、SUBSK(1)+...+SUBSK(L)の一部のみを用いて生成情報SKが生成される。この際、合成部137が、係数CE1,...,CELのうち0Fとする係数をランダムに選択してもよい。これにより、安全性が向上する。合成部137が、係数CE1,...,CELを自由に設定できる構成でもよい。これにより、取得装置130は、信頼性が低い部分集合SUB(α')に対応する秘密復元値SUBSK(α')を使用せずに生成情報SKを生成すること等が可能となる(《ステップS141の詳細》の説明終わり)。
本形態では、分散装置110が部分集合SUB(α)ごとに独立に秘密情報θ・g∈Gを秘密分散してシェア情報SH(α,h(α))を生成し、各分散管理装置PA(α,h(α))120-α-h(α)が、共有値σ(α)と提供情報vを含む共通情報とシェア情報SH(α,h(α))とを用い、共通演算を行って分散秘密値DSH(α,h(α))を生成し、取得装置130が、同一の部分集合SUB(α)に対応する複数の分散秘密値DSH(α,h(α))を用い、部分集合SUB(α)ごとの復元処理によって秘密復元値SUBSK(α)を生成し、秘密復元値SUBSK(α)を用いて生成情報SKを生成することとした。
次に、第1実施形態の変形例1を説明する。
第1実施形態では、巡回群Gの元を秘密情報θ・g∈Gとし、これを秘密分散した。しかし、有限体Fqの元θ∈Fqを秘密分散してもよい。この場合、(R(α),H(α))しきい値秘密分散方式を用いて秘密分散されたシェア情報SH(α,h(α))は、有限体Fqの元からなる変数をxとし、予め定められた有限体Fqの元ω∈Fqに対してf(α,ω)=θを満たすR(α)-1次の多項式をf(α,x)∈Fqとし、h(α)に対応するインデックスをφ(h(α))とした場合における、有限体Fqの元f(α,φ(h(α)))∈Fqを含む。
図11Aは、第1実施形態における変形例1の秘密分散部214-αの構成を説明するための図であり、図11Bは、第1実施形態における変形例1の分散秘密値生成部224-α-h(α)の構成を説明するための図である。なお、これらの図において、第1実施形態と共通する部分については、第1実施形態と同じ符号を付した。
第1実施形態の変形例1では、図8Bに示したステップS112の処理が以下のように変形される。
まず、図8Bに示したステップS112a及びS112bが実行される。次に、ステップS112cの代わりに、秘密分散部214-αの分散処理部214c-α(図11A)が、多項式f(α,x)∈Fqとインデックスφ(h(α))∈Fqとを用い、以下のシェア情報SH(α,h(α))を生成して出力する。
SH(α,h(α))=(φ(h(α)), f(α,φ(h(α)))) …(16)
第1実施形態の変形例1では、図9Bに示したステップS124の処理が以下のように変形される。
まず、ステップS124aの代わりに、線形演算部224a-α-h(α)(図11B)に、共有値σ(α)と提供情報vとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α))))のf(α,φ(h(α)))とが入力され、線形演算部224a-α-h(α)は、以下の演算を行い、その演算結果dsh(α,φ(h(α)))∈Gを出力する。
dsh(α,φ(h(α)))=σ(α)・v・f(α,φ(h(α)))・g∈G …(17)
演算結果dsh(α,φ(h(α)))∈Gは分散秘密値DSH(α,h(α))の一部の情報となる。その後、図9Bに示したステップS124bの処理を実行する(《第1実施形態の変形例1におけるステップS124の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
次に、第1実施形態の変形例2を説明する。
第1実施形態の変形例2でも有限体Fqの元θ∈Fqを秘密分散する。第1実施形態の変形例1との相違点は、演算結果dsh(α,φ(h(α)))が巡回群Gの元ではなく、有限体Fqの元である点である。
第1実施形態の変形例1におけるステップS112の変形と同一である。
第1実施形態の変形例2では、図9Bに示したステップS124の処理が以下のように変形される。
まず、ステップS124aの代わりに、線形演算部324a-α-h(α)(図12A)に、共有値σ(α)と提供情報vとシェア情報SH(α,h(α))=(φ(h(α)), f(α,φ(h(α))))のf(α,φ(h(α)))とが入力され、線形演算部324a-α-h(α)が、以下の演算を行い、その演算結果dsh(α,φ(h(α)))∈Fqを出力する。
dsh(α,φ(h(α)))=σ(α)・v・f(α,φ(h(α)))∈Fq …(18)
演算結果dsh(α,φ(h(α)))∈Fqは分散秘密値DSH(α,h(α))の一部の情報となる。その後、図9Bに示したステップS124bの処理を実行する。
まず、図10Bに示したステップS134aの処理が実行される。次に、10Bに示したステップS134bの処理の代わりに、各係数λρ(x)と、式(8)に示すDSH(α,φ1(α)),...,DSH(α,φR(α)(α))のdsh1(α),...,dshR(α)(α)とが、多項式演算部334b-α(図12B)に入力され、多項式演算部334b-αが、以下の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成する。
SUBSK(α)={λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)}・g∈G
…(19)
多項式演算部334b-αは、部分集合SUB(α)の秘密復元値SUBSK(α)を出力する(《第1実施形態の変形例2におけるステップS134の変形》の説明終わり)。その他の処理は、第1実施形態と同様である。
第1実施形態の変形例3は、(R(α),H(α))しきい値秘密分散方式の代わりに(H(α),H(α))しきい値秘密分散方式を用いて秘密情報を秘密分散する変形例である。
図13Aは、第1実施形態における変形例3の秘密分散部414-αの構成を説明するための図であり、図13Bは、第1実施形態における変形例3の分散秘密値生成部424-α-h(α)の構成を説明するための図であり、図13Cは、第1実施形態における変形例3の復元部434-αの構成を説明するための図である。
第1実施形態の変形例3では、図8Bに示したステップS112の処理が以下のように変形される。
まず、秘密分散部414-α(図13A)の乱数生成部414a-αにおいて、以下のH(α)-1個の巡回群Gの元をランダムに選択し、これらを出力する。
SH(α,1),...,SH(α,H(α)-1)∈G …(20)
SH(α,h(α))=θ・g -{SH(α,1)+...+SH(α,H(α)-1)}∈G …(21)
SH(α,1),...,SH(α,H(α))∈G
これらのシェア情報は、以下の関係を満たす。
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ・g∈G …(22)
第1実施形態の変形例3では、図9Bに示したステップS124の処理が以下のように変形される。
まず、分散秘密値生成部424-α-h(α)(図13B)に、共有値σ(α)と提供情報vとシェア情報SH(α,1),...,SH(α,H(α))とが入力される。分散秘密値生成部424-α-h(α)は、以下の演算によって、分散秘密値DSH(α,h(α))を生成して出力する
DSH(α,h(α))=σ(α)・v・SH(α,h(α))∈G …(23)
第1実施形態の変形例3では、図10Aに示したステップS132の処理が以下のように変形される。
この変形例3でも、制御部133が、必要数以上の分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かを判定するが、変形例3での「必要数」はH(α)個である。つまり、この変形例3の場合、各α=1,...,Lについて、それぞれ、すべての分散秘密値DSH(α,h(α))が記憶部132に格納されたか否かが判定される。
第1実施形態の変形例3では、図10Bに示したステップS134の処理が以下のように変形される。
この変形例3の分散秘密値DSH(α,h(α))は式(23)に示すものである。また、復元部434-α(図13C)には、αに対応するすべての分散秘密値DSH(α,h(α))(h(α)=1,...,H(α))が入力される。復元部434-αは、以下の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する。
SUBSK(α)=DSH(α,1)+...+DSH(α,H(α))∈G …(24)
その他の処理は、第1実施形態と同様である。
第1実施形態の変形例4も、(R(α),H(α))しきい値秘密分散方式の代わりに(H(α),H(α))しきい値秘密分散方式を用いて秘密情報を秘密分散する変形例である。変形例3との相違点は、有限体Fqの元である秘密情報θ∈Fqを秘密分散する点である。
第1実施形態の変形例4の秘密分散システム5は、分散装置110が分散装置510に置換され、分散管理装置120-α-h(α)(α=1,...,L)が分散管理装置520-α-h(α)(α=1,...,L)に置換され、取得装置130が取得装置530に置換される。秘密分散部114-α(α=1,...,L)が図14Aに示すような秘密分散部514-α(α=1,...,L)に置換され、分散秘密値生成部124-α-h(α)(α=1,...,L)が図14Bに示すような分散秘密値生成部524-α-h(α)(α=1,...,L)に置換され、復元部134-α(α=1,...,L)が図14Cに示すような復元部534-α(α=1,...,L)に置換される。その他の構成は、第1実施形態と同様である。
第1実施形態の変形例4では、図8Bに示したステップS112の処理が以下のように変形される。
まず、秘密分散部514-α(図14A)の乱数生成部514a-αにおいて、以下のH(α)-1個の有限体Fqの元をランダムに選択し、これらを出力する。
SH(α,1),...,SH(α,H(α)-1)∈Fq …(25)
SH(α,h(α))=θ -{SH(α,1)+...+SH(α,H(α)-1)}∈Fq …(26)
SH(α,1),...,SH(α,H(α))∈Fq …(27)
これらのシェア情報は、以下の関係を満たす。
SH(α,1)+SH(α,2)+...+SH(α,H(α))=θ∈Fq …(28)
第1実施形態の変形例4では、図9Bに示したステップS124の処理が以下のように変形される。
まず、分散秘密値生成部524-α-h(α)(図14B)に、共有値σ(α)と提供情報vとシェア情報SH(α,1),...,SH(α,H(α))とが入力される。分散秘密値生成部524-α-h(α)は、以下の演算によって、分散秘密値DSH(α,h(α))を生成して出力する。
DSH(α,h(α))=σ(α)・v・SH(α,h(α))∈Fq …(29)
第1実施形態の変形例3と同じである。
第1実施形態の変形例4では、図10Bに示したステップS134の処理が以下のように変形される。
この変形例4の分散秘密値DSH(α,h(α))は式(29)に示すものである。復元部534-α(図14C)には、αに対応するすべての分散秘密値DSH(α,h(α))(h(α)=1,...,H(α))が入力される。復元部534-αは、以下の演算によって、部分集合SUB(α)の秘密復元値SUBSK(α)を生成して出力する。
SUBSK(α)={DSH(α,1)+...+DSH(α,H(α))}・g∈G …(30)
その他の処理は、第1実施形態と同様である。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、第1実施形態の変形例4の式(29)の代わりに、以下の式(31)の演算を行い、式(30)の代わりに式(24)の演算を行ってもよい。
DSH(α,h(α))=σ(α)・v・SH(α,h(α))∈Fq …(31)
秘密復元値SUBSK(α)が有限体Fqの元となる構成であってもよい。
次に、本発明の第2実施形態を説明する。本形態は第1実施形態を関数暗号の鍵生成に応用した形態である。
本形態で使用する用語や記号を定義する。
行列:「行列」とは演算が定義された集合の元を矩形に並べたものを表す。環の元を要素とするものだけではなく、群の元を要素とするものも「行列」と表現する。
(・)T:(・)Tは・の転置行列を表す。
(・)-1:(・)-1は・の逆行列を表す。
∧:∧は論理積(AND)を表す論理記号である。
∨:∨は論理和(OR)を表す論理記号である。
¬:¬は否定(NOT)を表す論理記号である。
命題変数:命題変数は命題の「真」,「偽」("false","true")を要素とする集合{真,偽}上の変数である。すなわち、命題変数の定義域は「真」,「偽」を要素とする集合である。命題変数及び命題変数の否定を総称してリテラル(literal)と呼ぶ。
論理式:論理式とは数理論理学における命題を表す式を意味する。具体的には「真」及び「偽」は論理式であり、命題変数は論理式であり、論理式の否定は論理式であり、論理式と論理式との論理積は論理式であり、論理式と論理式との論理和は論理式である。
sec:secはセキュリティパラメータ(sec∈Z, sec>0)を表す。
0*:0*は*個の0からなる列を表す。
1*:1*は*個の1からなる列を表す。
Fq:Fqは位数qの有限体を表す(第1実施形態と同一)。
0F: 0Fは有限体Fqの加法単位元を表す(第1実施形態と同一)。
1F:は有限体Fqの乗法単位元を表す(第1実施形態と同一)。
δ(i,j):δ(i,j)はクロネッカーのデルタ関数を表す。i=jの場合にδ(i,j)=1Fを満たし、i≠jの場合にδ(i,j)=0 Fを満たす。
楕円曲線E上の有理点からなる有限集合は位数p(p≧1)の部分群を持つ。例えば、楕円曲線E上の有理点からなる有限集合の要素数を#Eとし、pを#Eを割り切る大きい素数とした場合、楕円曲線Eのp等分点からなる有限集合E[p]は、楕円曲線E上の有理点からなる有限集合の部分群を構成する。なお、楕円曲線Eのp等分点とは、楕円曲線E上の点Aのうち、楕円曲線E上での楕円スカラー倍算値p・Aがp・A=Oを満たす点を意味する。
本形態では、巡回群G1, G2上で定義された演算を加法的に表現し、巡回群GT上で定義された演算を乗法的に表現する。例えば、χ∈Fq及びΩ∈G1に対するχ・Ω∈G1は、Ω∈G1に対して巡回群G1で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G1に対するΩ1+Ω2∈G1は、Ω1∈G1とΩ2∈G1とを被演算子として巡回群G1で定義された演算を行うことを意味する。同様に、例えば、χ∈Fq及びΩ∈G2に対するχ・Ω∈G2は、Ω∈G2に対して巡回群G2で定義された演算をχ回施すことを意味し、Ω1, Ω2∈G2に対するΩ1+Ω2∈G2は、Ω1∈G2とΩ2∈G2とを被演算子として巡回群G2で定義された演算を行うことを意味する。一方、χ∈Fq及びΩ∈GTに対するΩχ∈GTは、例えば、Ω∈GTに対して巡回群GTで定義された演算をχ回施すことを意味し、Ω1,Ω2∈GTに対するΩ1・Ω2∈GTは、Ω1∈GTとΩ2∈GTとを被演算子として巡回群GTで定義された演算を行うことを意味する。
ψ:ψは0以上Ψ以下の整数ψ=0,...,Ψを表す。
λ:λは1以上Ψ以下の整数λ=1,...,Ψを表す。
n(ψ):n(ψ)は1以上の整数を表す。
ζ(ψ):ζ(ψ)は0以上の整数を表す。
G2 n(ψ)+ζ(ψ):G2 n(ψ)+ζ(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積を表す。
g1, g2,gT:g1, g2, gTは巡回群G, G1, G2, GTの生成元を表す。
V(ψ):V(ψ)はn(ψ)+ζ(ψ)個の巡回群G1の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
V*(ψ):V*(ψ)はn(ψ)+ζ(ψ)個の巡回群G2の直積からなるn(ψ)+ζ(ψ)次元のベクトル空間を表す。
eψ:G1 n(ψ)+ζ(ψ)×G2 n(ψ)+ζ(ψ)→GT …(32)
双線形写像eψは以下の性質を満たす。
[双線形性]双線形写像eψは、すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)及びν,κ∈Fqについて以下の関係を満たす。
eψ(ν・Γ1,κ・Γ2)=eψ(Γ1,Γ2)ν・κ …(33)
[非退化性]双線形写像eψは、すべてのΓ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ)を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆる
Γ1∈G1 n(ψ)+ζ(ψ),Γ2∈G2 n(ψ)+ζ(ψ) …(34)
についてeψ(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
Pair:G1×G2→GT …(35)
本形態の双線形写像eψは、巡回群G1のn(ψ)+ζ(ψ)個の元γβ (β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1,...,γn(ψ)+ζ(ψ))と、巡回群G2のn(ψ)+ζ(ψ)個の元γβ *(β=1,...,n(ψ)+ζ(ψ))からなるn(ψ)+ζ(ψ)次元ベクトル(γ1 *,...,γn(ψ)+ζ(ψ) *)との入力に対し、巡回群GTの1個の元を出力する。
eψ:Πβ=1 n(ψ)+ζ(ψ)Pair(γβ, γβ *) …(36)
双線形写像Pairは、巡回群G1の1個の元と巡回群G2の1個の元との組を入力とし、巡回群GTの1個の元を出力する。双線形写像Pairは、以下の性質を満たす。
[双線形性]双線形写像Pairは、すべてのΩ1∈G1,Ω2∈G2及びν,κ∈Fqについて以下の関係を満たす。
Pair(ν・Ω1,κ・Ω2)=Pair(Ω1,Ω2)ν・κ …(37)
[非退化性]双線形写像Pairは、すべての
Ω1∈G1,Ω2∈G2 …(38)
を巡回群GTの単位元に写す写像ではない。
[計算可能性]あらゆるΩ1∈G1,Ω2∈G2についてPair(Ω1,Ω2)を効率的に計算するアルゴリズムが存在する。
a1(ψ)=(κ1・g1,0,0,...,0)
a2(ψ)=(0,κ1・g1,0,...,0) …(39)
...
an(ψ)+ζ(ψ)(ψ)=(0,0,0,...,κ1・g1)
ここで、κ1は加法単位元0F以外の有限体Fqの元からなる定数であり、κ1∈Fqの具体例はκ1=1Fである。基底ベクトルai(ψ)は直交基底であり、巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai(ψ)は前述のベクトル空間V(ψ)を張る。
a1 *(ψ)=(κ2・g2,0,0,...,0)
a2 *(ψ)=(0,κ2・g2,0,...,0) …(40)
...
an(ψ)+ζ(ψ) *(ψ)=(0,0,0,...,κ2・g2)
ここで、κ2は加法単位元0F以外の有限体Fqの元からなる定数であり、κ2∈Fqの具体例はκ2=1Fである。基底ベクトルai *(ψ)は直交基底であり、巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルai *(ψ)は前述のベクトル空間V*(ψ)を張る。
eψ(ai(ψ), aj *(ψ))=gT τ・δ(i,j) …(41)
すなわち、i=jの場合には、式(36)(37)の関係から以下の関係が満たされる。
eψ(ai(ψ), aj *(ψ))
= Pair(κ1・g1,κ2・g2)・Pair(0, 0)・...・Pair(0, 0)
= Pair(g1, g2)κ1・κ2・Pair(g1, g2)0・0・...・Pair(g1, g2)0・0
= Pair(g1, g2)κ1・κ2=gT τ
上付き添え字κ1,κ2はそれぞれκ1,κ2を表す。
一方、i≠jの場合には、eψ(ai(ψ), aj *(ψ))=Πi=1 n(ψ)+ζ(ψ) Pair(ai(ψ), aj *(ψ))の右辺は、Pair(κ1・g1,κ2・g2)を含まず、Pair(κ1・g1,0)と Pair(0,κ2・g2)とPair(0,0)との積になる。さらに、式(37)の関係からPair(g1, 0)=Pair(0, g2)=Pair(g1, g2)0を満たす。そのため、i≠jの場合には、以下の関係を満たす。
eψ(ai(ψ), aj *(ψ))=eψ(g1, g2)0=gT 0
e(ai(ψ), aj *(ψ))=gT δ(i,j) …(42)
を満たす。gT 0=1は巡回群GTの単位元であり、gT 1=gTは巡回群GTの生成元である。基底ベクトルai(ψ)と基底ベクトルai *(ψ)とは双対正規直交基底であり、ベクトル空間V(ψ)とベクトル空間V*(ψ)とは、双線形写像を構成可能な双対ベクトル空間〔双対ペアリングベクトル空間(DPVS:Dual Paring Vector space)〕である。
χi →(ψ)=(χi,1(ψ),...,χi,n(ψ)+ζ(ψ)(ψ)) …(49)
χj →*(ψ)=(χj,1 *(ψ),...,χj,n(ψ)+ζ(ψ) *(ψ)) …(50)
すると、式(48)の関係から、n(ψ)+ζ(ψ)次元ベクトルχi →(ψ)とχj →*(ψ)との内積は、以下のようになる。
χi →(ψ)・χj →*(ψ)=τ'・δ(i,j) …(51)
bi(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j(ψ)・aj(ψ) …(52)
例えば、基底ベクトルaj(ψ)(j=1,...,n(ψ)+ζ(ψ))が式(39)によって表現される場合、基底ベクトルbi(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi(ψ)=(χi,1(ψ)・κ1・g1,χi,2(ψ)・κ1・g1,
...,χi,n(ψ)+ζ(ψ)(ψ)・κ1・g1) …(53)
巡回群G1のn(ψ)+ζ(ψ)個の元を要素とするすべてのn(ψ)+ζ(ψ)次元ベクトルは、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)(i=1,...,n(ψ)+ζ(ψ))の線形和によって表される。すなわち、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ)は前述のベクトル空間V(ψ)を張る。
bi *(ψ)=Σj=1 n(ψ)+ζ(ψ)χi,j *(ψ)・aj *(ψ) …(54)
例えば、基底ベクトルaj *(ψ) (j=1,...,n(ψ)+ζ(ψ))が式(40)によって表現される場合、基底ベクトルbi *(ψ)の各要素をそれぞれ列挙して表現すると、以下のようになる。
bi *(ψ)=(χi,1 *(ψ)・κ2・g2 ,χi,2 *(ψ)・κ2・g2,
...,χi,n(ψ)+ζ(ψ) *(ψ)・κ2・g2) …(55)
eψ(bi(ψ), bj *(ψ))=gT τ・τ'・δ(i,j) …(56)
すなわち、式(36)(51)(53)(55)の関係から、以下の関係が満たされる。
eψ(bi(ψ), bj *(ψ))=gT δ(i,j) …(57)
基底ベクトルbi(ψ)と基底ベクトルbi *(ψ)とは、双対ペアリングベクトル空間(ベクトル空間V(ψ)とベクトル空間V*(ψ))の双対正規直交基底である。
式(56)の関係を満たすのであれば、式(39)(40)で例示したもの以外の基底ベクトルai(ψ)及びai *(ψ)や、式(52)(54)で例示したもの以外の基底ベクトルbi(ψ)及びbi *(ψ)を用いてもよい。
v(λ)→=(v1(λ),...,vn(λ)(λ))∈Fq n(λ) …(60)
vμ(λ):vμ(λ)はn(λ)次元ベクトルv(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
w(λ)→:w(λ)→は有限体Fqの元を要素とするn(λ)次元ベクトルを表す。
w(λ)→=(w1(λ),...,wn(λ)(λ))∈Fq n(λ) …(61)
wμ(λ):wμ(λ)はn(λ)次元ベクトルw(λ)→のμ(μ=1,...,n(λ))番目の要素を表す。
EncK(M):EncK(M)は、共通鍵Kを用い、共通鍵暗号関数Encに従って平文Mを暗号化して得られた暗号文を表す。
Dec:Decは、共通鍵暗号方式の復号処理を示す共通鍵復号関数を表す。
DecK(C):DecK(C)は、共通鍵Kを用い、共通鍵復号関数Decに従って暗号文Cを復号して得られた復号結果を表す。
次に、関数暗号方式の基本的な構成について説明する。
関数暗号方式とは、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に暗号文が復号される方式である。「第1情報」と「第2情報」の一方が暗号文に埋め込まれ、他方が鍵情報に埋め込まれる。例えば、「"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」(参考文献9)に開示された述語暗号方式は関数暗号方式の一種である。
上述した所定の論理式と階層的な秘密分散との関係を説明する。
前述したように、(N,N)しきい値秘密分散方式では、すべてのシェア情報share(1),...,share(N)が与えられれば秘密情報SEを復元できるが、任意のN-1個のシェア情報share(φ1),...,share(φN-1)が与えられても秘密情報SEの情報はまったく得られない。(Kt,N)しきい値秘密分散方式では、任意の相違なるKt個のシェア情報share(φ1),...,share(φKt)が与えられれば秘密情報SEを復元できるが、任意のKt-1個のシェア情報share(φ1),...,share(φKt-1)が与えられても秘密情報SEの情報はまったく得られない。
図16に例示する木構造データは複数のノードN1,...,N11を含む。ノードN1はノードN2,N6,N7の親ノードとされ、ノードN2はノードN3,N4,N5の親ノードとされ、ノードN7はノードN8,N11の親ノードとされ、ノードN8はノードN9,N10の親ノードとされ、親ノードの1つであるノードN1がルートノードとされ、ノードN3,N4,N5,N6,N9,N10,N11が葉ノードとされる。ノードN1には秘密情報SEに応じた値が対応し、ノードN1の子ノードN2,N6,N7には、秘密情報SEに応じた値が(1,3)しきい値秘密分散方式で秘密分散された各シェア情報SE,SE,SEに応じた値がそれぞれ対応する。ノードN2の子ノードN3,N4,N5には、シェア情報SEに応じた値が(2,3)しきい値秘密分散方式で秘密分散された各シェア情報(1,f(1)),(2,f(2)),(3,f(3))に応じた値がそれぞれ対応する。ノードN7の子ノードN8,N11には、シェア情報SEに応じた値が(2,2)しきい値秘密分散方式で秘密分散された各シェア情報SH4,SE-SH4に応じた値がそれぞれ対応する。ノードN8の子ノードN9,N10には、シェア情報SH4に応じた値が(1,2)しきい値秘密分散方式で秘密分散された各シェア情報SH4,SH4に応じた値がそれぞれ対応する。すなわち、葉ノードN3にはシェア情報share(1)=(1,f(1))に応じた値が対応し、葉ノードN4にはシェア情報share(2)=(2,f(2))に応じた値が対応し、葉ノードN5にはシェア情報share(3)=(3,f(3))に応じた値が対応し、葉ノードN6にはシェア情報share(4)=SEに応じた値が対応し、葉ノードN9にはシェア情報share(5)=SH4に応じた値が対応し、葉ノードN10にはシェア情報share(6)=SH4に応じた値が対応し、葉ノードN11にはシェア情報share(7)=SE-SH4に応じた値が対応する。また、葉ノードであるノードN3,N4,N5,N6,N9,N10,N11には標準形論理式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)を構成する各リテラルPRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)がそれぞれ対応し、各リテラルPRO(1),PRO(2),PRO(2),PRO(3),PRO(1),PRO(3),¬PRO(4),¬PRO(5),PRO(6),PRO(7)の真理値は第1情報と第2情報との組み合わせによって定まる。ここで、真理値が真となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られるが、真理値が偽となったリテラルに対応する葉ノードに対応するシェア情報に応じた値は得られない。この場合、第1情報と第2情報との組み合わせが標準形論理式(PRO(1)∧PRO(2))∨(PRO(2)∧PRO(3))∨(PRO(1)∧PRO(3))∨¬PRO(4)∨(¬PRO(5)∨PRO(6))∧PRO(7)の真理値を真にする場合にのみ秘密情報SEに応じた値が復元される。
上述のように秘密情報を階層的に秘密分散して得られる木構造データによって所定の論理式を表現した場合、第1情報と第2情報との組み合わせに対して得られる葉ノードでのシェア情報に応じた値から秘密情報に応じた値を復元できるか否かによって、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となるか「偽」となるかを判定できる。以下、第1情報と第2情報との組み合わせによって定まる論理式の真理値が「真」となる場合に第1情報と第2情報との組み合わせを受け入れ、「偽」となる場合に第1情報と第2情報との組み合わせを拒絶する仕組みをアクセス構造と呼ぶ。
GV→=(gv1,...,gvCOL)∈Fq COL …(63)
CV→=(cv1,...,cvCOL)∈Fq COL …(64)
SE=GV→・(CV→)T …(65)
以下にCOL次元ベクトルGV→の具体例を示す。
GV→=(1F,...,1F)∈Fq COL …(66)
ただし、GV→=(1F,0F,...,0F)∈Fq COLなどのその他のCOL次元ベクトルがGV→であってもよい。
(share(1),...,share(Ψ))T=MT・(CV→)T …(67)
上述のように所定の論理式を表現した木構造データが定まれば、これら2つの要件を満たす行列MTを選択することは容易である。また、秘密情報SEやシェア情報share(λ)が変数であったとしても、これら2つの要件を満たす行列MTを選択することは容易である。すなわち、行列MTを定めた後で秘密情報SEやシェア情報share(λ)の値が定められてもよい。
TFV→=(tfv(1),...,tfv(Ψ)) …(68)
要素tfv(λ)は、内積v(λ)→・w(λ)→が0のときにtfv(λ)=1となり、0以外のときにtfv(λ)=0となる。
tfv(λ)=1 (PRO(λ)が真) if v(λ)→・w(λ)→=0 …(69)
tfv(λ)=0 (PRO(λ)が偽) if v(λ)→・w(λ)→≠0 …(70)
さらに、以下の論理式の真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。
{(LAB(λ)=v(λ)→)∧(tfv(λ)=1)}∨{(LAB(λ)=¬v(λ)→)∧(tfv(λ)=0)}
…(71)
すなわち、識別子λに対応する葉ノードに対応するリテラルの真理値が「真」になるときLIT(λ)=1と表記し「偽」になるときLIT(λ)=0と表記する。すると、行列MTが含む行ベクトルのうちLIT(λ)=1となる行ベクトルmtλ →=(mtλ,1,...,mtλ,COL)のみからなる部分行列MTTFVは以下のように表記できる。
MTTFV=(MT)LIT(λ)=1 …(72)
受け入れ if GV→∈span<MTTFV>
拒絶 if ¬(GV→∈span<MTTFV>)
SE=Σμ∈SETconst(μ)・share(μ) …(73)
{const(μ)∈Fq|μ∈SET},SET⊆{1,...,λ|LIT(λ)=1}
以下では、アクセス構造を用いた関数暗号方式によって鍵カプセル化メカニズムKEM (Key Encapsulation Mechanisms)を構成する場合の基本方式を例示する。この基本方式はSetup(1sec,(Ψ;n(1),...,n(Ψ))),GenKey(PK,MSK,LMT(MT,LAB)),Enc(PK,M,{λ,v(λ)→|λ=1,...,Ψ})(v1(λ)=1F),Dec(PK,SKS,C)を含む。また、第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}の1番目の要素w1(λ)が1Fとされる。
-入力:1sec,(Ψ;n(1),...,n(Ψ))
-出力:マスター鍵情報MSK,公開パラメータPK
(Setup-1) 1secを入力としてセキュリティパラメータsecでの位数q、楕円曲線E、巡回群G1, G2,GT、双線形写像eψ(ψ=0,...,Ψ)が生成される(param=(q, E, G1, G2,GT, eψ))。
(Setup-2) τ'∈Fqが選択され、X*(ψ)=τ'・(X(ψ)-1)Tを満たす行列X(ψ),X*(ψ)が選択される。
(Setup-3) 基底ベクトルai(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(52)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B(ψ)が生成される。
(Setup-4) 基底ベクトルai *(ψ) (i=1,...,n(ψ)+ζ(ψ))が式(54)に従って座標変換され、n(ψ)+ζ(ψ)次元の基底ベクトルbi *(ψ)(i=1,...,n(ψ)+ζ(ψ))が生成される。基底ベクトルbi *(ψ) (i=1,...,n(ψ)+ζ(ψ))を要素とするn(ψ)+ζ(ψ)行n(ψ)+ζ(ψ)列の行列B*(ψ)が生成される。
(Setup-5) B*(ψ)^の集合{B*(ψ)^}ψ=0,...,Ψをマスター鍵情報MSK={B*(ψ)^}ψ=0,...,Ψとする。B(ψ)^の集合{B(ψ)^}ψ=0,...,Ψと1secとparamとを公開パラメータPKとする。ただし、B*(ψ)^は行列B*(ψ)又はその部分行列であり、B(ψ)^は行列B(ψ)又はその部分行列である。集合{B*(ψ)^}ψ=0,...,Ψは、少なくとも、b1 *(0),b1 *(λ) …,bn(λ) *(λ)(λ=1,...,Ψ)を含む。集合{B(ψ)^}ψ=0,...,Ψは、少なくとも、b1(0),b1(λ),…,bn(λ)(λ)(λ=1,...,Ψ)を含む。以下に一例を示す。
・n(0)+ζ(0)≧5, ζ(λ)=3・n(λ)
・B(0)^=(b1(0) b3(0) b5(0))T
・B(λ)^=(b1(λ) … bn(λ)(λ) b3・n(λ)+1(λ) … b4・n(λ)(λ))T
(λ=1,...,Ψ)
・B*(0)^=(b1 *(0) b3 *(0) b4 *(0))T
・B*(λ)^=(b1 *(λ) … bn(λ) *(λ) b2・n(λ)+1 *(λ) … b3・n(λ) *(λ))T
(λ=1,...,Ψ)
-入力:公開パラメータPK,マスター鍵情報MSK,第1情報VSET1={λ,v(λ)→|λ=1,...,Ψ}に対応するラベル付き行列LMT(MT,LAB)
-出力:鍵情報SKS
D*(0)=-SE・b1 *(0)+Σι=2 Icoefι(0)・bι *(0) …(74)
ただし、Iは2以上n(0)+ζ(0)以下の定数である。coefι(0)∈Fqは定数又は乱数である。「乱数」とは真性乱数や擬似乱数を意味する。以下にD*(0)の一例を示す。なお、式(75)のcoef4(0)は乱数である。
D*(0)=-SE・b1 *(0)+b3 *(0)+coef4(0)・b4 *(0) …(75)
LAB(λ)=v(λ)→となるλに対して、以下のD*(λ)が生成される。
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(76)
LAB(λ)=¬v(λ)→となるλに対して、以下のD*(λ)が生成される。
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ)・bι *(λ) …(77)
ただしcoef(λ),coefι(λ)∈Fqは定数又は乱数である。以下に一例を示す。
LAB(λ)=v(λ)→となるλに対して、例えば以下のD*(λ)が生成される。
D*(λ)=(share(λ)+coef(λ)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ)・vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(78)
LAB(λ)=¬v(λ)→となるλに対して、例えば以下のD*(λ)が生成される。
D*(λ)=share(λ)・Σι=1 n(λ)vι(λ)・bι *(λ)
+Σι=2・n(λ)+1 3・n(λ)coefι(λ)・bι *(λ) …(79)
なお、式(78)(79)のcoef(λ)及びcoefι(λ)は乱数である。
SKS=(LMT(MT,LAB),D*(0),D*(1),...,D(Ψ)) …(80)
-入力:公開パラメータPK,平文M,第2情報VSET2={λ,w(λ)→|λ=1,...,Ψ}(w1(λ)=1F)
-出力:暗号文C
C(0)=υ・b1(0)+Σι=2 Iυι(0)・bι(0) …(81)
C(λ)=υ・Σι=1 n(λ)wι(λ)・bι(λ)+Σι=n(λ)+1 n(λ)+ζ(λ)υι(λ)・bι(λ)
…(82)
ただし、υ,υι(ψ)∈Fq(ψ=0,...,Ψ)は定数又は乱数であり、以下の関係が満たされる。
(coef2(0),...,coefI(0))・(υ2(0),...,υI(0))=υ' …(83)
coefι(λ)・υι(λ)=0F (ι=n(λ)+1,...,n(λ)+ζ(λ)) …(84)
υ'の例はυ2(0),...,υI(0)の何れか1個である。例えば、υ,υ3(0),υ5(0),υ3・n(λ)+1(λ),...,υ4・n(λ)(λ)が乱数であり、ζ(λ)=3・n(λ)、I=5であり、以下の関係が満たされる。
(υ2(0),...,υI(0))=(0F,υ3(0),0F,υ5(0))
υ'=υ3(0)
(υn(λ)+1(λ),...,υ3・n(λ)(λ))=(0F,...,0F)
K=gT τ・τ'・υ'∈GT …(85)
が生成される。例えば、τ=τ'=1Fの場合、以下の関係が満たされる。
K=gT υ'∈GT …(86)
C(Ψ+1)=EncK(M) …(87)
共通鍵暗号方式Encは、例えば共通鍵Kを用いて暗号化可能に構成されたカメリア(Camellia)(登録商標)やAESや共通鍵と平文との排他的論理和などでよいが、その他の簡単な例として以下のようにEncK(M)を生成してもよい。ただし、式(88)の例ではM∈GTとされる。
C(Ψ+1)=gT υ'・M …(88)
C=(VSET2,C(0),{C(λ)}(λ,w(λ)→)∈VSET2,C(Ψ+1)) …(89)
ただし、下付き添え字の「w(λ)→」は「w(λ)→」を表す。
-入力:公開パラメータPK,鍵情報SKS,暗号文C
-出力:平文M'
(Dec-2) 暗号文Cが受け入れられると、SET⊆{1,...,λ|LIT(λ)=1}と式(73)を満たす係数const(μ)(μ∈SET)とが計算される。
M'=DecK(C(Ψ+1))=DecK(C(Ψ+1)) …(96)
例えば、式(88)に例示した共通鍵暗号方式の場合、以下のように平文M'が生成される。
M'=C(Ψ+1)/K …(97)
図17は、第2実施形態の秘密分散システムの全体構成を説明するためのブロック図である。
図17に例示するように、本形態の秘密分散システム6は、分散装置610と、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)〕620-α-h(α)と、取得装置630と、共有値生成装置640-1~L,650とを有し、それらはネットワーク150を通じて通信可能である。説明を簡略化するため、本形態では、分散装置610及び取得装置630が1つずつ存在する構成を例示するが、分散装置610及び/又は取得装置630が2以上存在してもよい。同様な理由により、本形態では、Σα=1 Lh(α)個の分散管理装置〔PA(α,h(α))〕620-α-h(α)からなる集合が1つのみ存在する構成を例示するが、このような集合が複数存在していてもよい。
図18に例示するように、本形態の分散装置610は、一時記憶部111と、記憶部112と、制御部113と、秘密分散部614-α(α=1,...,L)と、送信部115とを有する。なお、本形態の分散装置610は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
図19Aに例示するように、本形態の共有値生成装置640-αは、係数設定部641-αと送信部642-αとを有する。図19Bに例示するように、本形態の共有値生成部650は記憶部651と逆関数演算部652,653と送信部654とを有する。
図20に例示するように、本形態の分散管理装置〔PA(α,h(α))〕620-α-h(α)は、一時記憶部121-α-h(α)と、記憶部122-α-h(α)と、制御部123-α-h(α)と、分散秘密値生成部621-α-h(α),622-α-h(α),623-α-h(α)と、選択部624-α-h(α)と、送信部125-α-h(α)と、受信部126-α-h(α)とを有する。なお、本形態の分散管理装置〔PA(α,h(α))〕620-α-h(α)は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
図21に例示するように、本形態の取得装置630は、一時記憶部131と、記憶部132と、制御部133と、復元部634-α,636-α(α=1,...,L)と、合成部635,637と、受信部136とを有する。なお、本形態の取得装置630は、例えば、CPU、RAM、ROM等を備える公知のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
次に、本形態の秘密分散処理を説明する。
本形態では、第1実施形態を応用し、アクセス構造を用いた関数暗号方式のマスター鍵情報である基底ベクトルbi *(ψ)(式(55))を秘密分散し、それらのシェア情報に対する演算結果から鍵情報D*(ψ)を復元する。以下では式(74)(76)(77)のように一般化された鍵情報D*(ψ)を復元する例を示す。しかし、同様な処理が式(75)(78)(79)のように具体化された鍵情報D*(ψ)の場合にも適用可能なことはいうまでもない。
χi,β *(ψ)・κ2・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))
…(98)
θ(ψ,i,β)・g2∈G2 …(99)
ただし、以下が満たされる。
θ(ψ,i,β)=χi,β *(ψ)・κ2∈Fq …(100)
すなわち、式(55)の基底ベクトルbi *(ψ)を以下のように表現する。
bi *=(ψ,θ(i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)
…(101)
この式より、第1実施形態を多次元に拡張することで基底ベクトルbi *(ψ)を秘密分散できることが分かる。秘密情報はシェア情報の線形な演算によって復元されるため、多次元の秘密分散によって得られた各次元のシェア情報に対して線形な演算を施した結果をシェア情報とみなして復元処理を行うことも可能である。そのため、第1実施形態を多次元に拡張することで鍵情報D*(ψ)の復元処理が実行できることも分かる。
[事前処理]
本形態の秘密分散処理の事前処理として、各基底ベクトルbi *(ψ)の要素である秘密情報θ(ψ,i,β)・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))を特定するための情報θ(ψ,i,β)∈Fqが分散装置610の記憶部112に格納される。共有値生成装置650の記憶部651に式(63)-(67)を満たす秘密情報SEとシェア情報share(λ)(λ=1,...,Ψ)とが格納される。式(60)のn(λ)次元ベクトルv(λ)→の集合{v(λ)→}λ=1,...,Ψである第1情報に対応するラベル付き行列LMT(MT,LAB)が、各分散管理装置620-α-h(α)の記憶部122-α-h(α)に、それぞれ格納される。なお、ラベル付き行列LMT(MT,LAB)は、すべての分散管理装置PA(α,h(α))620-α-h(α)に共通である。
図22及び図23は、第2実施形態の秘密分散処理の全体を説明するための図である。以下、図22及び図23用いて、本形態の秘密分散処理の全体を説明する。
本形態では、まず、分散装置610(図17)が、基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成する。本形態での基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)であり、秘密分散する対象が複数であること以外、秘密分散の具体的な方法は第1実施形態の変形例1,2,4の何れかと同じである。本形態のすべてのθ(ψ,i,β)は第1実施形態の変形例1,2,4の何れかと同じ方法で秘密分散される。つまり、本形態では、第1実施形態の変形例1,2,4の何れかの秘密分散方法のθをθ(ψ,i,β)に置換した秘密分散方法が実行される。例えば、以下のようなシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))が生成される。
SH(ψ,i,β,α,h(α))=(φ(h(α)), f(α,φ(h(α))))∈Fq
ただし、f(α,ω)=θ(ψ,i,β)を満たし、ω∈Fqは予め定められた有限体Fqの元である。
各シェア情報SH(ψ,i,β,α,h(α))は、それぞれ、ネットワーク150経由で各分散管理装置〔PA(α,h(α))〕620-α-h(α)(α=1,...,L)に分散して送信される(ステップS61及びS61’)。
SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α)))
…(102)
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))・g2 …(103)
SHbi *(λ,α,h(α))
=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α))) …(104)
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))・g2
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2 …(105)
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2 …(106)
各分散管理装置〔PA(α,h(α))〕620-α-h(α)から出力された各分散秘密値DSH(ψ,α,h(α))は、それぞれ、ネットワーク150経由で取得装置630に送信される(ステップS62及びS62’)。
本形態の取得装置630は、例えば、以下のSUBSK(0,α)をψ=0に対応する秘密復元値とする。
SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0) …(107)
本形態の取得装置630は、例えば、以下の式(108)又は(109)を各λ=1,...,Ψに対応する秘密復元値SUBSK(λ,α)とする。
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ) …(108)
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ) …(109)
これらの処理は、分散秘密値DSH(ψ,α,h(α))の各次元(次数)に対して第1実施形態で示した復元処置を実行することで実現できる。すなわち、各分散秘密値DSH(ψ,α,h(α))はベクトルであるが、それらの各次元(次数)に対して第1実施形態で示した復元処理(ステップS134)をそれぞれ実行することで上述の復元処理が実現できる。例えば、この復元処理に利用されるベクトルである分散秘密値DSH(ψ,α,h(α))のι次元目の要素を以下のように表現する。
(φ1(α), dsh1(α))
・・・
(φR(α)(α), dshR(α)(α))
この場合に式(11)の演算が行われて各係数λρ(x)(ρ=1,...,R(α))が得られ、以下の計算が行われることでψに対応する秘密復元値SUBSK(ψ,α)のι次元目が得られる。
λ1(ω)・dsh1(α)+...+λR(α)(ω)・dshR(α)(α)
よって、各ψ及びιに対してそれぞれ同様な処理を行うことで秘密復元値SUBSK(ψ,α)が得られる(ステップS63及びS63’)。
例えば、取得装置630は、秘密復元値SUBSK(ψ,α)を線形結合して生成情報D*(ψ)を生成する。例えば、以下の式(110-1)(110-2)を満たすように秘密分散されていたのであれば、取得装置630は、以下の式(111)に従ってD*(ψ)(ψ=0,...,Ψ)を生成する(ステップS64及びS64’)。
FNC2(SUBSK(0,1),...,(SUBSK(0,α),..., (SUBSK(0,L)))
=SUBSK(0,1)+,..., +SUBSK(0,α)+,...,+SUBSK(0,L) …(110-1)
FNC2’(SUBSK(λ,1),...,(SUBSK(λ,α),..., (SUBSK(λ,L)))
=SUBSK(λ,1)+,..., +SUBSK(λ,α)+,...,+SUBSK(λ,L) …(110-2)
D*(ψ)=SUBSK(ψ,1)+,..., +SUBSK(ψ,α)+,...,+SUBSK(ψ,L) …(111)
図24は、第2実施形態の分散装置の処理を例示するための図である。以下、この図を用いて、分散装置610の処理の詳細を説明する。
まず、分散装置610(図18)の制御部113がψ=0に設定し、その設定内容を一時記憶部111に格納する(ステップS6101)。制御部113がα=1,β=1に設定し、その設定内容を一時記憶部111に格納する(ステップS6102)。次に、分散装置610の制御部113が、i=1に設定し、その設定内容を一時記憶部111に格納する(ステップS6103)。
次に、記憶部112から秘密情報θ(ψ,i,β)・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ,)+ζ(ψ,))を特定するための情報θ(ψ,i,β)∈Fqがそれぞれ読み出され、秘密分散部614-α(α=1,...,L)に入力される。秘密分散部614-αは、各情報θ(ψ,i,β)∈Fqを秘密分散し、以下のように、情報θ(ψ,i,β)ごとに部分集合SUB(α)に対するH(α)個のシェア情報を生成して出力する(ステップS6104)。
SH(ψ,i,β,α,1),...,SH(ψ,i,β,α,H(α)) …(112)
例えば、情報θ(ψ,i,β)ごとに第1実施形態のステップS112の処理を実行することでステップS6104の処理が実行される。
SH(ψ,i,β,α,h(α)) (i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))
…(113)
すなわち、各シェア情報SH(ψ,i,β,1,h(1))は分散管理装置〔PA(1,1)〕620-1-1に、各シェア情報SH(ψ,i,β,2,h(2))は分散管理装置〔PA(1,2)〕620-1-2に、・・・、シェア情報SH(ψ,i,β,L,H(L))は分散管理装置〔PA(L,H(L))〕620-L-H(L)に、それぞれ送信される。
各共有値生成装置640-α(α=1,...,L)(図19A)は、自らに対応する部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕620-α-h(α)(h(α)=1,...,H(α))で共有する共通情報coefι(0,α), coef(λ,α), coefι(λ,α)を生成する。本形態では、共通情報生成部641-αから出力された乱数又は定数を共通情報coefι(0,α), coef(λ,α), coefι(λ,α)とし、送信部642-αが共通情報coefι(0,α), coef(λ,α), coefι(λ,α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕620-α-h(α)(h(α)=1,...,H(α))に送信する。
FNC2-1(SE)→SE(1),...,SE(α),...,SE(L) …(114)
例えば、共通情報生成部652は、以下を満たすSE(1),...,SE(α),...,SE(L)を生成する。
SE=SE(1)+...+SE(α)+...+SE(L) …(115)
本形態では、共通情報生成部653が記憶部651に格納されたシェア情報share(λ)を用い、以下のようにshare(λ,1),...,share(λ,α),...,share(λ,L)を生成する。
FNC2’-1(share(λ))→share(λ,1),...,share(λ,α),...,share(λ,L)
…(116)
例えば、共通情報生成部653は、以下の関係を満たすshare(λ,1),...,share(λ,α),...,share(λ,L)を生成する。
share(λ)=share(λ,1)+...+share(λ,α)+...,share(λ,L) …(117)
SE(α)及びshare(λ,α)(α=1,...,L,λ=1,...,Ψ)は送信部654に送られ、送信部654はSE(α)及びshare(λ,α)を、部分集合SUB(α)を構成する各分散管理装置〔PA(α,h(α))〕620-α-h(α)に送信する。
図25は、第2実施形態の分散管理装置〔PA(α,h(α))〕620-α-h(α)(α=1,...,L)の処理を例示するための図である。以下、この図を用いて、本形態の分散管理装置〔PA(α,h(α))〕620-α-h(α)の処理を説明する。
まず、分散管理装置〔PA(α,h(α))〕620-α-h(α)(図20)の受信部126-α-h(α)が、送信されたシェア情報SH(ψ,i,β,α,h(α))を受信し、それらを記憶部122-α-h(α)に格納する(ステップS6201)。なお、過去にステップステップS6201の処理が実行され、既にシェア情報SH(ψ,i,β,α,h(α))が分散管理装置〔PA(α,h(α))〕620-α-h(α)の記憶部122-α-h(α)に格納されているのであれば、ステップS6201の処理を省略してもよい。
図26は、第2実施形態の取得装置の処理を例示するための図である。
各分散管理装置PA(α,h(α))630-α-h(α)(α=1,...,L)から送信された分散秘密値DSH(0,α,h(α)),DSH(λ,α,h(α))(λ=1,...,Ψ)は、取得装置630(図21)の受信部136で受信され、記憶部132に格納される(ステップS6301)。
次に、制御部133は、一時記憶部131に格納されたλがΨであるか否かを判定する(ステップS6307)。ここで、λ=Ψでないと判定された場合、制御部133は、λ+1を新たなλとし、その設定内容を一時記憶部131に格納する(ステップS6308)。ステップS6308の後、ステップS6306に戻る。
一方、λ=Ψであると判定された場合、制御部133は、一時記憶部131に格納されたαがLであるか否かを判定する(ステップS6309)。ここで、α=Lでないと判定された場合、制御部133は、α+1を新たなαとし、その設定内容を一時記憶部131に格納する(ステップS6310)。ステップS6310の後、ステップS6304に戻る。
D*(0)=FNC2(SUBSK(0,1),...,(SUBSK(0,α),..., (SUBSK(0,L)) …(118)
例えば、ψ=0とした式(111)に従って鍵情報D*(0)が生成されて出力される(ステップS6311)。
D*(λ)=FNC2(SUBSK(λ,1),...,(SUBSK(λ,α),..., (SUBSK(λ,L))…(119)
例えば、ψ=λ(λ=1,...,Ψ)とした式(111)に従って、鍵情報D*(λ)(λ=1,...,Ψ)が生成されて出力される(ステップS6312)。
第2実施形態の変形例1は、第2実施形態に第1実施形態の変形例1を適用したものである。すなわち、第2実施形態の変形例1での基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)・g2であり、各分散管理装置〔PA(α,h(α))〕620-α-h(α)は、例えば、以下のDSH(0,α,h(α))をψ=0に対応する分散秘密値として生成する(FNC1)。
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))
…(120)
さらに、本形態の各分散管理装置〔PA(α,h(α))〕620-α-h(α)は、例えば、以下の式(121)又は(122)に従って、以下のDSH(λ,α,h(α))(λ=1,...,Ψ)を各λに対応する分散秘密値として生成する(FNC1’)。
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α)) …(121)
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α)) …(122)
その他は第2実施形態と同様である。
第2実施形態の変形例1では、ステップS6104の代わりに、記憶部112から情報θ(ψ,i,β)・g2∈G2(i=1,...,n(ψ)+ζ(ψ),β=1,...,n(ψ)+ζ(ψ))がそれぞれ読み出され、秘密分散部714-α(α=1,...,L)(図27)に入力される。秘密分散部714-αは、各情報θ(ψ,i,β)・g2∈G2を秘密分散し、情報θ(ψ,i,β)・g2∈G2ごとに、部分集合SUB(α)に対する以下のH(α)個のシェア情報を生成して出力する。
SH(ψ,i,β,α,1),...,SH(ψ,i,β,α,H(α)) …(123)
各情報θ(ψ,i,β)・g2∈G2の秘密分散方法は第1実施形態と同様である。すなわち、本形態では、第1実施形態の秘密分散方法のθ・gをθ(ψ,i,β)・g2に置換した秘密分散方法が実行される。例えば、以下のようなシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))が生成される。
SH(ψ,i,β,α,h(α))=(φ(h(α)), f(α,φ(h(α))))・g2∈G2
ただし、f(α,ω)=θ(ψ,i,β)を満たし、ω∈Fqは予め定められた有限体Fqの元である(ステップS7104)。
その他、第2実施形態やその変形例1において、秘密分散方法や復元方法を例えば第1実施形態やその変形例3のように変形してもよい。
本発明は上述の各実施の形態に限定されるものではない。例えば、上述の有限体Fq上で定義された各演算を位数qの有限環Zq上で定義された演算に置換してもよい。有限体Fq上で定義された各演算を有限環Zq上で定義された演算に置換する方法の一例は、素数やそのべき乗値以外のqを許容する方法である。また、第2実施形態では生成情報として関数暗号の鍵情報を生成する処理を例示したが、それ以外の生成情報が生成されてもよい。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
110,210,410,510,610,710 分散装置
120~720 分散管理装置
130,330,430,530,630 取得装置
140,640,650 共有値生成装置
Claims (33)
- 秘密分散システムであって、
分散装置とΣα=1 Lh(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)と取得装置とを有し、
前記分散装置は、
Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1, ζ(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成する秘密分散部を含み、
前記分散管理装置PA(α,h(α))は、
前記部分集合SUB(α)ごとに共有される共通情報と、前記シェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))とに対し、前記部分集合SUB(α)ごとに共通の共通演算を行って分散秘密値DSH(ψ,α,h(α))を生成する分散秘密値生成部を含み、
前記取得装置は、
同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(ψ,α,h(α))を用い、前記秘密分散方式に従った部分集合SUB(α)ごとの復元処理によって、当該部分集合SUB(α)ごとの秘密復元値SUBSK(ψ,α)を生成する復元部と、
前記秘密復元値SUBSK(ψ,α)を用いて生成情報D*(ψ)を生成する合成部とを含む、
秘密分散システム。 - 請求項1の秘密分散システムであって、
互いに異なる前記部分集合SUB(α)でそれぞれ共有される前記共通情報は、互いに独立である、秘密分散システム。 - 請求項1の秘密分散システムであって、
前記共通演算は、線形性を持った演算である、秘密分散システム。 - 請求項2の秘密分散システムであって、
前記共通演算は、線形性を持った演算である、秘密分散システム。 - 請求項1の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項2の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項3の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項4の秘密分散システムであって、
前記合成部は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成する、秘密分散システム。 - 請求項1から8の何れかの秘密分散システムであって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記分散秘密値生成部は、
SHbi *(0,α,h(α))
=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α)))
とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))・g2
をψ=0に対応する前記分散秘密値として生成し、さらに、
SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α)))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))・g2
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
を各λに対応する前記分散秘密値として生成する、
秘密分散システム。 - 請求項1から8の何れかの秘密分散システムであって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)・g2であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記分散秘密値生成部は、
SHbi *(0,α,h(α))
=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α)))
とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))
+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))
をψ=0に対応する前記分散秘密値として生成し、さらに、
SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α)))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
を各λに対応する前記分散秘密値として生成する、秘密分散システム。 - 請求項9の秘密分散システムであって、
前記復元部は、
SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成し、
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成する、秘密分散システム。 - 請求項10の秘密分散システムであって、
前記復元部は、
SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成し、
SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成する、秘密分散システム。 - Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1, ζ(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成する分散装置。
- H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに共有される共通情報と、Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1, ζ(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値をそれぞれ前記部分集合SUB(α)ごとに独立に秘密分散して得られた各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))とに対し、前記部分集合SUB(α)ごとに共通の共通演算を行って分散秘密値DSH(ψ,α,h(α))を生成する分散管理装置。
- Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、H(α)(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合をSUB(α)とした場合における、同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(ψ,α,h(α))を用い、所定の秘密分散方式に従った部分集合SUB(α)ごとの復元処理によって、当該部分集合SUB(α)ごとの秘密復元値SUBSK(ψ,α)を生成する復元部と、
前記秘密復元値SUBSK(ψ,α)を用いて生成情報D*(ψ)を生成する合成部と、
を有する取得装置。 - 分散装置とΣα=1 Lh(α)個の分散管理装置PA(α,h(α))(α=1,...,L, L≧2, h(α)=1,...,H(α), H(α)≧2)と取得装置とによって行われる秘密分散方法であって、
(A) 前記分散装置が、Ψを1以上の整数とし、ψを0以上Ψ以下の整数ψ=0,...,Ψとし、n(ψ)を1以上の整数とし、ζ(ψ)を0以上の整数とし、巡回群G2の生成元をg2とし、θ(ψ,i,β)(i=1,...,n(ψ)+ζ(ψ), β=1,...,n(ψ)+ζ(ψ), n(ψ)≧1, ζ(ψ)≧1)に対する前記巡回群G2のn(ψ)+ζ(ψ)個の元を要素とするn(ψ)+ζ(ψ)次元の基底ベクトルをbi *(ψ)=(θ(ψ,i,1)・g2,...,θ(ψ,i,n(ψ)+ζ(ψ))・g2)∈G2 n(ψ)+ζ(ψ)とした場合における、前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値を、それぞれH(α)個の分散管理装置PA(α,1),...,PA(α,H(α))からなる部分集合SUB(α)ごとに独立に、所定の秘密分散方式に従って秘密分散し、各要素θ(ψ,i,β)・g2に応じた値のシェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))を生成するステップと、
(B) 前記分散管理装置PA(α,h(α))が、前記部分集合SUB(α)ごとに共有される共通情報と、前記シェア情報SH(ψ,i,β,α,h(α))(h(α)=1,...,H(α))とに対し、前記部分集合SUB(α)ごとに共通の共通演算を行って分散秘密値DSH(ψ,α,h(α))を生成するステップと、
(C) 前記取得装置が、同一の前記部分集合SUB(α)に対応する複数の前記分散秘密値DSH(ψ,α,h(α))を用い、前記秘密分散方式に従った部分集合SUB(α)ごとの復元処理によって、当該部分集合SUB(α)ごとの秘密復元値SUBSK(ψ,α)を生成するステップと、
(D) 前記取得装置が、前記秘密復元値SUBSK(ψ,α)を用いて生成情報D*(ψ)を生成するステップと、
を有する秘密分散方法。 - 請求項16の秘密分散方法であって、
互いに異なる前記部分集合SUB(α)でそれぞれ共有される前記共通情報は、互いに独立である、秘密分散方法。 - 請求項16の秘密分散方法であって、
前記共通演算は、線形性を持った演算である、秘密分散方法。 - 請求項17の秘密分散方法であって、
前記共通演算は、線形性を持った演算である、秘密分散方法。 - 請求項16の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項17の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項18の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項19の秘密分散方法であって、
前記ステップ(D)は、前記秘密復元値SUBSK(ψ,α)を線形結合して前記生成情報D*(ψ)を生成するステップを含む、秘密分散方法。 - 請求項16から23の何れかの秘密分散方法であって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記ステップ(B)は、
(B-1) SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α)))
とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))・g2+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))・g2
をψ=0に対応する前記分散秘密値として生成するステップと、
(B-2) SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α)))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))・g2
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))・g2
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))・g2
を各λに対応する前記分散秘密値として生成するステップと、を含む、
秘密分散方法。 - 請求項16から23の何れかの秘密分散方法であって、
前記基底ベクトルbi *(ψ)の各要素θ(ψ,i,β)・g2に応じた値はθ(ψ,i,β)・g2であり、
前記共通情報は、λを1以上Ψ以下の整数λ=1,...,Ψとした場合における、coefι(0,α), coef(λ,α), coefι(λ,α), SE(α), share(λ,α)を含み、
前記ステップ(B)は、
(B-1) SHbi *(0,α,h(α))=(SH(0,i,1,α,h(α)),...,SH(0,i,I,α,h(α)))
とした場合における、
DSH(0,α,h(α))
=-SE(α)・SHb1 *(0,α,h(α))+Σι=2 Icoefι(0,α)・SHbι *(0,α,h(α))
をψ=0に対応する前記分散秘密値として生成するステップと、
(B-2) SHbi *(λ,α,h(α))=(SH(λ,i,1,α,h(α)),...,SH(λ,i,n(λ)+ζ(λ),α,h(α)))
とし、v(λ)→=(v1(λ),...,vn(λ)(λ))をn(λ)次元ベクトルとした場合における、
DSH(λ,α,h(α))
=(share(λ,α)+coef(λ,α)・v1(λ))・SHb1 *(λ,α,h(α))
+Σι=2 n(λ)coef(λ,α)・vι(λ)・SHbι *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
又は、
DSH(λ,α,h(α))
=share(λ,α)・Σι=1 n(λ)vι(λ)・SHb1 *(λ,α,h(α))
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・SHbι *(λ,α,h(α))
を各λに対応する前記分散秘密値として生成するステップと、を含む、
秘密分散方法。 - 請求項24の秘密分散方法であって、
前記ステップ(C)は、
(C-1) SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成するステップと、
(C-2) SUBSK(λ,α)=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成するステップと、を含む、
秘密分散方法。 - 請求項25の秘密分散方法であって、
前記ステップ(C)は、
(C-1) SUBSK(0,α)=-SE(α)・b1 *(0)+Σι=2 Icoefι(0,α)・bι *(0)
をψ=0に対応する前記秘密復元値として生成するステップと、
(C-2) SUBSK(λ,α)
=(share(λ,α)+coef(λ,α)・v1(λ))・b1 *(λ)
+Σι=2 n(λ)coef(λ,α)・vι(λ)・bι *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
又は、
SUBSK(λ,α)=share(λ,α)・Σι=1 n(λ)vι(λ)・b1 *(λ)
+Σι=n(λ)+1 n(λ)+ζ(λ)coefι(λ,α)・bι *(λ)
を各λに対応する前記秘密復元値として生成するステップと、を含む、
秘密分散方法。 - 請求項13の分散装置としてコンピュータを機能させるためのプログラム。
- 請求項14の分散管理装置としてコンピュータを機能させるためのプログラム。
- 請求項15の取得装置としてコンピュータを機能させるためのプログラム。
- 請求項13の分散装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項14の分散管理装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項15の取得装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012525441A JP5379914B2 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
US13/810,509 US8964988B2 (en) | 2010-07-23 | 2011-07-22 | Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, secret sharing method, program and recording medium |
KR1020137000486A KR101456579B1 (ko) | 2010-07-23 | 2011-07-22 | 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체 |
EP11809735.1A 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 |
CN201180035311.6A CN103003857B (zh) | 2010-07-23 | 2011-07-22 | 秘密分散系统、分散装置、分散管理装置、取得装置、秘密分散方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010166407 | 2010-07-23 | ||
JP2010-166407 | 2010-07-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012011565A1 true WO2012011565A1 (ja) | 2012-01-26 |
Family
ID=45496983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/066693 WO2012011565A1 (ja) | 2010-07-23 | 2011-07-22 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8964988B2 (ja) |
EP (1) | EP2562736B1 (ja) |
JP (1) | JP5379914B2 (ja) |
KR (1) | KR101456579B1 (ja) |
CN (1) | CN103003857B (ja) |
WO (1) | WO2012011565A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049644A (zh) * | 2019-10-22 | 2020-04-21 | 贵州财经大学 | 一种基于混淆激励机制的理性公平秘密信息共享方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5814880B2 (ja) * | 2012-07-31 | 2015-11-17 | 三菱電機株式会社 | 暗号システム、暗号方法、暗号プログラム及び復号装置 |
CN102855422B (zh) * | 2012-08-21 | 2015-03-04 | 飞天诚信科技股份有限公司 | 一种盗版加密锁的识别方法和装置 |
KR102084733B1 (ko) * | 2013-05-09 | 2020-03-05 | 삼성전자주식회사 | 파일 분산 관리 장치 및 제어 방법 |
EP3096309B1 (en) * | 2014-01-17 | 2018-10-31 | Nippon Telegraph And Telephone Corporation | Secret calculation method, secret calculation system, sorting device, and program |
US9141814B1 (en) * | 2014-06-03 | 2015-09-22 | Zettaset, Inc. | Methods and computer systems with provisions for high availability of cryptographic keys |
JP6104469B2 (ja) * | 2014-07-02 | 2017-03-29 | 三菱電機株式会社 | 行列生成装置及び行列生成方法及び行列生成プログラム |
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 (ja) * | 2015-07-27 | 2016-11-30 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、およびプログラム |
CN108475483B (zh) * | 2016-01-18 | 2021-07-13 | 日本电信电话株式会社 | 隐匿决定树计算系统、装置、方法以及记录介质 |
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 (zh) * | 2018-05-10 | 2021-02-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
JP7087965B2 (ja) * | 2018-11-29 | 2022-06-21 | 日本電信電話株式会社 | 暗号システム、暗号化装置、復号装置、暗号化方法、復号方法及びプログラム |
JP7452676B2 (ja) * | 2020-09-08 | 2024-03-19 | 日本電信電話株式会社 | 暗号システム、方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198272A (ja) * | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
JP2008098894A (ja) * | 2006-10-11 | 2008-04-24 | Kddi Corp | 情報管理システム、情報管理方法、情報管理プログラム |
JP2010118968A (ja) * | 2008-11-13 | 2010-05-27 | Hiroshima Ichi | 秘密情報分散装置及び秘密情報復元装置 |
WO2010123114A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 |
Family Cites Families (11)
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 (de) * | 1994-07-29 | 2006-02-16 | Canon K.K. | Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens |
JP3604737B2 (ja) * | 1994-07-29 | 2004-12-22 | キヤノン株式会社 | 複数の情報処理装置を有する通信システムにおける秘密情報処理方法及びその通信システム |
US6012159A (en) * | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
DE69940372D1 (de) * | 1999-09-29 | 2009-03-19 | Hitachi Ltd | Vorrichtung, programm oder system zur verarbeitung geheimer informationen |
US7359507B2 (en) * | 2000-03-10 | 2008-04-15 | Rsa Security Inc. | Server-assisted regeneration of a strong secret from a weak secret |
JP4292835B2 (ja) * | 2003-03-13 | 2009-07-08 | 沖電気工業株式会社 | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム |
KR100518687B1 (ko) * | 2003-12-01 | 2005-10-05 | 한국전자통신연구원 | 합성수 차원을 가지는 유한체에서 정의된 타원곡선의상수배 연산 방법 및 그 프로그램을 기록한 컴퓨터로 읽을수 있는 기록매체 |
US7945784B1 (en) * | 2005-08-19 | 2011-05-17 | Adobe Systems Incorporated | Method and system to perform secret sharing |
JP4334582B2 (ja) * | 2007-06-26 | 2009-09-30 | 株式会社東芝 | 秘密分散装置、方法及びプログラム |
US8422681B2 (en) * | 2008-03-06 | 2013-04-16 | International Business Machines Corporation | Non-interactive hierarchical identity-based key-agreement |
-
2011
- 2011-07-22 JP JP2012525441A patent/JP5379914B2/ja active Active
- 2011-07-22 WO PCT/JP2011/066693 patent/WO2012011565A1/ja active Application Filing
- 2011-07-22 EP EP11809735.1A patent/EP2562736B1/en active Active
- 2011-07-22 US US13/810,509 patent/US8964988B2/en active Active
- 2011-07-22 CN CN201180035311.6A patent/CN103003857B/zh active Active
- 2011-07-22 KR KR1020137000486A patent/KR101456579B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10198272A (ja) * | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
JP2008098894A (ja) * | 2006-10-11 | 2008-04-24 | Kddi Corp | 情報管理システム、情報管理方法、情報管理プログラム |
JP2010118968A (ja) * | 2008-11-13 | 2010-05-27 | Hiroshima Ichi | 秘密情報分散装置及び秘密情報復元装置 |
WO2010123114A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 |
Non-Patent Citations (13)
Title |
---|
A. MIYAJI; M. NAKABAYASHI; S.TAKANO: "New explicit conditions of elliptic curve Traces for FR-Reduction", IEICE TRANS. FUNDAMENTALS, vol. E84-A, no. 05, May 2001 (2001-05-01), pages 1234 - 1243, XP001060011 |
A. SHAMIR: "How to Share a Secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, November 1979 (1979-11-01), pages 612 - 613, XP000565227, DOI: doi:10.1145/359168.359176 |
ALFRED. J. MENEZES: "ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS", KLUWER ACADEMIC PUBLISHERS, pages: 61 - 81 |
AMIT SAHAI; BRENT WATERS: "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products", JOURNAL OF CRYPTOLOGY, 2008 |
CHIGUSA KAWASHIMA ET AL.: "Sekifugoka o Riyo shita Kaisoteki na Himitsu Bunsanho no Kento", 2008 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, CD-ROM, THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, 22 January 2008 (2008-01-22), pages 4F1-2, XP008157326 * |
CHIGUSA KAWASHIMA: "A Study on Hierarchical Secret Sharing Schemes Using Product and Concatenated Codes", IEICE TECHNICAL REPORT, vol. 107, no. 209, 31 August 2007 (2007-08-31), pages 17 - 23, XP008164021 * |
HACHIRO FUJITA ET AL.: "Sharing Multilevel Secrets among Groups Using Concatenation of Reed-Solomon Codes", IEICE TECHNICAL REPORT, vol. 108, no. 472, 2 March 2009 (2009-03-02), pages 65 - 70, XP008157322 * |
IAN F. BLAKE; GADIEL SERROUSI; NIGEL P. SMART: "Elliptic Curve Cryptography", PEARSON EDUCATION |
KAORU KUROSAWA; WAKAHA OGATA: "Introduction of Modem Cryptography", March 2004, CORONA PUBLISHING CO., LTD., pages: 116 - 119 |
P. S. L. M. BARRETO; B. LYNN; M. SCOTT: "Proc. SCN '2002, LNCS 2576", 2003, SPRINGER-VERLAG, article "Constructing elliptic curves with prescribed embedding degrees", pages: 257 - 267 |
R. DUPONT; A. ENGE; F. MORAIN, BUILDING CURVES WITH ARBITRARY SMALL MOV DEGREE OVER FINITE PRIME FIELDS, Retrieved from the Internet <URL:http://eprint.iacr.org/2002/094> |
See also references of EP2562736A4 * |
V. S. MILLER, SHORT PROGRAMS FOR FUNCTIONS ON CURVES, 1986, Retrieved from the Internet <URL:<http://crypto.stanford.edu/miller/miller.pdf>> |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049644A (zh) * | 2019-10-22 | 2020-04-21 | 贵州财经大学 | 一种基于混淆激励机制的理性公平秘密信息共享方法 |
CN111049644B (zh) * | 2019-10-22 | 2021-03-23 | 贵州财经大学 | 一种基于混淆激励机制的理性公平秘密信息共享方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2562736A1 (en) | 2013-02-27 |
CN103003857B (zh) | 2015-03-11 |
KR101456579B1 (ko) | 2014-10-31 |
CN103003857A (zh) | 2013-03-27 |
JP5379914B2 (ja) | 2013-12-25 |
KR20130036044A (ko) | 2013-04-09 |
EP2562736A4 (en) | 2015-03-11 |
EP2562736B1 (en) | 2016-06-29 |
US8964988B2 (en) | 2015-02-24 |
US20130114815A1 (en) | 2013-05-09 |
JPWO2012011565A1 (ja) | 2013-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5379914B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 | |
JP5562475B2 (ja) | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム | |
JP5466763B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体 | |
JP5285778B2 (ja) | 関数暗号応用システム及び方法 | |
JP5291795B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体 | |
WO2012132136A1 (ja) | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム | |
JP5612494B2 (ja) | 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11809735 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012525441 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011809735 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20137000486 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13810509 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |