JP6916770B2 - 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム - Google Patents

秘匿計算装置、秘匿計算方法及び秘匿計算プログラム Download PDF

Info

Publication number
JP6916770B2
JP6916770B2 JP2018181909A JP2018181909A JP6916770B2 JP 6916770 B2 JP6916770 B2 JP 6916770B2 JP 2018181909 A JP2018181909 A JP 2018181909A JP 2018181909 A JP2018181909 A JP 2018181909A JP 6916770 B2 JP6916770 B2 JP 6916770B2
Authority
JP
Japan
Prior art keywords
variable
ciphertext
calculation
polynomial
function
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
JP2018181909A
Other languages
English (en)
Other versions
JP2020053860A (ja
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 JP2018181909A priority Critical patent/JP6916770B2/ja
Publication of JP2020053860A publication Critical patent/JP2020053860A/ja
Application granted granted Critical
Publication of JP6916770B2 publication Critical patent/JP6916770B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、2変数関数の秘匿計算装置、秘匿計算方法及び秘匿計算プログラムに関する。
従来、完全準同型暗号方式により暗号化したまま平文の計算を行う秘密計算の手法が提案されている。
例えば、非特許文献1〜4では、入力の整数がビット値に変換された状態、つまり平文がビット値の場合(以下、Bit−wiseと表現する)の四則演算アルゴリズム(秘匿加算、秘匿減算、秘匿乗算、秘匿除算)が提案されている(例えば、非特許文献1〜3参照)。
また、非特許文献5では、入力の整数がビット値に変換されず、つまり平文が整数値の場合(以下、Integer−wiseと表現する)の2値比較演算のアルゴリズムが提案されている。
Yao Chen and Guang Gong. Integer arithmetic over ciphertext and homomorphic data aggregation. In 2015 IEEE Conference on Communications and Network Security (CNS), pages 628−632, Sept 2015. Chen Xu, Jingwei Chen, Wenyuan Wu, and Yong Feng. Homomorphically encrypted arithmetic operations over the integer ring. In Feng Bao, Liqun Chen, Robert H. Deng, and Guojun Wang, editors, Information Security Practice and Experience, pages 167−181, Cham, 2016. Springer International Publishing. Jingwei Chen, Yong Feng, Yang Liu, and Wenyuan Wu. Faster binary arithmetic operations on encrypted integers. In the 7th International Workshop on Computer Science and Engineering, 2017. Morten Dahl, Chao Ning, and Tomas Toft. On secure two−party integer division. In Angelos D. Keromytis, editor, Financial Cryptography and Data Security, pages 164−178, Berlin, Heidelberg, 2012. Springer Berlin Heidelberg. H. Narumanchi, D. Goyal, N. Emmadi, and P. Gauravaram. Performance analysis of sorting of the data: Integer−wise comparison vs bit−wise comparison. In 2017 IEEE 31st International Conference on Advanced Information Networking and Applications (AINA), pages 902−908, March 2017.
ところで、Integer−wiseの秘匿計算は、入力の整数を2進数のビット毎に暗号化する必要がないため、暗号化の回数がBit−wiseに比べて少なく有利となる。また、例えばBit−wiseの加減算は、2進数演算における繰り上げの処理等、完全準同型暗号において処理速度のネックとなる乗算を用いた処理が必要になる。一方、Integer−wiseの加減算では、乗算を用いることなく暗号文同士を足し合わせることができるため高速である。
このように、Integer−wiseでの秘匿計算が望まれる一方で、次のような課題が存在する。
例えば、非特許文献5において、Integer−wiseの2値比較演算のアルゴリズムが提案されているが、計算量及び乗算回路の深さのために、Bit−wiseでの演算に比べて低速である。
また、除算は、2値比較演算をサブモジュールとし、2値比較と減算とを繰り返すことで実現可能だが、2値比較を繰り返すことで、さらに低速となっていた。完全準同型暗号でのInteger−wiseの高速な除算アルゴリズムは提案されていなかった。
さらに、任意の2変数関数に適用できるInteger−wiseの秘匿計算アルゴリズムは提案されていなかった。
本発明は、2変数関数の秘匿計算を汎用的に行える秘匿計算装置、秘匿計算方法及び秘匿計算プログラムを提供することを目的とする。
本発明に係る秘匿計算装置は、平文の空間内で、第1変数及び第2変数を入力とする2変数関数における第2変数を定数に固定したときの、第1変数に応じた関数値を多項式補間により定義した第1多項式の係数を、前記第2変数それぞれについて記憶する第1記憶部と、前記第1変数の値及び前記第2変数の値をそれぞれ準同型暗号方式により暗号化した、第1暗号文及び第2暗号文の入力を受け付ける入力部と、前記準同型暗号方式による暗号文の空間内で、前記第1暗号文の冪乗を計算する秘匿冪乗演算部と、前記第2変数を前記定数に固定し、前記第1多項式の係数と前記第1暗号文の冪乗との内積により、前記第1多項式の値を算出する秘匿関数演算部と、前記第2暗号文の暗号化前の平文と前記定数とが異なる場合に0となる判定値を暗号文で算出する秘匿等号演算部と、前記定数毎の前記秘匿関数演算部による算出結果、及び前記秘匿等号演算部による算出結果の積を総和することにより、前記第1暗号文及び前記第2暗号文を入力とした前記2変数関数の値を出力する出力部と、を備える。
前記秘匿計算装置は、変数が前記定数と等しい場合に1となり、異なる場合に0となる関数を多項式補間により定義した第2多項式の係数を記憶する第2記憶部を備え、秘匿等号演算部は、前記第2多項式の係数と前記第1暗号文の冪乗との内積により、前記第2多項式の値を、前記判定値の暗号文として算出してもよい。
前記2変数関数は、前記第1変数を被除数、前記第2変数を除数とする除算であってもよい。
本発明に係る秘匿計算方法は、平文の空間内で、第1変数及び第2変数を入力とする2変数関数における第2変数を定数に固定したときの、第1変数に応じた関数値を多項式補間により定義した第1多項式の係数を、前記第2変数それぞれについて記憶する第1記憶ステップと、前記第1変数の値及び前記第2変数の値をそれぞれ準同型暗号方式により暗号化した、第1暗号文及び第2暗号文の入力を受け付ける入力ステップと、前記準同型暗号方式による暗号文の空間内で、前記第1暗号文の冪乗を計算する秘匿冪乗演算ステップと、前記第2変数を前記定数に固定し、前記第1多項式の係数と前記第1暗号文の冪乗との内積により、前記第1多項式の値を算出する秘匿関数演算ステップと、前記第2暗号文の暗号化前の平文と前記定数とが異なる場合に0となる判定値を暗号文で算出する秘匿等号演算ステップと、前記定数毎の前記秘匿関数演算ステップにおける算出結果、及び前記秘匿等号演算ステップにおける算出結果の積を総和することにより、前記第1暗号文及び前記第2暗号文を入力とした前記2変数関数の値を出力する出力ステップと、をコンピュータが実行する。
本発明に係る秘匿計算プログラムは、前記秘匿計算装置としてコンピュータを機能させるためのものである。
本発明によれば、2変数関数の秘匿計算を汎用的に行える。
実施形態に係る秘匿計算装置の機能構成を示すブロック図である。 実施形態に係る秘匿冪乗演算のアルゴリズムを示す図である。 実施形態に係る秘匿定数除算演算のアルゴリズムを示す図である。 実施形態に係る秘匿定数等号演算のアルゴリズムを示す図である。 実施形態に係る秘匿除算演算のアルゴリズムを示す図である。 実施形態に係る秘匿定数関数演算のアルゴリズムを示す図である。 実施形態に係る秘匿2変数関数演算のアルゴリズムを示す図である。 実施形態に係る秘匿除算演算の実行速度を、従来の秘匿除算演算の実行速度と比較した実験結果である。
以下、本発明の実施形態の一例について説明する。
図1は、本実施形態に係る秘匿計算装置1の機能構成を示すブロック図である。
秘匿計算装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
制御部10は、秘匿計算装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
記憶部20は、ハードウェア群を秘匿計算装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)等であってよい。具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(秘匿計算プログラム)及び実行途中のデータを記憶する。
さらに、記憶部20は、素数pを法とする平文の空間Z内で、第1変数及び第2変数を入力とする2変数関数gにおける第2変数を定数に固定したときの、第1変数に応じた関数値を多項式補間により定義した第1多項式の係数ベクトルを、第2変数それぞれについて記憶する。
また、記憶部20は、平文の空間Z内で、ある変数が定数と等しい場合に1となり、異なる場合に0となる関数を多項式補間により定義した第2多項式の係数ベクトルを記憶する。
制御部10は、入力部11と、秘匿冪乗演算部12と、秘匿関数演算部13と、秘匿等号演算部14と、出力部15とを備える。
入力部11は、2変数関数gにおける第1変数の値a及び第2変数の値bをそれぞれ準同型暗号方式により暗号化した、第1暗号文C及び第2暗号文Cの入力を受け付ける。
秘匿冪乗演算部12は、準同型暗号方式による暗号文の空間内で、第1暗号文Cの冪乗(C,C ,C ,・・・,C p−1)を計算する。
秘匿関数演算部13は、第2変数を定数に固定し、記憶部20に予め記憶された第1多項式の係数ベクトルと、第1暗号文Cの冪乗を並べたベクトルとの内積により、第1多項式の値を算出する。
秘匿等号演算部14は、第2暗号文Cの暗号化前の平文bと定数とが異なる場合に0となる判定値を暗号文で算出する。
具体的には、秘匿等号演算部14は、記憶部20に予め記憶された第2多項式の係数ベクトルと、第1暗号文Cの冪乗を並べたベクトルとの内積により、第2多項式の値を、判定値の暗号文として算出する。
出力部15は、定数毎の秘匿関数演算部13による算出結果、及び秘匿等号演算部14による算出結果の積を総和することにより、第1暗号C文及び第2暗号文Cを入力とした2変数関数の値g(C,C)を出力する。
以下、本実施形態に係るInteger−wiseの秘匿計算方法の手順を詳述する。まず、具体例として秘匿除算アルゴリズムを示し、次に任意の2変数関数に一般化した秘匿演算アルゴリズムを示す。
ここで、pを素数、平文の空間をZ、暗号文の空間を多項式環Rとする。また、平文a∈Zを完全準同型暗号方式により暗号化した暗号文をCとする。
[秘匿除算アルゴリズム]
2変数のうち第1変数を被除数、第2変数を除数とする除算を実施するInteger−wiseの秘匿演算アルゴリズムを例示する。
図2は、本実施形態に係る秘匿除算アルゴリズムを構成するサブモジュールの1つである秘匿冪乗演算Pows(C)のアルゴリズム(Algorithm 1)を示す図である。
秘匿冪乗演算Pows(C)は、秘匿冪乗演算部12により実行され、第1変数aの暗号文Cを引数とし、Cの冪乗を、暗号文同士の乗算を用いて全て計算し、冪乗ベクトルC pow:=(C,C ,C ,・・・,C p−1)を返す。
このとき、乗算の深さはO(log(p))に抑えられる。例えば、p=17の場合、C =C*C,C =C *C ,C =C *C ,C 16=C *C のように計算でき、乗算の深さは、log(16)=4である。
図3は、本実施形態に係る秘匿除算アルゴリズムを構成するサブモジュールの1つである秘匿定数除算演算ConstDiv(C pow,d)のアルゴリズム(Algorithm 2)を示す図である。
秘匿定数除算演算ConstDiv(C pow,d)は、秘匿関数演算部13により実行され、第1変数aの暗号文Cの冪乗ベクトルC pow、及び定数の平文dを引数とし、[a/d]の暗号文であるC[a/d]を返す。ただし、[x]は、xを超えない最大の整数とする。
まず、事前計算として、f(x)=[x/d]となる多項式f(x):Z→Zが、多項式補間により求められ、記憶部20(第1記憶部)に多項式の係数が記憶される(ステップ1)。
例えば、p=7、d=2のとき、f(0)=0,f(1)=0,f(2)=1,f(3)=1,f(4)=2,f(5)=2,f(6)=3となる多項式f(x)は、
(x)=−2x+3x+x−2x mod p
と求められる。これにより、係数の組{−2,0,3,0,1,−2}がd=2と対応付けて記憶される。同様に、1≦d<pの各dについて、それぞれ係数の組が事前に記憶される。
すると、秘匿関数演算部13は、a/dの暗号文C[a/d]を、次のようにベクトルの内積により計算する(ステップ2)。
[a/d]=f(C)=afd・C pow mod p
ただし、afdはf(x)の係数を要素とするベクトルである。
図4は、本実施形態に係る秘匿除算アルゴリズムを構成するサブモジュールの1つである秘匿定数等号演算ConstEq(C pow,b)のアルゴリズム(Algorithm 3)を示す図である。
秘匿定数等号演算ConstEq(C pow,y)は、秘匿等号演算部14により実行され、第1変数aの暗号文Cの冪乗ベクトルC pow、及び定数の平文yを引数とし、条件式(a=y)の値(例えば、TRUE=1、FALSE=0)の暗号文であるC(a=y)を返す。
まず、事前計算として、x=yのときf(x)=1、x≠yのときf(x)=0となる多項式f(x):Z→Zが、多項式補間により求められ、記憶部20(第2記憶部)に多項式の係数が記憶される(ステップ1)。
例えば、p=7、y=3のとき、f(0)=0,f(1)=0,f(2)=0,f(3)=1,f(4)=0,f(5)=0,f(6)=0となる多項式f(x)が求められる。これにより、求められた係数の組がy=3と対応付けて記憶される。同様に、0≦y<pの各yについて、それぞれ係数の組が事前に記憶される。
すると、秘匿等号演算部14は、条件式(a=y)の暗号文C(a=y)を、次のようにベクトルの内積により計算する(ステップ2)。
(a=y)=f(C)=afy・C pow mod p
ただし、afyはf(x)の係数を要素とするベクトルである。
図5は、本実施形態に係る秘匿除算演算Div(C,C)のアルゴリズム(Algorithm 4)を示す図である。
秘匿除算演算Div(C,C)は、第1変数aの暗号文C、及び第2変数dの暗号文Cを引数とし、[a/d]の暗号文であるC[a/d]を返す。
秘匿除算演算Div(C,C)は、前述の3つのサブモジュールPows(C)、ConstDiv(C pow,d)、ConstEq(C pow,y)を用いて構成される。
ステップ1において、制御部10は、内部変数Csumを0に初期化する。
ステップ2において、制御部10(秘匿冪乗演算部12)は、Pows(C)により、引数のCについて、1〜p−1を冪指数とする冪乗値からなるベクトルC powを算出する。
ステップ3において、制御部10(秘匿冪乗演算部12)は、Pows(C)により、引数のCについて、1〜p−1を冪指数とする冪乗値からなるベクトルC powを算出する。
ステップ4において、制御部10は、インデックスiを1からp−1までカウントアップしつつ、後続のステップ5〜7を繰り返すループ処理を行う。
ステップ5において、制御部10(秘匿関数演算部13)は、iを定数として、C[a/i]=ConstDiv(C pow,i)を計算する。
ステップ6において、制御部10(秘匿等号演算部14)は、iを定数として、C(d=i)=ConstEq(C pow,i)を計算する。
ステップ7において、制御部10(出力部15)は、C[a/i]とC(d=i)との積をCsumに足し合わせる。
なお、C[a/i]*C(d=i)は、i=dのときC[a/d]となり、i≠dのときCとなる。
ステップ8においてループが終了すると、CsumにC[a/i]とC(d=i)との積が総和される。
ステップ9において、制御部10(出力部15)は、結果として得られたC[a/d]=Csumを出力する。
[秘匿2変数関数演算アルゴリズム]
前述の除算を含む任意の2変数関数を計算するInteger−wiseの秘匿演算アルゴリズムを例示する。
図6は、本実施形態に係る秘匿2変数関数演算アルゴリズムを構成するサブモジュールである秘匿定数関数演算ConstFunc(C pow,y,g(・,・))のアルゴリズム(Algorithm 5)を示す図である。
秘匿定数関数演算ConstFunc(C pow,y,g(・,・))は、秘匿関数演算部13により実行され、第1変数aの暗号文Cの冪乗ベクトルC pow、及び定数の平文yを引数とし、2変数関数の第2変数をyに固定した1変数関数g(a,y)の暗号文であるC(a,y)=g(C,y)を返す。
まず、事前計算として、f(x)=g(x,y)となる多項式f(x):Z×Z→Zが、多項式補間により求められ、記憶部20(第1記憶部)に多項式の係数が記憶される(ステップ1)。
具体的には、f(0)=g(0,y),f(1)=g(1,y),・・・,f(p−1)=g(p−1,y)が与えられると、f(x)が多項式補間により、「f(x)=a{1,y}・x+a{2,y}・x+・・・+a{p−1,y}・xp−1 mod p」と求められる。
これにより、係数の組{a{1,y},a{2,y},・・・,a{p−1,y}}がy(0≦y<p)と対応付けて記憶される。
すると、秘匿関数演算部13は、g(a,y)の暗号文Cg(a,y)を、次のようにベクトルの内積により計算する(ステップ2)。
g(a,y)=f(C)=afy・C pow mod p
ただし、afyはf(x)の係数を要素とするベクトル{a{1,y},a{2,y},・・・,a{p−1,y}}である。
図7は、本実施形態に係る秘匿2変数関数演算Func(C,C,g(・,・))のアルゴリズム(Algorithm 6)を示す図である。
秘匿2変数関数演算Func(C,C)は、第1変数aの暗号文C、及び第2変数bの暗号文Cを引数とし、g(a,b)の暗号文であるCg(a,b)=g(C,C)を返す。
秘匿2変数関数演算Func(C,C)は、前述の3つのサブモジュールPows(C)、ConstFunc(C pow,y,g)、ConstEq(C pow,y)を用いて構成される。
ステップ1において、制御部10は、内部変数Csumを0に初期化する。
ステップ2において、制御部10(秘匿冪乗演算部12)は、Pows(C)により、引数のCについて、1〜p−1を冪指数とする冪乗値からなるベクトルC powを算出する。
ステップ3において、制御部10(秘匿冪乗演算部12)は、Pows(C)により、引数のCについて、1〜p−1を冪指数とする冪乗値からなるベクトルC powを算出する。
ステップ4において、制御部10は、インデックスiを0からp−1までカウントアップしつつ、後続のステップ5〜7を繰り返すループ処理を行う。
ステップ5において、制御部10(秘匿関数演算部13)は、iを定数として、Cg(a,i)=ConstFunc(C pow,i,g)を計算する。
ステップ6において、制御部10(秘匿等号演算部14)は、iを定数として、C(b=i)=ConstEq(C pow,i)を計算する。
ステップ7において、制御部10(出力部15)は、Cg(a,i)とC(b=i)との積をCsumに足し合わせる。
なお、Cg(a,i)*C(b=i)は、i=bのときCg(a,b)となり、i≠bのときCとなる。
ステップ8においてループが終了すると、CsumにCg(a,i)とC(b=i)との積が総和される。
ステップ9において、制御部10(出力部15)は、結果として得られたCg(a,b)=Csumを出力する。
本実施形態によれば、秘匿計算装置1は、任意の2変数関数について、第2変数を固定した場合の1変数関数を、多項式補間を用いてf(x)=ax+a+・・・+ap−1p−1と表現する。秘匿計算装置1は、この多項式の係数と引数の冪乗とを用いた秘匿定数関数演算ConstFunc、及び秘匿定数等号演算ConstEqにより、任意の2変数関数の秘匿計算を汎用的に実現できる。
多項式の秘匿計算では、暗号文同士の乗算の深さ(Multiplicative Depth)はO(log(p))となり、秘匿定数関数演算ConstFunc及び秘匿定数等号演算ConstEqにおける乗算の深さはO(log(p))である。
つまり、秘匿計算装置1は、任意の2変数関数の秘匿計算を行うが、暗号文同士の乗算の深さはConstFuncの乗算の深さ+ConstEqの乗算の深さで、高々O(log(p))に抑えられる。
また、秘匿計算装置1は、秘匿冪乗演算Powsによって、引数である暗号文の冪乗ベクトルを一度計算すると、このベクトルを再利用することで、暗号文同士の乗算の回数が抑制される。
秘匿計算においては、暗号文同士の乗算の深さにより実行速度が大きく変動するため、秘匿計算装置1は、Integer−wiseでの2変数関数の秘匿計算を高速に行うことができる。
特に、秘匿計算装置1は、Integer−wiseの秘匿除算演算を、従来に比べて高速に実現できる。
これにより、秘匿計算装置1は、除算を含む種々の秘匿計算、例えば、秘匿平均値計算又は秘匿機械学習等を高速に実現できる。
図8は、本実施形態に係るInteger−wiseの秘匿除算演算の実行速度を、従来のBit−wiseの秘匿除算演算の実行速度と比較した実験結果である。
4ビットの入力に対して、従来手法1〜3(非特許文献1〜3)では、それぞれ67.94秒、14.63秒、7.74秒の実行時間が掛かった。
一方、本実施形態の提案手法(秘匿除算演算Div)では、実行時間が3.44秒に短縮された。
また、秘匿計算装置1は、例えば、秘匿2値比較の演算についても、2変数関数g(x,y)=(x≧y)を、定数y毎に多項式補間により多項式で表すことで実現できる。なお、条件式(x≧y)は、例えばx≧yのとき1、x<yのとき0となる。
従来のアルゴリズム(非特許文献5)では、引数がZのとき、平文空間をこの2倍の大きさのZ2pとする必要があったが、本実施形態では、引数と同じZで実施できるため、計算の効率化が期待できる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
秘匿計算装置1による秘匿計算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 秘匿計算装置
10 制御部
11 入力部
12 秘匿冪乗演算部
13 秘匿関数演算部
14 秘匿等号演算部
15 出力部
20 記憶部(第1記憶部、第2記憶部)

