JP2002366029A - Dpaに対して安全な暗号化 - Google Patents
Dpaに対して安全な暗号化Info
- Publication number
- JP2002366029A JP2002366029A JP2001178407A JP2001178407A JP2002366029A JP 2002366029 A JP2002366029 A JP 2002366029A JP 2001178407 A JP2001178407 A JP 2001178407A JP 2001178407 A JP2001178407 A JP 2001178407A JP 2002366029 A JP2002366029 A JP 2002366029A
- Authority
- JP
- Japan
- Prior art keywords
- encryption
- random number
- exclusive
- input
- fixed
- 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
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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/04—Masking or blinding
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
Abstract
理速度の向上と必要なRAM領域の削減を実現する。 【解決手段】 暗号化装置(300)は、乱数を発生す
る乱数発生器手段と、乱数に従ってq個の固定値の中の
1つを選択する第1の選択器(329)と、乱数に従っ
てq組の固定テーブルの中の1組を選択する選択器(3
39)と、を具えている。排他的論理和手段(333)
は、固定値と鍵の排他的論理和と入力の排他的論理和を
とる。非線形変換手段(334)は、1組の固定テーブ
ルに従って非線形変換を行う。別の暗号化装置(50
0)は、並列に結合された複数の暗号化部(511、5
13)と、乱数に従ってその複数の暗号化部の中の1つ
を選択する選択器(502)と、を具えている。
Description
野に関し、特に電力解析攻撃と呼ばれる暗号解読法に対
する暗号のセキュリティ(安全)のための技術に関す
る。
共通鍵暗号方式が含まれる。いわゆる共通鍵暗号方式
は、暗号化と復号で同一の秘密鍵(キー)を用いる。こ
の秘密鍵を送信機側のユーザと受信機側のユーザの間で
共有しその他の者に対して秘密にすることによって、暗
号文が安全に送信できる。図1はスマートカードにおけ
る共通秘密鍵を用いた暗号化の例を示している。図1に
おいて、スマートカードは、周知の形態で入力の平文
(プレインテキスト)をその内部の暗号化処理部におい
て共通秘密鍵を用いて暗号化して出力の暗号文を供給す
る。
暗号文等入手可能な情報から推定する。暗号解読の1つ
である電力解析攻撃が、Paul Kocher, Joshua Jaffe, a
nd Benjamin Jun,“Differential Power Analysis”in
proceedings of Advances inCryptology−CRYPTO’9
9, Springer-Verlag, 1999, pp. 388−397
に記載されている。この電力解析攻撃は、スマートカー
ド等に搭載された暗号化プロセッサに様々な入力データ
を与えた時の電力消費データを収集および解析して、暗
号プロセッサ内部の鍵情報を推定する。これは、公開鍵
暗号と秘密鍵暗号の双方に適用できる。
SPAという)(Single Power Analysis)および電力
差分攻撃(以下、DPAという)(Differential Power
Analysis)が含まれる。SPAは暗号プロセッサにお
ける単一の電力消費データの特徴から秘密鍵の推定を行
う。DPAは相異なる多数の電力消費データの差分を解
析することによって秘密鍵の推定を行い、一般的にはD
PAの方が強力である。
Aが、例えば、Thomas S. Messerges, Ezzy A. Dabbish
and Robert H. Sloan“Power Analysis Attacks of Mo
dular Exponentitiation in Smartcards”Cryptographi
c Hardware and Embedded Systems(CHES’99), Spr
inger-Verlag, pp.144−157に記載されている。
共通鍵暗号方式の現在の標準のDES(Data Encryptio
n Standards)に対するSPAおよびDPAが、Paul Ko
cher, Joshua Jaffe, and Benjamin Jun,”Differentia
l Power Analysis,”in proceedings of Advances in C
ryptology−CRYPTO’99, Springer-Verlag, 199
9, pp. 388−397 に記載されている。共通鍵暗号
方式の次世代標準となりうるラインデール(Rijndael)
法に対するDPAが、例えば、S. Chari, C. Jutla, J.
R. Rao, P. Rohatgi, “An Cautionary Note Regardin
g Evaluation of AES Candidates on Smart-Cards,” S
econd Advanced Encryption Standard Candidate Confe
rence, March1999に記載されている。
は特に有効な方法として注目されており、様々なDPA
暗号解読法が研究されている。一方、DPA暗号解読を
防止するための技術も開発されている。
型的な構成を説明する。図2、3および4は、典型的な
共通鍵暗号で用いられる処理(operations)である鍵X
OR(排他的論理和)、線形変換および非線形変換をそ
れぞれ示している。
の鍵情報Kiとの排他的論理和(XOR)の出力Ziを
供給する。(但し、演算XORは図面および式では、○
と+を合成したシンボルで示されている。)図3におい
て、線形変換Lは入力データXiに対する線形変換され
た出力Zi=L(Xi)を供給する。ここで、任意のx
およびyについてL(xXORy)=L(x)XORL
(y)である。線形変換には、ビット転置(permutatio
n)および行列演算等がある。図4において、非線形変
換Wは、入力データXiを非線形変換して出力Zi=W
(Xi)を供給する。ここで、任意のxよびyについて
W(xXORy)≠W(x)XORW(y)である。非
線形変換は、典型的には非線型変換テーブルSboxを
しばしば用い、入力XをX={xu−1,...,
x1,x0}(uは自然数)とu個に分割し、Sbox
であるwi(i=0〜u)を用いてzi=wi(xi)
を演算し、Z=(zu−1...z1z0)として結合
して出力Zを生成する。
R演算、線形変換および非線形変換の3つを適当に組み
合わせて各ラウンド関数を構成し、そのようなラウンド
関数を順に複数回(ラウンド)繰り返す。
PAは、電力消費データの測定の段階と、その電力消費
データの差分に基づく鍵の解析の段階とを含んでいる。
電力消費データの測定において、相異なる複数の符号の
シーケンスを含んだ入力平文をスマートカード等の暗号
化器にシリアルに供給して、その暗号化プロセッサによ
ってその入力平文に応答して消費される電力消費の時間
変化を例えばオシロスコープ等を用いて測定して、電力
消費曲線を得る。図7(A)はそのような電力消費曲線
を例示している。相異なる入力平文に対してその測定を
行って統計的に充分な数の電力消費曲線を収集する。そ
の測定で得られた複数の電力消費曲線の集合(セット)
をGとする。
する。図5は、従属接続の形の鍵XOR演算(図2)と
非線形変換(図4)の組合せである暗号化の例を示して
いる。この暗号化に対するDPAを説明する。図6は、
図5における任意の非線形変換要素wiに関係する構成
要素を取り出したものである。図6において、任意の入
力平文における既知の数ビット値をmiとし、未知の鍵
Kにおける要素値をk i(K={ku−1,...,k
1,k0}の中の1つの要素)とし、既知のSboxテ
ーブルにおける変換関数をwiとし、出力をzi(=w
i(miXORki))とする。DPAのために、プロ
セッサ内部で用いられている鍵の要素値を任意のki’
であると仮定する。既知のmiおよびwiとその仮定さ
れたki’とからzi’=wi(miXORki’)を
演算して、仮定されたki’に対する集合G(ki’)
を次の部分集合G0(ki’)およびG1(ki’)に
分ける。
いる。
力消費曲線の差分DG(ki’)を作成する。
平均電力消費曲線を例示している。図7(B)はG0に
属する電力消費曲線の平均電力消費曲線を例示してい
る。仮定された鍵の要素値が真の鍵の要素値と等しく、
即ちki’=kiである場合には、図7(A)と(B)
の差を表す図7(C)に例示された差分電力消費曲線中
にスパイクが現われる。仮定された鍵の要素値が真の鍵
の要素値と等しくなく、即ちki’≠kiである場合に
は、図7(A)と(B)の差を表す図7(D)に例示さ
れた差分電力消費曲線は概ね平坦な曲線となる。従っ
て、仮定したki’に基づいて生成されたスパイクを有
する差分電力消費曲線から、鍵kiが推定できる。全て
のiに対するkiについて差分電力消費曲線を生成する
ことによって、最終的に鍵Kを解読または確定(determ
ine)することができる。
分曲線DG(ki’)にスパイクが現れることを説明す
る。ki’=kiである場合、集合G(ki’)を式
(1)および式(2)に従って部分集合G0(ki’)
およびG1(ki’)に分けると、仮定したzi’=w
i(miXORki’)とこれに対応するプロセッサ内
における実際のzi=wi(miXORki)とが全て
のmiに対して一致するので、ziのハミング・ウェイ
トHW(Hamming weight)に関して次の式(4)が得ら
れる。ハミング・ウェイトとは或る値をビット値で表現
したときのビット値=1の個数である。例えば2進4ビ
ット値(1101)2のハミングウェイトHWは3であ
る。
zi’=wi(miXORki’)とそれに対応するプ
ロセッサ内における実際のそれぞれのzi=wi(mi
XORki)とが無関係なので、仮定されたzi’に対
する式(1)および式(2)に従って全てのmiに対す
る集合G(ki’)を部分集合G0(ki’)およびG
1(ki’)に分けても、実際のそれぞれのzi(即ち
zi’と仮定された実際のzi)に対しては2つの部分
集合にランダムに分けたことになるので、次の式(5)
が成立する。
とG1(ki’)の間でのロード値ziの平均ハミング
・ウェイトに大きな差が生じるが、式(5)が成立する
場合はG0(ki’)とG1(k’)の間でのロード値
ziの平均ハミングウェイトに大きな差が生じない。
iは、暗号化器内のROMやRAMなどのメモリ上から
変換テーブルSboxの出力値ziがロード命令によっ
て読み込まれることによって行われる。ロード命令が実
行されるとき、ロード値のハミングウェイトに比例した
電力が消費されるものと考えられている。その考えの妥
当性を示す実験結果が、T. S. Messerge, Ezzy A. Dabb
ish and Robert H.Sloan,“Investigations of Power A
ttacks on Smartcards”Proceedings of USENIX Worksh
op on Smartcard Technology, Mar. 1999に記載さ
れている。
(4)が満たされることで消費電力の差が電力差分曲線
上のスパイクという形になって現れるが、式(5)の場
合はスパイクが現れず、概ね平坦な曲線となる。DPA
は、図4に図3の線形変換Lを挿入した暗号化器にも適
用できることが判明している。
形変換を追加した構成を有する暗号化器を示している。
L1およびL2をビット転置関数とし、wiをDESのS
boxとすると、図8の構成はDESのF関数と等価に
なる。DESの仕様については、FIPS 46,“Data enc
ryption standard”Federal Information ProcessingSt
andards Publication 46, U.S. Department of Comme
rce/ National Bureau of Standards, National Techni
cal Information Service, Springfield, Virginia,1
977を参照されたい。図8の処理も、図6と同様の処
理に変換でき、同様にDPAを適用して鍵Kを推定でき
る。
出力に注目してDPAを適用している。さらに、入力m
iと鍵kiのXORの値(鍵XOR演算の出力)やSb
oxへの入力値xiに対してDPAを適用する手法もあ
る。また、或るプロセッサにおいては、隣接ビットモデ
ルによって次の式(6)で表される電力消費がロード値
のビットの関数で表現でき、それによってより有効な解
析が可能になる場合がM. Akkar, R. Bevan, P. Discham
p, and D. Moyart,“Power Analysis, What IsNow Poss
ible...”Asiacrypt 2000において報告されてい
る。
によって秘密鍵Kが解読される。図9は、図4の暗号化
器における電力消費曲線の測定対象点A、BおよびCを
示している。
可能即ち制御可能であり、鍵Kが未知の固定値であり、
Sboxのwiの変換が既知の場合。この場合、図9の
測定対象点Aの所定タイミングにおける(Sboxwi
の出力の)電力消費曲線が測定される。
Kが未知の固定値である場合。この場合、図9の測定対
象点Bの所定タイミングにおける(鍵XOR演算の出力
の)電力消費曲線が測定される。
Kが未知の固定値である場合。この場合、図9の測定対
象点Cの所定タイミングにおける(Sboxのwiをイ
ンデックスするためのロード入力の)電力消費曲線が測
定される。
にノイズ発生器を置くことによって電力消費量の測定精
度を落とす手法と、暗号アルゴリズムに対策を施す手法
が存在する。その測定精度を落とす手法は容易に行える
が、測定回数を増加するなどの方法で解析が可能になる
ので根本的な対策とはならない。それに対して、暗号ア
ルゴリズムへの対策は、容易でないが根本的な対策とな
りうる。暗号アルゴリズムに対策を施す手法の代表的な
ものとして、マスキング法と呼ばれているThomas S. Me
sserges,“Securing the AES Finalists Against Power
Analysis Attacks,”in proceedings of Fast Softwar
e Encryption Workshop 2000, Springer-Verlag, Ap
ril 2000が知られている。マスキング法とは、入力
値Mそのものを用いて暗号化の各処理を行う代わりに、
乱数RをマスクとしてM’=MXORRで表される値
M’を用いて暗号化を行う方法である。乱数Rは暗号化
の各処理ごとに発生させるので、ここでは“乱数マスク
値法”と呼ぶ。
図10は、乱数マスク値法による処理の概要図を示して
いる。この処理は、図示のような上側の暗号化処理部と
下側のマスク値生成部と乱数発生とで構成される。
XOR関数、線形関数および非線形関数が用いられる通
常の暗号化処理を図10の暗号化処理に変更する場合
は、それらは図10の暗号化において図11、12およ
び13に示されているような乱数マスク値法による鍵X
OR関数、線形関数および非線形関数に置換される。
の中間データXiを計算する代わりに排他的論理和Xi
=Xi’XORRiを満たすXi’および乱数Riが計
算される。暗号化処理部においてXi’が計算され、マ
スク値生成処理部においてR iが計算される。図2と図
11、図3と図12、および図4と図13に示されてい
る処理(operation)におけるXi、Xi’、Zi、Z
i’、RiおよびRO iに関して、次の式(7)が成立
する。
=XiXORKiが演算されるのに対して、図11では
暗号化処理内部で乱数発生器によって乱数RKiを発生
させた後、入力値Xi’と鍵Kiに対してZi’=
Xi’XORKiXORRKiが演算される。また、マ
スク値生成においてRiとRKiからROi=RiXO
RRKiが演算される。
われるのに対して、図12の暗号化処理ではZi’=L
(Xi’)の変換が行われ、マスク値生成ではROi=
L(Ri)の変換が行われる。
表されるu個のSboxを用いた非線型変換が行われる
のに対して、図13(A)の暗号化処理では、図のNe
wSboxを用いた処理によってRAM領域上にwi’
1、wi’2、・・・、wi’u−1で表される新しい
Sboxが作成されて、これを用いて非線型変換が行わ
れる。また、図13(A)のマスク値生成ではそのNe
wSboxを用いた処理が行われ、Riと内部で生成さ
れた乱数ROiからw’1、w’2、・・・、w’
u−1が生成され、w’1、w’2、・・・、w’
u−1とROiが出力される。図13(B)はNewS
boxの詳細構成を示している。NewSboxは、内
部の乱数発生器を用いてROiを生成し、また、Ri=
riu−1・・・ri1ri0と、ROi=roi
u−1・・・roi1roi0と、図12(B)内で用
いられるSbox、w1、w2、・・・、wu−1とか
ら、wi’j(x)=w(xXORrij)XORro
ijを満たすwi’jをj=0、1、・・・、u−1に
ついて作成し、そしてそのROiとwi’jを出力す
る。
単に説明する。乱数マスク値法においては、図10およ
び後で説明する図19中の各ラウンド(段)における図
13(A)および(B)のSboxのwi’が乱数に従
って変化するので、DPAにおいてSboxの内容を知
ることができない。即ち、前述の条件1におけるSbo
xが既知であるという条件が成立しないので、図8の測
定対象点Aの所定のタイミングにおいて測定された電力
消費曲線を式(1)および(2)に従ってG0とG1に
分けることができない。従って、乱数値マスク法を用い
た暗号処理装置はDPAに対して安全である。同様に、
前述の条件2および3における鍵XOR関数の出力にお
ける測定対象点BおよびSboxへの入力における測定
対象点Cについても、測定毎に変化する乱数要素が加算
されるので、鍵Kが固定であるという条件が成立しない
ので、DPAに対して安全である。
として、ラインデール法を説明する。図14は、DPA
対策のない通常のN段ラインデール処理の全体的構成を
示している。N段ラインデール処理の各段は、XOR演
算、サブバイト処理Subbyte(Substitute Byt
e)、シフト処理Shift、およびミクストコラム処
理Mixedcolumnを含んでいる。但し、最後の
段は、別のXOR演算を含んでおり、ミクストコラム処
理を含んでいない。図14において、Nは、秘密鍵Ks
ecのビット数によって決定され、Ksecが128ビ
ットの場合はN=10とし、192ビットの場合はN=
12とし、および256ビットの場合はN=14とす
る。Kiは拡大鍵(sub-key)と呼ばれる鍵である。図
15は、ラインデール法の128/192/256ビッ
ト秘密鍵KsecからN+1個の128ビット拡大鍵K
0、K1、・・・、KNを生成する拡大鍵生成器を示し
ている。秘密鍵から拡大鍵を生成する方法は、http://w
ww.nist.gov/aes/に示されているRijndaelの仕様書に記
載されている。
示しており、この処理は、8ビット−8ビット変換Sb
oxであるSを用いて、128ビット−128ビット非
線形変換を行う。図17はシフト処理Shiftを示し
ており、この処理は、バイト単位の並べ替えを行う処理
である。図18はミクストコラム処理Mixedcol
umnを示しており、この処理は、行列を用いた体GF
(28)上の演算を行う。
ル法に対して、乱数マスク値法を適用したN段ラインデ
ール法を示している。図19のN段ラインデール法は、
図示のような上側のN段の暗号化処理部と下側のN段の
マスク値生成部と乱数発生とで構成される。Kiはライ
ンデール法の第i段の拡大鍵を表す。RKiはそれぞれ
の拡大鍵に対するランダムなマスク値を表す。サブバイ
ト処理Subbyteは、図16に示されているような
形態で16個のSbox:Si,0 、Si, 1 、・・
・、Si,15を用いて128ビット−128ビット非
線形変換を行う。Si,0 、Si,1 、・・・、S
i,15は第i段の新しいSbox“NewSbox”
によって生成されたSboxである。図20は、New
Sboxを示しており、入力値Riniから、内部で発
生した乱数Routiに従って相異なる16個のSbo
x、Si,0 (x)、Si,1 (x)、・・・、S
i, 15(x)を生成し、乱数Routiを供給する。
Shift処理およびMixedcolumn処理は、
通常のラインデール法の処理と同様に、図17および図
18に示す線形変換である。
1]〜[1109]およびステップ[1201]〜[1
209]で示す。 [1101] i=0とセットする。 [1102] 乱数マスク値Rinを生成し、平文に対
してRinとのXOR演算を行う(XORする)。 [1103] 平文に対してKiXORKiとのXOR
演算を行う。マスク処理にマスク値RKiを入力して1
6個のSbox、Si,j(x)(j=0、1、・・
・、15)を生成する。 [1104] ステップ[1103]で生成したS
i,j(x)を用いたSubbyte処理を行う。 [1105] Shift処理およびMixedcol
umn処理を行う。 [1106] i:= i+1 とする。 [1107] i < N−1である場合はステップ[1
103]に戻る。それ以外は次のステップに進む。 [1108] KN−1とのXOR処理を行い、RK
N−1をマスク値処理部に供給して16個のSbox、
SN−1,j(x)(j=0,1,・・・,15)を
生成する。 [1109] SN−1,j(x)によるSubbyt
e処理、Shift処理、およびKNとのXOR演算を
行う。 [1110] ステップ[1109]の演算出力に対し
て、マスク値生成の出力結果RoutとのXOR演算を
行い、その結果の暗号文を出力として供給する。
但し、Rinは[1102]で生成された乱数マスク値で
ある。 [1202] 暗号化処理部より受け取ったRKiか
ら、MaskXORRKiを演算して、新しいMask
を生成する。 [1203] ステップ[1202]で生成した新しい
MaskをNewSboxに入力することによって、1
6個のSbox、Si,j(x)(j=0,1,・・
・,15)と乱数Routiを得て、Routiを新し
いMaskとする。Si,j(x)は暗号化処理部の第
i段のSubbyteにおいて用いられる。 [1204] MaskをShift処理およびMix
edcolumn処理に供給し、その処理からの出力を
新しいMaskとする。 [1205] i:=i+1とセットする。i < N−1
である場合はステップ[1202]に戻る。 [1206] 暗号化処理部から入力されたRKN−1
からMaskXORRK N−1を演算して、その演算結
果を新しいMaskとする。 [1207] RinN−1をNewSboxに供給する
ことによって、16個のSbox、 S
N−1,j(x)(j=0,1,・・・,15)と乱数
Rout N−1を得て、RoutN−1を新しいMas
kとする。SN−1,j(x)は暗号化処理部の第N−
1段のSubbyteにおいて用いられる。 [1208] MaskをShift処理に供給し、そ
の処理結果を新しいMaskとする。 [1209] 暗号化処理部より入力されたRKNか
ら、MaskXORRKNを演算し、それを出力して処
理を終了する。
Aに対する安全性(セキュリティ)が高いことが知られ
ているが、乱数マスク値法を採用した暗号化は、その暗
号化の速度が通常の暗号化と比べて数分の1と低く、非
常に大きいRAM領域を必要とするという欠点がある。
処理におけるXOR演算では、通常の実装では2つの中
間値xおよびyからz=xXORyを演算するのに対し
て、乱数マスク値法ではx’=xXORrx、y’=y
XORryを満たす中間値x’、y’からz’=x’X
ORy’を演算する他に、z’に関する新しいマスク値
の生成処理rz=rxXORryを演算する必要がある
からである。さらに、非線変換において、通常Sbox
という非線形変換テーブルをROMに保持するのに対し
て、乱数マスク値法では、新しいマスク値から非線形変
換テーブルを毎回生成しなければならないので大量の計
算が要求される。
の非線形変換において、通常はその非線形変換テーブル
をROMに保持するのに対して、乱数マスク値法では暗
号化のたびに新しいSboxをRAMに格納するからで
ある。例えば8ビット−8ビットの変換を行うSbox
を用いるラインデール法において、DPA対策として乱
数マスク値法を実装するには最低28=256バイト分
のRAM領域が必要である。しかし、例えばST16
(STマイクロエレクトロン社製)等の低コストのスマ
ートカード用チップはRAM領域が128バイト程度し
か持っていないので、乱数マスク値法を実装することは
実際上不可能である。
を共有すること、および或る暗号化から次の暗号化まで
の間にマスク値を生成することなどによって、見かけの
処理速度の向上および必要なRAM領域の削減等が考え
られているが、最初に乱数値でマスクするので全体的な
処理速度の向上および大幅な必要RAM領域の削減は不
可能である。
てマスクするのではなくて、固定値を用いてマスクする
ことによって処理速度の向上と必要なRAM領域の削減
を実現すると有利であると認識した。ここで、この固定
値を用いてマスクを行う方法を、固定マスク値法と呼
ぶ。
暗号プロセッサに対する効率的な暗号解読防止を実現す
ることである。本発明の別の目的は、秘密鍵の推定を困
難にし、暗号プロセッサの安全性を高めることである。
暗号化装置は排他的論理和手段および非線形変換手段を
有する。その暗号化装置は、さらに、乱数を発生する乱
数発生手段と、q個(qは整数)の固定値と、その乱数
に従ってそのq個の固定値の中の1つを選択する第1の
選択器と、を具えている。その排他的論理和手段は、そ
の選択された固定値と鍵の排他的論理和とその排他的論
理和手段の入力の排他的論理和をとる。
排他的論理和手段および非線形変換手段を有する。その
暗号化装置は、さらに、乱数を発生する乱数発生手段
と、q組(qは整数)のマスクされた固定テーブルと、
その乱数に従ってそのq組の固定テーブルの中の1組を
選択する選択器と、を具えている。その非線形変換手段
は、その選択された1組の固定テーブルに従って入力を
非線形変換する。
装置は、乱数を発生する乱数発生手段と、並列に結合さ
れた複数の暗号化部と、その乱数に従ってその複数の暗
号化部の中の1つを選択する選択器と、を具えている。
その複数の暗号化部の各々は、排他的論理和手段および
非線形変換手段を含んでいる。
装置は、乱数を発生する乱数発生手段と複数の暗号化段
とを具えている。その複数の暗号化段の各々は、入力を
非線形変換する非線形変換手段と、第1の入力と第2の
入力の排他的論理和をとる排他的論理和手段と、を含ん
でいる。その排他的論理和手段の第2の入力はその非線
形変換手段の出力に結合されている。その非線形変換手
段は、q個(qは整数)の固定値と、その乱数に従って
そのq個の固定値の中の1つを選択する選択器と、その
選択された固定値と鍵の排他的論理和と入力の排他的論
理和をとる別の排他的論理和手段と、を有する。
装置は、乱数を発生する乱数発生手段と、並列に結合さ
れた複数の暗号化部と、その乱数に従ってその複数の暗
号化部の中の1つを選択する選択器と、を具えている。
その複数の暗号化部の各々は複数の暗号化段を有する。
その複数の暗号化段の各々は、入力を非線形変換する非
線形変換手段と、第1の入力と第2の入力の排他的論理
和をとる排他的論理和手段と、を含んでいる。その排他
的論理和手段の第2の入力はその非線形変換手段の出力
に結合されている。
装置において用いられるプログラムは、乱数に従って複
数の暗号化手順の中の1つを選択するステップと、その
選択された暗号化手順に従って、入力値を暗号化して出
力するステップと、を含んでいる。その暗号化するステ
ップは、固定値と鍵の排他的論理和と入力値の排他的論
理和をとるステップと、1組の固定テーブルに従って入
力値を非線形変換するステップと、を含んでいる。
ロセッサに対する効率的なDPA対策を実現でき、DP
Aを用いた秘密鍵の解読(analyze)を困難にし、暗号
プロセッサの安全性を高めることができる。
や鍵をマスクする乱数マスク値法に対して、本発明の固
定マスク値法に従って、複数個の固定値を用意し、それ
を乱数によって切換えることによって、乱数マスク値法
と同様の効果を得る。固定マスク値法では、マスク値が
特定の固定値に限定されるので、新しいマスク値を予め
求めておくことによって処理速度を高くできる。また、
予め固定マスク値の集合(セット)を用意し、それぞれ
の固定マスク値に対応した非線形変換テーブルをROM
に用意することによって、小さいRAM領域を有するプ
ラットフォーム上でも実装が可能になる。例えばST1
6等の低コストのスマートカード用のLSIチップでも
6Kバイト程度の大きなROM領域を備えているので、
固定値マスク法は低コストのスマートカードに適してい
る。
説明する。実施形態において、暗号化における全てまた
は一部の諸要素および諸処理は、集積回路等によってハ
ードウェアの形態で実装してもよいし、またはプロセッ
サによって実行されるプログラムの形態で実装してもよ
い。
化装置100の概略的構成を示している。図22および
23は、暗号化装置100の鍵XOR演算および非線形
変換の構成をそれぞれ示している。線形変換は図2に示
されているものを用いればよい。
数R(R=0,1,・・・,q−1)を発生する乱数発
生器103と、その乱数に従って固定マスク値FM
0,Rの中の1つを選択して供給する切換部または選択
器104と、入力の平文と選択された固定マスク値FM
0,Rとの排他的論理和を演算する(XORする)(X
in’=平文XORFM0,R)排他的論理和106
と、入力Xin’を受取り乱数Rに従って入力Xin’
を暗号化して出力Xout’を生成する暗号化処理部1
01と、その乱数に従って固定マスク値FMN+1,R
の中の1つを選択して供給する切換部105と、その出
力Xout’と選択された固定マスク値FMN +1,R
との排他的論理和を演算して(XORして)暗号文(X
out’XORFMN+1,R)を生成する排他的論理
和107と、を含んでいる。ここで、Nは暗号化処理部
101で使用される固定マスク値のセットの数を表す。
用のRAM162と、固定マスク値と、固定非線形変換
テーブルSboxと、線形変換関数L等を格納するRO
M164と、ROM等のプログラム・メモリ160に格
納されているプログラムに従ってこれらの諸処理要素1
03〜107を制御するプロセッサ150とを含んでい
る。代替構成として、プロセッサ150は、諸処理要素
103〜107に対応する機能を実装したメモリ160
中のプログラムを実行することによって諸処理要素10
3〜107を実現してもよい。この場合、図21はフロ
ー図として見ることができる。
XOR、図2の線形変換および図23の非線形変換の組
み合わせによって規定されるラウンド関数が繰返し実行
され、または縦続接続されたそのような複数のラウンド
関数回路によってそのラウンド関数が実行される。
て乱数Rに従って選択された固定マスク値FMi,Rと
鍵KiとをXORして或る値を供給し、その値と入力X
i’とをXORして出力Zi’を供給する。図23の非
線形変換は、切換部111〜119によって乱数Rに従
ってSboxの要素wij,R’(j=0,・・・,u
−1)を選択し、その選択された要素wij,R’を用
いて非線形変換する。
関係を用いると、図22の鍵XORにおいて図11のR
iとROiに対応して次の式(8)が得られる。
13(B)のNewSboxのriとroiに対応して
次の式(9)が得られる。
化装置200の概略的構成を示している。図25および
26はその鍵XORおよび非線形変換の構成をそれぞれ
示している。線形変換はいずれの暗号化処理部において
も図2に示されているものを用いればよい。
数Rを発生する乱数発生器203と、その乱数に従って
固定マスク値FM0,Rの中の1つを選択して供給する
切換部204と、入力の平文と切換部204によって選
択された固定マスク値FM0 ,RとをXORする(Xi
n’=平文XORFM0,R)XOR(排他的論理和)
206と、入力Xin’を受取りその入力Xin’を暗
号化して出力Xout’を生成する複数の暗号化処理部
208〜209と、入力Xin’を受取り乱数Rに従っ
て互いに並列に結合された暗号化処理部208〜209
の中の1つを選択してその選択された暗号化処理部に入
力Xin’を供給する切換部211と、同じ乱数Rに従
って暗号化処理部208〜209の中の同じ1つを選択
してその選択された暗号化処理部からの出力Xout’
を供給する切換器213と、その乱数に従って固定マス
ク値FMN+1,Rの中の1つを選択して供給する切換
部205と、その出力Xout’と選択された固定マス
ク値FMN+1,RとをXORして暗号文(=Xou
t’XORFMN+1,R)を生成するXOR207
と、を含んでいる。ここで、Nは使用される固定マスク
値の数を表す。図24において、2つの切換部211お
よび213のうちの一方だけで選択してもよく、その他
方の切換部を省いてもよい。
用のRAM262と、固定マスク値、固定非線形変換テ
ーブルSboxと、線形変換関数L等を格納するROM
264と、ROM等のプログラム・メモリ260に格納
されているプログラムに従ってこれらの諸処理要素20
3〜211を制御するプロセッサ250とを含んでい
る。代替構成として、プロセッサ250は、諸処理要素
203〜211に対応する機能を実装したメモリ260
中のプログラムを実行することによって諸処理要素20
3〜211を実現してもよい。この場合、図24はフロ
ー図として見ることができる。
ク値FMi,jおよびSboxのセットwii,jが異な
ること以外は構成が共に同じである。各暗号化処理部2
08〜209において、図25の鍵XOR演算、図2の
線形変換処理および図26の非線形変換の組み合わせに
よって規定されるラウンド関数が繰返し実行され、また
は縦続に結合されたそのような複数のラウンド関数回路
によってそのラウンド関数が実行される。
〜209の各々に固有の固定マスク値FMi,Rと鍵K
iをXORして或る値を供給し、その値と入力Xi’と
をXORして出力Zi’を供給する。図26の非線形変
換は、その暗号化処理部に固有のSboxのセットwi
j,R’(j=0,・・・,u−1)を用いて非線形変
換する。ここで、乱数マスク値法における式(7)の関
係を用いると、図25の鍵XORにおいて図11のRi
とROiに対応してROi= RiXORFM i,Rが
得られ、図26の非線形変換において図12(B)のr
iとroiに対応してwij,R’(xi’)=wi
(riXORxi’)XORroiが得られる。
コストのスマートカードに実装するのに適した方法と考
えられる。ここでは、次のような問題点を検討すること
によってより好ましい実装形態を実現する。
れているが、固定マスク値法はDPAに対してどの程度
安全であるかが不明であり、実装法および固定マスク値
の条件しだいではDPAに対して弱い可能性がある。
題 固定マスク値法は、非線形変換テーブルをROMに用意
することで、乱数マスク値法より必要なRAM領域を小
さく抑えることができるという利点がある。しかし、用
意されるマスク固定値の数に応じて使用ROM量が決ま
る。安全性を確保するために必要なROMの容量が膨大
になる可能性がある。
る或る暗号化では、或る条件の固定マスク値を使用すれ
ばその数qが2でも充分に安全であることが分かってい
る。本発明による暗号化法としてラインデール法を適用
した場合の安全性を後で説明する。同様に(B)の問題
に関連して、相異なる固定マスク値の数qを2程度にし
て、同じラウンドやラウンド毎のSboxを共通にする
ことで、Sboxのデータ量を、本発明が適用されない
通常の実装の約2〜数倍に抑えて、使用ROM量を小さ
く抑える。実施形態において暗号化法としてラインデー
ル法を適用した場合の使用ROM量について後で述べ
る。
装置100の一例を示しており、ラインデール(Rijnda
el)暗号化法に固定マスク値法を適用した暗号化装置3
00を示している。但し、図27において、図21にお
けるプロセッサ150、メモリ160、162および1
64は簡単化のために省略されている。図27におい
て、暗号化装置300は、乱数h(h=0,1,・・
・,q−1)を発生する乱数発生器303と、その乱数
hに従って固定マスク値FMinhの中の1つを選択し
て供給する選択器305と、入力の平文と選択された固
定マスク値FMin hとをXORするXOR302と、
入力Xin’を受取って乱数hに従って入力Xin’を
暗号化して出力Xout’を生成する複数段の暗号化処
理段310(各段iは0≦i≦N−2)と、第N−2段
の暗号化処理段310の出力Xout’を入力Xin’
として受取り乱数Rに従ってその入力を暗号化して暗号
文Xout’を生成する第N−1段の暗号化処理段31
1と、を含んでいる。
乱数hに従って選択された固定マスク値FMi,hを供
給する選択器329と、鍵Kiと固定マスク値FM
i,hをXORして出力を供給するXOR331、その
出力の値と入力Xi’とをXORするXOR333と、
その乱数hに従ってSboxである固定値Si,j,h
(j=0,1,・・・,15)の中の1つを選択してマ
スクされた鍵K0,hを供給する切換器または選択器3
39と、その選択されたSi,j,hに従ってXOR3
33からの出力をサブバイトするSubbyte334
と、Subbyte334の出力をシフトするShif
t335と、Shift335の出力をミクストコラム
するMixedColumn336とを含んでいる。
段の暗号化処理段310と同様の切換器329および3
39と、XOR331および333と、Subbyte
334と、Shift335とを有し、MixedCo
lumnは有せず、切換器379によって選択された固
定マスク値FMN,hとKNとをXOR371によって
XORしてマスクされた鍵KN,hを生成し、KN,h
とShift335の出力とをXOR373によってX
ORし、切換器399によって選択された固定マスク値
FMouthとXOR373の出力とをXOR383に
よってXORして暗号文を生成する。
FMouthは、固定マスク値である。S
i,j,hは、固定のSboxである。これらの固定マ
スク値およびSbox値は予め求められる。従って、固
定マスク値法では通常の乱数マスク値法における逐次計
算が不要なので、処理が高速化される。さらに、予め求
めた固定マスク値およびSboxの変換テーブルを、例
えば図21のRAM162および図24のRAM262
のようなRAMにではなくて、図21のROM164お
よび図24のROM264のようなROMに格納するこ
とによって、実装に必要なRAM領域を大幅に節約でき
る。このような必要なRAM量の節約は、ほんの128
バイトのRAM領域しか持っていない低コストのスマー
トカードへの実装に有利である。
給されると、内部の乱数発生器303によって0≦h≦
q−1を満たす乱数hが生成される。その生成された乱
数hに従って、図27に示す全ての切換器305、32
9、339、379および399において、q個の入力
値の中からh番目のものが選択されて供給される。図2
8は図27におけるSubbyte334の構成を例示
している。Shift335は図16に例示されている
ものを、 Mixedcolumn336は図17に例
示されているものを用いる。図28のSubbyteに
おいて用いられるSbox Si,j,hは、図16に
示されている通常のラインデール法のSubbyteの
SboxであるSを用いて次の式(10)で表される。
i,j,hは、式(9)のrii, jおよびroi
i,jにそれぞれ対応し、それぞれi番目のラウンドの
Subbyteの入力および出力のマスク値に対応す
る。ai,j,hは、入力マスク値なので、そのSub
byteより前のマスク値および処理等によって一意的
に決まる。一方、bi,j,hは任意に設定可能であ
る。
ステップ[1301]〜[1314]に示す。ステップ
[1303]〜[1309]は図28の第i段における
処理である。ステップ[1310]〜[1314]は図
27の第N−1段における処理である。 [1301] i=0とセットする。 [1302] 入力平文を受け取り、次いで乱数発生器
303によって乱数h(0≦h≦q−1)が発生され
る。この乱数hは後のステップで使用される。 [1303] 入力平文に対して、固定マスク値の集合
{FMin0,・・・,FMinq−1}の中からFM
inhを切換器305によって選択した後、XOR30
2によって入力平文とFMinhをXORする。XOR
302の出力を中間データXとする。 [1304] 固定マスク値の集合{FMi,0,・・
・,FMi,q−1}の中からFMi,hを切換器32
9によって選択して、拡大鍵Ki、中間データXおよび
FMi,hに対してXXORKiXORFMi,hを演
算し、その演算結果を新しい中間データXとする。 [1305] Subbyte334において、中間デ
ータXに対して、切換器339によって乱数hに従って
選択された非線形変換テーブルSi,j,h(x)に従
ってサブバイト処理する。その演算結果を新しい中間デ
ータXとする。 [1306] Shift335において中間データX
をシフトする。そのシフトされたデータを新しい中間デ
ータXとする。 [1307] Mixedcolumn336において
中間データXをミクストコラム処理する。その処理結果
を新しい中間データXとする。 [1308] i:=i+1とセットする。 [1309] i < N−1の場合は[1303]に戻
る。それ以外は次のステップに進む。 [1310] 乱数hに従って固定マスク値の集合{F
MN−1,0,・・・,FMN−1,q−1}の中から
FMN−1,hを切換器329によって選択して、拡大
鍵KN−1、中間データXおよびFMN−1,hに対し
て、XXORKN −1XORFMN−1,hを演算す
る。その演算結果を新しい中間データXとする。 [1311] 切換器339によって選択された非線形
変換テーブルSN−1, j,h(x)に従ってサブバイ
ト処理を行う。その処理結果を新しい中間データXとす
る。 [1312] Shift335において中間データX
をシフトする。そのシフトされたデータを新しい中間デ
ータXとする。 [1313] 乱数hに従って固定マスク値の集合{F
MN,0,・・・,FM N,q−1}の中から切換器3
79によってFMN,hを選択して、その中間データ
X、拡大鍵KNおよびFMN,hに対して、XXORKN
XORFMN,hを演算する。その演算結果を新しい中
間データXとする。 [1314] 乱数hに従って固定マスク値の集合{F
Mout0,・・・,FMoutq−1}の中からFM
outhを切換器399によって選択して、中間データ
XとFMouthをXORし、その演算結果を出力暗号
文Xout’として供給する。
法を適用した別の暗号化装置400を例示している。但
し、図29において、図21におけるプロセッサ15
0、メモリ160、162および164は簡単化のため
に省略されている。図29の構成は、その各ラウンド関
数における各Subbyte334に結合された切換器
339に供給されるSboxが互いに同じである以外
は、図27と同じであり、同じ構成要素については再び
説明はしない。図30は図29におけるSubbyte
334の構成を例示している。マスク値FMi,hは、
任意のh=0,1,・・・,q−1について次の式(1
1)を満たす。
定数であり、1バイト定数ch,jおよびdh,j(j
=0,1,・・・,15)をそれぞれ用いて、次の式
(12)のように記述される。
バイト処理Subbyte334は、切換器339によ
って選択された16個のSbox、S0,h、 S
1,h、・・・、S15,hを用いて、図30に示す非
線形変換処理を行う。16個のS j,hはDPA対策な
しの通常のラインデール法におけるSであり、および式
(12)におけるch,j、dh,jを用いて、S
j,h(x)=S(xXORc h,j)XORdh,j
と表される。
おいては、図27の暗号化装置400の処理フローにお
けるステップ[1305]および[1311]におい
て、切換器339によって乱数hに従って16個のSb
ox、S0,h、S1,h、・・・、S15,hの中から選
択された非線形変換テーブルSj,hに従ってサブバイ
ト処理する。
te334のテーブルが各ラウンドで異なるのに対し
て、図29の暗号化装置400では全てのラウンドで共
通のテーブルが使用される。これが可能な理由を説明す
る。まず、通常のラインデール処理におけるSubby
te(図16)への入力値をXと表す。これに対し、図
30のSubbyte処理の入力値はXXORChと表
すことができる。これは、マスク値の間に式(11)の
関係が成立するからである。Chは段数iとは関係ない
定数なので、式(10)におけるSi,j,h(x)=
S(xXORai ,j,h)XORbi,j,hに対し
て、ai,j,hを段番号iに関係ない定数に設定でき
る。また、bi,j,hは、任意の定数なので、iに関
係ない定数に設定できる。よって、図30に示すように
Sj,h(x)=S(xXORch ,j)XORd
h,jで表される段数iに無関係なSboxを用いたサ
ブバイト処理が可能となる。従って、図29の暗号化装
置400で用いられるSboxに必要な使用ROM量
は、図27の暗号化装置300の場合の1/Nとするこ
とができる。
て、マスク値ChおよびDhに関する条件式(12)に、
次の式(13)に示す条件を加えることによって、使用
するSboxの数(種類の数)を相異なる16セットか
らほんの1セットに減らすことができる。
れるSboxに必要な使用ROM量は、図27の暗号化
装置300の場合の1/16とすることができる。以上
から、式(13)を満たす図29の暗号化装置400を
用いることによって、Sboxに必要なROM領域を図
27の暗号化装置300を用いた場合の1/(16N)
とすることができる。
側および出力側においてFMinhおよびFMouth
をそれぞれXORしているが、この処理は安全性に寄与
しないことが判明しているので、省略できる。さらに、
マスク済みの鍵KiXORFMi,hの値を用いること
によって、鍵Kiと固定マスク値FMi,hとのXOR
演算を省略できる。これらの省略によって、切換器によ
る処理が少し増加するだけなので、DPA対策のないラ
インデール法の場合とほぼ同じ計算量で固定マスク値法
を適用したラインデール法が実現できる。
装置200の一例を示しており、ラインデール法に固定
マスク値法を適用した別の暗号化装置500を例示して
いる。但し、図31において、図24におけるプロセッ
サ250、メモリ260、262および264は簡単化
のために省略されている。図31において、暗号化装置
500は、乱数hを発生する乱数発生器503と、乱数
hに従って切換えを行う切換器502および504と、
切換器502および504によって乱数hに従って選択
される互いに並列に結合された第0〜第q−1のq個の
暗号処理部511〜513と、を含んでいる。
Xin’を受け取って出力Xout’を生成する複数段
の暗号化処理段530(段iは0≦i≦N−2)と、前
段の出力を入力として受取りその入力を暗号化して出力
Xout’を生成する第N−1段の暗号化処理段と53
1、を含んでいる。第0段〜第N−2段の暗号化処理段
530は、固定マスク値、XOR523、それぞれのS
ubbyte525、Shift526およびMixe
dcolumn527を有し、それぞれの固定マスク値
および固定Sboxに従って暗号化を行う。第0段の暗
号化処理段530の前にはXOR521が結合されてい
る。第N−1段の暗号化処理段531は、固定マスク
値、XOR523、528および529、Subbyt
e525およびShift526を有し、それぞれの固
定マスク値および固定Sboxに従って暗号化を行う。
図31では、鍵KiとFMj,hとがXORされたKi
XORFMj,hの値が直接供給されるように示されて
いるが、図29の場合と同様に鍵KiとFMj,hとが
XORによってXORされてXOR523〜553の入
力に供給されるようにしてもよい。図31においては、
図29の場合と同様にFMinhとFMouthとを省
略できる。
29の暗号化装置400の場合と同様に全てのラウンド
で同じSboxを使用しており、式(13)の条件を満
たすようにすれば、図29の暗号化装置400の場合と
同様のROMの削減が可能となる。暗号化装置500の
計算量は、暗号化装置400の場合より切換器が少ない
だけ有利であり、DPA対策のないラインデール法とほ
ぼ同じ計算量となる。但し、図31の暗号化装置500
は、図29の暗号化装置400の場合よりもシフトおよ
びミクストコラム処理の数が増えるので、暗号化装置5
00の方が回路のサイズが大きくなる。なお、暗号化装
置500には2つの選択器502および504が存在す
るが、左右の切換器502および504のうち一方だけ
で切換えてもよい。そのような場合、他方の選択器は省
略できる。
ては同じ処理が異なる構成で行われるだけなので、安全
性は共に同じである。
明する。図27の暗号化装置では、固定マスクの数qが
充分大きい場合は、乱数マスク値法と実質的に同じ動作
になるので、同様に高い安全性を有する。乱数マスク値
法におけるほんの1ラウンドに簡略化された暗号関数に
ついて安全性が証明できるので、各ラウンドに同じSb
oxを使用する図29および31の暗号化装置400お
よび500についても同様に安全性が証明できる。
安全性を説明する。q=1では安全でないことが分かっ
ている。次に小さいq=2の場合の安全性を評価する。
図29および31の暗号化装置400および500にお
いて、q=2とし、式(13)に従ってSubbyte
において1セット(種類)だけのSboxを用い、かつ
FMinhおよびFMouthを省略した最も単純な場
合においても、c0, j、c1,j、・・・、c
q−2,jに関して次の式(14)または式(15)の
条件を設定し、d0,j、d1,j、・・・、d
q−2,jに関して次の式(16)の条件に設定するこ
とによって、DPAに対する安全性を高めることができ
る。
1、全てのj=0、1、・・・、15について
1、・・・、15について
15について
定タイミングで行われる場合と、測定対象点BおよびC
における所定タイミングで行われる場合とがある。図2
9および31の暗号化装置400および500が安全で
あることを説明する。ビット(x,e)はxの第e桁の
ビット値を表す。
および(ii)の処理を行う。 (i)DPAを用いて、チェックする仮の鍵(可能な
鍵)の数を限定する。 (ii)(i)で限定された数の仮の鍵について、プロ
セッサ内部で用いられている真の鍵と値が一致するかど
うかをチェックすることによって鍵を推定する。1つの
仮の鍵すなわち1つのパターンの鍵をチェックするため
の計算の量を1単位(サイクル)とする。
サの平文と暗号文の関係を調べることによって実現でき
る。即ち、暗号化プロセッサにより平文を暗号化した場
合と、ソフトウェアなどの別の手段によって、そのチェ
ックされる仮の鍵の値を用いてその平文を暗号化した場
合とを比較する。平文と暗号文の関係が両方の暗号化で
一致した場合は、その仮の鍵の値が暗号プロセッサ内部
で用いられていると判定する。両者が一致しない場合は
その仮の鍵は用いられていないと判定する。
るのに必要な計算量の例を示す。例えば、DPAを行っ
ても128ビット鍵に関する有益な情報を得られなかっ
た場合は、128ビット鍵の全ての可能なパターンをチ
ェックする必要があるので、必要な計算量は2128単
位である。例えば、DPAによって128ビット鍵の最
下位ビット(LSB)が0であることが分かった場合
は、その鍵の残りの127上位ビット(MSBs)の全
ての可能なパターンをチェックすればよいので、必要な
計算量は2127単位である。
全性について、図9の測定対象点AにおけるDPAを図
29および31の暗号化装置400および500に対し
て適用した場合について説明する。図29および31の
第0段のSubbyteにおいて、それぞれのSbox
の出力値がロードされるタイミングにおいてDPAを適
用すると、鍵Kiは28(16−F)=2128−8F
に比例した計算量で解読できることが分かっている。こ
こで、F=f0+f1+・・・+f15である。fjは、
次のように定義される。j(j = 0,1,・・・,1
5)番目のSboxの出力マスク値をd0,j、 d
1,j、・・・、dq−1,jとしたときに、
についてfj=0の場合に、暗号化装置はDPAに対し
て最も安全である。そのためには、全てのj=0,1,
・・・,15について、WDj=(11111111)
2でなければならない。このとき、DPAを用いて鍵を
求めるのに必要な計算量は最大の2128となる。
B)またはSboxへの入力(図9の測定対象点C)に
おけるDPAに対する安全性を説明する。図9の測定対
象点BおよびCにおける所定タイミングにおけるDPA
に対する安全性は、暗号プロセッサでRAMへのロード
が行われた時の測定電圧とロード値との関係がどのよう
なモデルを用いて近似できるかによって異なる。まず、
任意モデルの場合のDPAを考え、その後で式(6)で
表される隣接ビット・モデルの場合のDPAを考える。
象点BおよびCにおける所定タイミングにおけるDPA
を、式(13)によってサブバイト処理で用いられるS
boxの数を1つ(1セット)だけとした図29および
31の暗号化装置400および500に対して適用した
場合について説明する。第0段のSubbyte処理に
おいて、それぞれの鍵XORの出力値がロードされるタ
イミングにおいてDPAを適用すれば、鍵Kiは2
128−(15/16)Hに比例した計算量で解読でき
ることが分かっている。ここで、H=h0+h1+・・
・+h15である。h jは次のように定義される。j
(j = 0,1,・・・,15)番目のSboxの入力
マスク値をc0,j、c1,j、・・・、cq−1,jと
したときに、
hj=0の場合がDPAに対して最も安全である。その
ためには、全てのj=0,1,・・・,15についてW
Cj=(11111111)2でなければならない。こ
のとき、DPAを用いて鍵を求めるのに必要な計算量は
最大の2128になる。
て、q=2かつ式(13)によりサブバイト処理で用い
るSboxのセット(種類)の数を1に限定し、式
(6)で表される隣接ビット・モデルを適用した場合に
ついて説明する。隣接ビット・モデルは、低コストのス
マートカードにおける電圧を近似するのに適したモデル
として知られており、このモデルが適用できる場合は、
上述の任意モデルでは解読できない鍵情報を解読でき
る。図29および31の暗号化装置400および500
における第0段のSubbyte処理において、それぞ
れのSboxの入力値がロードされるタイミング(図9
の測定対象点Cにおける所定タイミング)にDPAを適
用することによって、鍵Kiを2
128−(15/16)Hに比例した計算量で解読でき
る。ここで、H = h0+1+・・・+h15 である。
hjは、次のように定義される。j番目のSboxの入
力マスク値をc0,jおよび c1 ,jとしたときに、
の序数(番号)を表す。eはビット位置を表す。
がc0,jXORc1,j=(01010101)2ま
たは(10101010)2である場合は、Hは最小値
64となり、DPAを用いて鍵を求めるのに必要な計算
量は最大でも268である。
・、cq−1,jに関して条件式(14)または式(1
5)を満たし、かつd0,j、d1,j、・・・、d
q−1 ,jについて式(16)の条件を満たすことによ
って、本発明による固定マスク値法を適用した暗号化装
置に対してDPAを用いて128ビットのラインデール
法の秘密鍵を求める場合、表1および表2に示すように
2128または268に比例した計算量が必要となる。
但し、DPAに対する計算量についての安全性の閾値は
264である。なお、計算量268は鍵の全てのビット
・パターンを計算する場合の計算量2128と比較する
と小さいが、そのような鍵は実際の制限された時間内で
解読することは実際上不可能である。従って、本発明に
よる固定マスク値法を適用した暗号プロセッサに対して
DPAを用いた場合も秘密鍵の解読は実際上不可能であ
る。
りである。 1.2以上のqについて、固定マスク値法は、Sbox
出力値のロードに対するDPAに対して、式(16)の
条件を満たせば、鍵の推定に計算量2128が必要なの
で、安全である。この計算量は鍵の全ての可能なパター
ンをチェックする場合の計算量と同じである。
件を満たす場合、固定マスク値法は、Sbox入力値ロ
ードに対するDPAに対して、隣接ビット・モデルでな
い任意のモデルについて式(15)の条件を満たせば、
鍵の推定に計算量2128が必要なので、安全である。
満たす場合、固定マスク値法は、Sbox入力値ロード
に対するDPAに対して、隣接ビットモデルについて条
件式(14)のc0,jXORc1,j=(01010
101)2または(10101010)2を満たせば、
鍵の推定に計算量268が必要なので、有限時間内での
推定は実際上不可能であり、従って安全である。
増加するが、固定マスク値法は、q=2と同じ解析方法
が適用できないため、上述の2の場合と同様に式(1
5)の条件を満たせば、、隣接ビット・モデルと任意モ
デル鍵の双方とも鍵の推定に計算量2128が必要なの
で、安全である。
4)はSboxのセットの数を1つに限定している(q
=2なので出力値の数は2個)が、Sboxのセットの
数を相異なるn個とするとROM容量はn倍となるが、
計算量は28(n−1)×n1 6倍必要となる。
インデール法のようなSPN型の暗号以外に、DESの
ようなフェイステル(Feistel)型の暗号にも適用でき
る。図32(A)は通常のDESによる暗号化の構成を
示している。図32(B)は図32(A)におけるF関
数のより詳細な構成を示している。図32(B)におい
て、F関数は、線形変換EおよびPと、非線形変換テー
ブルS1〜S8を有する非線形変換S1〜S8とを有す
る。
暗号化装置100の一例を示しており、図29の暗号化
装置400に類似した形態で固定マスク値法を図32の
DESによる暗号化に適用した暗号化装置700を示し
ている。図33(B)は図33(A)におけるF関数の
より詳細な構成を示している。但し、図33(A)にお
いて、図21におけるプロセッサ150、メモリ16
0、162および164は簡単化のために省略されてい
る。
数発生器701と、その乱数h従って固定マスク値FM
inhの中の1つを選択して供給する選択器702と、
入力平文と選択された固定マスク値FMinhとをXO
RするXOR712と、入力を受取って乱数hおよび拡
大鍵Kiに従って入力を暗号化して出力を生成する複数
(例えば16段)のF関数暗号化処理段710〜720
と、その乱数h従って固定マスク値FMouthの中の
1つを選択して供給する選択器704と、F関数暗号化
処理段720の出力と選択された固定マスク値FMou
thとをXORして暗号文を生成するXOR714と、
を含んでいる。F関数暗号化処理段710〜720の各
々は、前段のXOR出力を受け取って図33(B)に示
されたF関数を実行し、その出力と前段の出力をXOR
(722〜723)によってXORして出力を供給す
る。
選択された固定マスク値FMi,hを供給する選択器7
59と、拡大鍵Kiと固定マスク値FMi,hをXOR
して出力を供給するXOR762、その出力の値と線形
変換Eによって線形変換された入力Xi’とをXORす
るXOR763と、その乱数hに従ってサブバイト処理
SubbyteSi,h中の1つを選択してXOR76
3の出力を供給する選択器752および756と、非線
形テーブルSboxSi,hに従ってサブバイト処理す
るSubbyteSi,hと、その乱数hに従ってサブ
バイト処理Si ,h中の1つを選択してその出力を供給
する選択器754および757と、選択器754および
757の出力を線形変換して出力Zi’を供給する線形
変換Pとを含んでいる。
リ160に格納されているプログラムに従って図33の
暗号化装置700の諸処理要素701〜763等を制御
する。代替構成として、プロセッサ150は、諸処理要
素701〜763等に対応する機能を実装したメモリ1
60中のプログラムを実行することによって諸処理要素
701〜763等を実現してもよい。この場合、図33
はフロー図として見ることができる。
暗号化装置200の一例を示しており、図31の暗号化
装置500に類似した形態で固定マスク値法を図32の
DESによる暗号化に適用した暗号化装置800を示し
ている。図34(B)は図34(A)におけるF関数の
より詳細な構成を示している。但し、図34(A)にお
いて、図24におけるプロセッサ250、メモリ26
0、262および264は簡単化のために省略されてい
る。
は、乱数hを発生する乱数発生器801と、乱数hに従
って切換えを行う切換器802および804と、切換器
802および804によって乱数hに従って選択される
複数の暗号処理部820〜830と、を含んでいる。
リ260に格納されているプログラムに従って図34の
暗号化装置800の諸処理要素801〜862等を制御
する。代替構成として、プロセッサ150は、諸処理要
素801〜862等に対応する機能を実装したメモリ1
60中のプログラムを実行することによって諸処理要素
801〜862等を実現してもよい。この場合、図34
はフロー図として見ることができる。
を受け取って出力を生成する複数段(例えば16段)の
F関数暗号化処理段840〜850を含んでいる。F関
数暗号化処理段840〜850の各々は、前段のXOR
出力を受け取ってKiXORFMi,hに従って図34
(B)に示されたF関数を実行し、そのF関数の出力と
前段の出力をXOR(822〜823)によってXOR
して出力を供給する。
定マスク値FMi,hのXOR値と線形変換Eによって
線形変換された入力Xi’とをXORするXOR862
と、非線形テーブルSboxSi,hによるサブバイト
処理SubbyteSi,h(i=1,2,・・・,
8)と、サブバイト処理Si,hの出力を線形変換して
出力Zi’を供給する線形変換Pとを含んでいる。
法の場合と同様に入力マスクFMinは省略できるが、
ラインデール法と同様な手法ではFMoutは省略でき
ない。図35は、フェイステル型暗号化装置における複
数の段の間のマスクの影響の伝播を示している。図35
において太線はマスクされている経路を示している。F
Moutが省略できない理由は、図35に示されている
ように、フェイステル型の暗号では或る段でマスクされ
たデータ(A)が、次段(B)だけでなくそれ以降の段
(C)へも影響するからである。
マスク値を次段で完全にキャンセルできない。図36
は、フェイステル型暗号化装置におけるマスク発生から
マスク値キャンセルまでの経路を示している。図36に
おいて、太線はマスクされている経路を示している。フ
ェイステル型暗号ではマスクを行ってからマスク値をキ
ャンセルするまでには図36に示されているように4段
以上必要であり、4段以上にわたってマスク値をキャン
セルできる。このマスク値キャンセルの手法は、SPN
型暗号化におけるように非線形変換の出力マスクが任意
選択可能であることを利用するのでなくて、図36に示
されているように前段からのマスクと等しい出力マスク
を生成して、フェイステル型暗号化におけるXORによ
ってキャンセルするものである。
クFMoutが不要になる。この手法をDES等の4ラ
ウンド以上の暗号に適用する場合は、4ラウンドでキャ
ンセルするような固定マスク値の構成を繰り返してもよ
いし、または全ラウンドの最後でキャンセルするような
固定マスク値を用いてもよい。
ドに対して固定マスク値法を適用する場合について説明
した。しかし、DPAが可能となる条件で述べたよう
に、DPAが成功するためには入力値が既知でかつ攻撃
者がその値を制御可能でなければならない。従って、暗
号化処理の最初の数ラウンドに対して固定値マスク法を
適用すれば、その後のラウンドはその入力が未知でかつ
制御不可能なのでDPA対策は不要となる。それによっ
て暗号化対策に必要な処理を削減できる。
定マスク値法を用いた暗号化の結果と、DPA対策なし
の通常の暗号化、および従来の乱数マスク値法を用いた
暗号化との比較を示している。表3において、Sは対策
なしの場合の処理時間を表し、Rは対策なしの場合の必
要なRAM量を表し、Mは対策なしの場合の必要なRO
M量を表す。但し、R≪Mである。安全性は攻撃者が鍵
を推定するのに必要なチェックすべき可能な鍵の数で表
される。
値法を用いた暗号化の結果と、DPA対策なしの通常の
暗号化、および従来の乱数マスク値法を用いた暗号化と
の比較を示している。
処理時間が長く大きいRAM量を必要とするのに対し
て、固定マスク値法では、2〜3倍のROM量を必要と
するが大きいRAM領域を必要とせずに、対策なしの場
合とほぼ同じ程度の処理時間で充分な安全性が確保でき
る。
よびDESについて説明したが、固定マスク値法は、ラ
インデール法以外のSPN型暗号化、DES以外のフェ
イステル型暗号化、およびそれを組合せた型の暗号にも
適用でき同様の有効性を示す。
たに過ぎず、その変形およびバリエーションは当業者に
とって明らかであり、当業者であれば本発明の原理およ
び請求の範囲に記載した発明の範囲を逸脱することなく
上述の実施形態の種々の変形を行えることは明らかであ
る。
形変換手段を有する暗号化装置であって、乱数を発生す
る乱数発生器手段と、q個の固定値(ここでqは整数で
ある)と、前記乱数に従って前記q個の固定値の中の1
つを選択する第1の選択器と、を具え、前記排他的論理
和手段は、前記選択された固定値と鍵の排他的論理和と
前記排他的論理和手段の入力の排他的論理和をとるもの
である、暗号化装置。 (付記2) さらに、q組(セット)のマスクされた固
定テーブルと、前記乱数に従って前記q組の固定テーブ
ルの中の1組を選択する第2の選択器と、を具え、前記
非線形変換手段は前記選択された1組の固定テーブルに
従って入力を非線形変換するものである、付記1に記載
の暗号化装置。 (付記3) 前記第1の排他的論理和手段および前記非
線形変換手段を有する暗号化部と、前記暗号化装置への
入力と前記乱数に従って選択された或る固定値の排他的
論理和をとる第2の排他的論理和手段と、前記乱数に従
って選択された或る固定値と前記暗号化部の出力の排他
的論理和をとる第3の排他的論理和手段とを具える、付
記1に記載の暗号化装置。 (付記4) 排他的論理和手段および非線形変換手段を
有する暗号化装置であって、乱数を発生する乱数発生器
手段と、q組のマスクされた固定テーブル(ここでqは
整数である)と、前記乱数に従って前記q組の固定テー
ブルの中の1組を選択する選択器と、を具え、前記非線
形変換手段は、前記選択された1組の固定テーブルに従
って入力を非線形変換するものである、暗号化装置。 (付記5) 複数の暗号化段を具え、この複数の暗号化
段の各々は、その段の、前記排他的論理和手段と、前記
固定テーブルと、前記選択器と、を有するものであり、
前記複数の暗号化段のそれぞれの前記固定テーブルは同
じものである、付記4に記載の暗号化装置。 (付記6) マスクされる前の固定テーブルをS[x]
とし、マスクされたj番目のテーブルをSj[xXOR
ci,j]XORdi,j(j=0,1,・・・,1
5)としたときに、(c0,jXORc1,j)∨XO
R(c1,jXORc2,j)∨・・・∨(c
q−2,jXORcq−2,j)=(1111111
1)2である、付記4に記載の暗号化装置。 (付記7) テーブルの組の数q=2とする場合に、マ
スクされる前の固定テーブルをS[x]とし、マスクさ
れたj番目のテーブルをSj[xXORci,j]XO
Rdi,j(j=0,1,・・・,15)としたとき
に、c0,jXORc1,j= (10110101
0)2または(011010101)2である、付記4
に記載の暗号化装置。 (付記8) マスクされる前の固定テーブルをS[x]
とし、マスクされたj番目のテーブルをSj[xXOR
ci,j]XORdi,j(j=0,1,・・・,1
5)としたときに、(d0,jXORd1,j)∨(d
1,jXORd2, j)∨・・・∨(dq−2,jXO
Rdq−2,j)=(11111111)2である、付
記4に記載の暗号化装置。 (付記9) 前記非線形変換手段はサブバイト手段であ
り、さらに、入力をシフトする手段と、入力をミクスト
コラムする手段とを具える、付記4に記載の暗号化装
置。 (付記10) 乱数を発生する乱数発生器手段と、並列
に結合された複数の暗号化部と、前記乱数に従って前記
複数の暗号化部の中の1つを選択する選択器と、を具
え、前記複数の暗号化部の各々は、排他的論理和手段お
よび非線形変換手段を含むものである、暗号化装置。 (付記11) 前記選択された暗号化部の前記排他的論
理和手段は、固定値と鍵の排他的論理和と前記排他的論
理和手段の入力の排他的論理和をとるものである、付記
10に記載の暗号化装置。 (付記12) 前記非線形変換手段は、固定テーブルに
従って前記非線形変換手段の入力を非線形変換するもの
である、付記10に記載の暗号化装置。 (付記13) 前記複数の暗号化部の各々は、その暗号
化部への入力と固定値の排他的論理和をとる第2の排他
的論理和手段と、入力と固定値の排他的論理和をその暗
号化部の出力として生成する第3の排他的論理和手段
と、を具えるものである、付記10に記載の暗号化装
置。 (付記14) 前記選択された暗号化部の前記非線形変
換手段は、固定テーブルに従って前記非線形変換手段の
入力を非線形変換するものである、付記10に記載の暗
号化装置。 (付記15) 前記複数の暗号化部の各々は複数の暗号
化段を含んでおり、前記複数の暗号化段の各々は、その
段の、鍵と固定値の排他的論理和と入力の排他的論理和
をとる排他的論理和手段と、固定テーブルに従って入力
を非線形変換する非線形変換手段とを含むものである、
付記10に記載の暗号化装置。 (付記16) 乱数を発生する乱数発生器手段と複数の
暗号化段とを具えた暗号化装置であって、前記複数の暗
号化段の各々は、入力を非線形変換する非線形変換手段
と、第1の入力と第2の入力の排他的論理和をとる排他
的論理和手段と、を含み、前記排他的論理和手段の第2
の入力は前記非線形変換手段の出力に結合されており、
前記非線形変換手段は、q個の固定値(ここでqは整数
である)と、前記乱数に従って前記q個の固定値の中の
1つを選択する選択器と、前記選択された固定値と鍵の
排他的論理和と入力の排他的論理和をとる別の排他的論
理和手段と、を有するものである、暗号化装置。 (付記17) 前記非線形変換手段は、さらに、前記非
線形変換手段の内部に、固定テーブルに従って入力を非
線形変換する複数の非線形変換手段と、前記複数の非線
形変換手段の中の1つのを選択する選択器とを有するも
のである、付記16に記載の暗号化装置。 (付記18) 前記複数の暗号化段のそれぞれの前記非
線形変換手段の固定テーブルは同じである、付記17に
記載の暗号化装置。 (付記19) 前記複数の暗号化段における連続する複
数の段においてマスクをキャンセルする、付記16に記
載の暗号化装置。 (付記20) 前記複数の暗号化段において前記複数の
暗号化段の数より少ない数の暗号化段においてマスクが
行われる、付記16に記載の暗号化装置。 (付記21) 乱数を発生する乱数発生器手段と複数の
暗号化段とを具えた暗号化装置であって、前記複数の暗
号化段の各々は、入力を非線形変換する非線形変換手段
と、第1の入力と第2の入力の排他的論理和をとる排他
的論理和手段と、を含み、前記排他的論理和手段の第2
の入力は前記非線形変換手段の出力に結合されており、
前記非線形変換手段は、内部に、前記乱数に従って、固
定テーブルに従って入力を非線形変換する非線形変換手
段を有するものである、暗号化装置。 (付記22) 乱数を発生する乱数発生器手段と、並列
に結合された複数の暗号化部と、前記乱数に従って前記
複数の暗号化部の中の1つを選択する選択器と、を具
え、前記複数の暗号化部の各々は複数の暗号化段を有
し、前記複数の暗号化段の各々は、入力を非線形変換す
る非線形変換手段と、第1の入力と第2の入力の排他的
論理和をとる排他的論理和手段と、を含み、前記排他的
論理和手段の第2の入力は前記非線形変換手段の出力に
結合されているものである、暗号化装置。 (付記23) 前記非線形変換手段は、固定値と鍵の排
他的論理和と入力の排他的論理和をとる別の排他的論理
和手段と、前記非線形変換手段の内部に、固定テーブル
に従って入力を非線形変換する非線形変換手段と、を有
するものである、付記22に記載の暗号化装置。 (付記24) マスクされる前の固定テーブルをS
j[x]とし、マスクされたj番目のテーブルをSj’
[xXORci,j]XORdi,j(j=0,1,・
・・,7)としたときに、(d0,jXORd1,j)
∨(d1,jXORd 2,j)∨・・・∨(d
q−2,jXORdq−2,j)=(1111)2であ
る、付記22に記載の暗号化装置。 (付記25) 暗号化装置において用いるための記憶媒
体に格納されたプログラムであって、乱数に従ってq個
の固定値の中の1つを選択するステップ(ここでqは整
数である)と、前記選択された固定値と鍵の排他的論理
和と入力値の排他的論理和をとるステップと、前記乱数
に従ってq組のマスクされた固定テーブルの中の1組を
選択するステップと、前記選択された1組の固定テーブ
ルに従って入力値を非線形変換するステップと、を実行
させる、プログラム。 (付記26) 暗号化装置において用いるための記憶媒
体に格納されたプログラムであって、乱数に従って複数
の暗号化手順の中の1つを選択するステップと、前記選
択された暗号化手順に従って、入力値を暗号化して出力
するステップと、を実行させ、前記暗号化するステップ
は、固定値と鍵の排他的論理和と入力値の排他的論理和
をとるステップと、1組の固定テーブルに従って入力値
を非線形変換するステップと、を含むものである、プロ
グラム。 (付記27) 暗号化装置において用いるための記憶媒
体に格納されたプログラムであって、入力値を非線形変
換して出力を供給するステップと、第1の入力値と前記
出力である第2の入力値の排他的論理和をとるステップ
と、を実行させ、前記非線形変換するステップは、乱数
に従ってq個の固定値の中の1つを選択するステップ
(ここでqは整数である)と、前記選択された固定値と
鍵の排他的論理和と入力値の排他的論理和をとるステッ
プと、前記乱数に関連付けられた固定テーブルに従って
入力値を非線形変換するステップと、を含むものであ
る、プログラム。 (付記28) 暗号化装置において用いるための記憶媒
体に格納されたプログラムであって、乱数に従って複数
の暗号化手順の中の1つを選択するステップと、前記選
択された暗号化手順に従って、入力値を暗号化して出力
を供給するステップと、を実行させ、前記暗号化するス
テップは、入力値を非線形変換して出力を供給するステ
ップと、第1の入力値と前記出力である第2の入力値の
排他的論理和をとるステップと、を含むものである、プ
ログラム。
暗号を行う暗号プロセッサに対する効率的な暗号解読防
止を実現でき、秘密鍵の推定を困難にし、暗号プロセッ
サの安全性を高めることができるという効果を奏する。
密鍵を用いた暗号化の例を示している。
ORを示している。
変換を示している。
形変換を示している。
と非線形変換(図4)の組合せである暗号化の例を示し
ている。
iに関係する構成要素を示している。
がその入力平文に応答して消費する電力消費の時間変化
を表す電力消費曲線を示している。図7(C)はスパイ
クを有する電力消費曲線の差分を示している。図7
(D)はスパイクのない電力消費曲線の差分を示してい
る。
換を追加した構成を有する暗号化器を示している。
の測定対象点A、BおよびCを示している。
図を示している。
示している。
示している。
を示している。
ンデール処理の全体的構成を示している。
から拡大鍵K0、K1、・・・、KNを生成する拡大鍵
生成器を示している。
構成を示している。
いる。
olumnの構成を示している。
法に対して、乱数マスク値法を適用したN段ラインデー
ル法を示している。
されるNewSboxを示している。
化装置の概略的構成を示している。
示している。
を示している。
化装置の概略的構成を示している。
示している。
を示している。
置の一例を示している。
構成を示している。
置の別の例を示している。
構成を示している。
置の一例を示している。
る。
ステル型のDESに適用した構成を示している。
ステル型のDESに適用した構成を示している。
る暗号における段の間のマスクの伝播を示している。
るマスク発生からマスク値キャンセルまでの経路を示し
ている。
XR(排他的論理和) 334 Subbyte 335 Shift 336 Mixedcolumn
Claims (6)
- 【請求項1】 排他的論理和手段および非線形変換手段
を有する暗号化装置であって、 乱数を発生する乱数発生手段と、q個(qは整数)の固
定値と、前記乱数に従って前記q個の固定値の中の1つ
を選択する第1の選択器と、を具え、 前記排他的論理和手段は、前記選択された固定値と鍵の
排他的論理和と前記排他的論理和手段の入力の排他的論
理和をとるものであること、を特徴とする、暗号化装
置。 - 【請求項2】 排他的論理和手段および非線形変換手段
を有する暗号化装置であって、 乱数を発生する乱数発生手段と、q組(qは整数)のマ
スクされた固定テーブルと、前記乱数に従って前記q組
の固定テーブルの中の1組を選択する選択器と、を具
え、 前記非線形変換手段は、前記選択された1組の固定テー
ブルに従って入力を非線形変換するものであること、を
特徴とする、暗号化装置。 - 【請求項3】 乱数を発生する乱数発生手段と、並列に
結合された複数の暗号化部と、前記乱数に従って前記複
数の暗号化部の中の1つを選択する選択器と、を具え、 前記複数の暗号化部の各々は、排他的論理和手段および
非線形変換手段を含むものであること、を特徴とする、
暗号化装置。 - 【請求項4】 乱数を発生する乱数発生手段と複数の暗
号化段とを具えた暗号化装置であって、 前記複数の暗号化段の各々は、入力を非線形変換する非
線形変換手段と、第1の入力と第2の入力の排他的論理
和をとる排他的論理和手段と、を含み、 前記排他的論理和手段の第2の入力は前記非線形変換手
段の出力に結合されており、 前記非線形変換手段は、q個(qは整数)の固定値と、
前記乱数に従って前記q個の固定値の中の1つを選択す
る選択器と、前記選択された固定値と鍵の排他的論理和
と入力の排他的論理和をとる別の排他的論理和手段と、
を有するものであること、を特徴とする、暗号化装置。 - 【請求項5】 乱数を発生する乱数発生手段と、並列に
結合された複数の暗号化部と、前記乱数に従って前記複
数の暗号化部の中の1つを選択する選択器と、を具え、 前記複数の暗号化部の各々は複数の暗号化段を有し、 前記複数の暗号化段の各々は、入力を非線形変換する非
線形変換手段と、第1の入力と第2の入力の排他的論理
和をとる排他的論理和手段と、を含み、 前記排他的論理和手段の第2の入力は前記非線形変換手
段の出力に結合されているものであること、特徴とす
る、暗号化装置。 - 【請求項6】 暗号化装置において用いられるプログラ
ムであって、 乱数に従って複数の暗号化手順の中の1つを選択するス
テップと、前記選択された暗号化手順に従って、入力値
を暗号化して出力するステップと、を実行させ、 前記暗号化するステップは、固定値と鍵の排他的論理和
と入力値の排他的論理和をとるステップと、1組の固定
テーブルに従って入力値を非線形変換するステップと、
を含むものであること、を特徴とする、プログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001178407A JP4596686B2 (ja) | 2001-06-13 | 2001-06-13 | Dpaに対して安全な暗号化 |
US10/028,265 US7386130B2 (en) | 2001-06-13 | 2001-12-28 | Encryption secured against DPA |
EP02001146A EP1267514B1 (en) | 2001-06-13 | 2002-01-25 | Encryption secured against Differential Power Analysis (DPA) |
EP07000759A EP1772985A1 (en) | 2001-06-13 | 2002-01-25 | Encryption secured against Differential Power Analysis (DPA) |
DE60222052T DE60222052T2 (de) | 2001-06-13 | 2002-01-25 | Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA) |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001178407A JP4596686B2 (ja) | 2001-06-13 | 2001-06-13 | Dpaに対して安全な暗号化 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002366029A true JP2002366029A (ja) | 2002-12-20 |
JP4596686B2 JP4596686B2 (ja) | 2010-12-08 |
Family
ID=19019110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001178407A Expired - Fee Related JP4596686B2 (ja) | 2001-06-13 | 2001-06-13 | Dpaに対して安全な暗号化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7386130B2 (ja) |
EP (2) | EP1267514B1 (ja) |
JP (1) | JP4596686B2 (ja) |
DE (1) | DE60222052T2 (ja) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004004603A (ja) * | 2002-04-03 | 2004-01-08 | Matsushita Electric Ind Co Ltd | 拡大鍵生成装置、暗号化装置および暗号化システム |
JP2004354920A (ja) * | 2003-05-30 | 2004-12-16 | Toshiba Corp | 記憶装置 |
WO2005027403A1 (ja) * | 2003-09-11 | 2005-03-24 | Renesas Technology Corp. | 情報処理装置 |
JP2005086670A (ja) * | 2003-09-10 | 2005-03-31 | Toshiba Corp | 暗号化/復号モジュール |
JP2005204128A (ja) * | 2004-01-16 | 2005-07-28 | Mitsubishi Electric Corp | 個別鍵生成装置及びプログラム |
JP2005236977A (ja) * | 2004-02-19 | 2005-09-02 | Samsung Electronics Co Ltd | 電力分析攻撃に安全な基本演算装置および方法 |
JP2005266810A (ja) * | 2004-03-16 | 2005-09-29 | Samsung Electronics Co Ltd | マスキング方法が適用されたデータ暗号処理装置、aes暗号システム及びaes暗号方法 |
WO2006006199A1 (ja) * | 2004-07-07 | 2006-01-19 | Mitsubishi Denki Kabushiki Kaisha | 電子素子及びデータ処理方法 |
JP2006520565A (ja) * | 2003-03-14 | 2006-09-07 | アクサルト・エス・アー | 暗号プロセッサを備える電子ユニットのセキュリティのプロセス |
WO2006112114A1 (ja) * | 2005-03-31 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | データ暗号化装置及びデータ暗号化方法 |
WO2006118086A1 (ja) * | 2005-04-28 | 2006-11-09 | Matsushita Electric Industrial Co., Ltd. | プログラム変換装置、暗号処理装置、暗号処理方法 |
JP2006345242A (ja) * | 2005-06-09 | 2006-12-21 | Sony Corp | 暗号化復号処理回路および暗号化復号システム |
US7159115B2 (en) | 2002-09-11 | 2007-01-02 | Kabushiki Kaisha Toshiba | Method and apparatus for encrypting data |
JP2007073012A (ja) * | 2005-09-09 | 2007-03-22 | Iwate Univ | 乱数生成システム |
JP2007096973A (ja) * | 2005-09-29 | 2007-04-12 | Toshiba Corp | 暗号化/復号装置 |
JP2007228141A (ja) * | 2006-02-22 | 2007-09-06 | Hitachi Ltd | 暗号処理方法及び暗号処理装置 |
JP2007537474A (ja) * | 2004-05-11 | 2007-12-20 | アクサルト・エス・アー | ホモグラフィックマスキングにより暗号アセンブリを保護する方法 |
JP2008292742A (ja) * | 2007-05-24 | 2008-12-04 | Toshiba Corp | 非線形データ変換器、暗号化装置、および復号装置 |
JP2009500892A (ja) * | 2005-06-29 | 2009-01-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 |
JP2009516964A (ja) * | 2005-11-21 | 2009-04-23 | アトメル・コーポレイション | 暗号化保護方法 |
WO2009122464A1 (ja) | 2008-03-31 | 2009-10-08 | 富士通株式会社 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
JP2009537025A (ja) * | 2006-03-31 | 2009-10-22 | アクサルト・エス・アー | サイドチャネル攻撃からの保護 |
JP2010166402A (ja) * | 2009-01-16 | 2010-07-29 | Mitsubishi Electric Corp | 暗号処理装置及び暗号処理方法及び暗号処理プログラム |
WO2010103928A1 (ja) * | 2009-03-10 | 2010-09-16 | 株式会社 東芝 | 演算装置及びプログラム |
JP2011101413A (ja) * | 2002-03-07 | 2011-05-19 | Axalto Sa | 秘密鍵を伴う電子暗号アセンブリを安全に守る方法 |
US7949807B2 (en) | 2005-03-16 | 2011-05-24 | Mitsubishi Electric Corporation | Data conversion apparatus and data conversion method |
JP2012063700A (ja) * | 2010-09-17 | 2012-03-29 | Toshiba Corp | 暗号化装置 |
US8218762B2 (en) | 2006-11-16 | 2012-07-10 | Fujitsu Limited | Encrypting apparatus for common key cipher |
JP2012520589A (ja) * | 2009-03-10 | 2012-09-06 | イルデト・コーポレート・ビー・ヴイ | 入力に依存する符号化を用いたホワイトボックス暗号システム |
JP2013077034A (ja) * | 2013-01-28 | 2013-04-25 | Fujitsu Ltd | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
JP2013186157A (ja) * | 2012-03-06 | 2013-09-19 | Toshiba Corp | 暗号処理装置 |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599491B2 (en) * | 1999-01-11 | 2009-10-06 | Certicom Corp. | Method for strengthening the implementation of ECDSA against power analysis |
US7092523B2 (en) | 1999-01-11 | 2006-08-15 | Certicom Corp. | Method and apparatus for minimizing differential power attacks on processors |
US9323955B2 (en) * | 2000-12-21 | 2016-04-26 | Gemalto Sa | Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system |
FR2844896A1 (fr) * | 2002-09-19 | 2004-03-26 | St Microelectronics Sa | Alimentation d'un circuit de traitement asynchrone de donnees |
US7190791B2 (en) * | 2002-11-20 | 2007-03-13 | Stephen Laurence Boren | Method of encryption using multi-key process to create a variable-length key |
JP2004212828A (ja) * | 2003-01-08 | 2004-07-29 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
DE10341096A1 (de) * | 2003-09-05 | 2005-03-31 | Giesecke & Devrient Gmbh | Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen |
US8102997B2 (en) * | 2004-03-29 | 2012-01-24 | Stmicroelectronics S.A. | Processor for executing an AES-type algorithm |
US7899190B2 (en) | 2004-04-16 | 2011-03-01 | Research In Motion Limited | Security countermeasures for power analysis attacks |
US7848514B2 (en) * | 2004-05-24 | 2010-12-07 | Research In Motion Limited | Table masking for resistance to power analysis attacks |
EP1601132B1 (en) * | 2004-05-24 | 2006-11-15 | Research In Motion Limited | Table Masking for Resistance to Power Analysis Attacks |
KR20060081847A (ko) * | 2005-01-10 | 2006-07-13 | 삼성전자주식회사 | 비밀키를 보호하는 스마트 카드 및 그것의 방법 |
JP5068176B2 (ja) | 2005-01-18 | 2012-11-07 | サーティコム コーポレーション | デジタル署名と公開鍵の促進された検証 |
US8467535B2 (en) * | 2005-01-18 | 2013-06-18 | Certicom Corp. | Accelerated verification of digital signatures and public keys |
KR100725169B1 (ko) * | 2005-01-27 | 2007-06-04 | 삼성전자주식회사 | 전력 분석 공격에 안전한 논리 연산 장치 및 방법 |
GB2443358A (en) * | 2005-01-27 | 2008-04-30 | Samsung Electronics Co Ltd | Cryptographic logic circuits and method of performing logic operations |
US8024583B2 (en) * | 2005-04-27 | 2011-09-20 | Panasonic Corporation | Confidential information processing host device and confidential information processing method |
JP2007189659A (ja) * | 2005-12-15 | 2007-07-26 | Toshiba Corp | 暗号化装置、暗号化方法及び暗号化プログラム |
DE602006020010D1 (de) * | 2005-12-19 | 2011-03-24 | St Microelectronics Sa | Schutz der Ausführung eines DES-Algorithmus |
JP2007192893A (ja) * | 2006-01-17 | 2007-08-02 | Sony Corp | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
ATE476803T1 (de) * | 2006-03-07 | 2010-08-15 | Research In Motion Ltd | Tabellenteilung für kryptografische verfahren |
WO2007121035A2 (en) | 2006-03-23 | 2007-10-25 | Exegy Incorporated | Method and system for high throughput blockwise independent encryption/decryption |
FR2903508B1 (fr) * | 2006-07-10 | 2008-10-17 | Sagem Defense Securite | Protection d'un programme interprete par une machine virtuelle |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP5023624B2 (ja) * | 2006-09-01 | 2012-09-12 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US9411976B2 (en) * | 2006-12-01 | 2016-08-09 | Maidsafe Foundation | Communication system and method |
US8422668B1 (en) * | 2006-12-15 | 2013-04-16 | Spansion Llc | Table lookup operation on masked data |
US7949130B2 (en) * | 2006-12-28 | 2011-05-24 | Intel Corporation | Architecture and instruction set for implementing advanced encryption standard (AES) |
US7970129B2 (en) * | 2007-04-19 | 2011-06-28 | Spansion Llc | Selection of a lookup table with data masked with a combination of an additive and multiplicative mask |
EP2186250B1 (en) * | 2007-08-31 | 2019-03-27 | IP Reservoir, LLC | Method and apparatus for hardware-accelerated encryption/decryption |
US7945050B2 (en) * | 2007-09-28 | 2011-05-17 | Intel Corporation | Suppressing power supply noise using data scrambling in double data rate memory systems |
US8503678B2 (en) * | 2007-09-28 | 2013-08-06 | Intel Corporation | Suppressing power supply noise using data scrambling in double data rate memory systems |
EP2195761B1 (en) * | 2007-10-01 | 2013-04-03 | Research In Motion Limited | Substitution table masking for cryptographic processes |
KR101011264B1 (ko) * | 2008-01-18 | 2011-01-27 | 고려대학교 산학협력단 | 아리아 마스킹 방법 및 이를 이용한 아리아 암호 장치 및방법 |
JP5268609B2 (ja) * | 2008-12-09 | 2013-08-21 | 株式会社東芝 | 暗号処理装置及び演算方法 |
FR2941343B1 (fr) * | 2009-01-20 | 2011-04-08 | Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst | Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement. |
JP2010245881A (ja) * | 2009-04-07 | 2010-10-28 | Toshiba Corp | 暗号処理装置 |
US8615078B2 (en) * | 2009-08-21 | 2013-12-24 | Electronics And Telecommunications Research Institute | Method and apparatus for processing F-function in seed encryption system |
JP2011169977A (ja) * | 2010-02-16 | 2011-09-01 | Renesas Electronics Corp | 暗号処理装置 |
US8619985B2 (en) | 2010-04-27 | 2013-12-31 | Research In Motion Limited | Table splitting for cryptographic processes |
DE102010028375A1 (de) * | 2010-04-29 | 2011-11-03 | Robert Bosch Gmbh | Schutz vor kryptoanalytischen Seitenkanalattacken |
DE102010029735A1 (de) * | 2010-06-07 | 2011-12-08 | Robert Bosch Gmbh | Verfahren zum Generieren eines Bitvektors |
US20120079462A1 (en) * | 2010-09-24 | 2012-03-29 | SoftKrypt LLC | Systems and methods of source software code obfuscation |
KR20120070873A (ko) * | 2010-12-22 | 2012-07-02 | 한국전자통신연구원 | 부채널 방지 마스킹 덧셈 연산 장치 |
FR2977953A1 (fr) * | 2011-07-13 | 2013-01-18 | St Microelectronics Rousset | Protection d'un calcul d'exponentiation modulaire par addition d'une quantite aleatoire |
MY178555A (en) * | 2011-08-19 | 2020-10-16 | Mimos Berhad | Method and system for providing a secured internet protocol based communication |
US8624624B1 (en) | 2011-08-26 | 2014-01-07 | Lockheed Martin Corporation | Power isolation during sensitive operations |
US8525545B1 (en) | 2011-08-26 | 2013-09-03 | Lockheed Martin Corporation | Power isolation during sensitive operations |
JP5481455B2 (ja) * | 2011-09-27 | 2014-04-23 | 株式会社東芝 | 暗号処理装置 |
US8745376B2 (en) | 2011-10-14 | 2014-06-03 | Certicom Corp. | Verifying implicit certificates and digital signatures |
FR2995111B1 (fr) * | 2012-09-04 | 2015-07-24 | Morpho | Protection contre canaux auxiliaires |
CN103001762B (zh) * | 2012-11-25 | 2015-08-19 | 宁波大学 | 一种密码器件上防御零值功耗攻击的方法 |
DE102012025416A1 (de) * | 2012-12-21 | 2014-06-26 | Giesecke & Devrient Gmbh | Verfahren zum Betreiben eines portablen Datenträgers sowie ein solcher portabler Datenträger |
US9959429B2 (en) * | 2013-03-15 | 2018-05-01 | Cryptography Research, Inc. | Asymmetrically masked multiplication |
US10015152B2 (en) * | 2014-04-02 | 2018-07-03 | International Business Machines Corporation | Securing data in a dispersed storage network |
CN103905462B (zh) * | 2014-04-16 | 2017-05-17 | 深圳国微技术有限公司 | 可抵御差分功耗分析攻击的加密处理装置及方法 |
US9871651B2 (en) * | 2014-06-16 | 2018-01-16 | Cisco Technology, Inc. | Differential power analysis countermeasures |
US9654111B1 (en) * | 2014-11-12 | 2017-05-16 | Maxim Integrated Products, Inc. | Systems and methods for protecting data using reconfigurable logic paths |
US9792246B2 (en) | 2014-12-27 | 2017-10-17 | Intel Corporation | Lower-power scrambling with improved signal integrity |
CN106161005B (zh) * | 2015-03-31 | 2019-05-07 | 北京南瑞智芯微电子科技有限公司 | 一种分组加密算法防攻击的掩码方法和装置 |
DE102015115649A1 (de) | 2015-09-16 | 2017-03-16 | Claas Tractor Sas | Landwirtschaftliches Arbeitsfahrzeug |
FR3048096A1 (fr) * | 2016-02-22 | 2017-08-25 | Eshard | Procede de protection d'un circuit contre une analyse par canaux auxiliaires |
EP3220304B1 (en) | 2016-02-22 | 2018-11-07 | Eshard | Method of testing the resistance of a circuit to a side channel analysis |
EP3264396B1 (en) * | 2016-06-28 | 2022-01-26 | Eshard | A method for protecting a substitution operation using a substitution table against a side-channel analysis |
EP3264397B1 (en) * | 2016-06-28 | 2020-09-16 | Eshard | A protection method and device against a side-channel analysis |
EP3264311B1 (en) | 2016-06-28 | 2021-01-13 | Eshard | A protection method and device against a side-channel analysis |
CN107547193A (zh) | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 使替换运算免受侧信道分析的方法 |
US10243937B2 (en) * | 2016-07-08 | 2019-03-26 | Nxp B.V. | Equality check implemented with secret sharing |
US10256973B2 (en) * | 2016-09-30 | 2019-04-09 | Intel Corporation | Linear masking circuits for side-channel immunization of advanced encryption standard hardware |
FI20165911A (fi) * | 2016-11-30 | 2018-05-31 | Sam Widlund | Menetelmä ja järjestelmä tiedon salaukseen |
US11507699B2 (en) * | 2019-09-27 | 2022-11-22 | Intel Corporation | Processor with private pipeline |
KR20210108787A (ko) | 2020-02-26 | 2021-09-03 | 삼성전자주식회사 | 듀얼 인코더를 포함하는 시큐리티 회로 및 이를 포함하는 암복호화기 |
JP7314108B2 (ja) * | 2020-08-27 | 2023-07-25 | 株式会社東芝 | 暗号処理装置、暗号処理方法およびプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999067919A2 (en) * | 1998-06-03 | 1999-12-29 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452358A (en) * | 1994-02-08 | 1995-09-19 | Apple Computer, Inc. | Method and apparatus for improving the security of an electronic codebook encryption scheme utilizing a data dependent encryption function |
GB2288519A (en) * | 1994-04-05 | 1995-10-18 | Ibm | Data encryption |
US5870470A (en) | 1996-02-20 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for encrypting long blocks using a short-block encryption procedure |
US6510518B1 (en) * | 1998-06-03 | 2003-01-21 | Cryptography Research, Inc. | Balanced cryptographic computational method and apparatus for leak minimizational in smartcards and other cryptosystems |
US6275586B1 (en) * | 1998-09-10 | 2001-08-14 | Igt | Cryptographically secure pseudo random number generator |
FR2784829B1 (fr) | 1998-10-16 | 2000-12-29 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete |
FR2784831B1 (fr) | 1998-10-16 | 2000-12-15 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete |
FR2785477B1 (fr) | 1998-10-29 | 2000-12-29 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete |
JP2000165375A (ja) * | 1998-11-30 | 2000-06-16 | Hitachi Ltd | 情報処理装置、icカード |
FR2789535B1 (fr) | 1999-02-04 | 2001-09-28 | Bull Cp8 | Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique |
FR2789776B1 (fr) | 1999-02-17 | 2001-04-06 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete |
FR2790890B1 (fr) * | 1999-03-08 | 2001-04-27 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete |
JP2000305453A (ja) | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
US6295606B1 (en) * | 1999-07-26 | 2001-09-25 | Motorola, Inc. | Method and apparatus for preventing information leakage attacks on a microelectronic assembly |
DE19936529C1 (de) | 1999-08-03 | 2001-02-01 | Orga Kartensysteme Gmbh | Verfahren zur Verschlüsselung von Daten mit Hilfe einer Standard-Verschlüsselung in einem mikroprozessorgestützten, tragbaren Datenträger |
US6873706B1 (en) * | 1999-09-29 | 2005-03-29 | Hitachi, Ltd. | Processing apparatus, program, or system of secret information |
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
FR2809893B1 (fr) * | 2000-06-02 | 2002-11-15 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique |
US7000111B1 (en) * | 2000-11-07 | 2006-02-14 | Ericsson Inc. | Method for masking secret multiplicands |
-
2001
- 2001-06-13 JP JP2001178407A patent/JP4596686B2/ja not_active Expired - Fee Related
- 2001-12-28 US US10/028,265 patent/US7386130B2/en not_active Expired - Fee Related
-
2002
- 2002-01-25 EP EP02001146A patent/EP1267514B1/en not_active Expired - Lifetime
- 2002-01-25 EP EP07000759A patent/EP1772985A1/en not_active Withdrawn
- 2002-01-25 DE DE60222052T patent/DE60222052T2/de not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999067919A2 (en) * | 1998-06-03 | 1999-12-29 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
Non-Patent Citations (1)
Title |
---|
THOMAS S. MESSERGES: "Securing the AES Finalists Against Power Analysis Attacks", PROCEEDINGS OF THE 7TH INTERNATIONAL WORKSHOP ON FAST SOFTWARE ENCRYPTION, FSE 2000, JPN6010018476, 2000, pages 150 - 164, ISSN: 0001729105 * |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011101413A (ja) * | 2002-03-07 | 2011-05-19 | Axalto Sa | 秘密鍵を伴う電子暗号アセンブリを安全に守る方法 |
JP2004004603A (ja) * | 2002-04-03 | 2004-01-08 | Matsushita Electric Ind Co Ltd | 拡大鍵生成装置、暗号化装置および暗号化システム |
JP4515716B2 (ja) * | 2002-04-03 | 2010-08-04 | パナソニック株式会社 | 拡大鍵生成装置、暗号化装置および暗号化システム |
US7159115B2 (en) | 2002-09-11 | 2007-01-02 | Kabushiki Kaisha Toshiba | Method and apparatus for encrypting data |
JP2006520565A (ja) * | 2003-03-14 | 2006-09-07 | アクサルト・エス・アー | 暗号プロセッサを備える電子ユニットのセキュリティのプロセス |
JP2004354920A (ja) * | 2003-05-30 | 2004-12-16 | Toshiba Corp | 記憶装置 |
JP2005086670A (ja) * | 2003-09-10 | 2005-03-31 | Toshiba Corp | 暗号化/復号モジュール |
WO2005027403A1 (ja) * | 2003-09-11 | 2005-03-24 | Renesas Technology Corp. | 情報処理装置 |
JPWO2005027403A1 (ja) * | 2003-09-11 | 2006-11-24 | 株式会社ルネサステクノロジ | 情報処理装置 |
JP4611643B2 (ja) * | 2004-01-16 | 2011-01-12 | 三菱電機株式会社 | 個別鍵生成装置 |
JP2005204128A (ja) * | 2004-01-16 | 2005-07-28 | Mitsubishi Electric Corp | 個別鍵生成装置及びプログラム |
JP2005236977A (ja) * | 2004-02-19 | 2005-09-02 | Samsung Electronics Co Ltd | 電力分析攻撃に安全な基本演算装置および方法 |
US7292060B2 (en) | 2004-02-19 | 2007-11-06 | Samsung Electronics Co., Ltd. | Logic circuit and method thereof |
US7965836B2 (en) | 2004-03-16 | 2011-06-21 | Samsung Electronics Co., Ltd. | Data cipher processors |
JP2005266810A (ja) * | 2004-03-16 | 2005-09-29 | Samsung Electronics Co Ltd | マスキング方法が適用されたデータ暗号処理装置、aes暗号システム及びaes暗号方法 |
JP2007537474A (ja) * | 2004-05-11 | 2007-12-20 | アクサルト・エス・アー | ホモグラフィックマスキングにより暗号アセンブリを保護する方法 |
JP4668985B2 (ja) * | 2004-05-11 | 2011-04-13 | アクサルト・エス・アー | ホモグラフィックマスキングにより暗号アセンブリを保護する方法 |
JPWO2006006199A1 (ja) * | 2004-07-07 | 2008-04-24 | 三菱電機株式会社 | 電子素子及びデータ処理方法 |
US8577942B2 (en) | 2004-07-07 | 2013-11-05 | Mitsubishi Electric Corporation | Electronic device and data processing device for implementing cryptographic algorithms |
JP4589327B2 (ja) * | 2004-07-07 | 2010-12-01 | 三菱電機株式会社 | 電子素子及びデータ処理方法 |
WO2006006199A1 (ja) * | 2004-07-07 | 2006-01-19 | Mitsubishi Denki Kabushiki Kaisha | 電子素子及びデータ処理方法 |
US7949807B2 (en) | 2005-03-16 | 2011-05-24 | Mitsubishi Electric Corporation | Data conversion apparatus and data conversion method |
JP4823904B2 (ja) * | 2005-03-31 | 2011-11-24 | パナソニック株式会社 | データ暗号化装置及びデータ暗号化方法 |
US8094811B2 (en) | 2005-03-31 | 2012-01-10 | Panasonic Corporation | Data encryption device and data encryption method |
WO2006112114A1 (ja) * | 2005-03-31 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | データ暗号化装置及びデータ暗号化方法 |
US7724897B2 (en) | 2005-04-28 | 2010-05-25 | Panasonic Corporation | Program converter, encrypting device, and encrypting method |
WO2006118086A1 (ja) * | 2005-04-28 | 2006-11-09 | Matsushita Electric Industrial Co., Ltd. | プログラム変換装置、暗号処理装置、暗号処理方法 |
US8184805B2 (en) | 2005-04-28 | 2012-05-22 | Panasonic Corporation | Program converter, encrypting device, and encrypting method |
JP2006345242A (ja) * | 2005-06-09 | 2006-12-21 | Sony Corp | 暗号化復号処理回路および暗号化復号システム |
US8738927B2 (en) | 2005-06-29 | 2014-05-27 | Irdeto B.V. | Arrangement for and method of protecting a data processing device against an attack or analysis |
JP2009500892A (ja) * | 2005-06-29 | 2009-01-08 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 |
JP2007073012A (ja) * | 2005-09-09 | 2007-03-22 | Iwate Univ | 乱数生成システム |
JP4586163B2 (ja) * | 2005-09-09 | 2010-11-24 | 国立大学法人岩手大学 | 暗号化システム |
JP2007096973A (ja) * | 2005-09-29 | 2007-04-12 | Toshiba Corp | 暗号化/復号装置 |
US8023643B2 (en) | 2005-09-29 | 2011-09-20 | Kabushiki Kaisha Toshiba | Encryption/decryption apparatus |
JP2009516964A (ja) * | 2005-11-21 | 2009-04-23 | アトメル・コーポレイション | 暗号化保護方法 |
KR101345083B1 (ko) | 2005-11-21 | 2013-12-26 | 인사이드 씨큐어 | 암호화 보호 방법 |
JP2007228141A (ja) * | 2006-02-22 | 2007-09-06 | Hitachi Ltd | 暗号処理方法及び暗号処理装置 |
JP2009537025A (ja) * | 2006-03-31 | 2009-10-22 | アクサルト・エス・アー | サイドチャネル攻撃からの保護 |
US8218762B2 (en) | 2006-11-16 | 2012-07-10 | Fujitsu Limited | Encrypting apparatus for common key cipher |
JP2008292742A (ja) * | 2007-05-24 | 2008-12-04 | Toshiba Corp | 非線形データ変換器、暗号化装置、および復号装置 |
US8401180B2 (en) | 2007-05-24 | 2013-03-19 | Kabushiki Kaisha Toshiba | Non-linear data converter, encoder and decoder |
JP5229315B2 (ja) * | 2008-03-31 | 2013-07-03 | 富士通株式会社 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
US8369516B2 (en) | 2008-03-31 | 2013-02-05 | Fujitsu Limited | Encryption apparatus having common key encryption function and embedded apparatus |
WO2009122464A1 (ja) | 2008-03-31 | 2009-10-08 | 富士通株式会社 | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
JP2010166402A (ja) * | 2009-01-16 | 2010-07-29 | Mitsubishi Electric Corp | 暗号処理装置及び暗号処理方法及び暗号処理プログラム |
JP2012520589A (ja) * | 2009-03-10 | 2012-09-06 | イルデト・コーポレート・ビー・ヴイ | 入力に依存する符号化を用いたホワイトボックス暗号システム |
JP2010210940A (ja) * | 2009-03-10 | 2010-09-24 | Toshiba Corp | 演算装置及びプログラム |
US8631249B2 (en) | 2009-03-10 | 2014-01-14 | Kabushiki Kaisha Toshiba | Operation unit and program |
WO2010103928A1 (ja) * | 2009-03-10 | 2010-09-16 | 株式会社 東芝 | 演算装置及びプログラム |
US9654280B2 (en) | 2009-03-10 | 2017-05-16 | Irdeto B.V. | White-box cryptographic system with input dependent encodings |
JP2012063700A (ja) * | 2010-09-17 | 2012-03-29 | Toshiba Corp | 暗号化装置 |
JP2013186157A (ja) * | 2012-03-06 | 2013-09-19 | Toshiba Corp | 暗号処理装置 |
JP2013077034A (ja) * | 2013-01-28 | 2013-04-25 | Fujitsu Ltd | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 |
Also Published As
Publication number | Publication date |
---|---|
US7386130B2 (en) | 2008-06-10 |
DE60222052T2 (de) | 2008-05-21 |
DE60222052D1 (de) | 2007-10-11 |
EP1267514B1 (en) | 2007-08-29 |
JP4596686B2 (ja) | 2010-12-08 |
EP1267514A3 (en) | 2003-11-05 |
US20030048903A1 (en) | 2003-03-13 |
EP1772985A1 (en) | 2007-04-11 |
EP1267514A9 (en) | 2003-05-21 |
EP1267514A2 (en) | 2002-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4596686B2 (ja) | Dpaに対して安全な暗号化 | |
EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
JP5229315B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
US8290148B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
US11546135B2 (en) | Key sequence generation for cryptographic operations | |
JP2000066585A (ja) | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 | |
Jaffe | A first-order DPA attack against AES in counter mode with unknown initial counter | |
JP2013511057A (ja) | カスタマイズされたマスキングによって保護される低複雑度の電子回路 | |
US11436946B2 (en) | Encryption device, encryption method, decryption device, and decryption method | |
KR100800468B1 (ko) | 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법 | |
KR100737171B1 (ko) | 아리아에 대한 전력분석공격에 대응하는 저메모리형 마스킹방법 | |
Kumar et al. | A block cipher using rotation and logical XOR operations | |
RU2141729C1 (ru) | Способ криптографического преобразования блоков двоичных данных | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
Ha et al. | Differential power analysis on block cipher ARIA | |
JPH0736672A (ja) | 乱数発生器、及びそれを用いた通信システム及びその方法 | |
Golić | DeKaRT: A new paradigm for key-dependent reversible circuits | |
Bajaj et al. | Enhancement of RC5 for image encryption | |
Labbi et al. | Symmetric encryption algorithm for RFID systems using a dynamic generation of key | |
RU2186467C2 (ru) | Способ блочного итеративного шифрования | |
JP5500277B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
EP1514174B1 (en) | Aes mixcolumn transform | |
RU2199826C2 (ru) | Способ итеративного шифрования блоков цифровых данных | |
RU2204212C2 (ru) | Итеративный способ блочного шифрования | |
JP3017725B2 (ja) | データ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100607 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100830 |
|
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: 20100921 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100921 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |