WO2013038698A1 - 検索システム、検索方法、およびプログラム - Google Patents
検索システム、検索方法、およびプログラム Download PDFInfo
- Publication number
- WO2013038698A1 WO2013038698A1 PCT/JP2012/005885 JP2012005885W WO2013038698A1 WO 2013038698 A1 WO2013038698 A1 WO 2013038698A1 JP 2012005885 W JP2012005885 W JP 2012005885W WO 2013038698 A1 WO2013038698 A1 WO 2013038698A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- enc
- sequence data
- encrypted
- encryption
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/40—Encryption of genetic data
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Definitions
- the present invention relates to a search system and a search method for checking whether there is similar data in a database while maintaining search conditions and the confidentiality of the database.
- “Today's drug discovery goes to the drug development process of preclinical trials through target search, hit compound search, lead compound search, and drug candidate synthesis.
- a disease-causing gene protein or the like
- sequence information analysis database research
- analysis of gene expression information in a microarray or the like.
- hit compound search compounds that are likely to be effective for the causative gene are searched by narrowing down candidates by docking and MD (simulation) on a computer, or by performing structure prediction and function prediction from similar proteins.
- the lead compound search a similar compound to the hit compound is searched for a more effective lead compound.
- verification experiments are conducted around the lead compound.
- NCBI National Center for Biotechnology Information
- Focused Library is a database that collects useful compounds that are expected to be hit easily by companies, especially when they are costly.
- Focused Library aggregates compounds that are considered to be highly effective against a specific drug discovery target (for example, GPCR, kinase, etc.).
- a specific drug discovery target for example, GPCR, kinase, etc.
- Non-Patent Document 1 that securely calculates the similarity (Tanimoto coefficient) between compounds.
- a researcher and a database holder encrypt a vector element representing a compound and send it to a third party, and the third party determines whether the two match. Repeat.
- Non-Patent Document 1 requires the existence of a researcher who has a hit compound as a search condition and a third party who may disclose confidential information in addition to the database holder. . Moreover, since communication for the number of elements of the vector occurs, it is not practical.
- the present invention examines whether the database contains data similar to the search condition in a state where both the database owner and the database user conceal their information from each other.
- a search system and a search method capable of
- the search system of the present invention includes a management device having a database that stores data representing a partial structure or property of an object, and a searcher device that inputs search conditions for the database and outputs search results.
- the data is sequence data in which “1” is set when an object has the partial structure or property for a plurality of predetermined partial structures or properties, and “0” is set when the object does not have the partial structure or property.
- T is the Tversky coefficient S i
- the following steps are performed to check whether the database includes sequence data p i that is equal to or greater than the threshold ⁇ n / ⁇ d (where ⁇ n and ⁇ d are natural numbers satisfying ⁇ n ⁇ ⁇ d ). To do. (1) The searcher device generates an encryption public key and secret key having additive homomorphism. (2) The searcher device accepts input of query number sequence data q.
- the searcher device obtains the number of elements
- While encrypting with the public key, the value of each element q j (where j 1,..., N: n is the length of the query number sequence q) is encrypted with the public key.
- the searcher apparatus determines that the public key, the encrypted value Enc ( ⁇
- the management device includes the public key output from the searcher device, the encrypted value Enc ( ⁇
- the management device reads one sequence data p i from the database.
- the management device obtains the number of elements
- the encryption value Enc (q k ) is performed, and the encryption value Enc (
- the management device converts (
- )) is obtained by performing a calculation corresponding to the calculation, and the encryption value Enc ( ⁇ a ( ⁇
- the management apparatus repeats the above (6) to (11) for each of the plurality of sequence data p i included in the database, and obtains an encrypted value of the score T i for each sequence data p i .
- the management device outputs the encrypted values of the scores T 1 , T 2 ,... T m to the searcher device.
- the searcher device receives the encrypted values of the scores T 1 , T 2 ,... T m output from the management device.
- the searcher device decrypts the encrypted values of the scores T 1 , T 2 ,... T m with the secret key. (16) said searcher apparatus, the score T 1, T 2, determines non-negative / negative ⁇ ⁇ ⁇ T m. (17)
- the searcher device outputs a determination result.
- the cipher may be a stochastic cipher. Further, the calculation corresponding to the addition in the plaintext may be multiplication in the encrypted value. As a cipher having these properties, a Palier cipher can be used.
- the present invention can use ciphers having additive homomorphism and additive homomorphism as well as ciphers having additive homomorphism described herein.
- the management device calculates the score T i for determining the Tversky coefficient S i using the encrypted value of the query sequence data q, so that the confidentiality of the query sequence data q can be maintained. it can. Further, the score T i only indicates whether the data of the object stored in the database is more similar than the predetermined threshold value ⁇ n / ⁇ d, so that the contents of the database may leak directly to the searcher. Absent. In this way, it is possible to obtain information on whether or not the database contains data similar to the query while maintaining the confidentiality of the query sequence data q and the database.
- ) ⁇ ) is a flowchart showing the algorithm for calculating. It is a flowchart which shows operation
- Random share R i is a flowchart illustrating an operation of acquiring a non-negative / negative information score T i. It is a flowchart which shows operation
- a search system and a search method according to an embodiment of the present invention will be described with reference to the drawings.
- a compound whose structure is expressed by a fingerprint will be described as an example.
- the present invention is not limited to searching for a compound, and the data (for example, data that can express the structure or property of an object with numerical data of “1” and “0” (for example, , A database storing genes).
- FIG. 1 is a diagram illustrating an example of a fingerprint.
- Fingerprint is one of the expression methods of a compound, and represents whether or not a compound has a predetermined partial structure by a numerical sequence having “1” and “0” as elements.
- the presence or absence of “pyrrole ring”, “benzene ring”, “O”, “N”, and “N double bond” is shown in order from the first bit.
- An element value of “0” indicates that there is no corresponding structure, and a value of “1” indicates that there is a corresponding structure. Since compound 1 has “1” standing on the 2nd to 4th bits, it contains “benzene ring”, “O”, “N”, and the 1st and 5th bits are “0”. And “N double bond” are not included.
- MDL MACCS key As a representation method using such a fingerprint, there are MDL MACCS key, Daylight Fingerprint, ECFP (Extended Connectivity FP), FCFP (Functional Class FP), pharmacophore key, and the like.
- ECFP Extended Connectivity FP
- FCFP Full Class FP
- pharmacophore key As a representation method using such a fingerprint, there are MDL MACCS key, Daylight Fingerprint, ECFP (Extended Connectivity FP), FCFP (Functional Class FP), pharmacophore key, and the like.
- FIG. 1 the example of MDL MACCS key was shown.
- FIG. 1 shows only 5 bits of data as an example, but the actual fingerprint length is longer, for example, 960 bits in the MDL MACCS key.
- the present invention can be applied when any fingerprint is used.
- FIG. 2B is a diagram showing the Tversky coefficient S.
- FIG. 2C is a diagram for explaining the Tversky coefficient.
- A is a set of partial structures of compound A, and corresponds to the left circle shown in FIG. 2C.
- B is a set of partial structures of the compound A, and corresponds to the right circle shown in FIG. 2C.
- C is a set (logical product) of partial structures shared by the compounds A and B, and corresponds to an overlapping portion of both circles shown in FIG. 2C.
- “ ⁇ ” and “ ⁇ ” included in the Tversky coefficient are coefficients having a value of 0 or more.
- the similarity between the compounds A and B can be measured from different viewpoints.
- S c / (a + b ⁇ c).
- This is a coefficient called the Tanimoto coefficient, and represents the ratio of the common partial structures among all the partial structures possessed by the compounds A and B.
- the partial structure of compound A is a set of partial structures that compound A and B have in common. It is a value obtained by dividing the number by the average of the number of partial structures of compound B. This is called a Dice coefficient. In any case, the larger the coefficient S, the higher the proportion of the compound A and the compound B that are similar.
- a compound having a Tversky coefficient equal to or greater than a predetermined threshold with a fingerprint of a compound (this is referred to as “query”) input by a searcher device, that is, a compound similar to a query. Find out how much is in the database. At this time, a search is performed while keeping the query secret in a management apparatus that manages the database.
- the search system according to the present embodiment uses a stochastic cipher having additive homomorphism, and the management apparatus performs an operation with the encrypted value as it is.
- additive homomorphism will be described.
- FIG. 3A is a diagram for explaining additive homomorphism.
- Enc () indicates an encrypted value obtained by encrypting the value in parentheses.
- Additive homomorphism cipher is a cipher that can perform a calculation corresponding to addition in plain text using a cipher value. That is, as shown in FIG. 3A, by calculating the encryption value Enc (A) of the value A and the encryption value Enc (B) of the value B, the encryption value Enc (A + B of the value A + B remains in the encrypted state. ) Can be calculated. The calculation performed on the encryption value Enc (A) and the encryption value Enc (B) differs depending on the type of encryption.
- FIG. 3B is a diagram for explaining additive homomorphism of the Palier encryption.
- the encryption value Enc (A + B) obtained by encrypting the value A + B can be obtained by multiplying the encryption value Enc (A) and the encryption value Enc (B). That is, multiplication of encrypted values corresponds to addition in plain text. Using this, it is possible to perform multiplication of integer multiples in plain text.
- FIG. 3C is a diagram illustrating an example in which the encrypted value Enc (A ⁇ B) of the value A ⁇ B is calculated in an encrypted state. Since A ⁇ B is the same as adding A to B times, when calculating with an encrypted value, multiplying the encrypted value Enc (A) B times (that is, Enc (A) is raised to the B power). The encryption value Enc (A ⁇ B) can be obtained. Needless to say, the encryption value Enc (B) may be multiplied A times.
- the data handled in this embodiment is binary data
- a unique ciphertext is generated for plaintext
- only two types of cipher values are generated: an encryption value for “1” and an encryption value for “0”. Therefore, the fingerprint of the query may be exposed.
- probability encryption is used.
- stochastic encryption since the encryption procedure is performed stochastically, no partial information of plaintext is leaked from the ciphertext.
- ciphertexts generated from the same plaintext are different.
- the Palier cipher is used as the probability cipher having additive homomorphism.
- the query is not exposed to the database administrator, but it has additive homomorphism.
- the fractional Tversky coefficient S i cannot be calculated. Therefore, in the present embodiment, the following score T is introduced that takes a non-negative (not negative, ie, positive or 0) value when the Tversky coefficient is equal to or greater than a predetermined threshold ⁇ n / ⁇ d . .
- the Pillar cipher has additive homomorphism, but since subtraction cannot be performed in the encrypted state, a negative value is added ( ⁇
- the score T i is obtained by modifying the inequality between the Tversky coefficient and the threshold ⁇ n / ⁇ d . Since the Pillar encryption cannot handle decimal numbers, the coefficient ⁇ , ⁇ of the Tversky coefficient S i is set to ⁇ a / ⁇ , ⁇ b / ⁇ , and the threshold value is expressed as ⁇ n / ⁇ d .
- FIG. 4 is a diagram illustrating a configuration of the search system according to the first embodiment.
- the search system includes a management device 10 having a database 12 storing compound fingerprints, and a searcher device 30 that sends a query to the management device 10 to request a search of the database 12.
- the management device 10 and the searcher device 30 are connected by a network 50 such as the Internet.
- the management apparatus 10 includes a compound database 12, a query reception unit 16, an input data check unit 18, a score encryption value calculation unit 20, a transmission order change unit 24, and a result transmission unit 26.
- the management apparatus 10 includes a set value storage unit 14 that stores the determination threshold ⁇ n / ⁇ d of the similarity based on the coefficients ⁇ a / ⁇ , ⁇ b / ⁇ , and the Tversky coefficient used in the Tversky coefficient, and the set value storage And a set value changing unit 22 for changing the set values stored in the unit 14.
- the management apparatus 10 is not shown in FIG. 4, it has a CPU and a storage unit used for calculating the similarity between the data p i of the compound query q. The hardware configuration of the database will be described later (see FIG. 5).
- the query receiving unit 16 has a function of receiving a query (search condition) transmitted from the searcher device 30.
- the query receiving unit 16 stores the received data in the storage unit.
- the query includes encrypted values Enc (q 1 ), Enc (q 2 ),... Enc (q n ) obtained by encrypting the value of each element of the compound fingerprint, and “1” included in the fingerprint.
- ) and the public key for encryption are included. Note that each value of the fingerprint and the number of “1” included in the fingerprint are all encrypted, so the management device 10 cannot know the contents.
- the input data check unit 18 has a function of checking whether or not the query received by the query receiving unit 16 is appropriate. For example, the value of each element of the fingerprint is an encrypted value of “1” or “0”, but if the numerical value is other than this, it is determined that the query is not appropriate, and the subsequent processing is performed. You can avoid it. As described above, the management device 10 cannot know the content of plaintext from the encrypted value, but such a check is performed by, for example, zero knowledge proof (Practical Private Computation and Zero-Knowledge Tools for Privacy-Preserving Distributed Data Mining). SDM 2008: pp.265-276, Towards restricting plaintext space in public key encryption, in: Proceedings of IWSEC 2011, LNCS 7038, 2011, pp.193-209.) Etc. The configuration of the input data check is not essential and can be omitted.
- the set value storage unit 14 stores coefficients ⁇ a / ⁇ , ⁇ b / ⁇ used as Tversky coefficients, and a threshold ⁇ d / ⁇ n used for calculating a Tversky score.
- the set value storage unit 14 may store several patterns of coefficients ⁇ a / ⁇ , ⁇ b / ⁇ and threshold values ⁇ d / ⁇ n .
- the coefficients ⁇ a / ⁇ and ⁇ b / ⁇ are changed according to the type of search (Tanimoto coefficient, partial structure search, Dice coefficient, etc.), or the threshold ⁇ d / ⁇ n is set according to the degree of similarity to be obtained. Can be changed.
- the score encryption value calculation unit 20 calculates the encryption values of the scores T 1 , T 2 ,... T m for each compound in the database 12. The calculation process of the encryption value of the score T by the score encryption value calculation unit 20 will be described later.
- Transmission order change section 24 has a function of exchanging a plurality of score T 1, T 2, the transmission order of cryptographic value of ⁇ ⁇ ⁇ T m at random. Specifically, the encryption values of the scores T 1 , T 2 ,... T m are stored in the storage unit in the order of calculation, and are randomly read from the storage unit when the transmission order changing unit 24 performs transmission. Thus, the transmission order can be changed.
- Score cryptographic value calculation unit 20 the score T 1, T 2 data of the compound from the database 12 reads sequentially, the calculation of the cryptographic values of ⁇ ⁇ ⁇ T m. Each time, the score T 1, T 2, and send the order of calculation of the cryptographic values of ⁇ ⁇ ⁇ T m, score T 1, T 2 to change the query appropriately on the side of the search apparatus 30 to obtain a ⁇ ⁇ ⁇ T m
- the transmission order changing unit 24 prevents such inconvenience.
- This configuration is not an essential configuration and can be omitted.
- the result transmitting unit 26 has a function of transmitting the encrypted values of the scores T 1 , T 2 ,... T m to the searcher device 30.
- the searcher device 30 includes a query input unit 32, an encryption key generation unit 34, an encryption unit 36, a query transmission unit 38, a result reception unit 40, a decryption unit 42, a determination unit 44, and a display unit. 46 and a storage unit 48.
- the query input unit 32 has a function of accepting input of fingerprint data q of a compound for which a similar compound is to be searched.
- the query input unit 32 may receive an input of the structural formula of the compound and may convert the structural formula into a fingerprint.
- the query input unit 32 stores the input fingerprint data q in the storage unit 48. Further, the query input unit 32 obtains the number of elements whose value included in the fingerprint is “1”, and also stores the obtained number of elements
- the encryption key generation unit 34 has a function of generating a public key that performs encryption using the Pillar encryption and a secret key that performs decryption.
- the encryption key generation unit 34 stores the generated public key and secret key in the storage unit.
- the encryption key generation unit 34 may generate a new public key and secret key for each query q, or may use the same public key and secret key for a plurality of queries q.
- the encryption unit 36 reads the value of each element q 1 , q 2 ,... Q n of the query fingerprint and the number of elements
- the negative sign is attached to the number of elements
- the encryption unit 36 encrypts encryption values Enc (q 1 ), Enc (q 2 ),... Enc (q n ) of each element of the fingerprint and the number of elements
- ) is input to the query transmission unit 38.
- the result receiving unit 40 has a function of receiving the encrypted values of the scores T 1 , T 2 ,... T m transmitted from the management device 10.
- the result receiving unit 40 stores the received encrypted values of the scores T 1 , T 2 ,... T m in the storage unit 48.
- the decrypting unit 42 has a function of decrypting the encrypted values of the scores T 1 , T 2 ,... T m received by the result receiving unit 40 using the secret key.
- the decryption unit 42 inputs the scores T 1 , T 2 ,... T m obtained by decryption to the determination unit 44.
- the determination unit 44 determines whether or not the scores T 1 , T 2 ,... T m have non-negative values. When the scores T 1 , T 2 ,... T m are non-negative, it can be seen that the Tversky coefficient is greater than or equal to a predetermined threshold ⁇ n / ⁇ d . By counting the number of scores T i having non-negative values, it is possible to know how many compounds are similar to the database 12 of the management apparatus 10.
- the display unit 46 has a function of displaying the determination result by the determination unit 44.
- the display unit 46 may display how many compounds have a Tversky coefficient equal to or greater than the threshold value ⁇ n / ⁇ d, or may display the ratio of the compounds.
- FIG. 5 is a diagram showing a hardware configuration of the management device 10 and the searcher device 30.
- Both the management device 10 and the searcher device 30 are configured by a computer in which a CPU 60, a RAM 62, a ROM 64, a communication interface 68, a hard disk 70, an operation unit 72, and a display 74 are connected by a data bus 76.
- the contents of the program 66 written in the ROM 64 are different between the management device 10 and the searcher device 30.
- the program 66 stored in the ROM 64 of the management apparatus 10 is a program for realizing the function of the management apparatus 10, and the program 66 stored in the ROM 64 of the searcher apparatus 30 is for realizing the function of the searcher apparatus 30. It is a program. Each such program 66 is included in the scope of the present invention.
- the management device 10 stores compound fingerprint data in a hard disk.
- FIG. 6 is a flowchart showing the operation of the search system of this embodiment.
- the searcher device 30 inputs fingerprint data q of the query compound (S10).
- the searcher device 30 stores the input fingerprint data q in the storage unit 48.
- the searcher device 30 generates a set of public and private keys for the Pillar encryption and stores them in the storage unit 48 (S12).
- the searcher device 30 reads the query fingerprint data q from the storage unit 48, and encrypts the values of the read fingerprint elements q 1 , q 2 ,... Q n with the public key (S14). .
- FIG. 7 is a diagram illustrating an example of obtaining an encrypted value by encrypting each element of the fingerprint.
- the searcher device 30 encrypts the value of each element, that is, “1” or “0” to obtain encrypted values Enc (q 1 ), Enc (q 2 ),... Enc (q n ). Since the Pillar cipher used in this embodiment is a probability cipher, even if the same value is encrypted, the cipher value does not become the same. As a result, it is possible to prevent the inconvenience of guessing the plaintext value from the encrypted value.
- the searcher device 30 obtains the number of elements whose value is “1” among the elements included in the fingerprint, encrypts the value obtained by adding a negative sign to the number of elements
- the searcher device 30 includes the public key, the encrypted value Enc ( ⁇
- the management device 10 transmits the public key transmitted from the searcher device 30, the encrypted value Enc (-
- the management device 10 checks the validity of the received data (S20).
- the encrypted value of each element of the query is an encrypted one of “1” and “0”, but if it is determined that neither “1” or “0” is present, the query sequence data q is Since it is incorrect, the management apparatus 10 interrupts the process at this point and notifies the searcher apparatus 30 that there is an input error of the query q.
- a malicious attacker who tries to extract more information in the database 12 of the management apparatus 10 by selecting an abnormal value other than 0 or 1 that is originally assumed as the query q. Therefore, the information in the database 12 can be protected.
- the management apparatus 10 calculates a cryptographic value of the score T i based on the fingerprint data (each data is referred to as “entry”) p i and the query q stored in the database 12 ( S22). A specific calculation method will be described with reference to FIGS.
- FIG. 8 is a flowchart showing the operation of calculating the cryptographic value of the score T i .
- the management apparatus 10 first reads one entry p i from the database 12 (S40).
- the management device 10 stores the read entry p i in the storage unit.
- the management apparatus 10 counts the number of elements whose value is “1” among the elements included in the entry p i , encrypts a value obtained by adding a negative sign to the number of elements
- ) is obtained (S42).
- is given a negative sign is that plaintext cannot be subtracted when the Pillar cipher is in an encrypted value state.
- the management apparatus 10 calculates the number of partial structures (
- FIG. 9A is a diagram illustrating an example of each element of the entry p i and each element of the query q.
- the partial structure that the query q and the entry p i have in common is an element in which “1” stands for both.
- the number of common partial structures can be obtained by obtaining the number of elements with “1” standing on both.
- the management apparatus 10 knows the value of each element of the entry p i , but cannot understand the value of each element of the query q. However, if the value of the element q k of the query q corresponding to the element p i, k where “1” is set in the entry p i is added (multiplication in the ciphertext), the value of the entry p i becomes “ The number of elements that are common to the query q and the entry p i can be obtained because any number of elements having a query q value of “0” and “0” does not affect the result.
- FIG. 10 is a flowchart showing an algorithm for obtaining the encryption value of the number of partial structures common to the query q and the entry p i read from the database 12.
- the management apparatus 10 initializes variables by setting “1” to each of the variable I and the counter j (S60).
- the variable I is a variable in which the encryption value of the number of elements of the common partial structure is entered, and the variable j is a counter.
- the variable I and the counter j are allotted an area to a part of the RAM 62, and the values of the variable I and the counter j are stored by writing data in the area. ing.
- the above initialization of the variable I and the counter j means that a value “1” is written in the assigned predetermined area.
- the calculation is performed using computer hardware resources such as the CPU 60 and the RAM 62 according to the program 66 stored in the ROM 64. Do.
- ⁇ ( ⁇ d ⁇ n ) + ⁇ n ( ⁇ a + ⁇ b ) is a set value, and is a natural number known to the management apparatus 10.
- an encrypted value obtained by multiplying a plaintext by an integer is obtained by raising the encrypted value to the power.
- ) is multiplied by ⁇ ( ⁇ d ⁇ n ) + ⁇ n ( ⁇ a + ⁇ b ) times.
- Figure 11 is a cryptographic value Enc is a flowchart showing the algorithm for calculating the ((
- the management device 10 encrypts the variable tmpX, j (S80).
- a variable tmpX is a variable for storing a calculation result, and a variable j is a counter.
- Management device 10 the encryption value Enc variable tmpX (
- the counter j ⁇ ( ⁇ d ⁇ n ) + ⁇ n ( ⁇ a + ⁇ b ) (YES in S84)
- the calculated calculation result tmpX is returned (S88).
- the management apparatus 10 calculates Enc ( ⁇ n ⁇ a ( ⁇
- FIG. 12 is a flowchart showing an algorithm for calculating Enc ( ⁇ n ⁇ a ( ⁇
- the management apparatus 10 sets “1” for each of the variables tmpY, j, and initializes the variable tmpY, j (S90).
- the variable tmpY is a variable in which the calculation result of Enc ( ⁇ a ( ⁇
- the management apparatus 10 multiplies tmpY by the encryption value Enc ( ⁇
- the management apparatus 10 sets “1” for each of the variables tmpZ, j, and initializes the variable tmpZ, j (S98).
- Variable tmpY the encrypted value Enc ( ⁇ b (-
- Management device 10 the encryption value tmpZ Enc (-
- ) ⁇ ) is the encrypted value Enc ( ⁇ a ( ⁇
- )) is encrypted value Enc ( ⁇ a (-
- the management apparatus 10 sets “1” for each of the variables tmpW, j, and initializes the variable tmpW, j (S106).
- the variable tmpW is a variable in which the calculation result of Enc ( ⁇ n ⁇ a ( ⁇
- the management apparatus 10 multiplies tmpW by tmpY ⁇ tmpZ and substitutes the result into tmpW (S108).
- Enc management device 10 obtained in step S46 (
- This value is an encrypted value of the score T i .
- the management device 10 stores the obtained encrypted value of the score T i in the storage unit.
- the score T i calculation process has been described in detail above.
- the management device 10 changes the order of the encrypted values of the scores T 1 , T 2 ,... T m obtained for each entry p i in the database 12 (S24), and then transmits the search values to the searcher device 30. (S26). Specifically, the transmission order changing unit 24 reads the encrypted value of the score T i from the storage unit at random, and inputs the read data to the result transmission unit 26 to change the transmission order.
- the searcher device 30 When the searcher device 30 receives the encrypted values of the scores T 1 , T 2 ,... T m transmitted from the management device 10 (S28), the decryption unit 42 reads the secret key from the storage unit 48, Using the secret key, the encrypted values of the scores T 1 , T 2 ,... T m are decrypted (S30). The searcher device 30 determines non-negative / negative of each score T 1 , T 2 ,... T m obtained by decoding, and displays the determination result (S32). When the scores T 1 , T 2 ,... T m are non-negative, it means that the Tversky coefficient is equal to or greater than a predetermined threshold ⁇ n / ⁇ d . Therefore, when many compounds having a non-negative score T i are included, it can be seen that the database 12 includes many compounds similar to the query compound.
- the configuration and operation of the search system according to the first embodiment have been described above.
- the searcher device 30 transmits the encryption value of the fingerprint of the query compound to the management device 10, so that the confidentiality of the query compound is given to the management device 10. While maintaining, it is possible to check how many compounds similar to the database 12 are contained. In addition, the management apparatus 10 can notify the information of similar compounds without disclosing the compounds stored in the database 12.
- FIG. 13 is a flowchart illustrating the operation of the search system according to the second embodiment.
- the operation of the search system of the second embodiment is basically the same as that of the first embodiment, but the random number r is applied to the encrypted value Enc (T i ) of the score T i obtained in step S50. i, with s i (r i> s i ) to calculate the encrypted value Enc (T i ⁇ r i + s i), the calculation results are the new score T i (S51).
- FIG. 14 is a flowchart showing an algorithm for calculating the encryption value Enc (T i ⁇ r i + s i ).
- the management apparatus 10 assigns “1” to each of the variables t_res, j and initializes the variables t_res, j (S120).
- the variable t-res is a variable in which the calculation result of Enc (T i ⁇ r i + s i ) is entered, and the variable j is a counter.
- the management device 10 multiplies t_res by the encrypted value Enc (T i ) and assigns the result to t_res (S122).
- the search system according to the second embodiment has been described with respect to differences from the first embodiment.
- a value obtained by adding the random number s i after random number r i multiplied scores T i is the new score T i. Therefore, there is no correlation between the degree of similarity and the score T i, and the tendency of data stored in the database 12 cannot be estimated from the score T i . Therefore, the confidentiality of the data stored in the database 12 can be further enhanced.
- the score T i is a score indicating that the Tversky coefficient is not less than a predetermined threshold when it is non-negative and lower than the predetermined threshold when it is negative, and has only significance. Therefore, since the sign does not change even if it is multiplied by r i , there is no change in the criterion for determining the score T i .
- a score T i of 0 means that a compound having a Tversky coefficient that matches the threshold value ⁇ n / ⁇ d exists in the database 12. Random numbers s i are added so as not to leak information that there is a compound that matches the Tversky coefficient. This is because the above-described disturbance multiplied by the random number r i has no meaning when the score T i is 0. As a result, the score T i of a compound whose Tverssky coefficient matches the threshold value ⁇ n / ⁇ d is always a positive value.
- the random number s i is because the random number r i value less than, by adding a random number s i, will not be replaced positive and negative scores T i. This is because, when the absolute value of the negative-scoring T i thought minimal "-1", r i a value obtained by multiplying is -r i, this absolute value by adding r i smaller random number s i The result remains negative.
- the search system of the third embodiment will be described.
- the basic configuration of the search system of the third embodiment is the same as that of the first embodiment, but the third embodiment.
- the confidentiality of the database 12 is further enhanced by disturbing the score T i and generating a random share R i .
- FIG. 15 is a flowchart illustrating the operation of the search system according to the third embodiment.
- the operation of the search system of the third embodiment is basically the same as that of the first embodiment, but the random number r is applied to the encrypted value Enc (T i ) of the score T i obtained in step S50. with i calculate the encrypted value Enc (T i + r i) , the calculation results are the encrypted value of the random share R i (S51a). Random share R i, since the addition of the random number r i relative score T i, matching of the positive and negative Tversky coefficient and threshold ⁇ n / ⁇ d and scores T i is not guaranteed.
- Figure 16 is a random share R i, is a flowchart illustrating an operation of acquiring a non-negative / negative information score T i.
- Searcher unit 30 transmits the random share R i in the hidden circuit (S140), concealing circuit receiving a random share R i (S144).
- the “secret circuit” is a circuit that can perform calculation while keeping the calculation contents secret, and is designed by Secure Function Evaluation.
- the management device 10 transmits the random number r i used when generating the random share R i transmitted by the searcher device 30 to the secret circuit (S142), and the secret circuit receives the random number r i (S144).
- Secure Circuit obtains a score T i by subtracting the random number r i from the random share R i (S146), determines the non-negative / negative (S148).
- the concealment circuit transmits a non-negative / negative determination result of the score T i to the searcher device 30 (S150), and the searcher device 30 receives the determination result (S152).
- Searcher unit 30 determines whether or not completed the calculation for all the entries (S154), if for all the entries are computed not ended (in S154 NO), and the next random share R i Repeat the same process. When the calculation has been completed for all entries (YES in S154), searcher device 30 aggregates the determination results (S156) and displays the results (S158).
- the search system according to the third embodiment has been described above with a focus on differences from the first embodiment.
- the searcher device 30 returns a random share R i instead of the score T i , and the searcher device 30 transmits the random share R i to the concealment circuit. Only get. Since there is no correlation between the degree of similarity and the score T i , the tendency of the data stored in the database 12 cannot be estimated from the random share R i . Therefore, the confidentiality of the data stored in the database 12 can be further enhanced.
- FIG. 17 is a flowchart showing the operation of the score encryption value calculation unit 20 in the fourth embodiment.
- the steps up to the step (S40 to S44) for obtaining the number of elements of the partial structure that the query q and the read entry p i have in common are the same as those in the first to third embodiments.
- the cipher has multiplicative homomorphism, and plaintext multiplication can be performed with the cipher value unchanged, so the following equation is used as the score T i .
- the score cipher value calculation unit 20 calculates the cipher value Enc (
- the score encryption value calculation unit 20 calculates the encryption value Enc ( ⁇ ( ⁇
- ) ⁇ ⁇ in plaintext is performed on the encrypted value Enc ( ⁇
- ) ⁇ ⁇ in plaintext is performed on the encrypted value Enc ( ⁇
- ) is obtained. Subsequently, for the encrypted value Enc ( ⁇ ( ⁇
- the score encryption value calculation unit 20 calculates the encryption value Enc (
- )) ) Is calculated corresponding to
- a score T i between the read entry p i and the query q is obtained.
- the score encryption value calculation unit 20 determines whether or not the calculation of the score T i has been completed for all entries p i in the database 12 (S166), and the calculation for all the entries P i has not been completed. (NO in S166), the uncalculated entry p i is read from the database 12, and the same processing as described above is performed. When the calculation for all the entries p i is completed (YES in S166), the process is terminated.
- the search system according to the fourth embodiment has been described with respect to differences from the first to third embodiments.
- the search system according to the fourth embodiment because of the use of encryption with a multiplicative homomorphism in addition to additive homomorphism, it is possible to calculate the score T i easily.
- the example in which the coefficients ⁇ , ⁇ , and the threshold ⁇ are used as they are has been described on the assumption that the cipher can handle decimals.
- the coefficients ⁇ and ⁇ are set to the coefficients ⁇ a / ⁇ and ⁇ b / ⁇ , the threshold ⁇ is replaced with ⁇ n / ⁇ d, and the same as in the first to third embodiments.
- a score T i may be obtained.
- FIG. 18 is a diagram illustrating a configuration of a search system according to the fifth embodiment.
- the management apparatus 10 includes a dummy data generation unit 28 that generates dummy data, in addition to the configuration of the search system of the first embodiment (see FIG. 4).
- the dummy data generation unit 28 generates a dummy score Td i according to a predetermined probability distribution. Dummy data generation unit 28 generates the data close to the actual score T i of the data. Dummy data generation unit 28 encrypts using a public key transmitted scores Td i of the produced blank from the searcher unit 30 generates an encryption value of the dummy score Td i. In addition, the dummy data generation unit 28 determines how many non-negative dummy scores and how many negative dummy scores are included in the generated dummy score Td i , and obtains the value as a result transmission unit 26.
- the transmission order changing unit 24 randomly rearranges (shuffles) the transmission order of the encryption value of the score T i of the entry P i in the database 12 and the encryption value of the dummy score Td i .
- the result transmitting unit 26 transmits the number of non-negative dummy scores and the number of negative dummy scores to the searcher device 30 together with the encrypted value of the score T i and the encrypted value of the dummy score Td i .
- the searcher unit 30 from the management apparatus 10, the score T 1, T 2, which is transmitted in a random transmission order, ⁇ ⁇ ⁇ T cryptographic value of m and the dummy scores Td 1, Td 2, the ⁇ ⁇ ⁇ Td k
- the decryption unit 42 reads the secret key from the storage unit 48 and decrypts the received encrypted value using the secret key. Since the transmission order is random, the searcher device 30 does not know which is the score T i corresponding to the entry P i in the database 12 and which is the dummy score Td i .
- the searcher device 30 the scores T 1 obtained by decoding, T 2, ⁇ T m, Td 1, Td 2, to determine the non-negative / negative ⁇ ⁇ ⁇ Td k, nonnegative and negative scores Ask for how many are included.
- the searcher device 30 subtracts the number of non-negative dummy scores and the number of negative dummy scores transmitted from the management device 10 from the determined number of non-negative and negative scores, thereby obtaining the database 12.
- the number of entries P i each having a non-negative and negative Tversky coefficient is determined. For example, it is determined from the result of decoding the received score that 20 non-negative scores and 100 negative scores are included, 5 non-negative dummy scores, and 10 negative dummy scores. If there is, it can be determined that the database 12 has 15 entries having a non-negative score and 90 entries having a negative score.
- the configuration and operation of the search system according to the fifth embodiment have been described above.
- the search system which is the score T i based on the entry P i in the database 12 is hidden by the dummy score Td i , and immediately becomes unknown.
- the amount of information leaking to the device 30 can be reduced.
- the number of dummy scores Td i the amount of extra information leaked to the searcher device 30 can be made as close to zero as possible.
- the example in which the management device 10 and the searcher device 30 are connected via the network 50 such as the Internet has been described.
- the network 50 that connects the management device 10 and the searcher device 30 is described below. Anything Further, the management device 10 and the searcher device 30 do not necessarily have to be connected via the network 50, and the query data q output by the searcher device 30 is recorded on a recording medium such as a CD-ROM, and the management device It may be mailed to 10 operators, and the operator may cause the management apparatus 10 to read the CD-ROM.
- the Pillar method itself cannot perform encryption when the plain text is negative. Therefore, when applied to the present invention, the following processing is performed. That is, the numerical value range 0 to n that can be handled by the Pailler cipher is divided into two, and 0 to n / 2 are set as positive values corresponding to 0 to n / 2 as they are, and n / 2 + 1 to n are set to ⁇ 1 to ⁇ n / Read as a negative value corresponding to 2. Such a technique is a conventional means for handling negative signs.
- the present invention is not limited to compounds, and the present invention is applied to a database in which the presence or absence of the structure or property of an object is expressed by binary data. Can do.
- the present invention can be used to determine how many similar gene sequences are present. When throwing personal genetic information as a query, it is necessary to conceal the genetic information from the viewpoint of protecting the personal information. In such a case, the present invention is useful.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Medical Informatics (AREA)
- Biotechnology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Genetics & Genomics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
(1)前記検索者装置が、加法準同型性を有する暗号の公開鍵及び秘密鍵を生成する。
(2)前記検索者装置が、クエリー数列データqの入力を受け付ける。
(3)前記検索者装置が、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|を求め、当該要素数|q|に負号を付した値を前記公開鍵で暗号化すると共に、前記クエリー数列データqの各要素qj(ただし、j=1,・・・n:nはクエリー数列qの長さ)の値を前記公開鍵で暗号化する。
(4)前記検索者装置が、前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を前記管理装置に対して出力する。
(5)前記管理装置が、前記検索者装置から出力された前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を受け取る。
(6)前記管理装置が、前記データベースから一の数列データpiを読み出す。
(7)前記管理装置が、前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化する。
(8)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(9)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(|pi∩q|)に対して、平文において(|pi∩q|)をγ(θd-θn)+θn(μa+μb)回加算する計算に対応する計算を行って、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb))を求める。
(10)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|)に対して平文において(-|q|)をμa回加算する計算に対応する計算を行って暗号値Enc(μa(-|q|))を求めるとともに、前記暗号値Enc(-|pi|)に対して平文において(-|pi|)をμb回加算する計算に対応する計算を行って暗号値Enc(μb(-|pi|))を求め、前記暗号値Enc(μa(-|q|))と前記暗号値Enc(μb(-|pi|))に対して平文におけるμa(-|q|)+μb(-|pi|)に対応する計算を行って暗号値Enc(μa(-|q|)+μb(-|pi|))を求め、さらに、暗号値Enc(μa(-|q|)+μb(-|pi|))に対して平文においてμa(-|q|)+μb(-|pi|)をθn回加算する計算に対応する計算を行って、暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))を求める。
(11)前記管理装置が、暗号の加法準同型性を利用して、上記(9)で求めた暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)})と、上記(10)で求めた暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))に対して、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))に対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})をスコアTiの暗号値として求める。
(12)前記管理装置が、前記データベースに含まれる複数の数列データpiのそれぞれについて、上記(6)から(11)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(13)前記管理装置が、前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。
(14)前記検索者装置が、前記管理装置から出力された前記スコアT1,T2,・・・Tmの暗号値を受け取る。
(15)前記検索者装置が、前記スコアT1,T2,・・・Tmの暗号値を前記秘密鍵で復号する。
(16)前記検索者装置が、前記スコアT1,T2,・・・Tmの非負/負を判定する。
(17)前記検索者装置が、判定結果を出力する。
(フィンガープリント)
図1は、フィンガープリントの一例を示す図である。フィンガープリントは、化合物の表現方法の一つであり、化合物が所定の部分構造を有するか否かを「1」「0」を要素とする数列で表したものである。図1に示す例においては、先頭のビットから順に、「ピロール環」、「ベンゼン環」、「O」、「N」、「Nの二重結合」の有無を表している。要素の値が「0」の場合には該当の構造がないことを示し、値が「1」の場合には該当の構造があることを示す。化合物1は、2~4番目のビットに「1」が立っているので、「ベンゼン環」、「O」、「N」を含み、1,5番目のビットが「0」なので、「ピロール環」、「Nの二重結合」を含まない。
図2Aに示すように、化合物A,Bのフィンガープリントを比較することにより、化合物A,Bに共通して含まれる部分構造と、化合物A,Bのそれぞれにのみ含まれる部分構造の数が分かる。これに基づいて、化合物A,Bの類似性を評価することができる。なお、化合物A,Bの両方に含まれていない部分構造は、考慮する必要がない。
本実施の形態の検索システムは、検索者装置にて入力された化合物のフィンガープリント(これを「クエリー」という)とのTversky係数が所定の閾値以上となる化合物、すなわち、クエリーに類似した化合物が、データベース内にどのくらいあるかを調べる。この際に、データベースを管理する管理装置に、クエリーを秘匿したまま検索を行う。これを実現するために、本実施の形態の検索システムでは、加法準同型性を有する確率暗号を用い、管理装置は、暗号値のまま演算を行う。ここで、加法準同型性について説明する。
[検索システムの構成]
図4は、第1の実施の形態の検索システムの構成を示す図である。検索システムは、化合物のフィンガープリントを記憶したデータベース12を有する管理装置10と、管理装置10に対してクエリーを送信してデータベース12の検索を依頼する検索者装置30とを有している。管理装置10と検索者装置30とは、インターネット等のネットワーク50によって接続されている。
結果送信部26は、スコアT1,T2,・・・Tmの暗号値を検索者装置30に送信する機能を有する。
図6は、本実施の形態の検索システムの動作を示すフローチャートである。まず、検索者装置30にて、クエリーの化合物のフィンガープリントのデータqを入力する(S10)。検索者装置30は、入力されたフィンガープリントのデータqを記憶部48に記憶する。次に、検索者装置30は、Pailler暗号の公開鍵、秘密鍵のセットを生成し、記憶部48に記憶する(S12)。
次に、第2の実施の形態の検索システムについて説明する、第2の実施の形態の検索システムの基本的な構成は、第1の実施の形態と同じであるが、第2の実施の形態では、スコアTiを撹乱してスコアTiの絶対値が意味を持たないようにして、データベース12の秘匿性をさらに高めている。
次に、第3の実施の形態の検索システムについて説明する、第3の実施の形態の検索システムの基本的な構成は、第1の実施の形態と同じであるが、第3の実施の形態では、スコアTiを撹乱してランダムシェアRiを生成することにより、データベース12の秘匿性をさらに高めている。
次に、第4の実施の形態の検索システムについて説明する。第1~第3の実施の形態では、加法準同型性を有する暗号であるPillier暗号を用いる例について説明したが、第4の実施の形態では、加法準同型性に加え乗法準同型性を有する暗号を用いる。第4の実施の形態の検索システムの基本的な構成は、第1~第3の実施の形態と同じである(図4等参照)。第4の実施の形態では、用いる暗号の性質が異なるので、管理装置10におけるスコア暗号値計算部20の処理が第1~第3の実施の形態とは異なる。
次に、第5の実施の形態の検索システムについて説明する。第5の実施の形態の検索システムは、管理装置10から検索者装置30に検索結果を送信する際に、データベース12内のエントリPiのスコアTi(i=1,2,・・・m)の暗号値に加えて、ダミーのスコアTdi(i=1,2,・・・k)の暗号値を混在させたデータを送信し、管理装置10のデータベース12の情報遺漏のリスクをさらに低減させる。
12 データベース
14 記憶部
16 クエリー受信部
18 入力データチェック部
20 スコア暗号値計算部
22 設定値変更部
24 送信順序入替部
26 結果送信部
28 ダミーデータ生成部
30 検索者装置
32 クエリー入力部
34 暗号鍵生成部
36 暗号化部
38 クエリー送信部
40 結果受信部
42 復号化部
44 判定部
46 表示部
48 記憶部
50 ネットワーク
60 CPU
62 RAM
64 ROM
66 プログラム
68 通信インターフェース
70 ハードディスク
72 操作部
74 ディスプレイ
Claims (19)
- 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置と、前記データベースの検索条件の入力および検索結果の出力を行う検索者装置とを備え、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、
前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
(1)前記検索者装置が、加法準同型性を有する暗号の公開鍵及び秘密鍵を生成する。
(2)前記検索者装置が、クエリー数列データqの入力を受け付ける。
(3)前記検索者装置が、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|を求め、当該要素数|q|に負号を付した値を前記公開鍵で暗号化すると共に、前記クエリー数列データqの各要素qj(ただし、j=1,・・・n:nはクエリー数列qの長さ)の値を前記公開鍵で暗号化する。
(4)前記検索者装置が、前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を前記管理装置に対して出力する。
(5)前記管理装置が、前記検索者装置から出力された前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を受け取る。
(6)前記管理装置が、前記データベースから一の数列データpiを読み出す。
(7)前記管理装置が、前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化する。
(8)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(9)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(|pi∩q|)に対して、平文において(|pi∩q|)を{γ(θd-θn)+θn(μa+μb)}回加算する計算に対応する計算を行って、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb))を求める。
(10)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|)に対して平文において(-|q|)をμa回加算する計算に対応する計算を行って暗号値Enc(μa(-|q|))を求めるとともに、前記暗号値Enc(-|pi|)に対して平文において(-|pi|)をμb回加算する計算に対応する計算を行って暗号値Enc(μb(-|pi|))を求め、前記暗号値Enc(μa(-|q|))と前記暗号値Enc(μb(-|pi|))に対して平文におけるμa(-|q|)+μb(-|pi|)に対応する計算を行って暗号値Enc(μa(-|q|)+μb(-|pi|))を求め、さらに、暗号値Enc(μa(-|q|)+μb(-|pi|))に対して平文において(μa(-|q|)+μb(-|pi|))をθn回加算する計算に対応する計算を行って、暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))を求める。
(11)前記管理装置が、暗号の加法準同型性を利用して、上記(9)で求めた暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)}と、上記(10)で求めた暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))に対して、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))に対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})をスコアTiの暗号値として求める。(12)前記管理装置が、前記データベースに含まれる複数の数列データpiのそれぞれについて、上記(6)から(11)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(13)前記管理装置が、前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。
(14)前記検索者装置が、前記管理装置から出力された前記スコアT1,T2,・・・Tmの暗号値を受け取る。
(15)前記検索者装置が、前記スコアT1,T2,・・・Tmの暗号値を前記秘密鍵で復号する。
(16)前記検索者装置が、前記スコアT1,T2,・・・Tmの非負/負を判定する。
(17)前記検索者装置が、判定結果を出力する。 - 前記暗号は、確率暗号である請求項1に記載の検索方法。
- 平文における加算に対応する計算は、暗号値における乗算である請求項1または2に記載の検索方法。
- 前記管理装置は、暗号の加法準同型性を利用して、上記(11)で求めたスコアTiの暗号値に対して、平文において(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))をr回(rは乱数)加算する計算に対応する計算を行い、求められた暗号値Enc([(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))}]×r)をスコアTiの暗号値とするステップを有する請求項1~3のいずれかに記載の検索方法。
- 前記管理装置は、値(-si)(ただし、siはri>siを満たす自然数)を前記公開鍵によって暗号化して暗号値Enc(-si)を求め、暗号の加法準同型性を利用して、暗号値Enc(((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})×ri)と前記暗号値Enc(-si)に対して平文における[(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))}]×ri+(-si)に対応する計算を行い、求めた暗号値Enc([(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))}]×ri)-si)をスコアTiの暗号値とするステップを有する請求項4に記載の検索方法。
- 前記管理装置は、乱数riを前記公開鍵で暗号化して暗号値Enc(ri)を求め、暗号の加法準同型性を利用して、上記(11)で求めたスコアTiの暗号値と前記暗号値Enc(ri)に対し、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))+riに対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))}+r)をランダムシェアRiの暗号値として求め、
上記(16)の非負/負を判定するステップは、
(16-1)前記検索者装置が、Secure Function Evaluationを利用して設計された秘匿回路に、前記ランダムシェアRiを送信し、
(16-2)前記管理装置が、前記秘匿回路に乱数riを送信し、
(16-3)前記秘匿回路が、前記ランダムシェアRiから乱数riを減算し、求められた値の非負/負を判定し、
(16-4)前記秘匿回路が、前記検索者装置に非負/負の判定結果を送信する、請求項1~3のいずれかに記載の検索方法。 - 上記(13)において、前記管理装置が前記データベースに記憶されたデータの順序と異なる順序で、前記スコアT1,T2,・・・Tmの暗号値を出力する請求項1~6のいずれかに記載の検索方法。
- 前記検索者装置は、Tversky係数Siに含まれる係数μa/γ、μb/γないし値θn/θdのいずれかの入力を受け付けるステップと、入力された係数μa/γ、μb/γないし値θn/θdのいずれかを前記管理装置に対して出力するステップとを有する請求項1~7のいずれかに記載の検索方法。
- 前記管理装置が、ダミーのスコアTd1,Td2,…Tdkを生成し、生成したダミーのスコアTd1,Td2,…Tdkを、前記公開鍵によって暗号化するステップと、
前記管理装置が、ダミーのスコアTd1,Td2,…Tdkの暗号値と前記スコアT1,T2,・・・Tmの暗号値の出力順序をランダムに並び替えるステップと、
を備え、
上記(13)において、前記管理装置が、ランダムに並び替えた暗号値と、ダミーのスコアに含まれる非負のダミーのスコアの個数と負のダミーのスコアの個数のデータとを前記検索者装置に送信する請求項1~3のいずれかに記載の検索方法。 - 前記管理装置が、前記検索者装置から送信された前記クエリー数列データqの各要素の暗号値Enc(qi)が「1」または「0」を暗号化したものであるか否かを判定するステップを備え、前記クエリー数列データqに「1」または「0」を暗号化したものでない暗号値が含まれている場合には、以降の処理を行わないで検索を終了する請求項1~9のいずれかに記載の検索方法。
- 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置と、前記データベースの検索条件の入力および検索結果の出力を行う検索者装置とを備え、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、
前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
(1)前記検索者装置が、乗法準同型性および加法準同型性を有する暗号の公開鍵及び秘密鍵を生成する。
(2)前記検索者装置が、クエリー数列データqの入力を受け付ける。
(3)前記検索者装置が、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|を求め、当該要素数|q|に負号を付した値を前記公開鍵で暗号化すると共に、前記クエリー数列データqの各要素qj(ただし、j=1,・・・n:nはクエリー数列qの長さ)の値を前記公開鍵で暗号化する。
(4)前記検索者装置が、前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を前記管理装置に対して出力する。
(5)前記管理装置が、前記検索者装置から出力された前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各値の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を受け取る。
(6)前記管理装置が、前記データベースから一の数列データpiを読み出す。
(7)前記管理装置が、前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化し、暗号値Enc(-|pi|)を得る。
(8)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(9)前記管理装置が、値(1+θα+θβ-θ)を前記公開鍵によって暗号化して暗号値Enc(1+θα+θβ-θ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(|pi∩q|)と前記暗号値Enc(1+θα+θβ-θ)に対して平文における(|pi∩q|)×(1+θα+θβ-θ)に対応する計算を行って暗号値Enc((|pi∩q|)×(1+θα+θβ-θ))を求める。
(10)前記管理装置が、値θαおよび値θβを前記公開鍵で暗号化して暗号値Enc(θα)と暗号値(θβ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(-|q|)と前記暗号値Enc(θα)に対して平文における-|q|×θαに対応する計算を行って暗号値Enc(-|q|×θα)を求めると共に、前記暗号値Enc(-|pi|)と前記暗号値Enc(θβ)に対して平文における-|pi|×θβに対応する計算を行って暗号値Enc(-|pi|×θβ)を求め、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|×θα)と前記暗号値Enc(-|pi|×θβ)に対して平文における(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って暗号値Enc((-|q|×θα)+(-|pi|×θβ))を求める。
(11)前記管理装置が、暗号の加法準同型性を利用して、上記(9)で求めた暗号値Enc(|pi∩q|)×(1+θα+θβ-θ))と、上記(10)で求めた暗号値Enc((-|q|×θα)+(-|pi|×θβ))に対して、平文における(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って、暗号値Enc(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ))をスコアTiの暗号値として求める。
(12)前記管理装置が、前記データベースに含まれる複数の物の数列データpiのそれぞれについて、上記(6)から(11)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(13)前記管理装置が、前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。
(14)前記検索者装置が、前記管理装置から出力された前記スコアT1,T2,・・・Tmの暗号値を受け取る。
(15)前記検索者装置が、前記スコアT1,T2,・・・Tmの暗号値を前記秘密鍵で復号する。
(16)前記検索者装置が、前記スコアT1,T2,・・・Tmの非負/負を判定する。
(17)前記検索者装置が、判定結果を出力する。 - 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置が、検索者装置にて入力された検索条件に基づいて検索を行う方法であって、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
(1)前記管理装置が、前記検索者装置にて生成された加法準同型性を有する暗号の公開鍵と、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|に負号を付した値を前記公開鍵で暗号化した暗号値Enc(-|q|)と、前記クエリー数列データqの各要素を前記公開鍵で暗号化した暗号値Enc(q1),Enc(q2),・・・Enc(qn)とを受け取る。
(2)前記管理装置が、前記データベースから一の数列データpiを読み出す。
(3)前記管理装置が、前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化する。
(4)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(5)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(|pi∩q|)に対して、平文において(|pi∩q|)を{γ(θd-θn)+θn(μa+μb)}回加算する計算に対応する計算を行って、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb))を求める。
(6)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|)に対して平文において(-|q|)をμa回加算する計算に対応する計算を行って暗号値Enc(μa(-|q|))を求めるとともに、前記暗号値Enc(-|pi|)に対して平文において(-|pi|)をμb回加算する計算に対応する計算を行って暗号値Enc(μb(-|pi|))を求め、前記暗号値Enc(μa(-|q|))と前記暗号値Enc(μb(-|pi|))に対して平文におけるμa(-|q|)+μb(-|pi|)に対応する計算を行って暗号値Enc(μa(-|q|)+μb(-|pi|))を求め、さらに、暗号値Enc(μa(-|q|)+μb(-|pi|))に対して平文において(μa(-|q|)+μb(-|pi|))をθn回加算する計算に対応する計算を行って、暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))を求める。
(7)前記管理装置が、暗号の加法準同型性を利用して、上記(5)で求めた暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)}と、上記(6)で求めた暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))に対して、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))に対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})をスコアTiの暗号値として求める。
(8)前記管理装置が、前記データベースに含まれる複数の数列データpiのそれぞれについて、上記(2)から(7)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(9)前記管理装置が、前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。 - 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置が、検索者装置にて入力された検索条件に基づいて検索を行う方法であって、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
(1)前記管理装置が、前記検索者装置にて生成された乗法準同型性および加法準同型性を有する暗号の公開鍵と、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|に負号を付した値を前記公開鍵で暗号化した暗号値Enc(-|q|)と、前記クエリー数列データqの各要素を前記公開鍵で暗号化した暗号値Enc(q1),Enc(q2),・・・Enc(qn)とを受け取る。
(2)前記管理装置が、前記データベースから一の数列データpiを読み出す。
(3)前記管理装置が、前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化し、暗号値Enc(-|pi|)を得る。
(4)前記管理装置が、前記数列データpiの各要素pi,j(ただし、i=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(5)前記管理装置が、値(1+θα+θβ-θ)を前記公開鍵によって暗号化して暗号値Enc(1+θα+θβ-θ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(|pi∩q|)と前記暗号値Enc(1+θα+θβ-θ)に対して平文における(|pi∩q|)×(1+θα+θβ-θ)に対応する計算を行って暗号値Enc((|pi∩q|)×(1+θα+θβ-θ))を求める。
(6)前記管理装置が、値θαおよび値θβを前記公開鍵で暗号化して暗号値Enc(θα)と暗号値(θβ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(-|q|)と前記暗号値Enc(θα)に対して平文における-|q|×θαに対応する計算を行って暗号値Enc(-|q|×θα)を求めると共に、前記暗号値Enc(-|pi|)と前記暗号値Enc(θβ)に対して平文における-|pi|×θβに対応する計算を行って暗号値Enc(-|pi|×θβ)を求め、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|×θα)と前記暗号値Enc(-|pi|×θβ)に対して平文における(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って暗号値Enc((-|q|×θα)+(-|pi|×θβ))を求める。
(7)前記管理装置が、暗号の加法準同型性を利用して、上記(5)で求めた暗号値Enc(|pi∩q|)×(1+θα+θβ-θ))と、上記(6)で求めた暗号値Enc((-|q|×θα)+(-|pi|×θβ))に対して、平文における(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って、暗号値Enc(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ))をスコアTの暗号値として求める。
(8)前記管理装置が、前記データベースに含まれる複数の物の数列データpiのそれぞれについて、上記(2)から(7)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(9)前記管理装置が、前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。 - 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置にて実行され、検索者装置にて入力された検索条件に基づいて検索を行うプログラムであって、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
(1)前記検索者装置にて生成された加法準同型性を有する暗号の公開鍵と、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|に負号を付した値を前記公開鍵で暗号化した暗号値Enc(-|q|)と、前記クエリー数列データqの各要素を前記公開鍵で暗号化した暗号値Enc(q1),Enc(q2),・・・Enc(qn)とを受け取る。
(2)前記データベースから一の数列データpiを読み出す。
(3)前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化する。
(4)前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(5)暗号の加法準同型性を利用して、前記暗号値Enc(|pi∩q|)に対して、平文において(|pi∩q|)を{γ(θd-θn)+θn(μa+μb)}回加算する計算に対応する計算を行って、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb))を求める。
(6)暗号の加法準同型性を利用して、前記暗号値Enc(-|q|)に対して平文において(-|q|)をμa回加算する計算に対応する計算を行って暗号値Enc(μa(-|q|))を求めるとともに、前記暗号値Enc(-|pi|)に対して平文において(-|pi|)をμb回加算する計算に対応する計算を行って暗号値Enc(μb(-|pi|))を求め、前記暗号値Enc(μa(-|q|))と前記暗号値Enc(μb(-|pi|))に対して平文におけるμa(-|q|)+μb(-|pi|)に対応する計算を行って暗号値Enc(μa(-|q|)+μb(-|pi|))を求め、さらに、暗号値Enc(μa(-|q|)+μb(-|pi|))に対して平文において(μa(-|q|)+μb(-|pi|))をθn回加算する計算に対応する計算を行って、暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))を求める。
(7)暗号の加法準同型性を利用して、上記(5)で求めた暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)}と、上記(6)で求めた暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))に対して、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))に対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})をスコアTiの暗号値として求める。
(8)前記データベースに含まれる複数の数列データpiのそれぞれについて、上記(2)から(7)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(9)前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。 - 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置にて実行され、検索者装置にて入力された検索条件に基づいて検索を行うプログラムであって、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
(1)前記検索者装置にて生成された乗法準同型性および加法準同型性を有する暗号の公開鍵と、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|に負号を付した値を前記公開鍵で暗号化した暗号値Enc(-|q|)と、前記クエリー数列データqの各要素を前記公開鍵で暗号化した暗号値Enc(q1),Enc(q2),・・・Enc(qn)とを受け取る。
(2)前記データベースから一の数列データpiを読み出す。
(3)前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化し、暗号値Enc(-|pi|)を得る。
(4)前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(5)値(1+θα+θβ-θ)を前記公開鍵によって暗号化して暗号値Enc(1+θα+θβ-θ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(|pi∩q|)と前記暗号値Enc(1+θα+θβ-θ)に対して平文における(|pi∩q|)×(1+θα+θβ-θ)に対応する計算を行って暗号値Enc((|pi∩q|)×(1+θα+θβ-θ))を求める。
(6)値θαおよび値θβを前記公開鍵で暗号化して暗号値Enc(θα)と暗号値(θβ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(-|q|)と前記暗号値Enc(θα)に対して平文における-|q|×θαに対応する計算を行って暗号値Enc(-|q|×θα)を求めると共に、前記暗号値Enc(-|pi|)と前記暗号値Enc(θβ)に対して平文における-|pi|×θβに対応する計算を行って暗号値Enc(-|pi|×θβ)を求め、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|×θα)と前記暗号値Enc(-|pi|×θβ)に対して平文における(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って暗号値Enc((-|q|×θα)+(-|pi|×θβ))を求める。
(7)暗号の加法準同型性を利用して、上記(5)で求めた暗号値Enc(|pi∩q|)×(1+θα+θβ-θ))と、上記(6)で求めた暗号値Enc((-|q|×θα)+(-|pi|×θβ))に対して、平文における(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って、暗号値Enc(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ))をスコアTiの暗号値として求める。
(8)前記データベースに含まれる複数の物の数列データpiのそれぞれについて、上記(2)から(7)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
(9)前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する。 - 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置と、前記データベースの検索条件の入力および検索結果の出力を行う検索者装置とを備え、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、
前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
前記検索者装置は、
加法準同型性を有する暗号の公開鍵及び秘密鍵を生成する手段と、
クエリー数列データqの入力を受け付ける手段と、
前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|を求め、当該要素数|q|に負号を付した値を前記公開鍵で暗号化すると共に、前記クエリー数列データqの各要素qj(ただし、j=1,・・・n:nはクエリー数列qの長さ)の値を前記公開鍵で暗号化する手段と、
前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を前記管理装置に対して出力する手段と、
前記管理装置から出力された前記スコアT1,T2,・・・Tmの暗号値を受け取る手段と、
前記スコアT1,T2,・・・Tmの暗号値を前記秘密鍵で復号する手段と、
前記スコアT1,T2,・・・Tmの非を判定する手段と、
判定結果を出力する手段と、
を備え、
前記管理装置は、
前記検索者装置から出力された前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を受け取る手段と、
前記データベースから数列データpiを読み出す手段と、
前記データベースに含まれる複数の物の数列データpiのそれぞれについて、スコアTiの暗号値を求める演算手段と、
前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する手段と、
を備え、
前記演算手段は、以下の処理を行う検索システム。
(1)前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化する。
(2)前記数列データpiの各要素pi.j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(3)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(|pi∩q|)に対して、平文において(|pi∩q|)を{γ(θd-θn)+θn(μa+μb)}回加算する計算に対応する計算を行って、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb))を求める。
(4)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|)に対して平文において(-|q|)をμa回加算する計算に対応する計算を行って暗号値Enc(μa(-|q|))を求めるとともに、前記暗号値Enc(-|pi|)に対して平文において(-|pi|)をμb回加算する計算に対応する計算を行って暗号値Enc(μb(-|pi|))を求め、前記暗号値Enc(μa(-|q|))と前記暗号値Enc(μb(-|pi|))に対して平文におけるμa(-|q|)+μb(-|pi|)に対応する計算を行って暗号値Enc(μa(-|q|)+μb(-|pi|))を求め、さらに、暗号値Enc(μa(-|q|)+μb(-|pi|))に対して平文において(μa(-|q|)+μb(-|pi|))をθn回加算する計算に対応する計算を行って、暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))を求める。
(5)前記管理装置が、暗号の加法準同型性を利用して、上記(3)で求めた暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)}と、上記(4)で求めた暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))に対して、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))に対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})をスコアTiの暗号値として求める。
(6)前記管理装置が、前記データベースに含まれる複数の数列データpiのそれぞれについて、上記(1)から(5)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。 - 物の部分構造または性質を表すデータを記憶したデータベースを有する管理装置と、前記データベースの検索条件の入力および検索結果の出力を行う検索者装置とを備え、前記データは、予め定められた複数の部分構造または性質について物が前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データであり、
前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
前記検索者装置は、
乗法準同型性および加法準同型性を有する暗号の公開鍵及び秘密鍵を生成する手段と、
クエリー数列データqの入力を受け付ける手段と、
前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|を求め、当該要素数|q|に負号を付した値を前記公開鍵で暗号化すると共に、前記クエリー数列データqの各要素qj(ただし、j=1,・・・n:nはクエリー数列qの長さ)の値を前記公開鍵で暗号化する手段と、
前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各要素の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を前記管理装置に対して出力する手段と、
前記管理装置から出力された前記スコアT1,T2,・・・Tmの暗号値を受け取る手段と、
前記スコアT1,T2,・・・Tmの暗号値を前記秘密鍵で復号する手段と、
前記スコアT1,T2,・・・Tmの非負/負を判定する手段と、
判定結果を出力する手段と、
を備え、
前記管理装置は、
前記検索者装置から出力された前記公開鍵と前記暗号値Enc(-|q|)とクエリー数列データqの各値の暗号値Enc(q1),Enc(q2),・・・Enc(qn)を受け取る手段と、
前記データベースから一の数列データpiを読み出す手段と、
前記データベースに含まれる複数の物の数列データpiのそれぞれについて、スコアTiの暗号値を求める演算手段と、
前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する手段と、
を備え、
前記演算手段は、以下の処理を行う検索システム。
(1)前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化し、暗号値Enc(-|pi|)を得る。
(2)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(3)前記管理装置が、値(1+θα+θβ-θ)を前記公開鍵によって暗号化して暗号値Enc(1+θα+θβ-θ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(|pi∩q|)と前記暗号値Enc(1+θα+θβ-θ)に対して平文における(|pi∩q|)×(1+θα+θβ-θ)に対応する計算を行って暗号値Enc((|pi∩q|)×(1+θα+θβ-θ))を求める。
(4)前記管理装置が、値θαおよび値θβを前記公開鍵で暗号化して暗号値Enc(θα)と暗号値(θβ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(-|q|)と前記暗号値Enc(θα)に対して平文における-|q|×θαに対応する計算を行って暗号値Enc(-|q|×θα)を求めると共に、前記暗号値Enc(-|pi|)と前記暗号値Enc(θβ)に対して平文における-|pi|×θβに対応する計算を行って暗号値Enc(-|pi|×θβ)を求め、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|×θα)と前記暗号値Enc(-|pi|×θβ)に対して平文における(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って暗号値Enc((-|q|×θα)+(-|pi|×θβ))を求める。
(5)前記管理装置が、暗号の加法準同型性を利用して、上記(3)で求めた暗号値Enc(|pi∩q|)×(1+θα+θβ-θ))と、上記(4)で求めた暗号値Enc((-|q|×θα)+(-|pi|×θβ))に対して、平文における(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って、暗号値Enc(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ))をスコアTの暗号値として求める。
(6)前記管理装置が、前記データベースに含まれる複数の物の数列データpiのそれぞれについて、上記(1)から(5)を繰り返し行い、各数列データpiに対するスコアTi(i=1,2,・・・m:mはスコアTの計算を行ったデータ数)の暗号値を求める。 - 物の部分構造または性質を表すデータとして、物が予め定められた前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データを記憶したデータベースを有し、前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
前記検索者装置にて生成された加法準同型性を有する暗号の公開鍵と、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|に負号を付した値を前記公開鍵で暗号化した暗号値Enc(-|q|)と、前記クエリー数列データqの各要素を前記公開鍵で暗号化した暗号値Enc(q1),Enc(q2),・・・Enc(qn)とを受け取る手段と、
前記データベースから一の数列データpiを読み出す手段と、
前記データベースに含まれる複数の物の数列データpiのそれぞれについて、スコアTi(i=1,2,・・・m:mはスコアTの計算を行ったデータ数)の暗号値を求める演算手段と、
前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する手段と、
を備え、
前記演算手段は、以下の処理を行う管理装置。
(1)前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化する。
(2)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(3)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(|pi∩q|)に対して、平文において(|pi∩q|)を{γ(θd-θn)+θn(μa+μb)}回加算する計算に対応する計算を行って、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb))を求める。
(4)前記管理装置が、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|)に対して平文において(-|q|)をμa回加算する計算に対応する計算を行って暗号値Enc(μa(-|q|))を求めるとともに、前記暗号値Enc(-|pi|)に対して平文において(-|pi|)をμb回加算する計算に対応する計算を行って暗号値Enc(μb(-|pi|))を求め、前記暗号値Enc(μa(-|q|))と前記暗号値Enc(μb(-|pi|))に対して平文におけるμa(-|q|)+μb(-|pi|)に対応する計算を行って暗号値Enc(μa(-|q|)+μb(-|pi|))を求め、さらに、暗号値Enc(μa(-|q|)+μb(-|pi|))に対して平文において(μa(-|q|)+μb(-|pi|))をθn回加算する計算に対応する計算を行って、暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))を求める。
(5)前記管理装置が、暗号の加法準同型性を利用して、上記(3)で求めた暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)}と、上記(4)で求めた暗号値Enc(θn(μa(-|q|)+μb(-|pi|)))に対して、平文における(|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))に対応する計算を行い、暗号値Enc((|pi∩q|)×{γ(θd-θn)+θn(μa+μb)+θn(μa(-|q|)+μb(-|pi|))})をスコアTiの暗号値として求める。
(6)前記管理装置が、前記データベースに含まれる複数の数列データpiのそれぞれについて、上記(1)から(5)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。 - 物の部分構造または性質を表すデータとして、物が予め定められた前記部分構造または性質を有する場合に「1」、有しない場合に「0」を設定した数列データを記憶したデータベースを有し、前記検索者装置にて検索条件として入力された物の部分構造または性質を表すクエリー数列データqと、前記データベースに記憶された物の数列データpi(i=1,2,・・・m:mは数列データの数)とのTversky係数Si
前記検索者装置にて生成された乗法準同型性および加法準同型性を有する暗号の公開鍵と、前記クエリー数列データqを構成する要素のうちで値が「1」の要素数|q|に負号を付した値を前記公開鍵で暗号化した暗号値Enc(-|q|)と、前記クエリー数列データqの各要素を前記公開鍵で暗号化した暗号値Enc(q1),Enc(q2),・・・Enc(qn)とを受け取る手段と、
前記データベースから一の数列データpiを読み出す手段と、
前記データベースに含まれる複数の物の数列データpiのそれぞれについて、スコアTiの暗号値を求める演算手段と、
前記スコアT1,T2,・・・Tmの暗号値を検索者装置に対して出力する手段と、
を備え、
前記演算手段は、以下の処理を行う管理装置。
(1)前記数列データpiを構成する要素のうちで値が「1」の要素数|pi|を求め、当該要素数|pi|に負号を付した値を前記公開鍵で暗号化し、暗号値Enc(-|pi|)を得る。
(2)前記管理装置が、前記数列データpiの各要素pi,j(ただし、j=0,1,・・・n:nは数列データpiの長さ)を調べ、値が「1」を有する要素に対応するクエリー数列データqのすべての要素qk(kはpi,k=1を満たす)の平文における加算に対応する計算を、暗号の加法準同型性を利用して暗号値Enc(qk)に対して行い、クエリー数列データqと数列データpiにおいて値がともに「1」の要素数|pi∩q|の暗号値Enc(|pi∩q|)を求める。
(3)前記管理装置が、値(1+θα+θβ-θ)を前記公開鍵によって暗号化して暗号値Enc(1+θα+θβ-θ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(|pi∩q|)と前記暗号値Enc(1+θα+θβ-θ)に対して平文における(|pi∩q|)×(1+θα+θβ-θ)に対応する計算を行って暗号値Enc((|pi∩q|)×(1+θα+θβ-θ))を求める。
(4)前記管理装置が、値θαおよび値θβを前記公開鍵で暗号化して暗号値Enc(θα)と暗号値(θβ)を求め、暗号の乗法準同型性を利用して、前記暗号値Enc(-|q|)と前記暗号値Enc(θα)に対して平文における-|q|×θαに対応する計算を行って暗号値Enc(-|q|×θα)を求めると共に、前記暗号値Enc(-|pi|)と前記暗号値Enc(θβ)に対して平文における-|pi|×θβに対応する計算を行って暗号値Enc(-|pi|×θβ)を求め、暗号の加法準同型性を利用して、前記暗号値Enc(-|q|×θα)と前記暗号値Enc(-|pi|×θβ)に対して平文における(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って暗号値Enc((-|q|×θα)+(-|pi|×θβ))を求める。
(5)前記管理装置が、暗号の加法準同型性を利用して、上記(3)で求めた暗号値Enc(|pi∩q|)×(1+θα+θβ-θ))と、上記(4)で求めた暗号値Enc((-|q|×θα)+(-|pi|×θβ))に対して、平文における(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ)に対応する計算を行って、暗号値Enc(|pi∩q|)×(1+θα+θβ-θ)+(-|q|×θα)+(-|pi|×θβ))をスコアTiの暗号値として求める。
(6)前記管理装置が、前記データベースに含まれる複数の物の数列データpiのそれぞれについて、上記(1)から(5)を繰り返し行い、各数列データpiに対するスコアTiの暗号値を求める。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/344,453 US9215068B2 (en) | 2011-09-14 | 2012-09-14 | Search system, search method, and program |
JP2013533524A JP5975490B2 (ja) | 2011-09-14 | 2012-09-14 | 検索システム、検索方法、およびプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011200826 | 2011-09-14 | ||
JP2011-200826 | 2011-09-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013038698A1 true WO2013038698A1 (ja) | 2013-03-21 |
Family
ID=47882947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/005885 WO2013038698A1 (ja) | 2011-09-14 | 2012-09-14 | 検索システム、検索方法、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9215068B2 (ja) |
JP (1) | JP5975490B2 (ja) |
WO (1) | WO2013038698A1 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015108682A (ja) * | 2013-12-03 | 2015-06-11 | 富士通株式会社 | 秘匿比較方法、プログラム、およびシステム |
WO2016129390A1 (ja) * | 2015-02-10 | 2016-08-18 | 株式会社RNAi | 端末装置、データベースサーバおよび計算システム |
WO2016203555A1 (ja) * | 2015-06-16 | 2016-12-22 | 株式会社日立製作所 | 類似性秘匿検索システム、類似性秘匿検索方法 |
JP2016224905A (ja) * | 2015-05-29 | 2016-12-28 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 類似情報検索方法、サーバ装置及び類似情報検索システム |
CN110569420A (zh) * | 2019-08-22 | 2019-12-13 | 上海摩库数据技术有限公司 | 一种基于化工行业的搜索方法 |
US10673614B2 (en) | 2015-10-09 | 2020-06-02 | Mitsubishi Electric Corporation | Secret search system, management device, secret search method and computer readable medium |
JP2021108108A (ja) * | 2019-12-27 | 2021-07-29 | 株式会社日立ハイテクソリューションズ | 生物活性を持つ化合物の探索システム |
WO2021229973A1 (ja) * | 2020-05-14 | 2021-11-18 | コニカミノルタ株式会社 | 情報処理装置、プログラム及び情報処理方法 |
WO2023008045A1 (ja) * | 2021-07-29 | 2023-02-02 | 株式会社日立製作所 | 情報処理システム及び情報処理方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10341103B2 (en) * | 2015-01-29 | 2019-07-02 | Entit Software Llc | Data analytics on encrypted data elements |
US10404669B2 (en) | 2015-06-09 | 2019-09-03 | Skyhigh Networks, Llc | Wildcard search in encrypted text |
US10176207B1 (en) | 2015-06-09 | 2019-01-08 | Skyhigh Networks, Llc | Wildcard search in encrypted text |
US9894042B2 (en) * | 2015-07-24 | 2018-02-13 | Skyhigh Networks, Inc. | Searchable encryption enabling encrypted search based on document type |
US9942032B1 (en) * | 2015-09-30 | 2018-04-10 | Symantec Corporation | Systems and methods for securely detecting data similarities |
CN106411955B (zh) * | 2016-12-01 | 2019-07-23 | 微鲸科技有限公司 | 一种基于模m同余类环的账号生成方法 |
US20180212753A1 (en) | 2017-01-20 | 2018-07-26 | Enveil, Inc. | End-To-End Secure Operations Using a Query Vector |
US11196541B2 (en) | 2017-01-20 | 2021-12-07 | Enveil, Inc. | Secure machine learning analytics using homomorphic encryption |
US11290252B2 (en) | 2017-01-20 | 2022-03-29 | Enveil, Inc. | Compression and homomorphic encryption in secure query and analytics |
US11507683B2 (en) | 2017-01-20 | 2022-11-22 | Enveil, Inc. | Query processing with adaptive risk decisioning |
US11777729B2 (en) | 2017-01-20 | 2023-10-03 | Enveil, Inc. | Secure analytics using term generation and homomorphic encryption |
WO2018136801A1 (en) | 2017-01-20 | 2018-07-26 | Enveil, Inc. | End-to-end secure operations using a query matrix |
JP6834771B2 (ja) * | 2017-05-19 | 2021-02-24 | 富士通株式会社 | 通信装置および通信方法 |
US10902133B2 (en) | 2018-10-25 | 2021-01-26 | Enveil, Inc. | Computational operations in enclave computing environments |
US10817262B2 (en) | 2018-11-08 | 2020-10-27 | Enveil, Inc. | Reduced and pipelined hardware architecture for Montgomery Modular Multiplication |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
WO2021021120A1 (en) * | 2019-07-30 | 2021-02-04 | Emd Millipore Corporation | Method of synthesizing chemical compounds |
US11601258B2 (en) | 2020-10-08 | 2023-03-07 | Enveil, Inc. | Selector derived encryption systems and methods |
US11799643B2 (en) * | 2021-01-19 | 2023-10-24 | Bank Of America Corporation | Collaborative architecture for secure data sharing |
EP4057287A1 (en) * | 2021-03-12 | 2022-09-14 | UVUE Limited | System for processing molecular information and method of facilitating inter-party communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010164835A (ja) * | 2009-01-16 | 2010-07-29 | Mitsubishi Electric Corp | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 |
JP2011013672A (ja) * | 2009-06-30 | 2011-01-20 | Mitsubishi Electric Research Laboratories Inc | 暗号化された信号に適用された関数の安全な評価のための方法 |
US20110110525A1 (en) * | 2009-11-10 | 2011-05-12 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006094017A2 (en) * | 2005-03-01 | 2006-09-08 | The Regents Of The University Of California | Method for private keyword search on streaming data |
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
US8862895B2 (en) * | 2010-04-27 | 2014-10-14 | Fuji Xerox Co., Ltd. | Systems and methods for communication, storage, retrieval, and computation of simple statistics and logical operations on encrypted data |
WO2012149395A1 (en) * | 2011-04-29 | 2012-11-01 | International Business Machines Corporation | Fully homomorphic encryption |
-
2012
- 2012-09-14 US US14/344,453 patent/US9215068B2/en active Active
- 2012-09-14 WO PCT/JP2012/005885 patent/WO2013038698A1/ja active Application Filing
- 2012-09-14 JP JP2013533524A patent/JP5975490B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010164835A (ja) * | 2009-01-16 | 2010-07-29 | Mitsubishi Electric Corp | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 |
JP2011013672A (ja) * | 2009-06-30 | 2011-01-20 | Mitsubishi Electric Research Laboratories Inc | 暗号化された信号に適用された関数の安全な評価のための方法 |
US20110110525A1 (en) * | 2009-11-10 | 2011-05-12 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
Non-Patent Citations (3)
Title |
---|
GOETHALS, B. ET AL.: "On Private Scalar Product computetion for Privacy-Preserving Data Mining", LECTURE NOTES IN COMPUTER SCIENCE, vol. 3506, 2005, pages 104 - 120, XP019010724 * |
SINGH M. D. ET AL.: "A Privacy Preserving Jaccard Similarity Function for Mining Encrypted Data", TENCON2009 - 2009 IEEE REGION 10 CONFERENCE, 2009, pages 1 - 4, XP031617330 * |
WRIGHT, R. ET AL.: "Privacy-Preserving Bayesian Network Structure Computation on Distributed Heterogeneous Data, Proceedings of the 10th ACM SIGKDD international conference on Knowledge discovery and data mining, 2004.08, p.713-718, especially 3.", PRIVACY-PRESERVING DISTRIBUTED ALGORITHM FOR LEARNING BAYES NETWORK STRUCTURE * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015108682A (ja) * | 2013-12-03 | 2015-06-11 | 富士通株式会社 | 秘匿比較方法、プログラム、およびシステム |
WO2016129390A1 (ja) * | 2015-02-10 | 2016-08-18 | 株式会社RNAi | 端末装置、データベースサーバおよび計算システム |
JPWO2016129390A1 (ja) * | 2015-02-10 | 2017-11-09 | 株式会社RNAi | 端末装置、データベースサーバおよび計算システム |
US10594473B2 (en) | 2015-02-10 | 2020-03-17 | Kabushikikaisha Rnai | Terminal device, database server, and calculation system |
JP2016224905A (ja) * | 2015-05-29 | 2016-12-28 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 類似情報検索方法、サーバ装置及び類似情報検索システム |
WO2016203555A1 (ja) * | 2015-06-16 | 2016-12-22 | 株式会社日立製作所 | 類似性秘匿検索システム、類似性秘匿検索方法 |
US10673614B2 (en) | 2015-10-09 | 2020-06-02 | Mitsubishi Electric Corporation | Secret search system, management device, secret search method and computer readable medium |
CN110569420A (zh) * | 2019-08-22 | 2019-12-13 | 上海摩库数据技术有限公司 | 一种基于化工行业的搜索方法 |
JP2021108108A (ja) * | 2019-12-27 | 2021-07-29 | 株式会社日立ハイテクソリューションズ | 生物活性を持つ化合物の探索システム |
JP7030171B2 (ja) | 2019-12-27 | 2022-03-04 | 株式会社日立ハイテクソリューションズ | 生物活性を持つ化合物の探索システム |
WO2021229973A1 (ja) * | 2020-05-14 | 2021-11-18 | コニカミノルタ株式会社 | 情報処理装置、プログラム及び情報処理方法 |
WO2023008045A1 (ja) * | 2021-07-29 | 2023-02-02 | 株式会社日立製作所 | 情報処理システム及び情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140355756A1 (en) | 2014-12-04 |
JPWO2013038698A1 (ja) | 2015-03-23 |
US9215068B2 (en) | 2015-12-15 |
JP5975490B2 (ja) | 2016-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5975490B2 (ja) | 検索システム、検索方法、およびプログラム | |
US20230385437A1 (en) | System and method for fast and efficient searching of encrypted ciphertexts | |
Kim et al. | Private genome analysis through homomorphic encryption | |
US9536047B2 (en) | Privacy-enhancing technologies for medical tests using genomic data | |
Tang et al. | Protecting genomic data analytics in the cloud: state of the art and opportunities | |
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
EP2895980B1 (en) | Privacy-enhancing technologies for medical tests using genomic data | |
Sousa et al. | Efficient and secure outsourcing of genomic data storage | |
CN113626484A (zh) | 一种可灵活替换密文可搜索加密方法、系统及计算机设备 | |
JP5762232B2 (ja) | プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
CN111143865B (zh) | 一种密文数据上标签自动生成的用户行为分析系统及方法 | |
JP2017225116A (ja) | データ再暗号化を介して機密データを保護するためのコンピュータ実施システムおよび方法 | |
Gürsoy et al. | Privacy-preserving genotype imputation with fully homomorphic encryption | |
US8862893B2 (en) | Techniques for performing symmetric cryptography | |
Hidayat et al. | Data encryption algorithm AES by using blockchain technology: a review | |
Behera et al. | Preserving the Privacy of Medical Data using Homomorphic Encryption and Prediction of Heart Disease using K-Nearest Neighbor | |
Zhao et al. | Secure genomic computation through site-wise encryption | |
Dugan et al. | Privacy-preserving evaluation techniques and their application in genetic tests | |
Liu et al. | ESMAC: Efficient and secure multi-owner access control with TEE in multi-level data processing | |
Gaikwad et al. | Privacy preserving outsourced k nearest neighbors classification: comprehensive study | |
Choi et al. | Privacy-preserving exploration of genetic cohorts with i2b2 at lausanne university hospital | |
Nugent | Privacy-Preserving Credit Card Fraud Detection using Homomorphic Encryption | |
Divakar Allavarpu et al. | Privacy‐preserving credit risk analysis based on homomorphic encryption aware logistic regression in the cloud | |
Ki et al. | An Efficient Method for Securely Storing and Handling of Genomic Data |
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: 12831702 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013533524 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14344453 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 12831702 Country of ref document: EP Kind code of ref document: A1 |