JP2021083039A - 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム - Google Patents
秘匿演算装置、秘匿演算方法及び秘匿演算プログラム Download PDFInfo
- Publication number
- JP2021083039A JP2021083039A JP2019211426A JP2019211426A JP2021083039A JP 2021083039 A JP2021083039 A JP 2021083039A JP 2019211426 A JP2019211426 A JP 2019211426A JP 2019211426 A JP2019211426 A JP 2019211426A JP 2021083039 A JP2021083039 A JP 2021083039A
- Authority
- JP
- Japan
- Prior art keywords
- result
- arithmetic
- unit
- calculation
- ciphertext
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
Description
以下、本発明の第1実施形態について説明する。
本実施形態における秘匿演算装置は、完全準同型暗号で必要なブートストラッピングと同時にInteger−wiseの任意の1変数関数(写像)の演算を実現する。
完全準同型暗号は、Somewhat型準同型暗号にブートストラッピングを組み合わせて構成される。ここで、Somewhat型準同型暗号とは、演算を重ねることによって暗号文上のノイズが大きくなり、ある程度の大きさになると復号が不可能になる方式である。完全準同型暗号は、Somewhat型準同型暗号にブートストラッピングと呼ばれるノイズ除去処理を行うことで無制限に演算が実行できるようにしたものである。
秘匿演算装置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変数関数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上での平文空間のslice(区切り)を示している。
ここでは、平文の値の範囲をB=8とした場合を示しており、0〜2Nが2B個のsliceに分割されている。
すなわち、各sliceの幅はN/Bであり、例えば、平文「3」は、3N/Bを中心に、±N/2Bの範囲に割り当てられる。
円周上の位置は、前述のベクトルtestv∈TN[X]におけるマイナスの次数に対応し、各sliceに、写像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に示されているものと同一である。
以下、本発明の第2実施形態について説明する。
本実施形態において、秘匿演算装置1は、前述のブートストラッピングと同時に実行される1変数関数を用いて、整数と2進数との秘匿乗算を実行する。
制御部10は、第1実施形態における入力部111と、サンプル変換部112と、多項式定義部113と、多項式更新部114と、定数項抽出部115と、鍵変換部116とを備えたブートストラップ処理部11に加えて、第1演算部12と、第2演算部13と、第3演算部14と、出力部15とを備える。
出力部15は、第3演算結果を、入力整数と入力2進数との乗算結果として出力する。
図7は、本実施形態における整数と2進数との乗算のアルゴリズムを示す図である。
ここでは、整数mint∈{0,…,B−1}の暗号文Cm_intと、2進数mbin∈{0、B}の暗号文Cm_binとを入力とし、mbin=0のときCm_intが、mbin=BのときC0が、暗号文Cm_outが乗算MultbyBin(Cm_int,Cm_bin)の結果として出力される。
なお、mbin=0は、2進数の「1」を表し、mbin=Bは、2進数の「0」を表す。
例えば、入力された整数mint=2は、2N/Bを含むsliceに割り当てられており、fhalfの演算を行うブートストラッピングによって、演算結果mint/2は、N/Bを含むsliceに位置する。
これにより、秘匿演算装置1は、完全準同型暗号方式により、入力整数と入力2進数との乗算をブートストラッピングと同時に実行できる。
10 制御部
11 ブートストラップ処理部
12 第1演算部
13 第2演算部
14 第3演算部
15 出力部
20 記憶部
111 入力部
112 サンプル変換部
113 多項式定義部
114 多項式更新部
115 定数項抽出部
116 鍵変換部
Claims (3)
- LWE暗号文の秘密鍵を平文とした暗号文であるブートストラッピング・キーを用いた準同型演算により、多項式のLWE暗号文を更新してノイズを初期化する際に、当該多項式の係数に設定されたトーラス上の値を用いて1変数関数の演算結果を出力するブートストラップ処理部と、
前記ブートストラップ処理部に対して、前記1変数関数として、0以上B未満の入力整数を2分の1にする演算を設定して、第1演算結果を取得する第1演算部と、
前記第1演算結果に入力2進数の1又は0を表す値である0又はBを加算した後、前記ブートストラップ処理部に対して、前記1変数関数として、トーラス上の値をそのまま返す演算を設定して、第2演算結果を取得する第2演算部と、
前記第2演算結果に前記第1演算結果を加算した後、前記ブートストラップ処理部に対して、前記1変数関数として、整数をそのまま返す演算を設定して、第3演算結果を取得する第3演算部と、
前記第3演算結果を、前記入力整数と前記入力2進数との乗算結果として出力する出力部と、を備える秘匿演算装置。 - LWE暗号文の秘密鍵を平文とした暗号文であるブートストラッピング・キーを用いた準同型演算により、多項式のLWE暗号文を更新してノイズを初期化する際に、当該多項式の係数に設定されたトーラス上の値を用いて1変数関数の演算結果を出力するブートストラップ処理部を備えたコンピュータが、
前記ブートストラップ処理部に対して、前記1変数関数として、0以上B未満の入力整数を2分の1にする演算を設定して、第1演算結果を取得する第1演算ステップと、
前記第1演算結果に入力2進数の1又は0を表す値である0又はBを加算した後、前記ブートストラップ処理部に対して、前記1変数関数として、トーラス上の値をそのまま返す演算を設定して、第2演算結果を取得する第2演算ステップと、
前記第2演算結果に前記第1演算結果を加算した後、前記ブートストラップ処理部に対して、前記1変数関数として、整数をそのまま返す演算を設定して、第3演算結果を取得する第3演算ステップと、
前記第3演算結果を、前記入力整数と前記入力2進数との乗算結果として出力する出力ステップと、を実行する秘匿演算方法。 - 請求項1に記載の秘匿演算装置としてコンピュータを機能させるための秘匿演算プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019211426A JP7146725B2 (ja) | 2019-11-22 | 2019-11-22 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019211426A JP7146725B2 (ja) | 2019-11-22 | 2019-11-22 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021083039A true JP2021083039A (ja) | 2021-05-27 |
JP7146725B2 JP7146725B2 (ja) | 2022-10-04 |
Family
ID=75965446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019211426A Active JP7146725B2 (ja) | 2019-11-22 | 2019-11-22 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7146725B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021113956A (ja) * | 2020-01-21 | 2021-08-05 | Kddi株式会社 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
-
2019
- 2019-11-22 JP JP2019211426A patent/JP7146725B2/ja active Active
Non-Patent Citations (3)
Title |
---|
BOURSE, F. ET AL.: "Fast Homormorphic Evaluation of Deep Discretized Neural Networks", LECTURE NOTES IN COMPUTER SCIENCE, vol. 10993, JPN6022035992, 2018, pages 483 - 512, ISSN: 0004861627 * |
CHILLOTTI, I. ET AL.: "TFHE: Fast Fully Homomorphic Encryption over the Torus", CRYPTOLOGY EPRINT ARCHIVE, vol. Paper 2018/421 20190402:093245, JPN6022026016, 2019, pages 1 - 62, ISSN: 0004861626 * |
岡田大樹 他: "Integer−wise型準同型除算演算アルゴリズム", 2019年 暗号と情報セキュリティシンポジウム(SCIS2019)予稿集, JPN6022035991, January 2019 (2019-01-01), pages 1 - 8, ISSN: 0004861625 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021113956A (ja) * | 2020-01-21 | 2021-08-05 | Kddi株式会社 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
JP7179788B2 (ja) | 2020-01-21 | 2022-11-29 | Kddi株式会社 | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP7146725B2 (ja) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Costache et al. | Which ring based somewhat homomorphic encryption scheme is best? | |
Noshadian et al. | Optimizing chaos based image encryption | |
JP2021083038A (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
Aguilar Melchor et al. | A comparison of the homomorphic encryption libraries helib, seal and fv-nfllib | |
JP6629466B2 (ja) | 秘密計算システム、秘密計算装置、秘密計算方法、プログラム | |
Fu et al. | A key-recovery attack on 855-round Trivium | |
JP6962578B2 (ja) | 暗号処理システム、暗号処理装置、暗号処理プログラム、及び暗号処理方法 | |
Ramos-Calderer et al. | Quantum search for scaled hash function preimages | |
Jiang et al. | Statistical learning based fully homomorphic encryption on encrypted data | |
JP2021083039A (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
JP7096214B2 (ja) | 秘匿計算装置、秘匿計算方法及び秘匿計算プログラム | |
WO2023067928A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7069460B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2021113956A (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
Guimaraes et al. | Homomorphic evaluation of large look-up tables for inference on human genome data in the cloud | |
JP2023064452A (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2021081591A (ja) | 安全性評価装置、安全性評価方法及び安全性評価プログラム | |
Schmid et al. | Towards Private Deep Learning-Based Side-Channel Analysis Using Homomorphic Encryption: Opportunities and Limitations | |
Wang et al. | Efficient homomorphic integer polynomial evaluation based on GSW FHE | |
JP7228287B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7185346B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7187076B1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7261502B2 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
WO2022044464A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP2024012928A (ja) | 暗号処理装置、暗号処理方法、暗号処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211130 |
|
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: 20220830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220921 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7146725 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |