JP2018025587A - Secret computation technique and method of the same - Google Patents
Secret computation technique and method of the same Download PDFInfo
- Publication number
- JP2018025587A JP2018025587A JP2016155202A JP2016155202A JP2018025587A JP 2018025587 A JP2018025587 A JP 2018025587A JP 2016155202 A JP2016155202 A JP 2016155202A JP 2016155202 A JP2016155202 A JP 2016155202A JP 2018025587 A JP2018025587 A JP 2018025587A
- Authority
- JP
- Japan
- Prior art keywords
- secret
- user terminal
- data
- terminal device
- encrypted
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、暗号化状態のまま数値演算が可能な秘匿演算手法に関するものであり、複数の登録装置から個々の暗号化データをクラウド上のサーバなどに登録でき、また、前記サーバ上で暗号状態のまま正しい演算をすることができ、また、複数の利用者端末装置が前期暗号化演算結果を取得し、復号することができる秘匿演算方法に関する。 The present invention relates to a secret operation method capable of performing a numerical operation in an encrypted state, and can register individual encrypted data from a plurality of registration devices to a server on the cloud, and the encrypted state on the server. The present invention relates to a secret calculation method in which a correct calculation can be performed as it is, and a plurality of user terminal devices can acquire and decrypt an encryption calculation result in the previous period.
個人情報や企業情報などの機密データ(特に、数値データ)をクラウド上のサーバで管理している状況において、クラウドサーバからの情報漏洩を防止しつつ同時に情報を活用する為に、データを予め暗号化してからクラウドサーバに預けておき、クラウドサーバに預けられた暗号化データを利用する際に、暗号化状態のまま演算をすることができる暗号技術が知られている。 In a situation where confidential data (particularly numeric data) such as personal information and corporate information is managed by a server on the cloud, the data is encrypted in advance to prevent information leakage from the cloud server and at the same time use the information. There is known a cryptographic technique that can be stored in a cloud server after being converted, and can be operated in an encrypted state when using encrypted data stored in the cloud server.
例えば、加法・減法に対して準同型の性質を持つ暗号関数を利用し、暗号化状態のまま加法、減法、乗法、除法の演算をすることができる公開鍵暗号ベースの秘匿演算技術が知られている (特許文献1)。 For example, public key cryptography-based secret computation technology is known that uses cryptographic functions that have homomorphic properties for addition and subtraction, and can perform addition, subtraction, multiplication, and division operations in the encrypted state. (Patent Document 1).
しかしながら従来技術においては、各データは演算結果を取得する装置の公開鍵で暗号化され、前記公開鍵で暗号化された状態のまま演算処理される。この時、演算結果も前記公開鍵で暗号化されている状態である為、暗号化演算結果を復号できるのは、前記公開鍵に対応する秘密鍵を保持している装置のみである。つまり従来技術においては、前記公開鍵を知っていれば、複数の装置から、個々のデータを暗号化し、前記暗号化データを暗号化状態で演算をさせることができるが、複数の装置に暗号化演算結果を復号させることができない。もちろん複数の装置に同一の復号用秘密鍵を事前に配布させておけば、複数の装置にて暗号化演算結果を復号させることができるが、別々の秘密鍵を保持する複数の装置が暗号化演算結果を復号することはできないという課題があった。 However, in the prior art, each data is encrypted with the public key of the device that obtains the operation result, and is processed in the state encrypted with the public key. At this time, since the calculation result is also encrypted with the public key, the encrypted calculation result can be decrypted only by a device that holds the secret key corresponding to the public key. In other words, in the prior art, if the public key is known, individual data can be encrypted from a plurality of devices, and the encrypted data can be operated in an encrypted state. The calculation result cannot be decoded. Of course, if the same decryption secret key is distributed to multiple devices in advance, the encryption operation result can be decrypted by multiple devices, but multiple devices holding different secret keys can encrypt There has been a problem that the operation result cannot be decoded.
上記課題をより具体的に説明すると、個人情報や企業情報などの機密データ(特に、数値データ)をクラウドサーバ上で暗号化状態にて管理させ、その暗号化データから統計値などを調べる為に、クラウドサーバ上で各暗号化データを演算し、その演算結果を利用する場合、その演算結果を利用できる装置は該当する秘密鍵を保持する装置1つのみであり、前記クラウドサーバにアクセスできる他の複数の装置が、前記演算結果を利用することができないという課題があった。 To explain the above issues more specifically, in order to manage confidential data (particularly numeric data) such as personal information and company information in an encrypted state on the cloud server, and to examine statistical values and the like from the encrypted data When each encrypted data is calculated on the cloud server and the calculation result is used, the device that can use the calculation result is only one device that holds the corresponding secret key, and can access the cloud server. There is a problem that the plurality of apparatuses cannot use the calculation result.
上記課題を解決する本発明では、利用者端末装置と演算装置とで別々に管理される2つの秘密鍵からシステム公開鍵を生成する。そしてこのシステム公開鍵を用いて各データを暗号化する。その後、システム公開鍵で暗号化された各データについて、暗号化状態で秘匿演算処理をし、その結果を利用者端末装置の秘密鍵で再暗号化して、暗号化されたものを利用者端末装置に送付する。利用者端末装置は、自身が管理する秘密鍵を用いて復号する。 In the present invention for solving the above problems, a system public key is generated from two secret keys managed separately by a user terminal device and a computing device. Each data is encrypted using the system public key. After that, each data encrypted with the system public key is subjected to a secret calculation process in an encrypted state, and the result is re-encrypted with the secret key of the user terminal device, and the encrypted data is the user terminal device. Send to. The user terminal device decrypts it using a secret key managed by itself.
本発明により、暗号化状態のまま数値演算が可能な秘匿演算手法に関し、複数の利用者端末装置が、要求した演算結果のみを暗号化状態で取得し、復号することができる。 According to the present invention, a secret operation method capable of performing numerical operations in an encrypted state allows a plurality of user terminal devices to acquire and decrypt only requested operation results in an encrypted state.
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。
--- System configuration ---
Embodiments of the present invention will be described below in detail with reference to the drawings.
図1は、本実施形態における秘匿演算システム1の全体構成例を示す図である。この図では、全体構成と共に、秘匿演算システム1を構成する各コンピュータの機能構成例についても示している。図1に示す秘匿演算システム1は、各登録装置30より集計装置10に登録した暗号化データを、受付装置20を経由した利用者端末装置40からの要求に従い、集計装置10にて暗号化状態のまま加法・減法の演算処理を行い、当該演算結果を暗号化状態のまま利用者端末装置40に返信し、前記利用者端末装置40では前記暗号化演算結果を復号して演算結果を取得するシステムである。
FIG. 1 is a diagram illustrating an example of the overall configuration of a
本実施形態に係る秘匿システム1は、集計装置10と、受付装置20と、登録装置30と利用者端末装置40がインターネットなどの適宜なネットワーク50を介して通信可能に接続されて構成されたコンピュータネットワークシステムである。尚、登録装置30および利用者端末装置40は複数存在する。
The
図1に示すように、集計装置10は、情報生成部101、暗号処理部102、データ送受信部103、情報入力部104、情報出力部105、一次記憶部106、データ記憶部107、鍵記憶部108から構成することができる。
As illustrated in FIG. 1, the aggregation device 10 includes an
このうち情報生成部101は、集計装置10の秘密鍵や秘匿演算システム1のシステム公開鍵などの情報を生成するものであり、例えば情報入力部104から入力された信号やデータ送受信部103で受信したデータを基に情報を生成するものである。また、暗号処理部102は、主に登録装置30から受信した暗号化データを暗号化状態のまま演算を行うものである。また、鍵記憶部108は、情報生成部101で生成した秘密鍵を安全に管理するものである。また、一次記憶部106は、半導体を用いた一次記憶領域である。
また、データ記憶部107は登録装置30から受信した暗号化データを暗号化状態のまま管理するものである。また、データ送受信部103は、暗号化データを送受信する。また、情報入力部104は、情報生成部101で生成する情報の入力にあたる信号を受け付けるものである。また、情報出力部105は、情報入力部104で入力した信号などを表示したりするものである。
Among them, the
The
このような機能を有する集計装置10は、図2に例示するように一般的な情報処理装置60により実現できる。例えば、情報生成部101、暗号処理部102、データ送受信部103、情報入力部104、情報出力部105はCPU(CENTRAL PROCESSING UNIT)等のCPU605により実行されるコンピュータプログラムとして実現できる。こうしたコンピュータプログラムは、例えば、ハードディスクなどの記憶装置604に予め格納、保持するか、或いはネットワーク50から配布を受けて利用することとできる。また、データ記憶部107や鍵記憶部108も上述の記憶装置604として実現できる。尚、鍵記憶部108は、HSM(Hardware Security Module)と呼ばれるセキュアなモジュール装置を用いて実現してもよい。
The tabulation apparatus 10 having such a function can be realized by a general information processing apparatus 60 as illustrated in FIG. For example, the
また、一次記憶部106はメモリー603にて実現出来る。また、情報出力部105は、例えば液晶表示装置や有機EL(ELECTRO LUMINESCENCE)ディスプレイなどの入出力装置601として実現できる。また、情報入力部104は、利用者からの指示、入力を受け付けるキーボードやマウスなどの入出力装置601として実現できる。
The
この他、集計装置10は、ネットワーク50を介して他装置と通信する通信装置602を備え、バスなどの内部通信線(以下,バスという)606で連結された情報処理装置60上に構成することができる。 In addition, the aggregation device 10 includes a communication device 602 that communicates with other devices via the network 50, and is configured on the information processing device 60 connected by an internal communication line (hereinafter referred to as a bus) 606 such as a bus. Can do.
また、図1に示すように、受付装置20は、情報生成部201、暗号処理部202、データ送受信部203、情報入力部204、情報出力部205、一次記憶部206、データ記憶部207、鍵記憶部208から構成することができる。
As shown in FIG. 1, the accepting device 20 includes an
このうち情報生成部201は、受付装置20の秘密鍵および公開鍵などの情報や、利用者端末装置40に対するアクセス権などの情報を生成するものであり、例えば情報入力部204から入力された信号やデータ送受信部203で受信したデータを基に情報を生成するものである。また、暗号処理部202は、主に集計装置10から受信した暗号化演算結果を加工処理するものである。また、鍵記憶部208は、情報生成部201で生成した秘密鍵を安全に管理するものである。また、一次記憶部206は、半導体を用いた一次記憶領域である。また、データ記憶部207は利用者端末装置40に対するアクセス権などの情報を管理するものである。また、データ送受信部203は、暗号化データを送受信する。また、情報入力部204は、情報生成部201で生成する情報の入力にあたる信号を受け付けるものである。また、情報出力部205は、情報入力部204で入力した信号などを表示したりするものである。
Among these, the
このような機能を有する受付装置20は、図2に例示するように一般的な情報処理装置60により実現できる。例えば、情報生成部201、暗号処理部202、データ送受信部203、情報入力部204、情報出力部205はCPU(CENTRAL PROCESSING UNIT)等のCPU605により実行されるコンピュータプログラムとして実現できる。こうしたコンピュータプログラムは、例えば、ハードディスクなどの記憶装置604に予め格納、保持するか、或いはネットワーク50から配布を受けて利用することとできる。また、データ記憶部207や鍵記憶部208も上述の記憶装置604として実現できる。尚、鍵記憶部208は、HSM(Hardware Security Module)と呼ばれるセキュアなモジュール装置を用いて実現してもよい。
The reception device 20 having such a function can be realized by a general information processing device 60 as illustrated in FIG. For example, the
また、一次記憶部206はメモリー603にて実現出来る。また、情報出力部205は、例えば液晶表示装置や有機EL(ELECTRO LUMINESCENCE)ディスプレイなどの入出力装置601として実現できる。また、情報入力部204は、利用者からの指示、入力を受け付けるキーボードやマウスなどの入出力装置601として実現できる。
Further, the
この他、受付装置20は、ネットワーク50を介して他装置と通信する通信装置602を備え、バスなどの内部通信線(以下,バスという)606で連結された情報処理装置60上に構成することができる。 In addition, the receiving device 20 includes a communication device 602 that communicates with another device via the network 50 and is configured on the information processing device 60 connected by an internal communication line (hereinafter referred to as a bus) 606 such as a bus. Can do.
図1に示すように、登録装置30は、情報生成部301、暗号処理部302、データ送受信部303、情報入力部304、情報出力部305、一次記憶部306、データ記憶部307から構成することができる。
As illustrated in FIG. 1, the registration device 30 includes an
このうち情報生成部301は、集計装置10へ登録する数値データなどの情報を生成するものであり、例えば情報入力部304から入力された信号やデータ送受信部303で受信したデータを基に情報を生成するものである。また、暗号処理部302は、前記数値データの暗号化処理をするものである。また、一次記憶部306は、半導体を用いた一次記憶領域である。また、データ記憶部307は集計装置10へ登録する数値データや秘匿演算システム1のシステム公開鍵を管理するものである。また、データ送受信部303は、集計装置10から秘匿演算システム1のシステム公開鍵を受信したり、集計装置10に暗号化データを送信したりする。また、情報入力部304は、情報生成部301で生成する情報の入力にあたる信号を受け付けるものである。また、情報出力部305は、情報入力部304で入力した信号などを表示したりするものである。
Among them, the
このような機能を有する登録装置30は、図2に例示するように一般的な情報処理装置60により実現できる。例えば、情報生成部301、暗号処理部302、データ送受信部303、情報入力部304、情報出力部305はCPU(CENTRAL PROCESSING UNIT)等のCPU605により実行されるコンピュータプログラムとして実現できる。こうしたコンピュータプログラムは、例えば、ハードディスクなどの記憶装置604に予め格納、保持するか、或いはネットワーク50から配布を受けて利用することとできる。また、データ記憶部307も上述の記憶装置604として実現できる。また、一次記憶部306はメモリー603にて実現出来る。また、情報出力部305は、例えば液晶表示装置や有機EL(ELECTRO LUMINESCENCE)ディスプレイなどの入出力装置601として実現できる。また、情報入力部304は、利用者からの指示、入力を受け付けるキーボードやマウスなどの入出力装置601として実現できる。
The registration apparatus 30 having such a function can be realized by a general information processing apparatus 60 as illustrated in FIG. For example, the
この他、登録装置30は、ネットワーク50を介して他装置と通信する通信装置602を備え、バスなどの内部通信線(以下,バスという)606で連結された情報処理装置60上に構成することができる。 In addition, the registration device 30 includes a communication device 602 that communicates with other devices via the network 50 and is configured on the information processing device 60 connected by an internal communication line (hereinafter referred to as a bus) 606 such as a bus. Can do.
また、図1に示すように、利用者端末装置40は、情報生成部401、暗号処理部402、データ送受信部403、情報入力部404、情報出力部405、一次記憶部406、データ記憶部407、鍵記憶部408から構成することができる。
As shown in FIG. 1, the user terminal device 40 includes an
このうち情報生成部401は、利用者端末装置40の秘密鍵および公開鍵などの情報や、受付装置20を介して集計装置10に送る秘匿演算依頼などの情報を生成するものであり、例えば情報入力部404から入力された信号を基に情報を生成するものである。また、暗号処理部402は、主に集計装置10から受付装置20を介して受信した暗号化演算結果の復号処理をするものである。また、鍵記憶部408は、情報生成部401で生成した秘密鍵を安全に管理するものである。また、一次記憶部406は、半導体を用いた一次記憶領域である。また、データ記憶部407は復号した演算結果などの情報を管理するものである。また、データ送受信部403は、受付装置20を介して集計装置10に秘匿演算依頼を送信したり、受付装置20を介して集計装置10から暗号化演算結果を受信したりする。また、情報入力部404は、情報生成部401で生成する情報の入力にあたる信号を受け付けるものである。また、情報出力部405は、情報入力部404で入力した信号などを表示したりするものである。
Among these, the
このような機能を有する利用者端末装置40は、図2に例示するように一般的な情報処理装置60により実現できる。例えば、情報生成部401、暗号処理部402、データ送受信部403、情報入力部404、情報出力部405はCPU(CENTRAL PROCESSING UNIT)等のCPU605により実行されるコンピュータプログラムとして実現できる。こうしたコンピュータプログラムは、例えば、ハードディスクなどの記憶装置604に予め格納、保持するか、或いはネットワーク50から配布を受けて利用することとできる。また、データ記憶部407や鍵記憶部408も上述の記憶装置604として実現できる。尚、鍵記憶部408は、HSM(Hardware Security Module)と呼ばれるセキュアなモジュール装置を用いて実現してもよい。
The user terminal device 40 having such a function can be realized by a general information processing device 60 as illustrated in FIG. For example, the
また、一次記憶部406はメモリー603にて実現出来る。また、情報出力部405は、例えば液晶表示装置や有機EL(ELECTRO LUMINESCENCE)ディスプレイなどの入出力装置601として実現できる。また、情報入力部404は、利用者からの指示、入力を受け付けるキーボードやマウスなどの入出力装置601として実現できる。
The
この他、利用者端末装置40は、ネットワーク50を介して他装置と通信する通信装置602を備え、バスなどの内部通信線(以下,バスという)606で連結された情報処理装置60上に構成することができる。 In addition, the user terminal device 40 includes a communication device 602 that communicates with another device via the network 50, and is configured on the information processing device 60 connected by an internal communication line (hereinafter referred to as a bus) 606 such as a bus. can do.
−−−処理手順例−−−
以下、本実施形態における手順について図に基づき説明する。以下で説明する秘匿演算処理に対応する各種動作は、秘匿演算システム1を構成する各装置、すなわち集計装置10、受付装置20、登録装置30および利用者端末装置40がそれぞれメモリー等に読み出して実行するプログラムによって実現される。
--- Processing procedure example ---
Hereinafter, the procedure in the present embodiment will be described with reference to the drawings. Various operations corresponding to the secret calculation processing described below are executed by each device constituting the
図3は、本実施形態における処理の全体像を示す図である。尚、図3では、登録装置30および利用者端末装置40は複数存在する。ここでは、メッセージmjkは整数値とし、例えば、登録装置30k(k=1、2、・・・、m)が、個人が支払った医療費や介護費または個人の所得額などを、クラウド上の集計装置10のデータ記憶部107内のテーブル109に暗号化して登録し、利用者端末装置40i(i=1、2、・・・、n)のいずれかが、クラウド上の受付装置20を介して当該個人(ここではID1とする)が支払った医療費と介護費から所得額を引いた値を計算するように秘匿演算依頼を行い、集計装置10は、その依頼に基づき秘匿演算を行い、要求元の利用者端末装置40iに暗号化演算結果を受付装置20経由で送信し、前記利用者端末装置40iは、前記暗号化演算結果を復号して演算結果を取得する。 FIG. 3 is a diagram showing an overall image of processing in the present embodiment. In FIG. 3, there are a plurality of registration devices 30 and user terminal devices 40. Here, the message m jk is an integer value. For example, the registration device 30 k (k = 1, 2,..., M) stores the medical expenses and care expenses paid by the individual or the personal income amount in the cloud. The user terminal device 40 i (i = 1, 2,..., N) is registered in the cloud as a reception device on the cloud. 20 performs a concealment calculation request so as to calculate a value obtained by subtracting the amount of income from the medical expenses and nursing care expenses paid by the individual (here, ID 1 ). An operation is performed, and the encrypted operation result is transmitted to the requesting user terminal device 40 i via the accepting device 20, and the user terminal device 40 i decrypts the encrypted operation result and obtains the operation result. .
このとき、利用者端末装置40iは、該当個人の個々の支払額や所得額はわからないが、医療費と介護費から所得額を引いた演算結果のみを取得することができる。尚、集計装置10および受付装置20には個々の値だけでなく演算結果も秘匿させることで、不必要な情報漏洩のリスクを低減させることができる。 At this time, the user terminal device 40 i does not know the individual payment amount or income amount of the individual, but can obtain only the calculation result obtained by subtracting the income amount from the medical expenses and the care expenses. In addition, the risk of unnecessary information leakage can be reduced by concealing not only the individual values but also the calculation results in the counting device 10 and the receiving device 20.
この仕組みは、例えば、その演算結果がある上限を超えた場合に医療費や介護費の支払を免除するなどの高額療養費・高額介護合算療養費制度などへの応用が期待できる。その他、電子選挙システムでの投票結果の集計やアンケートシステムでの集計など、個々の値は秘匿しつつ、その合計値のみを復号権限のある複数の利用者に提供するシステムへの適用が期待できる。 This mechanism can be expected to be applied to, for example, a high-cost medical treatment / high-care long-term care expense system that exempts the payment of medical expenses or nursing care expenses when the calculation result exceeds a certain upper limit. In addition, it can be expected to be applied to a system in which individual values are kept secret and only the total value is provided to a plurality of users who have the authority to decrypt, such as counting of voting results in an electronic election system and counting in a questionnaire system. .
図4は、本実施形態における秘匿演算処理手順を示すシーケンス図である。 FIG. 4 is a sequence diagram showing a secret calculation processing procedure in the present embodiment.
本実施形態では大きく2つのフェーズに分かれており、一つは事前準備フェーズ(ステップS001〜S002、S101〜S103、S201〜S202)であり、もう一つは秘匿演算処理フェーズ(ステップS301〜S307)である。 In this embodiment, it is roughly divided into two phases, one is a preliminary preparation phase (steps S001 to S002, S101 to S103, S201 to S202), and the other is a secret calculation processing phase (steps S301 to S307). It is.
まず、事前準備フェーズについて説明する。事前準備フェーズは更にシステム公開鍵生成処理(ステップS001〜S002)、暗号化データ登録処理(ステップS101〜S103)、利用者端末装置初期登録処理(ステップS201〜S202)に分けられる。 First, the advance preparation phase will be described. The advance preparation phase is further divided into a system public key generation process (steps S001 to S002), an encrypted data registration process (steps S101 to S103), and a user terminal device initial registration process (steps S201 to S202).
システム公開鍵生成処理では、受付装置20は、受付装置20の鍵ペア(公開鍵および秘密鍵)を生成し、受付装置20の公開鍵を集計装置10に送信する(ステップS001)。集計装置10では集計装置10の秘密鍵を生成し、前記受付装置20の公開鍵と前記集計装置10の秘密鍵を入力として、秘匿演算システム1のシステム公開鍵を生成する。そして、前記システム公開鍵を全登録装置30に送信する(ステップS002)。
In the system public key generation process, the reception device 20 generates a key pair (public key and secret key) of the reception device 20, and transmits the public key of the reception device 20 to the aggregation device 10 (step S001). The aggregation device 10 generates a secret key of the aggregation device 10, and receives the public key of the receiving device 20 and the secret key of the aggregation device 10 to generate a system public key of the
暗号化データ登録処理では、登録装置30は、各データ(整数値)を前記システム公開鍵で暗号化し(ステップS101)、前記暗号化データを集計装置10に登録する(ステップS102)。集計装置10では前記暗号化データをデータ記憶部107に保管する(ステップS103)。この暗号化データ登録処理は、データ登録の必要性に応じて随時行われる。 In the encrypted data registration process, the registration device 30 encrypts each data (integer value) with the system public key (step S101), and registers the encrypted data in the counting device 10 (step S102). The aggregation device 10 stores the encrypted data in the data storage unit 107 (step S103). This encrypted data registration process is performed at any time according to the necessity of data registration.
利用者端末装置初期登録処理では、各利用者端末装置40は、広く一般的に使われているRSA暗号などの公開鍵暗号における鍵ペア(公開鍵および秘密鍵)を生成し(ステップS201)、受付装置20に利用者端末装置40の公開鍵を送付する。また、ステップS201で生成した秘密鍵は利用者端末装置40の鍵記憶部408で保管する。利用者端末装置40の公開鍵を受信した受付装置20では、前記利用者端末装置40の公開鍵をデータ記憶部207に保管する(ステップS202)。
In the user terminal device initial registration process, each user terminal device 40 generates a key pair (public key and secret key) in public key cryptography such as RSA cryptography that is widely used in general (step S201). The public key of the user terminal device 40 is sent to the receiving device 20. Further, the secret key generated in step S201 is stored in the
次に秘匿演算処理フェーズについて説明する。 Next, the secret computation processing phase will be described.
利用者端末装置40は、受付装置20に秘匿演算依頼を行う(ステップS301)。受付装置20は、前記秘匿演算依頼を集計装置10に中継する(ステップS302)。集計装置10は、前記秘匿演算依頼に基づき、ステップS103で保管した暗号化データの内、該当暗号化データを選択し、暗号化状態のまま演算処理を施す(ステップS303)。そして暗号化演算結果を受付装置20に送信する。受付装置20では前記暗号化演算結果を受付装置20の秘密鍵で一部復号処理を行い(ステップS304)、処理データ1として集計装置10に送信する。集計装置10は処理データ1を集計装置10の秘密鍵で一部復号処理を行い(ステップS305)、処理データ2として受付装置20に送信する。受付装置20では処理データ2を受付装置20の秘密鍵で一部復号処理を行い(ステップS306)、処理データ3として前記利用者端末装置40に送信する。利用者端末装置40は利用者端末装置40の秘密鍵で処理データ3を復号し、要求した演算結果を取得する。尚、ステップS304〜S307は、集計装置10の秘密鍵、受付装置20の秘密鍵、利用者端末40の秘密鍵を用いて、夫々の装置が通信を介して復号を行う処理であり、その詳細は図8のフロー図を用いて後述する。
The user terminal device 40 makes a secret calculation request to the accepting device 20 (step S301). The accepting device 20 relays the confidential calculation request to the counting device 10 (step S302). The aggregation device 10 selects the corresponding encrypted data from the encrypted data stored in step S103 based on the confidential calculation request, and performs the calculation process in the encrypted state (step S303). Then, the encryption calculation result is transmitted to the accepting device 20. The accepting device 20 performs a partial decryption process on the result of the encryption operation using the private key of the accepting device 20 (step S304), and transmits the processed
図5から図8は、本実施形態における各処理の詳細を説明する為のフロー図である。 5 to 8 are flowcharts for explaining details of each process in the present embodiment.
図5は事前準備フェーズのシステム公開鍵生成処理(ステップS001〜S002)のフロー図である。 FIG. 5 is a flowchart of the system public key generation process (steps S001 to S002) in the advance preparation phase.
図6は事前準備フェーズの暗号化データ登録処理(ステップS101〜S103)のフロー図である。 FIG. 6 is a flowchart of encrypted data registration processing (steps S101 to S103) in the advance preparation phase.
図7は秘匿演算処理フェーズの秘匿演算依頼(ステップS301)から秘匿演算処理(ステップS303)までのフロー図である。 FIG. 7 is a flowchart from the confidential calculation processing phase (step S301) to the confidential calculation processing (step S303).
図8は秘匿演算処理フェーズの復号処理(ステップS304〜S307)までのフロー図である。 FIG. 8 is a flowchart up to the decryption process (steps S304 to S307) in the confidential calculation process phase.
尚、利用者端末装置初期登録処理は、広く一般的に使われているRSA暗号などの公開鍵暗号における鍵ペア(公開鍵および秘密鍵)を利用者端末装置40が生成し、前記利用者端末装置40の公開鍵を受付装置20に登録するという処理であり、とりわけフロー図を使っての説明は省略する。 In the user terminal device initial registration process, the user terminal device 40 generates a key pair (public key and secret key) in public key cryptography such as RSA cryptography which is widely used in general, and the user terminal device This is a process of registering the public key of the device 40 in the accepting device 20, and in particular, the description using the flowchart is omitted.
まず、図5を用いて事前準備フェーズのシステム公開鍵生成処理(ステップS001〜S002)フローを説明する。 First, the system public key generation processing (steps S001 to S002) flow in the preparation phase will be described with reference to FIG.
受付装置20は、大きな素数pおよびqを選ぶ(フローF001)。このとき、p’=(p−1)/2およびq’=(q−1)/2も素数になるように選ぶ。 The accepting device 20 selects large prime numbers p and q (flow F001). At this time, p ′ = (p−1) / 2 and q ′ = (q−1) / 2 are also selected to be prime numbers.
次に受付装置20はn=p・qを計算する(フローF002)。尚、ここでは演算子“・”は掛け算を意味する。 Next, the accepting device 20 calculates n = p · q (flow F002). Here, the operator “·” means multiplication.
次に受付装置20は乱数k∈Znを任意に選び(フローF003)、g=1+k・n mod n2を計算する(フローF004)。 Next, the accepting device 20 arbitrarily selects a random number kεZ n (flow F003) and calculates g = 1 + k · n mod n 2 (flow F004).
そして受付装置20は、フローF001で選んだ素数pおよびqを受付装置20の秘密鍵として鍵記憶部208に保管する(フローF005)。 Then, the reception device 20 stores the prime numbers p and q selected in the flow F001 in the key storage unit 208 as a secret key of the reception device 20 (flow F005).
また受付装置20は、フローF002およびフローF004で計算したnおよびgを受付装置20の公開鍵として、集計装置10に送信する(フローF006)。 In addition, the reception device 20 transmits n and g calculated in the flow F002 and the flow F004 to the aggregation device 10 as the public key of the reception device 20 (flow F006).
受付装置20の公開鍵(n、g)を受信した集計装置10は(フローF007)、a∈Znを任意に選び(フローF008)、a’・a=1 mod nなるa’を求める。通常、この計算はユークリッドの互除法と呼ばれる計算を行うことでa’を求めることができる(フローF009)。 Upon receiving the public key (n, g) of the accepting apparatus 20 (flow F007), the aggregating apparatus 10 arbitrarily selects aεZ n (flow F008) and obtains a ′ where a ′ · a = 1 mod n. Normally, a ′ can be obtained by performing a calculation called the Euclidean mutual division method (flow F009).
そして集計装置10は、G=ga mod n2を計算する(フローF010)。 The collection apparatus 10 calculates the G = g a mod n 2 (Flow F010).
また、集計装置10は、u∈ZNを任意に選ぶ。尚、便宜上、ここではn2をNと記述する(フローF011)。 Further, totaling device 10 chooses the U∈Z N arbitrarily. For convenience, describe the n 2 and N here (Flow F011).
そして集計装置10は、フローF009で求めたa’とフローF011で選んだuを集計装置10の秘密鍵として、鍵記憶部108に保管する(フローF012)。
The aggregation device 10 stores the a ′ obtained in the flow F009 and u selected in the flow F011 in the
また、集計装置10は、パラメータbをn/2より小さい自然数から選ぶ(フローF013)。尚、パラメータbは演算を行う項数の最大値とする。つまり、本実施形態では最大b個までの足し算または引き算を行うことができる。 Further, the counting device 10 selects the parameter b from natural numbers smaller than n / 2 (flow F013). The parameter b is the maximum number of terms to be calculated. That is, in this embodiment, up to b additions or subtractions can be performed.
そして集計装置10は、フローF007で受付装置20から受信したnとフローF010で計算したGを秘匿演算システム1のシステム公開鍵として、各登録装置30に送信する。また、フローF013で選んだbも秘匿演算システム1の公開パラメータとして、各登録装置30に送信する(フローF014)。
Then, the aggregation device 10 transmits n received from the reception device 20 in the flow F007 and G calculated in the flow F010 to each registration device 30 as the system public key of the
次に、図6を用いて事前準備フェーズの暗号化データ登録処理(ステップS101〜S103)フローを説明する。 Next, the flow of encrypted data registration processing (steps S101 to S103) in the preparation phase will be described with reference to FIG.
登録装置30は、暗号化対象のデータ(整数値)としてm∈Z((n/2b)−1)を選ぶ(フローF101)。 The registration device 30 selects mεZ ((n / 2b) −1) as the data to be encrypted (integer value) (flow F101).
次に登録装置30は、乱数r∈Znを任意に選び(フローF102)、フローF101で選んだデータmに対して、フローF014で集計装置10から登録装置30に送られてきた秘匿演算システム1のシステム公開鍵(n、G)とフローF102で選んだ乱数rを用いて、暗号化データc=Gm・rn mod n2を計算する(フローF103)。 Next, the registration device 30 arbitrarily selects a random number rεZ n (flow F102), and the secret computation system sent from the counting device 10 to the registration device 30 in flow F014 for the data m selected in flow F101. Encrypted data c = G m · r n mod n 2 is calculated using the system public key (n, G) of 1 and the random number r selected in flow F102 (flow F103).
そして登録装置30は、前記暗号化データcが何に対するデータであるかの属性情報(例えば“ID1”の“医療費”のデータであることを示す情報(図3、テーブル109参照))を添えて、前記暗号化データcを収集装置10に送信する(フローF104)。 Then, the registration device 30 provides attribute information (for example, information indicating that the data is “medical expenses” of “ID 1 ” (see table 109 in FIG. 3)) indicating what the encrypted data c is. In addition, the encrypted data c is transmitted to the collection device 10 (flow F104).
暗号化データcを受信した集計装置10は(フローF105)、フローF012で鍵記憶部108に保管してある秘密鍵uを取り出し、前記暗号化データcをc=c+u mod n2に変換して、前記属性情報(例えば“ID1”の“医療費”のデータであることを示す情報(図3、テーブル109参照))に従い、変換したcを集計装置10のデータ記憶部107に登録する(フローF106)。
The counting device 10 that has received the encrypted data c (flow F105) extracts the secret key u stored in the
次に、図7を用いて秘匿演算処理フェーズの秘匿演算依頼(ステップS301)から秘匿演算処理(ステップS303)フローを説明する。 Next, the flow of the secret calculation processing (step S303) from the secret calculation request (step S301) in the secret calculation processing phase will be described with reference to FIG.
利用者端末装置40は、演算範囲を指定して(例えば“ID1”の“医療費”と“介護費”の和を知りたいということを示す情報(図3、テーブル109参照))、受付装置20に秘匿演算依頼を送信する(フローF201)。 The user terminal device 40 designates a calculation range (for example, information indicating that the user wants to know the sum of “medical expenses” and “care expenses” of “ID 1 ” (see FIG. 3, table 109)) A secret calculation request is transmitted to the apparatus 20 (flow F201).
利用者端末装置40からの秘匿演算依頼を受信した受付装置20は(フローF202)、前記利用者端末装置40が利用者端末装置初期登録処理(ステップS202)で初期登録されているかなど、秘匿演算システム1を利用できる装置からのアクセスであるかの確認を行う(フローF203)。もし、不正な装置からのアクセスであれば前記秘匿演算依頼は拒否する。もし、正当な装置からのアクセスであれば、ステップS202でデータ記憶部207に保管した前記利用者端末装置40の該当公開鍵を取り出し、前記利用者端末装置40の公開鍵をフローF202で受信した秘匿演算依頼と共に集計装置10に送信する(フローF204)。 The accepting device 20 that has received the confidential calculation request from the user terminal device 40 (flow F202) determines whether the user terminal device 40 is initially registered in the user terminal device initial registration process (step S202). It is confirmed whether the access is from an apparatus that can use the system 1 (flow F203). If it is an access from an unauthorized device, the confidential calculation request is rejected. If the access is from a legitimate device, the public key of the user terminal device 40 stored in the data storage unit 207 is extracted in step S202, and the public key of the user terminal device 40 is received in flow F202. It transmits to the totalization apparatus 10 with a secret calculation request (flow F204).
受付装置20からの秘匿演算依頼を受信した集計装置10は(フローF205)、フローF201で指定されている演算範囲を基に該当暗号化データをデータ記憶部107から取得する(フローF206)。ここでは、“ID1の医療費に対する暗号化データ”を“c1”とし、“ID1の介護費に対する暗号化データ”を“c2”として説明する。
The aggregation device 10 that has received the confidential calculation request from the accepting device 20 (flow F205) acquires the corresponding encrypted data from the
各該当暗号化データを取得した集計装置10は、鍵記憶部108より集計装置10の秘密鍵uを取り出し、c1およびc2を、各々c1=c1−u mod n2、c2=c2−u mod n2に置き換える(フローF207)。
The tally device 10 that has acquired the corresponding encrypted data extracts the secret key u of the tally device 10 from the
ここで集計装置10は、要求されている演算が和であるか差であるかを判断し(フローF208)、和であればc’=(c1・c2) mod n2を計算し(フローF2091)、差であればc’=(c1/c2) mod n2を計算する(フローF2092)。 Here, the aggregation device 10 determines whether the requested operation is a sum or a difference (flow F208), and if it is a sum, c ′ = (c 1 · c 2 ) mod n 2 is calculated ( If flow F209 1 ) or difference, c ′ = (c 1 / c 2 ) mod n 2 is calculated (flow F209 2 ).
またc’を計算した集計装置10は、s∈Znを任意に選び、s’・s=1 mod nなるs’を求め、一次記憶装部106またはデータ記憶装部107に記憶しておく(フローF210)。
The c 'totaling device 10 calculating the can optionally select s∈Z n, s' seek · s = 1 mod n becomes s', stored in the primary
また、集計装置10は、v∈Znを任意に選び、v’・v=1 mod nなるv’も求める(フローF211)。そして集計装置10は、フローF204で受付装置20から送られてきた該当利用者端末40の公開鍵で、v’を暗号化する(フローF212)。 Further, the aggregation device 10 arbitrarily selects vεZ n and obtains v ′ where v ′ · v = 1 mod n (flow F211). Then, the aggregation device 10 encrypts v ′ with the public key of the corresponding user terminal 40 sent from the reception device 20 in the flow F204 (flow F212).
さらに集計装置10は、フローF209で計算したc’と、フローF210、フローF211で選んだsおよびvより、暗号化演算結果C=(c’)s・v mod n2を計算し、フローF212で暗号化したv’と共に受付装置20に送信する(フローF213)。 Further, the tally device 10 calculates an encryption operation result C = (c ′) s · v mod n 2 from c ′ calculated in the flow F209 and s and v selected in the flow F210 and the flow F211, and the flow F212. And v ′ encrypted in the above-described manner, is transmitted to the accepting device 20 (flow F213).
最後に、図8を用いて秘匿演算処理フェーズの復号処理(ステップS304〜S307)フローを説明する。 Finally, the flow of the decryption process (steps S304 to S307) in the confidential calculation process phase will be described with reference to FIG.
暗号化演算結果Cと該当利用者端末40の公開鍵で暗号化されたv’を受信した受付装置20は、M=L((Cλ mod n2)/L(gλ mod n2))mod n を計算する。ここで、L(x)=(x−1)/nであり、λ=lcm(p−1、q−1)である(フローF301)。 The accepting device 20 that has received the encryption operation result C and v ′ encrypted with the public key of the corresponding user terminal 40 receives M = L ((C λ mod n 2 ) / L (g λ mod n 2 )). Mod n is calculated. Here, L (x) = (x−1) / n and λ = 1 cm (p−1, q−1) (flow F301).
また、受付装置20は、t∈Znを任意に選び、t’・t=1 mod nなるt’を求め、一次記憶装部206またはデータ記憶装部207に記憶しておく(フローF302)。
Further, the accepting device 20 arbitrarily selects tεZ n , obtains t ′ where t ′ · t = 1 mod n, and stores it in the
そして受付装置20は、フローF301で計算したMとフローF302で選んだtを使って、C’=M・t mod n を計算し、C’を処理データ1として集計装置10に送信する(フローF303)。
The accepting device 20 calculates C ′ = M · t mod n using M calculated in the flow F301 and t selected in the flow F302, and transmits C ′ as
C’を受信した集計装置10は(フローF304)、フローF012で鍵記憶部108に保管したa’と、フローF210で一次記憶装部106またはデータ記憶装部107に記憶してあるs’を取り出し、C’’=a’・s’・C’ mod n を計算する(フローF304)。そして集計装置10は、C’’を処理データ2として受付装置20に送信する(フローF306)。
The counting device 10 that has received C ′ (flow F304), a ′ stored in the
C’’を受信した受付装置20は(フローF307)、フローF302で一次記憶装部206またはデータ記憶装部207に記憶してあるt’を取り出し、処理データ3としてC’’’=t’・C’’ mod n を計算する(フローF308)。
The receiving apparatus 20 that has received C ″ (flow F307) extracts t ′ stored in the
そして受付装置20は、フローF213で集計装置10から送られてきた該当利用者端末40の公開鍵で暗号化されたv’とフローF304で計算したC’’’(処理データ3)を秘匿演算依頼の要求元である利用者端末40に送信する(フローF309)。 Then, the accepting device 20 performs a secret operation on v ′ encrypted with the public key of the corresponding user terminal 40 sent from the counting device 10 in the flow F213 and C ′ ″ (processing data 3) calculated in the flow F304. The request is transmitted to the user terminal 40 that is the request source (flow F309).
利用者端末40の公開鍵で暗号化されたv’と処理データ3であるC’’’を受信した利用者端末40は(フローF310)、まず、ステップS201で生成した利用者端末装置40の秘密鍵を鍵記憶部408より取り出し、利用者端末40の公開鍵で暗号化されたv’を復号してv’を取得する(フローF311)。
The user terminal 40 that has received v ′ encrypted with the public key of the user terminal 40 and C ′ ″ that is the processing data 3 (flow F310), first of the user terminal device 40 generated in step S201. The private key is extracted from the
そして利用者端末装置40は、フローF310で受信したC’’’とフローF311で復号したv’より、m’=v’・C’’’mod nを計算する(フローF312)。 Then, the user terminal device 40 calculates m ′ = v ′ · C ′ ″ mod n from C ′ ″ received in the flow F310 and v ′ decoded in the flow F311 (flow F312).
ここでm’<n/2であれば、m’=m’とし(フローF3141)、m’≧n/2であればm’=m’−nとする(フローF3142)。 If m ′ <n / 2, then m ′ = m ′ (flow F314 1 ), and if m ′ ≧ n / 2, m ′ = m′−n (flow F314 2 ).
そして利用者端末装置40は、m’を要求した演算結果として取得する(フローF315)。 Then, the user terminal device 40 acquires m ′ as the calculation result that requested it (flow F315).
尚、m’が求める演算結果であることは以下よりわかる。
各暗号化データc1およびc2を、
c1=Gm1・r1 n =ga・m1・r1 n mod n2、
c2=Gm2・r2 n =ga・m2・r2 n mod n2としたとき、
c’=c1・c2=ga・(m1+m2) ・(r1・r2)n mod n2であり、
C=(c’)s・v=ga・(m1+m2)・s・v ・(r1・r2)n・s・v mod n2である。
そして、L((Cλ mod n2)/L(gλ mod n2))mod nの計算は、gの指数部分の値を出力するので、
M=a・(m1+m2)・s・v mod nとなり、
C’=a・(m1+m2)・s・v・t mod nとなる。
そして
C’’=(a’・s’)・C’=(m1+m2)・v・t mod nとなり、
C’’’=t’・C’’=(m1+m2)・v mod nとなる。
そして、
m’=v’・C’’’=(m1+m2) mod nとなる。
It can be seen from the following that m ′ is the calculated result.
The encrypted data c 1 and c 2,
c 1 = G m1 · r 1 n = g a · m1 · r 1 n mod n 2 ,
When c 2 = G m2 · r 2 n = g a · m2 · r 2 n mod n 2 ,
c ′ = c 1 · c 2 = g a · (m1 + m2) · (r 1 · r 2 ) n mod n 2
C = (c ′) s · v = ga · (m1 + m2) · s · v · (r 1 · r 2 ) n · s · v mod n 2
Then, the calculation of L ((C λ mod n 2 ) / L (g λ mod n 2 )) mod n outputs the value of the exponent part of g.
M = a · (m1 + m2) · s · v mod n
C ′ = a · (m1 + m2) · s · v · t mod n.
And C ″ = (a ′ · s ′) · C ′ = (m1 + m2) · v · t mod n,
C ′ ″ = t ′ · C ″ = (m1 + m2) · v mod n.
And
m ′ = v ′ · C ′ ″ = (m1 + m2) mod n.
なお、m1、m2∈Z((n/2b)−1)であるので、m1+m2<n/2であり、
m’は求める m’=m1+m2であることがわかる。
Since m1 and m2εZ ((n / 2b) −1) , m1 + m2 <n / 2,
m ′ is found m ′ = m1 + m2.
上記で説明した構成により、本実施例は、2つの秘密鍵から生成されるシステム公開鍵を用いて暗号化した各データは、クラウド上のサーバ上で暗号化状態のまま演算をさせることが可能である。 With the configuration described above, in this embodiment, each data encrypted using a system public key generated from two secret keys can be operated in an encrypted state on a server on the cloud. It is.
また、前記2つの秘密鍵は別々の装置にて管理させることにより、各装置の結託が無い限り、前記サーバから各データおよび演算結果の秘匿性を保つことができる。 Further, by managing the two secret keys by different devices, it is possible to keep the confidentiality of each data and calculation result from the server as long as there is no collusion of each device.
また、暗号化状態で演算した演算結果の一部(演算をする際に生成される部分情報)を、演算結果を利用する利用者端末装置の公開鍵で更に暗号化させることにより、該当利用者端末装置のみが前記暗号化演算結果を復号することができるようになる。つまり言い換えると、宛先の利用者端末の公開鍵で前記演算結果の一部(演算をする際に生成される部分情報)を暗号化させることにより、同一の復号用の秘密鍵を事前に配布させることなく、複数の利用者端末装置向けに演算結果を安全に提供することができるようになる。 In addition, by further encrypting a part of the operation result calculated in the encrypted state (partial information generated when performing the operation) with the public key of the user terminal device that uses the operation result, the corresponding user Only the terminal device can decrypt the encryption operation result. In other words, the same decryption secret key is distributed in advance by encrypting a part of the calculation result (partial information generated when the calculation is performed) with the public key of the destination user terminal. Thus, the calculation result can be safely provided to a plurality of user terminal devices.
尚、暗号化演算結果を復号する為には、各データを暗号化したシステム公開鍵に対応する2つの秘密鍵および演算結果を利用する利用者端末装置の秘密鍵が必要であり、本発明では装置間の通信を介して処理することで、暗号化演算結果を該当利用者端末が復号できるように加工することで、該当利用者端末装置は暗号化演算結果を復号することができるようになる。 In order to decrypt the encrypted calculation result, two secret keys corresponding to the system public key in which each data is encrypted and the secret key of the user terminal device using the calculation result are necessary. By processing through the communication between the devices, the encrypted user result is processed so that the corresponding user terminal can decrypt it, so that the corresponding user terminal device can decrypt the encrypted operation result. .
1 秘匿演算システム
10 集計装置
20 受付装置
30 登録装置
40 利用者端末装置
50 ネットワーク
101 情報生成部
102 暗号処理部
103 データ送受信部
104 情報入力部
105 情報出力部
106 一次記憶部
107 データ記憶部
108 鍵記憶部
109 テーブル
201 情報生成部
202 暗号処理部
203 データ送受信部
204 情報入力部
205 情報出力部
206 一次記憶部
207 データ記憶部
208 鍵記憶部
301 情報生成部
302 暗号処理部
303 データ送受信部
304 情報入力部
305 情報出力部
306 一次記憶部
307 データ記憶部
401 情報生成部
402 暗号処理部
403 データ送受信部
404 情報入力部
405 情報出力部
406 一次記憶部
407 データ記憶部
408 鍵記憶部
601 入出力装置
602 通信装置
603 メモリー
604 記憶装置
605 CPU
DESCRIPTION OF
Claims (7)
利用者端末装置と演算装置とが備える2つの秘密鍵からシステム公開鍵を生成するシステム公開鍵生成ステップと、
前記システム公開鍵により前記データを暗号化する暗号化ステップと、
前記暗号化されたデータについて、秘匿演算処理を行う演算ステップと、
前記演算ステップによる演算結果を前記利用者端末装置が備える秘密鍵で再暗号化する再暗号化ステップと、
前記再暗号化したデータを前記利用者端末装置に送付する送付ステップと、
前記再暗号化したデータを前記利用者端末装置が備える秘密鍵で復号化することを特徴とする復号化ステップと、
を備えることを特徴とした秘匿演算方法。 A secret calculation method for calculating data with encryption,
A system public key generation step of generating a system public key from two secret keys provided in the user terminal device and the computing device;
An encryption step of encrypting the data with the system public key;
A calculation step for performing a secret calculation process on the encrypted data;
A re-encryption step of re-encrypting the operation result of the operation step with a secret key provided in the user terminal device;
A sending step of sending the re-encrypted data to the user terminal device;
Decrypting the re-encrypted data with a secret key provided in the user terminal device; and
A secret calculation method comprising:
前記再暗号化ステップは、前記演算結果の一部を別の公開鍵で暗号化することを特徴とする秘匿演算方法。 The secret calculation method according to claim 1,
In the re-encryption step, a part of the calculation result is encrypted with another public key.
前記復号化ステップは、前記システム公開鍵の生成に用いた前記2つの秘密鍵および、演算結果の一部を更に暗号化した公開鍵に対応する秘密鍵を、前記利用者端末装置及び前記演算装置間の通信を介して復号処理することを特徴とする秘匿演算方法。 The secret calculation method according to claim 2,
In the decryption step, the two secret keys used for generating the system public key and a secret key corresponding to a public key obtained by further encrypting a part of the calculation result are obtained as the user terminal device and the calculation device. A secret calculation method, wherein decryption processing is performed via communication between the two.
2つの秘密鍵から生成されたシステム公開鍵によって暗号化されたデータを格納する記憶部と、
前記データについて、秘匿演算処理を行う演算部と、
前記演算部による演算結果を利用者端末装置が備える秘密鍵で再暗号化する暗号処理部と、
前記再暗号化したデータを前記利用者端末装置に送付する送信部と、
を備えることを特徴とする演算装置。 An arithmetic device that operates while encrypting data,
A storage unit for storing data encrypted by a system public key generated from two private keys;
For the data, a calculation unit that performs a secret calculation process;
An encryption processing unit for re-encrypting a calculation result by the calculation unit with a secret key included in the user terminal device;
A transmission unit for sending the re-encrypted data to the user terminal device;
An arithmetic device comprising:
前記2つの秘密鍵は、前記利用者端末装置と当該演算装置とが備える秘密鍵であることを特徴とする演算装置。 The arithmetic unit according to claim 4,
The arithmetic device characterized in that the two secret keys are secret keys included in the user terminal device and the arithmetic device.
前記暗号処理部は、前記演算結果の一部を別の公開鍵で暗号化することを特徴とする演算装置。 The arithmetic unit according to claim 5,
The cryptographic processing unit encrypts a part of the calculation result with another public key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016155202A JP6693834B2 (en) | 2016-08-08 | 2016-08-08 | Concealment calculation technology and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016155202A JP6693834B2 (en) | 2016-08-08 | 2016-08-08 | Concealment calculation technology and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018025587A true JP2018025587A (en) | 2018-02-15 |
JP6693834B2 JP6693834B2 (en) | 2020-05-13 |
Family
ID=61193705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016155202A Active JP6693834B2 (en) | 2016-08-08 | 2016-08-08 | Concealment calculation technology and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6693834B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11488710B2 (en) * | 2017-11-17 | 2022-11-01 | Roche Diabetes Care, Inc. | Method for controlling operation of a medical device in a medical system and medical system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132095A (en) * | 1998-03-26 | 2000-05-12 | Nippon Telegr & Teleph Corp <Ntt> | Encryption method, decryption method, authentication method, encryption apparatus, decryption apparatus, authentication apparatus, authentication text transmitter apparatus, encryption text receiver apparatus, cipher communication system and authentication system |
JP2006352316A (en) * | 2005-06-14 | 2006-12-28 | Nec Software Hokuriku Ltd | Privacy protection encryption method, privacy protection encryption system, and privacy protection encryption program |
US20070140479A1 (en) * | 2005-12-19 | 2007-06-21 | Microsoft Corporation | Privacy-preserving data aggregation using homomorphic encryption |
WO2012169153A1 (en) * | 2011-06-10 | 2012-12-13 | 日本電気株式会社 | Encrypted statistical processing system, device, method, and program |
JP2015184490A (en) * | 2014-03-24 | 2015-10-22 | 富士通株式会社 | Encryption device, encryption method, information processor, and encryption system |
US20160105402A1 (en) * | 2014-07-22 | 2016-04-14 | Harsh Kupwade-Patil | Homomorphic encryption in a healthcare network environment, system and methods |
-
2016
- 2016-08-08 JP JP2016155202A patent/JP6693834B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132095A (en) * | 1998-03-26 | 2000-05-12 | Nippon Telegr & Teleph Corp <Ntt> | Encryption method, decryption method, authentication method, encryption apparatus, decryption apparatus, authentication apparatus, authentication text transmitter apparatus, encryption text receiver apparatus, cipher communication system and authentication system |
JP2006352316A (en) * | 2005-06-14 | 2006-12-28 | Nec Software Hokuriku Ltd | Privacy protection encryption method, privacy protection encryption system, and privacy protection encryption program |
US20070140479A1 (en) * | 2005-12-19 | 2007-06-21 | Microsoft Corporation | Privacy-preserving data aggregation using homomorphic encryption |
WO2012169153A1 (en) * | 2011-06-10 | 2012-12-13 | 日本電気株式会社 | Encrypted statistical processing system, device, method, and program |
JP2015184490A (en) * | 2014-03-24 | 2015-10-22 | 富士通株式会社 | Encryption device, encryption method, information processor, and encryption system |
US20160105402A1 (en) * | 2014-07-22 | 2016-04-14 | Harsh Kupwade-Patil | Homomorphic encryption in a healthcare network environment, system and methods |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11488710B2 (en) * | 2017-11-17 | 2022-11-01 | Roche Diabetes Care, Inc. | Method for controlling operation of a medical device in a medical system and medical system |
Also Published As
Publication number | Publication date |
---|---|
JP6693834B2 (en) | 2020-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101866935B1 (en) | Systems and methods for faster public key encryption using the associated private key portion | |
Fang et al. | Privacy protection for medical data sharing in smart healthcare | |
CN113162752B (en) | Data processing method and device based on hybrid homomorphic encryption | |
US11075753B2 (en) | System and method for cryptographic key fragments management | |
JP6049914B2 (en) | Cryptographic system, key generation device, and re-encryption device | |
US11431489B2 (en) | Encryption processing system and encryption processing method | |
JP6270683B2 (en) | Encryption system, encryption method, universal re-encryption key generation device, and re-encryption key generation device | |
Rao et al. | A hybrid elliptic curve cryptography (HECC) technique for fast encryption of data for public cloud security | |
WO2023241142A1 (en) | Data processing method and apparatus, storage medium, and electronic device | |
Malgari et al. | A novel data security framework in distributed cloud computing | |
Purushothama et al. | Secure cloud storage service and limited proxy re-encryption for enforcing access control in public cloud | |
JP6693834B2 (en) | Concealment calculation technology and method | |
KR102284877B1 (en) | Efficient functional encryption for set intersection | |
JP7325689B2 (en) | Ciphertext conversion system, conversion key generation method, and conversion key generation program | |
KR101240247B1 (en) | Proxy re-encryption Method using two secret key, Method for decrypting of Proxy re-encryption message | |
JP2018151620A (en) | Method and system for privacy protection order statistic collection in star network | |
Yasmin et al. | Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds | |
JP6320943B2 (en) | Key sharing device, key sharing system, key sharing method, and program | |
CN114788221A (en) | Wrapping key with access control predicates | |
Devassy | Research Project Questions | |
JP6949276B2 (en) | Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem | |
Jahan et al. | Securely distributing files in cloud environment by dispensing asymmetric key management system applying hashing | |
Reddy et al. | Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques | |
Jasim et al. | Cloud Computing Cryptography" State-of-the-Art" | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170111 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170113 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190821 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191001 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20191004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200416 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6693834 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |