JP2014206696A - Data secrecy type inner product calculation system, method and program - Google Patents

Data secrecy type inner product calculation system, method and program Download PDF

Info

Publication number
JP2014206696A
JP2014206696A JP2013085312A JP2013085312A JP2014206696A JP 2014206696 A JP2014206696 A JP 2014206696A JP 2013085312 A JP2013085312 A JP 2013085312A JP 2013085312 A JP2013085312 A JP 2013085312A JP 2014206696 A JP2014206696 A JP 2014206696A
Authority
JP
Japan
Prior art keywords
organization
data
inner product
data string
tissue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013085312A
Other languages
Japanese (ja)
Inventor
郁夫 中川
Ikuo Nakagawa
郁夫 中川
好史 橋本
Yoshifumi Hashimoto
好史 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intec Inc Japan
Original Assignee
Intec Inc Japan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intec Inc Japan filed Critical Intec Inc Japan
Priority to JP2013085312A priority Critical patent/JP2014206696A/en
Publication of JP2014206696A publication Critical patent/JP2014206696A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To calculate an inner product with relatively small calculation amounts by using data to be kept secret in each of a plurality of organizations as an object.SOLUTION: A device of a first organization performs first deformation for secrecy to a first data string to be kept secret in the organization, and outputs the deformed first data string to a device of a third organization, a device of a second organization performs second deformation for secrecy to a second data string to be kept secret in the organization, and outputs the deformed second data string to the device of the third organization, and the device of the third organization calculates an inner product between the deformed first data string and the deformed second data string, and returns the inner product to at least the device of the second organization. The device of the first organization transmits information related to the first deformation performed by its own device to the device of the second organization, and the device of the second organization calculates an inner product between the first data string and the second data string on the basis of the information related to the second deformation performed by its own device, the information received from the device of the first organization, and the inner product received from the device of the third organization.

Description

本発明は、個人のプライバシに関わるデータ等、他組織から秘匿すべきデータを、複数の組織のそれぞれが有しているときに、データの秘匿性を守りながら、組織間でデータの内積を計算可能とする技術に関する。   The present invention calculates the inner product of data between organizations while protecting the confidentiality of data when each of a plurality of organizations has data to be kept secret from other organizations, such as data related to personal privacy. It relates to the technology to be made possible.

近年、個人情報や行動記録などの「ライフログ」を解析し、さまざまなビジネスシーンに活用する事例が増えている。例えば、POSデータなどの購買履歴、電子マネーの利用履歴、交通網の乗車履歴、車のGPS情報、携帯電話やスマートフォンなどの通話履歴や利用履歴まで、あらゆる場面でデータを解析することが求められている。   In recent years, there have been an increasing number of cases where “life logs” such as personal information and action records are analyzed and used in various business scenes. For example, it is required to analyze data in every scene, such as purchase history such as POS data, usage history of electronic money, boarding history of transportation network, GPS information of cars, call history and usage history of mobile phones and smartphones, etc. ing.

「ライフログ」から得られる情報は有益なものが多く、行動パターンの推定やリコメンド、ターゲットマーケティング等、多くの応用が考えられる。一方で、プライバシ情報の取り扱いに関する懸念も大きい。   The information obtained from the “life log” is often useful, and many applications such as behavior pattern estimation, recommendation, and target marketing can be considered. On the other hand, there are great concerns about the handling of privacy information.

特に、上述したような「ライフログ」のデータは、同一の個人についての異なるデータを異なる組織が有していることが多い。複数の組織間に跨って「ライフログ」の解析をすることができれば、極めて有用な情報が得られる可能性が高いが、プライバシの保護に対する懸念もまた、極めて大きなものとなる。   In particular, the “life log” data as described above often has different data for the same individual in different organizations. If it is possible to analyze the “life log” across a plurality of organizations, it is highly possible that extremely useful information can be obtained, but the concern about privacy protection is also extremely large.

プライバシ情報の利用及び保護の両面からの要望を実現するために、プライバシ保護データマイニング(PPDM)と呼ばれる技術が開発されており、複数の組織間でプライバシを保護しつつデータマイニングを行う手法が、種々提唱されている(非特許文献1参照)。   A technology called Privacy Protection Data Mining (PPDM) has been developed to fulfill the demands from both the use and protection of privacy information, and a method for performing data mining while protecting privacy between multiple organizations, Various proposals have been made (see Non-Patent Document 1).

また、複数の組織間で行うデータマイニングの一つとして、複数の組織がそれぞれ有する情報同士の相関関係を求めるということがある。相関関係を求める処理は、データ列(ベクトル)間の内積を計算する処理に帰結する。プライバシ情報を秘匿しながら、すなわち、二者間で互いに自身の有するベクトルを秘匿したまま、内積を計算できるようにする「秘匿内積」の手法も、提案されている(特許文献1参照)。   In addition, as one of data mining performed between a plurality of organizations, there is a case of obtaining a correlation between pieces of information respectively possessed by a plurality of organizations. The process for obtaining the correlation results in a process for calculating the inner product between the data strings (vectors). A method of “secret inner product” has also been proposed in which privacy products are concealed, that is, an inner product can be calculated between two parties while concealing each other's own vectors (see Patent Document 1).

特開2009−272995号公報JP 2009-272995 A

佐久間 淳、小林重信「プライバシ保護データマイニング」、人工知能学会誌 Vol.24 No.2(2009)Satoshi Sakuma, Shigenobu Kobayashi “Privacy Protection Data Mining”, Journal of Artificial Intelligence Vol. 24 No. 2 (2009)

複数の組織間でプライバシを保護しつつデータマイニングを行う既存の手法の一つは、いついかなる場合も情報を漏洩させず決められたプロトコルから逸脱しないエージェントを利用するというものである。このようなエージェントは、TTP(Trusted Third Party:信頼できる第三者機関)と呼ばれる。TTPを想定した理想モデルでは、データ解析に必要な情報をTTPに集約する。   One of the existing methods for performing data mining while protecting privacy among a plurality of organizations is to use an agent that does not leak information at any time and does not deviate from a predetermined protocol. Such an agent is called a TTP (Trusted Third Party). In the ideal model assuming TTP, information necessary for data analysis is collected in TTP.

TTPの存在を仮定したプロトコルは、理想モデルにおいては、データの安全性と解析結果の正確さの両面で優れている。しかし、現実世界では、そのような理想モデルを実現することは困難であり、しかも情報がTTPに集約されていることから、TTPからの情報漏洩したときの被害が甚大となってしまう。   The protocol that assumes the existence of TTP is superior in terms of both data security and accuracy of analysis results in the ideal model. However, in the real world, it is difficult to realize such an ideal model, and since information is collected in TTP, the damage caused when information leaks from TTP becomes enormous.

プライバシ保護データマイニングの既存の他の手法は、第三者機関を利用せずに、暗号学的アプローチをとるものである。具体的には、二つの巨大素数の積の因数分解は計算量的に困難である等の一定の暗号学上の仮定の下で、二つのエージェントが有する秘密入力を引数とする任意の多項式時間の計算を、エージェントを超えて行うことを可能にする手法が提案されており、この手法は、三つ以上のエージェントが有する秘密入力を扱うことができるセキュアなMPC(Multi-Party Computation)として拡張されている。MPCでは、原理的には、任意の分散データマイニングができるとされるが、計算量が極めて大きいため、データ量が大きい場合には、実運用に耐えられる時間で計算することは難しい。   Another existing approach to privacy-preserving data mining takes a cryptographic approach without the use of third parties. Specifically, given polynomial assumptions such as the fact that the factorization of the product of two giant primes is computationally difficult, any polynomial time with the secret inputs of the two agents as arguments A method has been proposed that makes it possible to perform computations beyond agents, and this method has been expanded as a secure multi-party computation (MPC) that can handle the secret input of three or more agents. Has been. In principle, MPC can perform arbitrary distributed data mining, but since the amount of calculation is extremely large, it is difficult to calculate in a time that can withstand actual operation when the amount of data is large.

また、セキュリティプロトコルと準同型公開鍵暗号等の暗号学的ツールを組み合わせる手法も提案されている。準同型公開鍵暗号とは、暗号化関数が準同型性を有し、暗号化されたままデータを加算することが可能な公開鍵暗号である。MPCアプローチでは、汎用的な関数の安全な計算を目標とするが、準同型公開鍵暗号を用いる手法は、特定の関数の安全な計算を効率的に行うことを目指している。しかし、この手法においても、公開鍵暗号による暗号化・復号化や、準同型公開鍵暗号を利用した計算等があるため、実用的な時間でデータマイニングを行うには、計算量が多過ぎることが懸念される。   A method of combining a security protocol and a cryptographic tool such as a homomorphic public key encryption has also been proposed. Homomorphic public key cryptography is public key cryptography in which an encryption function has homomorphism and data can be added while encrypted. The MPC approach aims at secure calculation of general-purpose functions, but the method using homomorphic public key cryptography aims to efficiently perform secure calculation of specific functions. However, even in this method, since there are encryption / decryption using public key cryptography and computation using homomorphic public key cryptography, the amount of calculation is too large to perform data mining in a practical time. Is concerned.

そして、「秘匿内積」を求める既存の手法(特許文献1)は、秘匿すべき第1のn次元ベクトルVaを有する第一の計算装置が、乱数Wiに基づくスカラー値と乱数Rjとに基づいてベクトルVaを線形変換し、線形変換したn次元ベクトルにおける各要素に対して乱数Miで除算した剰余をp回算出し、この剰余を各要素とするn次元変換ベクトルXを、秘匿すべき第2のn次元ベクトルVbを有する第二の計算装置へ送り、第二の計算装置が、ベクトルXとベクトルVbの内積Zを計算して第一の計算装置へ送り、第一の計算装置は、内積Zに対して逆変換を行うことにより、ベクトルVaとベクトルVbの内積を得るというものである。この手法が適用できるベクトルVa及びベクトルVbは、各要素が整数であるものに限られる。 The existing method of obtaining the "secret inner product" (Patent Document 1), the first computing device having a first n-dimensional vector Va to be concealed, the scalar value and the random number R j based on the random number W i based vector Va linear transformation, the remainder of division by the random number M i for each element in n-dimensional vector obtained by linear conversion calculated p times, the n-dimensional transformation vector X to the remainder with each element, confidential to To the second computing device having the power second n-dimensional vector Vb, and the second computing device calculates the inner product Z of the vector X and the vector Vb and sends it to the first computing device. Is to obtain the inner product of the vector Va and the vector Vb by performing an inverse transformation on the inner product Z. The vectors Va and Vb to which this method can be applied are limited to those in which each element is an integer.

しかも、上記の手法においては、n次元ベクトルVaの内容によっては、第二の計算装置が、受信したn次元変換ベクトルXの各要素の公約数をとる等して逆変換を行うための乱数の値を推測することにより、第一の計算装置内で秘匿されるべき元のVaの各要素の値を計算できてしまう場合がある。そのような事態を防ぎ、実用上十分な安全性を確保するためには、各乱数R、M、Wの桁数を入力変数の桁数に対して十分に大きくしなければならず、剰余を算出する回数pも十分に大きくしなければならないが、そうすると、計算量が膨大になってしまう。   In addition, in the above method, depending on the contents of the n-dimensional vector Va, the second computing device can generate a random number for performing inverse transformation by taking the common divisor of each element of the received n-dimensional transformation vector X. By estimating the value, the value of each element of the original Va that should be kept secret in the first calculation device may be calculated. In order to prevent such a situation and to ensure practically sufficient safety, the number of digits of each random number R, M, W must be sufficiently larger than the number of digits of the input variable, and the remainder is increased. The number of times p to be calculated must also be made sufficiently large, but this would increase the amount of calculation.

本発明は、上述した状況に鑑み、理想的に信頼できる第三者機関は存在しないという現実的な環境の下で、第三者機関を利用することにより、秘匿すべきデータを有する当事者同士だけで計算しようとするよりも、計算量を実用レベルまで小さくしつつ、複数の組織がそれぞれの組織内で秘匿すべきデータを対象として、内積を求めることを可能にすることを目的とする。   In view of the above situation, the present invention uses only a third party in a realistic environment where there is no ideal third party that can be trusted. It is an object of the present invention to make it possible for a plurality of organizations to obtain an inner product for data that should be kept secret within each organization, while reducing the amount of calculation to a practical level, rather than trying to calculate in (1).

本発明の原理に従う一つの例に係るデータ秘匿型内積計算システムは、第一の組織内で秘匿すべき第一のデータ列を保存する保存手段を有する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する保存手段を有する第二の組織の装置と、入力されたデータ列間の内積を計算する計算手段を有する第三の組織の装置とを備える。   A data concealed inner product calculation system according to an example in accordance with the principle of the present invention includes: a first organization apparatus having storage means for storing a first data string to be concealed in the first organization; A second organization apparatus having storage means for storing a second data string to be kept secret in the organization; and a third organization apparatus having calculation means for calculating an inner product between the input data strings. .

そして、第一の組織の装置は、前記第一のデータ列に対して秘匿のための第一の変形を行い、変形された第一のデータ列を前記第三の組織の装置へ出力する出力手段を備え、第二の組織の装置は、前記第二のデータ列に対して秘匿のための第二の変形を行い、変形された第二のデータ列を前記第三の組織の装置へ出力する出力手段を備え、第三の組織の装置は、前記変形された第一のデータ列と前記変形された第二のデータ列との内積を前記計算手段により計算して、該内積を少なくとも前記第二の組織の装置へ返送する返送手段を備える。   Then, the first organization apparatus performs a first modification for concealment on the first data string, and outputs the modified first data string to the third organization apparatus. The second organization apparatus performs a second modification for concealment on the second data string, and outputs the modified second data string to the third organization apparatus. The third organization apparatus calculates an inner product of the deformed first data string and the deformed second data string by the calculating means, and outputs the inner product at least as described above. Return means for returning to the second tissue device is provided.

さらに、第一の組織の装置は、前記第二の組織の装置へ、自装置が行った前記第一の変形に関する情報を送信する送信手段を備え、第二の組織の装置は、自装置が行った前記第二の変形に関する情報と前記第一の組織の装置から受信された情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求める計算手段を備える。   Further, the first tissue device includes a transmission unit that transmits information on the first deformation performed by the device to the second tissue device, and the second tissue device includes: Based on the information about the second deformation performed, the information received from the first tissue device, and the inner product received from the third tissue device, the first data sequence and the second The calculation means which calculates | requires the inner product with these data strings is provided.

なお、上述したデータ秘匿型内積計算システムにおいて、前記第三の組織の装置は、計算した前記内積を前記第一の組織の装置へも返送するものとし、前記第一の組織の装置は、自装置が行った前記第一の変形に関する情報と前記第二の組織の装置から受信された情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求める計算手段をも備えるものとし、前記第二の組織の装置は、前記第一の組織の装置へ、自装置が行った前記第二の変形に関する情報を送信する送信手段をも備えるものとしてもよい。   In the data concealed inner product calculation system described above, the device of the third organization shall return the calculated inner product to the device of the first organization, and the device of the first organization Based on information about the first deformation performed by the device, information received from the second tissue device, and the inner product received from the third tissue device, the first data string and the Computation means for obtaining an inner product with the second data string is also provided, and the device of the second organization transmits information on the second deformation performed by the device to the device of the first organization. It is good also as what also has the transmission means to perform.

上記の構成において、内積を計算する第三の組織の装置が、第一の組織の装置及び第二の組織の装置のそれぞれ受け取るのは、変形されたデータ列であり、この第三の組織の装置が扱う情報のみからは、秘匿されるべき元のデータ列を得ることはできない。したがって、第三の組織の装置において、情報漏洩が起きたとしても、第三者に対するデータの秘匿性を保つことが可能であり、現実的な第三者機関を、第三の組織の装置として利用することが可能になる。   In the above configuration, the third tissue device for calculating the inner product receives each of the first tissue device and the second tissue device as a modified data string, and the third tissue device The original data string to be concealed cannot be obtained only from the information handled by the device. Therefore, even if information leakage occurs in the device of the third organization, it is possible to keep the confidentiality of data to a third party, and a realistic third-party organization as a device of the third organization It becomes possible to use.

