WO2020036127A1 - 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム - Google Patents
秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム Download PDFInfo
- Publication number
- WO2020036127A1 WO2020036127A1 PCT/JP2019/031477 JP2019031477W WO2020036127A1 WO 2020036127 A1 WO2020036127 A1 WO 2020036127A1 JP 2019031477 W JP2019031477 W JP 2019031477W WO 2020036127 A1 WO2020036127 A1 WO 2020036127A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vector
- share
- permutation
- elements
- substitution
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims description 54
- 239000013598 vector Substances 0.000 claims abstract description 806
- 238000000926 separation method Methods 0.000 claims abstract description 27
- 230000008878 coupling Effects 0.000 claims abstract description 26
- 238000010168 coupling process Methods 0.000 claims abstract description 26
- 238000005859 coupling reaction Methods 0.000 claims abstract description 26
- 238000006467 substitution reaction Methods 0.000 claims description 83
- 238000001914 filtration Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 125000001424 substituent group Chemical group 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 125000002924 primary amino group Chemical group [H]N([H])* 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/36—Combined merging and sorting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- 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/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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Definitions
- the present invention relates to a secret calculation technique.
- the present invention particularly relates to a technique for joining two tables while maintaining confidentiality.
- Non-Patent Document 1 As a technique for joining two tables while maintaining confidentiality, for example, a technique described in Non-Patent Document 1 is known. In Non-Patent Document 1, equi-joining in the case of key duplication is realized.
- the present invention provides a secret combination information generation system, a secret combination system, and a method for generating information necessary for joining two tables while maintaining confidentiality faster than the technique of Non-Patent Document 1 when there is no key duplication.
- An object of the present invention is to provide a method, a secure computing device, and a program.
- a secret combination information generation system including a plurality of secret calculation devices, wherein F k and F v are any rings, and ⁇ is any vector or any [ ⁇ ] is a share where ⁇ is secretly shared, m 0 and m 1 are integers equal to or greater than 1, k 0 ⁇ F k m0 is a key vector of the first table, and v 0 ⁇ ⁇ ⁇ F v m0 is a vector of attribute values of the first table, k 1 ⁇ F k m1 is a vector of keys of the second table, v 1 ⁇ F v m1 is a vector of attribute values of the second table, [pi 0, [pi 1 is a predetermined substitution length m 0, m 1, respectively, the plurality of secure computing apparatus, using the share of the vector k 0 [k 0] and share [k 1] vector k 1 a plurality of vector combination portion which generates a vector k
- a plurality of second vectors that generate a share [e] of a vector e having an element and an element next to the element having the same value of 1 if the element is the same and 0 as the element corresponding to the element if the element is different; Using the generation unit and the share [e], if one of the element of the vector e and the element before the certain element is 1, 1 is set, and if not, 0 is set for the certain element.
- a vector e obtained by applying the inverse permutation ⁇ ⁇ 1 of the permutation ⁇ to the vector e ′ using a plurality of fifth vector generation units that calculate the share [ ⁇ ′′] of the vector e ′ and the share [e ′] and the share [ ⁇ ].
- '' -1 ⁇ -1 ( ⁇ ' -1 ( ⁇ '')) and a plurality of second inverse permutation applying units generating a share [ ⁇ ''' -1 ], and a share [ ⁇ ''' -1 ]
- Used, '-1 share from the beginning consists of m 0 pieces of element vectors sigma 0 -1 of [sigma 0 -1], vector sigma' vector sigma '' remaining m 1 pieces of elements of '-1
- share of the vector sigma 0 -1 vector [pi 0 was applied replaced [pi 0 to ( ⁇ 0 -1) [ ⁇ 0
- a secret coupling system including a plurality of secret computation devices, wherein F k and F v are any rings, and ⁇ is any vector or any permutation [ alpha] is the share of alpha is secret sharing, m 0, m 1 is an integer of 1 or more, k 0 ⁇ F k m0 is the vector of the keys of the first table, v 0 ⁇ F v m0 is is a vector of attribute values of the first table, k 1 ⁇ F k m1 is a vector of the key in the second table, v 1 ⁇ F v m1 is a vector of attribute values in the second table, ⁇ 0, ⁇ 1 is a predetermined permutation of lengths m 0 and m 1 , respectively, and a plurality of secret computing devices share the vector k 0 [k 0 ], the vector k 1 share [k 1 ], and the permutation ⁇ 0 share [ [ [
- a secret coupling system including a plurality of secret computation devices, wherein F k and F v are any rings, and ⁇ is any vector or any permutation [ alpha] is the share of alpha is secret sharing, m 0, m 1 is an integer of 1 or more, k 0 ⁇ F k m0 is the vector of the keys of the first table, v 0 ⁇ F v m0 is is a vector of attribute values of the first table, k 1 ⁇ F k m1 is a vector of the key in the second table, v 1 ⁇ F v m1 is a vector of attribute values in the second table, ⁇ 0, ⁇ 1 is a predetermined permutation of lengths m 0 and m 1 , respectively, and a plurality of secret computing devices share the vector k 0 [k 0 ], the vector k 1 share [k 1 ], and the permutation ⁇ 0 share [ [ [
- FIG. 1 is a diagram illustrating a functional configuration of the secret combination system.
- FIG. 2 is a diagram illustrating a functional configuration of a secret calculation device of a secret combination system that performs internal connection.
- FIG. 3 is a diagram exemplifying a processing procedure of a secret combining method of performing an inner join, a secret combining method of performing a left outer join, and a secret combining method of performing a complete outer join.
- FIG. 4 is a diagram exemplifying a processing procedure of the secret combining method for performing the inner combining and the secret combining method for performing the complete outer combining.
- FIG. 5 is a diagram illustrating a processing procedure of a secret combining method for performing left outer combining.
- FIG. 1 is a diagram illustrating a functional configuration of the secret combination system.
- FIG. 2 is a diagram illustrating a functional configuration of a secret calculation device of a secret combination system that performs internal connection.
- FIG. 3 is a diagram exemplifying
- FIG. 6 is a diagram exemplifying a functional configuration of a secret calculation device of a secret combination system that performs a left outer connection.
- FIG. 7 is a diagram exemplifying a functional configuration of a secret calculation device of a secret combination system that performs complete part combination.
- the secret combining system and method performs so-called internal combining. That is, the secret combining system combines records common to the first table and the second table while maintaining confidentiality.
- the secret combining system includes N ( ⁇ 2) secret computing devices 1 1 ,..., 1 N.
- each of the secure computing devices 1 1 ,..., 1 N is connected to the communication network 2.
- the communication network 2 is a circuit-switched or packet-switched communication network configured so that connected devices can communicate with each other.
- the Internet a LAN (Local Area Network), and a WAN (Wide Area Network) And so on. Note that each device does not necessarily need to be able to communicate online via the communication network 2.
- secure computing apparatus 1 1, ..., and stores information to be input to the 1 N in a portable recording medium such as a magnetic tape or a USB memory, secure computing apparatus 1 1 from the portable recording medium, ..., offline to 1 N May be configured to be input.
- a portable recording medium such as a magnetic tape or a USB memory
- the secret calculation device 1 n of the secret combination system includes a vector combination unit 11 n , a first vector generation unit 12 n , a first permutation calculation unit 13 n , a first permutation application unit 14 n , Second vector generation unit 15 n , third vector generation unit 16 n , second permutation calculation unit 17 n , second permutation application unit 18 n , fourth vector generation unit 19 n , fifth vector generation unit 110 n , first Inverse permutation application section 111 n , first vector separation section 112 n , second inverse permutation application section 113 n and second vector separation section 114 n , third permutation application section 115 n , fourth permutation application section 116 n and first and a coupling table generating unit 117 n.
- the secret combining method according to the embodiment is realized by performing the processing of each step.
- the processing of each step is performed by secret calculation. That is, the secret computing device 1 n performs the processing of each step without restoring the share, in other words, without knowing the contents of the share.
- Secure computing apparatus 1 n for example, a central processing unit (CPU: Central Processing Unit), a main memory (RAM: Random Access Memory) special program known or special purpose computer having like are configured read and It is a special device.
- the secret computing device 1 n executes each process under the control of the central processing unit, for example.
- the data input to the secure computing device 1 n and the data obtained in each process are stored in, for example, a main storage device, and the data stored in the main storage device is read out to a central processing unit as needed. Used for other processing.
- At least a part of each component of the secure computing device 1n may be configured by hardware such as an integrated circuit.
- ⁇ is an arbitrary vector or an arbitrary permutation
- [ ⁇ ] is a share in which ⁇ is secretly shared.
- m 0 , m 1 , L 0 , and L 1 are integers of 1 or more. m 0 , m 1 , L 0 , and L 1 may have the same value or different values.
- the first table has m 0 records. Each of the m 0 records has one key and the attribute values of the L 0 attributes. k 0 ⁇ F k m0 is assumed to be a vector of keys of the first table. v 0 ⁇ F v m0 is a vector of attribute values of each attribute in the first table. There is no duplicate key in the first table. If it contains the attribute values of a plurality of attributes in the first table, v 0 may be a vector obtained by connecting the attribute values of a plurality of attributes. For example, the first table has two records and includes attribute values of two attributes.
- [F k, F v] m0 in the superscript of m0 means "m 0".
- the expressions of further superscripts and subscripts may be omitted.
- further superscript and subscript representations may be omitted.
- the second table has one record m.
- Each of the m 1 pieces of record has a one key and the attribute value of one attribute L.
- k 1 ⁇ F k m1 is it assumed to be a vector of keys in the second table. It is assumed that v 1 ⁇ F v m1 is a vector of attribute values of each attribute in the second table. There is no duplicate key in the second table. If it contains the attribute values of a plurality of attributes in the second table, in the same manner as v 0, v 1 can be a vector obtained by connecting the attribute values of a plurality of attributes.
- a vector having a ring as an element is also a ring
- data in which the values of the attributes included in a certain record are arranged can be regarded as a vector, that is, a ring.
- Step S1> Vector combination portion 11 1, ..., a 11 N, the share of the vector k 0 [k 0] and share [k 1] vector k 1 is input.
- Vector combination portion 11 1, ..., 11 N is obtained a [k 0] and by combining the [k 1] [k] ⁇ [F k] m0 + m1.
- the vector combining unit 11 1, ..., 11 N using the share of the vector k 0 [k 0] and share [k 1] vector k 1, combines the vector k 0 and vector k 1 A share [k] of the vector k ⁇ [F k ] m0 + m1 is generated (step S1).
- the generated shared [k] is first substituted calculator 13 1, ..., 13 N and the first replacement application 14 1, ..., and output to 14 N.
- Step S2> The first vector generation units 12 1 ,..., 12 N generate a share [f] of a vector f in which m 0 0s and m 1 1s are combined (step S2).
- the share [f] is output to the first replacement application units 14 1 ,..., 14 N.
- Step S3> The share [k] is input to the first replacement calculators 13 1 ,..., 13 N.
- the first permutation calculation units 13 1 ,..., 13 N generate shares [ ⁇ ] of permutation ⁇ for stably sorting the vector k using the shares [k] (step S3).
- each column (i, j) T of the permutation ⁇ means to move the i-th element of the vector to which the permutation is applied to j-th.
- Stable sorting means that the order of equivalent data before sorting is preserved after sorting.
- the generation of the share [ ⁇ ] of the replacement ⁇ for performing the stable sorting can be realized by, for example, the method of Reference 1.
- Reference 1 Dai Igarashi, Hiroki Hamada, Ryo Kikuchi, Koji Senda, "Design and Implementation of Ultra-Fast Secret Computing Sort: The Day Secret Computing Arranges in Script Language", CSS2017, 2017
- Step S4> First substitution applying section 14 1, ..., a 14 N, Share [k], share [sigma] and shares [f] is input.
- the first permutation application units 14 1 ,..., 14 N use the share [k], the share [ ⁇ ], and the share [f] to share [ ⁇ (k) of the vector ⁇ (k) obtained by applying the substitution ⁇ to the vector k. k)] and a share [ ⁇ (f)] of the vector ⁇ (f) obtained by applying the substitution ⁇ to the vector f (step S4).
- the share [ ⁇ (k)] is output to the second vector generators 15 1 ,..., 15 N.
- the share [ ⁇ (f)] is output to the second replacement application units 18 1 ,..., 18 N.
- the second vector generation units 15 1 ,..., 15 N use the share [ ⁇ (k)] to set 1 when an element of the vector ⁇ (k) and the next element of the element are the same. Otherwise, a share [e] of the vector e having 0 as an element corresponding to the certain element is generated (step S5).
- e n-1 0.
- the share [e] is output to the third vector generation units 16 1 ,..., 16 N.
- Step S6> The share [e] is input to the third vector generators 16 1 ,..., 16 N.
- the third vector generation units 16 1 ,..., 16 N use the share [e] to set 1 when one of the element of the vector e and the element before the element is 1; Generates a share [e '] of a vector e' obtained by bit-inverting each element of the vector having 0 as an element corresponding to the certain element (step S6).
- the share [e '] is output to the second permutation calculators 17 1 ,..., 17 N.
- the vector e (1,0,0,1,0,0,0)
- the vector e ′ (0,0,1,0,0,1,1).
- the second permutation calculators 17 1 ,..., 17 N use the share [e ′] to generate a share [ ⁇ ′] of the permutation ⁇ ′ for stably sorting the vector e ′ (step S7).
- the share [f '] is output to the fourth vector generation units 19 1 ,..., 19 N.
- the fourth vector generation units 19 1 ,..., 19 N use the share [f ′] to calculate each element up to the element corresponding to each element including the element corresponding to that element of the vector f ′.
- the vector s which is the sum of the vector s, and a vector obtained by bit-inverting each element of the vector f ′ as a bit-inverted vector, each element including an element corresponding to each element of the bit-inverted vector.
- a share [s '] of the vector s' which is the sum of the elements up to the element corresponding to the element, is generated (step S9).
- the share [s] and the share [s'] are output to the fifth vector generation units 110 1 ,..., 110 N.
- Step S10> The share [s] and the share [s'] are input to the fifth vector generation units 110 1 ,..., 110 N.
- the share [ ⁇ ′′] is output to the first reverse replacement application units 111 1 ,..., 111 N.
- Step S11 First inverse permutation application unit 111 1, ..., to 111 N, share [e '] and shares [sigma] is input.
- a share [e ′′] of ⁇ 1 (e ′) is generated (step S11).
- the share [e ′′] is output to the first vector separation units 112 1 ,..., 112 N.
- the vector e ′ (0,0,1,0,0,1,1) and the replacement ⁇ is the replacement of the above equation (1)
- the vector e ′′ (0,1, 0,0,0,1,1).
- Step S12> The share [e ′′] is input to the first vector separation units 112 1 ,..., 112 N.
- the first vector separation unit 112 1, ..., 112 N is the share ', a vector e [e'] 'share of the vector g 0 consisting of m 0 pieces of elements from the beginning of the' [g 0], vector e '' to generate the remaining share of the vector g 1 consisting of m 1 five element [g 1] and (step S12).
- the share [g 1 ] is output to.
- Step S13 Second inverse permutation application unit 113 1, ..., to 113 N, Share [sigma] and shares [sigma '] is input.
- the share [ ⁇ ′ ′′ ⁇ 1 ] is output to the second vector separation units 114 1 ,..., 114 N.
- the second vector separation unit 114 1, ..., 114 N may share 'with [-1, vector sigma sigma'']''' -1 from the beginning consists of m 0 pieces of element vectors sigma 0 -1 of the A share [ ⁇ 0 -1 ] and a share [ ⁇ 1 -1 ] of the vector ⁇ 1 -1 composed of the remaining m 1 elements of the vector ⁇ ′ ′′ ⁇ 1 are generated (step S14).
- the share [ ⁇ 1 -1 ] is output to.
- Step S15 Third substituted applying unit 115 1, ..., to 115 N, Share [sigma 1 -1] and substituted [pi 0 Share [[pi 0] and substituted [pi 1 share [[pi 1] is inputted.
- Third substituted applying unit 115 1, ..., 115 N may share [sigma 0 -1], share [sigma 1 -1] and substituted [pi 0 Share [[pi 0] and substituted [pi 1 share [[pi 1] Using the vector ⁇ 0 -1 with the substitution ⁇ 0 applied, the vector ⁇ 0 ( ⁇ 0 -1 ) shares [ ⁇ 0 ( ⁇ 0 -1 )] and the vector ⁇ 1 -1 with the substitution ⁇ 1 applied A share [ ⁇ 1 ( ⁇ 1 -1 )] of the vector ⁇ 1 ( ⁇ 1 -1 ) is generated, and ⁇ 0 ( ⁇ 0 -1 ) and ⁇ 1 ( ⁇ 1 -1 ) are made public (step S 15). ).
- the substitutions ⁇ 0 and ⁇ 1 are predetermined substitutions, for example, random substitutions.
- the permutations ⁇ 0 and ⁇ 1 may be predetermined permutations or may be generated when performing the processing in step S15.
- the permutations ⁇ 0 , ⁇ 1 and their shares [ ⁇ 0 ], [ ⁇ 1 ] can be generated, for example, by the method described in section 4.1 of Reference 1.
- the secret computing device 1 n (1 ⁇ n ⁇ N) has information about the permutations ⁇ 0 , ⁇ 1 and their shares [ ⁇ 0 ], [ ⁇ 1 ], and the permutations ⁇ 0 , ⁇ 1 and these It is assumed that calculation can be performed using the shares [ ⁇ 0 ] and [ ⁇ 1 ].
- ⁇ 1 is a substitution represented by the following formula (4).
- Step S16 Fourth replacement application unit 116 1, ..., to 116 N, the share of the vector k 0 [k 0], share [v 0] of the vector v 0, the share of the vector k 1 [k 1] and share of the vector v 1 [ v 1 ] is input.
- the share [k 0 '], the share [v 0 '], the share [k 1 '], and the share [v 1 '] are output to the first combination table generation units 117 1 ,..., 117 N.
- the substitution ⁇ 0 is a substitution represented by the above formula (3)
- the substitution ⁇ 1 is a substitution represented by the above formula (4)
- Vector k 0 ′ (1,3,2)
- vector v 0 ′ (5,1,10)
- vector k 1 ′′ (1,3,4,5)
- vector v 1 ′′ (2,4,9,8).
- Step S17> The first coupling table generating unit 117 1, ..., to 117 N, share [k 0 '], share [v 0'], share [k 1 '] and shares [v 1'] is input.
- the first coupling table generating unit 117 1, ..., 117 N may share [k 0 '] using share [v 0'], share [k 1 '] and shares [v 1'], the vector g 0 or Assuming that the number of 0 elements of the vector g 1 is c, a vector obtained by extracting c elements from the head of the vector k 0 ′, a vector obtained by extracting c elements from the head of the vector v 0 ′, and a vector k 1 A combination table is created by combining a vector obtained by extracting c elements from the head of 'and a vector obtained by extracting c elements from the head of the vector v 1 ' (step S17).
- the secret coupling system and method performs a so-called left outer coupling. That is, the secret combining system combines records common to the first table and the second table and records existing only in the first table while maintaining confidentiality.
- the secret combination system that performs the left outer join does not include the fourth replacement application unit 116 n and the first connection table generation unit 117 n , but instead includes a filtering unit 118 n , a fifth replacement application unit 119 n , and a second connection table. Except for having the generation unit 120 n , it is the same as the secret combination system that performs the internal combination.
- the secret combining method of performing left outer combining is the same as the secret combining method of performing internal combining except that the processes of steps S16 and S20 are not performed, but the processes of steps S18 and S20 are performed.
- the secret calculation device 1 n of the secret combination system includes a vector combination unit 11 n , a first vector generation unit 12 n , a first replacement calculation unit 13 n , a first replacement application unit 14 n , Second vector generation unit 15 n , third vector generation unit 16 n , second permutation calculation unit 17 n , second permutation application unit 18 n , fourth vector generation unit 19 n , fifth vector generation unit 110 n , first Inverse permutation application section 111 n , first vector separation section 112 n , second inverse permutation application section 113 n and second vector separation section 114 n , third permutation application section 115 n , fourth permutation application section 116 n , first It includes a joining table generating unit 117 n , a filtering unit 118 n , a fifth replacement applying unit 119 n, and a second joining table generating unit 120 n .
- the processing from ⁇ Step S1> to ⁇ Step S15> is performed.
- the processing from ⁇ Step S1> to ⁇ Step S15> is the same as the processing from ⁇ Step S1> to ⁇ Step S15> described in the section of "Secret Combination System and Method for Performing Internal Combination". Is omitted.
- a modified second table is generated in which the elements are the values u1 , v indicating the predetermined sky (step S18).
- the key vector of the modified second table is k 1 ′, and the vector of the attribute values of the modified second table is v 1 ′.
- the modified second table is output to the fifth replacement application section 119 1 ,..., 119 N.
- Step S19> Fifth substituted applying unit 119 1, ..., to 119 N, the share of the vector k 0 [k 0], the share of the vector v 0 [v 0], the share of k 1 'is a vector of a key modification second table [ k 1 share '], modified second table v 1 is a vector of attribute values of' [v 1 '], the share of substituted ⁇ 0 [ ⁇ 0], substituted [pi 1 share [[pi 1], share [[pi 0 ( ⁇ 0 -1 )] and share [ ⁇ 1 ( ⁇ 1 -1 )].
- the share [k 0 '], the share [v 0 '], the share [k 1 ′′], and the share [v 1 ′′] are output to the second combination table generation units 120 1 ,..., 120 N.
- the substitution ⁇ 0 is the substitution represented by the above formula (3)
- Step S20 Second coupling table generation unit 120 1, ..., to 120 N, share [k 0 '], share [v 0'], share [k 1 '] and shares [v 1' '] is input.
- Second coupling table generation unit 120 1, ..., 120 N using the share [k 0 '], share [v 0'], share [k 1 '] and shares [v 1''], m 0 ⁇ If it is m 1 is 'a vector v 0' vector k 0 and, 'and the vector obtained by extracting m 0 pieces of elements from the beginning of the vector v 1' vector k 1 'm 0 pieces from the beginning of the'
- the join table is as follows.
- the join table is as follows.
- the first table and the second table can be left-outside joined while keeping the confidentiality.
- the secret coupling system and method performs a so-called perfect outer coupling.
- this secret combination system joins a record common to the first table and the second table, a record existing only in the first table, and a record existing only in the second table while maintaining confidentiality. .
- the secret coupling system that performs the complete outer coupling is the same as the secret coupling system that performs the internal coupling except that it does not include the first coupling table generating unit 117 n but includes a third coupling table generating unit 121 n. The same is true.
- the secret combining method for performing the complete outer combining is the same as the secret combining method for performing the inner combining except that the processing of step S21 is not performed instead of performing the processing of step S17.
- the secret calculation device 1 n of the secret combination system includes a vector combination unit 11 n , a first vector generation unit 12 n , a first substitution calculation unit 13 n , a first substitution application unit 14 n , Second vector generation unit 15 n , third vector generation unit 16 n , second permutation calculation unit 17 n , second permutation application unit 18 n , fourth vector generation unit 19 n , fifth vector generation unit 110 n , first Inverse permutation application section 111 n , first vector separation section 112 n , second inverse permutation application section 113 n and second vector separation section 114 n , third permutation application section 115 n , fourth permutation application section 116 n and third It has a connection table generation unit 121 n .
- the processing from ⁇ Step S1> to ⁇ Step S16> is performed.
- the processing from ⁇ Step S1> to ⁇ Step S16> is the same as the processing from ⁇ Step S1> to ⁇ Step S16> described in the section of "Secret Combination System and Method for Performing Internal Combination", and therefore, will be redundantly described here. Is omitted.
- step S21 is performed.
- Third coupling table generation unit 121 1, ..., 121 N may share [k 0 '] using share [v 0'], share [k 1 '] and shares [v 1'], the vector g 0 or Assuming that the number of 0 elements of the vector g 1 is c, a vector obtained by extracting c elements from the head of the vector k 0 ′, a vector obtained by extracting c elements from the head of the vector v 0 ′, and a vector k 1 A table (1) in which a vector obtained by extracting c elements from the beginning of 'v' and a vector obtained by extracting c elements from the head of vector v 1 ', and the remaining m 0 -c number of vectors k 0 ' And the values corresponding to the attribute values of the second table and the vector obtained by extracting the remaining m 0 -c elements of the vector v 0 ′ and the attribute values of the second table are defined as values u ′ 1, v indicating a pre
- Step S21 a table that combines the vector (2), the remaining m 1 -c vector v 0 'vector and vector v 1 obtained by extracting the remaining m 0 -c number of elements of' To vectors extracted elements and produce a combined table which combines the table combining the vector has a value u '0, v indicating predetermined empty values corresponding (3) to the attribute value of the first table (Step S21).
- the table from the first line to the second line corresponds to the table (1)
- the table on the third line corresponds to the table (2)
- the table from the fourth to the fifth line corresponds to the table (3).
- Generation unit 15 n third vector generation unit 16 n , second permutation calculation unit 17 n , second permutation application unit 18 n , fourth vector generation unit 19 n , fifth vector generation unit 110 n , first inverse permutation application
- the unit of the unit 111 n , the first vector separation unit 112 n , the second inverse replacement application unit 113 n, the second vector separation unit 114 n , and the third replacement application unit 115 n constitute a secret combined information generation system.
- the secret calculation device 1 n of the secret combination information generation system includes a vector combination unit 11 n , a first vector generation unit 12 n , and a first substitution calculation unit, as indicated by broken lines in FIGS. 13 n , a first permutation application unit 14 n , a second vector generation unit 15 n , a third vector generation unit 16 n , a second permutation calculation unit 17 n , a second permutation application unit 18 n , and a fourth vector generation unit 19 n , A fifth vector generation unit 110 n , a first inverse permutation application unit 111 n , a first vector separation unit 112 n , a second inverse permutation application unit 113 n, a second vector separation unit 114 n , and a third permutation application unit 115 Have.
- the secret combination information generation method is realized by each unit of the secret calculation device 1 n of the secret combination information generation system performing each step from step S1 to step S15.
- the processing from step S1 to step S15 is the same as that described above, and a duplicate description will be omitted.
- Secret binding information generating multiple private connection information generation unit 1 1 of the system, ..., 1 N may share the vector k 0 [k 0], the share of the vector k 1 [k 1], share substituted ⁇ 0 [ ⁇ 0 ] and using the shared [[pi 1] substitution [pi 1, substituted sigma 0 record key is moved to the head side when the vectors of the first tables substituted with sigma 0 to the first table is common to the second table and Share [ ⁇ 0 ( ⁇ 0 -1) ] of inverse permutation sigma 0 -1 vector applying the substituted [pi 0 to ⁇ 0 ( ⁇ 0 -1) of the respective vector in the second table is replaced with a substituent sigma 1
- the share [ ⁇ 1 of the vector ⁇ 1 ( ⁇ 1 -1 ) obtained by applying the substitution ⁇ 1 to the inverse substitution ⁇ 1 -1 of the substitution ⁇ 1 in which the record of the key common to the first table and the second table moves to the head side ( ⁇ 1
- x may be a positive integer of 2 or more
- the key attribute may be a composite key of x attributes.
- the process of step S1 may be performed as follows.
- the keys of the first table are k 0,0 ,..., K 0, x-1 . It is assumed that the keys of the second table are k 1,0 ,..., K 1, x-1 .
- each element of k ′ 0 can be represented by 2 bits.
- (k ′ 0 ) 0 is the lower bit when k ′ 0 is bit-decomposed
- (k ′ 0 ) 1 is the upper bit when k ′ 0 is bit-decomposed.
- each row of the matrix is regarded as a bit representation of a key of one record
- a vector of a bit representation of a key (1, 2, 3, 1, 1, 3, 4, 5) Is obtained.
- This vector may be used as k ′ used in step S2 and subsequent steps. In this way, a composite key can be processed.
- the key duplication is whether or not the key is duplicated in terms of a combination of values of all key attributes. It is assumed that the duplication of the value of each attribute is not regarded as a duplicate. For example, the combinations (1,0) and (1,1) are not overlapping.
- a program describing this processing content can be recorded on a computer-readable recording medium.
- a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
- the distribution of the program is performed by selling, transferring, lending, or the like, a portable recording medium such as a DVD or a CD-ROM on which the program is recorded.
- the program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
- the 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. Then, when executing the processing, the computer reads the program stored in its own storage device and executes the processing according to the read program. As another execution form of the program, the computer may directly read the program from the portable recording medium and execute processing according to the program, and further, the program may be transferred from the server computer to the computer. Each time, the processing according to the received program may be sequentially executed.
- ASP Application ⁇ Service ⁇ Provider
- the program in the present embodiment includes information used for processing by the computer and which is similar to the program (data that is not a direct command to the computer but has characteristics that define the processing of the computer).
- the present apparatus is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
図1を参照して、実施形態の秘密結合システムの構成例を説明する。この秘密結合システム及び方法は、いわゆる内部結合を行うものである。すなわち、この秘密結合システムは、秘匿性を保ちつつ、第一テーブル及び第二テーブルに共通するレコードを結合する。
ベクトル結合部111,…,11Nに、ベクトルk0のシェア[k0]及びベクトルk1のシェア[k1]が入力される。
第一ベクトル生成部121,…,12Nは、m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する(ステップS2)。
第一置換計算部131,…,13Nに、シェア[k]が入力される。
〔参考文献1〕五十嵐大、濱田浩気、菊池亮、千田浩司、「超高速秘密計算ソートの設計と実装:秘密計算がスクリプト言語に並ぶ日」、CSS2017、2017
第一置換適用部141,…,14Nに、シェア[k]、シェア[σ]及びシェア[f]が入力される。
第二ベクトル生成部151,…,15Nに、シェア[σ(k)]が入力される。
第三ベクトル生成部161,…,16Nに、シェア[e]が入力される。
第二置換計算部171,…,17Nに、シェア[e']が入力される。
第二置換適用部181,…,18Nに、シェア[σ(f)]及びシェア[σ']が入力される。
第四ベクトル生成部191,…,19Nに、シェア[f']が入力される。
第五ベクトル生成部1101,…,110Nに、シェア[s]及びシェア[s']が入力される。
第一逆置換適用部1111,…,111Nに、シェア[e']及びシェア[σ]が入力される。
第一ベクトル分離部1121,…,112Nに、シェア[e'']が入力される。
第二逆置換適用部1131,…,113Nに、シェア[σ]及びシェア[σ']が入力される。
第二ベクトル分離部1141,…,114Nに、シェア[σ'''-1]が入力される。
第三置換適用部1151,…,115Nに、シェア[σ1 -1]及び置換π0のシェア[π0]及び置換π1のシェア[π1]が入力される。
第四置換適用部1161,…,116Nに、ベクトルk0のシェア[k0]、ベクトルv0のシェア[v0]、ベクトルk1のシェア[k1]及びベクトルv1のシェア[v1]が入力される。
第一結合テーブル生成部1171,…,117Nに、シェア[k0']、シェア[v0']、シェア[k1']及びシェア[v1']が入力される。
図6を参照して、実施形態の秘密結合システムの構成例を説明する。この秘密結合システム及び方法は、いわゆる左外部結合を行うものである。すなわち、この秘密結合システムは、秘匿性を保ちつつ、第一テーブル及び第二テーブルに共通するレコードと、第一テーブルのみに存在するレコードとを結合する。
フィルタリング部1181,…,118Nに、シェア[g1]、ベクトルk1のシェア[k1]及びベクトルv1のシェア[v1]が入力される。
第五置換適用部1191,…,119Nに、ベクトルk0のシェア[k0]、ベクトルv0のシェア[v0]、変形第二テーブルのキーのベクトルであるk1'のシェア[k1']、変形第二テーブルの属性値のベクトルであるv1'のシェア[v1']、置換π0のシェア[π0]、置換π1のシェア[π1]、シェア[π0(σ0 -1)]及びシェア[π1(σ1 -1)]が入力される。
第二結合テーブル生成部1201,…,120Nに、シェア[k0']、シェア[v0']、シェア[k1']及びシェア[v1'']が入力される。
図7を参照して、実施形態の秘密結合システムの構成例を説明する。この秘密結合システム及び方法は、いわゆる完全外部結合を行うものである。言い換えれば、この秘密結合システムは、秘匿性を保ちつつ、第一テーブル及び第二テーブルに共通するレコードと、第一テーブルのみに存在するレコードと、第二テーブルのみに存在するレコードとを結合する。
第三結合テーブル生成部1211,…,121Nに、シェア[k0']、シェア[v0']、シェア[k1']及びシェア[v1']が入力される。
なお、上記説明した秘密結合システムの秘密計算装置1nの中のベクトル結合部11n、第一ベクトル生成部12n、第一置換計算部13n、第一置換適用部14n、第二ベクトル生成部15n、第三ベクトル生成部16n、第二置換計算部17n、第二置換適用部18n、第四ベクトル生成部19n、第五ベクトル生成部110n、第一逆置換適用部111n、第一ベクトル分離部112n、第二逆置換適用部113n及び第二ベクトル分離部114n、第三置換適用部115nの部分が、秘密結合情報生成システムである。
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
Claims (11)
- 複数の秘密計算装置を含む秘密結合情報生成システムであって、
Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk∈[Fk]m0+m1のシェア[k]を生成する複数のベクトル結合部と、
m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する複数の第一ベクトル生成部と、
上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する複数の第一置換計算部と、
上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する複数の第一置換適用部と、
上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第二ベクトル生成部と、
上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する複数の第三ベクトル生成部と、
上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する複数の第二置換計算部と、
上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する複数の第二置換適用部と、
上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する複数の第四ベクトル生成部と、
上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する複数の第五ベクトル生成部と、
上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ-1を適用したベクトルe''=σ-1(e')のシェア[e'']を生成する複数の第一逆置換適用部と、
上記シェア[e'']を用いて、上記ベクトルe''の先頭からm0個の要素からなるベクトルg0のシェア[g0]と、上記ベクトルe''の残りのm1個の要素からなるベクトルg1のシェア[g1]とを生成する複数の第一ベクトル分離部と、
上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ'''-1=σ-1(σ'-1(σ''))のシェア[σ'''-1]を生成する複数の第二逆置換適用部と、
上記シェア[σ'''-1]を用いて、上記ベクトルσ'''-1の先頭からm0個の要素からなるベクトルσ0 -1のシェア[σ0 -1]と、上記ベクトルσ'''-1の残りのm1個の要素からなるベクトルσ1 -1のシェア[σ1 -1]とを生成する複数の第二ベクトル分離部と、
上記シェア[σ0 -1]、上記シェア[σ1 -1]及び上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記ベクトルσ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記ベクトルσ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]とを生成して、π0(σ0 -1)及びπ1(σ1 -1)を公開する複数の第三置換適用部と、
を含む秘密結合情報生成システム。 - 請求項1の秘密結合情報生成システムの複数の秘密計算装置を含み、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する複数の第四置換適用部と、
上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合した結合テーブルを生成する複数の第一結合テーブル生成部と、
を更に含む秘密結合システム。 - 複数の秘密計算装置を含む秘密結合システムであって、
Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する複数の秘密結合情報生成部と、
上記シェア[g1]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、上記ベクトルg1のi番目の要素をg1,iとして、g1,i=1である場合には、上記第二テーブルのキーのi番目の要素を予め定めた空を示す値u1,kとし、上記第二テーブルの属性のi番目の要素を予め定めた空を示す値u1,vとした変形第二テーブルを生成する複数のフィルタリング部と、
上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記変形第二テーブルのキーのベクトルであるk1'のシェア[k1']、上記変形第二テーブルの属性値のベクトルであるv1'のシェア[v1']、上記置換π0のシェア[π0]、上記置換π1のシェア[π1]、上記シェア[π0(σ0 -1)]及び上記シェア[π1(σ1 -1)]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1''=(π1(σ1 -1))-1(π1(k1'))のシェア[k1'']と、ベクトルv1''=(π1(σ1 -1))-1(π1(v1'))のシェア[v1'']とを計算する複数の第五置換適用部と、
上記シェア[k0']、上記シェア[v0']、上記シェア[k1'']及び上記シェア[v1'']を用いて、m0<m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''の先頭からm0個の要素を抜き出したベクトルと、上記ベクトルv1''の先頭からm0個の要素を抜き出したベクトルとを結合した結合テーブルを、m0>m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''にm0-m1個の予め定めた空を示す値ukの要素を追加したベクトルと、上記ベクトルv1''にm0-m1個の予め定めた空を示す値uvの要素を追加したベクトルとを結合した結合テーブルを生成する複数の第二結合テーブル生成部と、
を含む秘密結合システム。 - 複数の秘密計算装置を含む秘密結合システムであって、
Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する複数の秘密結合情報生成部と、
上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する複数の第四置換適用部と、
上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合したテーブル(1)と、上記ベクトルk0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記第二テーブルの属性値に対応する値を予め定めた空を示す値u'1,vとしたベクトルとを結合したテーブル(2)と、上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv1'の残りm1-c個の要素を抜き出したベクトルと上記第一テーブルの属性値に対応する値を予め定めた空を示す値u'0,vとしたベクトルとを結合したテーブル(3)とを結合した結合テーブルを生成する複数の第三結合テーブル生成部と、
を含む秘密結合システム。 - 請求項3又は4の秘密結合システムであって、
上記複数の秘密計算装置は、
上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk∈[Fk]m0+m1のシェア[k]を生成する複数のベクトル結合部と、
m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する複数の第一ベクトル生成部と、
上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する複数の第一置換計算部と、
上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する複数の第一置換適用部と、
上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する複数の第二ベクトル生成部と、
上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する複数の第三ベクトル生成部と、
上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する複数の第二置換計算部と、
上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する複数の第二置換適用部と、
上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する複数の第四ベクトル生成部と、
上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する複数の第五ベクトル生成部と、
上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ-1を適用したベクトルe''=σ-1(e')のシェア[e'']を生成する複数の第一逆置換適用部と、
上記シェア[e'']を用いて、上記ベクトルe''の先頭からm0個の要素からなるベクトルg0のシェア[g0]と、上記ベクトルe''の残りのm1個の要素からなるベクトルg1のシェア[g1]とを生成する複数の第一ベクトル分離部と、
上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ'''-1=σ-1(σ'-1(σ''))のシェア[σ'''-1]を生成する複数の第二逆置換適用部と、
上記シェア[σ'''-1]を用いて、上記ベクトルσ'''-1の先頭からm0個の要素からなるベクトルσ0 -1のシェア[σ0 -1]と、上記ベクトルσ'''-1の残りのm1個の要素からなるベクトルσ1 -1のシェア[σ1 -1]とを生成する複数の第二ベクトル分離部と、
上記シェア[σ0 -1]、上記シェア[σ1 -1]及び上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記ベクトルσ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記ベクトルσ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]とを生成して、π0(σ0 -1)及びπ1(σ1 -1)を公開する複数の第三置換適用部と、
を更に含む秘密結合システム。 - 請求項1の秘密結合情報生成システム又は請求項2から5の何れかの秘密結合システムの秘密計算装置。
- Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数のベクトル結合部が、上記ベクトルk0のシェア[k0]及び上記ベクトルk1のシェア[k1]を用いて、上記ベクトルk0及び上記ベクトルk1を結合したベクトルk∈[Fk]m0+m1のシェア[k]を生成するベクトル結合ステップと、
複数の第一ベクトル生成部が、m0個の0と、m1個の1とを結合したベクトルfのシェア[f]を生成する第一ベクトル生成ステップと、
複数の第一置換計算部が、上記シェア[k]を用いて、上記ベクトルkを安定ソートする置換σのシェア[σ]を生成する第一置換計算ステップと、
複数の第一置換適用部が、上記シェア[k]、上記シェア[σ]及び上記シェア[f]を用いて、上記ベクトルkに上記置換σを適用したベクトルσ(k)のシェア[σ(k)]と、上記ベクトルfに上記置換σを適用したベクトルσ(f)のシェア[σ(f)]とを生成する第一置換適用ステップと、
複数の第二ベクトル生成部が、上記シェア[σ(k)]を用いて、上記ベクトルσ(k)のある要素とそのある要素の次の要素とが、同じ場合には1を、違う場合には0をそのある要素に対応する要素として持つベクトルeのシェア[e]を生成する第二ベクトル生成ステップと、
複数の第三ベクトル生成部が、上記シェア[e]を用いて、上記ベクトルeのある要素とそのある要素の前の要素の一方が1の場合には1を、そうでない場合には0をそのある要素に対応する要素として持つベクトルの各要素をビット反転させたベクトルe'のシェア[e']を生成する第三ベクトル生成ステップと、
複数の第二置換計算部が、上記シェア[e']を用いて、上記ベクトルe'を安定ソートする置換σ'のシェア[σ']を生成する第二置換計算ステップと、
複数の第二置換適用部が、上記シェア[σ(f)]及び上記シェア[σ']を用いて、上記ベクトルσ(f)に上記置換σ'を適用したベクトルf'=σ'(σ(f))のシェア[f']を生成する第二置換適用ステップと、
複数の第四ベクトル生成部が、上記シェア[f']を用いて、各要素が、上記ベクトルf'のその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルsのシェア[s]と、上記ベクトルf'の各要素をビット反転させたベクトルをビット反転ベクトルとして、各要素が、上記ビット反転ベクトルのその各要素に対応する要素を含むその各要素に対応する要素までの要素の和であるベクトルs'のシェア[s']とを生成する第四ベクトル生成ステップと、
複数の第五ベクトル生成部が、上記シェア[f']、上記シェア[s]及び上記シェア[s']を用いて、ベクトルσ''=f's+(1-f')s'-1のシェア[σ'']を計算する第五ベクトル生成ステップと、
複数の第一逆置換適用部が、上記シェア[e']及び上記シェア[σ]を用いて、上記ベクトルe'に上記置換σの逆置換σ-1を適用したベクトルe''=σ-1(e')のシェア[e'']を生成する第一逆置換適用ステップと、
複数の第一ベクトル分離部が、上記シェア[e'']を用いて、上記ベクトルe''の先頭からm0個の要素からなるベクトルg0のシェア[g0]と、上記ベクトルe''の残りのm1個の要素からなるベクトルg1のシェア[g1]とを生成する第一ベクトル分離ステップと、
複数の第二逆置換適用部が、上記シェア[σ'']、上記シェア[σ]及び上記シェア[σ']を用いて、上記ベクトルxに上記置換σ'の逆置換σ'-1及び上記置換σの逆置換σ-1を適用したベクトルσ'''-1=σ-1(σ'-1(σ''))のシェア[σ'''-1]を生成する第二逆置換適用ステップと、
複数の第二ベクトル分離部が、上記シェア[σ'''-1]を用いて、上記ベクトルσ'''-1の先頭からm0個の要素からなるベクトルσ0 -1のシェア[σ0 -1]と、上記ベクトルσ'''-1の残りのm1個の要素からなるベクトルσ1 -1のシェア[σ1 -1]とを生成する第二ベクトル分離ステップと、
複数の第三置換適用部が、上記シェア[σ0 -1]、上記シェア[σ1 -1]及び上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記ベクトルσ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記ベクトルσ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]とを生成して、π0(σ0 -1)及びπ1(σ1 -1)を公開する第三置換適用ステップと、
を含む秘密結合情報生成方法。 - 請求項7の秘密結合情報生成システムの各ステップと、
複数の第四置換適用部が、上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する第四置換適用ステップと、
複数の第一結合テーブル生成部が、上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合した結合テーブルを生成する第一結合テーブル生成ステップと、
を含む秘密結合方法。 - Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数の秘密結合情報生成部が、上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する秘密結合情報生成ステップと、
複数のフィルタリング部が、上記シェア[g1]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、上記ベクトルg1のi番目の要素をg1,iとして、g1,i=1である場合には、上記第二テーブルのキーのi番目の要素を予め定めた空を示す値u1,kとし、上記第二テーブルの属性のi番目の要素を予め定めた空を示す値u1,vとした変形第二テーブルを生成するフィルタリングステップと、
複数の第五置換適用部が、上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記変形第二テーブルのキーのベクトルであるk1'のシェア[k1']、上記変形第二テーブルの属性値のベクトルであるv1'のシェア[v1']、上記置換π0のシェア[π0]、上記置換π1のシェア[π1]、上記シェア[π0(σ0 -1)]及び上記シェア[π1(σ1 -1)]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1''=(π1(σ1 -1))-1(π1(k1'))のシェア[k1'']と、ベクトルv1''=(π1(σ1 -1))-1(π1(v1'))のシェア[v1'']とを計算する第五置換適用ステップと、
複数の第二結合テーブル生成部が、上記シェア[k0']、上記シェア[v0']、上記シェア[k1'']及び上記シェア[v1'']を用いて、m0<m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''の先頭からm0個の要素を抜き出したベクトルと、上記ベクトルv1''の先頭からm0個の要素を抜き出したベクトルとを結合した結合テーブルを、m0>m1である場合には、上記ベクトルk0'と、上記ベクトルv0'と、上記ベクトルk1''にm0-m1個の予め定めた空を示す値ukの要素を追加したベクトルと、上記ベクトルv1''にm0-m1個の予め定めた空を示す値uvの要素を追加したベクトルとを結合した結合テーブルを生成する第二結合テーブル生成ステップと、
を含む秘密結合方法。 - Fk,Fvは任意の環であり、αを任意のベクトル又は任意の置換として[α]はαが秘密分散されたシェアであり、m0,m1は1以上の整数であり、k0∈Fk m0は第一テーブルのキーのベクトルであり、v0∈Fv m0は上記第一テーブルの属性値のベクトルであり、k1∈Fk m1は第二テーブルのキーのベクトルであり、v1∈Fv m1は上記第二テーブルの属性値のベクトルであり、π0,π1はそれぞれ長さm0,m1の所定の置換であり、
複数の秘密結合情報生成部が、上記ベクトルk0のシェア[k0]、上記ベクトルk1のシェア[k1]、上記置換π0のシェア[π0]及び上記置換π1のシェア[π1]を用いて、上記第一テーブルの各ベクトルを置換σ0で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ0の逆置換σ0 -1に上記置換π0を適用したベクトルπ0(σ0 -1)のシェア[π0(σ0 -1)]と、上記第二テーブルの各ベクトルを置換σ1で置換すると上記第一テーブルと上記第二テーブルに共通するキーのレコードが先頭側に移動する置換σ1の逆置換σ1 -1に上記置換π1を適用したベクトルπ1(σ1 -1)のシェア[π1(σ1 -1)]と、上記第一テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g0,iから構成されるベクトルg0のシェア[g0]と、上記第二テーブルのi番目のレコードが、上記第一テーブルと上記第二テーブルに共通するキーのレコードかどうかを表す値g1,iから構成されるベクトルg1のシェア[g1]と、を生成する秘密結合情報生成ステップと、
複数の第四置換適用部が、上記ベクトルk0のシェア[k0]、上記ベクトルv0のシェア[v0]、上記ベクトルk1のシェア[k1]及び上記ベクトルv1のシェア[v1]を用いて、ベクトルk0'=(π0(σ0 -1))-1(π0(k0))のシェア[k0']と、ベクトルv0'=(π0(σ0 -1))-1(π0(v0))のシェア[v0']と、ベクトルk1'=(π1(σ1 -1))-1(π1(k1'))のシェア[k1']と、ベクトルv1'=(π1(σ1 -1))-1(π1(v1'))のシェア[v1']とを計算する第四置換適用ステップと、
複数の第三結合テーブル生成部が、上記シェア[k0']、上記シェア[v0']、上記シェア[k1']及び上記シェア[v1']を用いて、上記ベクトルg0又は上記ベクトルg1の0の要素の数をcとして、上記ベクトルk0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv0'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルk1'の先頭からc個の要素を抜き出したベクトルと、上記ベクトルv1'の先頭からc個の要素を抜き出したベクトルとを結合したテーブル(1)と、上記ベクトルk0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記第二テーブルの属性値に対応する値を予め定めた空を示す値u'1,vとしたベクトルとを結合したテーブル(2)と、上記ベクトルv0'の残りm0-c個の要素を抜き出したベクトルと上記ベクトルv1'の残りm1-c個の要素を抜き出したベクトルと上記第一テーブルの属性値に対応する値を予め定めた空を示す値u'0,vとしたベクトルとを結合したテーブル(3)とを結合した結合テーブルを生成する第三結合テーブル生成ステップと、
を含む秘密結合方法。 - 請求項6の秘密計算装置の各部としてコンピュータを機能させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2019322591A AU2019322591B2 (en) | 2018-08-13 | 2019-08-08 | Secure joining information generation system, secure joining system, methods therefor, secure computing apparatus and program |
EP19850173.6A EP3839925B1 (en) | 2018-08-13 | 2019-08-08 | Secure joining information generation system, secure joining systems, methods therefor, secure computing apparatus and program |
US17/267,808 US12079363B2 (en) | 2018-08-13 | 2019-08-08 | Secure joining information generation system, secure joining system, methods therefor, secure computing apparatus and program |
CN201980053656.0A CN112567443B (zh) | 2018-08-13 | 2019-08-08 | 秘密联接信息生成系统及方法、秘密联接系统及方法、秘密计算装置、记录介质 |
JP2020537441A JP7067626B2 (ja) | 2018-08-13 | 2019-08-08 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018152413 | 2018-08-13 | ||
JP2018-152413 | 2018-08-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020036127A1 true WO2020036127A1 (ja) | 2020-02-20 |
Family
ID=69525331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/031477 WO2020036127A1 (ja) | 2018-08-13 | 2019-08-08 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US12079363B2 (ja) |
EP (1) | EP3839925B1 (ja) |
JP (1) | JP7067626B2 (ja) |
CN (1) | CN112567443B (ja) |
AU (1) | AU2019322591B2 (ja) |
WO (1) | WO2020036127A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012150379A (ja) * | 2011-01-21 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | マッチングシステム、マッチングシステムの方法、結合装置及びプログラム |
WO2018061800A1 (ja) * | 2016-09-27 | 2018-04-05 | 日本電信電話株式会社 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5480828B2 (ja) * | 2011-01-24 | 2014-04-23 | 日本電信電話株式会社 | 秘密ソートシステム、秘密ソート装置、秘密ソート方法、秘密ソートプログラム |
JP5650630B2 (ja) * | 2011-11-22 | 2015-01-07 | 日本電信電話株式会社 | 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム |
CN104429019B (zh) * | 2012-07-05 | 2017-06-20 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置以及秘密分散方法 |
EP2858297B1 (en) * | 2012-07-05 | 2017-03-01 | Nippon Telegraph And Telephone Corporation | Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program |
JP5907902B2 (ja) * | 2013-01-21 | 2016-04-26 | 日本電信電話株式会社 | 秘密計算による表の等結合システム、方法 |
JP5860557B1 (ja) * | 2015-02-06 | 2016-02-16 | 日本電信電話株式会社 | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム |
CN106452745B (zh) * | 2016-09-27 | 2019-07-02 | 中国农业大学 | 一种秘密数据共享的验证方法及装置 |
-
2019
- 2019-08-08 CN CN201980053656.0A patent/CN112567443B/zh active Active
- 2019-08-08 JP JP2020537441A patent/JP7067626B2/ja active Active
- 2019-08-08 EP EP19850173.6A patent/EP3839925B1/en active Active
- 2019-08-08 WO PCT/JP2019/031477 patent/WO2020036127A1/ja unknown
- 2019-08-08 AU AU2019322591A patent/AU2019322591B2/en active Active
- 2019-08-08 US US17/267,808 patent/US12079363B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012150379A (ja) * | 2011-01-21 | 2012-08-09 | Nippon Telegr & Teleph Corp <Ntt> | マッチングシステム、マッチングシステムの方法、結合装置及びプログラム |
WO2018061800A1 (ja) * | 2016-09-27 | 2018-04-05 | 日本電信電話株式会社 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Non-Patent Citations (2)
Title |
---|
See also references of EP3839925A4 * |
SHIMURA, MASANORI ET AL: "Relational Algebra in Multi-party Protocol to Enable Structual Operationin Secret Shared Databases", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 51, no. 9, 15 September 2010 (2010-09-15), pages 1563 - 1578, XP055350216 * |
Also Published As
Publication number | Publication date |
---|---|
JP7067626B2 (ja) | 2022-05-16 |
EP3839925A1 (en) | 2021-06-23 |
AU2019322591B2 (en) | 2021-12-23 |
AU2019322591A1 (en) | 2021-03-11 |
US12079363B2 (en) | 2024-09-03 |
JPWO2020036127A1 (ja) | 2021-08-10 |
CN112567443B (zh) | 2024-05-14 |
EP3839925B1 (en) | 2023-06-21 |
EP3839925A4 (en) | 2022-05-11 |
CN112567443A (zh) | 2021-03-26 |
US20210182419A1 (en) | 2021-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6973632B2 (ja) | 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム | |
JP6989006B2 (ja) | 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム | |
JP6973633B2 (ja) | 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム | |
JPWO2018061800A1 (ja) | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム | |
WO2020036126A1 (ja) | 秘密結合システム、この方法、秘密計算装置及びプログラム | |
JPWO2019208486A1 (ja) | 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム | |
CN112005287A (zh) | 秘密聚合排名系统、秘密计算装置、秘密聚合排名方法、以及程序 | |
JP6337133B2 (ja) | 非減少列判定装置、非減少列判定方法及びプログラム | |
WO2019221108A1 (ja) | 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム | |
WO2020036127A1 (ja) | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム | |
JP6321216B2 (ja) | 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム | |
JP7081663B2 (ja) | 秘密結合システム、方法、秘密計算装置及びプログラム | |
JP7067624B2 (ja) | 秘密強写像計算システム、これらの方法、秘密計算装置及びプログラム | |
WO2022153383A1 (ja) | 秘密関係代数演算システム、秘密計算装置、秘密関係代数演算方法、およびプログラム | |
WO2019188320A1 (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: 19850173 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020537441 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019322591 Country of ref document: AU Date of ref document: 20190808 Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2019850173 Country of ref document: EP Effective date: 20210315 |