Claims (4)

  1. 素数pを法とする平文の空間内で、第1変数及び第2変数を入力とする2変数関数における第2変数を定数に固定したときの、第1変数に応じた関数値を多項式補間により定義したp−1次の第1多項式の係数を、前記第2変数それぞれについて記憶する第1記憶部と、
    前記第2変数が前記定数と等しい場合に1となり、異なる場合に0となる関数を多項式補間により定義したp−1次の第2多項式の係数を記憶する第2記憶部と
    前記第1変数の値及び前記第2変数の値をそれぞれ準同型暗号方式により暗号化した、第1暗号文及び第2暗号文の入力を受け付ける入力部と、
    前記準同型暗号方式による暗号文の空間内で、前記第1暗号文のp−1次までの冪乗を計算する秘匿冪乗演算部と、
    前記第2変数を前記定数に固定し、前記第1多項式の係数ベクトルと前記第1暗号文の冪乗を並べたベクトルとの内積により、前記第1多項式の値を算出する秘匿関数演算部と、
    前記第2多項式の係数ベクトルと前記第1暗号文の冪乗を並べたベクトルとの内積により、前記第2多項式の値を、前記第2暗号文の暗号化前の平文と前記定数とが異なる場合に0となる判定値暗号文として算出する秘匿等号演算部と、
    前記定数毎の前記秘匿関数演算部による算出結果、及び前記秘匿等号演算部による算出結果の積を総和することにより、前記第1暗号文及び前記第2暗号文を入力とした前記2変数関数の値を出力する出力部と、を備える秘匿計算装置。
  2. 前記2変数関数は、前記第1変数を被除数、前記第2変数を除数とする除算である請求項1に記載の秘匿計算装置。
  3. 素数pを法とする平文の空間内で、第1変数及び第2変数を入力とする2変数関数における第2変数を定数に固定したときの、第1変数に応じた関数値を多項式補間により定義したp−1次の第1多項式の係数を、前記第2変数それぞれについて記憶する第1記憶ステップと、
    前記第2変数が前記定数と等しい場合に1となり、異なる場合に0となる関数を多項式補間により定義したp−1次の第2多項式の係数を記憶する第2記憶ステップと
    前記第1変数の値及び前記第2変数の値をそれぞれ準同型暗号方式により暗号化した、第1暗号文及び第2暗号文の入力を受け付ける入力ステップと、
    前記準同型暗号方式による暗号文の空間内で、前記第1暗号文のp−1次までの冪乗を計算する秘匿冪乗演算ステップと、
    前記第2変数を前記定数に固定し、前記第1多項式の係数ベクトルと前記第1暗号文の冪乗を並べたベクトルとの内積により、前記第1多項式の値を算出する秘匿関数演算ステップと、
    前記第2多項式の係数ベクトルと前記第1暗号文の冪乗を並べたベクトルとの内積により、前記第2多項式の値を、前記第2暗号文の暗号化前の平文と前記定数とが異なる場合に0となる判定値暗号文として算出する秘匿等号演算ステップと、
    前記定数毎の前記秘匿関数演算ステップにおける算出結果、及び前記秘匿等号演算ステップにおける算出結果の積を総和することにより、前記第1暗号文及び前記第2暗号文を入力とした前記2変数関数の値を出力する出力ステップと、をコンピュータが実行する秘匿計算方法。
  4. 請求項1又は請求項に記載の秘匿計算装置としてコンピュータを機能させるための秘匿計算プログラム。
