JP6916770B2 - 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム - Google Patents
秘匿計算装置、秘匿計算方法及び秘匿計算プログラム Download PDFInfo
- 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
Links
Images
Description
例えば、非特許文献1〜4では、入力の整数がビット値に変換された状態、つまり平文がビット値の場合(以下、Bit−wiseと表現する)の四則演算アルゴリズム(秘匿加算、秘匿減算、秘匿乗算、秘匿除算)が提案されている(例えば、非特許文献1〜3参照)。
また、非特許文献5では、入力の整数がビット値に変換されず、つまり平文が整数値の場合(以下、Integer−wiseと表現する)の2値比較演算のアルゴリズムが提案されている。
このように、Integer−wiseでの秘匿計算が望まれる一方で、次のような課題が存在する。
また、除算は、2値比較演算をサブモジュールとし、2値比較と減算とを繰り返すことで実現可能だが、2値比較を繰り返すことで、さらに低速となっていた。完全準同型暗号でのInteger−wiseの高速な除算アルゴリズムは提案されていなかった。
さらに、任意の2変数関数に適用できるInteger−wiseの秘匿計算アルゴリズムは提案されていなかった。
図1は、本実施形態に係る秘匿計算装置1の機能構成を示すブロック図である。
秘匿計算装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
また、記憶部20は、平文の空間Zp内で、ある変数が定数と等しい場合に1となり、異なる場合に0となる関数を多項式補間により定義した第2多項式の係数ベクトルを記憶する。
具体的には、秘匿等号演算部14は、記憶部20に予め記憶された第2多項式の係数ベクトルと、第1暗号文Caの冪乗を並べたベクトルとの内積により、第2多項式の値を、判定値の暗号文として算出する。
ここで、pを素数、平文の空間をZp、暗号文の空間を多項式環Rpとする。また、平文a∈Zpを完全準同型暗号方式により暗号化した暗号文をCaとする。
2変数のうち第1変数を被除数、第2変数を除数とする除算を実施するInteger−wiseの秘匿演算アルゴリズムを例示する。
例えば、p=7、d=2のとき、fd(0)=0,fd(1)=0,fd(2)=1,fd(3)=1,fd(4)=2,fd(5)=2,fd(6)=3となる多項式fd(x)は、
fd(x)=−2x+3x3+x5−2x6 mod p
と求められる。これにより、係数の組{−2,0,3,0,1,−2}がd=2と対応付けて記憶される。同様に、1≦d<pの各dについて、それぞれ係数の組が事前に記憶される。
C[a/d]=fd(Ca)=afd・Ca pow mod p
ただし、afdはfd(x)の係数を要素とするベクトルである。
例えば、p=7、y=3のとき、fy(0)=0,fy(1)=0,fy(2)=0,fy(3)=1,fy(4)=0,fy(5)=0,fy(6)=0となる多項式fy(x)が求められる。これにより、求められた係数の組がy=3と対応付けて記憶される。同様に、0≦y<pの各yについて、それぞれ係数の組が事前に記憶される。
C(a=y)=fy(Ca)=afy・Ca pow mod p
ただし、afyはfy(x)の係数を要素とするベクトルである。
秘匿除算演算Div(Ca,Cd)は、前述の3つのサブモジュールPows(Ca)、ConstDiv(Ca pow,d)、ConstEq(Cd pow,y)を用いて構成される。
ステップ2において、制御部10(秘匿冪乗演算部12)は、Pows(Ca)により、引数のCaについて、1〜p−1を冪指数とする冪乗値からなるベクトルCa powを算出する。
ステップ3において、制御部10(秘匿冪乗演算部12)は、Pows(Cd)により、引数のCdについて、1〜p−1を冪指数とする冪乗値からなるベクトルCd powを算出する。
ステップ5において、制御部10(秘匿関数演算部13)は、iを定数として、C[a/i]=ConstDiv(Ca pow,i)を計算する。
ステップ6において、制御部10(秘匿等号演算部14)は、iを定数として、C(d=i)=ConstEq(Cd pow,i)を計算する。
なお、C[a/i]*C(d=i)は、i=dのときC[a/d]となり、i≠dのときC0となる。
ステップ8においてループが終了すると、CsumにC[a/i]とC(d=i)との積が総和される。
ステップ9において、制御部10(出力部15)は、結果として得られたC[a/d]=Csumを出力する。
前述の除算を含む任意の2変数関数を計算するInteger−wiseの秘匿演算アルゴリズムを例示する。
具体的には、fy(0)=g(0,y),fy(1)=g(1,y),・・・,fy(p−1)=g(p−1,y)が与えられると、fy(x)が多項式補間により、「fy(x)=a{1,y}・x+a{2,y}・x2+・・・+a{p−1,y}・xp−1 mod p」と求められる。
これにより、係数の組{a{1,y},a{2,y},・・・,a{p−1,y}}がy(0≦y<p)と対応付けて記憶される。
Cg(a,y)=fy(Ca)=afy・Ca pow mod p
ただし、afyはfy(x)の係数を要素とするベクトル{a{1,y},a{2,y},・・・,a{p−1,y}}である。
秘匿2変数関数演算Func(Ca,Cb)は、前述の3つのサブモジュールPows(Ca)、ConstFunc(Ca pow,y,g)、ConstEq(Cb pow,y)を用いて構成される。
ステップ2において、制御部10(秘匿冪乗演算部12)は、Pows(Ca)により、引数のCaについて、1〜p−1を冪指数とする冪乗値からなるベクトルCa powを算出する。
ステップ3において、制御部10(秘匿冪乗演算部12)は、Pows(Cb)により、引数のCbについて、1〜p−1を冪指数とする冪乗値からなるベクトルCb powを算出する。
ステップ5において、制御部10(秘匿関数演算部13)は、iを定数として、Cg(a,i)=ConstFunc(Ca pow,i,g)を計算する。
ステップ6において、制御部10(秘匿等号演算部14)は、iを定数として、C(b=i)=ConstEq(Cb pow,i)を計算する。
なお、Cg(a,i)*C(b=i)は、i=bのときCg(a,b)となり、i≠bのときC0となる。
ステップ8においてループが終了すると、CsumにCg(a,i)とC(b=i)との積が総和される。
ステップ9において、制御部10(出力部15)は、結果として得られたCg(a,b)=Csumを出力する。
つまり、秘匿計算装置1は、任意の2変数関数の秘匿計算を行うが、暗号文同士の乗算の深さはConstFuncの乗算の深さ+ConstEqの乗算の深さで、高々O(log(p))に抑えられる。
また、秘匿計算装置1は、秘匿冪乗演算Powsによって、引数である暗号文の冪乗ベクトルを一度計算すると、このベクトルを再利用することで、暗号文同士の乗算の回数が抑制される。
秘匿計算においては、暗号文同士の乗算の深さにより実行速度が大きく変動するため、秘匿計算装置1は、Integer−wiseでの2変数関数の秘匿計算を高速に行うことができる。
これにより、秘匿計算装置1は、除算を含む種々の秘匿計算、例えば、秘匿平均値計算又は秘匿機械学習等を高速に実現できる。
4ビットの入力に対して、従来手法1〜3(非特許文献1〜3)では、それぞれ67.94秒、14.63秒、7.74秒の実行時間が掛かった。
一方、本実施形態の提案手法(秘匿除算演算Div)では、実行時間が3.44秒に短縮された。
従来のアルゴリズム(非特許文献5)では、引数がZpのとき、平文空間をこの2倍の大きさのZ2pとする必要があったが、本実施形態では、引数と同じZpで実施できるため、計算の効率化が期待できる。
10 制御部
11 入力部
12 秘匿冪乗演算部
13 秘匿関数演算部
14 秘匿等号演算部
15 出力部
20 記憶部(第1記憶部、第2記憶部)
Claims (4)
- 素数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変数関数は、前記第1変数を被除数、前記第2変数を除数とする除算である請求項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変数関数の値を出力する出力ステップと、をコンピュータが実行する秘匿計算方法。 - 請求項1又は請求項2に記載の秘匿計算装置としてコンピュータを機能させるための秘匿計算プログラム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020160353A (ja) * | 2019-03-27 | 2020-10-01 | Kddi株式会社 | 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム |
Families Citing this family (3)
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)
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 |
-
2018
- 2018-09-27 JP JP2018181909A patent/JP6916770B2/ja active Active
Cited By (2)
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 |