WO2006112114A1 - データ暗号化装置及びデータ暗号化方法 - Google Patents

データ暗号化装置及びデータ暗号化方法 Download PDF

Info

Publication number
WO2006112114A1
WO2006112114A1 PCT/JP2006/302364 JP2006302364W WO2006112114A1 WO 2006112114 A1 WO2006112114 A1 WO 2006112114A1 JP 2006302364 W JP2006302364 W JP 2006302364W WO 2006112114 A1 WO2006112114 A1 WO 2006112114A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
data
conversion
encryption
unit
Prior art date
Application number
PCT/JP2006/302364
Other languages
English (en)
French (fr)
Inventor
Kaoru Yokota
Masao Nonaka
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to EP06713507A priority Critical patent/EP1865481A1/en
Priority to JP2006521745A priority patent/JP4823904B2/ja
Priority to US11/597,915 priority patent/US8094811B2/en
Priority to CN2006800090961A priority patent/CN101147182B/zh
Publication of WO2006112114A1 publication Critical patent/WO2006112114A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

 電力解析攻撃を阻止でき、かつ、暗号処理の速度低下及びメモリ量増加を、従来よりも削減可能なデータ暗号化装置は、平文に対して鍵に基づく所定の暗号処理を行い、暗号文を生成するデータ暗号化装置であって、ラウンドごとにコア乱数を1個生成し、前記コア乱数を所定の個数だけ連結して、第1乱数を生成する乱数生成部(410a)と、前記平文と前記第1乱数とのデータ融合を行い、中間データを生成する排他的論理和部(410b)と、ラウンドごとに前記中間データに対して、前記第1乱数と第2乱数と前記鍵に基づいて、データ撹乱処理を行うデータ撹乱部(410f、410k)とを備える。

Description