JP2018181909A 2018-09-27 2018-09-27 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム Active JP6916770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018181909A JP6916770B2 (ja) 2018-09-27 2018-09-27 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018181909A JP6916770B2 (ja) 2018-09-27 2018-09-27 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム

Publications (2)

Publication Number Publication Date
JP2020053860A JP2020053860A (ja) 2020-04-02
JP6916770B2 true JP6916770B2 (ja) 2021-08-11

Family

ID=69994133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018181909A Active JP6916770B2 (ja) 2018-09-27 2018-09-27 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム

Country Status (1)

Country Link
JP (1) JP6916770B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160353A (ja) * 2019-03-27 2020-10-01 Kddi株式会社 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7187074B1 (ja) * 2021-10-26 2022-12-12 株式会社アクセル 暗号処理装置、暗号処理方法、及び暗号処理プログラム
JP7187076B1 (ja) * 2021-11-26 2022-12-12 株式会社アクセル 暗号処理装置、暗号処理方法、及び暗号処理プログラム
CN115081021A (zh) * 2022-06-27 2022-09-20 华控清交信息科技(北京)有限公司 隐私算法构建方法、装置、电子设备和可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5297688B2 (ja) * 2008-05-09 2013-09-25 株式会社日立製作所 ベクトル秘匿型内積計算システム、ベクトル秘匿型内積計算方法及び暗号鍵共有システム
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
JP6413743B2 (ja) * 2014-12-16 2018-10-31 富士通株式会社 暗号処理装置、暗号処理方法、及び暗号処理プログラム
US10153894B2 (en) * 2015-11-05 2018-12-11 Microsoft Technology Licensing, Llc Homomorphic encryption with optimized encoding
US10069631B2 (en) * 2016-03-17 2018-09-04 Palo Alto Research Center Incorporated Fault-tolerant aggregation of encrypted data in a star network
EP3573040B1 (en) * 2017-01-20 2021-07-21 Nippon Telegraph and Telephone Corporation Secure computation system, secure computation device, secure computation method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160353A (ja) * 2019-03-27 2020-10-01 Kddi株式会社 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム
JP7073295B2 (ja) 2019-03-27 2022-05-23 Kddi株式会社 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム

