JP6370230B2 - Secret calculation control device, secret calculation control method, and secret calculation control program - Google Patents

Secret calculation control device, secret calculation control method, and secret calculation control program Download PDF

Info

Publication number
JP6370230B2
JP6370230B2 JP2015011236A JP2015011236A JP6370230B2 JP 6370230 B2 JP6370230 B2 JP 6370230B2 JP 2015011236 A JP2015011236 A JP 2015011236A JP 2015011236 A JP2015011236 A JP 2015011236A JP 6370230 B2 JP6370230 B2 JP 6370230B2
Authority
JP
Japan
Prior art keywords
calculation
secret
formula
cost
calculation control
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.)
Active
Application number
JP2015011236A
Other languages
Japanese (ja)
Other versions
JP2016136190A (en
Inventor
清本 晋作
晋作 清本
三宅 優
優 三宅
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2015011236A priority Critical patent/JP6370230B2/en
Publication of JP2016136190A publication Critical patent/JP2016136190A/en
Application granted granted Critical
Publication of JP6370230B2 publication Critical patent/JP6370230B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、秘密計算を制御する装置、方法及びプログラムに関する。   The present invention relates to an apparatus, a method, and a program for controlling a secret calculation.

従来、個人情報を含むようなセンシティブなデータを統計処理する場合等に、入力データを秘匿したまま演算結果を得る秘密計算システムが提案されている(例えば、特許文献1参照)。   Conventionally, when sensitive data including personal information is statistically processed, a secret calculation system that obtains a calculation result while keeping input data secret has been proposed (for example, see Patent Document 1).

特開2011−248066号公報JP 2011-248066 A

しかしながら、従来の技術は、単一のサーバによる特定の演算に特化したものである。様々な演算要求に対応するためには、演算装置の処理負荷、さらには、利用者が負担するコストが増大し、利便性が低下してしまう。   However, the conventional technique is specialized for a specific operation by a single server. In order to respond to various calculation requests, the processing load of the calculation device and further the cost borne by the user increase, and convenience decreases.

本発明は、特定の演算に限定されない秘密計算を効率的に行える秘密計算制御装置、秘密計算制御方法及び秘密計算制御プログラムを提供することを目的とする。   It is an object of the present invention to provide a secret calculation control device, a secret calculation control method, and a secret calculation control program that can efficiently perform a secret calculation that is not limited to a specific calculation.

本発明に係る秘密計算制御装置は、計算式及び当該計算式の対象データを入力する入力部と、準同型暗号を用いた特定の演算を行う複数の演算ノードから、当該演算ノードのリソース及び演算コストの情報を取得する取得部と、前記リソース及び演算コストの情報に基づいて、前記計算式を分解した個々の演算を、前記複数の演算ノードのいずれに配分するかの計算手順を決定する決定部と、前記決定された計算手順に従って、前記複数の演算ノードを利用して前記対象データに対する準同型暗号を用いた秘密計算を実行し、計算結果を出力する実行部と、を備える。   The secret calculation control device according to the present invention includes a calculation formula and target data of the calculation formula, an input unit that inputs a calculation formula, and a plurality of calculation nodes that perform a specific calculation using homomorphic encryption. An acquisition unit that acquires cost information, and a determination that determines a calculation procedure for allocating each calculation obtained by decomposing the calculation formula to which of the plurality of calculation nodes based on the resource and calculation cost information And an execution unit that executes a secret calculation using homomorphic encryption on the target data using the plurality of operation nodes in accordance with the determined calculation procedure, and outputs a calculation result.

前記秘密計算制御装置は、前記計算式を変形し、当該変形後の計算式に含まれる演算の回数に基づき算出される計算コストを減少させる式変形部を備え、前記決定部は、前記変形後の計算式の計算手順を決定してもよい。   The secret calculation control device includes a formula deforming unit that modifies the calculation formula and reduces a calculation cost calculated based on the number of operations included in the calculated calculation formula. The calculation procedure of the following formula may be determined.

前記式変形部は、前記準同型暗号における暗号及び復号の処理回数を減少させるように前記計算式を変形してもよい。   The equation modifying unit may modify the calculation equation so as to reduce the number of encryption and decryption processes in the homomorphic encryption.

前記決定部は、指定時間内に前記計算結果を得られる計算手順のうち、前記演算コストの総計が最低となるように前記計算手順を決定してもよい。   The determination unit may determine the calculation procedure so that the total of the calculation costs is the lowest among the calculation procedures that can obtain the calculation result within a specified time.

前記決定部は、木構造に分解された計算式の出力に近い側の演算から順に、演算ノードを変更することにより、前記演算コストを低減させてもよい。   The determination unit may reduce the operation cost by changing operation nodes in order from an operation closer to an output of a calculation formula decomposed into a tree structure.

前記決定部は、前記木構造に分解された計算式の分岐において、全ての枝が同等の計算時間となるように演算ノードを変更することにより、前記演算コストを低減させてもよい。   The determination unit may reduce the calculation cost by changing the calculation node so that all the branches have the same calculation time in the branch of the calculation formula decomposed into the tree structure.

前記実行部は、前記個々の演算のための暗号方式が異なる場合、当該演算毎の暗号方式を通知し、当該暗号方式により暗号化された演算対象のデータを取得してもよい。   When the encryption method for each calculation is different, the execution unit may notify the encryption method for each operation and acquire the data to be calculated encrypted by the encryption method.

前記決定部は、前記対象データのそれぞれに対して所定回数以上の演算を行った以降の計算手順において、前記複数の演算ノードとは異なる前記準同型暗号を用いない演算ノードに演算を配分してもよい。   The determination unit distributes the calculation to calculation nodes that do not use the homomorphic encryption different from the plurality of calculation nodes in a calculation procedure after performing a predetermined number of calculations on each of the target data. Also good.

本発明に係る秘密計算制御方法は、計算式及び当該計算式の対象データを入力する入力ステップと、準同型暗号を用いた特定の演算を行う複数の演算ノードから、当該演算ノードのリソース及び演算コストの情報を取得する取得ステップと、前記リソース及び演算コストの情報に基づいて、前記計算式を分解した個々の演算を、前記複数の演算ノードのいずれに配分するかの計算手順を決定する決定ステップと、前記決定された計算手順に従って、前記複数の演算ノードを利用して前記対象データに対する準同型暗号を用いた秘密計算を実行し、計算結果を出力する実行ステップと、をコンピュータの制御部が実行する。   The secret calculation control method according to the present invention includes an input step for inputting a calculation formula and target data of the calculation formula, and a plurality of calculation nodes that perform a specific calculation using homomorphic encryption. An acquisition step for acquiring cost information, and a determination for determining a calculation procedure for allocating each operation obtained by decomposing the calculation formula to the plurality of operation nodes based on the resource and operation cost information A computer control unit that executes a secret calculation using homomorphic encryption on the target data using the plurality of operation nodes in accordance with the determined calculation procedure, and outputs a calculation result. Will run.

本発明に係る秘密計算制御プログラムは、前記秘密計算制御方法の各ステップを前記コンピュータに実行させる。   The secret calculation control program according to the present invention causes the computer to execute each step of the secret calculation control method.

本発明によれば、特定の演算に限定されない秘密計算を効率的に行える。   According to the present invention, it is possible to efficiently perform a secret calculation that is not limited to a specific operation.

実施形態に係る秘密計算制御装置の機能構成を示す図である。It is a figure which shows the function structure of the secret calculation control apparatus which concerns on embodiment. 実施形態に係る計算手順の一例を示す模式図である。It is a schematic diagram which shows an example of the calculation procedure which concerns on embodiment. 実施形態に係る秘密計算制御装置の処理を示すフローチャートである。It is a flowchart which shows the process of the secret calculation control apparatus which concerns on embodiment.

以下、本発明の実施形態の一例について説明する。
本実施形態の秘密計算制御装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、ユーザ端末2からの計算要求に対して、入力データを暗号化したまま複数の演算ノード3を用いて計算結果を出力する。
Hereinafter, an example of an embodiment of the present invention will be described.
The secret calculation control device 1 of the present embodiment is an information processing device (computer) such as a server device or a personal computer, and in response to a calculation request from the user terminal 2, a plurality of operation nodes 3 with input data encrypted. Use to output the calculation result.

演算ノード3は、加法準同型又は乗法準同型等、準同型暗号を用いて特定の演算(例えば、加算又は乗算)が可能なパブリッククラウド上の処理装置であり、秘密計算制御装置1からの演算依頼に応じて、データを秘匿(暗号化)したまま演算し、その結果を返す。複数の演算ノード3は、それぞれCPU等の処理能力、又はメモリ容量等に依存して処理可能データ量等が異なる。また、演算ノード3は、暗号方式の異なる特定の演算アルゴリズムに特化した専用の回路(ハードウェアアクセラレータ)を搭載することで処理速度を向上させる場合もある。   The operation node 3 is a processing device on the public cloud that can perform a specific operation (for example, addition or multiplication) using homomorphic encryption such as additive homomorphism or multiplicative homomorphism. In response to the request, the calculation is performed while the data is kept secret (encrypted), and the result is returned. The plurality of operation nodes 3 differ in the amount of processable data depending on the processing capacity of the CPU or the like, or the memory capacity. The operation node 3 may improve the processing speed by mounting a dedicated circuit (hardware accelerator) specialized for a specific operation algorithm with a different encryption method.

図1は、本実施形態に係る秘密計算制御装置1の機能構成を示す図である。
秘密計算制御装置1は、入力部11と、式変形部12と、取得部13と、決定部14と、実行部15と、暗号処理部16とを備える。
FIG. 1 is a diagram illustrating a functional configuration of a secret calculation control apparatus 1 according to the present embodiment.
The secret calculation control device 1 includes an input unit 11, an expression transformation unit 12, an acquisition unit 13, a determination unit 14, an execution unit 15, and a cryptographic processing unit 16.

入力部11は、ユーザ端末2からの入力として、秘密計算を行う計算式と、この計算式の対象データを受信する。
以下、計算式は、一例として加算及び乗算の組み合わせで表されるものとして説明するが、演算の種類はこれらには限られず、大小比較等、準同型暗号を利用できる演算を組み合わせることができる。
The input unit 11 receives, as an input from the user terminal 2, a calculation formula for performing a secret calculation and target data of the calculation formula.
Hereinafter, the calculation formula will be described as an example of a combination of addition and multiplication. However, the types of operations are not limited to these, and operations that can use homomorphic encryption such as size comparison can be combined.

式変形部12は、入力された計算式を変形し、計算式に含まれる演算の回数に基づき算出される計算コストを減少させて処理効率の最適化を図る。なお、乗算と加算とで各処理に必要な計算コストは同一とは限らず、式変形部12は、計算式全体の計算コストを、予め設定した演算の種類毎の計算コスト比に基づいて算出することとしてもよい。
具体的には、式変形部12は、例えば「ab+ac」という計算式を、「a(b+c)」のように括弧でくくり、乗算の回数を減少させる。また、式変形部12は、乗算と加算との計算コスト比によっては、乗算を加算に置き換える(例えば、2a=a+a)、又は加算を乗算に置き換える等の式変形を行ってもよい。
The expression transformation unit 12 modifies the input calculation formula, and reduces the calculation cost calculated based on the number of operations included in the calculation formula to optimize the processing efficiency. Note that the calculation cost required for each process is not necessarily the same between multiplication and addition, and the equation transformation unit 12 calculates the calculation cost of the entire calculation equation based on a calculation cost ratio for each type of calculation set in advance. It is good to do.
Specifically, the equation transformation unit 12 encloses a calculation equation “ab + ac” in parentheses as “a (b + c)”, for example, to reduce the number of multiplications. Further, the expression modification unit 12 may perform expression modification such as replacing multiplication with addition (for example, 2a = a + a) or replacing addition with multiplication depending on a calculation cost ratio between multiplication and addition.

さらに、式変形部12は、準同型暗号における暗号及び復号の処理回数を減少させるように計算式を変形する。乗法準同型と加法準同型とでは、暗号方式が異なるため、例えば、乗算の結果を加算する場合に、対象データを一旦復号して別の暗号方式によって暗号化する必要がある。したがって、式変形部12は、同種の演算が連続するように計算式を変形し、暗号方式の切り替え回数を減少させる。   Furthermore, the expression modification unit 12 modifies the calculation expression so as to reduce the number of encryption and decryption processes in the homomorphic encryption. Since the encryption method differs between the multiplicative homomorphism and the additive homomorphism, for example, when adding the results of multiplication, it is necessary to decrypt the target data once and encrypt it using another encryption method. Therefore, the formula transformation unit 12 transforms the calculation formula so that the same kind of operations are continued, and reduces the number of times the cryptographic scheme is switched.

取得部13は、準同型暗号を用いた特定の演算を行う複数の演算ノード3それぞれから、この演算ノード3のリソース(処理速度、メモリ容量等)及び演算コスト(演算依頼に対する価格)の情報を取得する。   The acquisition unit 13 obtains information on the resource (processing speed, memory capacity, etc.) and the operation cost (price for the operation request) of the operation node 3 from each of the plurality of operation nodes 3 that perform a specific operation using the homomorphic encryption. get.

決定部14は、リソース及び演算コストの情報に基づいて、計算式を分解した個々の演算を、複数の演算ノード3のいずれに配分するかの計算手順を決定する。
具体的には、決定部14は、ユーザ端末2から指定された時間内に計算結果を得られる計算手順のうち、演算コストの総計が最低となるように計算手順を決定する。通常、高い処理能力(速度)を有する演算ノード3であるほど、演算コスト(価格)は高くなるため、時間の制限を緩めることにより、時間は掛かっても演算コストの低い演算ノード3を選択できる。したがって、決定部14は、指定時間内に総演算時間が収まるように、比較的遅い、すなわち演算コストが低い演算ノード3を選択する。
The determination unit 14 determines a calculation procedure for allocating to each of the plurality of calculation nodes 3 each calculation obtained by decomposing the calculation formula, based on the resource and calculation cost information.
Specifically, the determination unit 14 determines the calculation procedure so that the total calculation cost is the lowest among the calculation procedures that can obtain the calculation result within the time specified by the user terminal 2. In general, the computation node (3) having a higher processing capacity (speed) has a higher computation cost (price). Therefore, the computation node 3 having a low computation cost can be selected even if it takes time by loosening the time limit. . Therefore, the determination unit 14 selects the computation node 3 that is relatively slow, that is, has a low computation cost so that the total computation time is within the specified time.

また、決定部14は、木構造に分解された計算式の出力に近い側の演算から順に、演算ノード3を変更することにより、演算コストを低減させる。
さらに、決定部14は、木構造に分解された計算式の分岐において、全ての枝が同等の計算時間となるように演算ノード3を変更することにより、演算コストを低減させる。
Further, the determination unit 14 reduces the operation cost by changing the operation node 3 in order from the operation closer to the output of the calculation formula decomposed into the tree structure.
Further, the determination unit 14 reduces the operation cost by changing the operation node 3 so that all the branches have the same calculation time in the branch of the calculation formula decomposed into the tree structure.

図2は、本実施形態に係る計算手順の一例を示す模式図である。
この例は、数値A及び数値Bの加算結果と、数値C及び数値Dの加算結果とを乗算し、さらに、数値Eとの加算を行って計算結果を出力する一連の計算手順を示している。
FIG. 2 is a schematic diagram illustrating an example of a calculation procedure according to the present embodiment.
This example shows a series of calculation procedures for multiplying the addition result of the numerical value A and the numerical value B by the addition result of the numerical value C and the numerical value D and further adding the numerical value E to output the calculation result. .

ここで、決定部14は、各演算ノード3のリソース情報に基づいて計算結果出力までの時間を推定するが、処理速度の速い演算ノード3が選択されている場合には、時間の余裕が存在する。
この場合、決定部14は、出力に近い側の演算21から順に、たとえ処理時間が増えるとしても演算コストの低いノードに同一の演算を配分する。これにより、決定部14は、効率的に処理手順の最適化を図ることができる。
Here, the determination unit 14 estimates the time until the calculation result is output based on the resource information of each computation node 3. However, if the computation node 3 having a high processing speed is selected, there is a time margin. To do.
In this case, the determination unit 14 distributes the same calculation in order from the calculation 21 on the side closer to the output to the nodes with low calculation costs even if the processing time increases. Thereby, the determination part 14 can optimize a process procedure efficiently.

また、計算手順が複数の演算(23及び24)に分岐している場合、演算22において一方の演算の処理待ちが生じると、この待ち時間分だけ演算コスト低下の余地がある。したがって、決定部14は、この処理待ちを極力生じさせないように、全ての枝(演算23及び演算24)を、同等の処理時間となるノードに配分する。これにより、決定部14は、効率的に処理手順の最適化を図ることができる。   In addition, when the calculation procedure branches into a plurality of operations (23 and 24), if processing waits for one operation in operation 22, there is room for a reduction in operation cost by this waiting time. Therefore, the determination unit 14 distributes all branches (calculations 23 and 24) to nodes having the same processing time so as not to cause this processing waiting as much as possible. Thereby, the determination part 14 can optimize a process procedure efficiently.

実行部15は、決定された計算手順に従って、複数の演算ノード3を利用して対象データに対する準同型暗号を用いた秘密計算を実行し、計算結果をユーザ端末2へ出力する。
実行部15は、演算ノード3毎に用いられる暗号化方式を識別し、この暗号化方式に従って、暗号処理部16によって演算毎の対象データを暗号化する。連続する演算間で暗号化方式が異なる場合、実行部15は、暗号処理部16によって一旦データを復号した後、新たな暗号化方式によって暗号化する。
The execution unit 15 executes a secret calculation using homomorphic encryption on the target data using the plurality of operation nodes 3 according to the determined calculation procedure, and outputs the calculation result to the user terminal 2.
The execution unit 15 identifies the encryption method used for each computation node 3, and the encryption processing unit 16 encrypts the target data for each computation according to this encryption method. When the encryption method differs between successive operations, the execution unit 15 decrypts the data once by the encryption processing unit 16 and then encrypts the data using a new encryption method.

暗号処理部16は、実行部15の指示に従って、指定された暗号化方式によりデータの暗号化、又は暗号化されたデータの復号を行い、実行部15へ提供する。   The encryption processing unit 16 encrypts data by the designated encryption method or decrypts the encrypted data according to the instruction of the execution unit 15 and provides the encrypted data to the execution unit 15.

図3は、本実施形態に係る秘密計算制御装置1の処理を示すフローチャートである。
ステップS1において、入力部11は、ユーザ端末2から秘密計算を行う計算式及び計算の対象データを受信する。なお、秘密計算制御装置1がユーザに信頼されている場合、対象データは、暗号化されていない平文であってよい。
FIG. 3 is a flowchart showing processing of the secret calculation control apparatus 1 according to the present embodiment.
In step S <b> 1, the input unit 11 receives a calculation formula for performing a secret calculation and target data for calculation from the user terminal 2. When the secret calculation control device 1 is trusted by the user, the target data may be plain text that is not encrypted.

ステップS2において、式変形部12は、入力された計算式を変形し、計算の負荷を最適化するために個々の演算の回数を低減させる。   In step S2, the formula transformation unit 12 transforms the input calculation formula and reduces the number of individual calculations in order to optimize the calculation load.

ステップS3において、決定部14は、各演算ノード3のリソースを選別して最適化するために、指定時間内に計算結果が得られると推定される範囲において、演算コストがより低い演算ノード3を選択して計算手順を決定する。   In step S <b> 3, the determination unit 14 selects an operation node 3 having a lower operation cost within a range where it is estimated that a calculation result is obtained within a specified time in order to select and optimize the resources of each operation node 3. Select to determine the calculation procedure.

ステップS4において、秘密計算制御装置1は、ステップS3で決定された計算手順による推定計算時間及び計算コストをユーザ端末2へ通知してユーザの承認を求め、承認を得たか否かを判定する。この判定がYESの場合、処理はステップS5に移り、判定がNOの場合、処理はステップS3に戻り、ユーザの指示に従って計算手順を調整する。   In step S4, the secret calculation control device 1 notifies the user terminal 2 of the estimated calculation time and calculation cost determined by the calculation procedure determined in step S3, requests user approval, and determines whether approval has been obtained. If this determination is YES, the process proceeds to step S5, and if the determination is NO, the process returns to step S3, and the calculation procedure is adjusted according to a user instruction.

ステップS5において、実行部15は、計算手順における個々の演算を順に選択する。
ステップS6において、実行部15は、選択された演算を依頼する演算ノード3が用いる暗号化方式を識別し、演算対象データに暗号化、又は異なる暗号方式によって再暗号化が必要か否かを判定する。この判定がYESの場合、処理はステップS7に移り、判定がNOの場合、処理はステップS8に移る。
In step S5, the execution unit 15 sequentially selects individual operations in the calculation procedure.
In step S6, the execution unit 15 identifies the encryption method used by the operation node 3 that requests the selected operation, and determines whether the operation target data needs to be encrypted or re-encrypted by a different encryption method. To do. If this determination is YES, the process proceeds to step S7, and if the determination is NO, the process proceeds to step S8.

ステップS7において、暗号処理部16は、演算ノード3の暗号方式に従って、対象データに対して、復号及び暗号化を行う。   In step S <b> 7, the encryption processing unit 16 performs decryption and encryption on the target data according to the encryption method of the operation node 3.

ステップS8において、実行部15は、演算ノード3に暗号化されたデータを送信し、演算依頼を行う。   In step S8, the execution unit 15 transmits the encrypted data to the computation node 3 and makes a computation request.

ステップS9において、実行部15は、計算手順における全ての演算を行い、要求された計算が終了したか否かを判定する。この判定がYESの場合、処理はステップS10に移り、判定がNOの場合、処理はステップS5に移って次の計算手順に進む。   In step S9, the execution unit 15 performs all calculations in the calculation procedure, and determines whether or not the requested calculation has been completed. If this determination is YES, the process proceeds to step S10, and if the determination is NO, the process proceeds to step S5 and proceeds to the next calculation procedure.

ステップS10において、実行部15は、暗号処理部16によって計算結果を復号して、ユーザ端末2へ出力する。   In step S <b> 10, the execution unit 15 decrypts the calculation result by the encryption processing unit 16 and outputs the result to the user terminal 2.

本実施形態によれば、秘密計算制御装置1は、準同型暗号を用いた特定の演算を行う複数の演算ノード3を利用することにより、各演算ノード3で可能な演算を組み合わせて特定の演算に限定されない秘密計算を行える。このとき、秘密計算制御装置1は、演算ノード3のリソース及び演算コストの情報に基づいて、ユーザの要求に適合するように各演算の配分先を決定し、秘密計算を効率的に行える。   According to the present embodiment, the secret computation control device 1 uses a plurality of operation nodes 3 that perform a specific operation using homomorphic encryption, thereby combining specific operations that can be performed at each operation node 3. Secret calculations that are not limited to At this time, the secret calculation control apparatus 1 determines the allocation destination of each calculation so as to match the user's request based on the resource of the calculation node 3 and the calculation cost, and can perform the secret calculation efficiently.

また、秘密計算制御装置1は、計算式を分解した際の演算の回数を減少させるように式変形をすることにより、計算結果を得るまでの計算手順を効率化できる。
さらに、秘密計算制御装置1は、演算の種類によって準同型暗号の暗号方式が異なる場合に、必要に応じて復号及び暗号の処理を繰り返す必要があるが、復号及び暗号の処理回数を減少させるように演算の順序を調整して計算式を変形するので、処理負荷を低減して効率的に秘密計算を行える。
Moreover, the secret calculation control apparatus 1 can improve the efficiency of the calculation procedure until obtaining the calculation result by modifying the expression so as to reduce the number of operations when the calculation expression is decomposed.
Furthermore, the secret computation control apparatus 1 needs to repeat the decryption and encryption processes as necessary when the encryption scheme of the homomorphic encryption differs depending on the type of operation. However, the secret calculation control apparatus 1 reduces the number of decryption and encryption processes. Since the calculation formula is modified by adjusting the order of operations, secret processing can be efficiently performed while reducing the processing load.

さらに、秘密計算制御装置1は、演算コストの総計(例えば、計算結果を得るための価格)が低くなるように計算手順を調整するので、ユーザにより指定された時間内に、より低コストで計算結果を提供できる。
このとき、秘密計算制御装置1は、木構造に分解された計算式の出力に近い側の演算から順に、低コストの演算ノード3に変更し、分岐においては、全ての枝が同等の計算時間となるように演算ノード3を変更する。秘密計算制御装置1は、これらの調整方法により効率的に演算コストを低減し、ユーザの要求に適合した秘密計算を行える。
Furthermore, since the secret calculation control device 1 adjusts the calculation procedure so that the total calculation cost (for example, the price for obtaining the calculation result) is low, the calculation is performed at a lower cost within the time specified by the user. Can provide results.
At this time, the secret calculation control device 1 changes the calculation node 3 to the low-cost calculation node 3 in order from the calculation closer to the output of the calculation formula decomposed into a tree structure. The operation node 3 is changed so that The secret calculation control device 1 can efficiently reduce the calculation cost by these adjustment methods, and can perform the secret calculation suitable for the user's request.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。   As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. Further, the effects described in the present embodiment are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the present embodiment.

本実施形態では、秘密計算制御装置1は、ユーザ端末2から計算の対象データを平文のまま受け付けることとしたが、ユーザが秘密計算制御装置1に対しても元データを提供したくない等の場合には、暗号化されたデータが入力されてもよい。
このとき、実行部15は、個々の演算のための暗号方式が異なる場合、これら演算毎の暗号方式をユーザ端末2に通知し、この暗号方式により暗号化された演算対象のデータを取得する。これにより、ユーザは、秘密計算制御装置1に対しても計算の対象データを秘匿したまま計算結果を得られる。
In this embodiment, the secret calculation control device 1 accepts calculation target data from the user terminal 2 as plain text. However, the user does not want to provide original data to the secret calculation control device 1 or the like. In some cases, encrypted data may be input.
At this time, when the encryption method for each calculation is different, the execution unit 15 notifies the user terminal 2 of the encryption method for each operation, and acquires the calculation target data encrypted by this encryption method. Thereby, the user can obtain the calculation result while keeping the calculation target data secret from the secret calculation control device 1.

また、本実施形態では、全ての演算ノード3は準同型暗号に対応し、秘密計算制御装置1は、計算手順における全ての演算を暗号化したデータに対して行うように演算ノード3へ配分したが、これには限られない。決定部14は、対象データのそれぞれに対して所定回数以上の演算を行った以降の計算手順において、準同型暗号を用いない演算コストの低い演算ノードに演算を配分してもよい。
計算手順の途中であっても、元データに対して何らかの演算が行われれば秘密情報ではなくなる場合がある。例えば、平均を求める計算において、最後の割り算の直前の加算が終了したデータは、もはや秘密ではないと考えられる。したがって、秘密計算制御装置1は、例えば計算式を分解した木構造の所定の階層以降について、暗号処理を行わず、演算コストの低い演算ノードを用いることにより効率的に計算結果を得られる。
Moreover, in this embodiment, all the operation nodes 3 respond | correspond to a homomorphic encryption, and the secret calculation control apparatus 1 distributed to the operation nodes 3 so that all the calculations in a calculation procedure might be performed with respect to the encrypted data. However, it is not limited to this. The determination unit 14 may distribute the calculation to calculation nodes having a low calculation cost that does not use the homomorphic encryption in a calculation procedure after the calculation is performed a predetermined number of times or more on each of the target data.
Even during the calculation procedure, if some calculation is performed on the original data, it may not be secret information. For example, in the calculation for obtaining the average, the data for which the addition immediately before the last division is completed is considered to be no longer secret. Therefore, for example, the secret calculation control apparatus 1 can obtain a calculation result efficiently by using an operation node with a low operation cost without performing cryptographic processing for a predetermined hierarchy of a tree structure obtained by decomposing the calculation formula.

秘密計算制御装置1による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(秘密計算制御装置1)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(秘密計算制御装置1)に提供されてもよい。   The control method by the secret calculation control device 1 is realized by software. When realized by software, a program constituting the software is installed in the information processing apparatus (secret calculation control apparatus 1). These programs may be recorded on a removable medium such as a CD-ROM and distributed to the user, or may be distributed by being downloaded to the user's computer via a network. Furthermore, these programs may be provided to the user's computer (the secret calculation control device 1) as a Web service via a network without being downloaded.

1 秘密計算制御装置
11 入力部
12 式変形部
13 取得部
14 決定部
15 実行部
16 暗号処理部
DESCRIPTION OF SYMBOLS 1 Secret calculation control apparatus 11 Input part 12 Formula transformation part 13 Acquisition part 14 Determination part 15 Execution part 16 Cryptographic process part

Claims (10)

計算式及び当該計算式の対象データを入力する入力部と、
準同型暗号を用いた特定の演算を行う複数の演算ノードから、当該演算ノードのリソース及び演算コストの情報を取得する取得部と、
前記リソース及び演算コストの情報に基づいて、前記計算式を分解した個々の演算を、前記複数の演算ノードのいずれに配分するかの計算手順を決定する決定部と、
前記決定された計算手順に従って、前記複数の演算ノードを利用して前記対象データに対する準同型暗号を用いた秘密計算を実行し、計算結果を出力する実行部と、を備える秘密計算制御装置。
An input unit for inputting a calculation formula and target data of the calculation formula;
An acquisition unit that acquires information on resources and calculation costs of the calculation node from a plurality of calculation nodes that perform a specific calculation using homomorphic encryption,
A determination unit that determines a calculation procedure for allocating each operation obtained by decomposing the calculation formula to which of the plurality of operation nodes based on the information of the resource and the operation cost;
A secret calculation control device comprising: an execution unit that executes a secret calculation using homomorphic encryption for the target data using the plurality of operation nodes according to the determined calculation procedure, and outputs a calculation result.
前記計算式を変形し、当該変形後の計算式に含まれる演算の回数に基づき算出される計算コストを減少させる式変形部を備え、
前記決定部は、前記変形後の計算式の計算手順を決定する請求項1に記載の秘密計算制御装置。
The equation is modified to reduce the calculation cost calculated based on the number of operations included in the equation after the transformation,
The secret calculation control apparatus according to claim 1, wherein the determination unit determines a calculation procedure of the calculation formula after the transformation.
前記式変形部は、前記準同型暗号における暗号及び復号の処理回数を減少させるように前記計算式を変形する請求項2に記載の秘密計算制御装置。   The secret calculation control apparatus according to claim 2, wherein the formula changing unit changes the calculation formula so as to reduce the number of encryption and decryption processes in the homomorphic encryption. 前記決定部は、指定時間内に前記計算結果を得られる計算手順のうち、前記演算コストの総計が最低となるように前記計算手順を決定する請求項1から請求項3のいずれかに記載の秘密計算制御装置。   The said determination part determines the said calculation procedure so that the total of the said calculation cost may become the minimum among the calculation procedures which can obtain the said calculation result within designation | designated time. Secret calculation control device. 前記決定部は、木構造に分解された計算式の出力に近い側の演算から順に、演算ノードを変更することにより、前記演算コストを低減させる請求項4に記載の秘密計算制御装置。   The secret calculation control apparatus according to claim 4, wherein the determination unit reduces the calculation cost by changing operation nodes in order from an operation closer to an output of a calculation formula decomposed into a tree structure. 前記決定部は、前記木構造に分解された計算式の分岐において、全ての枝が同等の計算時間となるように演算ノードを変更することにより、前記演算コストを低減させる請求項請求項5に記載の秘密計算制御装置。   The said determination part reduces the said calculation cost by changing a calculation node so that all the branches may become equivalent calculation time in the branch of the calculation formula decomposed | disassembled into the said tree structure. The secret calculation control device described. 前記実行部は、前記個々の演算のための暗号方式が異なる場合、当該演算毎の暗号方式を通知し、当該暗号方式により暗号化された演算対象のデータを取得する請求項1から請求項6のいずれかに記載の秘密計算制御装置。   The said execution part notifies the encryption system for every said calculation, and the data of the calculation object encrypted by the said encryption system are acquired when the encryption system for each said calculation differs. The secret calculation control device according to any one of the above. 前記決定部は、前記対象データのそれぞれに対して所定回数以上の演算を行った以降の計算手順において、前記複数の演算ノードとは異なる前記準同型暗号を用いない演算ノードに演算を配分する請求項1から請求項7のいずれかに記載の秘密計算制御装置。   The determination unit distributes operations to operation nodes that do not use the homomorphic encryption different from the plurality of operation nodes in a calculation procedure after performing a predetermined number of operations on each of the target data. The secret calculation control device according to any one of claims 1 to 7. 計算式及び当該計算式の対象データを入力する入力ステップと、
準同型暗号を用いた特定の演算を行う複数の演算ノードから、当該演算ノードのリソース及び演算コストの情報を取得する取得ステップと、
前記リソース及び演算コストの情報に基づいて、前記計算式を分解した個々の演算を、前記複数の演算ノードのいずれに配分するかの計算手順を決定する決定ステップと、
前記決定された計算手順に従って、前記複数の演算ノードを利用して前記対象データに対する準同型暗号を用いた秘密計算を実行し、計算結果を出力する実行ステップと、をコンピュータの制御部が実行する秘密計算制御方法。
An input step for inputting a calculation formula and target data of the calculation formula; and
An acquisition step of acquiring resource and calculation cost information of the calculation node from a plurality of calculation nodes performing a specific calculation using homomorphic encryption,
A determination step for determining a calculation procedure for allocating each operation obtained by decomposing the calculation formula to which of the plurality of operation nodes based on the information of the resource and the operation cost;
In accordance with the determined calculation procedure, a computer control unit executes an execution step of executing a secret calculation using homomorphic encryption for the target data using the plurality of operation nodes and outputting a calculation result Secret calculation control method.
請求項9に記載の秘密計算制御方法の各ステップを前記コンピュータに実行させるための秘密計算制御プログラム。   A secret calculation control program for causing a computer to execute each step of the secret calculation control method according to claim 9.
JP2015011236A 2015-01-23 2015-01-23 Secret calculation control device, secret calculation control method, and secret calculation control program Active JP6370230B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015011236A JP6370230B2 (en) 2015-01-23 2015-01-23 Secret calculation control device, secret calculation control method, and secret calculation control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015011236A JP6370230B2 (en) 2015-01-23 2015-01-23 Secret calculation control device, secret calculation control method, and secret calculation control program

Publications (2)

Publication Number Publication Date
JP2016136190A JP2016136190A (en) 2016-07-28
JP6370230B2 true JP6370230B2 (en) 2018-08-08

Family

ID=56512563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015011236A Active JP6370230B2 (en) 2015-01-23 2015-01-23 Secret calculation control device, secret calculation control method, and secret calculation control program

Country Status (1)

Country Link
JP (1) JP6370230B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019006051T5 (en) 2019-01-09 2021-09-30 Mitsubishi Electric Corporation SECURE COMPUTING SETUP AND CLIENT SETUP
CN113660076A (en) * 2021-07-15 2021-11-16 南京大学 Homomorphic encryption system based on reconfigurable technology and homomorphic encryption execution method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5504504B2 (en) * 2010-09-24 2014-05-28 独立行政法人情報通信研究機構 System for performing arithmetic processing related to resource allocation and method for determining resource allocation
US9111071B2 (en) * 2012-11-05 2015-08-18 Sap Se Expression rewriting for secure computation optimization
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
JP6141091B2 (en) * 2013-04-25 2017-06-07 キヤノン株式会社 Information processing apparatus, information processing method, server apparatus, program, and recording medium

Also Published As

Publication number Publication date
JP2016136190A (en) 2016-07-28

Similar Documents

Publication Publication Date Title
US11451370B2 (en) Secure probabilistic analytics using an encrypted analytics matrix
US10970402B2 (en) Distributed learning preserving model security
CN111898137A (en) Private data processing method, equipment and system for federated learning
CN109190341A (en) A kind of login management system and method
JP6370230B2 (en) Secret calculation control device, secret calculation control method, and secret calculation control program
US10511434B2 (en) Method and encryption node for encrypting message
US11704150B2 (en) Systems and methods for dynamic job performance in secure multiparty computation
CN116070240B (en) Data encryption processing method and device of multi-chip calling mechanism
CN110674526B (en) Asynchronous encryption realization method, device, equipment and readable storage medium
US10333699B1 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US10615961B2 (en) Method and encryption node for encrypting message
KR101925614B1 (en) Method for processing scalar multiplication in elliptic curve cryptosystem, and elliptic curve cryptosystem
KR101827540B1 (en) Apparatus for processing packet and method thereof
JP6057725B2 (en) Information processing device
Janratchakool et al. Finding the optimal value for threshold cryptography on cloud computing
Lupascu et al. Acceleration techniques for fully-homomorphic encryption schemes
EP3391264B1 (en) Calculating device and method
Thakkar et al. An Analysis of Elliptic Curve Cryptography Secret Keys For Use In Cloud Workload Balancing And Security Provisioning
JP2019040047A (en) Computation system, computation method and computation program
CN112818338B (en) Program running method and system
KR101954306B1 (en) Apparatus for processing packet and method thereof
JP6916596B2 (en) Arithmetic system, arithmetic method and arithmetic program
Verma et al. Cloud storage–optimization of initial phase for privacy-preserving public auditing
Prakash et al. Data verification using block level batch auditing on multi-cloud server
JP2024047165A (en) Policy violation detection device, policy violation detection method, and policy violation detection program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180517

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: 20180619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180710

R150 Certificate of patent or registration of utility model

Ref document number: 6370230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150