明 細 書
データ暗号化装置及びデータ暗号化方法
技術分野
[0001] 本発明は、データ暗号化装置に関し、特に、暗号処理を実行する際の電力消費量 を計測することにより暗号モジュールに埋め込まれている暗号鍵を解析する攻撃方 法に対して安全なデータ暗号ィ匕装置に関する。
背景技術
[0002] 近年、ハードウェアあるいはソフトウェアで実装された暗号モジュールが暗号処理を 行う際の副情報を手が力りにして、暗号鍵の解析を行う解読法が各種考案されてい る。例えば、タイミング攻撃と呼ばれる解読方法では、暗号モジュールが暗号処理に 要する時間が、暗号処理に用いている暗号鍵の値により、わずかではあるが異なるこ とを利用して、暗号鍵の解析を行う。即ち、タイミング攻撃においては、暗号処理を行 う際の処理時間という副情報を利用して、暗号鍵の解読を行っている。このような解 読法の中でも、暗号処理を行う際の電力消費量を副情報として解読を行う解読方法 として、 Simple Power Analysis Λ ' Differential Power Analysis と ヽっ 7こ 各種の方法が考案されている。これらの解読法は、近年、高性能な計測機器が安価 で手に入るようになった背景もあって、 IC (Integrated Circuit)カードのような暗号が 実装された実際の製品に対しても解析が可能であることが報告されている。また、暗 号処理を行う際に、暗号モジュール力 発生する電磁波強度を副情報として解読す る方法など数々の解読方法が考案されている。以下の記述では、暗号処理時におけ る暗号モジュールの電力消費量を手がかりにして、暗号鍵を解析する解読方法を総 称して、「電力解析攻撃」と呼ぶことにする。以下では、電力解析攻撃を例にして説 明を行うが、副情報を用いたその他の解読方法に対しても同様にして説明することが できる。即ち、本発明は、電力解析攻撃のみならず、暗号処理中に暗号モジュール 力 発生する副情報を利用して鍵の推定を行う解読方法であれば適用可能である。
[0003] 電力解析攻撃の概要について説明する。ここでは、 AES (Advanced Encryptio n Standard)暗号 (AES暗号の詳細は、非特許文献 1を参照)に電力解析攻撃を 適用した例を元に説明する。図 1は、 AES暗号の処理概要を説明するブロック図で ある。 AESB音号は、暗号鍵サイズが 128bit、 192bit、 256bitの 3種類をサポートし ているが、以下では、暗号鍵サイズは 128bitであるとして説明を行う。また、 AES暗 号では、 128bitの暗号鍵を元に、 1281) 11個のラゥンド鍵1^0、1^1、 · ' ·、Κ10と 呼ばれる鍵を生成するが、ここでは、既にラウンド鍵が生成されているものとして説明 する。図 1でもラウンド鍵生成処理については、図示していない。
[0004] (AES暗号の処理概略)
AES暗号の暗号処理概要を説明する。
[0005] AES暗号の暗号化処理は、 128bitの平文 Ρに対して、ラウンド鍵 KOとのビットごと の排他的論理和演算 10a、テーブル変換処理 (S) 10b、線形変換 (LI) 10cを行う。 次に、前記と同様の一連の処理を、ラウンド鍵 K1を用いて行う(l la〜l lc)。更に、 同様の一連の処理をラウンド鍵 Κ2、 Κ3、 · · ·、 Κ9を順次用いて行う。但し、ラウンド 鍵 Κ9を用いた一連の処理については、線形変換 L1の代わりに、線形変換 L2を行う (19c) 0そして、最後に、ラウンド鍵 K10とのビットごとの排他的論理和演算を行い(1 9d)、その結果の値を暗号文 Cとする。
[0006] (テーブル変換 S ( 10b) )
テーブル変換 10bの処理について説明する。なお、テーブル変換 l lb、 12b、 · · · 、 19bも、これと同一の処理である。
[0007] 図 2は、テーブル変換 10bの処理を示すブロック図である。入力される 128bitのデ ータは、上位から 8bitずつに分割され、 8bit X 16個のデータとなる。そして、各 8bit データに対して、変換テーブル Tabによるテーブル変換処理が行われる(100a〜10 Op)。ここで、変換テーブル Tabは、入力 8bitと出力 8bitとの対応関係を示すテープ ルであり、具体的には、 8bit X 256要素の配列 Tab [256]によって表され、入力 8bit が Xのとき、テーブル変換による出力値 Yは、 Y=Tab[X]として得られる。
[0008] 具体的には、 AES暗号に用いられる変換テーブルは、 Tab [256] = {63h、 7Ch、 77h、 7Bh、 · · ·、 BBh、 16h}となるテーブルである。ここで、 63hの" h"は、 "63"が 1 6進数表記であることを示している。このとき、入力 03hに対するテーブル変換の出力 は、 Tab[2] = 77hであり、入力 FEMlO進数で 254)に対するテーブル変換の出力 は、 Tab[254] =BBhとなる。このようにして、各 8bitデータに対するテーブル変換 処理が行われる。そして、各出力結果を先ほど分割した際と同じ順序で連結して 128 bitとし、 128bitの出力データ Yとする。
[0009] (線形変換 LI (10c) )
線形変換 LI (10c)の処理について説明する。なお、線形変換 l lc、 12c、 · · ·、 18 cの処理も、これと同様の処理である。
[0010] 線形変換 L1は、 ShiftRowと呼ばれるバイト転置と、 MixColumnと呼ばれる行列 変換とをこの順序で行う。まず、入力データを、上位から 8bitずつに分割して、 A0、 Α1、 · · ·、 A14、 A15とする。バイト転置 ShiftRowは、 A0〜A15に対して並び換え を行って 128bitデータを作成する。具体的には、上位から A0、 A5、 A10、 A15、 A 4、 A9、 A14、 A3、 A8、 A13、 A2、 A7、 A12、 Al、 A6、 Al lの順にデータを連結 して 128bitデータとする。
[0011] 次に、上記 ShiftRowの結果に対して、 MixColumn処理を行う。具体的には、 Shi ftRowの結果を再び、上位から 8bitずつ分割して、 Β0、 Β1、 · · ·、 B14、 B15とする 。次に、 X0 = B0、 X1 = B4、 X2 = B8、 X3 = B12として、下記数 1に従って行歹 U演 算を行い、 Y0、 Yl、 Υ2、 Υ3を計算して、 C0=Y0、 C4=Y1、 C8=Y2、 C12=Y 3とする。
[0012] [数 1] f
Y0 " 02h 03h 01 h 01 h 、 fxol
Y1 01 h 02h 03h 01 h X1
X
Y2 01 h 01 h 02h 03h X2
Y3 01 h 02h X3
J 03h 01 h ソ ソ ここで、行列演算に用いる加算と乗算は拡大体 GF (2"8)上の演算として行う。また 、 "2'8"は" 2の 8乗,,を表す。更に、 X0 = B1、 X1 = B5、 X2 = B9、 X3 = B13として 、上記行列演算(数 1で示される演算)を行い、 Y0、 Yl、 Υ2、 Υ3を計算して、 Cl = Y0、 C5=Y1、 C9=Y2、 C13=Y3とする。同様に、 X0 = B2、 X1 = B6、 X2 = B1 0、 X3 = B14として、行列演算(数 1)を行い、 YO、 Yl、 Υ2、 Υ3を計算して、 C2=Y 0、 C6=Y1、 C10=Y2、 C14=Y3とする。そして、 XO = B3、 X1 = B7、 X2 = B11 、 X3 = B15として、行歹 [J演算を行 ヽ、 YO、 Yl、 Υ2、 Υ3を計算して、 C3=YO、 C7 =Y1、 C11 =Y2、 C15=Y3とする。上記のようにして得られた CO、 Cl、 C2、 · · ·、 C14、 C15を、上位からこの順序で連結した 128bitデータ力 MixColumn処理の 出力データ、即ち、線形変換 L1の出力データとなる。
[0014] (線形変換 L2 (19c) )
線形変換 L2 (19c)は、線形変換 L1から、 MixColumn処理を省略したものである 。即ち、 L2への入力データに対して、 ShiftRow処理のみを行った結果を L2の出力 データとする。
[0015] (暗号装置 110の構成)
AES暗号を暗号装置として実装した場合の一構成例について説明する。
[0016] 図 3は、 AES暗号を暗号装置として実装した場合の一構成例を示すブロック図であ る。
[0017] 暗号装置 110は、平文 Pを暗号化し暗号文 Cを出力する装置であり、レジスタ 110a と、暗号鍵記憶部 110bと、ラウンド鍵生成部 110cと、ラウンド鍵記憶部 l lOdと、排 他的論理和部 110eと、テーブル保管部 110fと、テーブル変換部 110gと、第 1線形 変換部 110hと、第 2線形変換部 110iとを含む。
[0018] レジスタ 110aは、暗号処理の中間データを記憶する記憶装置である。暗号鍵記憶 部 110bは暗号鍵を記憶している記憶装置である。ラウンド鍵生成部 110cは、暗号 処理時に、暗号鍵記憶部 110bから暗号鍵を読み出し、ラウンド鍵 K0〜K10を生成 し、ラウンド鍵記憶部 l lOdに記憶する処理部である。排他的論理和部 110eは、ラウ ンド鍵記憶部 l lOdから必要なラウンド鍵を読み出して、排他的論理和演算を行う処 理部である。テーブル保管部 110fは、上述した 8bit X 256個のデータ力もなる変換 テーブルを配列 Tab [256]として記憶して ヽる記憶装置である。テーブル変換部 11 Ogは、テーブル保管部 110はり配列 Tab[256]を読み出し、テーブル変換処理を 実行する処理部である。第 1線形変換部 110hおよび第 2線形変換部 110iは、それ ぞれ上述した線形変換 LIおよび線形変換 L2の処理を実行する処理部である。
[0019] 次に、暗号装置 110の動作について説明する。平文 Pが暗号装置 110に入力され ると、ー且、レジスタ 110aに記憶される。次に、排他的論理和部 l lOeがレジスタ 110 aに記憶されているデータを読み出して、ラウンド鍵との排他的論理和演算を行い、 演算結果をレジスタ 110aに上書き記憶する。次に、テーブル変換部 110gが、レジス タ 110aに記憶されているデータを読み出して、テーブル変換処理を行い、変換結果 をレジスタ 110aに上書き記憶する。そして、第 1線形変換部 110hが、レジスタ 110a に記憶されているデータを読み出して、線形変換 L1の処理を行い、変換結果をレジ スタ 110aに上書き記憶する。
[0020] 以下、先ほど述べた AES暗号の処理手順に従って、上記の処理を繰り返し行う。
但し、最後の繰り返しにおける線形変換処理は、第 1線形変換部 110hの代わりに、 第 2線形変換部 110iによる線形変換 L2の処理を行い、更に、排他的論理和部 110 eがラウンド K10との排他的論理和演算を行って、演算結果をレジスタ 110aに上書き 記憶する。そして、暗号装置 110は、レジスタ 110aに記憶されているデータを暗号文 Cとして出力する。
[0021] (暗号装置 110に対する電力解析攻撃)
暗号装置 110に対する、電力解析攻撃の概要について説明する。暗号装置 110で は、 AES暗号の処理が行われている途中のデータ(中間データ)は、レジスタ 110a に一時記憶されている。即ち、図 1において、ある処理ブロック力も他の処理ブロック に渡されるデータは、全てレジスタ 110aにー且記憶されてから、他の処理ブロックに よる処理が行われる。
[0022] 電力解析攻撃では、上記のように暗号処理の中間データがレジスタに一時記憶さ れることに着目する。データをレジスタに記憶する際の電力消費量は、記憶するデー タの内容に依存することがわ力つている。例えば、記憶するデータに" 1"が立つビット の数が多いほど、記憶時に消費する電力は大きい。また、レジスタへの上書き処理の 際に、レジスタに格納して 、るデータビットの反転が発生するビット (例えば、ビッド '1 "が記憶されて 、る状態でビッド '0"が上書きされるビット)が多 、ほど、記憶時に消費 する電力は大きい。これらのことを利用して、レジスタに記憶する際の電力消費量を 測定して、レジスタ内のデータを推測する。そして、推測したデータ値から、暗号処理 に使われている暗号鍵を特定する。例えば、図 3の排他的論理和部 l lOeがレジスタ 11 Oaに記憶する際の電力消費量を解析することにより、図 1の排他的論理和 1 Oaの 処理が行われた後のデータを解析することができたとする。このときのデータを Dとし 、平文 Pの値も解析者が知っているとすると、ラウンド鍵 KOは、
KO = D ( + ) P
によって求められる。ここで、 "( + ) "は"ビットごとの排他的論理和"を表す。 AES暗 号の場合、ラウンド鍵 KOは、暗号鍵と同一であることが知られているから、上記の解 析により、暗号鍵が求められたことになる。
[0023] 以上のように、暗号処理中の電力消費量から、レジスタに一時記憶される暗号処理 の中間値が推測され、そこから、暗号鍵が推測されることがわかる。
[0024] (電力解析攻撃に対する対策方法)
電力解析攻撃に対する対策方法として、マスキング法と呼ばれる方法が開示されて いる(例えば、特許文献 1参照)。図 3に示す暗号装置 110では、暗号処理の中間値 をそのままレジスタ 110aに一時記憶しているため、その値が解析される点に問題が あった。マスキング法では、暗号処理の中間値をレジスタに格納する前に、乱数によ つてランダム化するところに特徴がある。これにより、電力解析によってレジスタのデ ータが推測されても、その値は、乱数によってランダム化されているので、実際の暗 号処理の中間値はわ力もない。従って、ラウンド鍵の値は特定できない。
[0025] 図 4及び図 5は、 AES暗号に対するマスキング法を適用した場合の処理手順を説 明するブロック図である。暗号処理を行う前に、 128bitの乱数 R0〜R10を生成する 。そして、生成した乱数を用いた排他的論理和演算 20a、 20c、 20e、 21b、 · · ·、 29 b、 29d、 29hを、才リジナノレの AESB音号処理に図 4に示すように、追カロする。このとき 、排他的論理和演算 21b、 · · ·、 29bは、乱数に対して線形変換 L1を施した結果との 排他的論理和演算であり、排他的論理和演算 29hは、乱数に対して線形変換 L2を 施した結果との排他的論理和演算である。このとき、排他的論理和演算 20aによって 、暗号処理の中間値 Tは、乱数 R0の影響を受けてランダム化される。しかし、その後 に、排他的論理和演算 20cによって、乱数 R0との排他的論理和演算を再び行うこと で、その影響は相殺される。同様に、乱数 Rl、 R2、 · · ·、 RIOによるランダム化の影 響は相殺されるようになっているため、最終的に得られる暗号文 Cは、図 1で示したォ リジナルの AES暗号処理によって得られるものと、同一のものとなる。
[0026] また、実際に暗号装置として実装する際には、図 4ではなぐ図 5の構成として、暗 号処理が実装される。図 4と図 5との違いは、図 4における「乱数との排他的論理和演 算→テーブル変換→乱数との排他的論理和演算」と!、う一連の処理を、「ランダム化 された変換テーブルによるテーブル変換」に置き換えた点である。以下、この点につ いて説明する。
[0027] 図 6は、図 5におけるランダム化テーブル変換 30cの内部構成を説明するためのブ ロック図である。なお、他のランダム化テーブル変換 3 lb、 32b、 · · ·、 39bについても 、使われる乱数が異なるだけで、ランダム化テーブル変換 30cと同様である。 128bit の入力データ Xは、上位から 8bitずつ分割して、 x0、 xl、 · · ·、 xl5とする。また、乱 数 R0及び R1は、上位から 8bitずつ分割して、それぞれ、 R0a、 ROb, · · · , R0p、及 び Rla、 Rlb、 · · ·、 Ripとする。まず、 x0、 xl、 · · ·、 xl5は、それぞれ、 ROa, ROb, · · · , ROpとの排他的論理和演算を行う。次に、前記結果 (各 8bit)に対して、それぞ れ、 AES暗号の変換テーブル Tabを用いたテーブル変換を行う。そして、各テープ ル変換結果に対して、それぞれ Rla、 Rlb、 · · ·、 Ripとの排他的論理和演算を行い 、その結果を、それぞれ y0、 yl、 · · ·、 yl5とする。 y0、 yl、 · · ·、 yl5を、上位からこ の順序で連結した 128bitデータを、 Yとして出力する。
[0028] ここで、舌 L数 R0 (即ち、 R0a〜R0p)と舌 L数 R1 (即ち、 Rla〜Rlp)が決まれば、 χθ と yOとの対応関係、 xlと yOとの対応関係、 · · ·、 xl5と yl5との対応関係は、各々 8bi t X 256個のデータからなる変換テーブルとして表すことができる。即ち、図 6の処理 は、図 7で示すような、 16種類の変換テーブル TabOa、 TabOb、 · · ·、 TabOpによる、 テープノレ変換処理 303a、 303b, · · ·、 303p力らなる処理となる。
[0029] 以上をまとめると、マスキング法解読に対する対策を行った AES暗号の処理手順 は、図 5に示すようになる。即ち、以下のようになる。
[0030] (1) 128bit X 11個の乱数 RO、 Rl、 · · ·、 RIOを生成する。
(2)乱数 ROと R1を元に、ランダム化テーブル変換 SmO (30c)を構成する。具体的 には、図 7に示すように、 8bit X 256個のデータからなる変換テーブルを 16種類作 成する。同様に乱数 R1と R2、 R2と R3、 · · ·、 R9と RIOを元に、ランダム化テーブル 変換 Sml〜Sm9を構成する。具体的な構成方法は SmOと同様である。
(3)図 5に従って、暗号処理を行う。オリジナルの AES暗号処理と異なる点は、乱 数 ROとの排他的論理和演算 30aと乱数 R10に対する線形変換 L2 (39e)、及び前記 線形変換の結果との排他的論理和演算 39fの追加と、テーブル変換処理 30c、 31b 、 · · ·、 39b力 オリジナルの変換テーブル Tabの代わりに、乱数 RO〜R10を元に作 成したランダム化変換テーブルを用いる点である。
非特干文献 1: Federal Information Processing¾tandards Publication 19 7, rspecification for the ADVANCED ENCRYPTION STANDARD ( AES;)」, November 26, 2001
特許文献 1:米国特許第 6295606号明細書
発明の開示
発明が解決しょうとする課題
[0031] し力しながら、前記従来技術においては、電力解析攻撃対策によってもたらされる 暗号処理量の増加によって、暗号装置の処理速度が著しく低下するという課題を有 している。即ち、生成した乱数を元に生成する必要のあるランダム化変換テーブル (8 bit X 256個の要素を持つテーブル)は、 SmO、 Sml、 · · ·、 Sm9の各々に 16種類 含まれる(例えば、 SmOの場合は、 TabOa、 TabOb、 · · ·、 TabOpの 16種類)。即ち、 1回の暗号を行う際には、合計で 16 X 10= 160種類ものランダム化変換テーブルを 作成する必要がある。
[0032] また、ランダム化変換テーブルの生成に用いる乱数は、 1回の暗号ィ匕処理ごとに異 なるものである必要があり、上記のテーブル作成処理は、 1回の暗号化処理を行うた びに実行する必要がある。従って、この電力解析対策のための追加処理により、暗号 処理の処理速度が著しく低下してしまうと 、う課題を有して 、る。
[0033] また、上記 160種類ものランダム化変換テーブルを記憶するためのメモリが暗号モ ジュール内に必要となるため、メモリ量も著しく増加してしまうという課題も有している [0034] 本発明は、上述の課題を解決するためになされたものであり、電力解析攻撃を阻止 でき、かつ、暗号処理の速度低下及びメモリ量増加を、従来よりも削減可能なデータ 暗号ィ匕装置を提供することを目的とする。
課題を解決するための手段
[0035] 前記従来の課題を解決するために、本発明のデータ暗号ィ匕装置は、平文に対して 鍵に基づく所定の暗号処理を行い、暗号文を生成するデータ暗号化装置であって、 ラウンドごとにコア乱数を 1個生成し、前記コア乱数を所定の個数だけ連結して、第 1 乱数を生成する乱数生成部と、前記平文と前記第 1乱数とのデータ融合を行い、中 間データを生成する平文データ融合部と、ラウンドごとに前記中間データに対して、 前記第 1乱数と第 2乱数と前記鍵に基づいて、データ撹乱処理を行う、データ撹乱部 とを備える。
[0036] この構成によると、第 1乱数はコア乱数の繰返しになっている。このため、例えば、コ ァ乱数の個数が 16個であるとした場合には、データ撹乱処理を行なう場合に、従来 16個必要であったランダム化変換テーブルの個数を 1つにすることができる。よって 、暗号処理の速度低下を削減し、かつ暗号処理に必要なメモリ量を削減することがで きる。例えば、前記データ撹乱部は、ラウンドごとに、平文を前記所定の個数で等分 したデータを変換する 1つの変換テーブルを記憶する変換テーブル記憶部と、ラウン ドごとに、前記変換テーブルを、前記第 1乱数と前記第 2乱数とに基づいて変形する テーブル変換を行 ヽ、 1つの変形変換テーブルを生成する変換テーブル変形部と、 前記変形変換テーブルを記憶する変形変換テーブル記憶部と、ラウンドごとに、前 記中間データに対して、前記鍵と前記変形変換テーブルに記憶されている前記変形 変換テーブルとに基づいて、前記中間データを前記所定の個数で等分した各デー タに対して、データ変換処理を行うデータ変換部とを備えるような構成にすればよい
[0037] また、データ暗号化装置は、さらに、前記第 1乱数に対して所定の乱数変換を行い 、前記第 2乱数を生成する乱数変換部を備えていてもよいし、前記データ撹乱部は、 さらに、前記中間データに対して、所定の線形変換を行い、その結果を出力する線 形変換部を備え、前記乱数変換部は、前記線形変換の逆変換を前記乱数変換とし て行ってもよい。
[0038] さらに、前記所定の暗号処理は、 AES (Advanced Encryption Standard)暗号処理 であって、前記線形変換部は、 AES暗号処理における InvMixColumn処理と InvS hiftRow処理とからなり、前記乱数変換部は、前記第 1乱数を第 2乱数として出力す る構成であってもよい。
[0039] さらにまた、前記コア乱数は、すべてのラウンドにおいて同一の値であってもよい。
[0040] コア乱数をすベてのラウンドにおいて同一とすることにより、データ暗号化装置で使 用される変形変換テーブルを 1つにすることができる。このため、暗号処理の速度低 下を削減し、かつ暗号処理に必要なメモリ量を削減することができる。
[0041] なお、本発明は、このような特徴的な手段を備えるデータ暗号ィ匕装置として実現す ることができるだけでなぐデータ暗号ィヒ装置に含まれる特徴的な手段をステップとす るデータ暗号ィ匕方法として実現したり、データ暗号ィ匕方法に含まれる特徴的なステツ プをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そ のようなプログラムは、 CD-ROM (Compact Disc-Read Only Memory)等の記録媒 体やインターネット等の通信ネットワークを介して流通させることができるのは言うまで もない。
発明の効果
[0042] 本発明によると、電力解析攻撃を阻止でき、かつ、暗号処理の速度低下及びメモリ 量増加を、従来よりも削減可能なデータ暗号ィ匕装置を提供することができる。
[0043] 本発明の暗号装置によれば、暗号処理の中間データ及び変換テーブルをランダム 化するための乱数を、ある一定のフォーマットに従い、かつ、各テーブル変換処理の 前と後に排他的論理和演算される乱数それぞれが、全て同じ値になるように設定す ることで、電力解析攻撃のような、暗号処理中に暗号モジュール力 発生する副情報 を利用した解析方法を阻止しつつ、上記阻止のための対策による暗号処理の速度 低下とメモリ量の増加が従来よりも削減されるという効果がある。
図面の簡単な説明
[0044] [図 1]図 1は、 AES暗号の処理手順を示すブロック図である。
[図 2]図 2は、 AES暗号のテーブル変換処理 10bの構成を示すブロック図である。 [図 3]図 3は、 AES暗号の暗号装置 110の構成を示すブロック図である。
[図 4]図 4は、従来技術に係る AES暗号の処理手順を示すブロック図である。
[図 5]図 5は、従来技術に係る AES暗号の処理手順を示すブロック図である。
[図 6]図 6は、従来技術に係るランダム化テーブル変換処理 30cの構成を示すブロッ ク図である。
[図 7]図 7は、従来技術に係るランダム化テーブル変換処理 30cの構成の変形例を示 すブロック図である。
[図 8]図 8は、本発明の実施の形態に係る AES暗号処理手順を示すブロック図である
[図 9]図 9は、 AES暗号の処理手順を示したフローチャートである。
[図 10]図 10は、本発明の実施の形態に係る暗号装置 410の構成を示すブロック図 である。
[図 11]図 11は、本発明の実施の形態に係る乱数生成部 41 Oaの構成を示すブロック 図である。
[図 12]図 12は、本発明の実施の形態に係るランダム化テーブル変換処理の構成を 示すブロック図である。
[図 13]図 13は、本発明の実施の形態に係るランダム化テーブル変換処理の第 1の変 形例を示すブロック図である。
[図 14]図 14は、本発明の実施の形態に係るランダム化テーブル変換処理の第 2の変 形例を示すブロック図である。
[図 15]図 15は、 AES復号の処理手順を説明するブロック図である。
[図 16]図 16は、本発明の実施の形態に係る復号装置 510の構成を示すブロック図 である。
符号の説明
410 暗号装置
410a 乱数生成部
410b 排他的論理和部
410c 暗号鍵保管部 410d ラウンド鍵生成部
410e ラウンド鍵記憶部
410f 排他的論理和部
410g レジスタ
410h 第 1線形逆変換部
410i テーブルランダム化部
410j ランダムテーブル記憶部
410k テーブル変換部
4011 テーブル保管部
401m 第 1線形変換部
401n 第 2線形変換部
401o 第 2線形変換部
410p 排他的論理和部
510 復号装置
510a 乱数生成部
510b 排他的論理和部
510c 暗号鍵保管部
510d ラウンド鍵生成部
510e ラウンド鍵記憶部
510f 排他的論理和部
510g レジスタ
510h 第 1線形逆変換部
510i 逆テーブルランダム化部
510j 逆ランダムテーブル記憶部
510k 逆テーブル変換部
5011 逆テーブル保管部
501m 第 1線形逆変換部
501n 第 2線形逆変換部 501o 第 2線形変換部
510ρ 排他的論理和部
発明を実施するための最良の形態
[0046] 以下、本発明の実施の形態について、図面を参照しながら説明する。
[0047] (電力解析攻撃を阻止する AES暗号処理手順の概要)
図 8は、電力解析攻撃を阻止するための AES暗号の処理手順を説明するブロック 図である。また、図 9は、 AES暗号の処理手順を示したフローチャートである。以下、 図 8および図 9を用いて暗号処理手順を説明する。なお、 128bit X l l個のラウンド 鍵 ΚΟ、Κ1、 · ' ·、Κ10は、 128bitの暗号鍵から既に生成されているものとする。
[0048] (1) 128bitの乱数 Rを生成する(S2)。また、乱数 Rに線形変換 L1の逆変換 Lliを 施した値 R1を求める(S4)。更に、 R1に線形変換 L2を施した値 R2を求める(S6)。 ここで、線形変換 L1及び L2は、前述の Ll、 L2と同じ処理である。
(2) 128bitの平文 Pに対して、前記乱数 Rとの排他的論理和演算を行う(40a、 S8)
(3) 1=0, 1、 · ' ·、 9の順に、以下の処理((3— 1)〜(3— 5) )を繰り返し行う (ルー プ Α)。
(3— 1)ラウンド鍵 Kiとの排他的論理和演算を行う(40b、 41a、 42a、 · · ·、 49a、 S 10)。
(3— 2)乱数 Rとの排他的論理和演算を行う(40c、 41bゝ 42bゝ · · ·、 49bゝ S12)。 (3— 3)テーブル変換 Sを行う(40d、 41c、 42c、 · · ·、 49c、 S14)。ここで、テープ ル変換 Sは、既に述べたテーブル変換 Sと同一である。
(3— 4)舌 L数 R1との 他的餘理和演算を行う(40e、 41d、 42d、 · · ·、 49d、 S16)
(3— 5) i=0〜8の場合は(S18で YES)、線形変換 LIを行う(40f、 41e、 42e、 · · -、 48e、 S20)。 i= 9の場合は(S 18で NO)、線形変換 L2を行う(49e、 S22)。
(4)ラウンド鍵 K10との排他的論理和演算を行う(49g、 S24) 0
(5) R2との排他的論理和演算を行う(49h、 S26)。
[0049] 平文 Pに対して、上記(1)〜(5)の処理を行った結果を、暗号文 Cとして出力する。 このとき、(1)、(2)、(3— 2)及び(5)の処理力 オリジナルの AES暗号処理から追 カロされている処理である。このような処理を追加しても、オリジナルの AES暗号処理 で得られる暗号文と同一の暗号文が得られることは、以下のことからわかる。
[0050] (A)排他的論理和演算 40aで平文データ Pとの間で排他的論理和演算が行なわ れる乱数 Rの影響は、その後の、排他的論理和演算 40cによって除去される。即ち、 ラウンド鍵 KOとの排他的論理和演算 40bによる処理後の値は、 P ( + ) KO ( + ) Rであ る力 排他的論理和演算 40cによる処理後の値は、 P ( + )K0 ( + )R( + )R=P ( + ) KOとなり、 Rの影響は相殺される。
[0051] (B)テーブル変換 40d、 41c、 42c、 · · ·、 48cの後の排他的論理和演算 40e、 41d 、 42d、 · · ·、 48dによって排他的論理和される乱数 R1の影響は、それぞれ、その後 のテーブル変換 41c、 42c、 · · ·、 49cの前の排他的論理和演算 41b、 42b、 · · ·、 49 bによって除去される。例えば、排他的論理和演算 40e後の中間値は、 {オリジナル A ES暗号の中間値 } ( + )R1となり、排他的論理和演算 41bの入力値は、 {オリジナル AES暗号の中間値 } ( + ) L1 (R1)となる。ここで、 LI (R1)は、 R1に線形変換 L1を 施した結果を示すが、 R1自体が Lli(R)であることから、 LI (Rl) =Rである。即ち、 排他的論理和演算 40eの入力値は、 {オリジナル AES暗号の中間値 } ( + )Rとなり、 この Rの影響は、排他的論理和演算 41bにおいて、 Rと排他的論理和演算することに よって除去される。その他の場合についても同様である。
[0052] (C)テーブル変換 49cの後の排他的論理和演算 49dによって排他的論理和演算 が施される乱数 R1の影響は、その後の排他的論理和演算 49hによって除去される。 即ち、排他的論理和演算 49d後の暗号処理中間値は、 {オリジナル AES暗号の中 間値 } ( + )R1となり、排他的論理和演算 49hに入力される値は、 {オリジナル AES暗 号の中間値 } ( + ) L2 (R1)となる。ここで、 L2 (R1) =R2であるから、排他的論理和 演算 49hによる R2との排他的論理和によって、上記 L2 (R1)の影響は除去される。
[0053] (電力解析攻撃を阻止する AES暗号装置 410の構成)
図 10は、図 8の AES暗号処理手順を実現する暗号装置 410の構成の一例を示し たブロック図である。以下、暗号装置 410による処理手順について、図 9に示したフロ 一チャートを参照しながら説明する。 [0054] 暗号鍵保管部 410cは、 128bitの暗号鍵を保管する。ラウンド鍵生成部 410dは、 暗号処理時に、暗号鍵保管部 410cに保管する暗号鍵を元に、 AES暗号のラウンド 鍵生成手順に従って、 128bit X 11個のラウンド鍵 ΚΟ、 Κ1、 · · ·、 K10を生成する。 ラウンド鍵記憶部 410eは、前記ラウンド鍵 ΚΟ、 Κ1、 · · ·、 K10を記憶する。
[0055] 次に、乱数生成部 410aは、乱数 Rを生成する(図 9の S2)。乱数生成部 410aは、 図 11に示すように、コア乱数生成部 41 laと乱数拡大部 41 lbからなる。乱数 Rの生 成時には、まず、コア乱数生成部 41 laは、 8bitのコア乱数 rを生成し、乱数拡大部 4 l ibに転送する。乱数拡大部 41 lbは、前記乱数 rを 16個連結した値を乱数 Rとし、 乱数生成部 410aは、この乱数 Rを出力する。即ち、乱数 Rは、
R=r II r II · · · II r (rの個数は 16個)
となる。ここで" II "は、データの連結を表す。生成された 128bitの乱数 Rは、排他的 論理和部 410b、テーブルランダム化部 410i、第 1線形逆変換部 410hに転送する。
[0056] 第 1線形逆変換部 410hは、前記乱数 Rに対して線形変換 L1の逆変換を施して、 R 1を求め(図 9の S4)、テーブルランダム化部 410i及び第 2線形変換部 410οに転送 する。第 1線形逆変換部 410hの詳細手順は、以下の通りである。まず、入力データ Rを上位力ら 8bitずつ分害 ijして、 aO、 al、 a2、 · · ·、 al5とする。次に、 xO = aO、 xl = al、 x2 = a2、 x3 = a3とし、
[0057] [数 2]
Figure imgf000017_0001
で表される GF (2 "8)上の行列演算を行い、 b0、 bl、 b2、 b3を求める。これを、 y0 = b0、 yl =bl、 y2=b2、 y3 =b3とする。同様に、 x0 = a4、 xl = a5、 x2 = a6、 x3 = a 7として、前記行歹 IJ演算により、 b0、 bl、 b2、 b3を求めて、 y4=b0、 y5 =bl、 y6 =b 2、 y7=b3とする。更に、 x0 = a8、 xl = a9、 x2 = al0、 x3 = al lとして、 y8=b0、 y 9=bl、 yl0=b2、 yl l =b3を求め、 x0 = al2、 xl = al3、 x2 = al4、 x3 = al5とし て、 yl2=b0、 yl3=bl、 yl4=b2、 yl5=b3を求める。こうして求めた yO、 yl、… 、 yl5を、上位力も、 yO、 yl3、 ylO、 y7、 y4、 yl、 yl4、 yl l、 y8、 y5、 y2、 yl5、 yl 2、 y9、 y6、 y3の順序で連結した 128bitデータを第 1線形逆変換部 410hの出力と する。ここで、上記行歹 IJ演算式にお ヽて、 xO=xl =x2=x3=rとしたとき、 yO、 yl、 y2、 y3は、以下のように計算される。但し、乗算、加算は全て GF (2"8)上の演算で ある。
[0058] yO=yl =y2=y3 = OEh Xr + OBhXr + ODhXr + 09h Xr
= 01h Xr
=r
[0059] 同様にして y4〜y 15も全て rと等しいことが示されるので、第 1線形逆変換部 410h の出力 R1は、 Rl =R=r || r II · · · || rとなることが示された。即ち、第 1線形逆変換 部 410hは、実際には何も処理を行わなくてよい。
[0060] 次に、テーブルランダム化部 410iは、乱数 R及び R1を元にテーブル保管部 4101 に保管するオリジナル AES暗号の変換テーブル Tabに対してランダム化を行う。従 来技術であれば、図 6に示すとおり、各テーブル変換処理 300a〜300pの前と後に は、それぞれ異なる乱数による排他的論理和演算が施されていた。これによつて、図 7に示すようなそれぞれ異なったランダム化変換テーブル 303a〜303pを作成する 必要があった。しかし、本実施の形態においては、既に示したとおり、乱数 R及び R1 力^、ずれも Rl =R=r II r II · · · II rである。このことによって、図 12に示すように、各 テーブル変換処理 412a〜412pの前と後に、全て同じ乱数 rによる排他的論理和演 算が施されることになる。従って、これら一連の処理ほ L数による排他的論理和→テ 一ブル変換→乱数による排他的論理和)は図 13に示すとおり、全て同じランダム化 変換テーブル mTabに変形することになる。即ち、図 13は、図 14のように 1個のラン ダム化変換テーブル 416によって実現できる。具体的には、以下のようにしてランダ ム化変換テーブル mTabを生成する。まず、テーブルランダム化部 410iは、テープ ル保管部 4101に保管して!/、る、オリジナル AES暗号の変換テーブル Tabの配列デ ータ Tab[0]〜Tab[255]を読み出す。次に、上記配列データと乱数 R及び乱数 R1に 含まれるコア乱数 rを用いて以下のような配列データ mTab[0]〜mTab[255]を生成 する。
[0061] mTab[i] =Tab[i ( + ) r] ( + ) r
テーブルランダム化部 410iは、上記のようにして生成したランダム化変換テーブル mTabをランダムテーブル記憶部 410jに転送し、記憶する。
[0062] 更に、第 2線形変換部 410οは、乱数 R1に対して線形変換 L2を施して、 R2を求め
、排他的論理和部 410ρに転送する(図 9の S6)。ここで、線形変換 L2は、既に述べ たとおり、バイト単位の置換であり、かつ、乱数 R1は既に説明した通り、 Rl =R=r II r II · · · II r (rは 8bit)であることから、 L2 (R1) =R1 =Rである。即ち、実際には、第 2 線形変換部 410οは、何も処理を行わなくてよ!、。
[0063] 以上が、暗号処理を行うための前処理であり、以下では、上記前処理結果を元にし て、平文 Ρに対する暗号処理を行う手順を述べる。
[0064] 暗号装置 410に入力される平文 Ρに対して、排他的論理和部 410bは、前記乱数 R との排他的論理和演算を行い、その結果をレジスタ 410gに転送し、一時記憶する( 図 9の S8)。
[0065] 次に、排他的論理和部 410fは、レジスタ 410g内のデータを読み出して、ラウンド 鍵記憶部 41 Oeに記憶するラウンド鍵 K0との排他的論理和演算を行 、、結果をレジ スタ 410g〖こ書き込む(図 9の S10)。このとき、書き込む前にレジスタに記憶している データは上書きされて消去される。
[0066] 次に、テーブル変換部 410kは、レジスタ 410g内のデータを読み出して、ランダム テーブル記憶部 410jに記憶するランダム化変換テーブル mTabに基づ 、てテープ ル変換処理を行う(図 9の S12〜S16)。具体的には、レジスタ 410gから読み出した データを Xとすると、テーブル変換処理後のデータ Yは、
Y=mTab[X]
として求められる。変換処理後のデータは、レジスタ 410gに上書きする。上書き前の レジスタ 410g内のデータは消去される。
[0067] 次に、第 1線形変換部 410mは、レジスタ 410gのデータを読み出して、線形変換 L 1を施して、レジスタ 410gに上書きする(図 9の S18で YES、 S20)。
[0068] 上記処理の後、以上の排他的論理和部 410f、テーブル変換部 410k、第 1線形変 換部 410mの一連の処理を、ラウンド鍵 Kl、 Κ2、 Κ3、 · · ·、 Κ9を用いて繰り返し行う
(図 9のループ Α)。但し、ラウンド鍵 Κ9を用いて上記一連の処理を行う時に限り、第
1線形変換部 410mによる処理の代わりに、第 2線形変換部 410ηによる線形変換 L2 の処理を行う(図 9の S18で NO、 S22) 0
[0069] 更に、排他的論理和部 410fは、レジスタ 410g内のデータを読み出して、ラウンド 鍵記憶部 410eに記憶するラウンド鍵 K10との排他的論理和演算を行い、結果をレ ジスタ 410gに書き込む(図 9の S24)。
[0070] そして、排他的論理和部 410pは、レジスタ 410gに記憶するデータを読み出して、 乱数 R2との排他的論理和演算を行い、その結果を暗号文 Cとして暗号装置 410から 出力する(図 9の S26)。
[0071] (AES復号処理手順の概要)
以上、説明した電力解析攻撃を阻止する AES暗号処理で作成された暗号文 Cを 復号する処理手順にっ 、て説明する。
[0072] 図 15は、 AES復号の処理手順を説明するブロック図である。図 8に示した暗号処 理手順との違いは、暗号文 Cから平文 Pを生成するために、データの流れが逆になつ ている点である。
[0073] また、テーブル変換 Sの代わりにテーブル変換 Sの逆変換 Siを施し、線形変換 L1 の代わりに線形変換 L1の逆変換 Lliを施し、線形変換 L2の代わりに線形変換 L2の 逆変換 L2iを施す点が異なる。ただし、線形変換 L2 (48f)については、そのままであ る。
[0074] (復号装置 510の構成)
図 16は、暗号装置 410で暗号ィ匕された暗号文 Cを復号して平文 Pを求めるための 復号装置 510の構成を示すブロック図である。ここでは、暗号装置 410との差異部分 のみ説明する。
[0075] 逆テーブル保管部 5101は、テーブル保管部 4101に保管していた変換テーブル Ta bと逆変換の関係にある、逆変換テーブル ITabを保管する。具体的には、 ITabの配 列要素 ITab [0]〜 ab [255]は、以下のように定義される。
[0076] ITab [Tab [i] ] =i (i=0、 1、 · · ·、 255)
逆テーブルランダム化部 5 lOiは、逆変換テーブル ITabから、ランダム化逆変換テ 一ブル ImTabを求める方法は、テーブルランダム化部 410iで述べた方法と同じであ るから省略する。
[0077] 復号装置 510による復号処理では、最初に、排他的論理和部 5 ΙΟρの処理を行う。
これは、排他的論理和部 410pと同一の処理である。次に、排他的論理和部 410fと 同様にして、排他的論理和部 510fが、ラウンド鍵 K10を用いた排他的論理和演算を 行う。そして、第 1線形逆変換部 510m、逆テーブル変換部 510k、排他的論理和部 510fの順序からなる一連の処理を、ラウンド鍵 Κ9、 Κ8、 · · ·、 Κ1、 Κ0の順にラウン ド鍵を用いて繰り返し行う。このとき、ラウンド鍵 Κ9を用いた場合の一連の処理では、 第 1線形逆変換部 510mの代わりに、第 2線形逆変換部 510ηによる処理を行う。こ のとき、第 1線形逆変換部 510mは、既に述べた線形変換 L1の逆変換処理 Lliを行 い、第 2線形逆変換部 510ηは、線形変換 L2の逆変換処理 L2iを行う。上記処理の 後、排他的論理和部 510bが、排他的論理和演算を行い、その結果を平文 Pとして 出力する。
[0078] 以上のように、本実施の形態では、 8bit X 256個の配列要素力もなるランダム化変 換テーブルを 1個だけ作成して記憶しておけばよい。従来技術では、 8bit X 256個 の配列要素力もなるランダム化変換テーブルを、 160個も作成する必要があつたの で、ランダム化変換テーブルを作成するための処理量は、従来技術と比べると 160 分の 1に削減される。
[0079] なお、本実施の形態では、電力解析攻撃対策の対象とする暗号を、 AES暗号とし ているが、 AES暗号だけに限らず、ラウンド鍵とのデータ融合、テーブル変換、線形 変換という一連の処理力 なる繰り返し型の暗号方式であれば同様の方法により適 用可能である。そのような暗号方式の例としては、 Camellia暗号や、 Hierocrypt暗 号などがある。
[0080] また、本実施の形態にお!、て、二つのデータをデータ融合する方法として、排他的 論理和演算を用いている力 これは、算術加算であってもよい。 [0081] また、本実施の形態にお!、て、第 1線形逆変換部 410m及び第 2線形変換部 410η は、実際には何も処理をおこなわなくてよいので、これらは省略してもよい。
[0082] なお、本発明を上記実施の形態に基づいて説明してきた力 本発明は、上記の実 施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる
[0083] (1)上記の各装置は、具体的には、マイクロプロセッサ、 ROM, RAM,ハードディ スクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュー タシステムである。前記 RAMまたはハードディスクユニットには、コンピュータプロダラ ムが記憶されている。前記マイクロプロセッサ力 前記コンピュータプログラムにしたが つて動作することにより、各装置は、その機能を達成する。ここでコンピュータプロダラ ムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが 複数個組み合わされて構成されたものである。
[0084] (2)上記の各装置を構成する構成要素の一部または全部は、 1個のシステム LSI ( Large Scale Integration:大規模集積回路)から構成されているとしてもよい。シ ステム LSIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIで あり、具体的には、マイクロプロセッサ、 ROM、 RAMなどを含んで構成されるコンビ ユータシステムである。前記 RAMには、コンピュータプログラムが記憶されている。前 記マイクロプロセッサ力 S、前記コンピュータプログラムにしたがって動作することにより
、システム LSIは、その機能を達成する。
[0085] (3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能 な ICカードまたは単体のモジュール力も構成されて 、るとしてもよ 、。前記 ICカード または前記モジュールは、マイクロプロセッサ、 ROM, RAMなどから構成されるコン ピュータシステムである。前記 ICカードまたは前記モジュールは、上記の超多機能 L SIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動 作することにより、前記 ICカードまたは前記モジュールは、その機能を達成する。この ICカードまたはこのモジュールは、耐タンパ性を有するとしてもよ!/、。
[0086] (4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンビュ ータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプ ログラム力もなるデジタル信号であるとしてもよい。
[0087] また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンビユー タ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、 CD— R OM、 MO、 DVD, DVD-ROM, DVD -RAM, BD (Blu— ray Disc)、半導体 メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前 記デジタル信号であるとしてもよ 、。
[0088] また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信 回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放 送等を経由して伝送するものとしてもよい。
[0089] また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、 前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは 、前記コンピュータプログラムにしたがって動作するとしてもよい。
[0090] また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送する ことにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経 由して移送すること〖こより、独立した他のコンピュータシステムにより実施するとしても よい。
[0091] (5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/、。
産業上の利用可能性
[0092] 本発明にかかる暗号装置は、電力解析攻撃を阻止しつつ、従来技術よりも、暗号 処理の処理量を削減するという特徴を有するので、本発明は、高速処理あるいは低 コストでの実現が求められる暗号装置等に適用できる。

Claims

請求の範囲
[1] 平文に対して鍵に基づく所定の暗号処理を行い、暗号文を生成するデータ暗号化 装置であって、
ラウンドごとにコア乱数を 1個生成し、前記コア乱数を所定の個数だけ連結して、第 1乱数を生成する乱数生成部と、
前記平文と前記第 1乱数とのデータ融合を行い、中間データを生成する平文デー タ融合部と、
ラウンドごとに前記中間データに対して、前記第 1乱数と第 2乱数と前記鍵に基づい て、データ撹乱処理を行う、データ撹乱部とを備えるデータ暗号化装置。
[2] 前記データ撹乱部は、
ラウンドごとに、平文を前記所定の個数で等分したデータを変換する 1つの変換テ 一ブルを記憶する変換テーブル記憶部と、
ラウンドごとに、前記変換テーブルを、前記第 1乱数と前記第 2乱数とに基づいて変 形するテーブル変換を行 ヽ、 1つの変形変換テーブルを生成する変換テーブル変 形部と、
前記変形変換テーブルを記憶する変形変換テーブル記憶部と、
ラウンドごとに、前記中間データに対して、前記鍵と前記変形変換テーブルに記憶 されている前記変形変換テーブルとに基づいて、前記中間データを前記所定の個 数で等分した各データに対して、データ変換処理を行うデータ変換部とを備える 請求項 1に記載のデータ暗号化装置。
[3] さらに、前記第 1乱数に対して所定の乱数変換を行い、前記第 2乱数を生成する乱 数変換部を備える
請求項 2に記載のデータ暗号化装置。
[4] 前記データ撹乱部は、さらに、前記中間データに対して、所定の線形変換を行い、 その結果を出力する線形変換部を備え、
前記乱数変換部は、前記線形変換の逆変換を前記乱数変換として行う 請求項 3に記載のデータ暗号化装置。
[5] 前記所定の暗号処理は、 AES (Advanced Encryption Standard)暗号処理であって 前記線形変換部は、 AES暗号処理における InvMixColumn処理と InvShiftRo w処理とからなり、
前記乱数変換部は、前記第 1乱数を第 2乱数として出力する
請求項 4に記載のデータ暗号化装置。
[6] 前記コア乱数は、すべてのラウンドにおいて同一の値である
請求項 5に記載のデータ暗号化装置。
[7] 平文に対して鍵に基づく所定の暗号処理を行い、暗号文を生成する集積回路であ つて、
ラウンドごとにコア乱数を 1個生成し、前記コア乱数を所定の個数だけ連結して、第 1乱数を生成する乱数生成部と、
前記平文と前記第 1乱数とのデータ融合を行い、中間データを生成する平文デー タ融合部と、
ラウンドごとに前記中間データに対して、前記第 1乱数と第 2乱数と前記鍵に基づい て、データ撹乱処理を行うデータ撹乱部とを備える集積回路。
[8] 平文に対して鍵に基づく所定の暗号処理を行い、暗号文を生成するデータ暗号化 方法であって、
ラウンドごとにコア乱数を 1個生成し、前記コア乱数を所定の個数だけ連結して、第 1乱数を生成し、
前記平文と前記第 1乱数とのデータ融合を行い、中間データを生成し、 ラウンドごとに前記中間データに対して、前記第 1乱数と第 2乱数と前記鍵に基づい て、データ撹乱処理を行うデータ暗号化方法。
[9] 平文に対して鍵に基づく所定の暗号処理を行い、暗号文を生成するプログラムで あって、
ラウンドごとにコア乱数を 1個生成し、前記コア乱数を所定の個数だけ連結して、第 1乱数を生成するステップと、
前記平文と前記第 1乱数とのデータ融合を行い、中間データを生成するステップと ラウンドごとに前記中間データに対して、前記第 1乱数と第 2乱数と前記鍵に基づい て、データ撹乱処理を行うステップとをコンピュータに実行させるプログラム。
PCT/JP2006/302364 2005-03-31 2006-02-10 データ暗号化装置及びデータ暗号化方法 WO2006112114A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP06713507A EP1865481A1 (en) 2005-03-31 2006-02-10 Data encryption device and data encryption method
JP2006521745A JP4823904B2 (ja) 2005-03-31 2006-02-10 データ暗号化装置及びデータ暗号化方法
US11/597,915 US8094811B2 (en) 2005-03-31 2006-02-10 Data encryption device and data encryption method
CN2006800090961A CN101147182B (zh) 2005-03-31 2006-02-10 数据加密装置及数据加密方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-102157 2005-03-31
JP2005102157 2005-03-31

Publications (1)

Publication Number Publication Date
WO2006112114A1 true WO2006112114A1 (ja) 2006-10-26

Family

ID=37114856

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/302364 WO2006112114A1 (ja) 2005-03-31 2006-02-10 データ暗号化装置及びデータ暗号化方法

Country Status (5)

Country Link
US (1) US8094811B2 (ja)
EP (1) EP1865481A1 (ja)
JP (1) JP4823904B2 (ja)
CN (1) CN101147182B (ja)
WO (1) WO2006112114A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175039A (ja) * 2010-02-23 2011-09-08 Toshiba Corp 暗号化装置および復号装置
JP2012070048A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 暗号化装置および復号装置
JP2012520589A (ja) * 2009-03-10 2012-09-06 イルデト・コーポレート・ビー・ヴイ 入力に依存する符号化を用いたホワイトボックス暗号システム
CN102880836A (zh) * 2011-07-15 2013-01-16 富士通半导体股份有限公司 安全装置
US8600049B2 (en) 2008-02-27 2013-12-03 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
CN104573544A (zh) * 2013-10-28 2015-04-29 上海复旦微电子集团股份有限公司 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路
US9288040B2 (en) 2010-02-22 2016-03-15 Kabushiki Kaisha Toshiba Encryption device
KR102072335B1 (ko) * 2019-08-14 2020-01-31 동서대학교 산학협력단 스크램블러를 이용한 aes 암호 알고리즘에 대한 전력분석공격 방어기술 적용방법
CN112769557A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 嵌入式系统中加快sm9双线性对运算的实现方法及装置
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption
EP4351080A1 (en) 2022-10-03 2024-04-10 Canon Kabushiki Kaisha Encryption processing apparatus, encryption processing method for encryption processing apparatus, and storage medium

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340892A (ja) * 2004-05-24 2005-12-08 Matsushita Electric Ind Co Ltd 暗号回路
US8538012B2 (en) * 2007-03-14 2013-09-17 Intel Corporation Performing AES encryption or decryption in multiple modes with a single instruction
DE102007035738A1 (de) 2007-07-30 2009-02-05 Robert Bosch Gmbh Übermittlungsvorrichtung und Verfahren zum Übermitteln einer aktuellen Position eines Fahrzeugs an eine Auswertezentrale
KR20100094862A (ko) * 2009-02-19 2010-08-27 삼성전자주식회사 스토리지 장치 및 그것의 데이터 관리 방법
TWI442221B (zh) * 2009-07-01 2014-06-21 Silicon Motion Inc 資料儲存裝置以及資料存取方法
US8966285B2 (en) * 2011-01-10 2015-02-24 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys
JP5481455B2 (ja) * 2011-09-27 2014-04-23 株式会社東芝 暗号処理装置
US8924740B2 (en) * 2011-12-08 2014-12-30 Apple Inc. Encryption key transmission with power analysis attack resistance
JP5612007B2 (ja) * 2012-03-15 2014-10-22 株式会社東芝 暗号化鍵生成装置
CA2914785C (en) 2013-04-18 2019-12-17 RISOFTDEV, Inc. System and methods for encrypting data
US20150130688A1 (en) * 2013-11-12 2015-05-14 Google Inc. Utilizing External Devices to Offload Text Entry on a Head Mountable Device
US11550982B2 (en) 2015-11-04 2023-01-10 Chronos Tech Llc Application specific integrated circuit interconnect
US9977852B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit interconnect
US9977853B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit link
US10073939B2 (en) 2015-11-04 2018-09-11 Chronos Tech Llc System and method for application specific integrated circuit design
US10789358B2 (en) 2015-12-17 2020-09-29 Cryptography Research, Inc. Enhancements to improve side channel resistance
CN105471894A (zh) * 2015-12-28 2016-04-06 国家电网公司 一种电力通信移动运维现场数据加密验证传输的方法
CN107547194A (zh) * 2016-06-28 2018-01-05 埃沙尔公司 免受侧信道分析的保护方法和设备
US10331835B2 (en) 2016-07-08 2019-06-25 Chronos Tech Llc ASIC design methodology for converting RTL HDL to a light netlist
US10181939B2 (en) 2016-07-08 2019-01-15 Chronos Tech Llc Systems and methods for the design and implementation of an input and output ports for circuit design
US10637592B2 (en) 2017-08-04 2020-04-28 Chronos Tech Llc System and methods for measuring performance of an application specific integrated circuit interconnect
US11863304B2 (en) * 2017-10-31 2024-01-02 Unm Rainforest Innovations System and methods directed to side-channel power resistance for encryption algorithms using dynamic partial reconfiguration
CN109413051B (zh) * 2018-10-09 2021-02-26 深圳南方德尔汽车电子有限公司 数据加密方法、装置、计算机设备及存储介质
US11087057B1 (en) 2019-03-22 2021-08-10 Chronos Tech Llc System and method for application specific integrated circuit design related application information including a double nature arc abstraction
CN110166239B (zh) * 2019-06-04 2023-01-06 成都卫士通信息产业股份有限公司 用户私钥生成方法、系统、可读存储介质及电子设备
CN113537913A (zh) * 2020-04-16 2021-10-22 上海利云网络科技有限公司 一种高安全性的企业信息管理系统及方法
CN112769552B (zh) * 2020-12-30 2022-08-23 北京宏思电子技术有限责任公司 一种在嵌入式系统中加快线性对运算的实现方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000502822A (ja) * 1996-08-16 2000-03-07 ベル コミュニケーションズ リサーチ,インコーポレイテッド 高速で安全な暗号化のための改良された暗号的に安全な疑似ランダム・ビット・ジェネレータ
JP2002366029A (ja) * 2001-06-13 2002-12-20 Fujitsu Ltd Dpaに対して安全な暗号化

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0892520A3 (en) * 1997-07-17 2001-10-17 Matsushita Electric Industrial Co., Ltd. Elliptic curve calculation apparatus capable of calculating multiples at high speed
US6466668B1 (en) * 1998-01-28 2002-10-15 Hitachi, Ltd. IC card equipped with elliptical curve encryption processing facility
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
US7068786B1 (en) * 1999-08-29 2006-06-27 Intel Corporation Dual use block/stream cipher
AU2001260970A1 (en) * 2000-01-31 2001-08-07 Vdg Inc. Block encryption method and schemes for data confidentiality and integrity protection
US6963976B1 (en) * 2000-11-03 2005-11-08 International Business Machines Corporation Symmetric key authenticated encryption schemes
JP3851115B2 (ja) * 2001-06-28 2006-11-29 富士通株式会社 暗号回路
US6838122B2 (en) * 2001-07-13 2005-01-04 Micron Technology, Inc. Chemical vapor deposition methods of forming barium strontium titanate comprising dielectric layers
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
JP2005527853A (ja) * 2002-05-23 2005-09-15 アトメル・コーポレイション 高度暗号化規格(aes)のハードウェア暗号法エンジン
JP3862074B2 (ja) * 2002-06-20 2006-12-27 ソニー株式会社 データ通信システム、情報処理装置および方法、並びにプログラム
JP4357815B2 (ja) * 2002-09-11 2009-11-04 株式会社東芝 暗号演算回路
JP3503638B1 (ja) * 2002-09-26 2004-03-08 日本電気株式会社 暗号装置及び暗号プログラム
KR100813954B1 (ko) * 2003-01-16 2008-03-14 삼성전자주식회사 암호화 장치 및 암호화 방법
EP1496641A3 (en) * 2003-07-07 2005-03-02 Sony Corporation Cryptographic processing apparatus, cryptographic processing method and computer program
US8229108B2 (en) * 2003-08-15 2012-07-24 Broadcom Corporation Pseudo-random number generation based on periodic sampling of one or more linear feedback shift registers
JP3998616B2 (ja) * 2003-09-10 2007-10-31 株式会社東芝 暗号化/復号モジュール
JP3803664B2 (ja) * 2003-09-30 2006-08-02 株式会社東芝 乱数生成回路、半導体集積回路、icカード及び情報端末機器
JP2005134478A (ja) * 2003-10-28 2005-05-26 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
KR100564599B1 (ko) * 2003-12-24 2006-03-29 삼성전자주식회사 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
FR2867635B1 (fr) * 2004-03-11 2006-09-22 Oberthur Card Syst Sa Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
US7848514B2 (en) * 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
US7949883B2 (en) * 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
US7715555B2 (en) * 2004-09-07 2010-05-11 Broadcom Corporation Method and system for extending advanced encryption standard (AES) operations for enhanced security
US7496616B2 (en) * 2004-11-12 2009-02-24 International Business Machines Corporation Method, apparatus and system for resistance to side channel attacks on random number generators
KR100967880B1 (ko) * 2004-11-26 2010-07-05 삼성전자주식회사 M6 블록암호시스템
EP1836554B1 (en) * 2004-12-01 2008-04-16 Telecom Italia S.p.A. Method and related device for hardware-oriented conversion between arithmetic and boolean random masking
KR20060081847A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 비밀키를 보호하는 스마트 카드 및 그것의 방법
US7831833B2 (en) * 2005-04-22 2010-11-09 Citrix Systems, Inc. System and method for key recovery
KR100891323B1 (ko) * 2005-05-11 2009-03-31 삼성전자주식회사 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
US8019802B2 (en) * 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000502822A (ja) * 1996-08-16 2000-03-07 ベル コミュニケーションズ リサーチ,インコーポレイテッド 高速で安全な暗号化のための改良された暗号的に安全な疑似ランダム・ビット・ジェネレータ
JP2002366029A (ja) * 2001-06-13 2002-12-20 Fujitsu Ltd Dpaに対して安全な暗号化

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600049B2 (en) 2008-02-27 2013-12-03 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
US9654280B2 (en) 2009-03-10 2017-05-16 Irdeto B.V. White-box cryptographic system with input dependent encodings
JP2012520589A (ja) * 2009-03-10 2012-09-06 イルデト・コーポレート・ビー・ヴイ 入力に依存する符号化を用いたホワイトボックス暗号システム
US9288040B2 (en) 2010-02-22 2016-03-15 Kabushiki Kaisha Toshiba Encryption device
JP2011175039A (ja) * 2010-02-23 2011-09-08 Toshiba Corp 暗号化装置および復号装置
US9031234B2 (en) 2010-09-21 2015-05-12 Kabushiki Kaisha Toshiba Encryption device and decryption device
JP2012070048A (ja) * 2010-09-21 2012-04-05 Toshiba Corp 暗号化装置および復号装置
CN102880836A (zh) * 2011-07-15 2013-01-16 富士通半导体股份有限公司 安全装置
CN102880836B (zh) * 2011-07-15 2016-02-10 株式会社索思未来 安全装置
CN104573544A (zh) * 2013-10-28 2015-04-29 上海复旦微电子集团股份有限公司 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路
CN104573544B (zh) * 2013-10-28 2017-09-12 上海复旦微电子集团股份有限公司 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption
KR102072335B1 (ko) * 2019-08-14 2020-01-31 동서대학교 산학협력단 스크램블러를 이용한 aes 암호 알고리즘에 대한 전력분석공격 방어기술 적용방법
CN112769557A (zh) * 2020-12-30 2021-05-07 北京宏思电子技术有限责任公司 嵌入式系统中加快sm9双线性对运算的实现方法及装置
CN112769557B (zh) * 2020-12-30 2022-10-18 北京宏思电子技术有限责任公司 嵌入式系统中加快sm9双线性对运算的实现方法及装置
EP4351080A1 (en) 2022-10-03 2024-04-10 Canon Kabushiki Kaisha Encryption processing apparatus, encryption processing method for encryption processing apparatus, and storage medium

Also Published As

Publication number Publication date
US8094811B2 (en) 2012-01-10
CN101147182A (zh) 2008-03-19
CN101147182B (zh) 2010-09-01
EP1865481A1 (en) 2007-12-12
JP4823904B2 (ja) 2011-11-24
JPWO2006112114A1 (ja) 2008-12-04
US20080285743A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
WO2006112114A1 (ja) データ暗号化装置及びデータ暗号化方法
JP4961909B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP4905000B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5055993B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
DK1686722T3 (en) Block encryption device and block encryption method comprising rotation key programming
JP5050454B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP6345237B2 (ja) 平文データを暗号化するための方法および装置
EP2058780A1 (en) Encryption device, encryption method, and computer program
WO2009087972A1 (ja) データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム
JPWO2010055658A1 (ja) コンテンツ復号処理装置、コンテンツ復号処理方法及び集積回路
JPWO2008146482A1 (ja) 暗号化装置、復号化装置、暗号化方法及び集積回路
EP2058782A1 (en) Encryption device, encryption method, and computer program
JP2005505069A (ja) メモリ暗号化
JPWO2008078390A1 (ja) データ圧縮装置およびデータ復元装置
WO2007083528A1 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
CN107438065A (zh) 数据加密装置及方法、数据解密装置及方法
JP5641133B2 (ja) 情報処理装置、改ざん検出装置、情報処理方法、改ざん検出方法、情報処理プログラムおよび改ざん検出プログラム
EP1351430B1 (en) Expansion key generating device, encryption device and encryption system
JP2007334016A (ja) データ暗号化装置及びデータ暗号化方法
JP4515716B2 (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
JP6631989B2 (ja) 暗号化装置、制御方法、及びプログラム
JPH05324485A (ja) ファイル圧縮暗号処理装置
Kim et al. A modified exhaustive search on a password system using SHA-1
JP4644053B2 (ja) 暗号化装置及び方法、復号化装置及び方法
JPH0744375A (ja) 暗号化データ処理装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2006521745

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 11597915

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006713507

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200680009096.1

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: RU

WWW Wipo information: withdrawn in national office

Country of ref document: RU

WWP Wipo information: published in national office

Ref document number: 2006713507

Country of ref document: EP