JP7146725B2 - 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム - Google Patents
秘匿演算装置、秘匿演算方法及び秘匿演算プログラム Download PDFInfo
- Publication number
- JP7146725B2 JP7146725B2 JP2019211426A JP2019211426A JP7146725B2 JP 7146725 B2 JP7146725 B2 JP 7146725B2 JP 2019211426 A JP2019211426 A JP 2019211426A JP 2019211426 A JP2019211426 A JP 2019211426A JP 7146725 B2 JP7146725 B2 JP 7146725B2
- Authority
- JP
- Japan
- Prior art keywords
- result
- ciphertext
- calculation
- unit
- integer
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
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 JP2021083039A (ja) | 2021-05-27 |
JP7146725B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7179788B2 (ja) * | 2020-01-21 | 2022-11-29 | 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,2018年,pp.483-512 |
CHILLOTTI, I. et al.,TFHE: Fast Fully Homomorphic Encryption over the Torus,Cryptology ePrint Archive,Paper 2018/421 20190402:093245,2019年,pp.1-62,URL:https://eprint.iacr.org/2018/421/20190402:093245 |
岡田大樹 他,Integer-wise型準同型除算演算アルゴリズム,2019年 暗号と情報セキュリティシンポジウム(SCIS2019)予稿集,2019年01月,pp.1-8 |
Also Published As
Publication number | Publication date |
---|---|
JP2021083039A (ja) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7146724B2 (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
Chillotti et al. | Programmable bootstrapping enables efficient homomorphic inference of deep neural networks | |
Jiang et al. | Secure outsourced matrix computation and application to neural networks | |
Farah et al. | A novel method for designing S-box based on chaotic map and teaching–learning-based optimization | |
Giacomelli et al. | Privacy-preserving ridge regression with only linearly-homomorphic encryption | |
Noshadian et al. | Optimizing chaos based image encryption | |
CN111241570A (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
CN111177768A (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
JP2016012111A (ja) | 暗号処理方法、暗号処理装置、および暗号処理プログラム | |
Aguilar Melchor et al. | A comparison of the homomorphic encryption libraries helib, seal and fv-nfllib | |
WO2014007296A1 (ja) | 順序保存暗号化システム、暗号化装置、復号化装置、暗号化方法、復号化方法およびこれらのプログラム | |
JP2019113761A (ja) | 処理装置、処理方法、処理プログラム、及び暗号処理システム | |
KR20200047002A (ko) | 동형 암호를 이용한 암호문 비교 방법 및 이를 수행하기 위한 장치 | |
JP2020190614A (ja) | 暗号処理システム、暗号処理装置、暗号処理プログラム、及び暗号処理方法 | |
Kim et al. | Comprehensive introduction to fully homomorphic encryption for dynamic feedback controller via LWE-based cryptosystem | |
Alexandru et al. | Secure multi-party computation for cloud-based control | |
Ramos-Calderer et al. | Quantum search for scaled hash function preimages | |
Huang et al. | Support vector machine classification over encrypted data | |
Meng et al. | Privacy-preserving xgboost inference | |
JP7146725B2 (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
Zhang et al. | A secure and privacy-preserving word vector training scheme based on functional encryption with inner-product predicates | |
Alsaedi | Colored image encryption and decryption using multi-chaos 2D quadratic strange attractors and matrix transformations | |
JP7179788B2 (ja) | 秘匿演算装置、秘匿演算方法及び秘匿演算プログラム | |
WO2023074133A1 (ja) | 暗号処理装置、暗号処理方法、及び暗号処理プログラム | |
JP7228286B1 (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 |