また、第一の組織の装置は、第二の組織の装置が有するデータ列は勿論のこと、それが変形されたデータ列すら受け取ることはなく、第三の組織の装置が計算した内積と、第二の組織の装置がどのような変形を行ったかに関連する情報とを受け取るだけであるため、第三の組織の装置から情報が漏洩しない限り、第二の組織内で秘匿されるべき元のデータ列を得ることはできない。同様に、第二の組織の装置は、第一の組織内で秘匿されるべき元のデータ列を得ることはできない。したがって、第一及び第二の組織のそれぞれの中で秘匿すべきデータ列に対して行う変形を、比較的簡単なものとしても、相手の組織に対する秘匿性を含めてデータの秘匿性を保つことが可能であり、計算量を実用レベルに抑えることが可能になる。   In addition, the first tissue device does not receive the data string of the second tissue device, but also the modified data string, and the inner product calculated by the third tissue device, Only the information related to how the second organization's device has been transformed, so unless information is leaked from the third organization's device, it should be kept secret in the second organization. It is not possible to obtain the data string. Similarly, the device of the second organization cannot obtain the original data string to be concealed within the first organization. Therefore, it is possible to maintain the confidentiality of the data including the confidentiality of the other organization even if the modification to the data string to be kept confidential in each of the first and second organizations is relatively simple. It is possible to reduce the calculation amount to a practical level.

上述したデータ秘匿型内積計算システムにおいて、前記第一のデータ列の各データと、前記第二のデータ列の各データとを、同一の各データIDに対応付けられるものとしてもよい。   In the data concealed inner product calculation system described above, each data in the first data string and each data in the second data string may be associated with the same data ID.

これにより、第一の組織と第二の組織がそれぞれ独立に有するデータ列が、共通のID空間に係るものとなり、複数の組織がそれぞれ有する情報同士の相関関係を求めることが可能になる。例えば、航空会社(第一の組織)が、顧客の渡航情報を有しており、病院(第二の組織)が、患者の病症情報を有している場合に、各IDによって個人が特定されないようにしながら、両組織で同一のIDが同一人の情報に対応付くようにしておけば、二つのデータ列の内積を求めることにより、特定の地域に渡航し、且つ、特定の病症にかかった人の数を求めるようなことが可能になる。   As a result, the data strings independently possessed by the first organization and the second organization are related to the common ID space, and it is possible to obtain the correlation between the information possessed by each of the plurality of organizations. For example, if an airline (first organization) has customer travel information and a hospital (second organization) has patient disease information, no individual is identified by each ID. However, if the same ID is associated with the same person's information in both organizations, it traveled to a specific area by obtaining the inner product of the two data strings and suffered from a specific disease It becomes possible to ask for the number of people.

上述したデータ秘匿型内積計算システムにおいて、前記第一の組織の装置の送信手段(及び前記第二の組織の装置の送信手段)を、前記第三の組織の装置が前記計算手段による計算に用いた前記変形された第一のデータ列及び前記変形された第二のデータ列を消去したことが確認された後に、前記情報を送信するものとしてもよい。   In the data concealed inner product calculation system described above, the transmission means of the first organization apparatus (and the transmission means of the second organization apparatus) is used by the third organization apparatus for calculation by the calculation means. The information may be transmitted after it is confirmed that the deformed first data string and the deformed second data string have been erased.

これにより、第二の組織の装置が第一の変形に関する情報を得た後で、第三の組織の装置に保持されていた変形された第一のデータ列の情報が漏洩することにより、第二の組織において第一の組織内で秘匿されるべき第一のデータ列が計算可能になってしまうという事態を、生じさせないようにすることが可能になる。同様に、第一の組織において第二の組織内で秘匿されるべき第二のデータ列が可能になってしまうという事態を、生じさせないようにすることが可能になる。   As a result, after the second tissue apparatus obtains information on the first deformation, the information of the deformed first data string held in the third tissue apparatus leaks, It is possible to prevent a situation in which the first data string to be concealed in the first organization can be calculated in the second organization. Similarly, it is possible to prevent a situation in which the second data string to be concealed in the second organization becomes possible in the first organization.

上述したデータ秘匿型内積計算システムにおいて、前記第三の組織の装置は、前記変形された第一のデータ列と前記変形された第二のデータ列との内積を前記計算手段により計算すると、前記内積を残して、前記変形された第一のデータ列及び前記変形された第二のデータ列を消去し、消去後に、前記内積を前記第二の組織の装置(及び前記第一の組織の装置)へ返送するものとし、前記第一の組織の装置の送信手段(及び前記第二の組織の装置の送信手段)は、前記第三の組織の装置からの前記内積が受け取られた後に、前記情報を送信するものとしてもよい。   In the data concealed inner product calculation system described above, the third organization apparatus calculates the inner product of the deformed first data string and the deformed second data string by the calculating means, The inner product is left, the deformed first data string and the deformed second data string are erased, and after the erase, the inner product is replaced with the second tissue device (and the first tissue device). The first tissue device transmitting means (and the second tissue device transmitting means) after the inner product from the third tissue device is received, Information may be transmitted.

これにより、第三の組織の装置が、変形されたデータ列を保持しているのは、第一の組織の装置及び第二の組織の装置のそれぞれから変形されたデータ列を受け取ってから、内積の計算を終了するまでの、短い時間に限られるから、第三の組織の装置からの情報漏洩のリスクを十分に低くすることが可能になる。   Thus, the third tissue device holds the deformed data sequence after receiving the deformed data sequence from each of the first tissue device and the second tissue device, Since it is limited to a short time until the calculation of the inner product is completed, it is possible to sufficiently reduce the risk of information leakage from the device of the third organization.

上述したデータ秘匿型内積計算システムにおいて、前記第三の組織の装置は、前記変形された第一のデータ列と前記変形された第二のデータ列との内積を前記計算手段により計算した後、前記変形された第一のデータ列及び前記変形された第二のデータ列を消去し、これらのデータ列が消去前に組織外へ漏洩した可能性の有無を判断し、判断結果を前記第一の組織の装置(及び前記第二の組織の装置)へ通知する手段をさらに備えるものとし、前記第一の組織の装置の送信手段(及び前記第二の組織の装置の送信手段)は、前記第三の組織の装置から前記可能性が無とする判断結果が通知された後に、前記情報を送信するものとしてもよい。   In the data concealed inner product calculation system described above, the third organization apparatus calculates the inner product of the deformed first data string and the deformed second data string by the calculating means, The modified first data string and the modified second data string are erased, and it is determined whether or not these data strings have leaked out of the organization before erasure, and the judgment result is the first Means for notifying the tissue apparatus (and the second tissue apparatus) of the first tissue apparatus, and the transmission means (and the second tissue apparatus transmission means) of the first tissue The information may be transmitted after the determination result that the possibility is not received is notified from the device of the third organization.

これにより、第一の組織の装置は、第三の組織の装置において情報漏洩が起きていないと判断されたことを確認した後に、第二の組織の装置へ第一の変形に関する情報を送信することが可能になり、第三の組織の装置において情報漏洩が起きた可能性があることが通知された場合には、第二の組織の装置への第一の変形に関する情報を送信しないことにより、第二の組織が第一のデータ列を計算できない状態を保つことが可能になる。同様に、第二の組織の装置は、第二の変形に関する情報を送信しないことにより、第一の組織が第二のデータ列を計算できない状態を保つことが可能になる。   Thus, after confirming that the information leakage has not occurred in the third tissue device, the first tissue device transmits information on the first deformation to the second tissue device. If it is notified that there is a possibility that information leakage has occurred in the device of the third organization, by not sending information on the first deformation to the device of the second organization It becomes possible to keep the state where the second organization cannot calculate the first data string. Similarly, the device of the second organization can keep the state where the first organization cannot calculate the second data string by not transmitting the information on the second deformation.

上述したデータ秘匿型内積計算システムにおいて、少なくとも、前記第一の組織の装置と前記第三の組織の装置との間の通信、及び、前記第二の組織の装置と前記第三の組織の装置との間の通信が、該通信を行う二者以外に傍受されないよう、且つ、第三者が通信相手になりすますことのできないよう、保護されているようにするとよい。これに加えて、前記第一の組織の装置と前記第二の組織の装置との間の通信も、該通信を行う二者以外に傍受されないよう、且つ、第三者が通信相手になりすますことのできないよう、保護されているようにしてもよい。   In the data confidential inner product calculation system described above, at least communication between the first organization device and the third organization device, and the second organization device and the third organization device. It is preferable that the communication between the mobile phone and the mobile phone be protected so that it cannot be intercepted by anyone other than the two parties that perform the communication, and a third party cannot impersonate the communication partner. In addition, communication between the device of the first organization and the device of the second organization should not be intercepted by anyone other than the two parties performing the communication, and a third party shall be the communication partner. It may be protected so that it is not possible.

これにより、通信に関わる安全性と計算に関わる安全性とを分離して、通信については、既存の暗号化技術等を応用して、安全性を確保し、計算については、本発明の原理に従って情報理論的安全性に基づく手法を用いることにより、比較的少ない計算量で安全性を確保することが可能になる。   As a result, safety related to communication and safety related to calculation are separated, and for communication, existing encryption technology is applied to ensure safety, and calculation is performed according to the principle of the present invention. By using a method based on information-theoretic safety, it is possible to ensure safety with a relatively small amount of calculation.

上述したデータ秘匿型内積計算システムにおいて、前記第三の組織の装置は、前記変形された第一又は第二のデータ列を構成する複数のデータのうち、所定数より多いデータの値が零である場合、前記内積の計算を行わず、前記内積の代わりに、計算拒否の通知を返送するものとしてもよい。   In the data concealment type inner product calculation system described above, the device of the third organization has a value of data larger than a predetermined number among the plurality of data constituting the modified first or second data string being zero. In some cases, the calculation of the inner product is not performed, and a calculation rejection notification may be returned instead of the inner product.

