JP5500277B2 - 共通鍵暗号機能を搭載した暗号化装置及び組込装置 - Google Patents
共通鍵暗号機能を搭載した暗号化装置及び組込装置 Download PDFInfo
- Publication number
- JP5500277B2 JP5500277B2 JP2013013329A JP2013013329A JP5500277B2 JP 5500277 B2 JP5500277 B2 JP 5500277B2 JP 2013013329 A JP2013013329 A JP 2013013329A JP 2013013329 A JP2013013329 A JP 2013013329A JP 5500277 B2 JP5500277 B2 JP 5500277B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- circuit
- value
- multiplication
- data
- 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
Description
AESは128-bitを暗号化単位とするアルゴリズムである。すなわち128-bitの平文から128-bitの暗号文を生成する。秘密鍵は128,192,256-bitの3種類から選択することができる。拡大鍵処理を実行することで、秘密鍵からN+1個の128-bit拡大鍵を生成する。AESのラウンド処理は, RoundKey, Subbyte, ShiftRow, MixColumnの4種類から構成され、これらのうちRoundKeyにおいて拡大鍵が使用される。ラウンド処理に平文を入力することで、RoundKey, Subbyte, ShiftRow, MixColumnの順番の処理をN-1回繰り返す。次に、RoundKey, Subbyte, ShiftRow, RoundKeyの処理を実行し暗号文を出力する。この繰り返し回数Nは秘密鍵のビット長によって異なり、128-bitの場合N=10, 192-bitの場合N=12, 256-bitの場合N=14である。RoundKeyの処理を図3に、Subbyteの処理を図4に、MixColumnの処理を図5に、ShiftRowの処理を図6に示す。
以下では、DPAによる秘密鍵解読手法について説明を行う。DPAは、図1のラウンド処理に関する消費電力を測定することで、秘密鍵を解読する手法である。以下では、DPAを用いて解読を行うことができる共通鍵暗号の処理構成について、AESに限定せずに説明を行う。一般的な共通鍵暗号では、拡大鍵XOR処理(図7)、線形変換処理(図8)、非線形変換処理(図3)の3つを組み合わせてラウンド処理を構成し、ラウンド処理を複数回繰り返すことで構成される。図7に示す通り、拡大鍵XOR処理は入力データXに対して、拡大鍵Kの排他的論理和(XOR)の演算結果Zを出力する処理である。図8は線形変換処理であり、入力データXに対して、Z=L(X)を満たすZを出力する処理である。このとき、Lは任意のX,Yに関して、
最も簡単な例として、図7と図9を組み合わせた図10の処理に対してDPAを用いることで、拡大鍵Kを解読できることを示す。なお、図10は、AESにおけるRoundKey(図3)とSubbyte(図4)をあわせた構造と等価である。
G1(k’j) = { G| zj = wj(mj○k’j)のe番目のビット値=1 } (2)
そして、以下に示す電力差分曲線DG(k’j)を作成する。
DG(k’i) = (集合G1に属する電力消費曲線の平均)
- (集合G0に属する電力消費曲線の平均) (3)
- (G0に属するzjの平均ハミングウェイト) = 1 (4)
- (G0に属するzjの平均ハミングウェイト) = 0 (5)
以下では、SPAによる秘密鍵解読手法について説明を行う。この攻撃は、
図16において、Mは平文など攻撃者にKnownな値、Kは鍵などの攻撃者にUnknownな値である。X=M○KのXOR演算を行った後、データYとの乗算処理Z=X◎Yを行う。Yの値は攻撃者にUnknowな値である。攻撃者はこの処理に対してSPAによる観察を行い、Mの値を変化させながらX◎Yの演算におけるゼロ乗算の発生の有無を観察する。もし、ゼロ乗算が観察された場合、X=0である。つまり、M○K=0であることが分かるので、K=MつまりUnknownなKがMと一致することが分かり、Kの解読に成功する。この攻撃を成功させるためには、Yの値は0以外なら何でも良い任意の値である。
図17において、Mは平文など攻撃者にKnownな値、Kは鍵などの攻撃者にUnknownな値である。αは任意の変換関数であり、攻撃者がゼロに関する逆変換α-1(0)を(つまり、α(z)=0を満たすzを)演算可能であれば、線型・非線型いずれの変換でも良い。V=M○KのXOR演算、X=α(V)の演算を行った後、データYとの乗算処理Z=X◎Yを行う。Yの値は攻撃者にUnknowな値である。攻撃者はこの処理に対してSPAによる観察を行い、Mの値を変化させながらX◎Yの演算におけるゼロ乗算の発生の有無を観察する。もし、ゼロ乗算が観察された場合、X=0である。つまり、α(M○K)=0であるので、M○K=zであることが分かる。つまりK=M○zが分かるので、Kの解読に成功する。
従来のDPA対策法としては、暗号処理に対策を施し消費電力をランダム化する手法が存在する。この手法を用いた対策法として、以下の2つの従来例が知られており、下記に従来例1、従来例2として示す。また、DPA対策なしのAES回路に対して、Subbyte回路の縮小を実現する方法を、以下の従来例3に示す。従来例1,2は、Subbyteの回路を乗算処理ではなくテーブル演算で実行するため、ゼロ乗算SPAに対して安全であるので、DPA対策を行うことでそのままPA対策となることに注意されたい。
消費電力をランダム化する手法の代表的なものとして、masking method と呼ばれている手法が知られている(下記非特許文献8、以下「従来例1」と呼ぶ)。DPA対策なしの暗号処理において計算されるデータをMとすると、従来例1に記載されているDPA対策は、データMを計算する代わりに、M’=M○Rで表されるデータM’,Rを計算することで暗号処理を行う方法である。ただしRは乱数であり、暗号処理を実行する度に発生させる値である。この方法により、暗号処理のデータをランダムな値でマスクされる。よって、データがランダム化されることで消費電力もランダム化されるため、PAに安全な処理を実現することができる。以下の説明では、RのようにPA対策なしのデータに対してXORされる値をマスク値と呼ぶ。
課題1.DPA対策無しの回路と比較して、回路規模が大きい。
課題2.DPA対策無しの回路と比較して、処理速度が遅い。
従来例2
従来例1の課題2を解消するための方法が下記特許文献1に公開されている(以下本書では「従来例2」と記す)。従来例1ではマスクする値をランダムに生成していたのに対し、従来例2は事前計算された複数の固定値の中から一つを乱数によって選択した値によりマスクする。この選択されたマスク値をRiと表記する。従来例2では、従来例1と同様に、M’i=Mi○Riを満たすデータM’i,Riを計算するが、Riは事前計算された値であるため、M’i,Riの両方を計算する必要はなく、M’iのみを計算すれば良い。乱数が事前計算された値であるため、従来例1と異なりSboxのテーブルデータを動的に更新する必要はなく、事前計算された静的なデータを複数用意すれば良いので、従来例1より高速な処理を実現することができる。従来例2のDPA対策方法を用いることで、図18に示したDPA対策無しのAES暗号処理は、以下の図20に示すような暗号処理に置き換えられる。
課題1.DPA対策無しの回路と比較して、回路規模が大きい。
従来例3
AESのSboxの回路規模を小さくする方法として、合成体(Composite Field)を用いた方法が知られている。(下記非特許文献9、以下「従来例3」と呼ぶ)この方法は、SPA,DPA対策を用いないAES回路に適用できる方法として知られている。
課題3.SPA,DPAに対して安全な処理を実現することができない。
なお、GF(28)の元とGF(((22)2)2)の元を用いた乗算◎は以下の種類が知られている。乗算◎、及びXOR演算○に関しては(law-1), (law-2), (law-3), (law-4) に示される法則が成立する。
- c=a◎bで定義される8-bit´8-bit乗算のみ定義される。a,b,cは全て8-bit値。
・ GF(((22)2)2)の乗算: 以下の3種類が定義される。
- c=a◎bで定義される8-bit´8-bit乗算。a,b,cは全て8-bit値。
- c=a◎bで定義される8-bit´4-bit乗算。a,cは8-bit値、bは4-bit値。
- c=a◎bで定義される4-bit´4-bit乗算。a,b,cは全て4-bit値。
ただし、a,bは8-bitもしくは4-bitデータであり、GF(28)もしくはGF(((22)2)2)の元。
(law-2) a◎(b○c) = a◎b○a◎c
ただし、a,b,cは8-bitもしくは4-bitデータであり、GF(28)もしくはGF(((22)2)2)の元。
(law-3) a○a=0
ただし、aは8-bitもしくは4-bitデータであり、GF(28)もしくはGF(((22)2)2)の元。
(law-4) a◎b = aH◎b || aL◎b
ただし、aは8-bitデータ、aHはaの上位4-bit, aLはaの下位4-bit、bは4-bitデータである。||はビット結合(concatenation)を表す記号であり、例えばビット値(1110)2は(1110)2=(11)2 || (10)2と表記される。また、a, aH, aLの関係はa=aH||aLと表記される。a, aH, aL, bはGF(((22)2)2)の元である。
ここでは、表1に示す3つの特徴全てについて優れた効果を発揮する本発明の手段を示す。この手段を説明するために、従来例2と従来例3の単純な組み合わせを示したうえで、本発明による解決手段を示す。最初に、従来例2と3の単純な組み合わせの一つを図24に示す。
J1=(X○R’)◎(Y○S’)
J2=S’◎(X○R’)
J3=R’◎(Y○S’)
J4=R’◎S’
J0=J1○J2○J3○J4○fr
を演算して出力J0=X◎Y○frを演算する演算回路又はこれと等価な演算回路によって構成される。
J1=(X○R’)◎(Y○R’)
J2=R’◎((X○R’)○(Y○R’)○R’)
J0=J1○J2○fr
を演算して出力J0=X◎Y○frを演算する演算回路又はこれと等価な演算回路によって構成される。
J1=(X○R’)◎(Y○R’L)
J2=(Y○R’H)◎R’H○R’H 2
J3=((X○R’)○(Y○R’L)○R’L)◎R’L
J0=J1○(J2||(0000)2)○J3○fr
を演算して出力J0=X◎Y○frを演算する演算回路又はこれと等価な演算回路によって構成される。
J1=(XH○R’L)◎(Y○R’L)
J2=((XH○R’L)○(Y○R’L)○R’L)◎R’L
J3=(XL○R’L)◎(Y○R’L)
J4=((XL○R’L)○(Y○R’L)○R’L)◎R’L
J0=((J1○J2)||(J3○J4))○fr
を演算して出力J0=X◎Y○frを演算する演算回路又はこれと等価な演算回路によって構成される。
J1=(U○R)◎(U16○R16)
J2=R16◎(U○R)
J3=R◎(U16○R16)
J4=R◎R16
J0=J1○J2○J3○J4○cr
の演算又はこれと等価な演算を実行する演算回路群とから構成され、J0をU17○crとして4ビット対4ビット変換テーブル回路へ入力させ、U16○R16及びR16をU16○R’及びR’としてmaskedU-17◎U16計算回路に入力させる。
J1=(U○R)◎(U16○R)
J2=R◎((U○R)○(U16○R)○R)
J0=J1○J2○cr
の演算又はこれと等価な演算を実行する演算回路群とから構成され、J0をU17○crとして4ビット対4ビット変換テーブル回路へ入力させ、U16○R及びRをU16○R’及びR’としてmaskedU-17◎U16計算回路に入力させる。
J1=(U-17○S○dr)◎(U16○R’)
J2=R’◎(U-17○S○dr)
J3=(S○dr)◎(U16○R’)
J4=(S○dr)◎R’
J0=J1○J2○J3○J4○fr
の演算又はこれと等価な演算を実行する演算回路群とから構成され、J0をU-1○frとして出力する。
J1=(U16○(dr||dr)○R’)◎(U-17○dr○R’H)
J2=(U-17○dr○R’H)◎(dr○R’H)○(dr○R’H)2
J3=((U16○(dr||dr)○R’)○(U-17○dr○R’L)○(dr○R’L))◎(dr○R’L)
J0=J1○(J2||(0000)2)○J3○fr
の演算又はこれと等価な演算を実行する演算回路群とから構成され、J0をU-1○frとして出力する。
J1=(U16 H○R’L)◎(U-17○R’L)
J2=((U16 H○R’L)○(U-17○R’L)○R’L)◎R’L
J3=(U16 L○R’L)◎(U-17○R’L)
J4=((U16 L○R’L)○(U-17○R’L)○R’L)◎R’L
J0=((J1○J2)||(J3○J4))○fr
の演算又はこれと等価な演算を実行する演算回路群とから構成され、J0をU-1○frとして出力する。
本発明は、「背景技術」において指摘した課題1,2,3を全て解決したAES暗号処理装置を実現する。そのために、以下の(条件-1), (条件-2), (条件-3), (条件-4)を満たした処理を行う。
(条件-2) AESのSubbyte処理は、合成体による逆元演算をSPA,DPAに安全な方法で実行。
(条件-3) (条件-2)の合成体演算におけるテーブル処理は、従来例2による処理を行う。
(条件-4) (条件-2)の合成体演算における乗算には、常に乱数値マスク化データを入力。
乗算処理のみ乱数値マスク化データによる処理を行い、それ以外を固定値マスク化データによる処理を行うための、本発明の基本アイデアを図26に示す。
U17=U16◎UとU-1=U-17◎U16の両方の乗算に適用可能な方法である。(図27)
J1 = (X○R’)◎(Y○S’)
J2 = S’ ◎(X○R’)
J3 = R’ ◎(Y○S’)
J4 = R’ ◎S’
ただし、U17=U16◎UならX,Y,R’,S’は8-bit、U-1=U-17◎U16ならX,R’は8-bit, Y,S’は4-bitである。
J1 = X◎Y○ X◎S’ ○ Y◎R’○ R’◎S’
J2 = S’ ◎X○ S’ ◎ R’
J3 = R’ ◎Y○ R’ ◎S’
J4 = R’ ◎S’
であるので、J0 = J1○J2○J3○J4○fr= X◎Y○frを確認できる。
-U-1=U-17◎U16の場合:8-bit´4-bit乗算4回(もしくは4-bit´4-bit乗算8回)。
基本原理-1によるPA対策を用いた場合、PA対策なしにおける1回の乗算が4回の乗算に置き換えられる。この乗算回数の増加は、PA対策に伴うオーバヘッドとなる。よって、この置き換え後の乗算回数を減らすことが、PA対策に伴うオーバヘッドを減少させることになる。このオーバヘッドの減少を行うために、基本原理-1におけるS’に関して、S’=R’による特殊化を行ったものが(基本原理-2)である。この特殊化を行うことで、演算処理が簡略化されるため、PA対策なしにおける1回の乗算が2回の乗算に置き換えられる。
J2 = R’ ◎( (X○R’) ○(Y○R’) ○R’)
ただし、X,Y,R’は8-bitである。J1,J2を計算し、J0 = J1○J2○frによりJ0=X◎Y○frを得る。基本原理-2によりX◎Y○frを計算する回路を、記号としてMaskedMul_2(X○R’,Y○R’,R’,fr)により表現する。また (law-1)〜(law-3)を考慮すると、
J1 = X◎Y ○ X◎R’ ○ Y◎R’ ○ R’2
J2 = X ◎R’ ○ Y’ ◎ R’ ○R’2
であるので、J0 = J1○J2○fr= X◎Y○frを確認できる。
- U17=U16◎Uの場合:8-bit´8-bit乗算2回
基本原理-2は(law-1)〜(law-3)に基づいているため、任意の2進体と合成体の演算に適用可能である。
基本原理-2を用いることで、本発明1よりPA対策に伴う乗算回数のオーバヘッドを減少させることができるが、その技術を適用可能となるのはU17=U16◎Uに示される8-bit´8-bit乗算のみであり、U-1=U-17◎U16に示される8-bit´4-bit乗算には適用できなかった。この問題を改善するために、U-1=U-17◎U16に示す8-bit´4-bit乗算には適用可能であり、かつ基本原理-1より乗算回数のオーバヘッドを低減させる方法が以下に示す基本原理-3である。
J2 = (Y○R’H) ◎R’H ○ R’H 2
J3 = ((X○R’ ) ○ (Y○R’L) ○R’L) ◎ R’L
ただし、X,R’は8-bit, Y, R’H, R’Lは4-bitであり、R’=R’H||R’Lである。J1,J2,J3を計算し、J0 = J1○(J2 || (0000)2 )○J3○frによりJ0=X◎Y○frを得る。基本原理-3によりX◎Y○frを計算する回路を、記号としてMaskedMul_3(X○R’,Y○R’H,Y○R’L,R’H,R’L,fr)により表現する。また、(law-1)〜(law-4)を考慮すると、
= (XH ◎ Y ○ XH◎R’L ○ Y◎R’H ○ R’ H◎R’L) || (XL ◎ Y ○ XL◎R’L○ Y◎R’L○ R’ H◎R’L 2)
J2 || (0000)2 = (Y ◎R’H) || (0000)2
J3= (XH ○ R’H) ◎R’L || (XL○R’L○Y○R’L○ R’L) ◎R’L
= (XH◎R’L ○ R’ H◎R’L) || (XL◎ R’L○ YL◎R’L ○ R’L 2)
である。ただし、XH, XLはX=XH||XLを満たす4-bit値である。よって、J0 = J1○(J2 || (0000)2 )○J3○fr = ( (XH◎Y) || (XL◎Y) ) ○ frであるが、(law-4)より、X◎Y= ( (XH◎Y) || (XL ◎ Y) )を考慮すると、J0 = J1○(J2 || (0000)2 )○J3○fr =X◎Y○frを導出できる。
-U17=U16◎Uの場合:8-bit´4-bit乗算2回、4-bit´4-bit乗算1回、4-bit´4-bit自乗算1回。
-U17=U16◎Uの場合:8-bit´4-bit乗算φ回 (2.5<φ<3)
基本原理-3は(law-1)〜(law-4)に基づいているため、βγ=2を満たす合成体GF((…(2β1)…)βγ)の演算に対して適用可能である。
U-1=U-17◎U16に示される8-bit´4-bit乗算に関して、基本原理-1の場合4回の8-bit´4-bit乗算を必要とするのに対して、基本原理-3を用いることでφ回の8-bit´4-bit乗算(2.5<φ<3)まで減少させることに成功した。8-bit´4-bit乗算の性質を利用することで、この乗算回数をさらに減少させることができる方法が基本原理-4である。(law-4)より、8-bit´4-bit乗算は2つの4-bit´4-bit乗算に分解できる。基本原理-4では、これら個々の4-bit´4-bit乗算に入力される2つのデータに対し、(基本原理-2)と同様に、同一の乱数値のXORを行う(図30)。
J2 = ( (XH○R’L)○ (Y○R’L) ○ R’L) ◎R’L
J3= (XL○ R’L) ◎(Y○R’L)
J4= ( (XL○R’L) ○ (Y○R’L) ○ R’L) ◎ R’L
ただし、Xは8-bit、XH, XL, Y, R’Lは4-bitであり、X=XH||XLである。J1,J2,J3,J4を計算し、J0 = ( (J1○J2) || (J3○J4) ) ○frによりJ0=X◎Y○frを得る。 (law-1)〜(law-4)を考慮すると、
= XH◎Y ○ XH◎R’L ○ Y◎R’L ○ R’L 2○ XH◎R’L ○ Y◎R’L ○ R’L 2 = XH◎Y
J3○J4=(XL ○ R’L) ◎ (Y○R’L) ○(XL○R’L○Y○R’L○ R’L) ◎R’L
= XL◎Y ○ XL◎R’L ○ Y◎R’L ○ R’L 2○ XL◎R’L ○ Y◎R’L ○ R’L 2 = XL◎Y
である。基本原理-4によりX◎Y○frを計算する回路を、記号としてMaskedMul_4(XH○R’L,XL○R’L,Y○R’L, R’L,fr)により表現する。(law-4)から、X◎Y= ( (XH◎Y) || (XL ◎ Y) )であるので、J0 = ( (J1○J2) || (J3○J4) ) ○fr =X◎Y ○ frを確認できる。
-U17=U16◎Uの場合: 4-bit´4-bit乗算4回(8-bit´4-bit乗算2回と等価)。
基本原理-4は(law-1)〜(law-4)に基づいているため、βγ=2を満たす合成体GF((…(2β1)…)βγ)の演算に対して適用可能である。
基本原理-1, 基本原理-2, 基本原理-3, 基本原理-4に記した本発明の技術を、図23に示した従来例3に示した逆元演算に適用した実施形態を以下に示す。以下の実施形態の説明では、図31に示すように、逆元演算の処理のコア部分、つまり合成体の計算部分に対して本発明を用いた場合の実施形態を示す。本発明の実施形態において説明する逆元演算では、共通して以下のI〜IVのステップを実行する。
図31の計算は、「masked U16◎U計算」、「masked U-17◎U16計算」2つの乗算処理から構成される。これらは、データのマスク処理を実行しながら乗算処理を行う回路であり、それぞれ以下の機能を有する。
この回路の基本機能は、U○grを入力することで、U17○crを計算し出力することである。ただし、cr,grは乱数rによって選択される固定値マスクであり、crは4-bit, grは8-bitである。この固定値マスクcr, grはこの回路に対する入力として与える。この回路内部で乱数値マスク化されたデータによる乗算を実行するために、乱数Rを入力として与える。また、U16○R’, R’で表される2つのデータを出力し、masked U-17◎U16計算への入力として与える。R’として出力される値は、この回路の実施形態によって異なり、基本原理-1の乗算回路を用いた[第1の実施形態]の場合R’=R16であり、基本原理-2の乗算回路を用いた[第2の実施形態]の場合R’=Rである。[第1の実施形態][第2の実施形態]の詳細については、後に述べる。
この回路の基本機能は、U-17○dr及びU16○R’、乱数R’を入力することで、U-1○frを計算し出力することである。ただし、dr,frは乱数rによって選択される固定値マスクであり、drは4-bit, frは8-bitである。この固定値マスクdr, frはこの回路に対する入力として与える。
本発明の技術を用いたAES暗号処理装置は、「本発明の基本原理」に記した(条件-1), (条件-2), (条件-3), (条件-4)を満たすので、従来例1,2,3が解決できなかった課題1,2,3を全て解決できる。つまり、従来例では不可能であった、小さな回路規模(課題1の解決)、高速な処理速度(課題2の解決)、SPA,DPAに安全な処理(課題3の解決)の3点を全て満たしたAES暗号処理装置を実現することができる。従来例1,2,3と本発明の比較を表3に示す。
Claims (2)
- ○をXOR演算処理、◎を乗算処理とし、
4ビットのcr,8ビットのgr,4ビットのdr,及び8ビットのfrをそれぞれ乱数rによって選択される固定値マスクとし、8ビットのR、R’を乱数値マスクとして、8ビットの入力データU○grから8ビットの出力データU-1○frを、βγ=2を満たす合成体GF((…(2β1)…)βγ)において演算する共通鍵ブロック暗号化装置であって、
乱数値マスクをXORさせて実行するU16◎U計算により、前記入力データU○grから4ビット値U17○crを計算すると共に、それぞれ8ビットのU16○R’及びR’を計算するmaskedU16◎U計算回路と、
該maskedU16◎U計算回路から出力される前記U17○crから4ビットのU-17○drを計算する、乱数rによって選択された4ビット対4ビット変換テーブル回路と、
前記4ビット対4ビット変換テーブル回路から出力されるU-17○drと前記maskedU16◎U計算回路から出力されるU16○R’及びR’をそれぞれ入力し、前記出力データU-1○frを計算するmaskedU-17◎U16計算回路と、
を含むことを特徴とする暗号化装置。 - ○をXOR演算処理、◎を乗算処理とし、
4ビットのcr,8ビットのgr,4ビットのdr,及び8ビットのfrをそれぞれ乱数rによって選択される固定値マスクとし、8ビットのR、R’を乱数値マスクとして、8ビットの入力データU○grから8ビットの出力データU-1○frを、βγ=2を満たす合成体GF((…(2β1)…)βγ)において演算する共通鍵ブロック暗号化装置が行う共通鍵ブロック暗号化方法であって、
前記共通鍵ブロック暗号化装置が備えているmaskedU 16 ◎U計算回路が、乱数値マスクをXORさせて実行するU16◎U計算により、前記入力データU○grから4ビット値U17○crを計算すると共に、それぞれ8ビットのU16○R’及びR’を計算するmaskedU16◎U計算ステップと、
前記共通鍵ブロック暗号化装置が備えている、乱数rによって選択された4ビット対4ビット変換テーブル回路が、該maskedU16◎U計算ステップの出力である前記U17○crから4ビットのU-17○drを計算する4ビット対4ビット変換テーブルステップと、
前記共通鍵ブロック暗号化装置が備えているmaskedU -17 ◎U 16 計算回路が、前記4ビット対4ビット変換テーブルステップの出力であるU-17○drと前記maskedU16◎U計算ステップの出力であるU16○R’及びR’をそれぞれ入力し、前記出力データU-1○frを計算するmaskedU-17◎U16計算ステップと、
を行うことを特徴とする暗号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013013329A JP5500277B2 (ja) | 2013-01-28 | 2013-01-28 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013013329A JP5500277B2 (ja) | 2013-01-28 | 2013-01-28 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010505044A Division JP5229315B2 (ja) | 2008-03-31 | 2008-03-31 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013077034A JP2013077034A (ja) | 2013-04-25 |
JP5500277B2 true JP5500277B2 (ja) | 2014-05-21 |
Family
ID=48480480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013013329A Active JP5500277B2 (ja) | 2013-01-28 | 2013-01-28 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5500277B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3283951B1 (en) * | 2015-04-14 | 2020-01-29 | Capital One Services, LLC | System and method for secure firmware validation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4596686B2 (ja) * | 2001-06-13 | 2010-12-08 | 富士通株式会社 | Dpaに対して安全な暗号化 |
KR100594265B1 (ko) * | 2004-03-16 | 2006-06-30 | 삼성전자주식회사 | 매스킹 방법이 적용된 데이터 암호처리장치, aes암호시스템 및 aes 암호방법. |
KR100610367B1 (ko) * | 2004-06-19 | 2006-08-10 | 삼성전자주식회사 | 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치 |
-
2013
- 2013-01-28 JP JP2013013329A patent/JP5500277B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013077034A (ja) | 2013-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5229315B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
CN106788974B (zh) | 掩码s盒、分组密钥计算单元、装置及对应的构造方法 | |
JP4596686B2 (ja) | Dpaに対して安全な暗号化 | |
JP4909018B2 (ja) | 共通鍵暗号のための暗号化装置 | |
KR101026439B1 (ko) | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 | |
JP2008058830A (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
TW201044334A (en) | Encryption device, encryption method, and computer program | |
WO2011101994A1 (ja) | 暗号化装置 | |
US20170366339A1 (en) | Method of encryption with dynamic diffusion and confusion layers | |
KR20050078271A (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
KR101506499B1 (ko) | 마스킹이 적용된 seed를 이용한 암호화 방법 | |
Ara et al. | Dynamic key dependent S-Box for symmetric encryption for IoT devices | |
JP5680016B2 (ja) | 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム | |
KR100991713B1 (ko) | 마스킹을 이용한 aes 역원 연산 장치 및 방법과 이를 이용한 aes 암호 시스템 | |
Noura et al. | Tresc: Towards redesigning existing symmetric ciphers | |
JP5500277B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
Yang et al. | A new cryptosystem based on chaotic map and operations algebraic | |
Mohan et al. | Revised aes and its modes of operation | |
Ha et al. | Differential power analysis on block cipher ARIA | |
Yang et al. | A new block cipher based on chaotic map and group theory | |
Yli-Mäyry et al. | Chosen-input side-channel analysis on unrolled light-weight cryptographic hardware | |
Silva-Garcia et al. | The triple-DES-96 cryptographic system | |
JP5772934B2 (ja) | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム | |
Bai et al. | Securing SMS4 cipher against differential power analysis and its VLSI implementation | |
Cook et al. | Elastic aes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140123 |
|
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: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5500277 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |