JP7065888B2 - 暗号装置及び方法 - Google Patents
暗号装置及び方法 Download PDFInfo
- Publication number
- JP7065888B2 JP7065888B2 JP2019564444A JP2019564444A JP7065888B2 JP 7065888 B2 JP7065888 B2 JP 7065888B2 JP 2019564444 A JP2019564444 A JP 2019564444A JP 2019564444 A JP2019564444 A JP 2019564444A JP 7065888 B2 JP7065888 B2 JP 7065888B2
- Authority
- JP
- Japan
- Prior art keywords
- shares
- internal state
- data
- fourier
- fourier coefficients
- 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
- 238000000034 method Methods 0.000 title claims description 51
- 230000015654 memory Effects 0.000 claims description 73
- 238000001514 detection method Methods 0.000 claims description 39
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 description 58
- 230000006870 function Effects 0.000 description 30
- 239000013598 vector Substances 0.000 description 29
- 230000008859 change Effects 0.000 description 21
- 238000004590 computer program Methods 0.000 description 20
- 238000003860 storage Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000009466 transformation Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 11
- 230000002441 reversible effect Effects 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 241001074639 Eucalyptus albens Species 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000000354 decomposition reaction Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 238000005215 recombination Methods 0.000 description 2
- 230000006798 recombination Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000251730 Chondrichthyes Species 0.000 description 1
- 102000002262 Thromboplastin Human genes 0.000 description 1
- 108010000499 Thromboplastin Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- BTCSSZJGUNDROE-UHFFFAOYSA-N gamma-aminobutyric acid Chemical compound NCCCC(O)=O BTCSSZJGUNDROE-UHFFFAOYSA-N 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229940050561 matrix product Drugs 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Description
と定義される。
1.復号する(行列Diを使用する)
2.フーリエ変換(行列Fを使用する)
3.置換を行い、実際には17個のフーリエ係数を互いの隣に並べる(行列Tを使用する)。例えば、
4.ラウンドに依存する線形演算を行う(行列Liを使用する)
5.置換して元に戻す(行列T-1を使用する)
6.逆フーリエ変換(行列F-1を使用する)
7.符号化する(行列Ei+1を使用する)
8.ベクトルを加算する(ベクトルViを使用する)
L’i=Ei+1F-1T-1LiTFDi
を使用した、1回の行列乗算によって実施することができる。
Ai(X)=Vi+L’i(X)
と定義される。
- 線形演算が作用するシェアの集合ごとにフーリエ係数の集合を生じさせるフーリエ演算子、
- 不変量を保持しつつフーリエ係数に作用する1つ又は複数の線形演算子、及び
- 逆フーリエ演算子。
- 線形演算が作用するシェアの集合ごとにフーリエ係数の集合を生じさせるフーリエ演算子。フーリエ係数の集合は、あるインデックスを有する集合中の係数で順序付けられる。
- 例えば異なるインデックスのフーリエ係数とは無関係に、同じインデックスのフーリエ係数だけに作用する1つ又は複数の線形演算子。1つ又は複数の線形演算子は、不変量を保持しつつフーリエ係数に作用するようになされる。
- 逆フーリエ演算子。
- 入力データをフーリエ係数の1つ又は複数の集合に対応付ける演算子。何らかの関係を満たすために非表現係数が使用される場合、入力演算子は、その関係を満たすフーリエ係数の1つ又は複数の集合に入力データが対応付けられるように構成される。例えば、演算子は、入力データを、データ要素を表すフーリエ係数に対応付ける。例えば、集合当たり1つのフーリエ係数がデータ要素を表す場合、演算子は、入力のデータ要素を、対応するフーリエ係数に直接対応付ける。複数のフーリエ係数が共に一つの入力データ要素を表す場合(例えば和として)、フーリエ係数のうち1つを除くすべてがランダムに選択され、最後の1つは、入力データ要素及び選択されたランダムなフーリエ係数から算出される。残りの保護フーリエ係数については、関係を満たすようにランダムな選定が行われる。ランダムなフーリエ係数は、ランダム演算子を入力データに適用することによって選択される。ホワイトボックス実施では、別個の乱数発生器を使用することは、多くの場合、勧められない。唯一、グレーボックス実施では、ランダムフーリエ係数を乱数発生器によって選択することができる。
- 逆フーリエ変換、及び
- 例えばシェアの各々を符号化するための符号化演算。符号化は線形に選択されてよい。複数の異なる符号化があってよい。例えば、シェアの1つ1つに対して異なる符号化が使用される。
- 内部状態の符号化を除去する復号演算子
- 内部状態をフーリエ係数の1つ又は複数の集合に変換するフーリエ変換
- データ要素を表すフーリエ係数を、それらが表すデータ要素に対応付ける演算子
- 保護フーリエ係数を、歪み、例えば歪みベクトルに対応付ける演算子。この演算子は、関係を満たすフーリエ係数を0に、例えば歪み無しに対応付けるように構築される。例えば、関係を表すベクトルは、演算子のカーネル中にあってよい。
- 任意のラウンドインデックスr,0≦r<Nrについて、D(r)は、16nバイトのベクトル(B0,K,B16n-1)を入力として受け取り、0≦i、j<4、及び0≦m<nについて、
- 任意のラウンドインデックスr,0≦r<Nrについて、E(r)は、16nバイトのベクトル(B0,K,B16n-1)を入力として受け取り、0≦i、j<4、及び0≦m<nについて、
- Fは、16nバイトのシーケンス(B0,K,B16n)を入力として受け取り、各i,jについてX=B(Bn(i+4j),K,Bn(i+4j)+n-1)を設定し、Xにフーリエ変換を適用し、
- Tは、16nバイトのベクトル
- L(r)は、16nバイトのベクトル
各Rin,k、1≦k<nは、16バイトに作用し、1バイトを出力するランダムな加算演算子であり、Uinにおいて16回繰り返される。演算子Rin,kを構築する好適な方法の一つは、16バイトに対するランダムな可逆演算子Rを選定し、Rin,k(B0,K,B15)=B’k-1とし、ここで(B’0,K,B’15)=R(B0,K,B15)である。n=17のとき、この構築は、16個の入力バイト(B0,K,B15)と16個のバイト(R1(B0,K,B15),K,R16(B0,K,B15))との間に全単射があることを保証する。したがって、16個の入力バイトと16個のフーリエ係数
ここで、各Rout,k,1≦k<nは、16バイトに作用し、16バイトを出力するランダムな加算演算子であり、エントリがすべて同じである16バイトのベクトルに作用するとき、全ゼロベクトルが出力になるという性質を有する。
並びに線形変換の定数シェア
Mul(r,i,j,mx,my,x,y):
であり、ここで、総和はF256に対するものである。
Conv(r,i,j,X,Y):
Z←(0,K,0)
for 0≦mx<n
for 0≦my<n
であり、総和はF256に対するものである。
Square(r,i,j;X):
Z←(0,K,0)
for 0≦mx<n
であり、ここで、総和はF256に対するものである。
Inverse(r,i,j;X):
Y ← Square(r,i,j,X)
Z ← Conv(r,i,j,X,Y)
Y ← Square(r,i,j,Y)
X ← Conv(r,i,j,X,Z)
Y ← Square(r,i,j,Y)
Z ← Conv(r,i,j,X,Y)
Z ← Square(r,i,j,Z)
Z ← Square(r,i,j,Z)
Z ← Square(r,i,j,Z)
Y ← Conv(r,i,j,X,Z)
Y ← Square(r,i,j,Y)
return Y
ShareSbox(r,i,j,X)
Y←Inverse(r,i,j,X)
Y←Square(r,i,j,Y)
SubShares(r,B0,K,B16n-1):
for 0≦i<4
for 0≦j<4
(Bn(j+4j),K,Bn(j+4j)+n-1)←ShareSbox(r,i,j(Bn(i+4j),K,Bn(i+4j)+n-1))
return(B0,K,B16n-1)
AES(in0,K,in15)
for 0≦i<4
for 0≦j<4
for 0≦j<4
1.対角線に1があり、対角線より上にゼロがあり、対角線より下にランダムビットがある、サイズN×Nの二値行列Lを構築する。
2.対角線に1があり、対角線より下にゼロがあり、対角線より上にランダムビットがある、サイズN×Nの二値行列Uを構築する。
3.A=LUを返す。
1.サイズ8×8のランダムな可逆二値行列Aを構築する。
2.サイズ8×8(Nbytes-1)のランダムな二値行列Bを構築する。
3.サイズ8(Nbytes-1)×8(Nbytes-1)のランダムな可逆二値行列Cを構築する。
4.Rを、ブロック行列
5.対角線に1があり、対角線より上にゼロがあり、対角線より下にランダムビットがある、サイズ8(Nbytes-1)×8(Nbytes-1)のランダムな二値行列L’を構築する。
6.8×8の単位行列I8×8のL個のコピーを積み重ねることによってサイズ8(Nbytes-1)×8のブロック行列Dを構築する。
7.ブロック行列
8.A=LRL-1を返す。
1.行列Aをサイズ8×8のゼロ行列とする。
2.項4.2のアルゴリズムのステップ2~8を実行する。
1.入力データに暗号演算を行って出力データを得るようになされた電子暗号装置であって、電子暗号装置は、
- 入力データを受け取るようになされた入力インターフェースと、
- 内部状態を記憶するようになされたメモリであって、内部状態は1つ又は複数のデータ要素を含み、各データ要素は、メモリ内で対応するシェアの集合として表され、メモリ内のシェアの集合は、有限体における離散フーリエ変換に従って対応するフーリエ係数の集合を有し、メモリ内のシェアの集合に対応するフーリエ係数の集合が、それらの間で所定の関係を満たす、メモリと、
- プロセッサ回路であって、
- 内部状態を反復的に更新することによって暗号演算を行うことであって、入力データから初期内部状態が導出され、出力データは最終内部状態から導出され、内部状態を更新することは、更新後の内部状態のシェアの集合に対応する更新後のフーリエ係数の集合が、それらの間の所定の関係を不変量として満たすようになされる、行うことと、
- 最終内部状態に出力演算子を適用して出力データを導出することであって、出力演算子は、シェアの集合を、そのシェアの集合が表すデータ要素に歪みを足したものに対応付け、前記歪みは、フーリエ係数が所定の関係を満たす場合に歪みがゼロになるようにシェアの集合のフーリエ係数に依存する、導出することと、
を行うように構成されたプロセッサ回路と、を備える電子暗号装置。
2.シェアの集合は、前記シェアの集合に対応するフーリエ係数の部分集合によって決定されるデータ要素を表す、項1に記載の暗号装置。
3.シェアの集合は、前記シェアの集合に対応するフーリエ係数の1つに等しいデータ要素を表す、項1又は2に記載の暗号装置。
4.所定の関係は、異なるフーリエ係数の集合の少なくとも2つのフーリエ係数が等しいことを含む、項1乃至3のいずれかに記載の暗号装置。
5.フーリエ係数の集合中の各フーリエ係数は、1つを除いて、その他のフーリエ係数の集合中のそれぞれのフーリエ係数に等しい、項4に記載の暗号装置。
6.内部状態を更新することが、内部状態のデータ要素に非線形演算を適用することを有し、非線形演算は、内部状態のデータ要素を表す対応するシェアの集合中にあるメモリ内のシェアに作用することによって、データ要素に作用するようになされる、項1乃至5のいずれかに記載の電子暗号装置。
7.非線形演算が有限体における多項式であり、プロセッサ回路が、シェアの集合のべき乗を、シェアの集合自体とのシェアの集合の畳み込みとして算出するようになされる、項6に記載の暗号装置。
8.内部状態を更新することが、内部状態に線形演算を適用することを有し、線形演算は、内部状態の少なくとも2つのデータ要素を表す、メモリ内の少なくとも2つのシェアの集合に同時に作用する、項1乃至7のいずれかに記載の電子暗号装置。
9.線形演算が、
- 線形演算が作用するシェアの集合ごとにフーリエ係数の集合を生じさせるフーリエ演算子であって、フーリエ係数の集合は、インデックスを有する該集合中の係数で順序付けされる、フーリエ演算子と、
- 異なるインデックスのフーリエ係数とは無関係に、同じインデックスのフーリエ係数に作用する1つ又は複数の線形演算子であって、不変量を保持しつつフーリエ係数に作用するようになされる、1つ又は複数の線形演算子と、
- 逆フーリエ演算子と、
を連結することによって構築される、項8に記載の暗号装置。
10.暗号演算を行うことが、内部状態のすべて又は一部に鍵を追加することを有し、前記鍵は、メモリ内で対応するシェアの集合として表され、シェアの集合は、有限体における離散フーリエ変換に従って、鍵のシェアの集合に対応するフーリエ係数間で所定の関係を満たす、項1乃至9のいずれかに記載の暗号装置。
11.シェアの集合の合算ビットサイズが、少なくとも入力データのビットサイズと同じ大きさである、項1乃至10のいずれかに記載の暗号装置。
12.演算がブロック暗号である、項1乃至11のいずれかに記載の暗号装置。
13.データ要素を表すシェアの集合中のシェアが線形符号化で符号化される、項1乃至12のいずれかに記載の暗号装置。
14.プロセッサ回路が、平文入力データに入力演算子を適用するようになされ、前記入力演算子は、初期内部状態を表すシェアの複数の集合を生じさせ、シェアの複数の集合は所定の関係を満たす、項1乃至13のいずれかに記載の暗号装置。
15.入力データに暗号演算を行って出力データを得る電子暗号方法(500)であって、電子暗号方法は、
- 入力データを受け取る(510)ステップと、
- 内部状態を記憶する(530)ステップであって、内部状態は1つ又は複数のデータ要素を含み、各データ要素は、メモリ内で対応するシェアの集合として表され、メモリ内のシェアの集合は、有限体における離散フーリエ変換に従って対応するフーリエ係数の集合を有し、メモリ内のシェアの集合に対応するフーリエ係数の集合が、それらの間で所定の関係を満たす、ステップと、
- 内部状態を反復的に更新することによって暗号演算を行う(541、546)ステップであって、入力データから初期内部状態が導出され、出力データは最終内部状態から導出され、内部状態を更新することは、更新後の内部状態のシェアの集合に対応する更新後のフーリエ係数の集合が、それらの間の所定の関係を不変量として満たすようになされる、ステップと、
- 最終内部状態に出力演算子を適用して(522)、出力データを導出するステップであって、出力演算子は、シェアの集合を、そのシェアの集合が表すデータ要素に歪みを足したものに対応付け、前記歪みは、フーリエ係数が所定の関係を満たす場合に歪みがゼロになるようにシェアの集合のフーリエ係数に依存する、ステップと、を有する電子暗号方法。
16.項15に記載の方法をプロセッサシステムに行わせる命令を表す一時的又は非一時的なデータ(1020)を備えた、コンピュータ可読媒体(1000)。
- 現在の状態を複数の状態にコピーする。
- すべてのコピーの中でアルゴリズムの別個のスレッドを実行する。
- x1=x2=・・・=xnである場合かつその場合に限りf(x1,...,xn)=x1となる性質をもつ線形マップfを選ぶ。
- すべての分岐の結果にfを適用する。
- 導入:入力を、シェアの集合の最初の16個のフーリエ係数にコピーする(少なくとも17個のシェアを必要とする)
- 例えば上記で説明したようにShareSboxを実施する。
- 例えば上記で説明したように鍵を実施する。
- ShiftRows及びMixColumnsが対応するフーリエ係数に適用されるように、線形変換Liを実施する。
- 再構築:暗号文が、結果の最初の16個のフーリエ係数によって表される。
1.サイズ8×8ビットの20*51可逆行列、例えばi=0,...,19及びj=0,...,50についてのEi,jを選定する。
2.i=0,...,19について、Ei=diag(Ei,0,...,Ei,19)を定義する。
3.
1.i=0,...,18について、ランダムな線形マッピングUi:{0,1}128→{0,1}8を選定する。
2.Ijを、Ij(bin(x0),...,bin(x15))=bin(xj)に対応する8×128行列と定義する。
3.
1.j=0,…,5について、
- 128×128のランダムな可逆二値行列LDiを生成する。
- 128ビットのランダムな二値ベクトルKDiを生成する。
1.128ビットの鍵Kを与えられて、AESの鍵スケジュールに従ってラウンド鍵K’0=K,…,K’10を算出する。
2.i=0,...,9について、Ki=K’iとし、K10=MC*K’10とする(「最終AESラウンド」はmixcolumnsを有する)。
3.2つのランダムな128ビット鍵K11及びK12を生成する。
1.Ai:{0,1}408→{0,1}408が、i=0,...,19についてAi(x)=Li(x)+biによって定義されるとする。
2.ラウンド0:
- ランダムな152ビットv0及びランダムな152×152二値行列V0を生成する
-
-
- L0=E0*F*L’0*LIを算出する。
- 及びb0=E0*F*b’0。
51-2*16=19、及び19*8=152であるため、v0は152ビットであることに留意されたい。
3.ラウンド1:
- ランダムな152ビットv1及びランダムな152×152二値行列V1を生成する。
-
-
-
- 及びb1=E1*F*b’1。
4.ラウンド2:
- ランダムな152ビットv2及びランダムな152×152二値行列V2を生成する
-
-
-
- 及びb2=E2*F*b’2。
5.ラウンド3:
- ランダムな152ビットv3及びランダムな152×152二値行列V3を生成する。
-
-
-
- 及びb3=E3*F*b’3。
6.ラウンド4:
- ランダムな152ビットv4及びランダムな152×152二値行列V4を生成する
-
-
-
- 及びb4=E4*F*b’4。
7.ラウンドi=5,...,14:
- ランダムな152ビットvi及びランダムな152×152二値行列Viを生成する。
- L’i=diag(M*LS,Vi,M*LS)を算出する。
- b’i=(Ki-2+M*bs,vi,Ki-4+M*bS)を算出する。
-
- 及びbi=Ei*F*b’i。
8.ラウンド15:
- ランダムな152ビットv15及びランダムな152×152二値行列V15を生成する。
-
-
-
- 及びb15=E15*F*b’15。
9.ラウンド16:
- ランダムな152ビットv16及びランダムな152×152二値行列V16を生成する
- L’16=diag(Id,V16,M*LS)を算出する。
- b’16=(0,v16,K12+M*bS)を算出する。
-
- 及びb16=E16*F*b’16。
10.ラウンド17:
- ランダムな152ビットv17及びランダムな152×152二値行列V17を生成する。
- BとB+Idの両方が可逆となるように、ランダムな128×128ビット二値行列Bを生成する。
-
-
-
-
- 及びb17=E17*F*b’17。
11.ラウンド18:
- ランダムな152ビットv18及びランダムな152×152二値行列V18を生成する。
-
-
-
- 及びb18=E18*F*b’18。
12.ラウンド19:
- ランダムな152ビットv19及びランダムな152×152二値行列V19を生成する。
-
-
-
- 及びb19=b’19。
・128ビットの平文pを与えられる。
・
・
・128ビットの結果c=A19(x)。
- 入力データを受け取る(560)ステップと、
- 内部状態を記憶する(570)ステップであって、内部状態は1つ又は複数のデータ要素を含み、内部状態は、メモリ内でシェアの1つ又は複数の集合として表され、メモリ内のシェアの集合は、有限体における離散フーリエ変換に従って対応するフーリエ係数の集合を有し、シェアの集合に対応するフーリエ係数の真部分集合が、内部状態の1つ又は複数のデータ要素を決定する、ステップと、
- 内部状態を反復的に更新する(580)ことによって暗号演算を行うステップであって、入力データから初期内部状態が導出され、出力データは最終内部状態から導出され、内部状態を表すシェアの1つ又は複数の集合を更新することによって更新後の内部状態が形成され、更新後のシェアの集合に対応する更新後のフーリエ係数の真部分集合が、更新後の内部状態の1つ又は複数の更新後のデータ要素を決定する、ステップと、
- 最終内部状態に出力演算子を適用して(590)、出力データを導出するステップであって、出力演算子は、シェアの1つ又は複数の集合を出力データのデータ要素に対応付ける、ステップと、を有する。
- 入力データを受け取る(510)ステップと、
- 平文入力データに入力演算子を適用する(512)ステップであって、前記入力演算子は、初期内部状態を表すシェアの複数の集合を生じさせ、シェアの複数の集合は所定の関係を満たす、ステップと、
- 内部状態を記憶する(530)ステップであって、内部状態は1つ又は複数のデータ要素を含み、各データ要素は、メモリ内で対応するシェアの集合として表され、メモリ内のシェアの集合は、有限体における離散フーリエ変換に従って対応するフーリエ係数の集合を有し、メモリ内のシェアの集合に対応するフーリエ係数の集合はそれらの間で所定の関係を満たす、ステップと、
- 内部状態を反復的に更新するステップであって、内部状態を更新するステップは、更新後の内部状態のシェアの集合に対応する更新後のフーリエ係数の集合が、それらの間の所定の関係を不変量として満たすようになされ、更新するステップは、1つ若しくは複数の非線形演算子及び/又は1つ若しくは複数の非線形演算子546を適用する(541)ステップを有し、演算子が適用された後に、更新後の内部状態が530で再度記憶される、ステップと、
- 最終内部状態に出力演算子を適用して(522)出力データを導出するステップであって、出力演算子は、シェアの集合を、そのシェアの集合が表すデータ要素に歪みを足したものに対応付け、前記歪みは、フーリエ係数が所定の関係を満たす場合に歪みがゼロになるようにシェアの集合のフーリエ係数に依存し、例えば出力演算子は所定回数の更新ラウンドが内部状態で実行された後に適用される、ステップと、
- 出力データを出力する(520)ステップと、を有する。
100 暗号装置
110 入力インターフェース
112 入力演算子
120 出力インターフェース
122 出力演算子
130 内部状態記憶
141、142、143 非線形演算
146、147、148 線形演算
210 平文入力データ
211、212、213、214 内部状態
215 平文出力データ
310 平文内部状態
311、312、313 データ要素
320 シェアの集合として表された内部状態(符号化されていない)
321、322、323 シェアの集合
330 内部状態についてのフーリエ係数
331、332、333 フーリエ係数の集合
340 シェアの集合として表された内部状態(符号化されている)
341、342、343 符号化されたシェアの集合
Claims (17)
- 入力データに暗号演算を行って出力データを得る電子暗号装置であって、前記電子暗号装置は、
前記入力データを受け取る入力インターフェースと、
内部状態を記憶するメモリであって、前記内部状態は1つ又は複数のデータ要素を含み、前記内部状態は、前記メモリ内でシェアの1つ又は複数の集合として表され、前記メモリ内のシェアの集合は、有限体における離散フーリエ変換に従って対応するフーリエ係数の集合を有し、シェアの集合に対応する前記フーリエ係数の真部分集合が、前記内部状態の1つ又は複数のデータ要素を決定する、メモリと、
前記内部状態を反復的に更新することによって前記暗号演算を行うことであって、前記入力データから初期内部状態が導出され、前記出力データは最終内部状態から導出され、前記内部状態を表すシェアの前記1つ又は複数の集合を更新することによって更新後の内部状態が形成され、更新後のシェアの集合に対応する更新後のフーリエ係数の真部分集合が、更新後の前記内部状態の1つ又は複数の更新後のデータ要素を決定する、前記暗号演算を行うことと、
前記最終内部状態に出力演算子を適用して前記出力データを導出することであって、前記出力演算子は、シェアの前記1つ又は複数の集合を前記出力データのデータ要素に対応付ける、前記出力データを導出することと、
を行うプロセッサ回路と、
を備える、電子暗号装置。 - 前記シェアの集合に対応するフーリエ係数の集合が、前記内部状態の単一のデータ要素を表す少なくとも1つの係数を含む、請求項1に記載の電子暗号装置。
- 前記シェアの集合に対応するフーリエ係数の集合が、1つ又は複数の表現要素と1つ又は複数のエラー検出要素との両方を含み、前記表現要素は、前記内部状態の1つ又は複数のデータ要素を決定し、前記1つ又は複数のエラー検出要素は、前記シェアの集合の改ざんを検出するための冗長なデータを含む、請求項1又は2に記載の電子暗号装置。
- 前記メモリ内の前記シェアの1つ又は複数の集合に対応するフーリエ係数の1つ又は複数の集合中の1つ又は複数の係数がエラー検出要素であり、前記1つ又は複数のエラー検出要素はそれらの間で所定の関係を満たし、前記内部状態を更新することは前記所定の関係を維持し、前記シェアの1つ又は複数の集合を更新すること、及び/又は前記出力演算子が、歪みを含み、前記歪みは前記1つ又は複数のエラー検出要素に依存し、前記歪みは、前記1つ又は複数のエラー検出要素が前記所定の関係を満たす場合、前記更新及び/又は出力演算子の出力を影響されないままにする、請求項1から3のいずれか一項に記載の電子暗号装置。
- 前記シェアの集合に対応するフーリエ係数の集合の真部分集合が、前記内部状態の少なくとも2つのデータ要素を決定する、請求項1から4のいずれか一項に記載の電子暗号装置。
- 前記シェアの集合に対応するフーリエ係数の集合の真部分集合が、前記内部状態全体を決定する、請求項1から5のいずれか一項に記載の電子暗号装置。
- 前記内部状態を更新することが、前記内部状態の前記データ要素に非線形演算を適用することを有し、非線形演算は、前記内部状態のデータ要素を表す対応するシェアの集合中にある前記メモリ内のシェアに作用することによって、前記データ要素に作用する、請求項1から6のいずれか一項に記載の電子暗号装置。
- 前記非線形演算が前記有限体における多項式であり、前記プロセッサ回路は、シェアの集合のべき乗を、前記シェアの集合自体同士との畳み込みとして算出する、請求項7に記載の電子暗号装置。
- 前記内部状態を更新することが、前記内部状態に線形演算を適用することを有し、前記線形演算は、前記内部状態の少なくとも2つのデータ要素を表す前記メモリ内の少なくとも1つのシェアの集合に作用する、請求項1から8のいずれか一項に記載の電子暗号装置。
- 前記線形演算が作用するシェアの集合ごとにフーリエ係数の集合を生じさせるフーリエ演算子と、
前記フーリエ係数に作用する1つ又は複数の線形演算子と、
逆フーリエ演算子と、
を連結することによって、前記線形演算が構築される、請求項9に記載の電子暗号装置。 - 前記暗号演算を行うことが、前記内部状態のすべて又は一部に鍵を追加することを含み、前記鍵は、前記メモリ内で対応するシェアの集合として表される、請求項1から11のいずれか一項に記載の電子暗号装置。
- 前記暗号演算がブロック暗号である、請求項1から12のいずれか一項に記載の電子暗号装置。
- データ要素を表すシェアの集合中の前記シェアが線形符号化で符号化される、請求項1から13のいずれか一項に記載の電子暗号装置。
- 前記プロセッサ回路が、平文入力データに入力演算子を適用し、前記入力演算子は、前記初期内部状態を表すシェアの1つ又は複数の集合を生じさせる、請求項1から14のいずれか一項に記載の電子暗号装置。
- 入力データに暗号演算を行って出力データを得る電子暗号方法であって、前記電子暗号方法は、
前記入力データを受け取るステップと、
内部状態を記憶するステップであって、前記内部状態は1つ又は複数のデータ要素を含み、前記内部状態は、前記メモリ内でシェアの1つ又は複数の集合として表され、前記メモリ内のシェアの集合は、有限体における離散フーリエ変換に従って対応するフーリエ係数の集合を有し、シェアの集合に対応する前記フーリエ係数の真部分集合が、前記内部状態の1つ又は複数のデータ要素を決定する、記憶するステップと、
前記内部状態を反復的に更新することによって前記暗号演算を行うステップであって、前記入力データから初期内部状態が導出され、前記出力データは最終内部状態から導出され、前記内部状態を表すシェアの前記1つ又は複数の集合を更新することによって更新後の内部状態が形成され、更新後のシェアの集合に対応する更新後のフーリエ係数の真部分集合が、更新後の前記内部状態の1つ又は複数の更新後のデータ要素を決定する、前記暗号演算を行うステップと、
前記最終内部状態に出力演算子を適用して前記出力データを導出するステップであって、前記出力演算子は、前記シェアの1つ又は複数の集合を前記出力データのデータ要素に対応付ける、前記出力データを導出するステップと、
を有する、電子暗号方法。 - 請求項16に記載の方法をプロセッサシステムに行わせる命令を表す一時的又は非一時的なデータを備えた、コンピュータ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17172743.1A EP3407528A1 (en) | 2017-05-24 | 2017-05-24 | Cryptographic device and method |
EP17184028.3A EP3407529A1 (en) | 2017-05-24 | 2017-07-31 | Cryptographic device and method |
EP17184028.3 | 2017-07-31 | ||
PCT/EP2018/062830 WO2019025046A1 (en) | 2017-05-24 | 2018-05-17 | CRYPTOGRAPHIC DEVICE AND METHOD |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020529034A JP2020529034A (ja) | 2020-10-01 |
JP7065888B2 true JP7065888B2 (ja) | 2022-05-12 |
JP7065888B6 JP7065888B6 (ja) | 2022-06-07 |
Family
ID=58772755
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019564444A Active JP7065888B6 (ja) | 2017-05-24 | 2018-05-17 | 暗号装置及び方法 |
JP2019564439A Active JP7076474B2 (ja) | 2017-05-24 | 2018-05-22 | 暗号装置及び方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019564439A Active JP7076474B2 (ja) | 2017-05-24 | 2018-05-22 | 暗号装置及び方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11310030B2 (ja) |
EP (4) | EP3407528A1 (ja) |
JP (2) | JP7065888B6 (ja) |
CN (2) | CN110999201B (ja) |
BR (2) | BR112019024545A2 (ja) |
RU (2) | RU2020108662A (ja) |
WO (2) | WO2019025046A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3407528A1 (en) | 2017-05-24 | 2018-11-28 | Koninklijke Philips N.V. | Cryptographic device and method |
US11218291B2 (en) * | 2018-02-26 | 2022-01-04 | Stmicroelectronics (Rousset) Sas | Method and circuit for performing a substitution operation |
FR3078463A1 (fr) * | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | Procede et dispositif de realisation d'operations en table de substitution |
FR3078464A1 (fr) * | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | Procede et circuit de mise en oeuvre d'une table de substitution |
EP3664359A1 (en) * | 2018-12-07 | 2020-06-10 | Koninklijke Philips N.V. | A computation device using shared shares |
CN109714154B (zh) * | 2019-03-05 | 2021-10-29 | 同济大学 | 一种代码体积困难白盒安全模型下的白盒密码算法的实现方法 |
US12260311B2 (en) * | 2020-10-02 | 2025-03-25 | Google Llc | Neural networks with pre-normalized layers or regularization normalization layers |
CA3207933A1 (en) * | 2021-02-10 | 2022-08-18 | Matthew Brandon ROBINSON | Automorphic transformations of signal samples within a transmitter or receiver |
US12328210B1 (en) | 2021-10-06 | 2025-06-10 | Rampart Communications, Inc. | Methods and apparatus for signal correlation using a quadratic form |
US20240089086A1 (en) * | 2022-09-06 | 2024-03-14 | FortifyIQ, Inc. | Redundancy aes masking basis for attack mitigation using lookup tables |
CN115795515A (zh) * | 2022-12-22 | 2023-03-14 | 美的集团股份有限公司 | 数据加密方法和数据加密装置 |
CN118264403B (zh) * | 2024-05-30 | 2024-07-23 | 山东渤聚通云计算有限公司 | 一种应用于边缘计算智能网关的数据安全处理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012520589A (ja) | 2009-03-10 | 2012-09-06 | イルデト・コーポレート・ビー・ヴイ | 入力に依存する符号化を用いたホワイトボックス暗号システム |
WO2017063986A1 (en) | 2015-10-12 | 2017-04-20 | Koninklijke Philips N.V. | A cryptographic device and an encoding device |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6970935B1 (en) * | 2000-11-01 | 2005-11-29 | International Business Machines Corporation | Conversational networking via transport, coding and control conversational protocols |
FR2834174A1 (fr) * | 2001-12-20 | 2003-06-27 | Koninkl Philips Electronics Nv | Detection optimisee d'un marquage au sein d'un signal d'information |
US20040086117A1 (en) * | 2002-06-06 | 2004-05-06 | Petersen Mette Vesterager | Methods for improving unpredictability of output of pseudo-random number generators |
US20070053417A1 (en) * | 2005-09-08 | 2007-03-08 | Toshio Nagata | Methods and apparatus to perform fractional-spaced channel estimation for frequency-domain equalizers |
FR2893796B1 (fr) | 2005-11-21 | 2008-01-04 | Atmel Corp | Procede de protection par chiffrement |
US8130946B2 (en) * | 2007-03-20 | 2012-03-06 | Michael De Mare | Iterative symmetric key ciphers with keyed S-boxes using modular exponentiation |
JP5354914B2 (ja) | 2008-01-18 | 2013-11-27 | 三菱電機株式会社 | 暗号処理装置及び復号処理装置及びプログラム |
CN100551056C (zh) * | 2008-06-06 | 2009-10-14 | 南京邮电大学 | 基于高级加密标准的视频加密方法 |
JP6182132B2 (ja) * | 2011-04-05 | 2017-08-16 | イントリンシツク・イー・デー・ベー・ベー | メモリスタートアップ時のノイズに基づいた乱数生成システム |
US10009644B2 (en) * | 2012-12-04 | 2018-06-26 | Interaxon Inc | System and method for enhancing content using brain-state data |
US9734129B2 (en) * | 2014-04-22 | 2017-08-15 | Sandisk Technologies Llc | Low complexity partial parallel architectures for Fourier transform and inverse Fourier transform over subfields of a finite field |
WO2016187529A1 (en) * | 2015-05-20 | 2016-11-24 | Paul Rad | Systems and methods for secure file transmission and cloud storage |
NL2015745B1 (en) | 2015-11-09 | 2017-05-26 | Koninklijke Philips Nv | A cryptographic device arranged to compute a target block cipher. |
US10015009B2 (en) * | 2015-11-25 | 2018-07-03 | Nxp B.V. | Protecting white-box feistel network implementation against fault attack |
EP3407528A1 (en) | 2017-05-24 | 2018-11-28 | Koninklijke Philips N.V. | Cryptographic device and method |
EP3413500A1 (en) | 2017-06-09 | 2018-12-12 | Koninklijke Philips N.V. | Device and method to compute a block cipher |
-
2017
- 2017-05-24 EP EP17172743.1A patent/EP3407528A1/en not_active Withdrawn
- 2017-07-31 EP EP17184028.3A patent/EP3407529A1/en not_active Withdrawn
-
2018
- 2018-05-17 EP EP18727722.3A patent/EP3662612B1/en active Active
- 2018-05-17 JP JP2019564444A patent/JP7065888B6/ja active Active
- 2018-05-17 CN CN201880050622.1A patent/CN110999201B/zh active Active
- 2018-05-17 BR BR112019024545A patent/BR112019024545A2/pt not_active IP Right Cessation
- 2018-05-17 RU RU2020108662A patent/RU2020108662A/ru unknown
- 2018-05-17 US US16/615,425 patent/US11310030B2/en active Active
- 2018-05-17 WO PCT/EP2018/062830 patent/WO2019025046A1/en unknown
- 2018-05-22 JP JP2019564439A patent/JP7076474B2/ja active Active
- 2018-05-22 US US16/615,603 patent/US11368282B2/en active Active
- 2018-05-22 RU RU2019143090A patent/RU2019143090A/ru unknown
- 2018-05-22 BR BR112019024404A patent/BR112019024404A2/pt not_active IP Right Cessation
- 2018-05-22 EP EP18726464.3A patent/EP3632032B1/en active Active
- 2018-05-22 CN CN201880033665.9A patent/CN110663216B/zh active Active
- 2018-05-22 WO PCT/EP2018/063414 patent/WO2018215487A1/en active Application Filing
-
2022
- 2022-02-22 US US17/676,896 patent/US11818245B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012520589A (ja) | 2009-03-10 | 2012-09-06 | イルデト・コーポレート・ビー・ヴイ | 入力に依存する符号化を用いたホワイトボックス暗号システム |
WO2017063986A1 (en) | 2015-10-12 | 2017-04-20 | Koninklijke Philips N.V. | A cryptographic device and an encoding device |
Non-Patent Citations (2)
Title |
---|
Jean-Sebastien Coron et al.,Attack and Improvement of a Secure S-Box Calculation Based on the Fourier Transform,LNCS, International Workshop on Cryptographic Hardware and Embedded Systems,2008年,Vol. 5154,p. 1-14 |
辻村 達徳 ほか,テーブルネットワークを用いたFPGA実装AESとその電力差分解析耐性,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2006年11月10日,Vol.106 No.354,p.33-40 |
Also Published As
Publication number | Publication date |
---|---|
EP3662612A1 (en) | 2020-06-10 |
JP2020521392A (ja) | 2020-07-16 |
RU2019143090A (ru) | 2021-06-24 |
WO2019025046A1 (en) | 2019-02-07 |
JP2020529034A (ja) | 2020-10-01 |
US11310030B2 (en) | 2022-04-19 |
CN110999201A (zh) | 2020-04-10 |
US20200177371A1 (en) | 2020-06-04 |
RU2020108662A (ru) | 2021-09-02 |
BR112019024545A2 (pt) | 2020-06-09 |
EP3632032B1 (en) | 2021-07-07 |
EP3407528A1 (en) | 2018-11-28 |
JP7065888B6 (ja) | 2022-06-07 |
EP3632032A1 (en) | 2020-04-08 |
CN110663216A (zh) | 2020-01-07 |
CN110999201B (zh) | 2023-08-29 |
US20220182218A1 (en) | 2022-06-09 |
US20200177365A1 (en) | 2020-06-04 |
EP3407529A1 (en) | 2018-11-28 |
JP7076474B2 (ja) | 2022-05-27 |
US11818245B2 (en) | 2023-11-14 |
EP3662612B1 (en) | 2021-07-21 |
US11368282B2 (en) | 2022-06-21 |
BR112019024404A2 (pt) | 2020-06-09 |
WO2018215487A1 (en) | 2018-11-29 |
CN110663216B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7065888B2 (ja) | 暗号装置及び方法 | |
CN109661792B (zh) | 计算分组密码的设备和方法 | |
JP6517438B2 (ja) | ターゲットブロック暗号を計算する暗号デバイス | |
CN106953723B (zh) | 防止dfa攻击的拆分和合并方法 | |
CN105024803A (zh) | 白箱实现中的行为指纹 | |
RU2692419C1 (ru) | Криптографическое устройство и кодирующее устройство | |
CN105095695B (zh) | 经由白箱实现的不正确功能行为实现授权 | |
CN107273724B (zh) | 为白盒实施方案的输入和输出加水印 | |
CN109039596A (zh) | 利用加扰电路的白盒实施方案 | |
CN105184115A (zh) | 用于将隐式完整性或可信性检查包括到白箱实现中的方法 | |
CN113273131B (zh) | 使用共享的份额的计算设备 | |
CN105022937B (zh) | 用于将白箱实现紧附到周围程序的接口兼容方法 | |
CN105978680A (zh) | 在白盒实现方案中实现填充 | |
CN105281893A (zh) | 用于引入白箱实现对串集合的依赖性的方法 | |
CN105024808A (zh) | 无需改变密钥的安全性补丁 | |
JP2019504343A (ja) | 計算デバイス及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220216 |
|
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: 20220328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7065888 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |