JP7101430B1 - 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム - Google Patents
暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム Download PDFInfo
- Publication number
- JP7101430B1 JP7101430B1 JP2021210018A JP2021210018A JP7101430B1 JP 7101430 B1 JP7101430 B1 JP 7101430B1 JP 2021210018 A JP2021210018 A JP 2021210018A JP 2021210018 A JP2021210018 A JP 2021210018A JP 7101430 B1 JP7101430 B1 JP 7101430B1
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- multidimensional data
- cryptographic
- data
- control unit
- 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
- 238000012545 processing Methods 0.000 title claims description 94
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000003860 storage Methods 0.000 claims abstract description 58
- 238000000034 method Methods 0.000 claims description 90
- 230000001174 ascending effect Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 abstract description 32
- 238000010586 diagram Methods 0.000 abstract description 18
- 230000015654 memory Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 241000283899 Gazella Species 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Networks & Wireless Communication (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】制御部と、記憶部とを備えるコンピュータが実行するプログラムであって、制御部が、第1の多次元データおよび第2の多次元データを記憶部に記憶させ、第1の多次元データに対応する第1の多項式を生成し、第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、第2の多次元データに対応する第2の多項式を生成し、第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、第1の暗号多項式と第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、第3の暗号多項式を表す暗号情報を出力するステップを備え、第3の多項式の所定の項は、第1の多次元データに第2の多次元データを適用した畳み込み演算の結果に対応する係数を有する。
【選択図】図4
Description
図1は、畳み込み演算の具体例を示した図である。図1は、より具体的に言えば、3×3のサイズである第1のデータに2×2のサイズである第2のデータを適用して畳み込み演算して結果を算出する具体例である。なお、第1のデータは、第1の多次元データに相当し、例えば、画像データである。第2のデータは、第2の多次元データに相当し、例えばカーネルのデータである。
「a00b00+a01b01+a10b10+a11b11」
となり、演算結果の座標(0,0)に対応する。
実施形態1では、準同型暗号を用い、2つの多次元データの畳み込み演算の結果を得るための方法の一例について示す。
図2は、本実施形態の暗号処理装置100の全体構成を示す図である。暗号処理装置100は、汎用のコンピュータである。暗号処理装置100は、例えば、据え置き型のPC(Personal Computer)、ラップトップPC等により実現される。また、暗号処理装置100は、スマートフォン、又はタブレット端末などの携行性を備えたコンピュータであってもよい。
図3は、本実施形態に係る暗号処理装置100の機能的構成を示す図である。図3を参照して、実施形態1に係る暗号処理装置100の機能的構成について説明する。
図4は、暗号処理装置100の制御部130が行う処理の流れを示す図である。なお、処理の流れは一例であり、図4で示す順序に限られない。例えば、第2の多項式を第1の多項式よりも先に生成してもよいし、並列的に処理してもよい。
(式1) (a00,a01,a02,…,aij,…,aw-1,w-1)
(式2)
(式3) (b00,b01,b02,…,bij,…,bk-1,k-1)
(式4)
(式5) C(x)=A(x)×B(x)
(式6)
(式7) dij=cwk-1+iw+j
ただし、(式7)において、wは第1の多次元データのサイズ、kは第2の多次元データのサイズ、dijは、2次元データのi行j列目の値を表す。
図5~図7を参照して、第1の多次元データと第2の多次元データが二次元のデータであることを前提として、第1の多次元データに対し、第2の多次元データを適用する畳み込み演算の結果に対応する多項式の係数を取得する処理について具体的に説明する。
図5は、第1の多次元データと第1の多項式の具体例を示す図である。図5(a)は、例えば画像データなどの第1の多次元データを示し、図5(b)は、第1の多次元データの各画素値を第1の多項式の係数に挿入して第1の多項式を生成する過程を示し、図5(c)は、第1の多項式を示す。図5(a)において、画像データの座標(0,0)の画素値はa00であり、画像データの座標(0,1)の画素値はa01であり、画像データの座標(1,0)の画素値はa10である。すなわち、座標(i,j)の画素値はaijである。
第1の多次元データは1チャンネルであることを前提に説明したが、第1の多次元データは、複数のチャンネルを有してもよい。例えば、画像データでは、色を含めて、Rチャンネル、Gチャンネル、Bチャンネルの3チャンネルが存在することが多い。
本実施形態によれば、第1の多次元データに第2の多次元データを適用した畳み込み演算を、剰余多項式環を用いて計算することにより、暗号処理を用いたデータ処理においても、畳み込み演算の結果を算出することが可能となる。
実施形態2では、準同型暗号を用い、2つの多次元データの畳み込み演算の結果を得るための方法において、実施形態1とは異なる方法について示す。具体的には、実施形態2では、多項式として用いる剰余多項式環が実施形態1とは異なる。
本実施形態の暗号処理装置200の全体構成は、実施形態1と同様であり、図1に示すとおりであるため、重複する説明を省略する。
図9は、本実施形態に係る暗号処理装置200の機能的構成を示す図である。図9を参照して、実施形態2に係る暗号処理装置200の機能的構成について説明する。
以下、暗号処理装置200の制御部230における処理の流れについて説明する。
(式11)
Φm(x)=Z[x]/(xm+1)
で定義される剰余多項式環である。なお、演算の効率化の観点では、mは、上記式を満たす最小の値を用いることが好ましい。
(式12)
Φm(x)=Z[x]/(xm+1)
で定義される剰余多項式環である。なお、演算の効率化の観点では、mは、上記式を満たす最小の値を用いることが好ましい。
ただし、(式13)において、wは第1の多次元データのサイズ、dijは、2次元データのi行j列目の値を表す。
図5,11および図12を参照して、第1の多次元データと第2の多次元データが二次元のデータであることを前提として、具体例で実施形態2における畳み込み演算の結果に対応する多項式の係数を取得する処理について説明する。
また、第1の多次元データ、第2の多次元データはそれぞれ、複数のチャンネルを有してもよく、最終的に畳み込み演算した結果は第2の多次元データのチャンネル数を出力することは暗号処理装置100と同様である。
本実施形態によれば、第1の多次元データと第2の多次元データを暗号化した領域において畳み込み演算を行い、畳み込み演算結果である第3の多次元データを算出することが可能となる。
本発明の開示では、第1の多次元データ(例えば画像データ)と第2の多次元データ(例えばカーネルのデータ)を剰余多項式環の係数に挿入して、畳み込み演算結果を算出するところに特徴を有する。
制御部130及び制御部230は、第1の多次元データに対応する第1の多項式を生成する際に、複数の多次元データを第1の多項式に含めてもよい。このとき、多項式の次元数は大きくなるが、第1の多項式と第2の多項式との掛け算の処理を1回行うことで、複数の多次元データに対する畳み込み演算の演算結果を得ることが可能となる。
制御部130及び制御部230は、第1の多次元データに対応する第1の多項式を生成する際に、1つの画像データを分割して第1の多項式を生成してもよい。
本発明によれば、第1の多次元データを第2の多次元データに適用した畳み込み演算の結果を取得することが可能であるが、かかる演算結果を機械学習に用いることも可能である。具体的には、第3の暗号多項式を表す暗号情報を、CNN(Convolutionla Neural Network)の畳み込み層の次の層の入力データとして出力することも可能である。
Claims (11)
- 制御部と、記憶部とを備えるコンピュータが実行するプログラムであって、
前記制御部が、第1の多次元データおよび第2の多次元データを前記記憶部に記憶させるステップと、
前記制御部が、前記記憶部から読み込んだ前記第1の多次元データに対応する第1の多項式を生成するステップと、
前記制御部が、前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成するステップと、
前記制御部が、前記記憶部から読み込んだ前記第2の多次元データに対応する第2の多項式を生成するステップと、
前記制御部が、前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成するステップと、
前記制御部が、前記第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成するステップと、
前記制御部が、前記第3の暗号多項式を表す暗号情報を出力するステップと、を備え、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第3の暗号多項式を生成するステップにおいて、前記制御部は、
前記第1の暗号多項式と前記第2の暗号多項式との積を、所定の法多項式で除算する処理を行い、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a00,a01,a02,…,aij,…,aw-1,w-1) (wは前記第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b00,b01,b02,…,bij,…,bk-1,k-1) (kは前記第2の多次元データのサイズ)に対して、
ただし、Φは、m≧w2、およびm=2n(nは自然数)を満たす整数mによって、
Φm(x)=Z[x]/(xm+1)
で定義される剰余多項式環である、暗号処理プログラム。 - 制御部と、記憶部とを備えるコンピュータが実行するプログラムであって、
前記制御部が、第1の多次元データおよび第2の多次元データを前記記憶部に記憶させるステップと、
前記制御部が、前記記憶部から読み込んだ前記第1の多次元データに対応する第1の多項式を生成するステップと、
前記制御部が、前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成するステップと、
前記制御部が、前記記憶部から読み込んだ前記第2の多次元データに対応する第2の多項式を生成するステップと、
前記制御部が、前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成するステップと、
前記制御部が、前記第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成するステップと、
前記制御部が、前記第3の暗号多項式を表す暗号情報を出力するステップと、を備え、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a00,a01,a02,…,aij,…,aw-1,w-1) (wは第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b00,b01,b02,…,bij,…,bk-1,k-1) (kは第2の多次元データのサイズ)に対して、
ただし、Φは、m≧2w2、およびm=2n(nは自然数)を満たす次数mの剰余多項式環である、暗号処理プログラム。 - 制御部と、記憶部とを備えるコンピュータにおいて、
前記制御部が、第1の多次元データおよび第2の多次元データを前記記憶部に記憶させ、
前記制御部が、前記記憶部から読み込んだ前記第1の多次元データに対応する第1の多項式を生成し、
前記制御部が、前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、
前記制御部が、前記記憶部から読み込んだ前記第2の多次元データに対応する第2の多項式を生成し、
前記制御部が、前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、
前記制御部が、前記第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、
前記制御部が、前記第3の暗号多項式を表す暗号情報を出力する方法であって、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第3の暗号多項式を生成するステップにおいて、前記制御部は、
前記第1の暗号多項式と前記第2の暗号多項式との積を、所定の法多項式で除算する処理を行い、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a 00 ,a 01 ,a 02 ,…,a ij ,…,a w-1,w-1 ) (wは前記第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b 00 ,b 01 ,b 02 ,…,b ij ,…,b k-1,k-1 ) (kは前記第2の多次元データのサイズ)に対して、
ただし、Φは、m≧w 2 、およびm=2 n (nは自然数)を満たす整数mによって、
Φ m (x)=Z[x]/(x m +1)
で定義される剰余多項式環である、暗号処理方法。 - 制御部と、記憶部とを備えるコンピュータにおいて、
前記制御部が、第1の多次元データおよび第2の多次元データを前記記憶部に記憶させ、
前記制御部が、前記記憶部から読み込んだ前記第1の多次元データに対応する第1の多項式を生成し、
前記制御部が、前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、
前記制御部が、前記記憶部から読み込んだ前記第2の多次元データに対応する第2の多項式を生成し、
前記制御部が、前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、
前記制御部が、前記第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、
前記制御部が、前記第3の暗号多項式を表す暗号情報を出力する方法であって、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a 00 ,a 01 ,a 02 ,…,a ij ,…,a w-1,w-1 ) (wは第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b 00 ,b 01 ,b 02 ,…,b ij ,…,b k-1,k-1 ) (kは第2の多次元データのサイズ)に対して、
ただし、Φは、m≧2w 2 、およびm=2 n (nは自然数)を満たす次数mの剰余多項式環である、暗号処理方法。 - 制御部と、記憶部とを備える暗号処理装置であって、
前記制御部は、
第1の多次元データおよび第2の多次元データを前記記憶部に記憶させ、
前記記憶部から読み込んだ前記第1の多次元データに対応する第1の多項式を生成し、
前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、
前記記憶部から読み込んだ前記第2の多次元データに対応する第2の多項式を生成し、
前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、
前記第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、
前記第3の暗号多項式を表す暗号情報を出力し、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第3の暗号多項式を生成するステップにおいて、前記制御部は、
前記第1の暗号多項式と前記第2の暗号多項式との積を、所定の法多項式で除算する処理を行い、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a 00 ,a 01 ,a 02 ,…,a ij ,…,a w-1,w-1 ) (wは前記第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b 00 ,b 01 ,b 02 ,…,b ij ,…,b k-1,k-1 ) (kは前記第2の多次元データのサイズ)に対して、
ただし、Φは、m≧w 2 、およびm=2 n (nは自然数)を満たす整数mによって、
Φ m (x)=Z[x]/(x m +1)
で定義される剰余多項式環である、暗号処理装置。 - 制御部と、記憶部とを備える暗号処理装置であって、
前記制御部は、
第1の多次元データおよび第2の多次元データを前記記憶部に記憶させ、
前記記憶部から読み込んだ前記第1の多次元データに対応する第1の多項式を生成し、
前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、
前記記憶部から読み込んだ前記第2の多次元データに対応する第2の多項式を生成し、
前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、
前記第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、
前記第3の暗号多項式を表す暗号情報を出力し、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a 00 ,a 01 ,a 02 ,…,a ij ,…,a w-1,w-1 ) (wは第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b 00 ,b 01 ,b 02 ,…,b ij ,…,b k-1,k-1 ) (kは第2の多次元データのサイズ)に対して、
ただし、Φは、m≧2w 2 、およびm=2 n (nは自然数)を満たす次数mの剰余多項式環である、暗号処理方法。 - 第1の多次元データを記憶する端末装置と、第2の多次元データを記憶するサーバ装置と、を備える暗号処理システムであって、
前記端末装置は、
前記第1の多次元データに対応する第1の多項式を生成し、
前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、
前記第1の暗号多項式を前記サーバ装置に送信し、
前記サーバ装置は、
前記第2の多次元データに対応する第2の多項式を生成し、
前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、
前記端末装置から受信した第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、
前記第3の暗号多項式を表す暗号情報を前記端末装置に送信し、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第3の暗号多項式を生成するステップにおいて、前記制御部は、
前記第1の暗号多項式と前記第2の暗号多項式との積を、所定の法多項式で除算する処理を行い、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a 00 ,a 01 ,a 02 ,…,a ij ,…,a w-1,w-1 ) (wは前記第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b 00 ,b 01 ,b 02 ,…,b ij ,…,b k-1,k-1 ) (kは前記第2の多次元データのサイズ)に対して、
ただし、Φは、m≧w 2 、およびm=2 n (nは自然数)を満たす整数mによって、
Φ m (x)=Z[x]/(x m +1)
で定義される剰余多項式環である、暗号処理システム。 - 第1の多次元データを記憶する端末装置と、第2の多次元データを記憶するサーバ装置と、を備える暗号処理システムであって、
前記端末装置は、
前記第1の多次元データに対応する第1の多項式を生成し、
前記第1の多項式を準同型暗号により暗号化した第1の暗号多項式を生成し、
前記第1の暗号多項式を前記サーバ装置に送信し、
前記サーバ装置は、
前記第2の多次元データに対応する第2の多項式を生成し、
前記第2の多項式を準同型暗号により暗号化した第2の暗号多項式を生成し、
前記端末装置から受信した第1の暗号多項式と前記第2の暗号多項式とに基づいて、第3の多項式を準同型暗号により暗号化した暗号結果に対応する第3の暗号多項式を生成し、
前記第3の暗号多項式を表す暗号情報を前記端末装置に送信し、
前記第3の多項式の所定の項は、前記第1の多次元データに前記第2の多次元データを適用した畳み込み演算の結果に対応する係数を有し、
前記多項式は、剰余多項式環であり、
前記第1の多次元データは画像データであり、前記第1の多項式は当該画像データの各画素値に対応する係数を有し、
前記第2の多次元データはカーネルのデータであり、前記第2の多項式は当該カーネルの各重みに対応する係数を有し、
前記第1の多項式を生成するステップにおいて、前記制御部は、
前記画像データの所定の位置からストライド1のラスタ走査をして得られる画素値を、前記第1の多項式の第1の次数の項から昇冪の順に係数として挿入し、
前記第2の多項式を生成するステップにおいて、前記制御部は、
前記画像データと行および列が同じサイズになるように、又は列サイズのみ同じ大きさとなるようにゼロパディングされたカーネルにおいて、所定の位置からストライド1のラスタ走査をして得られる重みを、前記第2の多項式の第2の次数の項から降冪の順に係数として挿入し、
前記第1の多項式は、前記第1の多次元データである2次元データ
(a 00 ,a 01 ,a 02 ,…,a ij ,…,a w-1,w-1 ) (wは第1の多次元データのサイズ)に対して、
前記第2の多項式は、前記第2の多次元データである2次元データ
(b 00 ,b 01 ,b 02 ,…,b ij ,…,b k-1,k-1 ) (kは第2の多次元データのサイズ)に対して、
ただし、Φは、m≧2w 2 、およびm=2 n (nは自然数)を満たす次数mの剰余多項式環である、暗号処理システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022103175A JP2023066359A (ja) | 2021-10-28 | 2022-06-28 | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム |
PCT/JP2022/038172 WO2023074386A1 (ja) | 2021-10-28 | 2022-10-13 | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021176099 | 2021-10-28 | ||
JP2021176099 | 2021-10-28 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022103175A Division JP2023066359A (ja) | 2021-10-28 | 2022-06-28 | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7101430B1 true JP7101430B1 (ja) | 2022-07-15 |
JP2023066339A JP2023066339A (ja) | 2023-05-15 |
Family
ID=82446202
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021210018A Active JP7101430B1 (ja) | 2021-10-28 | 2021-12-23 | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム |
JP2022103175A Pending JP2023066359A (ja) | 2021-10-28 | 2022-06-28 | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022103175A Pending JP2023066359A (ja) | 2021-10-28 | 2022-06-28 | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム |
Country Status (2)
Country | Link |
---|---|
JP (2) | JP7101430B1 (ja) |
WO (1) | WO2023074386A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016114855A (ja) | 2014-12-16 | 2016-06-23 | 富士通株式会社 | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
JP2019101083A (ja) | 2017-11-29 | 2019-06-24 | 国立研究開発法人情報通信研究機構 | 暗号化システム |
-
2021
- 2021-12-23 JP JP2021210018A patent/JP7101430B1/ja active Active
-
2022
- 2022-06-28 JP JP2022103175A patent/JP2023066359A/ja active Pending
- 2022-10-13 WO PCT/JP2022/038172 patent/WO2023074386A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016114855A (ja) | 2014-12-16 | 2016-06-23 | 富士通株式会社 | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
JP2019101083A (ja) | 2017-11-29 | 2019-06-24 | 国立研究開発法人情報通信研究機構 | 暗号化システム |
Non-Patent Citations (6)
Title |
---|
BENAISSA, A. et al.,TENSEAL: A LIBRARY FOR ENCRYPTED TENSOR OPERATIONS USING HOMOMORPHIC ENCRYPTION, [online],arXiv:2104.03152v2,2021年04月28日,pp.1-12,https://arxiv.org/abs/2104.03152,[2022年4月4日検索] |
CHELLAPILLA, K., PURI, S. and SIMARD, P.,High Performance Convolutional Neural Networks for Document Processing,[online],2006年,pp.1-6,https://hal.inria.fr/inria-00112631,[2022年4月4日検索] |
DUONG, D. H., MISHRA, P. K, and YASUDA, M.,Efficient Secure Matrix Multiplication over LWE-Based Homomorphic Encryption,Faculty of Engineering and Information Sciences,[online],2016年,Papers: Part B. 1951.,pp.69-83,URL:https://ro.uow.edu.au/eispapers1/1951,[2022年4月4日検索] |
LU, Y. et al.,FFConv: Fast Factorized Neural Network Inference on Encrypted Data,[online],arXiv:2102.03494v1,2021年02月06日,pp.1-9,https://arxiv.org/abs/2102.03494 |
t-tkd3a,Convolution処理の手法 Im2Col方式の図解,[online],2017年07月08日,pp.1-27,https://qiita.com/t-tkd3a/items/6b17f296d61d14e12953,[2022年4月4日検索] |
陸文杰, 佐久間淳,Somewhat準同型暗号上の行列ベクトル積のための効率的なパッキング手法,2015年 暗号と情報セキュリティシンポジウム 講演論文集,2015年01月,pp.1-8 |
Also Published As
Publication number | Publication date |
---|---|
WO2023074386A1 (ja) | 2023-05-04 |
JP2023066339A (ja) | 2023-05-15 |
JP2023066359A (ja) | 2023-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lou et al. | Hemet: A homomorphic-encryption-friendly privacy-preserving mobile neural network architecture | |
JP6083234B2 (ja) | 暗号処理装置 | |
JP5966877B2 (ja) | 復号方法、復号プログラム、復号装置、および鍵生成方法 | |
US20200228307A1 (en) | Apparatus for processing approximately encrypted messages and methods thereof | |
US11368279B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
US11374735B2 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
Yan et al. | Chinese remainder theorem-based secret image sharing for (k, n) threshold | |
US20200374101A1 (en) | Encryption processing system, encryption processing device and recording medium | |
Abu Dalhoum et al. | Digital image scrambling based on elementary cellular automata | |
JP7389446B2 (ja) | 暗号化/復号化装置、暗号化/復号化方法並びに該方法を実行するためのコンピュータプログラム | |
CN111241568B (zh) | 加密方法、解密方法、装置、计算机设备和存储介质 | |
Agrawal et al. | Fast arithmetic hardware library for rlwe-based homomorphic encryption | |
Ran et al. | CryptoGCN: Fast and scalable homomorphically encrypted graph convolutional network inference | |
CN115905785A (zh) | 实行瓦片的环境中的高效卷积 | |
Bian et al. | APAS: Application-specific accelerators for RLWE-based homomorphic linear transformations | |
JP7101430B1 (ja) | 暗号処理プログラム、暗号処理方法、暗号処理装置、暗号処理システム | |
US11343070B2 (en) | System and method for performing a fully homomorphic encryption on a plain text | |
JP7117964B2 (ja) | 復号装置、暗号システム、復号方法及び復号プログラム | |
EP4177869A1 (en) | Crypto processor and electronic device including the same | |
Foster et al. | Flexible HLS-based implementation of the Karatsuba multiplier targeting homomorphic encryption schemes | |
KR100954843B1 (ko) | 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체 | |
JP2010049216A (ja) | 代数的トーラスを用いたデータ圧縮処理を行う装置およびプログラム | |
Li et al. | Lightweight and Efficient Privacy-Preserving Multimodal Representation Inference via Fully Homomorphic Encryption | |
CN115276950B (zh) | 隐私数据的处理方法、装置和计算设备 | |
KR102337865B1 (ko) | 동형 암호에 기초한 산술 연산 시스템 및 이를 이용한 동형 암호 산술 연산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211223 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220603 |
|
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: 20220621 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220628 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7101430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |