WO2018061800A1 - 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム - Google Patents
秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム Download PDFInfo
- Publication number
- WO2018061800A1 WO2018061800A1 PCT/JP2017/033283 JP2017033283W WO2018061800A1 WO 2018061800 A1 WO2018061800 A1 WO 2018061800A1 JP 2017033283 W JP2017033283 W JP 2017033283W WO 2018061800 A1 WO2018061800 A1 WO 2018061800A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- column
- secret
- element sequence
- sequence
- replacement
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- 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
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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 an equijoining technique for performing equijoining of two tables with a key attribute common to the two tables as a secret while keeping the information contained in the tables secret by secret calculation.
- Non-Patent Document 1 There is a method called a secret calculation as a method for obtaining a calculation result of a specified calculation without restoring an encrypted numerical value (see Non-Patent Document 1, for example).
- encryption is performed such that a plurality of pieces of information capable of restoring numerical values are distributed to three secret computing devices, and addition / subtraction, constant sum, multiplication, constant multiplication,
- the result of logical operation (negation, logical product, logical sum, exclusive logical sum) and data format conversion (integer, binary number) can be kept distributed in three secret computing devices, that is, encrypted. it can.
- the number of distributions is not limited to 3, and can be W (W is a predetermined constant equal to or greater than 3), and a protocol that realizes secret calculation by cooperative calculation by W secret calculation devices is called a multi-party protocol.
- the data is a plurality of attribute values (values corresponding to the attributes.
- the attributes No., height, weight, purchase Of records (each row in the table illustrated in FIG. 1A or FIG. 1B) consisting of a set of specific values “3”, “200”, “100”, “delicious water”, etc. Managed in units of tables consisting of sets.
- Equal join takes multiple tables as shown in Fig. 1A and Fig.
- Non-Patent Document 2 There is a method of Non-Patent Document 2 as a method of realizing equal join of tables by secret calculation. In the method of Non-Patent Document 2, equijoining of a plurality of tables having overlapping key attribute values is realized.
- the multi-party protocol is a method of performing cooperative computation while communicating among multiple parties (participants), and a general system configuration Then, since the time required for communication is significantly longer than the local calculation performed by each party alone, the local calculation can be regarded as negligible. Therefore, the calculation efficiency is evaluated using a measure of the amount of data communicated (communication amount).
- Non-Patent Document 2 if the number of rows of two tables to be joined is m and ⁇ n, and the maximum number of overlapping elements of the key attributes to be joined is k, O (k (m + n) log (m + n)) is required, and there is a problem that more communication is required between servers that store data concealed when performing equal coupling.
- the key attribute “No.” may appear again and again like the attribute “purchased product” in FIG. 1B, the value of k becomes large and the problem becomes obvious. Will be.
- the present invention provides an equijoining technique for generating one table that is kept secret from two tables that are kept secret while keeping the information contained in the table secret by secret calculation while reducing the traffic. With the goal.
- Z N is a finite ring composed of a set of integers from 0 to N (N is an integer of 1 or more), m and n are integers of 1 or more, a and b are integers of 2 or more, p i (1 ⁇ i ⁇ m), v i, j (1 ⁇ i ⁇ m, 2 ⁇ j ⁇ a), q i (1 ⁇ i ⁇ n), u i, j (1 ⁇ i ⁇ n, 2 ⁇ j ⁇ b) is an element of a non-zero finite ring Z N , [[x]] is a secret value of x ⁇ Z N , ⁇ > is a substitution ⁇ by secret calculation, and three or more secrets, etc.
- a secret coupling system that generates a table J of n rows a + b-1 columns from a table L of m rows and a columns and a table R of n rows and b columns, each of which is composed of a coupling device and whose elements are concealed.
- the equal coupling from two tables is a diagram illustrating an example of generating one table (FIG Table L s to be inputted).
- the equal coupling from two tables is a diagram illustrating an example of generating one table (FIG tables R s input). It is a figure (diagram of the table J output) which shows the example which produces
- FIG. 3 is a diagram (a diagram of an output table J) showing two tables that are inputs and one table that is an output of the secret coupling algorithm of the first embodiment. It is a figure which shows the process sequence of the secret etc. coupling
- 2 is a block diagram showing a configuration of a secret coupling system 10.
- FIG. Is a block diagram showing the configuration of a secret such coupling device 100
- i. 4 is a flowchart showing an operation of the secret coupling system 10. It is a figure which shows the process sequence of the secret etc. coupling
- the secret combination algorithm which will be described later, is constructed by a combination of existing secret computation operations.
- the operations required by these secret etc. combining algorithms are concealment and restoration, addition, multiplication, prefix sum, substitution, reverse substitution, and stable sorting. Before explaining each operation, the necessary definitions and notation are explained.
- [[x]] be a value (secret text) where x ⁇ Z N is concealed by encryption or secret sharing. Also, x is referred to as [[x]] plaintext.
- [[X]] + [[y]] is added by secret calculation, [[x]], [[y]] are input, and [[x + y]] is output.
- [[X]] ⁇ [[y]] is multiplication by secret calculation, [[x]], [[y]] are input, and [[x ⁇ y]] is output.
- PrefixSum [[x 1 ]], .., [[x n ]] finds an element sequence called a prefix sum from an element sequence ([[x 1 ]], .., [[x n ]]) This is an operation, and details will be described later.
- ⁇ > represents replacement ⁇ by secret calculation. Details will be described later.
- [[[ ⁇ ([[f]])]] represents an element string obtained by replacing the element string [[f]] with the replacement ⁇ .
- Sort [[x 1 ]], .., [[x n ]]) takes an element sequence ([[x 1 ]], .., [[x n ]]) as input and sets the replacement ⁇ > Represents a stable sort to output.
- x ⁇ Z N is distributed among a plurality of (for example, three) secret values
- [[x]] is a plurality of secret values x i (i ⁇ ⁇ 1,2,3 ⁇ ).
- Participants X, Y, and Z have a part of secret value x i (i ⁇ ⁇ 1,2,3 ⁇ ) assigned to each person, but secret value x i (i ⁇ ⁇ 1 , 2,3 ⁇ ). For example, it is assumed that participant X has set ⁇ x 2 , x 3 ⁇ , participant Y has set ⁇ x 1 , x 3 ⁇ , and participant Z has set ⁇ x 1 , x 2 ⁇ . .
- the method of Gennaro et al. (Reference Non-Patent Document 3) can be used. This method requires communication between participants in a multi-party protocol.
- Reference Non-Patent Document 2 Ben-Or, M., Goldwasser, S. and Wigderson, A., “Completeness theorems for non-cryptographic fault-tolerant distributed computation”, Proceedings of the twentieth annual ACM symposium on Theory of computing, ACM, pp. 1-10, 1988.
- Prefix-sum For a plurality of ordered elements (element sequence), an operation for obtaining the sum of a certain element and all the elements that have appeared so far, and the resulting element sequence are called a prefix sum. That is, element rows ([[x 1]], .., [[x n]]) when a given element sequence with y i obtained by the following formula ([[y 1]], .. , [[y n ]]).
- this operation is represented as ([[y 1 ]], .., [[y n ]]) ⁇ PrefixSum ([[x 1 ]], .., [[x n ]]).
- the prefix sum does not require communication between participants in the multi-party protocol.
- the method of Igarashi et al. can be used.
- Reference Non-Patent Document 4 University of Igarashi, Hiroki Hirota, Ryo Kikuchi, Koji Chida, “Improvement of secret calculation radix sort for statistical processing of 1 second of Internet environment response”, Symposium on Cryptography and Information Security (SCIS) 2014, IEICE, 2014.
- the replacement ⁇ XY is a replacement shared only by the participant X and the participant Y and is not notified to the participant Z.
- Participant Z obtains a concealment element sequence after replacement by ⁇ XY by redistribution from participant X and participant Y.
- the replacements ⁇ YZ and ⁇ ZX and any participant does not know the replacement. Therefore, the replacement ⁇ > by the secret calculation can be executed without all the participants knowing the correspondence.
- the replacement ⁇ > can be regarded as duplicate secret sharing (reference non-patent document 5) that is divided into replacements ⁇ XY , ⁇ YZ , and ⁇ ZX and whose application order is determined.
- This is a generalization of Shuta et al. (Reference Non-Patent Document 6) in which ⁇ is a random replacement, and the communication cost is linear with respect to the input size.
- Reference Non-Patent Document 5 Ito, M., Saito, A. and Nishizeki, T., “Secret sharing scheme realizing general access structure”, Electronics and Communications in Japan (Part III: Fundamental Electronic Science), Vol.72, No.9, pp.56-64, 1989.
- An example of the secret calculation method is the method of Igarashi et al. (Reference non-patent document 4).
- the output by stable sorting for the element sequence ([[x 1 ]], .., [[x n ]]) is the replacement ⁇ >, and ⁇ > ⁇ Sort ([[x 1 ]], .. , [[x n ]]).
- the two tables to be joined are L and R, respectively (see FIGS. 2A and 2B).
- the size of the table is m rows and a columns in table L and n rows and b columns in table R (m and n are integers of 1 or more, and a and b are integers of 2 or more).
- Tables L and R both have key attribute values in the first column, ([[p 1 ]], .., [[p m ]]), ([[q 1 ]], .., [[q n ]]).
- Tables L and R have attribute values other than key attribute values in the second and subsequent columns, and attribute values of i rows and j columns are [[v i, j ]] (1 ⁇ i ⁇ m, 2 ⁇ j ⁇ a) , [[U i, j ]] (1 ⁇ i ⁇ n, 2 ⁇ j ⁇ b).
- L plain and R plain Tables composed of elements obtained by returning the elements of the tables L and R to the plaintext before concealment (hereinafter also referred to as plaintext elements) are denoted as L plain and R plain , respectively. It is assumed that there is no element with the same value in the element column (p 1 , .., p m ) of the key attribute value of table L plain (that is, p 1 , .., p m are different from each other), and table R plain It is assumed that duplicate values may exist in the element sequence (q 1 , .., q n ) of the key attribute value of.
- the plaintext elements p i (1 ⁇ i ⁇ m), v i, j (1 ⁇ i ⁇ m, 2 ⁇ j ⁇ a), q i (1 ⁇ i ⁇ n), u of all input elements Let i, j (1 ⁇ i ⁇ n, 2 ⁇ j ⁇ b) be a value on the finite ring Z N whose value is not zero. If there is a possibility that the plaintext element contains 0, pre-processing is performed so as not to become 0 by adding and subtracting uniformly, for example. In addition, when there is a possibility that the plaintext element is a value other than the value on the finite ring Z N such as a character string, preprocessing is performed so that the value is on the finite ring Z N.
- the table to be output is J (see FIG. 2C).
- step 1 element strings ([[p 1 ]], .., [[p m ]], [[q 1 ]], generated from the key attribute values of the two input tables L and R, .., [[q n ]], [[p 1 ]], .., [[p m ]]) are generated to perform the permutation ⁇ >.
- the replacement ⁇ > is a replacement that rearranges the following element row in the first row in the order of the second row.
- 1st to 3rd elements from the left, 4th to 7th, 8th to 10th from the left of the element column in the first row are the key attribute values of the table L s , the key attribute values of the table R s , and the table L s respectively. This is the key attribute value.
- the processing is performed using the column “weight”.
- the plaintext element string of the element string [[f]] is as follows when the values 100, 19, and 85 of the column “weight” are used.
- the element string ([0], [0], [0], [0]) is a plaintext element string of ([0]], .., [[0]]). ([[100, [[19, [[85, [0], [0], [0], [0], -100]], -19]], -85]])
- the plaintext element sequence of the element sequence [[g ']] obtained by the prefix sum is as follows. ([[100, [100], 0]], [[19, 0]], [0], [[85, [85], [85], 0]])
- the plain text [[x is copied to [y] corresponding to the value of the column in Table L.
- z]] is a guard in programming, indicating the end point where the value of [[x is copied.
- the value of the second row of Table J which is the value of the row that has not been joined, is [0] in plain text.
- the processing from Step 9 to Step 13 is obtained by applying the processing from Step 3 to Step 7 to a virtual column in which all the values of the columns in Table L are [[1]]. Specifically, it is as follows.
- the plaintext element sequence of the element sequence [[f1]] is as follows. ([[1, [[1, [[1, [0], [0], [0], [0], -1]], -1]], -1]])
- join result element column ([[e 1 ]], .., [[e n ]]) is an element column indicating whether or not there is a row to be joined to the table L with respect to the row of the table R.
- the processing from steps 14 to 21 uses the join result element sequence ([[e 1 ]],..., [[E n ]]) to set the values of the rows not joined in the table R to [[0]]. It is a process to make.
- the processing that requires communication in the secret coupling algorithm of the first embodiment is a single stable sort of length 2m + n in step 1 and a replacement of length 2m + n in steps 4 and 10.
- the reverse permutation of length 2m + n in step 6 and step 12 is combined a times, and the multiplication in step 16 and step 20 is bn times.
- the communication cost of the stable sort is calculated by Oda et al. (Reference non-patent document 6).
- permutation and inverse permutation are linear with respect to input, Since a constant amount of communication is required at one time, and the number of columns a and b in each table can be regarded as a constant, the amount of communication is O ((m + n ) log (m + n)).
- FIG. 5 is a block diagram showing the configuration of the secret coupling system 10.
- the secret coupling system 10 includes W (W is a predetermined integer of 3 or more) secret coupling apparatuses 100 1 ,..., 100 W.
- the secret coupling devices 100 1 ,..., 100 W are connected to the network 800 and can communicate with each other.
- the network 800 may be, for example, a communication network such as the Internet or a broadcast communication path.
- FIG. 6 is a block diagram showing a configuration of the secret coupling device 100 i (1 ⁇ i ⁇ W).
- FIG. 7 is a flowchart showing the operation of the secret coupling system 10.
- the secret coupling device 100 i includes a first replacement generation unit 110 i , a first column generation unit 120 i , a combination result element sequence generation unit 130 i, and a second column generation unit 140 i . , A third row generation unit 150 i and a recording unit 190 i .
- Each component of the secret coupling device 100 i excluding the recording unit 190 i performs operations necessary for the secret coupling algorithm, that is, at least concealment, restoration, addition, multiplication, prefix sum, substitution, inverse substitution, and stability. Among the sorts, it is configured so that operations necessary for realizing the function of each component can be executed.
- the recording unit 190 i is a component that records information necessary for processing of the secret coupling device 100 i .
- the secret coupling system 10 implements a secret coupling algorithm that is a multi-party protocol. Therefore, the first replacement generation unit 110 (not shown) of the secret coupling system 10 includes first replacement generation units 110 1 ,..., 110 W , and the first column generation unit 120 (not shown).
- the first column generating unit 120 1, ..., 120 W is constituted by the coupling result element train generating means 130 (not shown) is coupled result element string generation unit 130 1, ..., is composed of 130 W
- the generation means 140 (not shown) is composed of the second row generation units 140 1 ,..., 140 W
- the third row generation means 150 (not shown) is the third row generation units 150 1 ,. Consists of W.
- the secret coupling system 10 receives a table L of m rows and a columns in which each element is concealed and a table R of n rows and b columns as inputs, and performs a secret coupling of the tables L and R to n rows a + Generate Table J in column b-1 (see FIG. 2C).
- a table L of m rows and a columns in which each element is concealed and a table R of n rows and b columns as inputs and performs a secret coupling of the tables L and R to n rows a + Generate Table J in column b-1 (see FIG. 2C).
- FIG. 2C Generate Table J
- the first permutation generation means 110 includes the first column ([[p 1 ]], .., [[p m ]]) of the table L and the first column ([[q 1 ]],. [[q n ]]) generated element sequence ([[p 1 ]], .., [[p m ]], [[q 1 ]], .., [[q n ]], [[ p 1 ]],.., [[p m ]]) are stably sorted to generate a replacement ⁇ > (S110). This corresponds to step 1 of the secret coupling algorithm in FIG.
- the element sequence [[g]] [[ ⁇ ([[f]])]] is generated from the element sequence [[f]] using the replacement ⁇ >.
- the element string [[g1]] [[ ⁇ ([[f1]]]]]]] is generated from the element string [[f1]] using the replacement ⁇ >.
- the element string [[g1 ']] PrefixSum ([[g1]]) is generated by calculating the prefix sum of the element string [[g1]].
- the element sequence [[f1 ′]] [[ ⁇ ⁇ 1 ([[g1 ′]]]]]]]]]]]] is generated from the element sequence [[g1 ′]] using the inverse permutation ⁇ ⁇ 1 >.
- the key attribute values of two tables to be joined together are arranged by a predetermined method, and the key generated in one table is used as a result of performing stable sorting on the element sequence. Even when there is an overlap in attribute values, it is possible to combine them equally.
- the maximum number of overlapping elements is k, and one element is replaced with k pieces of non-overlapping information, but this replacement is not necessary, so servers that are required for equi-joining in a state where data is concealed
- the amount of communication between them can be reduced. Specifically, it is possible to reduce the amount of communication necessary for equal coupling to O ((m + n) log (m + n)), where m and n are the number of rows in two tables that are equally coupled. Further, it is not necessary to know the maximum number of overlapping elements of key attributes to be combined, which is necessary in the prior art.
- the secret coupling system that realizes the input and output of the secret coupling algorithm, the processing procedure, the processing cost, and the secret coupling algorithm of the second embodiment will be described below.
- Table J ' in which the rows of Table J are rearranged, is the output.
- Table J ′ is a table in which the rows in which all elements are [[0]] in the rows of Table J are moved down.
- the i-th row (1 ⁇ i ⁇ n) is ([[q'' i ]], [[v'' i, 2 ]], .., [[v'' i, a ]] , [[u '' i, 2 ]], .., [[u '' i, b ]]).
- [[q '' i ]] is a key attribute value or [[0]], [[v '' i, 2 ]], .., [[v '' i, a ]] are joined from table L Or a-1 [[0]], [[u '' i, 2 ]], .., [[u '' i, b ]] are joined rows from table R or b- This is one [[0]] (see FIG. 8).
- FIG. 8 shows a secret coupling algorithm of the second embodiment.
- Step 1 a replacement ⁇ ⁇ > is generated by stably sorting the join result element string ([[e 1 ]],... [[E n ]]).
- the replacement ⁇ ⁇ > is the plaintext element sequence ([1], [0], [1] of the join result element sequence ([[e 1 ]], .., [[e n ]]) of the first embodiment.
- [1]) is a replacement that rearranges the following element row in the order of the second row. (Line 1) ([1], [0], [1], [1]) (Second line) ([1], [1], [1], [0])
- step 7 using the substitution ⁇ ⁇ >, the jth column of table J ([[u'1 , j-a + 1 ]], .., [[u'n , j-a + 1 ]])
- step 2 step 4, and step 7, the rows whose elements are all [[0]] are moved down, and the table J 'is output. Therefore, the table J ′ (plain text) as an output result is as shown in FIG.
- the communication cost by the secret coupling algorithm of the second embodiment is O (nlog (n)) necessary for stable sorting.
- FIG. 10 is a block diagram showing a configuration of the secret coupling device 200 i (1 ⁇ i ⁇ W).
- FIG. 11 is a flowchart showing the operation of the secret coupling system 20.
- the secret coupling device 200 i is different from the secret coupling device 100 i in that it further includes a second substitution generation unit 260 i and a row rearrangement unit 270 i .
- the second replacement generation unit 260 i and the row rearrangement unit 270 i are also configured to be able to execute an operation necessary for realizing the function among operations required for the secret combination algorithm. .
- Second substituted generating unit 260 and the second substituent generation unit 260 1 of the secret such binding systems 20, ..., is composed of 260 W, the line rearranging section 270 row reordering unit 270 1, ..., and a 270 W .
- the secret coupling system 20 receives an m-row a-column table L in which each element is concealed and an n-row b-column table R as inputs, and n-row a + b- A table J ′ having n rows and a + b ⁇ 1 columns is generated from the table J having one column.
- the operation of the secret coupling system 20 will be described with reference to FIG. Since the processing from S110 to S150 is the same as that of the secret coupling system 10, S260 and S270 will be described.
- the second permutation generation means 260 generates permutation ⁇ ⁇ > by stably sorting the join result element string ([[e 1 ]],... [[E n ]]) (S260). This corresponds to step 1 of the secret coupling algorithm in FIG.
- the entire communication cost is O ((m + n) log (m + n)). can do.
- the table J ′ output by the secret coupling algorithm of the second embodiment includes a row that has not been combined as a row in which all elements are [[0]]. However, when the number of joined rows may be known to the participant, only the rows that are joined and moved up from the table J ′ may be output.
- a secret coupling algorithm of the third embodiment that outputs a table including only the joined rows will be described.
- a secret coupling system that realizes the input and output of the secret coupling algorithm, the processing procedure, the processing cost, and the secret coupling algorithm of the third embodiment will be described below.
- FIG. 12 shows a secret coupling algorithm according to the third embodiment.
- step 1 the sum [[c]] of each element of the join result element string ([[e 1 ]],... [[E n ]]) is calculated in order to count the joined rows.
- step 2 c obtained by restoring [[c]] obtained in step 1 is disclosed, and a table J ′′ is generated by extracting c rows from the table J ′.
- the communication cost by the secret coupling algorithm of the third embodiment is only a constant amount O (1) necessary for one disclosure.
- the secret coupling system 30 includes W secret coupling devices 300 1 ,..., 300 W instead of including W (W is a predetermined integer of 3 or more) secret coupling devices 200 1 ,. Is different from the secret coupling system 20 in that FIG. 14 is a block diagram showing a configuration of the secret coupling device 300 i (1 ⁇ i ⁇ W). FIG. 15 is a flowchart showing the operation of the secret coupling system 30.
- the secret coupling device 300 i is different from the secret coupling device 200 i in that it further includes a combined row number calculation unit 380 i and a combined row number disclosure unit 390 i .
- the combined row number calculation unit 380 i and the combined row number disclosure unit 390 i are also configured so as to be able to execute operations necessary for realizing the function among operations necessary for the secret combination algorithm. Yes.
- Bond line number counting section 380 is coupled line number calculation unit 380 1 of the secret such binding systems 30, ..., 380 W is constituted by the coupling line number publishing section 390 coupled line number revealer 390 1, ..., constituted by 390 W Is done.
- the secret coupling system 30 receives an m-row a-column table L in which each element is concealed and an n-row b-column table R as inputs, and n-row a + b- Generate table j 'with n rows and a + b-1 columns from table J with 1 column, and delete rows from table J' with all elements [[0]], so that c rows a + b- Generate a single-column table J ''.
- the operation of the secret coupling system 30 will be described with reference to FIG. Since the processing from S110 to S270 is the same as that of the secret coupling system 20, S380 and S390 will be described.
- the combined row number calculation means 380 calculates the sum [[c]] of each element of the combined result element string ([[e 1 ]],... [[E n ]]) (S380). This corresponds to step 1 of the secret coupling algorithm in FIG.
- the combined row number disclosing means 390 publishes c obtained by restoring [[c]], and generates a table J ′′ in which c rows are extracted from the table J ′ (S390). This corresponds to step 2 of the secret coupling algorithm in FIG.
- the entire communication cost can be executed with O ((m + n) log (m + n)). it can.
- the apparatus of the present invention includes, for example, a single hardware entity as an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity.
- a communication unit a CPU (Central Processing Unit, may include a cache memory or a register), a RAM or ROM that is a memory, an external storage device that is a hard disk, and an input unit, an output unit, or a communication unit thereof ,
- the hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM.
- a physical entity having such hardware resources includes a general-purpose computer.
- the external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device). Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
- each program stored in an external storage device or ROM or the like
- data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate.
- the CPU realizes a predetermined function (respective component requirements expressed as the above-described unit, unit, etc.).
- the processing functions in the hardware entity (the device of the present invention) described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.
- the program describing the processing contents 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.
- a magnetic recording device a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
- this program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
- a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads the program stored in its own recording medium and executes the process according to the read 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. Each time, the processing according to the received program may be executed sequentially.
- 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 a processing function only by an execution instruction and result acquisition. It is good.
- the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
- the hardware entity is configured by executing a predetermined program on the computer.
- a predetermined program on the computer.
- at least a part of these processing contents may be realized in hardware.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
ZNを0からNまでの整数の集合(Nは1以上の整数)とする。つまり、ZN={0,..,N}であり、ZNは有限環をなす。
[秘匿化と復元]
x∈ZNから[[x]]を求める方法(秘匿化)、[[x]]からx∈ZNを求める方法(復元)としては、具体的には、千田らの手法(非特許文献1)やShamirの手法(参考非特許文献1)がある。
(参考非特許文献1)Shamir, A., “How to share a secret”, Communications of the ACM, Vol.22, No.11, pp.612-613, 1979.
加算は、a, b∈ZNの[[a]], [[b]]が与えられたとき、c=a+bとなる[[c]]を秘匿した状態で求めるアルゴリズムである。具体的には、Ben-Orらの手法(参考非特許文献2)が知られており、マルチパーティプロトコルにおける参加者間の通信は不要である。
(参考非特許文献2)Ben-Or, M., Goldwasser, S. and Wigderson, A., “Completeness theorems for non-cryptographic fault-tolerant distributed computation”, Proceedings of the twentieth annual ACM symposium on Theory of computing, ACM, pp. 1-10, 1988.
(参考非特許文献3)Gennaro, R., Rabin, M. O. and Rabin, T., “Simplied VSS and fast-track multiparty computations with applications to threshold cryptography”, Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing, ACM, pp.101-111, 1998.
順序立てられた複数の要素(要素列)に対して、ある要素とそれまでに現れたすべての要素との和を求める操作およびその結果の要素列をプリフィックスサムと呼ぶ。すなわち、要素列([[x1]],.., [[xn]])が与えられたとき、次式で求められるyiを用いて要素列([[y1]],.., [[yn]])を求める操作である。
順序立てられた要素を並べ替える操作、その写像を置換と呼ぶ。例えば、(1, 2, 3)を(3, 1, 2)に並べ替える操作は、σ(1)=3, σ(2)=1, σ(3)=2を満たす写像σによる置換とみなされる。写像の性質から複数の置換を合成できる。すなわち、置換σ, πに対して合成置換σ・πは要素xをσ(π(x))に写す。
(参考非特許文献4)五十嵐大,濱田浩気,菊池亮,千田浩司,“インターネット環境レスポンス1秒の統計処理を目指した,秘密計算基数ソートの改良”,暗号と情報セキュリティシンポジウム(SCIS)2014,電子情報通信学会,2014.
(参考非特許文献5)Ito, M., Saito, A. and Nishizeki, T., “Secret sharing scheme realizing general access structure”, Electronics and Communications in Japan (Part III: Fundamental Electronic Science), Vol.72, No.9, pp.56-64, 1989.
(参考非特許文献6)濱田浩気,五十嵐大,千田浩司,高橋克巳,“3パーティ秘匿関数計算上のランダム置換プロトコル”,コンピュータセキュリティシンポジウム(CSS)2010,情報処理学会コンピュータセキュリティ研究会,2010.
置換は全単射であるため、逆写像を持つ。そこで、ある置換σの逆写像を逆置換と呼び、σ-1で表す。すなわち、σ(x)=yのとき、σ-1(y)=xである。特に、σ-1・σは恒等置換と呼ばれる順序を変えない置換である。
同じ要素の順序関係が保存される並べ替えを安定ソートという。すなわち、(x1,.., xn)を(y1,.., yn)に並べ替える安定ソートσにおいてxi=xjのときσ(xi)=yu, σ(xj)=yvとすると、i<jのときのみu<vとなる。
第一実施形態の秘密等結合アルゴリズムの入力、出力、処理手順、処理コスト、秘密等結合アルゴリズムを実現する秘密等結合システムについて、以下説明していく。
結合する2つの表をそれぞれL, Rとする(図2A及び図2B参照)。表の大きさは表Lがm行a列、表Rがn行b列とする(m, nは1以上の整数、a, bは2以上の整数)。表L, Rはともにキー属性値を1列目に持ち、それぞれ([[p1]],.., [[pm]]),([[q1]],.., [[qn]])とする。表L, Rはキー属性値以外の属性値を2列目以降に持ち、i行j列の属性値をそれぞれ[[vi,j]](1≦i≦m, 2≦j≦a),[[ui,j]] (1≦i≦n, 2≦j≦b)とする。
出力する表をJとする(図2C参照)。表Jは、i行目(1≦i≦n)が([[q’i]], [[v’i,2]],.., [[v’i,a]], [[u’i,2]],.., [[u’i,b]])となるn行からなる表であり、表Rplainのキー属性値qiと同じ値が表Lplainのキー属性値の要素列(p1,.., pm)の中に存在しないときは、i行目の値はすべて0、すなわち、2≦α≦a, 2≦β≦bについて、q’i=0, v’i,α=0, u’i,β=0となる。一方、表Rplainのキー属性値qiに対してqi=pjとなる表Lplainのキー属性値pjが存在するときは、q’i=qi, v’i,α=vj,α, u’i,β=ui,βとなる。
図3に示す第一実施形態の秘密等結合アルゴリズムの処理手順について説明する。その際、図3の左端の数字を用いてステップ1、ステップ2等と表現することにする。また、アルゴリズムの挙動が分かりやすくなるように、m=3, a=3, n=4, b=2として図1Aの表Ls, 図1Bの表Rsの値を図2Aの表L, 図2Bの表Rに代入して説明する。つまり、平文の状態で説明する。
(1行目)([[3, [[5, [[9, [3], [7], [9], [9], 3]], 5]], 9]])
(2行目)([[3, [3], 3]], [[5, 5]], [7], [[9, [9], [9], 9]])
([[100, [[19, [[85, [0], [0], [0], [0], -100]], -19]], -85]])
ステップ5では、要素列[[g]]のプリフィックスサムを計算することにより、要素列[[g’]]=PrefixSum([[g]])を生成する。
([[100, [100], 0]], [[19, 0]], [0], [[85, [85], [85], 0]])
この手順により表Lの列の値に対応する平文[[xが[y]にコピーされていることがわかる。
また、z]]はプログラミングにおける番兵であり、[[xの値がコピーされる終端を示している。
([[100, [[19, [[85, [100], [0], [85], [85], 0]], 0]], 0]])
([[1, [[1, [[1, [0], [0], [0], [0], -1]], -1]], -1]])
([[1, [0], -1]], [[1, -1]], [0], [[1, [0], [0], -1]])
([[1, [1], 0]], [[1, 0]], [0], [[1, [1], [1], 0]])
([[1, [[1, [[1, [1], [0], [1], [1], 0]], 0]], 0]])
第一実施形態の秘密等結合アルゴリズムの中で通信が必要となる処理は、ステップ1における長さ2m+nの安定ソートが1回、ステップ4及びステップ10における長さ2m+nの置換が合わせてa回、同様にステップ6及びステップ12における長さ2m+nの逆置換が合わせてa回、ステップ16及びステップ20における乗算がbn回である。
以下、図5~図7を参照して第一実施形態の秘密等結合システム10について説明する。図5は、秘密等結合システム10の構成を示すブロック図である。秘密等結合システム10は、W個(Wは3以上の所定の整数)の秘密等結合装置1001、…、100Wを含む。秘密等結合装置1001、…、100Wは、ネットワーク800に接続しており、相互に通信可能である。ネットワーク800は、例えば、インターネットなどの通信網あるいは同報通信路などでよい。図6は、秘密等結合装置100i(1≦i≦W)の構成を示すブロック図である。図7は、秘密等結合システム10の動作を示すフローチャートである。
(1) 表Lの第j列([[v1,j]],.., [[vm,j]]) と[[0]]をn個並べた要素列([[0]],.., [[0]])を用いて要素列[[f]]=([[v1,j]],.., [[vm,j]], [[0]],.., [[0]], [[-v1,j]],.., [[-vm,j]])を生成する。
(2) 置換<σ>を用いて要素列[[f]]から要素列[[g]]=[[σ([[f]])]]を生成する。
(3) 要素列[[g]]のプリフィックスサムを計算することにより、要素列[[g’]]=PrefixSum([[g]])を生成する。
(4) 置換<σ>の逆置換<σ-1>を用いて要素列[[g’]]から要素列[[f’]]=[[σ-1([[g’]])]]を生成する。
(5) 要素列[[f’]]の第m+1要素から第m+n要素までの部分要素列([[f’m+1]],.., [[f’m+n]])を取り出し、表Jの第j列([[v’1,j]],.., [[v’n,j]])=([[f’m+1]],.., [[f’m+n]])を生成する。
(1) m個の[[1]]からなる要素列([[1]],.., [[1]])とn個の[[0]]からなる要素列([[0]],.., [[0]])を用いて要素列[[f1]]=([[1]],.., [[1]], [[0]],.., [[0]], [[-1]],.., [[-1]])を生成する。
(2) 置換<σ>を用いて要素列[[f1]]から要素列[[g1]]=[[σ([[f1]])]]を生成する。
(3) 要素列[[g1]]のプリフィックスサムを計算することにより、要素列[[g1’]]=PrefixSum([[g1]])を生成する。
(4) 逆置換<σ-1>を用いて要素列[[g1’]]から要素列[[f1’]]=[[σ-1([[g1’]])]]を生成する。
(5) 要素列[[f1’]]の第m+1要素から第m+n要素までの部分要素列([[f1’m+1]],.., [[f1’m+n]])を取り出し、結合結果要素列([[e1]],.., [[en]])=([[f1’m+1]],.., [[f1’m+n]])を生成する。
(1) 結合結果要素列([[e1]],.., [[en]])と表Rの第j-a+1列([[u1,j-a+1]],.., [[um,j-a+1]])を用いて表Jの第j列([[u’1,j-a+1]],.., [[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],.., [[en]]×[[un,j-a+1]])を生成する。
第一実施形態の秘密等結合アルゴリズムが出力する表Jは、入力した表Rの行の順序が保たれたまま、結合されなかった表Rの行の各要素がすべて[[0]]となっている(図4の表J(平文)では0となっている)。このため、表Jを復元した際に、入力した表Rの何行目が結合されなかったのかが分かってしまう。この問題を解決するために、第一実施形態の秘密等結合アルゴリズムを実行後、結合した行を表の上に寄せる処理を実行する第二実施形態の秘密等結合アルゴリズムについて説明する。
第一実施形態の秘密等結合アルゴリズムにおける結合結果要素列([[e1]],.., [[en]])と出力結果である表Jが入力となる。
表Jの行を並び替えた表J’が出力となる。表J’は、表Jの行の中ですべての要素が[[0]]となる行を下に寄せた表となる。
第二実施形態の秘密等結合アルゴリズムを図8に示す。
(1行目)([1], [0], [1], [1])
(2行目)([1], [1], [1], [0])
第二実施形態の秘密等結合アルゴリズムによる通信コストは、安定ソートに必要なO(nlog(n))である。
以下、図10~図11を参照して第二実施形態の秘密等結合システム20について説明する。秘密等結合システム20は、W個(Wは3以上の所定の整数)の秘密等結合装置1001、…、100Wを含む代わりに、W個の秘密等結合装置2001、…、200Wを含む点において秘密等結合システム10と異なる。図10は、秘密等結合装置200i(1≦i≦W)の構成を示すブロック図である。図11は、秘密等結合システム20の動作を示すフローチャートである。
第二実施形態の秘密等結合アルゴリズムが出力する表J’は、結合しなかった行をすべての要素が[[0]]である行として含んだものとなっている。しかし、結合した行の数が参加者に知られてもよい場合、表J’の中から結合し上に寄せた行だけを出力することとしてもよい。第二実施形態の秘密等結合アルゴリズムを実行後、結合した行のみを含む表を出力する第三実施形態の秘密等結合アルゴリズムについて説明する。
第一実施形態の秘密等結合アルゴリズムにおける結合結果要素列([[e1]],.., [[en]])と第二実施形態の秘密等結合アルゴリズムの出力結果である表J’が入力となる。
表J’の行の中ですべての要素が[[0]]となる行を表J’から削除した表が出力となる表J’’となる。
第三実施形態の秘密等結合アルゴリズムを図12に示す。
第三実施形態の秘密等結合アルゴリズムによる通信コストは、1回の公開に必要な定数量 O(1)のみである。
以下、図14~図15を参照して第三実施形態の秘密等結合システム30について説明する。秘密等結合システム30は、W個(Wは3以上の所定の整数)の秘密等結合装置2001、…、200Wを含む代わりに、W個の秘密等結合装置3001、…、300Wを含む点において秘密等結合システム20と異なる。図14は、秘密等結合装置300i(1≦i≦W)の構成を示すブロック図である。図15は、秘密等結合システム30の動作を示すフローチャートである。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Claims (8)
- ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
3個以上の秘密等結合装置で構成され、各要素が秘匿されているm行a列の表L、n行b列の表Rからn行a+b-1列の表Jを生成する秘密等結合システムであって、
前記表Lの第1列([[p1]],.., [[pm]])、前記表Rの第1列([[q1]],.., [[qn]])から生成される要素列([[p1]],.., [[pm]],[[q1]],.., [[qn]], [[p1]],.., [[pm]])を安定ソートすることで置換<σ>を生成する第一置換生成手段と、
j=2,.., aに対して、
(1) 前記表Lの第j列([[v1,j]],.., [[vm,j]])と[[0]]をn個並べた要素列([[0]],.., [[0]])を用いて要素列[[f]]=([[v1,j]],.., [[vm,j]], [[0]],.., [[0]], [[-v1,j]],.., [[-vm,j]])を生成し、
(2) 前記置換<σ>を用いて前記要素列[[f]]から要素列[[g]]=[[σ([[f]])]]を生成し、
(3) 前記要素列[[g]]のプリフィックスサムを計算することにより、要素列[[g’]]=PrefixSum([[g]])を生成し、
(4) 前記置換<σ>の逆置換<σ-1>を用いて前記要素列[[g’]]から要素列[[f’]]=[[σ-1([[g’]])]]を生成し、
(5) 前記要素列[[f’]]の第m+1要素から第m+n要素までの部分要素列([[f’m+1]],.., [[f’m+n]])を取り出し、前記表Jの第j列([[v’1,j]],.., [[v’n,j]])=([[f’m+1]],.., [[f’m+n]])を生成することにより、前記表Jの第2列から第a列を生成する第一列生成手段と、
(1) m個の[[1]]からなる要素列([[1]],.., [[1]])とn個の[[0]]からなる要素列([[0]],.., [[0]])を用いて要素列[[f1]]=([[1]],.., [[1]], [[0]],.., [[0]], [[-1]],.., [[-1]])を生成し、
(2) 前記置換<σ>を用いて前記要素列[[f1]]から要素列[[g1]]=[[σ([[f1]])]]を生成し、
(3) 前記要素列[[g1]]のプリフィックスサムを計算することにより、要素列[[g1’]]=PrefixSum([[g1]])を生成し、
(4) 前記逆置換<σ-1>を用いて前記要素列[[g1’]]から要素列[[f1’]]=[[σ-1([[g1’]])]]を生成し、
(5) 前記要素列[[f1’]]の第m+1要素から第m+n要素までの部分要素列([[f1’m+1]],..,[[f1’m+n]])を取り出し、結合結果要素列([[e1]],.., [[en]])=([[f1’m+1]],.., [[f1’m+n]])を生成する結合結果要素列生成手段と、
j=a+1,.., a+b-1に対して、前記結合結果要素列([[e1]],.., [[en]])と前記表Rの第j-a+1列([[u1,j-a+1]],.., [[um,j-a+1]])を用いて前記表Jの第j列([[u’1,j-a+1]],.., [[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],.., [[en]]×[[un,j-a+1]])を生成することにより、前記表Jの第a+1列から第a+b-1列を生成する第二列生成手段と、
前記結合結果要素列([[e1]],.., [[en]])と前記表Rの第1列([[q1]],.., [[qn]])を用いて前記表Jの第1列([[q’1]],.., [[q’n]])=([[e1]]×[[q1]],.., [[en]]×[[qn]])を生成する第三列生成手段と、
を含む秘密等結合システム。 - ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
3個以上の秘密等結合装置で構成され、各要素が秘匿されているm行a列の表L、n行b列の表Rから請求項1に記載の秘密等結合システムを用いてn行a+b-1列の表J’を生成する秘密等結合システムであって、
前記結合結果要素列([[e1]],.., [[en]])を安定ソートすることで置換<σ~>を生成する第二置換生成手段と、
前記置換<σ~>を用いて、前記表Jの第1列([[q’1]],.., [[q’n]])から前記表J’の第1列([[q’’1]],.., [[q’’n]])=[[σ~([[q’1]],.., [[q’n]])]]を生成し、j=2,.., aに対して前記表Jの第j列([[v’1,j]],.., [[v’n,j]])から前記表J’の第j列([[v’’1,j]],.., [[v’’n,j]])=[[σ~([[v’1,j]],.., [[v’n,j]])]]を生成し、j=a+1,.., a+b-1に対して前記表Jの第j列([[u’1,j-a+1]],.., [[u’n,j-a+1]])から前記表J’の第j列([[u’’1,j-a+1]],.., [[u’’n,j-a+1]])=[[σ~([[u’1,j-a+1]],.., [[u’n,j-a+1]])]]を生成する行並び替え手段と、
を含む秘密等結合システム。 - ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
3個以上の秘密等結合装置で構成され、各要素が秘匿されているm行a列の表L、n行b列の表Rから請求項2に記載の秘密等結合システムを用いてc行a+b-1列の表J’’を生成する秘密等結合システムであって、
前記結合結果要素列([[e1]],.., [[en]])の各要素の和[[c]]を計算する結合行数計算手段と、
前記和[[c]]を復元して得られる前記cを公開、前記表J’の上からc行を抽出した前記表J’’を生成する結合行数公開手段と、
を含む秘密等結合システム。 - ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
各要素が秘匿されているm行a列の表L、n行b列の表Rからn行a+b-1列の表Jを生成する3個以上の秘密等結合装置で構成される秘密等結合システムの中の秘密等結合装置であって、
前記表Lの第1列([[p1]],.., [[pm]])、前記表Rの第1列([[q1]],.., [[qn]])から生成される要素列([[p1]],.., [[pm]],[[q1]],.., [[qn]], [[p1]],.., [[pm]])を安定ソートすることで置換<σ>を生成するための第一置換生成部と、
j=2,.., aに対して、
(1) 前記表Lの第j列([[v1,j]],.., [[vm,j]])と[[0]]をn個並べた要素列([[0]],.., [[0]])を用いて要素列[[f]]=([[v1,j]],.., [[vm,j]], [[0]],.., [[0]], [[-v1,j]],.., [[-vm,j]])を生成し、
(2) 前記置換<σ>を用いて前記要素列[[f]]から要素列[[g]]=[[σ([[f]])]]を生成し、
(3) 前記要素列[[g]]のプリフィックスサムを計算することにより、要素列[[g’]]=PrefixSum([[g]])を生成し、
(4) 前記置換<σ>の逆置換<σ-1>を用いて前記要素列[[g’]]から要素列[[f’]]=[[σ-1([[g’]])]]を生成し、
(5) 前記要素列[[f’]]の第m+1要素から第m+n要素までの部分要素列([[f’m+1]],.., [[f’m+n]])を取り出し、前記表Jの第j列([[v’1,j]],.., [[v’n,j]])=([[f’m+1]],.., [[f’m+n]])を生成することにより、前記表Jの第2列から第a列を生成するための第一列生成部と、
(1) m個の[[1]]からなる要素列([[1]],.., [[1]])とn個の[[0]]からなる要素列([[0]],.., [[0]])を用いて要素列[[f1]]=([[1]],.., [[1]], [[0]],.., [[0]], [[-1]],.., [[-1]])を生成し、
(2) 前記置換<σ>を用いて前記要素列[[f1]]から要素列[[g1]]=[[σ([[f1]])]]を生成し、
(3) 前記要素列[[g1]]のプリフィックスサムを計算することにより、要素列[[g1’]]=PrefixSum([[g1]])を生成し、
(4) 前記逆置換<σ-1>を用いて前記要素列[[g1’]]から要素列[[f1’]]=[[σ-1([[g1’]])]]を生成し、
(5) 前記要素列[[f1’]]の第m+1要素から第m+n要素までの部分要素列([[f1’m+1]],..,[[f1’m+n]])を取り出し、結合結果要素列([[e1]],.., [[en]])=([[f1’m+1]],.., [[f1’m+n]])を生成するための結合結果要素列生成部と、
j=a+1,.., a+b-1に対して、前記結合結果要素列([[e1]],.., [[en]])と前記表Rの第j-a+1列([[u1,j-a+1]],.., [[um,j-a+1]])を用いて前記表Jの第j列([[u’1,j-a+1]],.., [[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],.., [[en]]×[[un,j-a+1]])を生成することにより、前記表Jの第a+1列から第a+b-1列を生成するための第二列生成部と、
前記結合結果要素列([[e1]],.., [[en]])と前記表Rの第1列([[q1]],.., [[qn]])を用いて前記表Jの第1列([[q’1]],.., [[q’n]])=([[e1]]×[[q1]],.., [[en]]×[[qn]])を生成するための第三列生成部と、
を含む秘密等結合装置。 - ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
3個以上の秘密等結合装置で構成され、第一置換生成手段と第一列生成手段と結合結果要素列生成手段と第二列生成手段と第三列生成手段とを含む秘密等結合システムを用いて、各要素が秘匿されているm行a列の表L、n行b列の表Rからn行a+b-1列の表Jを生成する秘密等結合方法であって、
前記第一置換生成手段が、前記表Lの第1列([[p1]],.., [[pm]])、前記表Rの第1列([[q1]],.., [[qn]])から生成される要素列([[p1]],.., [[pm]],[[q1]],.., [[qn]], [[p1]],.., [[pm]])を安定ソートすることで置換<σ>を生成する第一置換生成ステップと、
前記第一列生成手段が、j=2,.., aに対して、
(1) 前記表Lの第j列([[v1,j]],.., [[vm,j]])と[[0]]をn個並べた要素列([[0]],.., [[0]])を用いて要素列[[f]]=([[v1,j]],.., [[vm,j]], [[0]],.., [[0]], [[-v1,j]],.., [[-vm,j]])を生成し、
(2) 前記置換<σ>を用いて前記要素列[[f]]から要素列[[g]]=[[σ([[f]])]]を生成し、
(3) 前記要素列[[g]]のプリフィックスサムを計算することにより、要素列[[g’]]=PrefixSum([[g]])を生成し、
(4) 前記置換<σ>の逆置換<σ-1>を用いて前記要素列[[g’]]から要素列[[f’]]=[[σ-1([[g’]])]]を生成し、
(5) 前記要素列[[f’]]の第m+1要素から第m+n要素までの部分要素列([[f’m+1]],.., [[f’m+n]])を取り出し、前記表Jの第j列([[v’1,j]],.., [[v’n,j]])=([[f’m+1]],.., [[f’m+n]])を生成することにより、前記表Jの第2列から第a列を生成する第一列生成ステップと、
前記結合結果要素列生成手段が、
(1) m個の[[1]]からなる要素列([[1]],.., [[1]])とn個の[[0]]からなる要素列([[0]],.., [[0]])を用いて要素列[[f1]]=([[1]],.., [[1]], [[0]],.., [[0]], [[-1]],.., [[-1]])を生成し、
(2) 前記置換<σ>を用いて前記要素列[[f1]]から要素列[[g1]]=[[σ([[f1]])]]を生成し、
(3) 前記要素列[[g1]]のプリフィックスサムを計算することにより、要素列[[g1’]]=PrefixSum([[g1]])を生成し、
(4) 前記逆置換<σ-1>を用いて前記要素列[[g1’]]から要素列[[f1’]]=[[σ-1([[g1’]])]]を生成し、
(5) 前記要素列[[f1’]]の第m+1要素から第m+n要素までの部分要素列([[f1’m+1]],..,[[f1’m+n]])を取り出し、結合結果要素列([[e1]],.., [[en]])=([[f1’m+1]],.., [[f1’m+n]])を生成する結合結果要素列生成ステップと、
前記第二列生成手段が、j=a+1,.., a+b-1に対して、前記結合結果要素列([[e1]],.., [[en]])と前記表Rの第j-a+1列([[u1,j-a+1]],.., [[um,j-a+1]])を用いて前記表Jの第j列([[u’1,j-a+1]],.., [[u’n,j-a+1]])=([[e1]]×[[u1,j-a+1]],.., [[en]]×[[un,j-a+1]])を生成することにより、前記表Jの第a+1列から第a+b-1列を生成する第二列生成ステップと、
前記第三列生成手段が、前記結合結果要素列([[e1]],.., [[en]])と前記表Rの第1列([[q1]],.., [[qn]])を用いて前記表Jの第1列([[q’1]],.., [[q’n]])=([[e1]]×[[q1]],.., [[en]]×[[qn]])を生成する第三列生成ステップと、
を実行する秘密等結合方法。 - ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
3個以上の秘密等結合装置で構成され、第一置換生成手段と第一列生成手段と結合結果要素列生成手段と第二列生成手段と第三列生成手段と第二置換生成手段と行並び替え手段とを含む秘密等結合システムを用いて、各要素が秘匿されているm行a列の表L、n行b列の表Rからn行a+b-1列の表J’を生成する秘密等結合方法であって、
請求項5に記載の秘密等結合方法により、前記表Lと前記表Rから前記表Jを生成した後、
前記第二置換生成手段が、前記結合結果要素列([[e1]],.., [[en]])を安定ソートすることで置換<σ~>を生成する第二置換生成ステップと、
前記行並び替え手段が、前記置換<σ~>を用いて、前記表Jの第1列([[q’1]],.., [[q’n]])から前記表J’の第1列([[q’’1]],.., [[q’’n]])=[[σ~([[q’1]],.., [[q’n]])]]を生成し、j=2,.., aに対して前記表Jの第j列([[v’1,j]],.., [[v’n,j]])から前記表J’の第j列([[v’’1,j]],.., [[v’’n,j]])=[[σ~([[v’1,j]],.., [[v’n,j]])]]を生成し、j=a+1,.., a+b-1に対して前記表Jの第j列([[u’1,j-a+1]],.., [[u’n,j-a+1]])から前記表J’の第j列([[u’’1,j-a+1]],.., [[u’’n,j-a+1]])=[[σ~([[u’1,j-a+1]],.., [[u’n,j-a+1]])]]を生成する行並び替えステップと、
を実行する秘密等結合方法。 - ZNを0からNまでの整数の集合(Nは1以上の整数)からなる有限環、m, nを1以上の整数、a, bを2以上の整数、pi(1≦i≦m, ただし、p1,.., pmは互いに異なる),vi,j(1≦i≦m,2≦j≦a),qi(1≦i≦n),ui,j(1≦i≦n, 2≦j≦b)を0でない有限環ZNの要素とし、
[[x]]をx∈ZNを秘匿した値、<π>を秘密計算による置換πを示すものとし、
3個以上の秘密等結合装置で構成され、第一置換生成手段と第一列生成手段と結合結果要素列生成手段と第二列生成手段と第三列生成手段と第二置換生成手段と行並び替え手段と結合行数計算手段と結合行数公開手段とを含む秘密等結合システムを用いて、各要素が秘匿されているm行a列の表L、n行b列の表Rからc行a+b-1列の表J’’を生成する秘密等結合方法であって、
請求項6に記載の秘密等結合方法により、前記表Lと前記表Rから前記表J’を生成した後、
前記結合行数計算手段が、前記結合結果要素列([[e1]],.., [[en]])の各要素の和[[c]]を計算する結合行数計算ステップと、
前記結合行数公開手段が、前記和[[c]]を復元して得られる前記cを公開、前記表J’の上からc行を抽出した前記表J’’を生成する結合行数公開ステップと、
を実行する秘密等結合方法。 - 請求項1ないし3のいずれか1項に記載の秘密等結合システムを構成する秘密等結合装置としてコンピュータを機能させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2017338060A AU2017338060B2 (en) | 2016-09-27 | 2017-09-14 | Secure equijoin system, secure equijoin device, secure equijoin method, and program |
US16/330,212 US11250004B2 (en) | 2016-09-27 | 2017-09-14 | Secure equijoin system, secure equijoin device, secure equijoin method, and program |
JP2018542380A JP6605746B2 (ja) | 2016-09-27 | 2017-09-14 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
EP17855756.7A EP3522137B1 (en) | 2016-09-27 | 2017-09-14 | Secure equijoin system, secure equijoin device, secure equijoin method, and program |
CN201780058429.8A CN109791741B (zh) | 2016-09-27 | 2017-09-14 | 秘密等值连接系统、连接装置、连接方法、记录介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016187782 | 2016-09-27 | ||
JP2016-187782 | 2016-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018061800A1 true WO2018061800A1 (ja) | 2018-04-05 |
Family
ID=61760429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/033283 WO2018061800A1 (ja) | 2016-09-27 | 2017-09-14 | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US11250004B2 (ja) |
EP (1) | EP3522137B1 (ja) |
JP (1) | JP6605746B2 (ja) |
CN (1) | CN109791741B (ja) |
AU (1) | AU2017338060B2 (ja) |
WO (1) | WO2018061800A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019244756A1 (ja) * | 2018-06-20 | 2019-12-26 | 日本電信電話株式会社 | 秘密結合システム、方法、秘密計算装置及びプログラム |
WO2020036127A1 (ja) * | 2018-08-13 | 2020-02-20 | 日本電信電話株式会社 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
WO2023276142A1 (ja) | 2021-07-02 | 2023-01-05 | 日本電信電話株式会社 | 秘密等結合装置、秘密等結合方法、およびプログラム |
EP3839923B1 (en) * | 2018-08-13 | 2023-11-22 | Nippon Telegraph And Telephone Corporation | Secret strong mapping calculation system, method therefor, secret calculation device, and program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014139640A (ja) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算による表の等結合システム、方法 |
WO2016114309A1 (ja) * | 2015-01-15 | 2016-07-21 | 日本電信電話株式会社 | 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457000B1 (en) * | 1999-07-29 | 2002-09-24 | Oracle Corp. | Method and apparatus for accessing previous rows of data in a table |
US9021259B2 (en) * | 2010-09-28 | 2015-04-28 | Nec Corporation | Encrypted database system, client terminal, encrypted database server, natural joining method, and program |
US9043310B2 (en) * | 2011-11-08 | 2015-05-26 | International Business Machines Corporation | Accessing a dimensional data model when processing a query |
JP5765244B2 (ja) * | 2012-01-11 | 2015-08-19 | 富士通株式会社 | テーブル処理装置、テーブル処理方法、及びプログラム |
JP5689845B2 (ja) * | 2012-03-26 | 2015-03-25 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
CN103377260B (zh) * | 2012-04-28 | 2017-05-31 | 阿里巴巴集团控股有限公司 | 一种网络日志url 的分析方法及装置 |
US9069987B2 (en) * | 2013-06-21 | 2015-06-30 | International Business Machines Corporation | Secure data access using SQL query rewrites |
CN103823834B (zh) * | 2013-12-03 | 2017-04-26 | 华为技术有限公司 | 一种哈希连接算子间数据传递的方法及装置 |
CN103678589B (zh) * | 2013-12-12 | 2017-02-01 | 用友网络科技股份有限公司 | 一种基于等价类的数据库内核查询优化方法 |
EP3096309B1 (en) * | 2014-01-17 | 2018-10-31 | Nippon Telegraph And Telephone Corporation | Secret calculation method, secret calculation system, sorting device, and program |
-
2017
- 2017-09-14 JP JP2018542380A patent/JP6605746B2/ja active Active
- 2017-09-14 WO PCT/JP2017/033283 patent/WO2018061800A1/ja unknown
- 2017-09-14 EP EP17855756.7A patent/EP3522137B1/en active Active
- 2017-09-14 US US16/330,212 patent/US11250004B2/en active Active
- 2017-09-14 AU AU2017338060A patent/AU2017338060B2/en active Active
- 2017-09-14 CN CN201780058429.8A patent/CN109791741B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014139640A (ja) * | 2013-01-21 | 2014-07-31 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算による表の等結合システム、方法 |
WO2016114309A1 (ja) * | 2015-01-15 | 2016-07-21 | 日本電信電話株式会社 | 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム |
Non-Patent Citations (2)
Title |
---|
CHIDA, KOKI ET AL.: "An Equijoin Algorithm Based Non-unique Key Columns for Secure Multi-party Computation", THE 32ND SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 20 January 2015 (2015-01-20), pages 1 - 6, XP009517229 * |
See also references of EP3522137A4 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11797540B2 (en) | 2018-06-20 | 2023-10-24 | Nippon Telegraph And Telephone Corporation | Secret joining system, method, secret calculation apparatus and program |
CN112313728A (zh) * | 2018-06-20 | 2021-02-02 | 日本电信电话株式会社 | 秘密结合系统、方法、秘密计算装置以及程序 |
CN112313728B (zh) * | 2018-06-20 | 2024-04-19 | 日本电信电话株式会社 | 秘密结合系统、方法、秘密计算装置以及记录介质 |
JP7081663B2 (ja) | 2018-06-20 | 2022-06-07 | 日本電信電話株式会社 | 秘密結合システム、方法、秘密計算装置及びプログラム |
JPWO2019244756A1 (ja) * | 2018-06-20 | 2021-06-24 | 日本電信電話株式会社 | 秘密結合システム、方法、秘密計算装置及びプログラム |
WO2019244756A1 (ja) * | 2018-06-20 | 2019-12-26 | 日本電信電話株式会社 | 秘密結合システム、方法、秘密計算装置及びプログラム |
AU2019288508B2 (en) * | 2018-06-20 | 2021-09-23 | Nippon Telegraph And Telephone Corporation | Secret joining system, method, secret calculation apparatus and program |
JPWO2020036127A1 (ja) * | 2018-08-13 | 2021-08-10 | 日本電信電話株式会社 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
US12079363B2 (en) | 2018-08-13 | 2024-09-03 | Nippon Telegraph And Telephone Corporation | Secure joining information generation system, secure joining system, methods therefor, secure computing apparatus and program |
AU2019322591B2 (en) * | 2018-08-13 | 2021-12-23 | Nippon Telegraph And Telephone Corporation | Secure joining information generation system, secure joining system, methods therefor, secure computing apparatus and program |
CN112567443A (zh) * | 2018-08-13 | 2021-03-26 | 日本电信电话株式会社 | 秘密联接信息生成系统、秘密联接系统、它们的方法、秘密计算装置以及程序 |
WO2020036127A1 (ja) * | 2018-08-13 | 2020-02-20 | 日本電信電話株式会社 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
EP3839923B1 (en) * | 2018-08-13 | 2023-11-22 | Nippon Telegraph And Telephone Corporation | Secret strong mapping calculation system, method therefor, secret calculation device, and program |
US11886876B2 (en) | 2018-08-13 | 2024-01-30 | Nippon Telegraph And Telephone Corporation | Secure strong mapping computing systems, methods, secure computing apparatus and program |
JP7067626B2 (ja) | 2018-08-13 | 2022-05-16 | 日本電信電話株式会社 | 秘密結合情報生成システム、秘密結合システム、これらの方法、秘密計算装置及びプログラム |
CN112567443B (zh) * | 2018-08-13 | 2024-05-14 | 日本电信电话株式会社 | 秘密联接信息生成系统及方法、秘密联接系统及方法、秘密计算装置、记录介质 |
EP3839925A4 (en) * | 2018-08-13 | 2022-05-11 | Nippon Telegraph And Telephone Corporation | SECRET JOIN INFORMATION GENERATING SYSTEM, SECRET JOIN SYSTEM, METHOD, SECRET CALCULATION DEVICE AND PROGRAM |
WO2023276142A1 (ja) | 2021-07-02 | 2023-01-05 | 日本電信電話株式会社 | 秘密等結合装置、秘密等結合方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20190228010A1 (en) | 2019-07-25 |
EP3522137A1 (en) | 2019-08-07 |
CN109791741B (zh) | 2022-01-18 |
EP3522137B1 (en) | 2021-09-01 |
JPWO2018061800A1 (ja) | 2019-06-24 |
AU2017338060B2 (en) | 2020-06-25 |
CN109791741A (zh) | 2019-05-21 |
EP3522137A4 (en) | 2020-05-20 |
JP6605746B2 (ja) | 2019-11-13 |
AU2017338060A1 (en) | 2019-04-11 |
US11250004B2 (en) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6605746B2 (ja) | 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム | |
CN105593919B (zh) | 秘密商转移装置及方法、秘密比特分解装置及方法、秘密模数转换装置及方法 | |
JP5860378B2 (ja) | 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム | |
JP6989006B2 (ja) | 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム | |
JP5907902B2 (ja) | 秘密計算による表の等結合システム、方法 | |
WO2019208484A1 (ja) | 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム | |
Akavia et al. | Secure search on encrypted data via multi-ring sketch | |
JP7031682B2 (ja) | 秘密計算装置、システム、方法、プログラム | |
EP4016506B1 (en) | Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program | |
JP2020519968A (ja) | ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム | |
Liu et al. | Secure and fast decision tree evaluation on outsourced cloud data | |
JP5670366B2 (ja) | 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム | |
WO2019221108A1 (ja) | 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム | |
JP6321216B2 (ja) | 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム | |
CN105917400A (zh) | 元素复制装置、元素复制方法、以及程序 | |
WO2023157118A1 (ja) | 秘密計算装置、秘密計算方法、プログラム | |
WO2023228273A1 (ja) | 秘密属性選択システム、秘密属性選択装置、秘密属性選択方法、プログラム | |
WO2024013974A1 (ja) | 秘密交差結合システム、秘密交差結合装置、秘密交差結合方法、プログラム | |
WO2024018504A1 (ja) | クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム | |
WO2023135636A1 (ja) | 秘密クラスタ計算システム、秘密クラスタ計算装置、秘密クラスタ計算方法、プログラム | |
WO2023157117A1 (ja) | 秘密計算装置、秘密計算方法、プログラム | |
JP7552734B2 (ja) | 秘密関係代数演算システム、秘密計算装置、秘密関係代数演算方法、およびプログラム | |
WO2023276142A1 (ja) | 秘密等結合装置、秘密等結合方法、およびプログラム | |
Ceng et al. | The Mann‐Type Extragradient Iterative Algorithms with Regularization for Solving Variational Inequality Problems, Split Feasibility, and Fixed Point Problems | |
JP2024111989A (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: 17855756 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018542380 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: 2017338060 Country of ref document: AU Date of ref document: 20170914 Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2017855756 Country of ref document: EP Effective date: 20190429 |