JP2021113956A - 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム - Google Patents
秘匿演算装置、秘匿演算方法及び秘匿演算プログラム Download PDFInfo
- Publication number
- JP2021113956A JP2021113956A JP2020007701A JP2020007701A JP2021113956A JP 2021113956 A JP2021113956 A JP 2021113956A JP 2020007701 A JP2020007701 A JP 2020007701A JP 2020007701 A JP2020007701 A JP 2020007701A JP 2021113956 A JP2021113956 A JP 2021113956A
- Authority
- JP
- Japan
- Prior art keywords
- ciphertext
- unit
- calculation
- input
- result
- 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
Landscapes
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本実施形態では、まず、完全準同型暗号で必要なブートストラッピングと同時に実現されるInteger−wiseの任意の1変数関数(写像)の演算方式を説明し、次に、この1変数関数演算を用いて実現される整数と2進数との秘匿乗算の方式を説明する。
図1は、本実施形態における秘匿演算装置1のうち、1変数関数演算を実現するための機能構成を示すブロック図である。
秘匿演算装置1は、サーバ装置又はパーソナルコンピュータ等の情報処理装置(コンピュータ)であり、制御部10及び記憶部20の他、各種データの入出力デバイス及び通信デバイス等を備える。
本実施形態の秘匿演算方法における各種の定義は、非特許文献1及び2に従うが、次のように説明を補足する。
長さnのベクトルxのi番目の要素をxiと表記する(x=(x1,…,xn))。
各種の空間等を次のように表記する。
・整数空間:Z,実数空間:R
・トーラスT=R/Z
・多項式:
R[X]: 係数∈Rである、任意次数の多項式の集合
TN[X]:=R[X]/(XN+1): 係数∈TであるN(例えば、1024)次の多項式の集合
また、x←Uχは、集合χから一様にランダムにxをサンプルすることを意味する。
TLWE暗号について、秘密ベクトルs、平文m、ノイズeのLWEサンプル(a,b)∈LWEs(m)は、
この「秘密鍵の暗号文」BKiを用いることで、暗号文上の準同型演算により復号に当たる演算を行える。これにより、ブートストラッピングでは、入力の平文と同じ平文を持ち、かつ、ノイズの大きさが初期化された暗号文が生成される。
前述の非特許文献1の手法では、暗号文の平文空間がビット値に限られていた。本実施形態では、この手法を、非特許文献2のように整数値も扱えるように拡張する。
また、秘密鍵sによる、平文mのLWE暗号文Enc(s,m)=(a,b)を、LWEs(m)とも表記する。
図2は、本実施形態における1変数関数の秘匿演算方法を実行するためのアルゴリズムを示す図である。
このアルゴリズムにより、ブートストラッピングと同時に任意の1変数関数f:{0,…,B−1}→{0,…,B−1}が実行される。
以下では、eACC=0とする。よって、minの平文空間上で取り得る値の範囲φ(min)は、
なお、TN[X]:=R[X]/(XN+1)であり、XN+1≡0、XN≡−1であることから、X−i≡−XN−i、Xi≡−X−(N−i)である。
平文は、最初はトーラスT上の値(0〜1の実数)だが、ブートストラッピングのアルゴリズム(図2)中で2N倍され、Z2N上の値となる。図3では、Z2N上での平文空間のスライス(区切り)を示している。
ここでは、平文の値の範囲をB=8とした場合を示しており、0〜2Nが2B個のスライスに分割されている。
すなわち、各スライスの幅はN/Bであり、例えば、平文「3」は、3N/Bを中心に、±N/2Bの範囲に割り当てられる。
円周上の位置は、前述のベクトルtestv∈TN[X]におけるマイナスの次数に対応し、各スライスに、写像f(min)が割り当てられる。そして、testvの各次数の係数μi(0≦i≦N−1)∈Tとして、前述のようにf(min)/2Bが予め設定される。
なお、前述のtestvの式変形に見られるように、X−i≡−XN−i、Xi≡−X−(N−i)であることから、円周上の対称位置には反対符号の値が設定される。
ここで、各BKiは、秘密鍵s”による、平文がTLWE暗号文の秘密鍵siのTGSW暗号文である。前述のように、TGSW暗号文は、TLWE暗号文と準同型演算が可能なので、多項式更新部114は、TGSW暗号文とTLWE暗号文であるACCとの準同型演算により、
よって、ループ処理を終えた時点で、ACCは、
なお、この鍵変換処理(KeySwitch)は、非特許文献1に示されているものと同一である。
図6は、本実施形態における秘匿演算装置1の機能構成を示すブロック図である。
制御部10は、前述の入力部111と、サンプル変換部112と、多項式定義部113と、多項式更新部114と、定数項抽出部115と、鍵変換部116とを備えたブートストラップ処理部11に加えて、第1演算部12と、第2演算部13と、出力部14とを備える。
ここで、平文空間{−(B−1),…,0,…,B−1}を決める整数Bは、奇数とする。
ここでは、整数mint∈{0,…,B−1}の暗号文Cm_intと、2進数mbin∈{−B,0,B}の暗号文Cm_binとを入力とし、mbin=0のときCm_intが、mbin=−B又はBのときC0が、乗算MultbyBin(Cm_int,Cm_bin)の結果(暗号文Cm_out)として出力される。
なお、mbin=0は、2進数の1(true)を表し、mbin=−B又はBは、2進数の0(false)を表す。
例えば、入力された整数mint=1は、N/Bを含むスライスに割り当てられており、mbin∈{−B,0,B}を加算すると、結果は、mbin=0(true)の場合は同じスライスに、mbin=−B又はB(false)の場合は(N/B)+Nを含むスライスに位置する。この演算結果に対してfid_intの演算を行うブートストラッピングによって、演算結果tmpは、mbin=0の場合はf(1)の結果の位置、すなわちN/Bを含むスライスに、mbin=−B又はBの場合はf(1)の結果のマイナスの位置、すなわち−N/Bを含むスライスに位置する。
また、Cm_binが0の暗号文であった場合、0を足すだけなので、Ctmpは変わらず、Ctmp=Cm_intとなる。
そして、fmultbinの演算を伴うブートストラッピングによって、Cm_int+Cm_intはCm_intへと半分にされ、C0はそのままC0となる。
mintがB/2未満の値、例えばmint=1に対しては、mint+mint=2であるので、「2」のスライスの演算結果を「1」とする。同様に、mint=2に対しては、「4」のスライスの演算結果を「2」とする。
ここで、Bが奇数であることから、mint+tmpの値は、mintがB/2未満のときB未満の偶数に、mintがB/2より大きいときマイナスの奇数となる。したがって、0〜B−1のスライスに対して演算結果を設定することで値を半分にするfmultbinの演算が実現される。
これにより、秘匿演算装置1は、完全準同型暗号方式により、入力整数と入力2進数との乗算をブートストラッピングと同時に実行できる。
これに対して、本実施形態では、ブートストラッピング処理の回数が2回に削減され、処理効率が向上した。
10 制御部
11 ブートストラップ処理部
12 第1演算部
13 第2演算部
14 出力部
20 記憶部
111 入力部
112 サンプル変換部
113 多項式定義部
114 多項式更新部
115 定数項抽出部
116 鍵変換部
Claims (3)
- LWE暗号文の秘密鍵を平文とした暗号文であるブートストラッピング・キーを用いた準同型演算により、多項式のLWE暗号文を更新してノイズを初期化する際に、当該多項式の係数に設定されたトーラス上の値を用いて1変数関数の演算結果を出力するブートストラップ処理部と、
Bを奇数としたとき、0以上B未満の入力整数に、入力2進数の1又は0を表す値である0又はBを加算した後、前記ブートストラップ処理部に対して、前記1変数関数として恒等写像の演算を設定して、第1演算結果を取得する第1演算部と、
前記入力整数に前記第1演算結果を加算した後、前記ブートストラップ処理部に対して、前記1変数関数として、偶数を2分の1にし、奇数xを−(x+B)/2にする演算を設定して、第2演算結果を取得する第2演算部と、
前記第2演算結果を、前記入力整数と前記入力2進数との乗算結果として出力する出力部と、を備える秘匿演算装置。 - LWE暗号文の秘密鍵を平文とした暗号文であるブートストラッピング・キーを用いた準同型演算により、多項式のLWE暗号文を更新してノイズを初期化する際に、当該多項式の係数に設定されたトーラス上の値を用いて1変数関数の演算結果を出力するブートストラップ処理部を備えたコンピュータが、
Bを奇数としたとき、0以上B未満の入力整数に、入力2進数の1又は0を表す値である0又はBを加算した後、前記ブートストラップ処理部に対して、前記1変数関数として恒等写像の演算を設定して、第1演算結果を取得する第1演算ステップと、
前記入力整数に前記第1演算結果を加算した後、前記ブートストラップ処理部に対して、前記1変数関数として、偶数を2分の1にし、奇数xを−(x+B)/2にする演算を設定して、第2演算結果を取得する第2演算ステップと、
前記第2演算結果を、前記入力整数と前記入力2進数との乗算結果として出力する出力ステップと、を実行する秘匿演算方法。 - 請求項1に記載の秘匿演算装置としてコンピュータを機能させるための秘匿演算プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020007701A JP7179788B2 (ja) | 2020-01-21 | 2020-01-21 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020007701A JP7179788B2 (ja) | 2020-01-21 | 2020-01-21 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021113956A true JP2021113956A (ja) | 2021-08-05 |
JP7179788B2 JP7179788B2 (ja) | 2022-11-29 |
Family
ID=77076993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020007701A Active JP7179788B2 (ja) | 2020-01-21 | 2020-01-21 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7179788B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150312028A1 (en) * | 2012-08-28 | 2015-10-29 | Snu R&Db Foundation | Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same |
US20190327077A1 (en) * | 2018-04-18 | 2019-10-24 | Fujitsu Limited | Outsourcing processing operations with homomorphic encryption |
JP2019211426A (ja) * | 2018-06-08 | 2019-12-12 | Jnc株式会社 | カラム、カラム充填装置、カラム充填システム、及びカラム処理方法 |
JP2021083039A (ja) * | 2019-11-22 | 2021-05-27 | Kddi株式会社 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
-
2020
- 2020-01-21 JP JP2020007701A patent/JP7179788B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150312028A1 (en) * | 2012-08-28 | 2015-10-29 | Snu R&Db Foundation | Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same |
US20190327077A1 (en) * | 2018-04-18 | 2019-10-24 | Fujitsu Limited | Outsourcing processing operations with homomorphic encryption |
JP2019191575A (ja) * | 2018-04-18 | 2019-10-31 | 富士通株式会社 | 準同型暗号を用いた処理動作の委託 |
JP2019211426A (ja) * | 2018-06-08 | 2019-12-12 | Jnc株式会社 | カラム、カラム充填装置、カラム充填システム、及びカラム処理方法 |
JP2021083039A (ja) * | 2019-11-22 | 2021-05-27 | Kddi株式会社 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Non-Patent Citations (1)
Title |
---|
佐久間 淳ほか: "安全なデータ活用を実現する秘密計算技術", 情報処理, vol. 第59巻,第10号, JPN6022044236, 15 September 2018 (2018-09-15), JP, pages 898 - 903, ISSN: 0004904307 * |
Also Published As
Publication number | Publication date |
---|---|
JP7179788B2 (ja) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheon et al. | Homomorphic encryption for arithmetic of approximate numbers | |
Bost et al. | Machine learning classification over encrypted data | |
Carpov et al. | New techniques for multi-value input homomorphic evaluation and applications | |
Noshadian et al. | Optimizing chaos based image encryption | |
Han et al. | Efficient logistic regression on large encrypted data | |
JP7146724B2 (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
Bae et al. | Meta-bts: Bootstrapping precision beyond the limit | |
Ramos-Calderer et al. | Quantum search for scaled hash function preimages | |
Kim et al. | Comprehensive introduction to fully homomorphic encryption for dynamic feedback controller via LWE-based cryptosystem | |
Jiang et al. | Statistical learning based fully homomorphic encryption on encrypted data | |
Xiang et al. | Fast blind rotation for bootstrapping FHEs | |
JP6916770B2 (ja) | 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム | |
JP7146725B2 (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
JP7096214B2 (ja) | 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム | |
JP7228286B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2021113956A (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
Guimaraes et al. | Homomorphic evaluation of large look-up tables for inference on human genome data in the cloud | |
JP2022041863A (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
Wang et al. | Efficient homomorphic integer polynomial evaluation based on GSW FHE | |
Schmid et al. | Towards Private Deep Learning-Based Side-Channel Analysis Using Homomorphic Encryption: Opportunities and Limitations | |
JP7185346B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2021081591A (ja) | 安全性評価装置、安全性評価方法及び安全性評価プログラム | |
JP7228287B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7261502B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7187076B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220107 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221018 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7179788 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |