WO2019124134A1 - 検索装置、検索方法、プログラム、および記録媒体 - Google Patents
検索装置、検索方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- WO2019124134A1 WO2019124134A1 PCT/JP2018/045254 JP2018045254W WO2019124134A1 WO 2019124134 A1 WO2019124134 A1 WO 2019124134A1 JP 2018045254 W JP2018045254 W JP 2018045254W WO 2019124134 A1 WO2019124134 A1 WO 2019124134A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- concealed
- concealment
- search
- operation result
- result
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a secret calculation technique, and more particularly to a technique for performing search while concealing data.
- Non-Patent Document 1 There is known a secret calculation technique for performing a match search while concealing a search word and a search target word group (see, for example, Non-Patent Document 1).
- An object of the present invention is to perform matching search of a concealed database efficiently while concealing a search word including a wildcard character.
- the concealing databases [x 1 ],..., [X m ] are stored in the storage unit.
- the concealed search target word [x i ] included in the concealed databases [x 1 ],..., [X m ] includes t (i) characters x i, 1 ,..., X i, t (i)
- the search target word x i (x i, 1 ,..., X i, t (i) ,..., X i, N ) is concealed.
- the input unit receives an input of the concealed search word [k].
- the operation result e i (e i, 1 , ..., e i, N) is concealed concealed operation result [e i Get].
- matching search of a concealed database can be performed with a smaller amount of traffic than in the past.
- FIG. 1 is a block diagram illustrating a search system of the embodiment.
- FIG. 2 is a block diagram illustrating a search device of the embodiment.
- FIG. 3 is a flowchart for explaining the search method of the first embodiment.
- FIG. 4 is a conceptual diagram for explaining the search method of the first embodiment.
- FIG. 5 is a conceptual diagram for explaining the search method of the first embodiment.
- FIG. 6 is a conceptual diagram for explaining the search method of the first embodiment.
- FIG. 7 is a conceptual diagram for explaining the search method of the first embodiment.
- FIG. 8 is a conceptual diagram for explaining the search method of the first embodiment.
- FIG. 9 is a conceptual diagram for explaining the search method of the first embodiment.
- FIG. 10 is a flowchart for explaining the search method of the second embodiment.
- FIG. 10 is a flowchart for explaining the search method of the second embodiment.
- FIG. 11 is a conceptual diagram for explaining the search method of the second embodiment.
- FIG. 12 is a conceptual diagram for explaining the search method of the second embodiment.
- FIG. 13 is a conceptual diagram for explaining the search method of the second embodiment.
- FIG. 14 is a flowchart for explaining the search method of the third embodiment.
- FIG. 15 is a conceptual diagram for explaining the search method of the third embodiment.
- FIG. 16 is a conceptual diagram for explaining the search method of the third embodiment.
- FIG. 17 is a flowchart for explaining the search method of the fourth embodiment.
- FIG. 18 is a conceptual diagram for explaining the search method of the fourth embodiment.
- FIG. 19 is a conceptual diagram for explaining the search method of the fourth embodiment.
- FIG. 20 is a flowchart for explaining the search method of the fifth embodiment.
- FIG. 21 is a conceptual diagram for explaining the search method of the embodiment.
- FIG. 22 is a conceptual diagram for explaining the search method of the fifth embodiment.
- FIG. 23 is a conceptual diagram for explaining the search method of the fifth embodiment.
- FIG. 24 is a conceptual diagram for explaining the search method of the fifth embodiment.
- FIG. 25 is a flowchart for explaining the search method of the sixth embodiment.
- FIG. 26 is a conceptual diagram for explaining the search method of the sixth embodiment.
- FIG. 27 is a conceptual diagram for explaining the search method of the sixth embodiment.
- FIG. 28 is a conceptual diagram for explaining the search method of the sixth embodiment.
- the search system 1 of the present embodiment has a request device 11 for requesting a search, and a search device 12-h for performing a search, and performs search processing by secret calculation.
- h 1,..., H
- H is an integer of 1 or more.
- H 1.
- the search device 12-h of this embodiment includes a control unit 120-h, an equal sign determination unit 121-h, a wildcard determination unit 122-h, an OR operation unit 123-h, and a logic. It has a product calculation unit 127-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h.
- the search device 12-h executes each process under the control of the control unit 120-h.
- data obtained by each unit is stored in the storage unit 128-h one by one, read out as necessary, and used for other processing.
- search target words x i (x i, 1 ,..., X i, t (t ) including t (i) characters x i, 1 ,..., X i, t (i) i) , ..., x i, N (for example, refer to DB in FIG. 4 and FIG. 6) concealed search concealed database [x 1 ], ..., [x m ] including concealed search target word [x i ] Is stored.
- the t (i) characters x i, 1 ,..., X i, t (i) included in the search target word x i are normal characters to be searched.
- Each character is represented by, for example, an element of a finite field.
- the concealed search target word [x i ] is a secret sharing value of the search target word x i .
- the concealed search target word [x i ] is a ciphertext of the search target word x i .
- Letters x i, 1, ..., x i, t (i), ..., x i, concealment values obtained respectively by separate concealment of N [x i, 1], ..., [x i, t ( i) ], ..., [x i, N ] may be set as the concealment search target word [x i ], or N characters x i, 1 , ..., x i, t (i) , ..., It is good also as a concealment search object word [x i ] which summarized and concealed xi, N. Further, each concealed search target word [x i ] may be associated with a concealed value of content information indicating the position of the content or the content on the network.
- the search processing of the present embodiment will be described using FIG.
- n is a positive integer and n ⁇ N.
- the characters k 1 ,..., K n may include one or more wildcard characters. Characters other than wildcards among the characters k 1 ,..., K n are normal characters. Wildcard characters are predetermined (e.g., "*") and are not used as normal characters. In addition, one wild character corresponds to one normal character or one null character (the same applies to the following embodiments).
- the search target word x i is a null character x i, t (i) +1 , ..., if x i, including N, k t (i) +1 in the present embodiment, ..., k N is included wildcard character I will not do it.
- the null characters included in the search word k are identical to the null characters included in the search target word x i described above. If secret calculation based on the secret sharing scheme is performed by the search device 12-h, the concealed search word [k] is the secret sharing value of the search word k. On the other hand, if secret calculation based on the homomorphic encryption scheme is performed by the search device 12-h, the concealed search word [k] is a ciphertext of the search word k.
- a set of concealed values [k 1 ],..., [K n ],..., [K N ] obtained by concealing each of the characters k 1 , ..., k n , ..., k N separately is concealed and searched
- the word [k] may be used, or the N characters k 1 ,..., K n ,..., K N may be collectively concealed to be the concealed search word [k].
- the request device 11 outputs the concealed search word [k].
- the output concealed search word [k] is sent to the search device 12-h via a network or the like.
- e i ( e i, 1, ..., e i, N)
- e i, j a 1
- if x i, j is not k j (x i, j ⁇ k j And e i, j a 0 ).
- the equal sign judging unit 121-h collects e i, 1 ,..., E i, N together by secret calculation using the concealed search target word [x i ] and the concealed search word [k]. You may obtain the concealment concealment calculation result [e i ].
- the concealment calculation result [e i ] is stored in the storage unit 128-h (step S121-h).
- the wildcard determination unit 122-h uses the concealed search word [k] and the concealed wildcard character obtained by concealing the wildcard character, and performs concealment calculation result [w] by secret calculation. obtain.
- the concealment calculation result [w 1 ,..., W N are concealed collectively by secret calculation using the concealed search word [k] and the concealed wildcard character by the wildcard determination unit 122-h w] may be obtained.
- the concealment calculation result [w] is stored in the storage unit 128-h (step S122-h).
- ⁇ represents a disjunction (OR).
- the logical disjunction operation unit 123-h may be configured to secretize y i, 1 ,..., Y i, N together by secret calculation using the concealment operation result [e i ] and the concealment operation result [w].
- the obtained concealment calculation result [y i ] may be obtained.
- the concealment calculation result [y i ] is stored in the storage unit 128-h (step S123-h).
- z i y i, 1 ⁇ ... Y i, N.
- “ ⁇ ” represents a logical product (AND).
- the concealment coincidence determination result [z i ] is stored in the storage unit 128-h (step S127-h).
- the concealed coincidence determination result [z i ] is sent to the request device 11 via a network or the like.
- the request device 11 restores z i from [z i ] sent from a predetermined number or more of search devices 12-h.
- the sent [z i ] is decrypted to obtain z i .
- search results for each i can be obtained. After that, processing using these search results (for example, a request for a concealment value of content information corresponding to the matched concealed search target word [x i ], etc.) is executed.
- kr is a wildcard character “*”, 1 ⁇ r ⁇ n
- 6 to 9 are examples of n ⁇ N and t (i) ⁇ N. As illustrated in FIG. 6, k n + 1 ,..., K N and x i, t (i) +1 ,..., X i, N are null characters.
- a t (1) n
- k r is a wildcard character "*”
- 1 ⁇ r is ⁇ n
- j 1 other than r, ..., x 1 for n
- J k j
- e 1 (1, 1, ..., 0, ..., 1, ..., 1)
- w (0, 0, ..., 1, ..., 0, ..., 0)
- 1 ⁇ r is ⁇ n
- j 1 other than r, ...
- t (3) n ⁇ 1
- perfect concealment search of a concealed database can be performed while concealing a search word including a wildcard character.
- matching search of the concealed database can be performed with a smaller amount of communication (for example, the amount of communication of O (N)) than in the past.
- the characters x i, t (i) +1 ,..., X i, N of the search target word x i are null characters, and the characters k t (i) +1 ,..., K N of the search word k include wildcard characters If so, the method of the first embodiment may not be able to perform an exact match search correctly.
- the characters x 3, n , ..., x i, N of the search target word x 3 are null characters
- the characters k n of the search word k are wildcard characters. Wildcard characters must be determined to match any normal character, but wildcard characters must be determined not to match null characters.
- the search system 2 of this embodiment has a request device 11 for requesting a search, and a search device 22-h for performing a search, and performs search processing by secret calculation.
- h 1,..., H, and H is an integer of 1 or more.
- the search device 22-h includes a control unit 120-h, an equal sign determination unit 121-h, a wildcard determination unit 122-h, a disjunction operation unit 223-h, and a null.
- a determination unit 224-h, AND operation units 127-h and 226-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h are provided.
- the search device 22-h executes each process under the control of the control unit 120-h.
- data obtained by each unit is stored in the storage unit 128-h one by one, read out as necessary, and used for other processing.
- the search processing of this embodiment will be described using FIG.
- n is a positive integer and n ⁇ N.
- the characters k 1 ,..., K n may include wildcard characters.
- the search target word x i is a null character x i, t (i) +1 , ..., x i, if it contains N, k t (i) +1 , ..., k N Wild It may contain card characters.
- the request device 11 outputs the concealed search word [k].
- the output concealed search word [k] is sent to the search device 22-h via a network or the like.
- the first concealment operation result [e i ] in which e i, 1 ,..., e i, N ) are concealed is obtained and output.
- the concealment calculation result [e i ] is stored in the storage unit 128-h (step S121-h).
- the concealment calculation result [w] is stored in the storage unit 128-h (step S122-h).
- the null judgment unit 224-h uses the concealed search target word [x i ] and the concealed null character obtained by concealing the null character to calculate the concealment operation result [ ⁇ i ] by secret calculation. obtain.
- the converted [ ⁇ i, j ] is obtained, and a set of [ ⁇ i, 1 ],..., [ ⁇ i, N ] is obtained as the concealment operation result [ ⁇ i ].
- the secure computing the null decision unit 224-h was used and concealed searched word [x i] and concealment null character, ⁇ i, 1, ..., ⁇ i, concealment of N is collectively confidential
- An operation result [ ⁇ i ] may be obtained.
- the concealment calculation result [ ⁇ i ] is stored in the storage unit 128-h (step S224-h).
- v i, j w j ⁇ i, j .
- the logical product operation unit 226-h may be configured to secrete v i, 1 ,..., V i, N together by secret calculation using the concealment operation result [w] and the concealment operation result [ ⁇ i ].
- the obtained concealment calculation result [v i ] may be obtained.
- the concealment calculation result [v i ] is stored in the storage unit 128-h (step S226-h).
- It is y i, j d 0 when both are satisfied.
- y i, j e i, j ⁇ v i, j .
- the disjunction operation unit 223-h may group y i, 1 ,..., Y i, N together by secret calculation using the concealment operation result [e i ] and the concealment operation result [v i ]. You may obtain the concealment concealment calculation result [y i ].
- the concealment calculation result [y i ] is stored in the storage unit 128-h (step S223-h).
- 11 to 13 show examples of n ⁇ N and t (i) ⁇ N.
- k n is a wildcard character “*”
- k n + 1 ,..., K N and x i, t (i) +1 ,..., X i, N are null characters.
- the characters x i, t (i) +1 ,..., X i, N of the search target word x i are null characters
- the characters k t (i) +1 , of the search word k .., K N may include wildcard characters
- exact matches search of the concealed database can be performed while concealing the search word including the wildcard characters.
- matching search of a concealed database can be performed with a smaller amount of traffic than in the past.
- the third embodiment is a modification of the first embodiment.
- forward concealment search of the concealed database is performed while concealing the search word including the wildcard character.
- the search system 3 of this embodiment has a request device 11 for requesting a search, and a search device 32-h for performing a search, and performs a search process by secret calculation.
- h 1,..., H
- H is an integer of 1 or more.
- H 1.
- the search device 32-h includes a control unit 120-h, an equal sign determination unit 121-h, a wild card determination unit 122-h, an OR operation unit 323-h, and a null.
- a determination unit 325-h, an AND operation unit 127-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h are provided.
- the search device 32-h executes each process under the control of the control unit 120-h.
- data obtained by each unit is stored in the storage unit 128-h one by one, read out as necessary, and used for other processing.
- the search processing of the present embodiment will be described using FIG.
- n is a positive integer and n ⁇ N.
- the search target word x i is a null character x i, t (i) +1 , ..., if x i, including N, k t (i) +1 in the present embodiment, ..., k N is included wildcard character I will not do it.
- the request device 11 outputs the concealed search word [k].
- the output concealed search word [k] is sent to the search device 32-h via a network or the like.
- e i ( e i, 1, ..., e i, N)
- e i, j a 1
- if x i, j is not k j (x i, j ⁇ k j And e i, j a 0 ).
- the concealment calculation result [e i ] is stored in the storage unit 128-h (step S121-h).
- the concealment calculation result [w] is stored in the storage unit 128-h (step S122-h).
- a u j c 0 when k j is not null values.
- the null judgment unit 325-h obtains the concealment calculation result [u] by secret calculation using the concealment search word [k] and the concealment null character obtained by concealing the null character.
- the concealment calculation result [u] in which u 1 ,..., U N are concealed in a lump by secret calculation using the concealment search word [k] and the nullification search character by the null judgment unit 325-h You may get it.
- the concealment calculation result [u] is stored in the storage unit 128-h (step S325-h).
- the logical sum operation unit 323-h performs an operation according to secret calculation using the concealment operation result [e i ], the concealment operation result [w], and the concealment operation result [u] read from the storage unit 128-h.
- the disjunction operation unit 323-h performs y i, 1 , ..., by secret calculation using the concealment operation result [e i ], the concealment operation result [w], and the concealment operation result [u]. You may obtain the concealment calculation result [y i ] in which y i, N were collectively concealed.
- the concealment calculation result [y i ] is stored in the storage unit 128-h (step S323-h).
- the fourth embodiment is a modification of the second and third embodiments.
- forward concealment search of the concealed database is performed while concealing the search word including the wildcard character.
- the characters x i, t (i) +1 ,..., X i, N of the search target word x i are null characters, and the characters k t (i) +1,. If k N may include wildcard characters, the method of the third embodiment may not be able to perform a forward search correctly. In the present embodiment, a method of correctly performing a forward match search in such a case will be described.
- the search system 4 of the present embodiment has a request device 11 for requesting a search, and a search device 42-h for performing a search, and performs search processing by secret calculation.
- h 1,..., H
- H is an integer of 1 or more.
- H 1.
- the search device 42-h includes a control unit 120-h, an equal sign determination unit 121-h, a wild card determination unit 122-h, an OR operation unit 423-h, and a null.
- the search device 32-h executes each process under the control of the control unit 120-h. In addition, data obtained by each unit is stored in the storage unit 128-h one by one, read out as necessary, and used for other processing.
- the search processing of this embodiment will be described using FIG.
- n is a positive integer and n ⁇ N.
- the characters k 1 ,..., K n may include wildcard characters.
- the search target word x i is a null character x i, t (i) +1 , ..., x i, if it contains N, k t (i) +1 , ..., k N Wild It may contain card characters.
- the request device 11 outputs the concealed search word [k].
- the output concealed search word [k] is sent to the search device 22-h via a network or the like.
- e i ( e i, 1, ..., e i, N)
- e i, j a 1
- if x i, j is not k j (x i, j ⁇ k j And e i, j a 0 ).
- the concealment calculation result [e i ] is stored in the storage unit 128-h (step S121-h).
- the concealment calculation result [w] is stored in the storage unit 128-h (step S122-h).
- the null judgment unit 325-h obtains the concealment calculation result [u] by secret calculation using the concealment search word [k] and the concealment null character obtained by concealing the null character.
- the concealment calculation result [u] is stored in the storage unit 128-h (step S325-h).
- the concealment calculation result [ ⁇ i ] is stored in the storage unit 128-h (step S224-h).
- v i (v i, 1 ,..., V i, N ) are concealed and obtained and output as the concealment operation result [v i ].
- v i, j ⁇ 1
- the OR operation unit 423-h performs secret calculation using the concealment operation result [e i ], the concealment operation result [u], and the concealment operation result [v i ] read from the storage unit 128-h.
- the disjunction operation unit 423-h performs secret calculation using the concealment operation result [e i ], the concealment operation result [v i ], and the concealment operation result [u] to obtain y i, 1 ,. , Y i, N may be collectively obtained to obtain the concealment calculation result [y i ].
- the concealment calculation result [y i ] is stored in the storage unit 128-h (step S423-h).
- 18 and 19 are examples of n ⁇ N and t (i) ⁇ N.
- k n is the wildcard character “*”, and k n + 1 ,..., k N and x i, t (i) +1 ,..., x i, N are null characters.
- the characters x i, t (i) +1 ,..., X i, N of the search target word x i are null characters
- the characters k t (i) +1 , of the search word k .., K N can include wildcard characters, it is possible to perform a prefix match search of the concealed database while concealing the search word including the wildcard characters.
- matching search of a concealed database can be performed with a smaller amount of traffic than in the past.
- the fifth embodiment is a modification of the first and second embodiments.
- it is premised that the lengths of the concealed search target word and the concealed search word are the same.
- perfect match search can be performed regardless of whether the lengths of the concealed search target word and the concealed search word are the same as each other.
- the search system 5 of this embodiment has a request device 11 for requesting a search, and a search device 52-h for performing a search, and performs search processing by secret calculation.
- h 1,..., H
- H is an integer of 1 or more.
- H 1.
- the search device 52-h includes a control unit 120-h, an equal sign determination unit 521-h, a wildcard determination unit 522-h, a logical sum operation unit 523-h, and a null.
- the search device 52-h executes each process under the control of the control unit 120-h.
- data obtained by each unit is stored in the storage unit 128-h one by one, read out as necessary, and used for other processing.
- search target words x i (x i, 1 ,..., X i, t (t ) including t (i) characters x i, 1 ,..., X i, t (i) i) , ..., xi , N (i) (for example, refer to DB in FIG. 21) is a concealed database [x 1 ], ..., [x m ] including concealed search target word [x i ] concealed Is stored.
- the t (i) characters x i, 1 ,..., X i, t (i) included in the search target word x i are normal characters to be searched.
- the remaining N (i) -t (i) characters x i, t (i) +1 ,..., X i, N (i) included in the search target word x i are null characters.
- Hidden values [x i, 1 ],..., [X i obtained by concealing each of the characters x i, 1 ,..., X i, t (i) ,..., X i, N (i) separately , T (i) ],..., [X i, N (i) ] may be set as the concealment search target word [x i ], or N (i) characters x i, 1 ,.
- the i, t (i) ,..., x i, N (i) may be collectively concealed to be the concealed search target word [x i ]. Others are as described in the first embodiment.
- the search processing of this embodiment will be described using FIG.
- j 1,..., N, n is a positive integer, and n ⁇ N.
- the characters k 1 ,..., K n may include wildcard characters.
- the search target word x i is null character x i, t (i) +1 , ..., in the case where x i, contains N, k t (i) +1 , ..., k N is also contain a wildcard character Good.
- n and N are positive integers, and n ⁇ N.
- M min N (i)
- M min min (N (i), N).
- N max N (i)
- N max N when N> N (i).
- M max max (N (i), N). Due to the restriction of written description, N min may be written as “N min ” and N max may be written as “N max ”.
- j ′ ′ is empty when M min + 1 ⁇ N
- j ′ ′ (i) is empty when M min + 1 ⁇ N (i).
- the concealed values [k 1 ],..., [K n ],..., [K N ] obtained by concealing the characters k 1 , ..., k n , ..., k N separately
- the set may be the concealed search word [k], or the N characters k 1 ,..., K n ,..., K N may be collectively concealed to be the concealed search word [k].
- the request device 11 outputs the concealed search word [k].
- the output concealed search word [k] is sent to the search device 52-h via a network or the like.
- the equal sign determination unit 521-h may calculate e i, 1 ,..., E i, N min collectively by secret calculation using the concealed search target word [x i ] and the concealed search word [k]. You may obtain the concealment concealment calculation result [e i ].
- the concealment calculation result [e i ] is stored in the storage unit 128-h (step S521-h).
- the concealment calculation result in which w 1 ,..., W Nmin are concealed together by the secret calculation using the concealed search word [k] and the concealed wildcard character the wildcard determination unit 122-h w] may be obtained.
- the concealment calculation result [w] is stored in the storage unit 128-h (step S522-h).
- the null judgment unit 525-h is a concealment calculation result u ′ Nmin + 1 ,..., U ′ N concealed by secret calculation using at least a part of the concealed search word [k] read from the storage unit 128-h. Obtain the quantization operation result [u '] and output it.
- the null judgment unit 525-h uses at least a part of the concealed search word [k] and the concealed null character obtained by concealing the null character, and performs concealment calculation result [u ′] by secret calculation.
- Are concealed [u ′ j ′ ′], and a set of [u ′ Mmin + 1 ],..., [U ′ N ] is obtained as the concealment operation result [u ′].
- the concealment calculation result [u] in which u ′ Mmin + 1 ,..., U ′ N are concealed collectively by the secret calculation using the concealment search word [k] and the nullified null character by the null judgment unit 525-h. You may get '].
- the concealment calculation result [u ′] is stored in the storage unit 128-h. (Step S525-h). Note that when M min +1 ⁇ N, the process of step S525-h is not performed.
- the logical disjunction operation unit 523-h collects e ′ i, 1 ,..., E ′ i, N min by secret calculation using the concealment operation result [e i ] and the concealment operation result [w]. You may obtain the concealment operation result [e ' i ] concealed.
- the concealment calculation result [e ′ i ] is stored in the storage unit 128-h (step S5231-h).
- step S524-h When M min +1 minN (i), the process of step S524-h is not executed.
- the connecting unit 528-h obtains and outputs the concealment calculation result [y i ] in which the calculation result y i is concealed by secret calculation using at least the concealment calculation result [e ′ i ].
- the connecting unit 528-h outputs the concealment operation result [e ′ i ] as the concealment operation result [y i ].
- [Y i ] may be a set of concealment results in which elements of y i are concealed respectively, or all of the elements of y i may be concealed together.
- the concealment calculation result [y i ] is stored in the storage unit 128-h (step S528-h).
- the logical product operation unit 527-h performs the secret determination using the concealment calculation result [y i ] read out from the storage unit 128-h, and the match determination result based on the secret calculation using the concealment calculation result [y i ].
- the concealment coincidence judgment result [z i ] in which z i is concealed is obtained and output.
- z i g 1
- N ⁇ N (i) m
- n, t (i), N, N (i) are positive integers
- wildcard determination unit 522-h is a secret calculation using the concealed search word [k]
- connection portion 528-h is concealed operation result [e' i] and concealment operation result [mu 'i]
- the search word k may include a wildcard character
- at least one of the search word k and the search target word x i may include a null character. It is possible to perform a perfect match search of a concealed database while concealing a search word including a wildcard character. Furthermore, in the present embodiment, perfect match search can be performed regardless of whether the lengths of the concealed search target word and the concealed search word are identical to each other. In addition, matching search of a concealed database can be performed with a smaller amount of traffic than in the past.
- the sixth embodiment is a modification of the third and fourth embodiments.
- the third and fourth embodiments it is premised that the lengths of the concealed search target word and the concealed search word are the same.
- the forward match search can be performed regardless of whether the lengths of the concealed search target word and the concealed search word are the same.
- the search system 6 of this embodiment has a request device 11 for requesting a search, and a search device 62-h for performing a search, and performs search processing by secret calculation.
- h 1,..., H, and H is an integer of 1 or more.
- H 1.
- the search device 62-h includes a control unit 120-h, an equal sign determination unit 521-h, a wildcard determination unit 522-h, a logical sum operation unit 623-h, and a null.
- a determination unit 625-h an AND operation unit 527-h, a connection unit 628-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h.
- the search device 62-h executes each process under the control of the control unit 120-h.
- data obtained by each unit is stored in the storage unit 128-h one by one, read out as necessary, and used for other processing.
- the search processing of this embodiment will be described using FIG.
- the request device 11 outputs the concealed search word [k].
- the concealed search word [k] output is sent to the search device 62-h via a network or the like.
- e i ( e i, 1, ..., e i, Nmin)
- e i ( e i, 1, ..., e i, Nmin) outputs to obtain a concealed concealed operation result [e i].
- j ' 1,..., N min
- e i, j' a 1
- if x i, j ' is not k j' , e i , J ' a 0 .
- the concealment calculation result [e i ] is stored in the storage unit 128-h (step S521-h).
- the concealment calculation result [w] is stored in the storage unit 128-h (step S522-h).
- the null determination unit 625-h is configured to determine at least one of the concealed search word [k]
- a concealment operation result [u ′ ′] is obtained by secret calculation using a part and a concealed null character obtained by concealing a null character.
- N is collectively concealed concealed operation result [u "].
- the concealment calculation result [u ”] is stored in the storage unit 128-h (step S6251-h).
- the logical sum operation unit 623-h (first logical OR operation unit) performs secret calculation using at least a part of the concealment operation result [w] read out from the storage unit 128-h and the concealment operation result [u ”].
- the operation result w ' (w' 1, ..., w and outputs to obtain a 'Nmin) is concealed concealed operation result [w'].
- the logical disjunction operation unit 623-h may hide w ′ 1 ,..., W ′ Nmin collectively by secret calculation using the concealment operation result [w] and the concealment operation result [u ′ ′ ] .
- the concealment calculation result [w '] may be obtained, and the concealment calculation result [w'] is stored in the storage unit 128-h (step S6231-h).
- the disjunction operation unit 623-h (second disjunction operation unit) performs secret calculation using the concealment operation result [e i ] and concealment operation result [w ′] read from the storage unit 128-h.
- the concealment operation result [e ' i ] obtained by concealing the operation result e' i (e ' i, 1 ,..., E' i, Nmin ) is obtained and output.
- the logical disjunction operation unit 623-h performs e ′ i, 1 ,..., E ′ i, N min by secret calculation using the concealment operation result [e i ] and the concealment operation result [w ′]. collectively concealed concealed operation result [e 'i] may be obtained.
- the concealment calculation result [e ′ i ] is stored in the storage unit 128-h (step S6232-h).
- the connecting unit 628-h obtains and outputs the concealment calculation result [y i ] in which the calculation result y i is concealed by secret calculation using at least the concealment calculation result [e ′ i ].
- the connecting unit 628-h outputs the concealment operation result [e ′ i ] as the concealment operation result [y i ].
- [Y i ] may be a set of concealment results in which elements of y i are respectively concealed, or all elements of y i are summarized
- the concealment calculation result [y i ] is stored in the storage unit 128-h (step S628-h).
- step S527-h and step S1292-h and subsequent steps described in the first embodiment are performed.
- the disjunction operation unit 623-h combines the concealment operation result [e i ] and the concealment operation result [w ']
- the search word k may include a wildcard character
- at least one of the search word k and the search target word x i may include a null character. It is possible to perform a forward match search of a concealed database while concealing a search word including a wildcard character. Furthermore, in the present embodiment, the forward match search can be performed regardless of whether the lengths of the concealed search target word and the concealed search word are the same. In addition, matching search of a concealed database can be performed with a smaller amount of traffic than in the past.
- the search device may output the concealment calculation result [y i ] as it is, or the concealment calculation result [y i ] is subjected to a secret calculation different from that in step S127-h, and thus obtained. You may output the result.
- the secret calculation method is not limited. Secret calculation based on the secret sharing scheme may be used, as long as equality determination by the secret calculation and logical operation (OR operation, AND operation) are possible, or secret computation based on the homomorphic encryption scheme is used. It may be done.
- the secret calculation method described below may be used.
- Reference 1 Ivan Damgard, Dr Fitzi, Eike Kiltz, Jesper Buus Nielsen, Tomas Toft, “Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation”, TCC 2006, pp. 285-304.
- Reference 2 Koji Chida, Koki Shibata, Igarashi Univ., Katsuya Takahashi, “Reconsideration of Secure Database Operations Using An Improved 3-party Verifiable Secure Function Evaluation”, In CSS, 2010.
- Reference 3 Takashi Nishide, Kazuo Ohta, “Multiparty computation for interval, equality, and comparison without bit-decomposition protocol", PKC, pp. 343-360, 2007.
- Each of the above-described devices is, for example, a general-purpose or dedicated computer including a processor (hardware processor) such as a CPU (central processing unit) and a memory such as a RAM (random-access memory) and a ROM (read-only memory). Is configured by executing a predetermined program.
- the computer may have one processor or memory, or may have a plurality of processors or memory.
- This program may be installed in a computer or may be stored in advance in a ROM or the like.
- an electronic circuit circuitry
- a part or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program. May be
- the electronic circuit that constitutes one device may include a plurality of CPUs.
- the processing content of the function that each device should have is described by a program.
- the above processing functions are realized on a computer by executing this program on a computer.
- the program describing the processing content can be recorded in a computer readable recording medium.
- An example of a computer readable recording medium is a non-transitory recording medium. Examples of such recording media are magnetic recording devices, optical disks, magneto-optical recording media, semiconductor memories and the like.
- This program is distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM or the like recording the program. Furthermore, this 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.
- a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. At the time of execution of processing, this computer reads a program stored in its own storage device and executes processing in accordance with the read program. As another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing in accordance with the program, and further, each time the program is transferred from the server computer to this computer Alternatively, processing may be performed sequentially according to the received program.
- the configuration described above is also executed by a so-called ASP (Application Service Provider) type service that realizes processing functions only by executing instructions and acquiring results from the server computer without transferring the program to this computer. Good.
- ASP Application Service Provider
- At least a part of these processing functions may be realized by hardware.
Abstract
Description
[第1実施形態]
第1実施形態を説明する。本実施形態では、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの完全一致検索を行う。
図1に例示するように、本実施形態の検索システム1は、検索を依頼する依頼装置11、および検索を行う検索装置12-hを有し、秘密計算による検索処理を行う。ただし、h=1,…,Hであり、Hは1以上の整数である。秘密分散方式に基づく秘密計算を行う場合にはH≧2であり、準同型性暗号方式に基づく秘密計算を行う場合にはH=1である。
記憶部128-hには、t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N)(例えば、図4および図6のDB参照)が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]が格納されている。ただし、m,t(i),Nが正整数であり、i=1,…,mであり、j=1,…,Nであり、t(i)≦Nである。検索対象ワードxiに含まれるt(i)個の文字xi,1,…,xi,t(i)は検索対象となる通常文字である。一方、検索対象ワードxiに含まれる残りのN-t(i)個の文字xi,t(i)+1,…,xi,Nはヌル値を表す特殊文字(ヌル文字)である。ヌル文字は予め定められており(例えば、“0”)、通常文字として利用されない。t(i)=Nの場合、検索対象ワードxiはヌル文字を含まない。各文字は例えば有限体の元で表現される。秘密分散方式に基づく秘密計算が行われる場合、秘匿化検索対象ワード[xi]は検索対象ワードxiの秘密分散値である。準同型性暗号方式に基づく秘密計算が行われる場合、秘匿化検索対象ワード[xi]は検索対象ワードxiの暗号文である。文字xi,1,…,xi,t(i),…,xi,Nのそれぞれを別々に秘匿化して得られた秘匿値[xi,1],…,[xi,t(i)],…,[xi,N]の集合を秘匿化検索対象ワード[xi]としてもよいし、N個の文字xi,1,…,xi,t(i),…,xi,Nをまとめて秘匿化したものを秘匿化検索対象ワード[xi]としてもよい。また、各秘匿化検索対象ワード[xi]には、コンテンツまたはネットワーク上のコンテンツの位置を表すコンテンツ情報の秘匿値が対応付けられていてもよい。
図3を用いて本実施形態の検索処理を説明する。
依頼装置11は、n個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)(例えば、図4および図6参照)を秘匿化して秘匿化検索ワード[k]を得る。ただし、nは正整数であり、n≦Nである。文字k1,…,knは1個以上のワイルドカード文字を含んでもよい。文字k1,…,knのうちワイルドカード以外の文字は通常文字である。ワイルドカード文字は予め定められており(例えば、「*」)、通常文字として利用されない。また、1個のワイルド文字は1個の通常文字または1個のヌル文字に対応する(以下の各実施形態でも同じである)。上述の検索対象ワードxi(ただしi=1,…,m)がヌル文字を含まない場合、文字k1,…,knのどの文字がワイルドカード文字であってもよい。一方、検索対象ワードxiがヌル文字xi,t(i)+1,…,xi,Nを含む場合、本実施形態ではkt(i)+1,…,kNがワイルドカード文字を含まないことにする。検索ワードkに含まれるN-n個の文字kn+1,…,kNはヌル文字である。ただし、n=Nの場合、検索ワードkはヌル文字を含まない(例えば、図4参照)。検索ワードkに含まれたヌル文字は、上述の検索対象ワードxi含まれたヌル文字と同一である。検索装置12-hで秘密分散方式に基づく秘密計算が行われるのであれば、秘匿化検索ワード[k]は検索ワードkの秘密分散値である。一方、検索装置12-hで準同型性暗号方式に基づく秘密計算が行われるのであれば、秘匿化検索ワード[k]は検索ワードkの暗号文である。文字k1,…,kn,…,kNのそれぞれを別々に秘匿化して得られた秘匿値[k1],…,[kn],…,[kN]の集合を秘匿化検索ワード[k]としてもよいし、N個の文字k1,…,kn,…,kNをまとめて秘匿化したものを秘匿化検索ワード[k]としてもよい。
以下に、a0=0、a1=1、b0=0、b1=1、d0=0、d1=1、g0=0、g1=1である場合の具体例を示す。
上述のように、本実施形態では、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの完全一致検索を行うことができる。また、秘匿されたデータベースの一致検索を従来よりも少ない通信量(例えば、O(N)の通信量)で行うことができる。
検索対象ワードxiの文字xi,t(i)+1,…,xi,Nがヌル文字であり、検索ワードkの文字kt(i)+1,…,kNがワイルドカード文字を含み得る場合、第1実施形態の方法では正しく完全一致検索を行うことができないことがある。例えば、図11の例の場合、検索対象ワードx3の文字x3,n,…,xi,Nがヌル文字であり、検索ワードkの文字knがワイルドカード文字である。ワイルドカード文字はどのような通常文字にも一致すると判定しなければならないが、ワイルドカード文字はヌル文字とは一致しないと判定しなければならない。しかし、j=1,…,n‐1についてx3,j=kjを満たす場合、第1実施形態の方法ではy3=(1,1,…,1,…,1,1,1,…,1)となり、z3=1となる。本実施形態では、このような場合にも正しく完全一致検索を行う方式を説明する。なお、以下ではこれまで説明した事項との相違点を中心に説明し、共通する事項については同じ参照番号を引用して説明を簡略化する。
図1に例示するように、本実施形態の検索システム2は、検索を依頼する依頼装置11、および検索を行う検索装置22-hを有し、秘密計算による検索処理を行う。ただし、h=1,…,Hであり、Hは1以上の整数である。
第1実施形態と同じである。
図10を用いて本実施形態の検索処理を説明する。依頼装置11は、n個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)を秘匿化して秘匿化検索ワード[k]を得る。ただし、nは正整数であり、n≦Nである。文字k1,…,knはワイルドカード文字を含んでもよい。第1実施形態と異なり、検索対象ワードxiがヌル文字xi,t(i)+1,…,xi,Nを含んでいる場合に、kt(i)+1,…,kNがワイルドカード文字を含んでいてもよい。
以下にa0=0、a1=1、b0=0、b1=1、ρ0=0、ρ1=1、d0=0、d1=1、g0=0、g1=1である場合の具体例を示す。
上述のように、本実施形態では、検索対象ワードxiの文字xi,t(i)+1,…,xi,Nがヌル文字であり、検索ワードkの文字kt(i)+1,…,kNがワイルドカード文字を含み得る場合であっても、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの完全一致検索を行うことができる。また、秘匿されたデータベースの一致検索を従来よりも少ない通信量で行うことができる。
第3実施形態は第1実施形態の変形例である。本実施形態では、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの前方一致検索を行う。
図1に例示するように、本実施形態の検索システム3は、検索を依頼する依頼装置11、および検索を行う検索装置32-hを有し、秘密計算による検索処理を行う。ただし、h=1,…,Hであり、Hは1以上の整数である。秘密分散方式に基づく秘密計算を行う場合にはH≧2であり、準同型性暗号方式に基づく秘密計算を行う場合にはH=1である。
第1実施形態と同一である。
図14を用いて本実施形態の検索処理を説明する。依頼装置11は、n個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)を秘匿化して秘匿化検索ワード[k]を得る。ただし、nは正整数であり、n≦Nである。文字k1,…,knはワイルドカード文字を含んでもよい。検索対象ワードxi(ただしi=1,…,m)がヌル文字を含まない場合、文字k1,…,knのどの文字がワイルドカード文字であってもよい。一方、検索対象ワードxiがヌル文字xi,t(i)+1,…,xi,Nを含む場合、本実施形態ではkt(i)+1,…,kNがワイルドカード文字を含まないことにする。
以下に、a0=0、a1=1、b0=0、b1=1、c0=0、c1=1、d0=0、d1=1、g0=0、g1=1である場合の具体例を示す。
上述のように、本実施形態では、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの前方一致検索を行うことができる。また、秘匿されたデータベースの一致検索を従来よりも少ない通信量で行うことができる。
第4実施形態は第2,3実施形態の変形例である。本実施形態では、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの前方一致検索を行う。完全一致検索の場合と同様、検索対象ワードxiの文字xi,t(i)+1,…,xi,Nがヌル文字であり、検索ワードkの文字kt(i)+1,…,kNがワイルドカード文字を含み得る場合、第3実施形態の方法では正しく前方一致検索を行うことができないことがある。本実施形態では、このような場合にも正しく前方一致検索を行う方式を説明する。
図1に例示するように、本実施形態の検索システム4は、検索を依頼する依頼装置11、および検索を行う検索装置42-hを有し、秘密計算による検索処理を行う。ただし、h=1,…,Hであり、Hは1以上の整数である。秘密分散方式に基づく秘密計算を行う場合にはH≧2であり、準同型性暗号方式に基づく秘密計算を行う場合にはH=1である。
第1実施形態と同じである。
図17を用いて本実施形態の検索処理を説明する。依頼装置11は、n個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)を秘匿化して秘匿化検索ワード[k]を得る。ただし、nは正整数であり、n≦Nである。文字k1,…,knはワイルドカード文字を含んでもよい。第3実施形態と異なり、検索対象ワードxiがヌル文字xi,t(i)+1,…,xi,Nを含んでいる場合に、kt(i)+1,…,kNがワイルドカード文字を含んでいてもよい。
以下に、a0=0、a1=1、b0=0、b1=1、c0=0、c1=1、d0=0、d1=1、ρ0=0、ρ1=1、g0=0、g1=1である場合の具体例を示す。図18および図19はn<Nおよびt(i)<Nの例である。knがワイルドカード文字「*」であり、kn+1,…,kNおよびxi,t(i)+1,…,xi,Nがヌル文字である。
上述のように、本実施形態では、検索対象ワードxiの文字xi,t(i)+1,…,xi,Nがヌル文字であり、検索ワードkの文字kt(i)+1,…,kNがワイルドカード文字を含み得る場合であっても、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの前方一致検索を行うことができる。また、秘匿されたデータベースの一致検索を従来よりも少ない通信量で行うことができる。
第5実施形態は第1,2実施形態の変形例である。第1,2実施形態では秘匿化検索対象ワードと秘匿化検索ワードとの長さが互いに同一であることが前提であった。これに対し、本実施形態では、秘匿化検索対象ワードと秘匿化検索ワードとの長さが互いに同一であるか否かにかかわらず、完全一致検索を行うことができる。
記憶部128-hには、t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N(i))(例えば、図21のDB参照)が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]が格納されている。ただし、m,t(i),N(i)が正整数であり、i=1,…,mであり、j(i)=1,…,N(i)であり、t(i)≦N(i)である。検索対象ワードxiに含まれるt(i)個の文字xi,1,…,xi,t(i)は検索対象となる通常文字である。一方、検索対象ワードxiに含まれる残りのN(i)-t(i)個の文字xi,t(i)+1,…,xi,N(i)はヌル文字である。文字xi,1,…,xi,t(i),…,xi,N(i)のそれぞれを別々に秘匿化して得られた秘匿値[xi,1],…,[xi,t(i)],…,[xi,N(i)]の集合を秘匿化検索対象ワード[xi]としてもよいし、N(i)個の文字xi,1,…,xi,t(i),…,xi,N(i)をまとめて秘匿化したものを秘匿化検索対象ワード[xi]としてもよい。その他は第1実施形態で述べた通りである。
図20を用いて本実施形態の検索処理を説明する。依頼装置11は、n個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)を秘匿化して秘匿化検索ワード[k]を得る。ただし、j=1,…,Nであり、nは正整数であり、n≦Nである。文字k1,…,knはワイルドカード文字を含んでもよい。検索対象ワードxiがヌル文字xi,t(i)+1,…,xi,Nを含んでいる場合に、kt(i)+1,…,kNがワイルドカード文字を含んでいてもよい。n,Nが正整数であり、n≦Nである。N≦N(i)のときMmin=Nであり、N>N(i)のときMmin=N(i)である。このようなMminをMmin=min(N(i),N)と表記する。また、N≦N(i)のときNmax=N(i)であり、N>N(i)のときNmax=Nである。このようなMmaxをMmax=max(N(i),N)と表記する。記載表記の制約上、Nminを「Nmin」と表記し、Nmaxを「Nmax」と表記する場合がある。j”=Mmin+1,…,Nであり、j”(i)=Mmin+1,…,N(i)である。ただし、Mmin+1≧Nのときj”は空であり、Mmin+1≧N(i)のときj”(i)は空である。前述のように、文字k1,…,kn,…,kNのそれぞれを別々に秘匿化して得られた秘匿値[k1],…,[kn],…,[kN]の集合を秘匿化検索ワード[k]としてもよいし、N個の文字k1,…,kn,…,kNをまとめて秘匿化したものを秘匿化検索ワード[k]としてもよい。
本実施形態の処理をN=N(i)の場合、N>N(i)の場合、N<N(i)の場合に区分して記載すると以下のようになる。
m,n,t(i),N,N(i)が正整数であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、n≦Nであり、t(i)≦N(i)である。等号判定部521-hは、秘匿化検索対象ワード[xi]と秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得て出力する。ワイルドカード判定部522-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kjがワイルドカード文字の場合にwj=b1であり、kjがワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得て出力する。論理和演算部523-hは、秘匿化演算結果[ei]と秘匿化演算結果[w]とを用いた秘密計算によって、ei,j=a1およびwj=b1の少なくとも一方を満たす場合にyi,j=d1であり、ei,j=a0およびwj=b0の両方を満たす場合にyi,j=d0である、演算結果yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]=[e’i]を得て出力する。例えば、図23に例示するように、a0=0、a1=1、b0=0、b1=1、d0=0、d1=1、g0=0、g1=1であり、kn-1がワイルドカード文字「*」であり、j=1,…,n-2,nについてx2,j=kjを満たす場合、e2=(1,1,…,1,0,1,0,1,…,1)、w=(0,0,…,0,1,0,0,0,…,0)、y2=e’2=(1,1,…,1,1,1,0,1,…,1)となる。そのため、z2=0となる。
m,n,t(i),N,N(i)が正整数であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、j”(i)=N(i)+1,…,Nであり、n≦Nであり、t(i)≦N(i)である。等号判定部521-hは、秘匿化検索対象ワード[xi]と秘匿化検索ワード[k]とを用いた秘密計算によって、xi,j(i)がkj(i)の場合にei,j(i)=a1であり、xi,j(i)がkj(i)でない場合にei,j(i)=a0である、演算結果ei=(ei,1,…,ei,N(i))が秘匿された秘匿化演算結果[ei]を得て出力する。ワイルドカード判定部522-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kj(i)がワイルドカード文字の場合にwj(i)=d1であり、kj(i)がワイルドカード文字でない場合にwj(i)=d0である、演算結果w=(w1,…,wN(i))が秘匿された秘匿化演算結果[w]を得て出力する。ヌル判定部525-h(第1ヌル判定部)は、秘匿化検索ワード[k]の少なくとも一部を用いた秘密計算によって、kj”(i)がヌル文字の場合にu’j”(i)=c1であり、kj”(i)がヌル文字でない場合にu’j”(i)=c0である、演算結果u’N(i)+1,…,u’Nが秘匿された秘匿化演算結果[u’]を得て出力する。論理和演算部523-hは、秘匿化演算結果[ei]と秘匿化演算結果[w]とを用いた秘密計算によって、ei,j(i)=a1およびwj(i)=b1の少なくとも一方を満たす場合にe’i,j(i)=d1であり、ei,j(i)=a0およびwj(i)=b0の両方を満たす場合にe’i,j(i)=d0である、演算結果e’i=(e’i,1,…,e’i,N(i))が秘匿された秘匿化演算結果[e’i]を得て出力する。連結部528-hは、秘匿化演算結果[u’]および秘匿化演算結果[e’i]を用いた秘密計算によって、演算結果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N)が秘匿された秘匿化演算結果[yi]を得て出力する。例えば、図22に例示するように、a0=0、a1=1、b0=0、b1=1、d0=0、d1=1、g0=0、g1=1であり、kn-1がワイルドカード文字「*」であり、j=1,…,n-2,nについてx1,j=kjを満たす場合、e1=(1,1,…,1,0,1,1,1,…,1)、w=(0,0,…,0,1,0,0,0,…,0)、e’1=(1,1,…,1,1,1,1,1,…,1)となり、y1=(1,1,…,1,1,1,1,1,…,1,1)となる。そのため、z1=1となる。
m,n,t(i),N,N(i)が正整数であり、N<N(i)であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、n≦Nであり、t(i)≦N(i)であり、j”(i)=N+1,…,N(i)である。等号判定部521-hは、秘匿化検索対象ワード[xi]と秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得て出力する。ワイルドカード判定部522-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kjがワイルドカード文字の場合にwj=b1であり、kjがワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得て出力する。論理和演算部523-hは、秘匿化演算結果[ei]と秘匿化演算結果[w]とを用いた秘密計算によって、ei,j=a1およびwj=b1の少なくとも一方を満たす場合にe’i,j=d1であり、ei,j=a0およびwj=b0の両方を満たす場合にe’i,j=d0である、演算結果e’i=(e’i,1,…,e’i,N)が秘匿された秘匿化演算結果[e’i]を得て出力する。ヌル判定部524-h(第2ヌル判定部)は、秘匿化検索対象ワード[xi]の少なくとも一部を用いた秘密計算によって、xi,j”(i)がヌル文字の場合にμ’i,j”(i)=d1であり、xi,j”(i)がヌル文字でない場合にμ’i,j”(i)=d0である、演算結果μ’i=(μ’i,N+1,…,μ’i,N(i))が秘匿された秘匿化演算結果[μ’i]を得て出力する。連結部528-hは、秘匿化演算結果[e’i]と秘匿化演算結果[μ’i]とを用いた秘密計算によって、演算結果yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i))が秘匿された秘匿化演算結果[yi]を得て出力する。例えば、図24に例示するように、a0=0、a1=1、b0=0、b1=1、d0=0、d1=1、g0=0、g1=1であり、kn-1がワイルドカード文字「*」であり、j=1,…,n-2,nについてx3,j=kjを満たす場合、e3=(1,1,…,1,0,0,1,1,…,1)、w=(0,0,…,0,1,0,0,0,…,0)、e’3=(1,1,…,1,1,0,1,1,…,1)となり、y3=(1,1,…,1,1,0,1,1,…,1,1)となる。そのため、z3=0となる。
上述のように、本実施形態では、検索ワードkがワイルドカード文字を含み得る場合であっても、検索ワードkおよび検索対象ワードxiの少なくとも一方がヌル文字を含み得る場合であっても、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの完全一致検索を行うことができる。さらに、本実施形態では、秘匿化検索対象ワードと秘匿化検索ワードとの長さが互いに同一であるか否かにかかわらず完全一致検索を行うことができる。また、秘匿されたデータベースの一致検索を従来よりも少ない通信量で行うことができる。
第6実施形態は第3,4実施形態の変形例である。第3,4実施形態では秘匿化検索対象ワードと秘匿化検索ワードとの長さが互いに同一であることが前提であった。これに対し、本実施形態では、秘匿化検索対象ワードと秘匿化検索ワードとの長さが互いに同一であるか否かにかかわらず、前方一致検索を行うことができる。
第5実施形態と同じである。
本実施形態の処理をN>N(i)の場合、N≦N(i)の場合に区分して記載すると以下のようになる。
m,n,t(i),N,N(i)が正整数であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、j”(i)=N(i)+1,…,Nであり、n≦Nであり、t(i)≦N(i)である。等号判定部521-hは、秘匿化検索対象ワード[xi]と秘匿化検索ワード[k]とを用いた秘密計算によって、xi,j(i)がkj(i)の場合にei,j(i)=a1であり、xi,j(i)がkj(i)でない場合にei,j(i)=a0である、演算結果ei=(ei,1,…,ei,N(i))が秘匿された秘匿化演算結果[ei]を得て出力する。ワイルドカード判定部522-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kj(i)がワイルドカード文字の場合にwj(i)=b1であり、kj(i)がワイルドカード文字でない場合にwj(i)=b0である、演算結果w=(w1,…,wN(i))が秘匿された秘匿化演算結果[w]を得て出力する。ヌル判定部625-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kjがヌル文字の場合にu”j=c1であり、kjがヌル文字でない場合にu”j=c0である、演算結果u”=(u”1,…,u”N)が秘匿された秘匿化演算結果[u”]を得て出力する。論理和演算部623-hは、秘匿化演算結果[w]と秘匿化演算結果[u”]の少なくとも一部を用いた秘密計算によって、u”j(i)=c1およびwj(i)=b1の少なくとも一方を満たす場合にw’j(i)=b’1であり、u”j(i)=c0およびwj(i)=b0の両方を満たす場合にw’j(i)=b’0である、演算結果w’=(w’1,…,w’N(i))が秘匿された秘匿化演算結果[w’]を得て出力する。論理和演算部623-hは、秘匿化演算結果[ei]と秘匿化演算結果[w’]とを用いた秘密計算によって、e’i,j(i)=a1およびw’j(i)=b’1の少なくとも一方を満たす場合にe’i,j(i)=d1であり、ei,j(i)=a0およびw’j(i)=b’0の両方を満たす場合にyi,j(i)=d0である、演算結果e’i=(e’i,1,…,e’i,N(i))が秘匿された秘匿化演算結果[e’i]を得て出力する。連結部628-hは秘匿化演算結果[e’i]と秘匿化演算結果[u”]の少なくとも一部とを用いた秘密計算によって、演算結果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N)が秘匿された秘匿化演算結果[yi]を得て出力する。例えば、図26に例示するように、a0=0、a1=1、b0=0、b1=1、b’0=0、b’1=1、c0=0、c1=1、d0=0、d1=1、g0=0、g1=1であり、kn-1がワイルドカード文字「*」であり、j=1,…,n-2,nについてx1,j=kjを満たす場合、e1=(1,1,…,1,0,1,1,1,…,1)、w=(0,0,…,0,1,0,0,0,…,0)、u”=(0,0,…,0,0,0,1,1,…,1,1)、w’=(0,0,…,0,1,0,1,1,…,1)となり、e’1=(1,1,…,1,1,1,1,1,…,1)となり、y1=(1,1,…,1,1,1,1,1,…,1,1)となる。そのため、z1=1となる。
m,n,t(i),N,N(i)が正整数であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、n≦Nであり、t(i)≦N(i)である。等号判定部521-hは、秘匿化検索対象ワード[xi]と秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得て出力する。ワイルドカード判定部522-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kjがワイルドカード文字の場合にwj=b1であり、kjがワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得て出力する。ヌル判定部625-hは、秘匿化検索ワード[k]を用いた秘密計算によって、kjがヌル文字の場合にu”j=c1であり、kjがヌル文字でない場合にu”j=c0である、演算結果u”=(u”1,…,u”N)が秘匿された秘匿化演算結果[u”]を得て出力する。論理和演算部623-hは、秘匿化演算結果[w]と秘匿化演算結果[u”]を用いた秘密計算によって、u”j=c1およびwj=b1の少なくとも一方を満たす場合にw’j=b’1であり、u”j=c0およびwj=b0の両方を満たす場合にw’j=b’0である、演算結果w’=(w’1,…,w’N)が秘匿された秘匿化演算結果[w’]を得て出力する。論理和演算部623-hは、秘匿化演算結果[ei]と秘匿化演算結果[w’]とを用いた秘密計算によって、ei,j=a1およびw’j=b’1の少なくとも一方を満たす場合にyi,j=d1であり、ei,j=a0およびw’j=b’0の両方を満たす場合にyi,j=d0である、演算結果e’i=yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]を得て出力する。例えば、図27に例示するように、a0=0、a1=1、b0=0、b1=1、b’0=0、b’1=1、c0=0、c1=1、d0=0、d1=1、g0=0、g1=1であり、kn-1がワイルドカード文字「*」であり、j=1,…,n-2,nについてx1,j=kjを満たし、N=N(2)の場合、e2=(1,1,…,1,0,1,1,1,…,1)、w=(0,0,…,0,1,0,0,0,…,0)、u”=(0,0,…,0,0,0,1,1,…,1,1)、w’=(0,0,…,0,1,0,1,1,…,1)となり、e’2=(1,1,…,1,1,1,1,1,…,1)となり、y2=(1,1,…,1,1,1,1,1,…,1,1)となる。そのため、z1=1となる。例えば、図28に例示するように、N<N(3)の場合、e3=(1,1,…,1,0,0,1,1,…,1)、w=(0,0,…,0,1,0,0,0,…,0)、u”=(0,0,…,0,0,0,1,1,…,1,1)、w’=(0,0,…,0,1,0,1,1,…,1)となり、e’3=(1,1,…,1,1,0,1,1,…,1)となり、y3=(1,1,…,1,1,0,1,1,…,1,1)となる。そのため、z3=0となる。
上述のように、本実施形態では、検索ワードkがワイルドカード文字を含み得る場合であっても、検索ワードkおよび検索対象ワードxiの少なくとも一方がヌル文字を含み得る場合であっても、ワイルドカード文字を含む検索ワードを秘匿したまま、秘匿されたデータベースの前方一致検索を行うことができる。さらに、本実施形態では、秘匿化検索対象ワードと秘匿化検索ワードとの長さが互いに同一であるか否かにかかわらず前方一致検索を行うことができる。また、秘匿されたデータベースの一致検索を従来よりも少ない通信量で行うことができる。
なお、本発明は上述の実施形態に限定されるものではない。例えば、検索装置が秘匿化演算結果[yi]をそのまま出力してもよいし、秘匿化演算結果[yi]に対してステップS127-hとは異なる秘密計算を施し、それによって得られた結果を出力してもよい。
参考文献1: Ivan Damgard, Matthias Fitzi, Eike Kiltz, Jesper Buus Nielsen, Tomas Toft, “Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation”, TCC 2006, pp. 285-304.
参考文献2:千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の再考(Secure Database Operations Using An Improved 3-party Verifiable Secure Function Evaluation)”, In CSS, 2010.
参考文献3:Takashi Nishide, Kazuo Ohta, “Multiparty computation for interval, equality, and comparison without bit-decomposition protocol”, PKC, pp. 343-360, 2007.
12-1~H,22-1~H,32-1~H,42-1~H 検索装置
Claims (13)
- 秘密計算によって完全一致検索を行う検索装置であって、
m,n,t(i),Nが正整数であり、i=1,…,mであり、j=1,…,Nであり、n≦Nであり、t(i)≦Nであり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N)が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjが前記ワイルドカード文字の場合にwj=b1であり、kjが前記ワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[w]とを用いた秘密計算によって、ei,j=a1およびwj=b1の少なくとも一方を満たす場合にyi,j=d1であり、ei,j=a0およびwj=b0の両方を満たす場合にyi,j=d0である、演算結果yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]を得る論理和演算部と、
を有する検索装置。 - 秘密計算によって完全一致検索を行う検索装置であって、
m,n,t(i),Nが正整数であり、i=1,…,mであり、j=1,…,Nであり、n≦Nであり、t(i)≦Nであり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N)が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjが前記ワイルドカード文字の場合にwj=b1であり、kjが前記ワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化検索対象ワード[xi]を用いた秘密計算によって、xi,jがヌル文字の場合にμi,j=θ0であり、xi,jがヌル文字でない場合にμi,j=θ1である、演算結果μi=(μi,1,…,μi,N)が秘匿された秘匿化演算結果[μi]を得るヌル判定部と、
前記秘匿化演算結果[w]と前記秘匿化演算結果[μi]とを用いた秘密計算によって、wj=b1およびμi,j=θ1の両方を満たす場合にvi,j=ρ1であり、wj=b0およびμi,j=θ0の少なくとも一方を満たす場合にvi,j=ρ0である、演算結果vi=(vi,1,…,vi,N)が秘匿された秘匿化演算結果[vi]を得る論理積演算部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[vi]とを用いた秘密計算によって、ei,j=a1およびvi,j=ρ1の少なくとも一方を満たす場合にyi,j=d1であり、ei,j=a0およびvi,j=ρ0の両方を満たす場合にyi,j=d0である、演算結果yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]を得る論理和演算部と、
を有する検索装置。 - 秘密計算によって前方一致検索を行う検索装置であって、
m,n,t(i),Nが正整数であり、i=1,…,mであり、j=1,…,Nであり、n≦Nであり、t(i)≦Nであり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N)が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjが前記ワイルドカード文字の場合にwj=b1であり、kjが前記ワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjがヌル文字の場合にuj=c1であり、kjがヌル文字でない場合にuj=c0である、演算結果u=(u1,…,uN)が秘匿された秘匿化演算結果[u]を得る第1ヌル判定部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[w]と前記秘匿化演算結果[u]とを用いた秘密計算によって、ei,j=a1、wj=b1、およびuj=c1の少なくとも何れかを満たす場合にyi,j=d1であり、ei,j=a0およびwj=b0およびuj=c0のすべての満たす場合にyi,j=d0である、演算結果yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]を得る論理和演算部と、
を有する検索装置。 - 秘密計算によって前方一致検索を行う検索装置であって、
m,n,t(i),Nが正整数であり、i=1,…,mであり、j=1,…,Nであり、n≦Nであり、t(i)≦Nであり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N)が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjが前記ワイルドカード文字の場合にwj=b1であり、kjが前記ワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjがヌル文字の場合にuj=c1であり、kjがヌル文字でない場合にuj=c0である、演算結果u=(u1,…,uN)が秘匿された秘匿化演算結果[u]を得る第1ヌル判定部と、
前記秘匿化検索対象ワード[xi]を用いた秘密計算によって、xi,jがヌル文字の場合にμi,j=θ0であり、xi,jがヌル文字でない場合にμi,j=θ1である、演算結果μi=(μi,1,…,μi,N)が秘匿された秘匿化演算結果[μi]を得る第2ヌル判定部と、
前記秘匿化演算結果[w]と前記秘匿化演算結果[μi]とを用いた秘密計算によって、wj=b1およびμi,j=θ1の両方を満たす場合にvi,j=ρ1であり、wj=b0およびμi,j=θ0の少なくとも一方を満たす場合にvi,j=ρ0である、演算結果vi=(vi,1,…,vi,N)が秘匿された秘匿化演算結果[vi]を得る論理積演算部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[u]と前記秘匿化演算結果[vi]とを用いた秘密計算によって、ei,j=a1、vi,j=ρ1、およびuj=c1の少なくとも何れかを満たす場合にyi,j=d1であり、ei,j=a0およびvi,j=ρ0およびuj=c0のすべての満たす場合にyi,j=d0である、演算結果yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]を得る論理和演算部と、
を有する検索装置。 - 請求項1から4の何れかの検索装置であって、
前記秘匿化演算結果[yi]を用いた秘密計算によって、yi,1=…=yi,N=d1の場合にzi=g1であり、yi,1=…=yi,N=d1でない場合にzi=g0である一致判定結果ziが秘匿された秘匿化一致判定結果[zi]を得る論理積演算部を有する、検索装置。 - 秘密計算によって完全一致検索を行う検索装置であって、
m,n,t(i),N,N(i)が正整数であり、N>N(i)であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、j”(i)=N(i)+1,…,Nであり、n≦Nであり、t(i)≦N(i)であり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N(i))が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,j(i)がkj(i)の場合にei,j(i)=a1であり、xi,j(i)がkj(i)でない場合にei,j(i)=a0である、演算結果ei=(ei,1,…,ei,N(i))が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kj(i)が前記ワイルドカード文字の場合にwj(i)=d1であり、kj(i)が前記ワイルドカード文字でない場合にwj(i)=d0である、演算結果w=(w1,…,wN(i))が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化検索ワード[k]の少なくとも一部を用いた秘密計算によって、kj”(i)がヌル文字の場合にu’j”(i)=c1であり、kj”(i)がヌル文字でない場合にu’j”(i)=c0である、演算結果u’N(i)+1,…,u’Nが秘匿された秘匿化演算結果[u’]を得る第1ヌル判定部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[w]とを用いた秘密計算によって、ei,j(i)=a1およびwj(i)=b1の少なくとも一方を満たす場合にe’i,j(i)=d1であり、ei,j(i)=a0およびwj(i)=b0の両方を満たす場合にe’i,j(i)=d0である、演算結果e’i=(e’i,1,…,e’i,N(i))が秘匿された秘匿化演算結果[e’i]を得る論理和演算部と、
前記秘匿化演算結果[u’]および秘匿化演算結果[e’i]を用いた秘密計算によって、演算結果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N)が秘匿された秘匿化演算結果[yi]を得る連結部と、
を有する検索装置。 - 秘密計算によって完全一致検索を行う検索装置であって、
m,n,t(i),N,N(i)が正整数であり、N<N(i)であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、n≦Nであり、t(i)≦N(i)であり、j”(i)=N+1,…,N(i)であり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N(i))が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjが前記ワイルドカード文字の場合にwj=b1であり、kjが前記ワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[w]とを用いた秘密計算によって、ei,j=a1およびwj=b1の少なくとも一方を満たす場合にe’i,j=d1であり、ei,j=a0およびwj=b0の両方を満たす場合にe’i,j=d0である、演算結果e’i=(e’i,1,…,e’i,N)が秘匿された秘匿化演算結果[e’i]を得る論理和演算部と、
前記秘匿化検索対象ワード[xi]の少なくとも一部を用いた秘密計算によって、xi,j”(i)がヌル文字の場合にμ’i,j”(i)=d1であり、xi,j”(i)がヌル文字でない場合にμ’i,j”(i)=d0である、演算結果μ’i=(μ’i,N+1,…,μ’i,N(i))が秘匿された秘匿化演算結果[μ’i]を得る第2ヌル判定部と、
前記秘匿化演算結果[e’i]と前記秘匿化演算結果[μ’i]とを用いた秘密計算によって、演算結果yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i))が秘匿された秘匿化演算結果[yi]を得る連結部と、
を有する検索装置。 - 秘密計算によって前方一致検索を行う検索装置であって、
m,n,t(i),N,N(i)が正整数であり、N≦N(i)であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、n≦Nであり、t(i)≦N(i)であり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N(i))が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,jがkjの場合にei,j=a1であり、xi,jがkjでない場合にei,j=a0である、演算結果ei=(ei,1,…,ei,N)が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjが前記ワイルドカード文字の場合にwj=b1であり、kjが前記ワイルドカード文字でない場合にwj=b0である、演算結果w=(w1,…,wN)が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjがヌル文字の場合にu”j=c1であり、kjがヌル文字でない場合にu”j=c0である、演算結果u”=(u”1,…,u”N)が秘匿された秘匿化演算結果[u”]を得るヌル判定部と、
前記秘匿化演算結果[w]と前記秘匿化演算結果[u”]とを用いた秘密計算によって、u”j=c1およびwj=b1の少なくとも一方を満たす場合にw’j=b’1であり、u”j=c0およびwj=b0の両方を満たす場合にw’j=b’0である、演算結果w’=(w’1,…,w’N)が秘匿された秘匿化演算結果[w’]を得る第1論理和演算部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[w’]とを用いた秘密計算によって、ei,j=a1およびw’j=b’1の少なくとも一方を満たす場合にyi,j=d1であり、ei,j=a0およびw’j=b’0の両方を満たす場合にyi,j=d0である、演算結果yi=(yi,1,…,yi,N)が秘匿された秘匿化演算結果[yi]を得る第2論理和演算部と、
を有する検索装置。 - 秘密計算によって前方一致検索を行う検索装置であって、
m,n,t(i),N,N(i)が正整数であり、N>N(i)であり、i=1,…,mであり、j=1,…,Nであり、j(i)=1,…,N(i)であり、j”(i)=N(i)+1,…,Nであり、n≦Nであり、t(i)≦N(i)であり、
t(i)個の文字xi,1,…,xi,t(i)を含む検索対象ワードxi=(xi,1,…,xi,t(i),…,xi,N(i))が秘匿された秘匿化検索対象ワード[xi]を含む秘匿化データベース[x1],…,[xm]を格納する記憶部と、
ワイルドカード文字を含むn個の文字k1,…,knを含む検索ワードk=(k1,…,kn,…,kN)が秘匿された秘匿化検索ワード[k]の入力を受け付ける入力部と、
前記秘匿化検索対象ワード[xi]と前記秘匿化検索ワード[k]とを用いた秘密計算によって、xi,j(i)がkj(i)の場合にei,j(i)=a1であり、xi,j(i)がkj(i)でない場合にei,j(i)=a0である、演算結果ei=(ei,1,…,ei,N(i))が秘匿された秘匿化演算結果[ei]を得る等号判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kj(i)が前記ワイルドカード文字の場合にwj(i)=b1であり、kj(i)が前記ワイルドカード文字でない場合にwj(i)=b0である、演算結果w=(w1,…,wN(i))が秘匿された秘匿化演算結果[w]を得るワイルドカード判定部と、
前記秘匿化検索ワード[k]を用いた秘密計算によって、kjがヌル文字の場合にu”j=c1であり、kjがヌル文字でない場合にu”j=c0である、演算結果u”=(u”1,…,u”N)が秘匿された秘匿化演算結果[u”]を得るヌル判定部と、
前記秘匿化演算結果[w]と前記秘匿化演算結果[u”]の少なくとも一部を用いた秘密計算によって、u”j(i)=c1およびwj(i)=b1の少なくとも一方を満たす場合にw’j(i)=b’1であり、u”j(i)=c0およびwj(i)=b0の両方を満たす場合にw’j(i)=b’0である、演算結果w’=(w’1,…,w’N(i))が秘匿された秘匿化演算結果[w’]を得る第1論理和演算部と、
前記秘匿化演算結果[ei]と前記秘匿化演算結果[w’]とを用いた秘密計算によって、e’i,j(i)=a1およびw’j(i)=b’1の少なくとも一方を満たす場合にe’i,j(i)=d1であり、ei,j(i)=a0およびw’j(i)=b’0の両方を満たす場合にe’i,j(i)=d0である、演算結果e’i=(e’i,1,…,e’i,N(i))が秘匿された秘匿化演算結果[e’i]を得る第2論理和演算部と、
前記秘匿化演算結果[e’i]と前記秘匿化演算結果[u”]の少なくとも一部とを用いた秘密計算によって、演算結果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N)が秘匿された秘匿化演算結果[yi]を得る連結部と、
を有する検索装置。 - 請求項6から9の何れかの検索装置であって、
N≦N(i)のときNmax=N(i)であり、N>N(i)のときNmax=Nであり、
前記秘匿化演算結果[yi]を用いた秘密計算によって、yi,1=…=yi,Nmax=d1の場合にzi=g1であり、yi,1=…=yi,Nmax=d1でない場合にzi=g0である一致判定結果ziが秘匿された秘匿化一致判定結果[zi]を得る論理積演算部を有する、検索装置。 - 請求項1から10の何れかの検索装置の検索方法。
- 請求項1から10の何れかの検索装置としてコンピュータを機能させるためのプログラム。
- 請求項1から10の何れかの検索装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2018389418A AU2018389418B2 (en) | 2017-12-19 | 2018-12-10 | Retrieval device, retrieval method, program, and recording medium |
EP18892647.1A EP3731215B1 (en) | 2017-12-19 | 2018-12-10 | Retrieval device, retrieval method, program, and recording medium |
JP2019560978A JP6927332B2 (ja) | 2017-12-19 | 2018-12-10 | 検索装置、検索方法、プログラム、および記録媒体 |
US16/954,247 US11675847B2 (en) | 2017-12-19 | 2018-12-10 | Retrieval device, retrieval method, program, and recording medium |
CN201880081581.2A CN111712868B (zh) | 2017-12-19 | 2018-12-10 | 检索装置、检索方法、以及记录介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017242830 | 2017-12-19 | ||
JP2017-242830 | 2017-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019124134A1 true WO2019124134A1 (ja) | 2019-06-27 |
Family
ID=66993387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/045254 WO2019124134A1 (ja) | 2017-12-19 | 2018-12-10 | 検索装置、検索方法、プログラム、および記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11675847B2 (ja) |
EP (1) | EP3731215B1 (ja) |
JP (1) | JP6927332B2 (ja) |
CN (1) | CN111712868B (ja) |
AU (1) | AU2018389418B2 (ja) |
WO (1) | WO2019124134A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009089B1 (en) * | 2011-06-27 | 2015-04-14 | Hrl Laboratories, Llc | Secure pattern matching |
JP2016148722A (ja) * | 2015-02-10 | 2016-08-18 | 日本電信電話株式会社 | 秘匿パターンマッチング装置、端末装置、その方法、プログラム、およびデータ構造 |
JP2016148693A (ja) * | 2015-02-10 | 2016-08-18 | 日本電信電話株式会社 | 秘匿パターンマッチング装置、端末装置、それらの方法、およびプログラム |
US20160366113A1 (en) * | 2015-06-09 | 2016-12-15 | Skyhigh Networks, Inc. | Wildcard search in encrypted text |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7500111B2 (en) * | 2003-05-30 | 2009-03-03 | International Business Machines Corporation | Querying encrypted data in a relational database system |
KR100903599B1 (ko) * | 2007-11-22 | 2009-06-18 | 한국전자통신연구원 | 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버 |
EP2525340B1 (en) * | 2010-01-15 | 2018-06-06 | Mitsubishi Electric Corporation | Confidential search system and encryption processing system |
US9613292B1 (en) * | 2012-01-26 | 2017-04-04 | Hrl Laboratories, Llc | Secure multi-dimensional pattern matching for secure search and recognition |
US20130238646A1 (en) * | 2012-03-06 | 2013-09-12 | Evrichart, Inc. | Partial-Match Searches of Encrypted Data Sets |
CN104995621B (zh) * | 2013-02-25 | 2018-06-05 | 三菱电机株式会社 | 服务器装置以及隐匿检索系统 |
US9652511B2 (en) * | 2013-03-13 | 2017-05-16 | International Business Machines Corporation | Secure matching supporting fuzzy data |
US10291396B2 (en) * | 2014-10-08 | 2019-05-14 | Nippon Telegraph And Telephone Corporation | Device, method and program for detecting positions of partial character strings |
WO2016129259A1 (ja) * | 2015-02-09 | 2016-08-18 | 日本電気株式会社 | サーバ装置、データ検索システム、検索方法および記録媒体 |
CN106209761A (zh) * | 2015-05-29 | 2016-12-07 | 松下电器(美国)知识产权公司 | 相似信息检索方法、终端装置以及相似信息检索系统 |
US9894042B2 (en) * | 2015-07-24 | 2018-02-13 | Skyhigh Networks, Inc. | Searchable encryption enabling encrypted search based on document type |
US9760637B2 (en) * | 2015-09-11 | 2017-09-12 | Skyhigh Networks, Inc. | Wildcard search in encrypted text using order preserving encryption |
-
2018
- 2018-12-10 JP JP2019560978A patent/JP6927332B2/ja active Active
- 2018-12-10 AU AU2018389418A patent/AU2018389418B2/en active Active
- 2018-12-10 CN CN201880081581.2A patent/CN111712868B/zh active Active
- 2018-12-10 US US16/954,247 patent/US11675847B2/en active Active
- 2018-12-10 WO PCT/JP2018/045254 patent/WO2019124134A1/ja unknown
- 2018-12-10 EP EP18892647.1A patent/EP3731215B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009089B1 (en) * | 2011-06-27 | 2015-04-14 | Hrl Laboratories, Llc | Secure pattern matching |
JP2016148722A (ja) * | 2015-02-10 | 2016-08-18 | 日本電信電話株式会社 | 秘匿パターンマッチング装置、端末装置、その方法、プログラム、およびデータ構造 |
JP2016148693A (ja) * | 2015-02-10 | 2016-08-18 | 日本電信電話株式会社 | 秘匿パターンマッチング装置、端末装置、それらの方法、およびプログラム |
US20160366113A1 (en) * | 2015-06-09 | 2016-12-15 | Skyhigh Networks, Inc. | Wildcard search in encrypted text |
Non-Patent Citations (5)
Title |
---|
BARON, J. ET AL.: "5PM: Secure Pattern Matching", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2012/698, 1 July 2013 (2013-07-01), pages 1 - 51, XP061007642, Retrieved from the Internet <URL:https://eprint.iacr.org/2012/698> [retrieved on 20190225], DOI: doi:10.3233/JCS-130481 * |
IVAN DAMGARDMATTHIAS FITZIEIKE KILTZJESPER BUUS NIELSENTOMAS TOFT: "Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation", TCC, 2006, pages 285 - 304, XP047422636, DOI: 10.1007/11681878_15 |
KOJI CHIDAKOKI HAMADADAI IKARASHIKATSUMI TAKAHASHI: "A Three-party Secure Function Evaluation with Lightweight Verifiability Revisited", CSS, 2010 |
KOKI HAMADANAOTO KIRIBUCHIDAI IKARASHI: "A Round-Efficient Pattern Matching Algorithm for Secure Multi-Party Computation", COMPUTER SECURITY SYMPOSIUM (CSS, 2014 |
TAKASHI NISHIDEKAZUO OHTA: "Multiparty computation for interval, equality, and comparison without bit-decomposition protocol", PKC, 2007, pages 343 - 360, XP047029618, DOI: 10.1007/978-3-540-71677-8_23 |
Also Published As
Publication number | Publication date |
---|---|
EP3731215A1 (en) | 2020-10-28 |
AU2018389418B2 (en) | 2021-11-04 |
AU2018389418A1 (en) | 2020-07-02 |
EP3731215A4 (en) | 2021-08-04 |
JPWO2019124134A1 (ja) | 2020-12-03 |
JP6927332B2 (ja) | 2021-08-25 |
CN111712868A (zh) | 2020-09-25 |
US20210011953A1 (en) | 2021-01-14 |
EP3731215B1 (en) | 2024-02-07 |
US11675847B2 (en) | 2023-06-13 |
CN111712868B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6034927B1 (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
US20180011996A1 (en) | Secret shared random access machine | |
US20160182222A1 (en) | Computer-Implemented System And Method For Multi-Party Data Function Computing Using Discriminative Dimensionality-Reducing Mappings | |
US10432405B1 (en) | Systems and methods for accelerating transaction verification by performing cryptographic computing tasks in parallel | |
JP2016510912A (ja) | プライバシーを保護する行列因子分解のための方法及びシステム | |
CN108881230B (zh) | 一种政务大数据的安全传输方法及装置 | |
US11792010B2 (en) | Distributed machine learning via secure multi-party computation and ensemble learning | |
Riazi et al. | MPCircuits: Optimized circuit generation for secure multi-party computation | |
US20220413807A1 (en) | Secure random number generation system, secure computation apparatus, secure random number generation method, and program | |
CN111126628B (zh) | 在可信执行环境中训练gbdt模型的方法、装置及设备 | |
WO2019124134A1 (ja) | 検索装置、検索方法、プログラム、および記録媒体 | |
CN110990829B (zh) | 在可信执行环境中训练gbdt模型的方法、装置及设备 | |
WO2018008547A1 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム | |
CN112417468B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
ur Rehman et al. | Blockchain-based approach for proving the source of digital media | |
CN109313664B (zh) | 费希尔精确检验计算装置、方法以及记录介质 | |
CN109328346B (zh) | 费希尔精确检验计算装置、方法以及记录介质 | |
Mishra et al. | Efficient collusion resistant multi-secret image sharing | |
JP7359225B2 (ja) | 秘密最大値計算装置、方法及びプログラム | |
US20240048519A1 (en) | Anonymous message board server verification | |
Chouragade et al. | A Survey on Privacy Preserving Content Based Image Retrieval and Information Sharing in Cloud Environment | |
KR102234542B1 (ko) | 블록 체인 기반 영상 저작물 관리 방법 | |
WO2023281693A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
WO2023281694A1 (ja) | 秘密計算システム、装置、方法及びプログラム | |
Vaiwsri et al. | Encryption-based sub-string matching for privacy-preserving record linkage |
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: 18892647 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019560978 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: 2018389418 Country of ref document: AU Date of ref document: 20181210 Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2018892647 Country of ref document: EP Effective date: 20200720 |