例えば、第一のデータ列が{x1,x2,…,xN}であるところに、第二のデータ列として{1,0,…,0}、{0,1,…,0}、…{0,0,…,1}(k番目の要素が1で、その他の要素が全て0であるデータ列)を入力して、内積を求めると、第一のデータ列のk番目の要素の値(xk)を知ることができてしまい、これをk=1〜Nとして繰り返せば、{x1,x2,…,xN}を全て知ることもできてしまう。これは、N個の要素のうちの1つ以外が全て0の場合に限らず、Nの大きさにも依存する所定割合よりも多くの要素が全て0であれば、各要素の値を推測することができてしまう。よって、このようなデータ列が入力された場合に、第三の組織の装置が内積を計算しないようになっていると、安全性を増すことが可能になる。 For example, where the first data string is {x 1 , x 2 ,..., X N }, {1, 0,..., 0}, {0, 1,. ,... {0, 0,..., 1} (a data string in which the k th element is 1 and all other elements are all 0), and the inner product is obtained, the k th of the first data string The element value (x k ) can be known, and if this is repeated as k = 1 to N, {x 1 , x 2 ,..., X N } can all be known. This is not limited to the case where all but one of the N elements are all zero, and if the number of elements that are larger than a predetermined ratio depending on the size of N are all zero, the value of each element is estimated. I can do it. Therefore, when such a data string is input, if the device of the third organization does not calculate the inner product, the safety can be increased.

上述したデータ秘匿型内積計算システムにおいて、前記第三の組織の装置は、前記内積の計算に用いられた前記変形されたデータ列が、どの組織のどのデータIDセットに係るものであるかを保存しておき、所定期間内に、同一の組織の装置から同一のデータIDセットに係る前記変形されたデータ列を受け取った場合、前記内積の計算を行わず、前記内積の代わりに、計算拒否の通知を返送するものとしてもよい。   In the data concealed inner product calculation system described above, the device of the third organization stores which data ID set of which organization the transformed data string used for the calculation of the inner product relates to. In addition, when the modified data sequence related to the same data ID set is received from a device of the same organization within a predetermined period, the inner product is not calculated, and the calculation rejection is performed instead of the inner product. Notifications may be returned.

例えば、第一のデータ列が{x1,x2,…,xN}であるところに、第二のデータ列として、まず{1,2,…,1}(k番目の要素が2で、その他の要素が全て1であるデータ列)を入力し、次に{1,1,…,1}(全ての要素が1であるデータ列)を入力して、初めに得られた内積から次に得られた内積を減算すると、第一のデータ列のk番目の要素の値(xk)を知ることができてしまう。よって、今回内積計算をすべく入力された二つのデータ列が、過去一定期間の間に内積を計算した二つのデータ列と、同じ組織の同じデータIDに係るものである場合に、第三の組織の装置が内積を計算しないようになっていると、安全性を増すことが可能になる。 For example, where the first data string is {x 1 , x 2 ,..., X N }, as the second data string, first, {1, 2,. , Other elements are all 1), and then {1, 1,..., 1} (all data is 1), and from the inner product obtained first Next, when the inner product obtained is subtracted, the value (x k ) of the k-th element of the first data string can be known. Therefore, if the two data strings input to calculate the inner product this time are related to the same data ID of the same organization as the two data strings calculated for the inner product during the past certain period, If the tissue device does not calculate the dot product, it can increase safety.

以下には、上述したデータ秘匿型内積計算システムにおいて行われる第一及び第二の変形に関し、具体的な例を示す。   Below, a specific example is shown regarding the 1st and 2nd deformation | transformation performed in the data concealment type inner product calculation system mentioned above.

第一の例においては、前記第一の組織の装置が行う前記第一の変形は、第一の乱数を生成し、前記第一のデータ列を構成する各データに該第一の乱数を乗算するものであり、前記第二の組織の装置が行う前記第二の変形は、第二の乱数を生成し、前記第二のデータ列を構成する各データに該第二の乱数を乗算するものであり、前記第一の変形に関する情報は、前記第一の乱数であり、前記第二の変形に関する情報は、前記第二の乱数である。   In the first example, the first modification performed by the device of the first organization generates a first random number and multiplies each data constituting the first data string by the first random number. The second modification performed by the device of the second organization is to generate a second random number, and multiply each data constituting the second data string by the second random number. The information related to the first modification is the first random number, and the information related to the second modification is the second random number.

上記第一の例は、計算量が少ないが、乱数をそれぞれ一つしか用いないと、変形後のデータ列における各要素の値のばらつき等から、元のデータ列の何らかの情報を推測されてしまう可能性があるため、後述するシャッフルの例を組み合わせて構成するか、もしくは、下記第二又は第三の例を採用する方が好ましい。   In the first example, the amount of calculation is small, but if only one random number is used, some information in the original data sequence is inferred from the variation in the value of each element in the transformed data sequence. Since there is a possibility, it is preferable to combine the examples of shuffles described later, or to adopt the following second or third example.

第二の例においては、前記第一の組織の装置が行う前記第一の変形は、第一の乱数列を生成し、前記第一のデータ列を構成する各データに該第一の乱数列を構成する各データを加算するものであり、前記第二の組織の装置が行う前記第二の変形は、第二の乱数列を生成し、前記第二のデータ列を構成する各データに該第二の乱数列を構成する各データを加算するものであり、前記第一の変形に関する情報は、前記第一の乱数列であり、前記第二の変形に関する情報は、前記第二の乱数列である。   In the second example, the first modification performed by the device of the first organization generates a first random number sequence and adds the first random number sequence to each data constituting the first data sequence. The second modification performed by the device of the second organization generates a second random number sequence, and adds each data constituting the second data sequence to the data constituting the second data sequence. Each of the data constituting the second random number sequence is added, the information regarding the first modification is the first random number sequence, and the information regarding the second modification is the second random number sequence It is.

そして、前記第一の組織の装置は、前記第一のデータ列と前記第二の乱数列との内積を計算し、該計算結果を、前記第二の組織の装置の計算手段が前記第一の組織の装置から受信された情報として利用できるように、前記第二の組織の装置へ送信する手段をさらに備える。前記第二の組織の装置が、前記第二のデータ列と前記第一の乱数列との内積を計算し、該計算結果を、前記第一の組織の装置の計算手段が前記第二の組織の装置から受信された情報として利用できるように、前記第一の組織の装置へ送信する手段をさらに備えてもよい。   The first organization apparatus calculates an inner product of the first data string and the second random number sequence, and the calculation result of the second organization apparatus is calculated by the first organization apparatus. Means for transmitting to the second tissue device so that it can be used as information received from the second tissue device. The device of the second organization calculates the inner product of the second data sequence and the first random number sequence, and the calculation means of the device of the first organization calculates the calculation result of the second organization. The information processing apparatus may further include means for transmitting to the first tissue device so that the information can be used as information received from the first device.

上記第二の例は、元のデータ列に対して、それと同じ情報量を持つ乱数を用いた暗号化を行うことに相当し、完全秘匿性を有する(Shanon Secure)ということができる。つまり、第三の組織の装置から情報が漏洩したとしても、情報理論的安全性が期待されるということである。   The second example corresponds to performing encryption using a random number having the same amount of information on the original data string, and can be said to have complete secrecy (Shanon Secure). In other words, even if information is leaked from the device of the third organization, information theoretical safety is expected.

第三の例においては、前記第一の組織の装置が行う前記第一の変形は、第一の乱数及び第一の乱数列を生成し、前記第一のデータ列を構成する各データに該第一の乱数を乗算した各結果に該第一の乱数列を構成する各データを加算するものであり、前記第二の組織の装置が行う前記第二の変形は、第二の乱数及び第二の乱数列を生成し、前記第二のデータ列を構成する各データに該第二の乱数を乗算した各結果に該第二の乱数列を構成する各データを加算するものであり、前記第一の変形に関する情報は、前記第一の乱数及び前記第一の乱数列であり、前記第二の変形に関する情報は、前記第二の乱数及び前記第二の乱数列である。   In a third example, the first modification performed by the device of the first organization generates a first random number and a first random number sequence, and each data constituting the first data sequence includes Each data constituting the first random number sequence is added to each result obtained by multiplying the first random number, and the second modification performed by the device of the second organization includes the second random number and the first random number. Generating a second random number sequence, and adding each data constituting the second random number sequence to each result of multiplying the second random number by each data constituting the second data sequence, The information regarding the first variation is the first random number and the first random number sequence, and the information regarding the second variation is the second random number and the second random number sequence.

そして、前記第一の組織の装置は、前記第一のデータ列と前記第二の乱数列との内積を計算し、該計算結果を、前記第二の組織の装置の計算手段が前記第一の組織の装置から受信された情報として利用できるように、前記第二の組織の装置へ送信する手段をさらに備える。前記第二の組織の装置が、前記第二のデータ列と前記第一の乱数列との内積を計算し、該計算結果を、前記第一の組織の装置の計算手段が前記第二の組織の装置から受信された情報として利用できるように、前記第一の組織の装置へ送信する手段をさらに備えてもよい。   The first organization apparatus calculates an inner product of the first data string and the second random number sequence, and the calculation result of the second organization apparatus is calculated by the first organization apparatus. Means for transmitting to the second tissue device so that it can be used as information received from the second tissue device. The device of the second organization calculates the inner product of the second data sequence and the first random number sequence, and the calculation means of the device of the first organization calculates the calculation result of the second organization. The information processing apparatus may further include means for transmitting to the first tissue device so that the information can be used as information received from the first device.

上記第三の例は、元のデータ列に対して、それより多い情報量を持つ乱数を用いた暗号化を行うことに相当し、完全秘匿性を有する(Shanon Secure)ということができる。第一の組織、第二の組織及び第三の組織の間で交換される情報は限定的であるので、元の第一及び第二のデータ列を推測するには、情報が足りないということである。   The third example corresponds to performing encryption using a random number having a larger amount of information on the original data string, and can be said to have complete confidentiality (Shanon Secure). The information exchanged between the first, second, and third organizations is limited, so there is not enough information to infer the original first and second data strings It is.

上述したデータ秘匿型内積計算システムにおいて、前記第一の組織の装置及び前記第二の組織の装置が、それぞれ、前記第一のデータ列及び前記第二のデータ列につき、データ列を構成する各データの順番を、同一の規則に従って入れ替える手段を有し、順番が入れ替えられた前記第一のデータ列及び前記第二のデータ列に対して、それぞれ、前記第一の変形及び前記第二の変形を行うようにしてもよい。   In the data concealed inner product calculation system described above, each of the first organization device and the second organization device constitutes a data sequence for the first data sequence and the second data sequence, respectively. Means for replacing the order of data according to the same rule, and the first modification and the second modification, respectively, with respect to the first data string and the second data string whose order has been interchanged May be performed.

この構成は、ベクトル内の要素の順番を二つのベクトルで同じように入れ替えても、当該二つのベクトルの内積は入れ替え前の内積と同じになることを利用しており、上記第一乃至第三の例のいずれとも組み合わせて使うことができる。例えば、データ列の中の要素の順番をその都度シャッフルし、どのようにシャッフルするかを第一及び第二の組織間だけで共有するようにしておけば、第三者は、変形後のデータ列における各要素の値のばらつき等を見ても、各要素がどのデータIDに対応するかが分からないため、プライバシ情報を効果的に保護することが可能になる。   This configuration utilizes the fact that the inner product of the two vectors is the same as the inner product before the replacement even if the order of the elements in the vector is replaced in the same way by the two vectors. Can be used in combination with any of the examples. For example, if the order of the elements in the data string is shuffled each time, and how the shuffling is shared only between the first and second organizations, the third party Even if the variation of the value of each element in the column is seen, it is not known which data ID corresponds to each element, so that privacy information can be effectively protected.

上述したデータ秘匿型内積計算システムの発明は、システム全体の方法の発明としても、汎用のコンピュータシステムを本システムとして動作させるためのプログラム(又はそのプログラムを記録した記録媒体)の発明としても、本システムにおける第一の組織の装置、第二の組織の装置、第三の組織の装置のいずれの物の発明としても、汎用のコンピュータを本システムの各々の装置として動作させるためのプログラム(又はそのプログラムを記録した記録媒体)の発明としても、本システムの各々の装置において実行される方法の発明としても、勿論成立するものである。以下に、そのうちの幾つかを例示する。   The invention of the data concealed inner product calculation system described above may be the invention of the method of the entire system, the invention of a program (or a recording medium on which the program is recorded) for operating a general-purpose computer system as the system. As an invention of any one of the first organization device, the second organization device, and the third organization device in the system, a program for operating a general-purpose computer as each device of the present system (or its program) Of course, both the invention of the recording medium on which the program is recorded and the invention of the method executed in each device of the system are realized. Some of them are illustrated below.

本発明の原理に従う一つの例に係る方法は、第一の組織内で秘匿すべき第一のデータ列を保存する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する第二の組織の装置とが、第三の組織の装置を利用して、データの秘匿性を保ちながら前記第一のデータ列と前記第二のデータ列との内積を得るための方法である。   A method according to one example in accordance with the principles of the present invention includes a first organization device for storing a first data stream to be concealed within a first organization and a second to be concealed within a second organization. The second organization device that stores the data string uses the third organization device to obtain the inner product of the first data row and the second data row while maintaining the confidentiality of the data. It is a way for.

そして、前記第一の組織の装置は、前記第一のデータ列に対して秘匿のための第一の変形を行い、変形された第一のデータ列を前記第三の組織の装置へ出力し、前記第二の組織の装置は、前記第二のデータ列に対して秘匿のための第二の変形を行い、変形された第二のデータ列を前記第三の組織の装置へ出力し、前記第三の組織の装置は 前記変形された第一のデータ列と前記変形された第二のデータ列との内積を計算して、該内積を少なくとも前記第二の組織の装置へ返送する。   Then, the device of the first organization performs a first modification for concealment on the first data sequence, and outputs the modified first data sequence to the device of the third organization. The second organization apparatus performs a second modification for concealment on the second data string, and outputs the modified second data string to the third organization apparatus, The third tissue device calculates an inner product of the deformed first data string and the deformed second data string, and returns the inner product to at least the second tissue device.

さらに、前記第一の組織の装置は、前記第二の組織の装置へ、自装置が行った前記第一の変形に関する情報を送信し、前記第二の組織の装置は、自装置が行った前記第二の変形に関する情報と前記第一の組織の装置から受信した情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求める。   Furthermore, the device of the first tissue transmits information on the first deformation performed by the device to the device of the second tissue, and the device of the second tissue is performed by the device. Based on the information about the second deformation, the information received from the first tissue device, and the inner product received from the third tissue device, the first data string and the second data string Find the dot product with.

なお、上述したデータ秘匿型内積計算方法において、前記第三の組織の装置は、計算した前記内積を前記第一の組織の装置へも返送し、前記第二の組織の装置は、前記第一の組織の装置へ、自装置が行った前記第二の変形に関する情報を送信し、前記第一の組織の装置は、自装置が行った前記第一の変形に関する情報と前記第二の組織の装置から受信した情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めるようにしてもよい。   In the data concealed inner product calculation method described above, the device of the third organization returns the calculated inner product to the device of the first organization, and the device of the second organization Information on the second deformation performed by the own device is transmitted to the device of the tissue, and the device of the first tissue transmits the information on the first deformation performed by the own device and the information on the second tissue. An inner product of the first data string and the second data string may be obtained based on the information received from the device and the inner product received from the third organization device.

本発明の原理に従う一つの例に係るプログラムは、第一の組織内で秘匿すべき第一のデータ列を保存する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する第二の組織の装置とが、第三の組織の装置を利用して、データの秘匿性を保ちながら前記第一のデータ列と前記第二のデータ列との内積を得るためのシステムにおける、第一の組織の装置として、コンピュータを動作させるプログラムである。   A program according to an example in accordance with the principle of the present invention includes a first organization device for storing a first data string to be concealed in a first organization, and a second organization to be concealed in a second organization. The second organization device that stores the data string uses the third organization device to obtain the inner product of the first data row and the second data row while maintaining the confidentiality of the data. Is a program that causes a computer to operate as an apparatus of the first organization in the system.

この第一の組織用のプログラムは、前記コンピュータに、前記第一のデータ列に対して秘匿のための第一の変形を行い、変形された第一のデータ列を前記第三の組織の装置へ出力させ、前記第三の組織の装置から返送される、前記変形された第一のデータ列と前記第二の組織の装置から出力されたデータ列との内積を受け取らせ、前記第二の組織の装置から、該第二の組織の装置が前記第三の組織の装置へ出力する前に秘匿のために前記第二のデータ列に対して行った第二の変形に関する情報を受信させ、自装置が行った前記第一の変形に関する情報と前記第二の組織の装置から受信された情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めさせる。   The first organization program causes the computer to perform a first modification for concealment of the first data string, and the modified first data string is used as a device of the third organization. And receiving the inner product of the transformed first data string and the data string output from the second tissue device returned from the third tissue device, and From the organization device, the second organization device receives information on the second transformation performed on the second data string for concealment before outputting to the third organization device, Based on the information relating to the first deformation performed by the device itself, the information received from the device of the second tissue, and the inner product received from the device of the third tissue, the first data string, An inner product with the second data string is obtained.

本発明の原理に従う別の例に係るプログラムは、第一の組織内で秘匿すべき第一のデータ列を保存する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する第二の組織の装置とが、第三の組織の装置を利用して、データの秘匿性を保ちながら前記第一のデータ列と前記第二のデータ列との内積を得るためのシステムにおける、第三の組織の装置として、コンピュータを動作させるプログラムである。   A program according to another example according to the principle of the present invention includes a first organization apparatus for storing a first data string to be concealed in the first organization, and a second organization to be concealed in the second organization. The second organization device that stores the data string uses the third organization device to obtain the inner product of the first data row and the second data row while maintaining the confidentiality of the data. Is a program that causes a computer to operate as a third organization apparatus.

この第三の組織用のプログラムは、前記コンピュータに、前記第一の組織の装置から、前記第一のデータ列に対して秘匿のための第一の変形を行って得られたデータ列を受け取らせ、前記第二の組織の装置から、前記第二のデータ列に対して秘匿のための第二の変形を行って得られたデータ列を受け取らせ、前記第一の組織の装置から受け取ったデータ列と前記第二の組織の装置から受け取ったデータ列との内積を計算させ、前記内積を、前記第一の組織の装置及び前記第二の組織の装置の少なくとも一方が、該内積と前記第一の変形に関する情報と前記第二の変形に関する情報とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めることができるよう、前記第一の組織の装置及び前記第二の組織の装置の少なくとも一方へ返送させる。   The program for the third organization receives the data string obtained by performing the first modification for concealment on the first data string from the device of the first organization. And receiving the data string obtained by performing the second modification for concealment on the second data string from the second organization apparatus, and receiving the data string from the first organization apparatus. Calculating a dot product of a data string and a data string received from the second tissue device, wherein the inner product is determined by at least one of the first tissue device and the second tissue device. Based on the information on the first deformation and the information on the second deformation, the first tissue apparatus and the first tissue device so that the inner product of the first data string and the second data string can be obtained At least one of the second tissue devices; It returned to.

本発明によれば、例えば、現実的な第三者機関を利用して、計算量を実用レベルに抑えつつ、複数の組織がそれぞれの組織内で秘匿すべきデータを対象として、内積を求めることが可能となる。   According to the present invention, for example, by using a realistic third-party organization, the inner volume is obtained for data that should be kept secret in each organization by a plurality of organizations while keeping the amount of calculation at a practical level. Is possible.

本発明の実施の形態に係るデータ秘匿型内積計算システムの構成例を示す図The figure which shows the structural example of the data concealment type inner product calculation system which concerns on embodiment of this invention 本システムにおける計算手順の第1の例を説明する図The figure explaining the 1st example of the calculation procedure in this system 本システムにおける計算手順の第2の例を説明する図The figure explaining the 2nd example of the calculation procedure in this system 本システムにおける計算手順の第2の例(図3の続き)を説明する図The figure explaining the 2nd example (continuation of FIG. 3) of the calculation procedure in this system 本システムにおける計算手順の第3の例を説明する図The figure explaining the 3rd example of the calculation procedure in this system 本システムにおける計算手順の第3の例(図5の続き)を説明する図The figure explaining the 3rd example (continuation of FIG. 5) of the calculation procedure in this system 本システムにおける計算手順の第3の例(図6の続き)を説明する図The figure explaining the 3rd example (continuation of FIG. 6) of the calculation procedure in this system 本システムにおける計算手順の第4の例を説明する図The figure explaining the 4th example of the calculation procedure in this system 本システムにおける計算手順の第4の例(図8の続き)を説明する図The figure explaining the 4th example (continuation of FIG. 8) of the calculation procedure in this system 本システムにおける計算手順の第4の例(図9の続き)を説明する図The figure explaining the 4th example (continuation of FIG. 9) of the calculation procedure in this system

以下、本発明の実施の形態に係るデータ秘匿型内積計算システムについて、例示のために、図面を用いて説明する。   Hereinafter, a data concealment type inner product calculation system according to an embodiment of the present invention will be described with reference to the drawings for illustration.

本システムは、 共通なID空間に関して二つの独立な組織が何らかの情報を有する場合に、両組織が持つ情報はプライバシに関わる情報を含む可能性があるため、互いが相手の情報を得ることがないようにしながら、二つの組織が有するデータの関連性や傾向等を解析することを可能にする。この解析は、二つの組織が有するデータの相関係数を求めることにより行われる。本システムの特徴は、現実的な前提条件に基づくクラウド(第三者機関)の存在を利用して、二つの組織がそれぞれの情報を誰にも開示することなく、それらの情報の相関係数を求めることを、実用に適する計算量で、可能にすることにある。   In this system, when two independent organizations have some information regarding a common ID space, the information held by both organizations may contain information related to privacy, so each other will not obtain the information of the other party. In this way, it is possible to analyze the relevance and tendency of data held by the two organizations. This analysis is performed by obtaining a correlation coefficient between data of two tissues. The feature of this system is that the existence of a cloud (third party organization) based on realistic preconditions makes it possible for two organizations to disclose their respective information to each other without correlating each other's information. It is to make it possible to obtain the above with a calculation amount suitable for practical use.

本システムで行われる解析は、組織A、Bが、ID空間U={1,2,…,N}を共有し、組織A、Bのそれぞれが、このID空間に対応するデータ列(ベクトル)SX={X1,X2,…,XN}({Xiiと表す)、SY={Y1,Y2,…,YN}({Yiiと表す)を有し、SXとSYの内容を自組織以外のいずれの組織にも開示することなく、SXとSYの相関係数ρを求めることに帰着する。ρは、以下の式(数1)で求められる。なお、ベクトルSX、SYを構成する各要素Xi、Yiは、それぞれ任意の実数とすることができる。 In the analysis performed in this system, the organizations A and B share the ID space U = {1, 2,..., N}, and each of the organizations A and B has a data string (vector) corresponding to this ID space. S X = {X 1 , X 2 ,..., X N } (represented as {X i } i ), S Y = {Y 1 , Y 2 ,..., Y N } (represented as {Y i } i ) The result is that the correlation coefficient ρ between S X and S Y is obtained without disclosing the contents of S X and S Y to any organization other than its own organization. ρ is obtained by the following equation (Equation 1). The elements X i and Y i constituting the vectors S X and S Y can be arbitrary real numbers.

本システムでは、組織Aと組織Bが有するデータの内積を、データを秘匿しながらの計算するに当たって、組織A及び組織Bとは異なる第三者の存在を利用する。但し、TTPを仮定する理想モデルとは異なり、本システムにおける第三者機関に求められる要件は、ビジネスシーンに応用可能な現実的なものである。このような要件で第三者が利用できるということは、近年のクラウドモデルの浸透に伴い、クラウド上でデータ解析を行うことが一般的になりつつある状況では、特に有用である。つまり、本システムによれば、プライバシを保護しつつ、クラウド上の計算リソースを用いて効率的にデータ解析を行うことも可能になる。   In this system, in calculating the inner product of the data of the organization A and the organization B while keeping the data secret, the existence of a third party different from the organization A and the organization B is used. However, unlike the ideal model that assumes TTP, the requirements for third-party organizations in this system are realistic that can be applied to business scenes. The availability of such a requirement to a third party is particularly useful in situations where data analysis on the cloud is becoming more common with the recent penetration of cloud models. That is, according to the present system, it is possible to efficiently perform data analysis using computing resources on the cloud while protecting privacy.

ここで、上述した相関係数ρを求める問題を簡略化すると、以下のようなSx(数2)とSy(数3)を定義し、SxとSyを他者に開示することなく、その内積s=Σxiiを求める問題になる。 Here, when the problem of obtaining the correlation coefficient ρ is simplified, S x (Equation 2) and S y (Equation 3) are defined as follows, and S x and S y are disclosed to others. However, the problem is to find the inner product s = Σx i y i .

図1に、本システムの構成の一例を示す。本システムは、組織Aのコンピュータ10、組織Bのコンピュータ20、第三者機関のコンピュータ30を備える。組織Aのコンピュータ10は、データ保持部100に、組織B及び第三者機関を含む全ての他組織から秘匿すべきSX={Xiiを保存しており、組織Bのコンピュータ20は、データ保持部200に、組織A及び第三者機関を含む全ての他組織から秘匿すべきSY={Yiiを保存している。 FIG. 1 shows an example of the configuration of this system. The system includes a computer 10 of organization A, a computer 20 of organization B, and a computer 30 of a third party. The computer 10 of the organization A stores S X = {X i } i that should be kept secret from the organization B and all other organizations including the third party organization in the data holding unit 100. The data holding unit 200 stores S Y = {Y i } i that should be kept secret from all other organizations including the organization A and the third party organization.

これらの秘匿すべきデータは、各組織から漏洩することのないよう、暗号化等の安全化処理が施されて保存される。安全性が確保されていれば、各組織のコンピュータ内ではなく、ネットワークを介したクラウド上(但し、本システムにおける第三者機関のコンピュータ30とは異なるストレージサービス)に保存されても構わない。   The data to be concealed is stored after being subjected to a security process such as encryption so as not to leak from each organization. As long as safety is ensured, the data may be stored not on the computer of each organization but on a cloud via a network (however, a storage service different from the third party computer 30 in this system).

組織A、Bのコンピュータは、それぞれ独自の秘匿用パラメータ保持部を備えており、組織Aのデータ変形処理部110は、自身の秘匿用パラメータ保持部120に保持されたパラメータを用いて、秘匿すべきデータSX={Xiiに変形を加え、組織Bのデータ変形処理部210は、自身の秘匿用パラメータ保持部220に保持されたパラメータを用いて、秘匿すべきデータSY={Yiiに変形を加える。このように秘匿用パラメータを用いて予め定められた変形処理を行うことにより、プライバシに関する情報は、隠蔽されることになる。 The computers of organizations A and B have their own confidential parameter holding units, and the data transformation processing unit 110 of organization A uses the parameters held in its own confidential parameter holding unit 120 to conceal it. The data transformation processing unit 210 of the organization B applies the transformation to the power data S X = {X i } i , and uses the parameters held in its own secrecy parameter holding unit 220, the data S Y = { Y i } Add deformation to i . Information regarding privacy is concealed by performing a predetermined deformation process using the concealment parameter in this way.

そして、組織A、Bのコンピュータは、それぞれの通信部130、230から、第三者機関のコンピュータの通信部320へ、変形を加えたデータを送信する。変形処理後のデータからは、変形に用いられた秘匿用パラメータを知らない限り、元のデータを復元することはできない。   Then, the computers of the organizations A and B transmit the modified data from the respective communication units 130 and 230 to the communication unit 320 of the computer of the third party organization. From the transformed data, the original data cannot be restored unless the concealment parameters used for the transformation are known.

よって、第三者組織のコンピュータから変形処理後のデータが漏洩したとしても、組織A、Bそれぞれの秘匿用パラメータの値が漏洩しない限り、元のデータSX、SYがそのまま漏洩することはない。 Therefore, even if the modified data leaks from the computer of the third party organization, the original data S X and S Y cannot be leaked as they are unless the values of the confidential parameters of the organizations A and B are leaked. Absent.

但し、後述するように、組織A、B間では、内積の計算のためにそれぞれの秘匿用パラメータの値を交換するため、第三者組織のコンピュータから変形処理後のデータが漏洩すると、本システム外の組織は元のデータSX、SYを復元できないものの、組織Aは組織BのデータSYを復元できてしまい、組織Bは組織AのデータSXを復元できてしまう。これを防ぐためには、組織A、B間で秘匿用パラメータの値を交換する前に、第三者組織のコンピュータを、存在しないものは漏洩のしようがないという状態にしておく(すなわち、変形処理後のデータを完全に消去しておく)とよい。 However, as will be described later, between the organizations A and B, since the value of each confidential parameter is exchanged for the calculation of the inner product, if the data after the transformation process is leaked from the computer of the third party organization, this system Although the outside organization cannot restore the original data S X and S Y , the organization A can restore the data S Y of the organization B, and the organization B can restore the data S X of the organization A. In order to prevent this, before exchanging the value of the concealment parameter between the organizations A and B, the computer of the third party organization is set in a state in which the nonexistent computer is not likely to leak (that is, the transformation process). It is good to erase the data afterwards).

また、例えば、悪意者が、組織Aと第三者組織との間の通信を傍受して、変形処理後のデータを取得するとともに、組織Aと組織Bとの間の通信を傍受して、組織Aが用いた秘匿用パラメータの値を取得すれば、組織AのデータSXが復元されてしまう。これを防ぐためには、組織Aと第三者組織との間の通信路を、専用線にしたり暗号化したりして、傍受できないよう保護するとともに、組織Aと組織Bとの間でも、秘匿用パラメータを暗号化して交換することが好ましい。 In addition, for example, a Service-to-Self intercepts communication between the organization A and a third party organization, acquires data after transformation processing, and intercepts communication between the organization A and the organization B. If the value of the concealment parameter used by the organization A is acquired, the data S X of the organization A is restored. In order to prevent this, the communication path between the organization A and the third-party organization is protected by a dedicated line or encrypted so that it cannot be intercepted. Preferably, the parameters are encrypted and exchanged.

第三者機関のコンピュータ30は、組織Aのコンピュータ10と組織Bのコンピュータ20から、それぞれN個の任意の数字の列{pii及び{qii(i∈U)を受け取り、内積演算部310が、Σpiiを計算する。そして、計算結果を、通信部320を介して、組織Aのコンピュータ10と組織Bのコンピュータ20のそれぞれへ返す。 The third party computer 30 receives N arbitrary numbers {p i } i and {q i } i (i∈U) from the computer 10 of the organization A and the computer 20 of the organization B, respectively. The inner product calculation unit 310 calculates Σp i q i . Then, the calculation result is returned to each of the computer 10 of the organization A and the computer 20 of the organization B via the communication unit 320.

本例では、組織Aのコンピュータ10と組織Bのコンピュータ20が、同じ内部構成を有し、それぞれが、内積計算部140、240により、第三者機関のコンピュータ30から返送された計算結果に基づいて、自身で内積s=Σxiiを求められるようにしている。 In this example, the computer 10 of organization A and the computer 20 of organization B have the same internal configuration, and each is based on the calculation results returned from the computer 30 of the third party by the inner product calculation units 140 and 240. Thus, the inner product s = Σx i y i can be obtained by itself.

代替例として、一方の組織(説明のため組織Bとする)は、SYを変形処理した後のデータ{qiiを第三者機関へ渡すが、第三者機関の計算結果は、組織Aにのみ返され、組織Bはその後、自身が変形処理に用いた秘匿用パラメータ等、元のデータを秘匿しながら内積を計算するのに必要な情報を組織Aへ渡すが、内積sの計算は、組織Aのみが行うようにしてもよい。 As an alternative, one organization (organization B for explanation) passes the data {q i } i after transformation of S Y to the third party, but the calculation result of the third party is It is returned only to organization A, and organization B then passes information necessary to calculate the inner product while keeping the original data confidential, such as the concealment parameters used for the transformation process, to organization A. The calculation may be performed only by the organization A.

第三者機関のコンピュータ30は、組織A、Bから受信した{pii及び{qiiを、内積演算部310内のワーキングメモリ330に記憶するが、蓄積ストレージ(図示せず)には記憶しないこととすると、情報漏洩のリスクを低減することができる。第三者機関のメモリ制御部340は、Σpiiの計算が終了したら、計算結果のみを残して、ワーキングメモリ330内(蓄積ストレージを併用する場合には蓄積ストレージ内も)にある{pii及び{qiiや計算過程のデータ等の情報を全て削除し、削除が完了した後に、計算結果を組織Aのコンピュータ10及び組織Bのコンピュータ20へ送信する。 The third-party computer 30 stores {p i } i and {q i } i received from the organizations A and B in the working memory 330 in the inner product calculation unit 310, but storage storage (not shown) If it is not stored in, the risk of information leakage can be reduced. When the calculation of Σp i q i is completed, the memory control unit 340 of the third-party organization remains in the working memory 330 (within the storage when using the storage together), leaving only the calculation result {p All information such as i } i and {q i } i and calculation process data is deleted, and after the deletion is completed, the calculation result is transmitted to the computer 10 of the organization A and the computer 20 of the organization B.

この計算結果を受信した組織Aのコンピュータ10は、送信制御部150による制御の下、計算結果の受信が確認された後に、秘匿用パラメータ保持部120に保持されている秘匿用パラメータの値を通信部130から通信部230へ送り、組織Bのコンピュータ20が内積計算部240で内積sを計算できるようにする。同様に、組織Bのコンピュータ20は、送信制御部250による制御の下、第三者機関からの計算結果の受信が確認された後に、秘匿用パラメータ保持部220に保持されている秘匿用パラメータの値を通信部230から通信部130へ送り、組織Aのコンピュータ10が内積計算部140で内積sを計算できるようにする。   The computer 10 of the organization A that has received the calculation result communicates the value of the confidential parameter held in the confidential parameter holding unit 120 after confirming the reception of the calculation result under the control of the transmission control unit 150. From the unit 130 to the communication unit 230, the computer 20 of the organization B can calculate the inner product s by the inner product calculation unit 240. Similarly, the computer 20 of the organization B confirms the confidential parameter stored in the confidential parameter holding unit 220 after confirming the reception of the calculation result from the third party under the control of the transmission control unit 250. The value is sent from the communication unit 230 to the communication unit 130 so that the computer 10 of the organization A can calculate the inner product s by the inner product calculation unit 140.

別の例として、第三者機関のメモリ制御部340は、まず、計算結果を組織Aのコンピュータ10及び組織Bのコンピュータ20へ送信し、その後に、計算のために扱った全ての情報を抹消し、抹消作業の完了を改めて組織Aのコンピュータ10及び組織Bのコンピュータ20へ通知するものとしてもよい。   As another example, the memory control unit 340 of the third-party organization first transmits the calculation result to the computer 10 of the organization A and the computer 20 of the organization B, and then erases all the information handled for the calculation. The completion of the erasure work may be notified again to the computer 10 of the organization A and the computer 20 of the organization B.

この場合は、組織Aのコンピュータ10は、送信制御部150による制御の下、第三者機関から抹消完了の通知を受けたことが確認された後に、秘匿用パラメータ保持部120に保持されている秘匿用パラメータの値を通信部130から通信部230へ送る。同様に、組織Bのコンピュータ20は、送信制御部250による制御の下、第三者機関から抹消完了の通知を受けたことが確認された後に、秘匿用パラメータ保持部220に保持されている秘匿用パラメータの値を通信部230から通信部130へ送る。   In this case, the computer 10 of the organization A is held in the concealment parameter holding unit 120 after confirming that it has received a deletion completion notification from a third party under the control of the transmission control unit 150. The value of the confidential parameter is sent from the communication unit 130 to the communication unit 230. Similarly, the computer 20 of the organization B confirms that the deletion completion notification has been received from the third party under the control of the transmission control unit 250, and then the confidential information held in the confidential parameter holding unit 220. The parameter value is sent from the communication unit 230 to the communication unit 130.

つまり、組織A、Bのコンピュータは、第三者機関から情報が漏洩するリスクが残っている(関連するデータが第三者機関のコンピュータで未だ消去されずに残っている)間は、自身の秘匿用パラメータの値を相手に送信しないようにすることにより、自身の秘匿すべきデータを相手に復元されてしまう可能性を低くすることができる。   In other words, the computers of organizations A and B have their own risk of information leaking from the third party (the related data is still not deleted on the third party computer). By not transmitting the value of the concealment parameter to the other party, it is possible to reduce the possibility that the data to be concealed will be restored to the other party.

さらに、第三者機関のコンピュータ30において、情報を消去するまでの間に、何らかのインシデントにより情報が漏洩したことが発覚した場合には、その事実を検出して組織Aのコンピュータ10及び組織Bのコンピュータ20へ通知することが好ましい。組織A及び組織Bは、この通知を受けた場合には、自身の秘匿用パラメータの値を未だ相手に送信していなければ送信を止めたり、送信した値の破棄を相手に依頼したりすることにより、自身の秘匿すべきデータを相手に復元されてしまう可能性を低くすることができる。   Further, when it is discovered that information has been leaked due to some incident before the information is deleted in the computer 30 of the third party organization, the fact is detected and the computer 10 of the organization A and the organization B It is preferable to notify the computer 20. When organization A and organization B receive this notification, they must stop sending their own concealment parameter values to the other party or request the other party to discard the transmitted values. Thus, the possibility that the data to be concealed will be restored to the other party can be reduced.

あるいは、組織A及び組織Bは、第三者機関のコンピュータ30が情報を消去した後も、情報漏洩の有無を判断するまでにかかる時間に基づいて定められる所定期間の間、自身の秘匿用パラメータの値を相手に送らないものとし、所定期間の後、第三者機関から情報漏洩は無かったと判断される旨の通知を受けてから、自身の秘匿用パラメータの値を相手に送るようにしてもよい。   Alternatively, the organization A and the organization B have their own confidential parameters for a predetermined period determined based on the time taken to determine whether or not there is information leakage even after the third party computer 30 erases the information. The value of the confidential parameter is sent to the other party after receiving a notification that there has been no information leakage from a third party after a predetermined period. Also good.

このように、組織A、Bの各々の秘匿用パラメータの値も、自身で保持しているものはもとより、相手から受信したものについても、他者に漏洩することのないよう、保護すべきものである。よって、相手から受信した秘匿用パラメータの値は、内積計算部140、240内のワーキングメモリ(図示せず)のみに記憶し、内積sの計算が終了したら消去することが好ましい。   In this way, the values of the confidential parameters of the organizations A and B should be protected from being leaked to others, not only those held by themselves but also those received from the other party. is there. Therefore, it is preferable to store the value of the concealment parameter received from the other party only in the working memory (not shown) in the inner product calculation units 140 and 240 and delete it when the calculation of the inner product s is completed.

秘匿用パラメータ保持部120、220は、自身の秘匿用パラメータの値に、暗号化等の安全化処理を施して保持することが望ましい。また、一つの内積を求める毎に、秘匿用パラメータの値を変化させる(例えば、その都度、乱数を払い出す)こととし、秘匿用パラメータ保持部120、220が値を保持しているのは、ある一つの組織(以前の内積計算時と別の組織である可能性も同じ組織である可能性もある)との一つの内積を求めるために、秘匿すべきデータに変形を加える時から、その内積を求める処理が終了する時までとすると、より安全である。   It is desirable that the secrecy parameter holding units 120 and 220 perform security processing such as encryption on the value of their own secrecy parameters and hold them. In addition, each time an inner product is obtained, the value of the concealment parameter is changed (for example, a random number is paid out each time), and the concealment parameter holding units 120 and 220 hold values. In order to obtain one inner product with one organization (possibly the same organization as the previous inner product calculation), since the transformation of the data to be concealed, It is safer if the process for obtaining the inner product ends.

組織A、Bのそれぞれと第三者組織との間の通信の安全性に関しては、通常ビジネスで利用されている程度の安全性を持った通信の暗号化を行うことでよい。例えば、オンラインショッピングや電子決済、商取引、ネットバンキング等などで利用されているのと同程度の暗号化の仕組みがあればよい。   With regard to the security of communication between each of the organizations A and B and the third party organization, it is only necessary to encrypt the communication with the level of security normally used in business. For example, an encryption mechanism similar to that used in online shopping, electronic payment, commercial transactions, net banking, etc. may be used.

第三者機関のコンピュータ内に関連するデータが存在する間の情報漏洩のリスクを低くするには、第三者機関のコンピュータ30が、組織A専用の仮想空間を用意して、組織Aのコンピュータ10との間の通信に関連した処理のみに限定するとともに、組織B専用の仮想空間を用意して、組織Bのコンピュータ20との間の通信に関連した処理のみに限定するようにすればよい。   In order to reduce the risk of information leakage while related data exists in the third party computer, the third party computer 30 prepares a virtual space dedicated to the organization A, and the computer of the organization A 10 is limited to only processing related to communication with the network 10, and a virtual space dedicated to the organization B is prepared to limit processing only to processing related to communication with the computer 20 of the organization B. .

また、全体の情報漏洩のリスクを低くするには、第三者機関のコンピュータ内に関連するデータが存在する期間を短くすることも有効であるため、ある二つの組織で一つの内積を求める際に、その二つの組織のコンピュータが両方とも同じタイミングで第三者機関のコンピュータにアクセスする(変形処理後のデータを送信する)ようにするとよい。   In order to reduce the overall risk of information leakage, it is also effective to shorten the period in which related data exists in the computer of a third-party organization. In addition, it is preferable that the computers of the two organizations access the third party computer at the same timing (send the modified data).

なお、組織Aのコンピュータ10と第三者機関のコンピュータ30との間、組織Bのコンピュータ20と第三者機関のコンピュータ30との間、組織Aのコンピュータ10と組織Bのコンピュータ20との間は、それぞれの間に別個の通信網(例えば、無線網と有線網等)があってもよいし、全てが一つの通信網(例えば、インターネット)に接続されるようになっていてもよい。   In addition, between the computer 10 of the organization A and the computer 30 of the third party, between the computer 20 of the organization B and the computer 30 of the third party, and between the computer 10 of the organization A and the computer 20 of the organization B. There may be a separate communication network (for example, a wireless network and a wired network) between them, or all may be connected to a single communication network (for example, the Internet).

組織A、Bのコンピュータ10、20は、例えば、コンピューティング機能を有する機器に本方式のためのプログラムをインストールすることにより、構成される。データ保持部100、200を暗号化されたデータとする場合の暗号/復号鍵や、秘匿用パラメータについては、その記憶やこれを用いた処理/逆処理を行う部分を、ハードウェア又はソフトウェア上のセキュリティを高めたモジュール内に設けるようにしてもよい。   The computers 10 and 20 of the organizations A and B are configured, for example, by installing a program for this method in a device having a computing function. For the encryption / decryption key and the secret parameter when the data holding units 100 and 200 are encrypted data, the storage or processing / reverse processing using the same is performed on hardware or software. You may make it provide in the module which raised security.

第三者機関のコンピュータ30は、例えば、汎用のサーバ又はサーバ群に本方式のためのプログラムをインストールすることにより、構成可能であり、クラウド上の計算サービスとして実現してもよい。   The computer 30 of the third party organization can be configured by installing a program for this method in a general-purpose server or a server group, and may be realized as a calculation service on the cloud.

図1における各部の機能については、以下に示す具体例に沿ってさらに説明する。各部の機能は、ハードウェア又はソフトウェア、もしくはハードウェアとソフトウェアの組み合わせにより、実現することができる。   The function of each part in FIG. 1 will be further described along with specific examples shown below. The function of each part can be realized by hardware or software, or a combination of hardware and software.

図2に示すように、本システムにおける計算手順の第1の例は、以下のように動作する。ここで、求めたい内積をz=Σxiiとする。 As shown in FIG. 2, the first example of the calculation procedure in this system operates as follows. Here, the inner product to be obtained is z = Σx i y i .

(1)組織Aは、乱数α≠0を選び、{α×xiiを第三者機関へ送信する。αは、秘匿用パラメータ保持部120に保持され、{α×xiiは、データ変形処理部110により計算される。乱数αによって、元のxiの情報は秘匿される。 (1) Organization A selects a random number α ≠ 0 and transmits {α × x i } i to a third party organization. α is held in the confidential parameter holding unit 120, and {α × x i } i is calculated by the data transformation processing unit 110. The original x i information is concealed by the random number α.

(1’)組織Bは、乱数β≠0を選び、{β×yiiを第三者機関へ送信する。βは、秘匿用パラメータ保持部220に保持され、{β×yiiは、データ変形処理部210により計算される。乱数βによって、元のyiの情報は秘匿される。 (1 ′) Organization B selects a random number β ≠ 0 and sends {β × y i } i to a third party. β is held in the confidential parameter holding unit 220, and {β × y i } i is calculated by the data transformation processing unit 210. The original y i information is concealed by the random number β.

(2)第三者機関は、内積演算部310により、{α×xiiと{β×yiiとから、s1=Σ(α×xi)(β×yi)=αβΣxii=αβ×zを計算する。 (2) The third-party organization uses the inner product calculation unit 310 to calculate s 1 = Σ (α × x i ) (β × y i ) = from {α × x i } i and {β × y i } i. αβΣx i y i = αβ × z is calculated.

(3)第三者機関は、s1=αβ×zの値を、組織Aへ送信する。 (3) The third party transmits the value of s 1 = αβ × z to the organization A.

(3’)第三者機関は、s1=αβ×zの値を、組織Bへ送信する。 (3 ′) The third-party organization transmits the value of s 1 = αβ × z to the organization B.

(4)第三者機関が全ての情報を消去したことを確認した後、組織Aと組織Bは、各々の秘匿用パラメータ保持部120、220に保持されているα、βの値を交換する。   (4) After confirming that the third party has deleted all the information, organization A and organization B exchange the values of α and β held in the respective confidential parameter holding units 120 and 220 .

(5)組織Aの内積計算部140は、第三者機関から通信部130経由で受け取ったs1の値と、秘匿用パラメータ保持部120に保持されているαの値と、組織Bから通信部130経由で受け取ったβの値とから、s1/αβを計算することにより、z=Σxiiを求める。 (5) The inner product calculation unit 140 of the organization A communicates from the organization B with the value of s 1 received from the third party organization via the communication unit 130, the value of α held in the confidential parameter holding unit 120. Z = Σx i y i is obtained by calculating s 1 / αβ from the value of β received via the unit 130.

(5’)組織Bの内積計算部240は、第三者機関から通信部230経由で受け取ったs1の値と、秘匿用パラメータ保持部220に保持されているβの値と、組織Aから通信部230経由で受け取ったαの値とから、s1/αβを計算することにより、z=Σxiiを求める。 (5 ′) The inner product calculation unit 240 of the organization B receives the value of s 1 received from the third party via the communication unit 230, the value of β held in the confidential parameter holding unit 220, and the organization A Z = Σx i y i is obtained by calculating s 1 / αβ from the value of α received via the communication unit 230.

上記の第1の例では、{xii、{yiiの要素にゼロが含まれる場合に、十分な秘匿ができないことがあり得る。また、乱数をそれぞれ一つしか用いていないと、変換後であっても要素の値のばらつきから何らかの情報を推測されることが危惧される。 In the above first example, when the elements of {x i } i and {y i } i contain zero, it may not be possible to conceal sufficiently. Also, if only one random number is used, it is feared that some information can be inferred from variations in element values even after conversion.

そこで、第1の例において、要素の順番を入れ替えるステップを追加したのが、図3〜4に示す第2の例である。第2の例は、ベクトルv内の要素の順番を入れ替える置換をS(v)としたときに、任意の置換Sについて、置換後のS(SX)、S(SY)の内積はSX、SYの内積と同じになることを利用しており、以下のように動作する。 Therefore, in the first example, the step of changing the order of the elements is added in the second example shown in FIGS. In the second example, when S (v) is a replacement for changing the order of elements in the vector v, the inner product of S (S X ) and S (S Y ) after replacement is S for any replacement S. It uses the same inner product of X and S Y and operates as follows.

(0)組織Aは、N個の要素の順番を入れ替えるための置換(関数)Sを任意に生成し、組織Bへ送信する。   (0) Organization A arbitrarily generates a replacement (function) S for changing the order of N elements, and transmits it to organization B.

(1)組織Aは、乱数α≠0を選んで、秘匿用パラメータ保持部120に保持するとともに、置換Sに従って{xiiの要素の順番を入れ替えたS({α×xii)を、データ変形処理部110により計算し、第三者機関へ送信する。要素の順番が任意に入れ替えられるので、元のベクトル{xiiが要素の順番に傾向を有する場合も、情報を隠蔽することができる。 (1) Organization A selects random number α ≠ 0, holds it in concealment parameter holding section 120, and replaces the order of the elements of {x i } i according to replacement S ({α × x i } i ) Is calculated by the data transformation processing unit 110 and transmitted to a third party. Since the order of the elements is arbitrarily changed, information can be concealed even when the original vector {x i } i has a tendency in the order of the elements.

(1’)組織Bは、乱数β≠0を選んで、秘匿用パラメータ保持部220に保持するとともに、置換Sに従って{yiiの要素の順番を入れ替えたS({β×yii)を、データ変形処理部210により計算し、第三者機関へ送信する。要素の順番が任意に入れ替えられるので、元のベクトル{yiiが要素の順番に傾向を有する場合も、情報を隠蔽することができる。 (1 ′) Organization B selects random number β ≠ 0, holds it in concealment parameter holding section 220, and replaces the order of the elements of {y i } i according to replacement S ({β × y i }) i ) is calculated by the data transformation processing unit 210 and transmitted to a third party. Since the order of the elements is arbitrarily changed, information can be concealed even when the original vector {y i } i has a tendency in the order of the elements.

(2)第三者機関は、内積演算部310により、S({α×xii)とS({β×yii)とから、s2=Σ(α×xi)(β×yi)=αβΣxii=αβ×zを計算する。 (2) a third party is the inner product calculation unit 310, S because ({α × x i} i ) and S ({β × y i} i), s 2 = Σ (α × x i) ( β × y i ) = αβΣx i y i = αβ × z is calculated.

(3)第三者機関は、s2=αβ×zの値を、組織Aへ送信する。 (3) The third party transmits a value of s 2 = αβ × z to the organization A.

(3’)第三者機関は、s2=αβ×zの値を、組織Bへ送信する。 (3 ′) The third-party organization transmits the value of s 2 = αβ × z to the organization B.

(4)第三者機関が全ての情報を消去したことを確認した後、組織Aと組織Bは、各々の秘匿用パラメータ保持部120、220に保持されているα、βの値を交換する。   (4) After confirming that the third party has deleted all the information, organization A and organization B exchange the values of α and β held in the respective confidential parameter holding units 120 and 220 .

(5)組織Aの内積計算部140は、第三者機関から通信部130経由で受け取ったs2の値と、秘匿用パラメータ保持部120に保持されているαの値と、組織Bから通信部130経由で受け取ったβの値とから、s2/αβを計算することにより、z=Σxiiを求める。 (5) The inner product calculation unit 140 of the organization A communicates from the organization B with the value of s 2 received from the third-party organization via the communication unit 130, the value of α held in the confidential parameter holding unit 120. Z = Σx i y i is obtained by calculating s 2 / αβ from the value of β received via the unit 130.

(5’)組織Bの内積計算部240は、第三者機関から通信部230経由で受け取ったs2の値と、秘匿用パラメータ保持部220に保持されているβの値と、組織Aから通信部230経由で受け取ったαの値とから、s2/αβを計算することにより、z=Σxiiを求める。 (5 ′) The inner product calculation unit 240 of the organization B receives the value of s 2 received from the third party organization via the communication unit 230, the value of β held in the confidential parameter holding unit 220, and the organization A Z = Σx i y i is obtained by calculating s 2 / αβ from the value of α received via the communication unit 230.

なお、ベクトル内の要素の順番を入れ替える置換を適用して安全性を高める手法は、後述する第3の例及び第4の例にも、その他の例にも組み合わせることが可能である。   It should be noted that the technique for improving the safety by applying the replacement for changing the order of the elements in the vector can be combined with the third and fourth examples described later and other examples.

図5〜7には、情報理論的により安全にした計算手順として、第3の例を示す。第3の例は、組織A、B及び第三者機関の間で交換される情報を全ての情報と比較して限定的にすることで、{xiiや{yiiを推測するには情報が足りないようにするものであり、以下のように動作する。 FIGS. 5 to 7 show a third example as a calculation procedure that is safer in terms of information theory. The third example estimates {x i } i and {y i } i by limiting the information exchanged between the organizations A and B and the third party organization with all information. In order to avoid the lack of information, it operates as follows.

(1)組織Aは、乱数α≠0と、乱数の列{aiiを選んで、秘匿用パラメータ保持部120に保持するとともに、{α×xi+aiiを、データ変形処理部110により計算し、第三者機関へ送信する。この変形は、入力に対して、それ以上の情報量を持つ乱数を用いた暗号を行うことに相当し、第三者機関が扱うデータ({α×xi+aii)が単独で漏洩したとしても、元のデータ{xiiにつき、情報理論的安全性が保証される。 (1) The organization A selects a random number α ≠ 0 and a random number sequence {a i } i and holds it in the confidential parameter holding unit 120, and also converts {α × x i + a i } i into data transformation processing Calculated by the unit 110 and transmitted to a third party. This modification corresponds to performing encryption using random numbers having a larger amount of information for the input, and data ({α × x i + a i } i ) handled by a third party is leaked alone. Even so, information-theoretic security is guaranteed for the original data {x i } i .

(1’)組織Bは、乱数β≠0と、乱数の列{biiを選んで、秘匿用パラメータ保持部220に保持するとともに、{β×yi+biiを、データ変形処理部210により計算し、第三者機関へ送信する。この変形は、入力に対して、それ以上の情報量を持つ乱数を用いた暗号を行うことに相当し、第三者機関が扱うデータ({β×yi+bii)が単独で漏洩したとしても、元のデータ{yiiにつき、情報理論的安全性が保証される。 (1 ′) The organization B selects a random number β ≠ 0 and a random number sequence {b i } i and stores the random number sequence {b i } i in the concealment parameter storage unit 220 and converts {β × y i + b i } i into the data transformation Calculated by the processing unit 210 and transmitted to a third party. This modification corresponds to performing encryption using a random number having a larger amount of information for the input, and data ({β × y i + b i } i ) handled by a third party is leaked alone. Even so, information theoretical safety is guaranteed for the original data {y i } i .

(2)第三者機関は、内積演算部310により、{α×xi+aiiと{β×yi+biiとから、Z=Σ(α×xi+ai)(β×yi+bi)=αβΣxii+αΣbii+βΣaii+Σaii=αβ×z+α×s3+β×s4+s5を計算する。 (2) The third-party organization uses the inner product calculation unit 310 to calculate Z = Σ (α × x i + a i ) (β from {α × x i + a i } i and {β × y i + b i } i. Xy i + b i ) = αβΣx i y i + αΣb i x i + βΣa i y i + Σa i b i = αβ × z + α × s 3 + β × s 4 + s 5

(3)第三者機関は、Zの値を、組織Aへ送信する。   (3) The third-party organization transmits the value of Z to organization A.

(3’)第三者機関は、Zの値を、組織Bへ送信する。   (3 ') The third party transmits the value of Z to the organization B.

(4)第三者機関が全ての情報を消去したことを確認した後、組織Aと組織Bは、各々の秘匿用パラメータ保持部120、220に保持されている{aiiの各値、{biiの各値を交換する。 (4) After confirming that the third party has deleted all the information, the organization A and the organization B have the values of {a i } i held in the respective confidential parameter holding units 120 and 220. , {B i } i exchange each value.

(5)組織Aの内積計算部140は、データ保持部100に保存されている{xiiと、秘匿用パラメータ保持部120に保持されている{aiiと、組織Bから通信部130経由で受け取った{biiとから、s3=Σbii及びs5=Σaiiを計算する。 (5) the inner product calculation unit 140 of the tissue A has a {x i} i stored in the data storage unit 100, and {a i} i held in the hidden parameter holding unit 120, a communication from the tissue B From {b i } i received via the unit 130, s 3 = Σb i x i and s 5 = Σa i b i are calculated.

(5’)組織Bの内積計算部240は、データ保持部200に保存されている{yiiと、秘匿用パラメータ保持部220に保持されている{biiと、組織Aから通信部230経由で受け取った{aiiとから、s4=Σaii及びs5=Σaiiを計算する。 (5 ′) The inner product calculation unit 240 of the organization B includes {y i } i stored in the data holding unit 200, {b i } i stored in the concealment parameter holding unit 220, and the organization A S 4 = Σa i y i and s 5 = Σa i b i are calculated from {a i } i received via the communication unit 230.

(6)組織Aは、計算したs3の値と、秘匿用パラメータ保持部120に保持されているαの値とを、組織Bへ送り、組織Bは、計算したs4の値と、秘匿用パラメータ保持部220に保持されているβの値とを、組織Aへ送る。 (6) The organization A sends the calculated value of s 3 and the value of α held in the concealment parameter holding unit 120 to the organization B, and the organization B sends the calculated value of s 4 and concealment The value of β held in the parameter holding unit 220 is sent to the organization A.

(7)組織Aの内積計算部140は、先に計算したs3及びs5の値と、第三者機関から通信部130経由で受け取ったZの値と、秘匿用パラメータ保持部120に保持されているαの値と、組織Bから通信部130経由で受け取ったs4及びβの値とから、(Z−α×s3−β×s4−s5)/αβを計算することにより、z=Σxiiを求める。 (7) The inner product calculation unit 140 of the organization A stores the values of s 3 and s 5 calculated previously, the value of Z received from the third-party organization via the communication unit 130, and the confidential parameter storage unit 120. By calculating (Z−α × s 3 −β × s 4 −s 5 ) / αβ from the value of α and the values of s 4 and β received from the organization B via the communication unit 130. , Z = Σx i y i is obtained.

(7’)組織Bの内積計算部240は、先に計算したs4及びs5の値と、第三者機関から通信部230経由で受け取ったZの値と、秘匿用パラメータ保持部220に保持されているβの値と、組織Aから通信部230経由で受け取ったs3及びαの値とから、(Z−α×s3−β×s4−s5)/αβを計算することにより、z=Σxiiを求める。 (7 ′) The inner product calculation unit 240 of the organization B stores the previously calculated values of s 4 and s 5 , the Z value received from the third party via the communication unit 230, and the confidential parameter holding unit 220. (Z−α × s 3 −β × s 4 −s 5 ) / αβ is calculated from the held β value and the s 3 and α values received from the organization A via the communication unit 230. Thus, z = Σx i y i is obtained.

なお、第3の例を部分的に実施する第4の例として、図8〜10に示すように、以下の計算手順がある。   In addition, as a 4th example which implements a 3rd example partially, there are the following calculation procedures as shown in FIGS.

(1)組織Aは、乱数の列{aiiを選んで、秘匿用パラメータ保持部120に保持するとともに、{xi+aiiを、データ変形処理部110により計算し、第三者機関へ送信する。この変形は、入力に対して、それと同じ情報量を持つ乱数を用いた暗号を行うことに相当し、第三者機関が扱うデータ({xi+aii)が単独で漏洩したとしても、元のデータ{xiiにつき、情報理論的安全性が保証される。 (1) The organization A selects a random number sequence {a i } i and stores it in the concealment parameter storage unit 120, and calculates {x i + a i } i by the data transformation processing unit 110, Send to person organization. This modification corresponds to performing encryption using a random number having the same amount of information on the input, even if data ({x i + a i } i ) handled by a third party is leaked alone. , Information theoretical security is guaranteed for the original data {x i } i .

(1’)組織Bは、乱数の列{biiを選んで、秘匿用パラメータ保持部220に保持するとともに、{yi+biiを、データ変形処理部210により計算し、第三者機関へ送信する。この変形は、入力に対して、それと同じ情報量を持つ乱数を用いた暗号を行うことに相当し、第三者機関が扱うデータ({yi+bii)が単独で漏洩したとしても、元のデータ{yiiにつき、情報理論的安全性が保証される。 (1 ′) The organization B selects a random number sequence {b i } i and holds it in the concealment parameter holding unit 220, and calculates {y i + b i } i by the data transformation processing unit 210, Send to a tripartite organization. This modification is equivalent to encryption using random numbers having the same amount of information as input, even if data ({y i + b i } i ) handled by a third party leaks alone. , Information theoretical safety is guaranteed for the original data {y i } i .

(2)第三者機関は、内積演算部310により、{xi+aiiと{yi+biiとから、Z=Σ(xi+ai)(yi+bi)=Σxii+Σbii+Σaii+Σaii=z+s3+s4+s5を計算する。 (2) The third-party organization uses the inner product calculation unit 310 to calculate Z = Σ (x i + a i ) (y i + b i ) = Σx from {x i + a i } i and {y i + b i } i. i y i + Σb i x i + Σa i y i + Σa i b i = z + s 3 + s 4 + s 5 is calculated.

(3)第三者機関は、Zの値を、組織Aへ送信する。   (3) The third-party organization transmits the value of Z to organization A.

(3’)第三者機関は、Zの値を、組織Bへ送信する。   (3 ') The third party transmits the value of Z to the organization B.

(4)第三者機関が全ての情報を消去したことを確認した後、組織Aと組織Bは、各々の秘匿用パラメータ保持部120、220に保持されている{aiiの各値、{biiの各値を交換する。 (4) After confirming that the third party has deleted all the information, the organization A and the organization B have the values of {a i } i held in the respective confidential parameter holding units 120 and 220. , {B i } i exchange each value.

(5)組織Aの内積計算部140は、データ保持部100に保存されている{xiiと、秘匿用パラメータ保持部120に保持されている{aiiと、組織Bから通信部130経由で受け取った{biiとから、s3=Σbii及びs5=Σaiiを計算する。 (5) the inner product calculation unit 140 of the tissue A has a {x i} i stored in the data storage unit 100, and {a i} i held in the hidden parameter holding unit 120, a communication from the tissue B From {b i } i received via the unit 130, s 3 = Σb i x i and s 5 = Σa i b i are calculated.

(5’)組織Bの内積計算部240は、データ保持部200に保存されている{yiiと、秘匿用パラメータ保持部220に保持されている{biiと、組織Aから通信部230経由で受け取った{aiiとから、s4=Σaii及びs5=Σaiiを計算する。 (5 ′) The inner product calculation unit 240 of the organization B includes {y i } i stored in the data holding unit 200, {b i } i stored in the concealment parameter holding unit 220, and the organization A S 4 = Σa i y i and s 5 = Σa i b i are calculated from {a i } i received via the communication unit 230.

(6)組織Aは、計算したs3の値を、組織Bへ送り、組織Bは、計算したs4の値を、組織Aへ送る。 (6) Organization A sends the calculated value of s 3 to organization B, and organization B sends the calculated value of s 4 to organization A.

(7)組織Aの内積計算部140は、先に計算したs3及びs5の値と、第三者機関から通信部130経由で受け取ったZの値と、組織Bから通信部130経由で受け取ったs4の値とから、Z−s3−s4−s5を計算することにより、z=Σxiiを求める。 (7) The inner product calculation unit 140 of the organization A calculates the values of s 3 and s 5 previously calculated, the value of Z received from the third party via the communication unit 130, and the organization B via the communication unit 130. Z = Σx i y i is obtained by calculating Z−s 3 −s 4 −s 5 from the received value of s 4 .

(7’)組織Bの内積計算部240は、先に計算したs4及びs5の値と、第三者機関から通信部230経由で受け取ったZの値と、組織Aから通信部230経由で受け取ったs3の値とから、Z−s3−s4−s5を計算することにより、z=Σxiiを求める。 (7 ′) The inner product calculation unit 240 of the organization B calculates the previously calculated values of s 4 and s 5 , the Z value received from the third party via the communication unit 230, and the organization A via the communication unit 230. Z = Σx i y i is obtained by calculating Z−s 3 −s 4 −s 5 from the value of s 3 received in step S2.

上述した第3の例及び第4の例では、元のベクトルである{xii、{yiiを構成する各値が0か1に限られるものであっても、乱数ベクトル{aii、{biiを構成する各値を任意の0以外の実数とすることにより、元のベクトルの情報を秘匿することができる。 In the third and fourth examples described above, even if each value constituting the original vectors {x i } i and {y i } i is limited to 0 or 1, the random vector { By making each value constituting a i } i and {b i } i an arbitrary real number other than 0, the information of the original vector can be concealed.

但し、例えば、組織Aのベクトル{xiiに対して、組織Bが、一つの要素(例えば、k番目の要素)だけを1とし、他の要素を全て0としたベクトル{yiiを入力すると、求められるz=Σxiiはxkの値と等しくなってしまい、k=1〜Nについて入力を変えて内積を計算すれば、悪意ある組織Bは、組織Aのベクトル{xiiを知ることができてしまう。 However, for example, with respect to the vector {x i } i of the organization A, the organization B has a vector {y i } in which only one element (for example, the k-th element) is set to 1 and all other elements are set to 0. When i is inputted, the obtained z = Σx i y i becomes equal to the value of x k , and if the inner product is calculated by changing the input for k = 1 to N, the malicious organization B becomes the vector of the organization A { Xi } i can be known.

このような攻撃を防ぐため、第三者機関のコンピュータは、一定数より少ない数の要素のみが値を持ちそれ以外の要素が0であるような入力が、ある組織から受信された場合、内積の計算を拒否する構成となっていることが望ましい。   In order to prevent such an attack, a third-party computer may use an inner product if an input is received from an organization where only a certain number of elements have a value and the other elements are zero. It is desirable to have a configuration that rejects the calculation.

さらに、例えば、組織Bが、全ての要素が1であるベクトル{yiiを入力とした内積の計算と、一つの要素(例えば、k番目の要素)だけが2で他の要素は全て1のベクトル{yiiを入力とした内積の計算とを行い、後者の結果から前者の結果を減算すれば、xkの値が求められるため、同様に、悪意ある組織Bは、組織Aのベクトル{xiiを知ることができてしまう。 Further, for example, the organization B calculates the inner product with the input of the vector {y i } i in which all the elements are 1, and only one element (for example, the k-th element) is 2 and all other elements are If the vector {y i } i of 1 is input and the inner product is calculated and the former result is subtracted from the latter result, the value of x k is obtained. A vector {x i } i of A can be known.

このような攻撃をも防ぐためには、相手の同じ入力に対して内積を複数回求めることを拒否するようにすればよい。例えば、第三者機関に内積演算を依頼する際、組織Bは、組織Aの特定のID空間のデータ列との間の内積演算という指定をすることになるから、組織Bが、現在から所定期間過去へ遡った期間内に、同一の指定をして内積演算をしていれば、その依頼を拒否するように、第三者機関のコンピュータを構成しておくとよい。   In order to prevent such an attack, it is only necessary to refuse to obtain the inner product a plurality of times for the same input of the opponent. For example, when requesting an inner product operation to a third party organization, the organization B designates an inner product operation with a data string in a specific ID space of the organization A. If the same designation is made within the period retroactive to the past period and the inner product operation is performed, the third party computer may be configured to reject the request.

上記のいずれの例の計算手順においても、第三者機関での計算後、第三者機関のコンピュータから関連する情報が全て消去されたことを確認してから、次のステップに進むため、それ以降は、第三者機関が扱う情報に関する漏洩リスクは考えなくてよい。つまり、計算を行う第三者機関では、情報の永続化をしないため、ある計算に付随する情報漏洩リスクは、計算が終了するまでの短い時間に限られる。   In any of the above example calculation procedures, it is necessary to confirm that all relevant information has been deleted from the third party computer after the third party calculation, and then proceed to the next step. After that, there is no need to consider the risk of leakage related to information handled by third-party organizations. That is, since the third party that performs the calculation does not perpetuate the information, the risk of information leakage accompanying a certain calculation is limited to a short time until the calculation is completed.

また、上記のいずれの例の計算手順も、プロトコルがシンプルで、計算コストは四則演算のみであるため、少ない計算量で、データ秘匿型内積計算が実現できる。   Moreover, since the calculation procedure of any of the above examples has a simple protocol and the calculation cost is only four arithmetic operations, the data concealed inner product calculation can be realized with a small amount of calculation.

以下には、本システムの応用例について説明する。統計学において、相関係数は−1から1の実数値をとる。例えば、二つの数値集合に関する相関係数が−1に近ければ負の相関関係、1に近ければ正の相関関係があると判断することができる。また、相関係数が0に近い場合には相関関係は弱いと判断することができる。よって、本システムは、二つの組織がもつ情報を開示することは難しいが、その相関関係を求めることで何らかの知見が得られる場合に応用することができる。   Hereinafter, application examples of the present system will be described. In statistics, the correlation coefficient takes a real value from -1 to 1. For example, if the correlation coefficient for two numerical sets is close to −1, it can be determined that there is a negative correlation, and if it is close to 1, there is a positive correlation. When the correlation coefficient is close to 0, it can be determined that the correlation is weak. Therefore, although it is difficult to disclose information held by two organizations, this system can be applied to cases where some knowledge can be obtained by obtaining the correlation.

なお、以下の例では、同一の個人が二つの組織のユーザであり、その二つの組織が同じユーザIDを共有しているものとする。例えば、米国のSSN(Social Security Number)のような個人識別番号や、携帯電話番号等を、ユーザIDとして利用することが可能である。IDが、ユーザを識別するのみで、ユーザ個人を特定する情報に結び付かないものであれば、組織A、Bから第三者機関へ送られたデータが流出して情報が推測されたとしても、それがどのユーザに対応するかは判別できないことになり、より安全である。上述した第2の例のように、組織A、Bから第三者機関へ送るデータを、その都度異なる関数で、順番を入れ替えるようにし、その関数は、組織A及びBしか知らないものとすれば、さらに安全である。   In the following example, the same individual is a user of two organizations, and the two organizations share the same user ID. For example, a personal identification number such as an SSN (Social Security Number) in the United States, a mobile phone number, or the like can be used as the user ID. If the ID only identifies the user and does not relate to information that identifies the individual user, even if the data sent from the organizations A and B to the third party leaks and the information is estimated Therefore, it is impossible to determine which user it corresponds to, and it is safer. As in the second example described above, the data sent from the organizations A and B to the third party is changed in order with a different function each time, and the function is assumed to be known only to the organizations A and B. Safer.

最初の応用例は、渡航履歴と病歴に関する。組織Aが航空会社であり、特定の国への渡航履歴を有するとする。組織Bは医療業界のデータベースであり、特定の病気にかかった記録を有するとする。いずれもプライバシに関わる情報であり、それぞれの情報は開示できないが、本システムにより相関分析が可能である。本システムにより求められる相関係数により、渡航履歴と病歴の相関関係が強いことが認められる場合には、旅行者への注意喚起、予防接種の必要性の議論、あるいは渡航禁止等の判断が可能である。   The first application relates to travel history and medical history. Assume that organization A is an airline and has a travel history to a specific country. Assume that organization B is a database in the medical industry and has a record of having a specific disease. Both are information related to privacy, and each information cannot be disclosed, but correlation analysis is possible with this system. If the correlation coefficient required by this system indicates that there is a strong correlation between travel history and medical history, it is possible to alert travelers, discuss the necessity of vaccination, or determine whether travel is prohibited. It is.

次の応用例は、適性検査と事故歴に関する。組織Aは適性検査を行う会社であり、多数の企業から入社試験や社員研修等における適性検査の結果を蓄積しているものとする。組織Bは保険会社であり、顧客の事故歴をデータベースに有するものとする。いずれもプライバシ情報を扱っており、これらの情報の開示はできないが、本システムにより相関分析が可能である。本システムにより求められる相関係数により、適性検査の特定の項目(例えば、思慮深い、判断力がある、おっちょこちょい等)と事故歴に相関関係があることが認められれば、運転免許の交付に際して適性検査を行うこと、またその結果に応じて注意喚起や指導を行うことも有意である。また、保険会社は、自動車保険の契約に際して適性検査を実施し、その結果によって保険の掛け金を調整する等の工夫を行うこともできる。   The next application relates to aptitude tests and accident histories. It is assumed that organization A is a company that conducts aptitude tests, and has accumulated aptitude test results from entrance examinations and employee training from many companies. Assume that organization B is an insurance company and has a database of customer accident histories. Both deal with privacy information and cannot disclose such information, but correlation analysis is possible with this system. If the correlation coefficient required by this system indicates that there is a correlation between specific items of aptitude test (for example, thoughtful, judgmental, awkward, etc.) and the accident history, it is appropriate to issue a driver's license. It is also significant to conduct tests and to call attention and give guidance according to the results. In addition, an insurance company can also perform a device such as performing aptitude tests when contracting automobile insurance and adjusting insurance premiums based on the results.

さらに次の応用例は、オンラインゲームの接続時間と成績に関する。教育に関連して、子供の成績とゲームに費やした時間の関係を気にする親は多い。組織Aがオンラインゲームを提供するゲームメーカであるとし、子供がゲームに費やした時間に関する情報を有するとする。組織Bは学校もしくは学習塾とし、子供の成績に関する情報を有するとする。組織A、Bが有する情報はそれぞれ開示することはできないが、本システムにより相関分析を行うことが可能である。本システムにより求められる相関係数により、高い相関があることが明らかになれば、親が子供にゲームをやめさせるときの根拠とすることができる。逆に相関関係が低いことが明らかになれば、ゲームメーカはオンラインゲームが子供の成績に影響しないことをアピールできる。   The next application example relates to online game connection time and results. In relation to education, many parents care about the relationship between their child's performance and time spent playing games. Assume that organization A is a game maker that provides an online game and has information about the time spent by the child on the game. Assume that organization B is a school or a cram school and has information about the child's performance. Information that the organizations A and B have cannot be disclosed, but correlation analysis can be performed by this system. If the correlation coefficient obtained by the present system reveals that there is a high correlation, it can be used as a basis for the parent to stop the game. Conversely, if it is clear that the correlation is low, the game maker can appeal that the online game does not affect the child's performance.

最後の応用例として、雑誌の購買履歴とレストランの利用履歴に関するものを挙げておく。組織Aが書籍の購買情報を有するサイトであるとし、あるカテゴリーに属する書籍や雑誌(例えば、フランスに関するもの)についての購入履歴が分かるものとする。組織Bはカード会社であるとし、レストラン(例えば、フランス料理を扱うレストラン)の利用履歴に関する情報を有する。両者が持つ情報は、プライバシに関わる情報であり開示はできないが、本システムにより相関分析を行うことが可能である。本システムにより求められる相関係数により、あるカテゴリーの雑誌を購入する人が、特定のカテゴリーのレストランを利用することと相関があると認められれば、広告やターゲットマーケティングなどを行うことが有効であることが分かる。   As a final application example, there are things related to magazine purchase history and restaurant usage history. Assume that the organization A is a site having book purchase information, and the purchase history of books and magazines belonging to a certain category (for example, those related to France) can be understood. Assume that the organization B is a card company and has information on the use history of a restaurant (for example, a restaurant that handles French cuisine). Information held by both parties is privacy-related information and cannot be disclosed, but correlation analysis can be performed by this system. If the correlation coefficient required by this system shows that a person who purchases a magazine of a certain category has a correlation with the use of a restaurant of a specific category, it is effective to conduct advertising and targeted marketing. I understand that.

以上、本発明の実施形態について例示的に説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。   As mentioned above, although embodiment of this invention was described exemplarily, it cannot be overemphasized that those skilled in the art can implement the above-mentioned embodiment in various deformation | transformation and application within the scope of the present invention.

Claims (17)

第一の組織内で秘匿すべき第一のデータ列を保存する保存手段を有する第一の組織の装置と、
第二の組織内で秘匿すべき第二のデータ列を保存する保存手段を有する第二の組織の装置と、
入力されたデータ列間の内積を計算する計算手段を有する第三の組織の装置と、
を備えるデータ秘匿型内積計算システムであって、
前記第一の組織の装置は、前記第一のデータ列に対して秘匿のための第一の変形を行い、変形された第一のデータ列を前記第三の組織の装置へ出力する出力手段を備え、
前記第二の組織の装置は、前記第二のデータ列に対して秘匿のための第二の変形を行い、変形された第二のデータ列を前記第三の組織の装置へ出力する出力手段を備え、
前記第三の組織の装置は、前記変形された第一のデータ列と前記変形された第二のデータ列との内積を前記計算手段により計算して、該内積を少なくとも前記第二の組織の装置へ返送する返送手段を備え、
前記第一の組織の装置は、前記第二の組織の装置へ、自装置が行った前記第一の変形に関する情報を送信する送信手段をさらに備え、
前記第二の組織の装置は、自装置が行った前記第二の変形に関する情報と前記第一の組織の装置から受信された情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求める計算手段をさらに備える
ことを特徴とするデータ秘匿型内積計算システム。
A device of the first organization having storage means for storing a first data string to be kept secret in the first organization;
A second organization apparatus having storage means for storing a second data string to be concealed within the second organization;
A device of a third organization having a calculation means for calculating an inner product between input data strings;
A data concealed inner product calculation system comprising:
The first organization apparatus performs a first modification for concealment of the first data string, and outputs the modified first data string to the third organization apparatus. With
The second organization apparatus performs a second modification for concealment of the second data string, and outputs the modified second data string to the third organization apparatus. With
The apparatus of the third organization calculates an inner product of the deformed first data string and the deformed second data string by the calculating means, and calculates the inner product of at least the second organization. Equipped with return means to return to the device,
The device of the first tissue further includes a transmission means for transmitting information on the first deformation performed by the device to the device of the second tissue,
The second tissue device is based on information about the second deformation performed by the device, information received from the first tissue device, and the inner product received from the third tissue device. A data concealed inner product calculation system, further comprising calculation means for obtaining an inner product of the first data string and the second data string.
前記第三の組織の装置は、計算した前記内積を前記第一の組織の装置へも返送するものであり、
前記第一の組織の装置は、自装置が行った前記第一の変形に関する情報と前記第二の組織の装置から受信された情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求める計算手段をさらに備え、
前記第二の組織の装置は、前記第一の組織の装置へ、自装置が行った前記第二の変形に関する情報を送信する送信手段をさらに備えることを特徴とする請求項1に記載のデータ秘匿型内積計算システム。
The third tissue device returns the calculated inner product to the first tissue device;
The first tissue device is based on information about the first deformation performed by the device, information received from the second tissue device, and the inner product received from the third tissue device. And a calculation means for obtaining an inner product of the first data string and the second data string,
2. The data according to claim 1, wherein the second organization apparatus further includes a transmission unit configured to transmit information on the second deformation performed by the first apparatus to the first organization apparatus. A secret inner product calculation system.
前記第一のデータ列の各データと、前記第二のデータ列の各データとが、同一の各データIDに対応付けられるものであることを特徴とする請求項1又は2に記載のデータ秘匿型内積計算システム。   3. The data concealment according to claim 1, wherein each data of the first data string and each data of the second data string are associated with the same data ID. In-mold product calculation system. 前記第一の組織の装置の送信手段は、前記第三の組織の装置が前記計算手段による計算に用いた前記変形された第一のデータ列及び前記変形された第二のデータ列を消去したことが確認された後に、前記情報を送信するものであることを特徴とする請求項1〜3のいずれか1項に記載のデータ秘匿型内積計算システム。   The transmission means of the first tissue apparatus erased the deformed first data string and the deformed second data string used by the third tissue apparatus for calculation by the calculation means. The data concealed inner product calculation system according to any one of claims 1 to 3, wherein the information is transmitted after being confirmed. 前記第三の組織の装置は、前記変形された第一のデータ列と前記変形された第二のデータ列との内積を前記計算手段により計算すると、前記内積を残して、前記変形された第一のデータ列及び前記変形された第二のデータ列を消去し、消去後に、前記内積を少なくとも前記第二の組織の装置へ返送するものであり、
前記第一の組織の装置の送信手段は、前記第三の組織の装置からの前記内積が受け取られた後に、前記情報を送信するものであることを特徴とする請求項1〜4のいずれか1項に記載のデータ秘匿型内積計算システム。
The third organization apparatus calculates the inner product of the deformed first data string and the deformed second data string by the calculating means, and leaves the inner product to leave the deformed first data string. Erasing one data string and the transformed second data string, and after erasing, returning the inner product to at least the second tissue device;
5. The transmission means of the first tissue device transmits the information after the inner product from the third tissue device is received. The data concealment type inner product calculation system according to item 1.
前記第三の組織の装置は、前記変形された第一のデータ列と前記変形された第二のデータ列との内積を前記計算手段により計算した後、前記変形された第一のデータ列及び前記変形された第二のデータ列を消去し、これらのデータ列が消去前に組織外へ漏洩した可能性の有無を判断し、判断結果を少なくとも前記第一の組織の装置へ通知する手段をさらに備え、
前記第一の組織の装置の送信手段は、前記第三の組織の装置から前記可能性が無とする判断結果が通知された後に、前記情報を送信するものであることを特徴とする請求項1〜5のいずれか1項に記載のデータ秘匿型内積計算システム。
The third organization apparatus calculates the inner product of the deformed first data string and the deformed second data string by the calculating means, and then calculates the deformed first data string and Means for erasing the deformed second data string, determining whether or not these data strings may have leaked out of the organization before erasure, and notifying at least the first organization apparatus of the determination result; In addition,
The transmission means of the device of the first organization transmits the information after the determination result that the possibility does not exist is notified from the device of the third organization. The data confidential inner product calculation system according to any one of 1 to 5.
少なくとも、前記第一の組織の装置と前記第三の組織の装置との間の通信、及び、前記第二の組織の装置と前記第三の組織の装置との間の通信が、該通信を行う二者以外に傍受されないよう、且つ、第三者が通信相手になりすますことのできないよう、保護されていることを特徴とする請求項1〜6のいずれか1項に記載のデータ秘匿型内積計算システム。   At least communication between the first tissue device and the third tissue device, and communication between the second tissue device and the third tissue device; The data concealed inner product according to any one of claims 1 to 6, wherein the data confidential inner product is protected so that it cannot be intercepted by anyone other than the two who perform it and a third party cannot impersonate a communication partner. Calculation system. 前記第三の組織の装置は、前記変形された第一又は第二のデータ列を構成する複数のデータのうち、所定数より多いデータの値が零である場合、前記内積の計算を行わず、前記内積の代わりに、計算拒否の通知を返送することを特徴とする請求項1〜7のいずれか1項に記載のデータ秘匿型内積計算システム。   The apparatus of the third organization does not calculate the inner product when a value of data more than a predetermined number among the plurality of data constituting the modified first or second data string is zero. 8. The data concealed inner product calculation system according to claim 1, wherein a calculation rejection notification is returned instead of the inner product. 前記第三の組織の装置は、前記内積の計算に用いられた前記変形されたデータ列が、どの組織のどのデータIDセットに係るものであるかを保存しておき、所定期間内に、同一の組織の装置から同一のデータIDセットに係る前記変形されたデータ列を受け取った場合、前記内積の計算を行わず、前記内積の代わりに、計算拒否の通知を返送することを特徴とする請求項1〜8のいずれか1項に記載のデータ秘匿型内積計算システム。   The device of the third organization stores which data ID set of which organization the transformed data string used for the calculation of the inner product is related to within the predetermined period. When receiving the modified data string related to the same data ID set from a device of the organization, the calculation of the inner product is not performed, and a notification of calculation refusal is returned instead of the inner product. Item 10. The data concealed inner product calculation system according to any one of Items 1 to 8. 前記第一の組織の装置が行う前記第一の変形は、第一の乱数を生成し、前記第一のデータ列を構成する各データに該第一の乱数を乗算するものであり、
前記第二の組織の装置が行う前記第二の変形は、第二の乱数を生成し、前記第二のデータ列を構成する各データに該第二の乱数を乗算するものであり、
前記第一の変形に関する情報は、前記第一の乱数であり、
前記第二の変形に関する情報は、前記第二の乱数であることを特徴とする請求項1〜9のいずれか1項に記載のデータ秘匿型内積計算システム。
The first modification performed by the device of the first organization is to generate a first random number, and multiply each data constituting the first data string by the first random number,
The second modification performed by the device of the second organization is to generate a second random number and multiply each data constituting the second data string by the second random number,
The information related to the first deformation is the first random number,
10. The data concealed inner product calculation system according to any one of claims 1 to 9, wherein the information related to the second modification is the second random number.
前記第一の組織の装置が行う前記第一の変形は、第一の乱数列を生成し、前記第一のデータ列を構成する各データに該第一の乱数列を構成する各データを加算するものであり、
前記第二の組織の装置が行う前記第二の変形は、第二の乱数列を生成し、前記第二のデータ列を構成する各データに該第二の乱数列を構成する各データを加算するものであり、
前記第一の変形に関する情報は、前記第一の乱数列であり、
前記第二の変形に関する情報は、前記第二の乱数列であり、
前記第一の組織の装置は、前記第一のデータ列と前記第二の乱数列との内積を計算し、該計算結果を、前記第二の組織の装置の計算手段が前記第一の組織の装置から受信された情報として利用できるように、前記第二の組織の装置へ送信する手段をさらに備えることを特徴とする請求項1〜9のいずれか1項に記載のデータ秘匿型内積計算システム。
The first modification performed by the device of the first organization is to generate a first random number sequence and add each data constituting the first random number sequence to each data constituting the first data sequence. Is what
The second modification performed by the second organization apparatus generates a second random number sequence, and adds each data constituting the second random number sequence to each data constituting the second data sequence. Is what
The information regarding the first deformation is the first random number sequence,
The information regarding the second modification is the second random number sequence,
The device of the first organization calculates an inner product of the first data string and the second random number sequence, and the calculation means of the device of the second organization calculates the calculation result of the first organization. The data concealed inner product calculation according to any one of claims 1 to 9, further comprising means for transmitting to the device of the second organization so that the information can be used as information received from the device. system.
前記第一の組織の装置が行う前記第一の変形は、第一の乱数及び第一の乱数列を生成し、前記第一のデータ列を構成する各データに該第一の乱数を乗算した各結果に該第一の乱数列を構成する各データを加算するものであり、
前記第二の組織の装置が行う前記第二の変形は、第二の乱数及び第二の乱数列を生成し、前記第二のデータ列を構成する各データに該第二の乱数を乗算した各結果に該第二の乱数列を構成する各データを加算するものであり、
前記第一の変形に関する情報は、前記第一の乱数及び前記第一の乱数列であり、
前記第二の変形に関する情報は、前記第二の乱数及び前記第二の乱数列であり、
前記第一の組織の装置は、前記第一のデータ列と前記第二の乱数列との内積を計算し、該計算結果を、前記第二の組織の装置の計算手段が前記第一の組織の装置から受信された情報として利用できるように、前記第二の組織の装置へ送信する手段をさらに備えることを特徴とする請求項1〜9のいずれか1項に記載のデータ秘匿型内積計算システム。
The first modification performed by the device of the first organization generates a first random number and a first random number sequence, and multiplies each data constituting the first data sequence by the first random number. Each data constituting the first random number sequence is added to each result,
The second modification performed by the device of the second organization generates a second random number and a second random number sequence, and multiplies each data constituting the second data sequence by the second random number. Each data constituting the second random number sequence is added to each result,
The information regarding the first modification is the first random number and the first random number sequence,
The information regarding the second deformation is the second random number and the second random number sequence,
The device of the first organization calculates an inner product of the first data string and the second random number sequence, and the calculation means of the device of the second organization calculates the calculation result of the first organization. The data concealed inner product calculation according to any one of claims 1 to 9, further comprising means for transmitting to the device of the second organization so that the information can be used as information received from the device. system.
前記第一の組織の装置及び前記第二の組織の装置が、それぞれ、前記第一のデータ列及び前記第二のデータ列につき、データ列を構成する各データの順番を、同一の規則に従って入れ替える手段を有し、順番が入れ替えられた前記第一のデータ列及び前記第二のデータ列に対して、それぞれ、前記第一の変形及び前記第二の変形を行うことを特徴とする請求項1〜12のいずれか1項に記載のデータ秘匿型内積計算システム。   The device of the first organization and the device of the second organization replace the order of each data constituting the data row according to the same rule for the first data row and the second data row, respectively. The first modification and the second modification are respectively performed on the first data string and the second data string that have means and the order is changed. The data confidential inner product calculation system according to any one of -12. 第一の組織内で秘匿すべき第一のデータ列を保存する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する第二の組織の装置とが、第三の組織の装置を利用して、データの秘匿性を保ちながら前記第一のデータ列と前記第二のデータ列との内積を得るための方法であって、
前記第一の組織の装置は、前記第一のデータ列に対して秘匿のための第一の変形を行い、変形された第一のデータ列を前記第三の組織の装置へ出力し、
前記第二の組織の装置は、前記第二のデータ列に対して秘匿のための第二の変形を行い、変形された第二のデータ列を前記第三の組織の装置へ出力し、
前記第三の組織の装置は 前記変形された第一のデータ列と前記変形された第二のデータ列との内積を計算して、該内積を少なくとも前記第二の組織の装置へ返送し、
前記第一の組織の装置は、前記第二の組織の装置へ、自装置が行った前記第一の変形に関する情報を送信し、
前記第二の組織の装置は、自装置が行った前記第二の変形に関する情報と前記第一の組織の装置から受信した情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めることを特徴とするデータ秘匿型内積計算方法。
A device of a first organization that stores a first data string to be concealed in the first organization, and a device of a second organization that stores a second data string to be concealed in the second organization. A method for obtaining an inner product of the first data string and the second data string while maintaining the confidentiality of the data using a device of a third organization,
The first organization apparatus performs a first modification for concealment on the first data string, and outputs the transformed first data string to the third organization apparatus,
The second organization device performs a second modification for concealment on the second data sequence, and outputs the transformed second data sequence to the third organization device,
The third tissue device calculates an inner product of the deformed first data string and the deformed second data string, and returns the inner product to at least the second tissue device;
The first tissue device transmits information on the first deformation performed by the device to the second tissue device,
The device of the second tissue is based on the information about the second deformation performed by the device, the information received from the device of the first tissue, and the inner product received from the device of the third tissue. A data concealed inner product calculation method, wherein an inner product of the first data string and the second data string is obtained.
前記第三の組織の装置は、計算した前記内積を前記第一の組織の装置へも返送し、
前記第二の組織の装置は、前記第一の組織の装置へ、自装置が行った前記第二の変形に関する情報を送信し、
前記第一の組織の装置は、自装置が行った前記第一の変形に関する情報と前記第二の組織の装置から受信した情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めることを特徴とする請求項14に記載のデータ秘匿型内積計算方法。
The third tissue device returns the calculated inner product to the first tissue device;
The second tissue device transmits information on the second deformation performed by the device to the first tissue device,
The first tissue device is based on information about the first deformation performed by the device, information received from the second tissue device, and the inner product received from the third tissue device. The data concealed inner product calculation method according to claim 14, wherein an inner product of the first data string and the second data string is obtained.
第一の組織内で秘匿すべき第一のデータ列を保存する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する第二の組織の装置とが、第三の組織の装置を利用して、データの秘匿性を保ちながら前記第一のデータ列と前記第二のデータ列との内積を得るためのシステムにおける、第一の組織の装置として、コンピュータを動作させるプログラムであって、前記コンピュータに、
前記第一のデータ列に対して秘匿のための第一の変形を行い、変形された第一のデータ列を前記第三の組織の装置へ出力させ、
前記第三の組織の装置から返送される、前記変形された第一のデータ列と前記第二の組織の装置から出力されたデータ列との内積を受け取らせ、
前記第二の組織の装置から、該第二の組織の装置が前記第三の組織の装置へ出力する前に秘匿のために前記第二のデータ列に対して行った第二の変形に関する情報を受信させ、
自装置が行った前記第一の変形に関する情報と前記第二の組織の装置から受信された情報と前記第三の組織の装置から受け取った前記内積とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めさせることを特徴とするプログラム。
A device of a first organization that stores a first data string to be concealed in the first organization, and a device of a second organization that stores a second data string to be concealed in the second organization. In the system for obtaining the inner product of the first data string and the second data string while maintaining the confidentiality of data using the device of the third organization, as the device of the first organization, A program for operating a computer, wherein the computer
Performing a first transformation for concealment on the first data sequence, and outputting the transformed first data sequence to the device of the third organization,
Receiving the inner product of the transformed first data string and the data string output from the second tissue device returned from the third tissue device;
Information relating to the second transformation performed on the second data string for concealment from the second organization device before the second organization device outputs to the third organization device. Received
Based on the information relating to the first deformation performed by the device itself, the information received from the device of the second tissue, and the inner product received from the device of the third tissue, the first data string, A program for obtaining an inner product with the second data string.
第一の組織内で秘匿すべき第一のデータ列を保存する第一の組織の装置と、第二の組織内で秘匿すべき第二のデータ列を保存する第二の組織の装置とが、第三の組織の装置を利用して、データの秘匿性を保ちながら前記第一のデータ列と前記第二のデータ列との内積を得るためのシステムにおける、第三の組織の装置として、コンピュータを動作させるプログラムであって、前記コンピュータに、
前記第一の組織の装置から、前記第一のデータ列に対して秘匿のための第一の変形を行って得られたデータ列を受け取らせ、
前記第二の組織の装置から、前記第二のデータ列に対して秘匿のための第二の変形を行って得られたデータ列を受け取らせ、
前記第一の組織の装置から受け取ったデータ列と前記第二の組織の装置から受け取ったデータ列との内積を計算させ、
前記内積を、前記第一の組織の装置及び前記第二の組織の装置の少なくとも一方が、該内積と前記第一の変形に関する情報と前記第二の変形に関する情報とに基づいて、前記第一のデータ列と前記第二のデータ列との内積を求めることができるよう、前記第一の組織の装置及び前記第二の組織の装置の少なくとも一方へ返送させることを特徴とするプログラム。

A device of a first organization that stores a first data string to be concealed in the first organization, and a device of a second organization that stores a second data string to be concealed in the second organization. In the system for obtaining the inner product of the first data string and the second data string while maintaining the confidentiality of data using the device of the third organization, as the device of the third organization, A program for operating a computer, wherein the computer
From the device of the first organization, to receive the data string obtained by performing the first transformation for concealment to the first data string,
From the device of the second organization, to receive the data string obtained by performing a second transformation for concealment to the second data string,
Calculating the dot product of the data sequence received from the first organization device and the data sequence received from the second organization device;
The inner product is determined based on the inner product, the first deformation information, and the second deformation information by at least one of the first tissue device and the second tissue device. A program for returning to at least one of the first tissue device and the second tissue device so that an inner product of the second data string and the second data string can be obtained.

JP2013085312A 2013-04-15 2013-04-15 Data secrecy type inner product calculation system, method and program Pending JP2014206696A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013085312A JP2014206696A (en) 2013-04-15 2013-04-15 Data secrecy type inner product calculation system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013085312A JP2014206696A (en) 2013-04-15 2013-04-15 Data secrecy type inner product calculation system, method and program

Publications (1)

Publication Number Publication Date
JP2014206696A true JP2014206696A (en) 2014-10-30

Family

ID=52120259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013085312A Pending JP2014206696A (en) 2013-04-15 2013-04-15 Data secrecy type inner product calculation system, method and program

Country Status (1)

Country Link
JP (1) JP2014206696A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017119211A1 (en) * 2016-01-07 2017-07-13 ソニー株式会社 Information processing device, information processing system, information processing method and program
WO2019009116A1 (en) 2017-07-07 2019-01-10 ソニー株式会社 Information processing device, information processing system, information processing method and program
CN111133719A (en) * 2017-09-29 2020-05-08 罗伯特·博世有限公司 Method for faster secure multi-party inner product computation with SPDZ
US10650083B2 (en) 2016-01-12 2020-05-12 Sony Corporation Information processing device, information processing system, and information processing method to determine correlation of data
JPWO2021064981A1 (en) * 2019-10-04 2021-04-08

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017119211A1 (en) * 2016-01-07 2017-07-13 ソニー株式会社 Information processing device, information processing system, information processing method and program
JPWO2017119211A1 (en) * 2016-01-07 2018-10-25 ソニー株式会社 Information processing apparatus, information processing system, information processing method, and program
US10650083B2 (en) 2016-01-12 2020-05-12 Sony Corporation Information processing device, information processing system, and information processing method to determine correlation of data
WO2019009116A1 (en) 2017-07-07 2019-01-10 ソニー株式会社 Information processing device, information processing system, information processing method and program
CN111133719A (en) * 2017-09-29 2020-05-08 罗伯特·博世有限公司 Method for faster secure multi-party inner product computation with SPDZ
CN111133719B (en) * 2017-09-29 2024-01-26 罗伯特·博世有限公司 Method for faster secure multiparty inner product computation with SPDZ
JPWO2021064981A1 (en) * 2019-10-04 2021-04-08
WO2021064981A1 (en) * 2019-10-04 2021-04-08 日本電気株式会社 Information collation system and information collation method
US20230006829A1 (en) * 2019-10-04 2023-01-05 Nec Corporation Information matching system and information matching method
JP7294437B2 (en) 2019-10-04 2023-06-20 日本電気株式会社 Information matching system and information matching method

Similar Documents

Publication Publication Date Title
US11038679B2 (en) Secure multi-party computation method and apparatus, and electronic device
WO2021197037A1 (en) Method and apparatus for jointly performing data processing by two parties
Mugunthan et al. Smpai: Secure multi-party computation for federated learning
CN109033865B (en) Task allocation method for privacy protection in space crowdsourcing
CN107704930B (en) Modeling method, device and system based on shared data and electronic equipment
Vaidya et al. Privacy-preserving data mining: Why, how, and when
CN112199702A (en) Privacy protection method, storage medium and system based on federal learning
CN111738361B (en) Joint training method and device for business model
US9641332B1 (en) Privacy-preserving measurements of a campaign
CN107222302B (en) The space crowdsourcing task distribution system and method constructed with part homomorphic encryption scheme
JP2014206696A (en) Data secrecy type inner product calculation system, method and program
CN114175028B (en) Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium
CN110400162B (en) Data processing method, device, server and system
CN113505882A (en) Data processing method based on federal neural network model, related equipment and medium
Guan et al. Secure fair and efficient data trading without third party using blockchain
Trieu et al. Multiparty Private Set Intersection Cardinality and Its Applications.
CN112000979B (en) Database operation method, system and storage medium for private data
Malik et al. A homomorphic approach for security and privacy preservation of Smart Airports
US11615354B2 (en) Blockchain based project evaluation method and system
Sharma et al. A secure privacy preservation model for vertically partitioned distributed data
JP5895080B2 (en) Data confidential statistical processing system, statistical processing result providing server device and data input device, and program and method therefor
CN113657616B (en) Updating method and device of federal learning model
Garg et al. Outsourcing private machine learning via lightweight secure arithmetic computation
Moon et al. Design and implementation of distributed ledger based health data management system
Shah et al. Contemporary trends in privacy preserving collaborative data mining-a survey