Also Published As

Publication number Publication date
JP2020053860A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
JP6916770B2 (ja) 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム
JP6413743B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
JP6083234B2 (ja) 暗号処理装置
JP2016080766A (ja) 暗号処理方法、暗号処理装置、及び暗号処理プログラム
Marcano et al. On fully homomorphic encryption for privacy-preserving deep learning
Ayub et al. Parallelized RSA algorithm: An analysis with performance evaluation using OpenMP library in high performance computing environment
Kuang et al. Performance analysis of the quantum safe multivariate polynomial public key algorithm
Chabanne et al. Linear repairing codes and side-channel attacks
JP7073295B2 (ja) 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム
KR102541388B1 (ko) Mdf 기반 ntt를 이용한 링-lwe 암호프로세서 장치 및 방법
Maeda et al. Efficient homomorphic evaluation of arbitrary bivariate integer functions
JP7443217B2 (ja) 暗号化装置、復号装置、暗号方法、復号方法、暗号化プログラム及び復号プログラム
JP7540501B2 (ja) 秘匿msb正規化システム、分散処理装置、秘匿msb正規化方法、およびプログラム
CN114547645A (zh) 浮点数处理方法、装置、终端以及存储介质
JP2018092010A (ja) 暗号化装置と暗号化方法、暗号化プログラム及び鍵生成装置と鍵生成方法、鍵生成プログラム
Liu et al. Optimization of Functional Bootstraps with Large LUT and Packing Key Switching
Khlebus et al. A modification of the Cayley-Purser algorithm
JP2019040047A (ja) 計算システム、計算方法及び計算プログラム
KR102595938B1 (ko) 다항식을 이용하여 데이터의 암복호화를 수행하는 암호화 시스템을 위한 다항식 역원 생성 장치 및 방법
KR102337865B1 (ko) 동형 암호에 기초한 산술 연산 시스템 및 이를 이용한 동형 암호 산술 연산 방법
KR102451633B1 (ko) 동형암호를 위한 암호화 처리 장치 및 방법
JP7179788B2 (ja) 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム
WO2024028961A1 (ja) 暗号システム、方法及びプログラム
KR102462395B1 (ko) 양자내성암호를 위한 모듈-lwe 기반 암호 프로세서 시스템 및 방법
JP7261502B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210716

R150 Certificate of patent or registration of utility model

Ref document number: 6916770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150