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

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

Info

Publication number
JP4823904B2
JP4823904B2 JP2006521745A JP2006521745A JP4823904B2 JP 4823904 B2 JP4823904 B2 JP 4823904B2 JP 2006521745 A JP2006521745 A JP 2006521745A JP 2006521745 A JP2006521745 A JP 2006521745A JP 4823904 B2 JP4823904 B2 JP 4823904B2
Authority
JP
Japan
Prior art keywords
data
random number
conversion
unit
encryption
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.)
Expired - Fee Related
Application number
JP2006521745A
Other languages
English (en)
Other versions
JPWO2006112114A1 (ja
Inventor
薫 横田
真佐男 野仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006521745A priority Critical patent/JP4823904B2/ja
Publication of JPWO2006112114A1 publication Critical patent/JPWO2006112114A1/ja
Application granted granted Critical
Publication of JP4823904B2 publication Critical patent/JP4823904B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、データ暗号化装置に関し、特に、暗号処理を実行する際の電力消費量を計測することにより暗号モジュールに埋め込まれている暗号鍵を解析する攻撃方法に対して安全なデータ暗号化装置に関する。
近年、ハードウェアあるいはソフトウェアで実装された暗号モジュールが暗号処理を行う際の副情報を手がかりにして、暗号鍵の解析を行う解読法が各種考案されている。例えば、タイミング攻撃と呼ばれる解読方法では、暗号モジュールが暗号処理に要する時間が、暗号処理に用いている暗号鍵の値により、わずかではあるが異なることを利用して、暗号鍵の解析を行う。即ち、タイミング攻撃においては、暗号処理を行う際の処理時間という副情報を利用して、暗号鍵の解読を行っている。このような解読法の中でも、暗号処理を行う際の電力消費量を副情報として解読を行う解読方法として、“Simple Power Analysis”や“Differential Power Analysis”といった各種の方法が考案されている。これらの解読法は、近年、高性能な計測機器が安価で手に入るようになった背景もあって、IC(Integrated Circuit)カードのような暗号が実装された実際の製品に対しても解析が可能であることが報告されている。また、暗号処理を行う際に、暗号モジュールから発生する電磁波強度を副情報として解読する方法など数々の解読方法が考案されている。以下の記述では、暗号処理時における暗号モジュールの電力消費量を手がかりにして、暗号鍵を解析する解読方法を総称して、「電力解析攻撃」と呼ぶことにする。以下では、電力解析攻撃を例にして説明を行うが、副情報を用いたその他の解読方法に対しても同様にして説明することができる。即ち、本発明は、電力解析攻撃のみならず、暗号処理中に暗号モジュールから発生する副情報を利用して鍵の推定を行う解読方法であれば適用可能である。
電力解析攻撃の概要について説明する。ここでは、AES(Advanced Encryption Standard)暗号(AES暗号の詳細は、非特許文献1を参照)に電力解析攻撃を適用した例を元に説明する。図1は、AES暗号の処理概要を説明するブロック図である。AES暗号は、暗号鍵サイズが128bit、192bit、256bitの3種類をサポートしているが、以下では、暗号鍵サイズは128bitであるとして説明を行う。また、AES暗号では、128bitの暗号鍵を元に、128bit×11個のラウンド鍵K0、K1、・・・、K10と呼ばれる鍵を生成するが、ここでは、既にラウンド鍵が生成されているものとして説明する。図1でもラウンド鍵生成処理については、図示していない。
(AES暗号の処理概略)
AES暗号の暗号処理概要を説明する。
AES暗号の暗号化処理は、128bitの平文Pに対して、ラウンド鍵K0とのビットごとの排他的論理和演算10a、テーブル変換処理(S)10b、線形変換(L1)10cを行う。次に、前記と同様の一連の処理を、ラウンド鍵K1を用いて行う(11a〜11c)。更に、同様の一連の処理をラウンド鍵K2、K3、・・・、K9を順次用いて行う。但し、ラウンド鍵K9を用いた一連の処理については、線形変換L1の代わりに、線形変換L2を行う(19c)。そして、最後に、ラウンド鍵K10とのビットごとの排他的論理和演算を行い(19d)、その結果の値を暗号文Cとする。
(テーブル変換S(10b))
テーブル変換10bの処理について説明する。なお、テーブル変換11b、12b、・・・、19bも、これと同一の処理である。
図2は、テーブル変換10bの処理を示すブロック図である。入力される128bitのデータは、上位から8bitずつに分割され、8bit×16個のデータとなる。そして、各8bitデータに対して、変換テーブルTabによるテーブル変換処理が行われる(100a〜100p)。ここで、変換テーブルTabは、入力8bitと出力8bitとの対応関係を示すテーブルであり、具体的には、8bit×256要素の配列Tab[256]によって表され、入力8bitがXのとき、テーブル変換による出力値Yは、Y=Tab[X]として得られる。
具体的には、AES暗号に用いられる変換テーブルは、Tab[256]={63h、7Ch、77h、7Bh、・・・、BBh、16h}となるテーブルである。ここで、63hの“h”は、“63”が16進数表記であることを示している。このとき、入力03hに対するテーブル変換の出力は、Tab[2]=77hであり、入力FEh(10進数で254)に対するテーブル変換の出力は、Tab[254]=BBhとなる。このようにして、各8bitデータに対するテーブル変換処理が行われる。そして、各出力結果を先ほど分割した際と同じ順序で連結して128bitとし、128bitの出力データYとする。
(線形変換L1(10c))
線形変換L1(10c)の処理について説明する。なお、線形変換11c、12c、・・・、18cの処理も、これと同様の処理である。
線形変換L1は、ShiftRowと呼ばれるバイト転置と、MixColumnと呼ばれる行列変換とをこの順序で行う。まず、入力データを、上位から8bitずつに分割して、A0、A1、・・・、A14、A15とする。バイト転置ShiftRowは、A0〜A15に対して並び換えを行って128bitデータを作成する。具体的には、上位からA0、A5、A10、A15、A4、A9、A14、A3、A8、A13、A2、A7、A12、A1、A6、A11の順にデータを連結して128bitデータとする。
次に、上記ShiftRowの結果に対して、MixColumn処理を行う。具体的には、ShiftRowの結果を再び、上位から8bitずつ分割して、B0、B1、・・・、B14、B15とする。次に、X0=B0、X1=B4、X2=B8、X3=B12として、下記数1に従って行列演算を行い、Y0、Y1、Y2、Y3を計算して、C0=Y0、C4=Y1、C8=Y2、C12=Y3とする。
Figure 0004823904
ここで、行列演算に用いる加算と乗算は拡大体GF(2^8)上の演算として行う。また、“2^8”は“2の8乗”を表す。更に、X0=B1、X1=B5、X2=B9、X3=B13として、上記行列演算(数1で示される演算)を行い、Y0、Y1、Y2、Y3を計算して、C1=Y0、C5=Y1、C9=Y2、C13=Y3とする。同様に、X0=B2、X1=B6、X2=B10、X3=B14として、行列演算(数1)を行い、Y0、Y1、Y2、Y3を計算して、C2=Y0、C6=Y1、C10=Y2、C14=Y3とする。そして、X0=B3、X1=B7、X2=B11、X3=B15として、行列演算を行い、Y0、Y1、Y2、Y3を計算して、C3=Y0、C7=Y1、C11=Y2、C15=Y3とする。上記のようにして得られたC0、C1、C2、・・・、C14、C15を、上位からこの順序で連結した128bitデータが、MixColumn処理の出力データ、即ち、線形変換L1の出力データとなる。
(線形変換L2(19c))
線形変換L2(19c)は、線形変換L1から、MixColumn処理を省略したものである。即ち、L2への入力データに対して、ShiftRow処理のみを行った結果をL2の出力データとする。
(暗号装置110の構成)
AES暗号を暗号装置として実装した場合の一構成例について説明する。
図3は、AES暗号を暗号装置として実装した場合の一構成例を示すブロック図である。
暗号装置110は、平文Pを暗号化し暗号文Cを出力する装置であり、レジスタ110aと、暗号鍵記憶部110bと、ラウンド鍵生成部110cと、ラウンド鍵記憶部110dと、排他的論理和部110eと、テーブル保管部110fと、テーブル変換部110gと、第1線形変換部110hと、第2線形変換部110iとを含む。
レジスタ110aは、暗号処理の中間データを記憶する記憶装置である。暗号鍵記憶部110bは暗号鍵を記憶している記憶装置である。ラウンド鍵生成部110cは、暗号処理時に、暗号鍵記憶部110bから暗号鍵を読み出し、ラウンド鍵K0〜K10を生成し、ラウンド鍵記憶部110dに記憶する処理部である。排他的論理和部110eは、ラウンド鍵記憶部110dから必要なラウンド鍵を読み出して、排他的論理和演算を行う処理部である。テーブル保管部110fは、上述した8bit×256個のデータからなる変換テーブルを配列Tab[256]として記憶している記憶装置である。テーブル変換部110gは、テーブル保管部110fより配列Tab[256]を読み出し、テーブル変換処理を実行する処理部である。第1線形変換部110hおよび第2線形変換部110iは、それぞれ上述した線形変換L1および線形変換L2の処理を実行する処理部である。
次に、暗号装置110の動作について説明する。平文Pが暗号装置110に入力されると、一旦、レジスタ110aに記憶される。次に、排他的論理和部110eがレジスタ110aに記憶されているデータを読み出して、ラウンド鍵との排他的論理和演算を行い、演算結果をレジスタ110aに上書き記憶する。次に、テーブル変換部110gが、レジスタ110aに記憶されているデータを読み出して、テーブル変換処理を行い、変換結果をレジスタ110aに上書き記憶する。そして、第1線形変換部110hが、レジスタ110aに記憶されているデータを読み出して、線形変換L1の処理を行い、変換結果をレジスタ110aに上書き記憶する。
以下、先ほど述べたAES暗号の処理手順に従って、上記の処理を繰り返し行う。但し、最後の繰り返しにおける線形変換処理は、第1線形変換部110hの代わりに、第2線形変換部110iによる線形変換L2の処理を行い、更に、排他的論理和部110eがラウンドK10との排他的論理和演算を行って、演算結果をレジスタ110aに上書き記憶する。そして、暗号装置110は、レジスタ110aに記憶されているデータを暗号文Cとして出力する。
(暗号装置110に対する電力解析攻撃)
暗号装置110に対する、電力解析攻撃の概要について説明する。暗号装置110では、AES暗号の処理が行われている途中のデータ(中間データ)は、レジスタ110aに一時記憶されている。即ち、図1において、ある処理ブロックから他の処理ブロックに渡されるデータは、全てレジスタ110aに一旦記憶されてから、他の処理ブロックによる処理が行われる。
電力解析攻撃では、上記のように暗号処理の中間データがレジスタに一時記憶されることに着目する。データをレジスタに記憶する際の電力消費量は、記憶するデータの内容に依存することがわかっている。例えば、記憶するデータに“1”が立つビットの数が多いほど、記憶時に消費する電力は大きい。また、レジスタへの上書き処理の際に、レジスタに格納しているデータビットの反転が発生するビット(例えば、ビット“1”が記憶されている状態でビット“0”が上書きされるビット)が多いほど、記憶時に消費する電力は大きい。これらのことを利用して、レジスタに記憶する際の電力消費量を測定して、レジスタ内のデータを推測する。そして、推測したデータ値から、暗号処理に使われている暗号鍵を特定する。例えば、図3の排他的論理和部110eがレジスタ110aに記憶する際の電力消費量を解析することにより、図1の排他的論理和10aの処理が行われた後のデータを解析することができたとする。このときのデータをDとし、平文Pの値も解析者が知っているとすると、ラウンド鍵K0は、
K0=D(+)P
によって求められる。ここで、“(+)”は“ビットごとの排他的論理和”を表す。AES暗号の場合、ラウンド鍵K0は、暗号鍵と同一であることが知られているから、上記の解析により、暗号鍵が求められたことになる。
以上のように、暗号処理中の電力消費量から、レジスタに一時記憶される暗号処理の中間値が推測され、そこから、暗号鍵が推測されることがわかる。
(電力解析攻撃に対する対策方法)
電力解析攻撃に対する対策方法として、マスキング法と呼ばれる方法が開示されている(例えば、特許文献1参照)。図3に示す暗号装置110では、暗号処理の中間値をそのままレジスタ110aに一時記憶しているため、その値が解析される点に問題があった。マスキング法では、暗号処理の中間値をレジスタに格納する前に、乱数によってランダム化するところに特徴がある。これにより、電力解析によってレジスタのデータが推測されても、その値は、乱数によってランダム化されているので、実際の暗号処理の中間値はわからない。従って、ラウンド鍵の値は特定できない。
図4及び図5は、AES暗号に対するマスキング法を適用した場合の処理手順を説明するブロック図である。暗号処理を行う前に、128bitの乱数R0〜R10を生成する。そして、生成した乱数を用いた排他的論理和演算20a、20c、20e、21b、・・・、29b、29d、29hを、オリジナルのAES暗号処理に図4に示すように、追加する。このとき、排他的論理和演算21b、・・・、29bは、乱数に対して線形変換L1を施した結果との排他的論理和演算であり、排他的論理和演算29hは、乱数に対して線形変換L2を施した結果との排他的論理和演算である。このとき、排他的論理和演算20aによって、暗号処理の中間値Tは、乱数R0の影響を受けてランダム化される。しかし、その後に、排他的論理和演算20cによって、乱数R0との排他的論理和演算を再び行うことで、その影響は相殺される。同様に、乱数R1、R2、・・・、R10によるランダム化の影響は相殺されるようになっているため、最終的に得られる暗号文Cは、図1で示したオリジナルのAES暗号処理によって得られるものと、同一のものとなる。
また、実際に暗号装置として実装する際には、図4ではなく、図5の構成として、暗号処理が実装される。図4と図5との違いは、図4における「乱数との排他的論理和演算⇒テーブル変換⇒乱数との排他的論理和演算」という一連の処理を、「ランダム化された変換テーブルによるテーブル変換」に置き換えた点である。以下、この点について説明する。
図6は、図5におけるランダム化テーブル変換30cの内部構成を説明するためのブロック図である。なお、他のランダム化テーブル変換31b、32b、・・・、39bについても、使われる乱数が異なるだけで、ランダム化テーブル変換30cと同様である。128bitの入力データXは、上位から8bitずつ分割して、x0、x1、・・・、x15とする。また、乱数R0及びR1は、上位から8bitずつ分割して、それぞれ、R0a、R0b,・・・,R0p、及びR1a、R1b、・・・、R1pとする。まず、x0、x1、・・・、x15は、それぞれ、R0a,R0b,・・・,R0pとの排他的論理和演算を行う。次に、前記結果(各8bit)に対して、それぞれ、AES暗号の変換テーブルTabを用いたテーブル変換を行う。そして、各テーブル変換結果に対して、それぞれR1a、R1b、・・・、R1pとの排他的論理和演算を行い、その結果を、それぞれy0、y1、・・・、y15とする。y0、y1、・・・、y15を、上位からこの順序で連結した128bitデータを、Yとして出力する。
ここで、乱数R0(即ち、R0a〜R0p)と乱数R1(即ち、R1a〜R1p)が決まれば、x0とy0との対応関係、x1とy0との対応関係、・・・、x15とy15との対応関係は、各々8bit×256個のデータからなる変換テーブルとして表すことができる。即ち、図6の処理は、図7で示すような、16種類の変換テーブルTab0a、Tab0b、・・・、Tab0pによる、テーブル変換処理303a、303b、・・・、303pからなる処理となる。
以上をまとめると、マスキング法解読に対する対策を行ったAES暗号の処理手順は、図5に示すようになる。即ち、以下のようになる。
(1)128bit×11個の乱数R0、R1、・・・、R10を生成する。
(2)乱数R0とR1を元に、ランダム化テーブル変換Sm0(30c)を構成する。具体的には、図7に示すように、8bit×256個のデータからなる変換テーブルを16種類作成する。同様に乱数R1とR2、R2とR3、・・・、R9とR10を元に、ランダム化テーブル変換Sm1〜Sm9を構成する。具体的な構成方法はSm0と同様である。
(3)図5に従って、暗号処理を行う。オリジナルのAES暗号処理と異なる点は、乱数R0との排他的論理和演算30aと乱数R10に対する線形変換L2(39e)、及び前記線形変換の結果との排他的論理和演算39fの追加と、テーブル変換処理30c、31b、・・・、39bが、オリジナルの変換テーブルTabの代わりに、乱数R0〜R10を元に作成したランダム化変換テーブルを用いる点である。
Federal Information ProcessingStandards Publication 197,「Specification for the ADVANCED ENCRYPTION STANDARD(AES)」,November 26,2001 米国特許第6295606号明細書
しかしながら、前記従来技術においては、電力解析攻撃対策によってもたらされる暗号処理量の増加によって、暗号装置の処理速度が著しく低下するという課題を有している。即ち、生成した乱数を元に生成する必要のあるランダム化変換テーブル(8bit×256個の要素を持つテーブル)は、Sm0、Sm1、・・・、Sm9の各々に16種類含まれる(例えば、Sm0の場合は、Tab0a、Tab0b、・・・、Tab0pの16種類)。即ち、1回の暗号を行う際には、合計で16×10=160種類ものランダム化変換テーブルを作成する必要がある。
また、ランダム化変換テーブルの生成に用いる乱数は、1回の暗号化処理ごとに異なるものである必要があり、上記のテーブル作成処理は、1回の暗号化処理を行うたびに実行する必要がある。従って、この電力解析対策のための追加処理により、暗号処理の処理速度が著しく低下してしまうという課題を有している。
また、上記160種類ものランダム化変換テーブルを記憶するためのメモリが暗号モジュール内に必要となるため、メモリ量も著しく増加してしまうという課題も有している。
本発明は、上述の課題を解決するためになされたものであり、電力解析攻撃を阻止でき、かつ、暗号処理の速度低下及びメモリ量増加を、従来よりも削減可能なデータ暗号化装置を提供することを目的とする。
前記従来の課題を解決するために、本発明のデータ暗号化装置は、平文に対して鍵に基づく所定の暗号処理を行い、暗号文を生成するデータ暗号化装置であって、ラウンドごとにコア乱数を1個生成し、前記コア乱数を所定の個数だけ連結して、第1乱数を生成する乱数生成部と、前記平文と前記第1乱数とのデータ融合を行い、中間データを生成する平文データ融合部と、ラウンドごとに前記中間データに対して、前記第1乱数と第2乱数と前記鍵に基づいて、データ撹乱処理を行う、データ撹乱部とを備える。
この構成によると、第1乱数はコア乱数の繰返しになっている。このため、例えば、コア乱数の個数が16個であるとした場合には、データ撹乱処理を行なう場合に、従来16個必要であったランダム化変換テーブルの個数を1つにすることができる。よって、暗号処理の速度低下を削減し、かつ暗号処理に必要なメモリ量を削減することができる。例えば、前記データ撹乱部は、ラウンドごとに、平文を前記所定の個数で等分したデータを変換する1つの変換テーブルを記憶する変換テーブル記憶部と、ラウンドごとに、前記変換テーブルを、前記第1乱数と前記第2乱数とに基づいて変形するテーブル変換を行い、1つの変形変換テーブルを生成する変換テーブル変形部と、前記変形変換テーブルを記憶する変形変換テーブル記憶部と、ラウンドごとに、前記中間データに対して、前記鍵と前記変形変換テーブルに記憶されている前記変形変換テーブルとに基づいて、前記中間データを前記所定の個数で等分した各データに対して、データ変換処理を行うデータ変換部とを備えるような構成にすればよい。
また、データ暗号化装置は、さらに、前記第1乱数に対して所定の乱数変換を行い、前記第2乱数を生成する乱数変換部を備えていてもよいし、前記データ撹乱部は、さらに、前記中間データに対して、所定の線形変換を行い、その結果を出力する線形変換部を備え、前記乱数変換部は、前記線形変換の逆変換を前記乱数変換として行ってもよい。
さらに、前記所定の暗号処理は、AES(Advanced Encryption Standard)暗号処理であって、前記線形変換部は、AES暗号処理におけるInvMixColumn処理とInvShiftRow処理とからなり、前記乱数変換部は、前記第1乱数を第2乱数として出力する構成であってもよい。
さらにまた、前記コア乱数は、すべてのラウンドにおいて同一の値であってもよい。
コア乱数をすべてのラウンドにおいて同一とすることにより、データ暗号化装置で使用される変形変換テーブルを1つにすることができる。このため、暗号処理の速度低下を削減し、かつ暗号処理に必要なメモリ量を削減することができる。
なお、本発明は、このような特徴的な手段を備えるデータ暗号化装置として実現することができるだけでなく、データ暗号化装置に含まれる特徴的な手段をステップとするデータ暗号化方法として実現したり、データ暗号化方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM(Compact Disc-Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは言うまでもない。
本発明によると、電力解析攻撃を阻止でき、かつ、暗号処理の速度低下及びメモリ量増加を、従来よりも削減可能なデータ暗号化装置を提供することができる。
本発明の暗号装置によれば、暗号処理の中間データ及び変換テーブルをランダム化するための乱数を、ある一定のフォーマットに従い、かつ、各テーブル変換処理の前と後に排他的論理和演算される乱数それぞれが、全て同じ値になるように設定することで、電力解析攻撃のような、暗号処理中に暗号モジュールから発生する副情報を利用した解析方法を阻止しつつ、上記阻止のための対策による暗号処理の速度低下とメモリ量の増加が従来よりも削減されるという効果がある。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(電力解析攻撃を阻止するAES暗号処理手順の概要)
図8は、電力解析攻撃を阻止するためのAES暗号の処理手順を説明するブロック図である。また、図9は、AES暗号の処理手順を示したフローチャートである。以下、図8および図9を用いて暗号処理手順を説明する。なお、128bit×11個のラウンド鍵K0、K1、・・・、K10は、128bitの暗号鍵から既に生成されているものとする。
(1)128bitの乱数Rを生成する(S2)。また、乱数Rに線形変換L1の逆変換L1iを施した値R1を求める(S4)。更に、R1に線形変換L2を施した値R2を求める(S6)。ここで、線形変換L1及びL2は、前述のL1、L2と同じ処理である。
(2)128bitの平文Pに対して、前記乱数Rとの排他的論理和演算を行う(40a、S8)。
(3)i=0、1、・・・、9の順に、以下の処理((3−1)〜(3−5))を繰り返し行う(ループA)。
(3−1)ラウンド鍵Kiとの排他的論理和演算を行う(40b、41a、42a、・・・、49a、S10)。
(3−2)乱数Rとの排他的論理和演算を行う(40c、41b、42b、・・・、49b、S12)。
(3−3)テーブル変換Sを行う(40d、41c、42c、・・・、49c、S14)。ここで、テーブル変換Sは、既に述べたテーブル変換Sと同一である。
(3−4)乱数R1との排他的論理和演算を行う(40e、41d、42d、・・・、49d、S16)。
(3−5)i=0〜8の場合は(S18でYES)、線形変換L1を行う(40f、41e、42e、・・・、48e、S20)。i=9の場合は(S18でNO)、線形変換L2を行う(49e、S22)。
(4)ラウンド鍵K10との排他的論理和演算を行う(49g、S24)。
(5)R2との排他的論理和演算を行う(49h、S26)。
平文Pに対して、上記(1)〜(5)の処理を行った結果を、暗号文Cとして出力する。このとき、(1)、(2)、(3−2)及び(5)の処理が、オリジナルのAES暗号処理から追加されている処理である。このような処理を追加しても、オリジナルのAES暗号処理で得られる暗号文と同一の暗号文が得られることは、以下のことからわかる。
(A)排他的論理和演算40aで平文データPとの間で排他的論理和演算が行なわれる乱数Rの影響は、その後の、排他的論理和演算40cによって除去される。即ち、ラウンド鍵K0との排他的論理和演算40bによる処理後の値は、P(+)K0(+)Rであるが、排他的論理和演算40cによる処理後の値は、P(+)K0(+)R(+)R=P(+)K0となり、Rの影響は相殺される。
(B)テーブル変換40d、41c、42c、・・・、48cの後の排他的論理和演算40e、41d、42d、・・・、48dによって排他的論理和される乱数R1の影響は、それぞれ、その後のテーブル変換41c、42c、・・・、49cの前の排他的論理和演算41b、42b、・・・、49bによって除去される。例えば、排他的論理和演算40e後の中間値は、{オリジナルAES暗号の中間値}(+)R1となり、排他的論理和演算41bの入力値は、{オリジナルAES暗号の中間値}(+)L1(R1)となる。ここで、L1(R1)は、R1に線形変換L1を施した結果を示すが、R1自体がL1i(R)であることから、L1(R1)=Rである。即ち、排他的論理和演算40eの入力値は、{オリジナルAES暗号の中間値}(+)Rとなり、このRの影響は、排他的論理和演算41bにおいて、Rと排他的論理和演算することによって除去される。その他の場合についても同様である。
(C)テーブル変換49cの後の排他的論理和演算49dによって排他的論理和演算が施される乱数R1の影響は、その後の排他的論理和演算49hによって除去される。即ち、排他的論理和演算49d後の暗号処理中間値は、{オリジナルAES暗号の中間値}(+)R1となり、排他的論理和演算49hに入力される値は、{オリジナルAES暗号の中間値}(+)L2(R1)となる。ここで、L2(R1)=R2であるから、排他的論理和演算49hによるR2との排他的論理和によって、上記L2(R1)の影響は除去される。
(電力解析攻撃を阻止するAES暗号装置410の構成)
図10は、図8のAES暗号処理手順を実現する暗号装置410の構成の一例を示したブロック図である。以下、暗号装置410による処理手順について、図9に示したフローチャートを参照しながら説明する。
暗号鍵保管部410cは、128bitの暗号鍵を保管する。ラウンド鍵生成部410dは、暗号処理時に、暗号鍵保管部410cに保管する暗号鍵を元に、AES暗号のラウンド鍵生成手順に従って、128bit×11個のラウンド鍵K0、K1、・・・、K10を生成する。ラウンド鍵記憶部410eは、前記ラウンド鍵K0、K1、・・・、K10を記憶する。
次に、乱数生成部410aは、乱数Rを生成する(図9のS2)。乱数生成部410aは、図11に示すように、コア乱数生成部411aと乱数拡大部411bからなる。乱数Rの生成時には、まず、コア乱数生成部411aは、8bitのコア乱数rを生成し、乱数拡大部411bに転送する。乱数拡大部411bは、前記乱数rを16個連結した値を乱数Rとし、乱数生成部410aは、この乱数Rを出力する。即ち、乱数Rは、
R=r‖r‖・・・‖r (rの個数は16個)
となる。ここで“‖”は、データの連結を表す。生成された128bitの乱数Rは、排他的論理和部410b、テーブルランダム化部410i、第1線形逆変換部410hに転送する。
第1線形逆変換部410hは、前記乱数Rに対して線形変換L1の逆変換を施して、R1を求め(図9のS4)、テーブルランダム化部410i及び第2線形変換部410oに転送する。第1線形逆変換部410hの詳細手順は、以下の通りである。まず、入力データRを上位から8bitずつ分割して、a0、a1、a2、・・・、a15とする。次に、x0=a0、x1=a1、x2=a2、x3=a3とし、
Figure 0004823904
で表されるGF(2^8)上の行列演算を行い、b0、b1、b2、b3を求める。これを、y0=b0、y1=b1、y2=b2、y3=b3とする。同様に、x0=a4、x1=a5、x2=a6、x3=a7として、前記行列演算により、b0、b1、b2、b3を求めて、y4=b0、y5=b1、y6=b2、y7=b3とする。更に、x0=a8、x1=a9、x2=a10、x3=a11として、y8=b0、y9=b1、y10=b2、y11=b3を求め、x0=a12、x1=a13、x2=a14、x3=a15として、y12=b0、y13=b1、y14=b2、y15=b3を求める。こうして求めたy0、y1、・・・、y15を、上位から、y0、y13、y10、y7、y4、y1、y14、y11、y8、y5、y2、y15、y12、y9、y6、y3の順序で連結した128bitデータを第1線形逆変換部410hの出力とする。ここで、上記行列演算式において、x0=x1=x2=x3=rとしたとき、y0、y1、y2、y3は、以下のように計算される。但し、乗算、加算は全てGF(2^8)上の演算である。
y0=y1=y2=y3=0Eh×r+0Bh×r+0Dh×r+09h×r
=01h×r
=r
同様にしてy4〜y15も全てrと等しいことが示されるので、第1線形逆変換部410hの出力R1は、R1=R=r‖r‖・・・‖rとなることが示された。即ち、第1線形逆変換部410hは、実際には何も処理を行わなくてよい。
次に、テーブルランダム化部410iは、乱数R及びR1を元にテーブル保管部410lに保管するオリジナルAES暗号の変換テーブルTabに対してランダム化を行う。従来技術であれば、図6に示すとおり、各テーブル変換処理300a〜300pの前と後には、それぞれ異なる乱数による排他的論理和演算が施されていた。これによって、図7に示すようなそれぞれ異なったランダム化変換テーブル303a〜303pを作成する必要があった。しかし、本実施の形態においては、既に示したとおり、乱数R及びR1がいずれもR1=R=r‖r‖・・・‖rである。このことによって、図12に示すように、各テーブル変換処理412a〜412pの前と後に、全て同じ乱数rによる排他的論理和演算が施されることになる。従って、これら一連の処理(乱数による排他的論理和⇒テーブル変換⇒乱数による排他的論理和)は図13に示すとおり、全て同じランダム化変換テーブルmTabに変形することになる。即ち、図13は、図14のように1個のランダム化変換テーブル416によって実現できる。具体的には、以下のようにしてランダム化変換テーブルmTabを生成する。まず、テーブルランダム化部410iは、テーブル保管部410lに保管している、オリジナルAES暗号の変換テーブルTabの配列データTab[0]〜Tab[255]を読み出す。次に、上記配列データと乱数R及び乱数R1に含まれるコア乱数rを用いて以下のような配列データmTab[0]〜mTab[255]を生成する。
mTab[i]=Tab[i(+)r](+)r
テーブルランダム化部410iは、上記のようにして生成したランダム化変換テーブルmTabをランダムテーブル記憶部410jに転送し、記憶する。
更に、第2線形変換部410oは、乱数R1に対して線形変換L2を施して、R2を求め、排他的論理和部410pに転送する(図9のS6)。ここで、線形変換L2は、既に述べたとおり、バイト単位の置換であり、かつ、乱数R1は既に説明した通り、R1=R=r‖r‖・・・‖r(rは8bit)であることから、L2(R1)=R1=Rである。即ち、実際には、第2線形変換部410oは、何も処理を行わなくてよい。
以上が、暗号処理を行うための前処理であり、以下では、上記前処理結果を元にして、平文Pに対する暗号処理を行う手順を述べる。
暗号装置410に入力される平文Pに対して、排他的論理和部410bは、前記乱数Rとの排他的論理和演算を行い、その結果をレジスタ410gに転送し、一時記憶する(図9のS8)。
次に、排他的論理和部410fは、レジスタ410g内のデータを読み出して、ラウンド鍵記憶部410eに記憶するラウンド鍵K0との排他的論理和演算を行い、結果をレジスタ410gに書き込む(図9のS10)。このとき、書き込む前にレジスタに記憶しているデータは上書きされて消去される。
次に、テーブル変換部410kは、レジスタ410g内のデータを読み出して、ランダムテーブル記憶部410jに記憶するランダム化変換テーブルmTabに基づいてテーブル変換処理を行う(図9のS12〜S16)。具体的には、レジスタ410gから読み出したデータをXとすると、テーブル変換処理後のデータYは、
Y=mTab[X]
として求められる。変換処理後のデータは、レジスタ410gに上書きする。上書き前のレジスタ410g内のデータは消去される。
次に、第1線形変換部410mは、レジスタ410gのデータを読み出して、線形変換L1を施して、レジスタ410gに上書きする(図9のS18でYES、S20)。
上記処理の後、以上の排他的論理和部410f、テーブル変換部410k、第1線形変換部410mの一連の処理を、ラウンド鍵K1、K2、K3、・・・、K9を用いて繰り返し行う(図9のループA)。但し、ラウンド鍵K9を用いて上記一連の処理を行う時に限り、第1線形変換部410mによる処理の代わりに、第2線形変換部410nによる線形変換L2の処理を行う(図9のS18でNO、S22)。
更に、排他的論理和部410fは、レジスタ410g内のデータを読み出して、ラウンド鍵記憶部410eに記憶するラウンド鍵K10との排他的論理和演算を行い、結果をレジスタ410gに書き込む(図9のS24)。
そして、排他的論理和部410pは、レジスタ410gに記憶するデータを読み出して、乱数R2との排他的論理和演算を行い、その結果を暗号文Cとして暗号装置410から出力する(図9のS26)。
(AES復号処理手順の概要)
以上、説明した電力解析攻撃を阻止するAES暗号処理で作成された暗号文Cを復号する処理手順について説明する。
図15は、AES復号の処理手順を説明するブロック図である。図8に示した暗号処理手順との違いは、暗号文Cから平文Pを生成するために、データの流れが逆になっている点である。
また、テーブル変換Sの代わりにテーブル変換Sの逆変換Siを施し、線形変換L1の代わりに線形変換L1の逆変換L1iを施し、線形変換L2の代わりに線形変換L2の逆変換L2iを施す点が異なる。ただし、線形変換L2(48f)については、そのままである。
(復号装置510の構成)
図16は、暗号装置410で暗号化された暗号文Cを復号して平文Pを求めるための復号装置510の構成を示すブロック図である。ここでは、暗号装置410との差異部分のみ説明する。
逆テーブル保管部510lは、テーブル保管部410lに保管していた変換テーブルTabと逆変換の関係にある、逆変換テーブルITabを保管する。具体的には、ITabの配列要素ITab[0]〜ITab[255]は、以下のように定義される。
ITab[Tab[i]]=i (i=0、1、・・・、255)
逆テーブルランダム化部510iは、逆変換テーブルITabから、ランダム化逆変換テーブルImTabを求める方法は、テーブルランダム化部410iで述べた方法と同じであるから省略する。
復号装置510による復号処理では、最初に、排他的論理和部510pの処理を行う。これは、排他的論理和部410pと同一の処理である。次に、排他的論理和部410fと同様にして、排他的論理和部510fが、ラウンド鍵K10を用いた排他的論理和演算を行う。そして、第1線形逆変換部510m、逆テーブル変換部510k、排他的論理和部510fの順序からなる一連の処理を、ラウンド鍵K9、K8、・・・、K1、K0の順にラウンド鍵を用いて繰り返し行う。このとき、ラウンド鍵K9を用いた場合の一連の処理では、第1線形逆変換部510mの代わりに、第2線形逆変換部510nによる処理を行う。このとき、第1線形逆変換部510mは、既に述べた線形変換L1の逆変換処理L1iを行い、第2線形逆変換部510nは、線形変換L2の逆変換処理L2iを行う。上記処理の後、排他的論理和部510bが、排他的論理和演算を行い、その結果を平文Pとして出力する。
以上のように、本実施の形態では、8bit×256個の配列要素からなるランダム化変換テーブルを1個だけ作成して記憶しておけばよい。従来技術では、8bit×256個の配列要素からなるランダム化変換テーブルを、160個も作成する必要があったので、ランダム化変換テーブルを作成するための処理量は、従来技術と比べると160分の1に削減される。
なお、本実施の形態では、電力解析攻撃対策の対象とする暗号を、AES暗号としているが、AES暗号だけに限らず、ラウンド鍵とのデータ融合、テーブル変換、線形変換という一連の処理からなる繰り返し型の暗号方式であれば同様の方法により適用可能である。そのような暗号方式の例としては、Camellia暗号や、Hierocrypt暗号などがある。
また、本実施の形態において、二つのデータをデータ融合する方法として、排他的論理和演算を用いているが、これは、算術加算であってもよい。
また、本実施の形態において、第1線形逆変換部410m及び第2線形変換部410nは、実際には何も処理をおこなわなくてよいので、これらは省略してもよい。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明にかかる暗号装置は、電力解析攻撃を阻止しつつ、従来技術よりも、暗号処理の処理量を削減するという特徴を有するので、本発明は、高速処理あるいは低コストでの実現が求められる暗号装置等に適用できる。
図1は、AES暗号の処理手順を示すブロック図である。 図2は、AES暗号のテーブル変換処理10bの構成を示すブロック図である。 図3は、AES暗号の暗号装置110の構成を示すブロック図である。 図4は、従来技術に係るAES暗号の処理手順を示すブロック図である。 図5は、従来技術に係るAES暗号の処理手順を示すブロック図である。 図6は、従来技術に係るランダム化テーブル変換処理30cの構成を示すブロック図である。 図7は、従来技術に係るランダム化テーブル変換処理30cの構成の変形例を示すブロック図である。 図8は、本発明の実施の形態に係るAES暗号処理手順を示すブロック図である。 図9は、AES暗号の処理手順を示したフローチャートである。 図10は、本発明の実施の形態に係る暗号装置410の構成を示すブロック図である。 図11は、本発明の実施の形態に係る乱数生成部410aの構成を示すブロック図である。 図12は、本発明の実施の形態に係るランダム化テーブル変換処理の構成を示すブロック図である。 図13は、本発明の実施の形態に係るランダム化テーブル変換処理の第1の変形例を示すブロック図である。 図14は、本発明の実施の形態に係るランダム化テーブル変換処理の第2の変形例を示すブロック図である。 図15は、AES復号の処理手順を説明するブロック図である。 図16は、本発明の実施の形態に係る復号装置510の構成を示すブロック図である。
符号の説明
410 暗号装置
410a 乱数生成部
410b 排他的論理和部
410c 暗号鍵保管部
410d ラウンド鍵生成部
410e ラウンド鍵記憶部
410f 排他的論理和部
410g レジスタ
410h 第1線形逆変換部
410i テーブルランダム化部
410j ランダムテーブル記憶部
410k テーブル変換部
401l テーブル保管部
401m 第1線形変換部
401n 第2線形変換部
401o 第2線形変換部
410p 排他的論理和部
510 復号装置
510a 乱数生成部
510b 排他的論理和部
510c 暗号鍵保管部
510d ラウンド鍵生成部
510e ラウンド鍵記憶部
510f 排他的論理和部
510g レジスタ
510h 第1線形逆変換部
510i 逆テーブルランダム化部
510j 逆ランダムテーブル記憶部
510k 逆テーブル変換部
501l 逆テーブル保管部
501m 第1線形逆変換部
501n 第2線形逆変換部
501o 第2線形変換部
510p 排他的論理和部

Claims (8)

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

Priority Applications (1)

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

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
JPWO2006112114A1 JPWO2006112114A1 (ja) 2008-12-04
JP4823904B2 true JP4823904B2 (ja) 2011-11-24

Family

ID=37114856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006521745A Expired - Fee Related JP4823904B2 (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)

Families Citing this family (38)

* 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
US8194854B2 (en) 2008-02-27 2012-06-05 Intel Corporation Method and apparatus for optimizing advanced encryption standard (AES) encryption and decryption in parallel modes of operation
KR20100094862A (ko) * 2009-02-19 2010-08-27 삼성전자주식회사 스토리지 장치 및 그것의 데이터 관리 방법
JP5688528B2 (ja) * 2009-03-10 2015-03-25 イルデト・ベー・フェー 入力に依存する符号化を用いたホワイトボックス暗号システム
WO2011000177A1 (zh) * 2009-07-01 2011-01-06 慧帝科技(深圳)有限公司 数据储存装置以及数据存取方法
WO2011101994A1 (ja) 2010-02-22 2011-08-25 株式会社東芝 暗号化装置
JP5060570B2 (ja) * 2010-02-23 2012-10-31 株式会社東芝 暗号化装置および復号装置
JP5198526B2 (ja) * 2010-09-21 2013-05-15 株式会社東芝 暗号化装置および復号装置
US8966285B2 (en) * 2011-01-10 2015-02-24 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys
JP5779434B2 (ja) * 2011-07-15 2015-09-16 株式会社ソシオネクスト セキュリティ装置及びセキュリティシステム
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 株式会社東芝 暗号化鍵生成装置
EP2987267B1 (en) * 2013-04-18 2019-03-20 Risoftdev, Inc. System and methods for encrypting data
CN104573544B (zh) * 2013-10-28 2017-09-12 上海复旦微电子集团股份有限公司 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路
US20150130688A1 (en) * 2013-11-12 2015-05-14 Google Inc. Utilizing External Devices to Offload Text Entry on a Head Mountable Device
US9977852B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit interconnect
US10073939B2 (en) 2015-11-04 2018-09-11 Chronos Tech Llc System and method for application specific integrated circuit design
US9977853B2 (en) 2015-11-04 2018-05-22 Chronos Tech Llc Application specific integrated circuit link
US11550982B2 (en) 2015-11-04 2023-01-10 Chronos Tech Llc Application specific integrated circuit interconnect
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 国家电网公司 一种电力通信移动运维现场数据加密验证传输的方法
CN107547195A (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 深圳南方德尔汽车电子有限公司 数据加密方法、装置、计算机设备及存储介质
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
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 成都卫士通信息产业股份有限公司 用户私钥生成方法、系统、可读存储介质及电子设备
KR102072335B1 (ko) * 2019-08-14 2020-01-31 동서대학교 산학협력단 스크램블러를 이용한 aes 암호 알고리즘에 대한 전력분석공격 방어기술 적용방법
CN113537913A (zh) * 2020-04-16 2021-10-22 上海利云网络科技有限公司 一种高安全性的企业信息管理系统及方法
CN112769552B (zh) * 2020-12-30 2022-08-23 北京宏思电子技术有限责任公司 一种在嵌入式系统中加快线性对运算的实现方法及装置
CN112769557B (zh) * 2020-12-30 2022-10-18 北京宏思电子技术有限责任公司 嵌入式系统中加快sm9双线性对运算的实现方法及装置
JP2024053189A (ja) 2022-10-03 2024-04-15 キヤノン株式会社 暗号処理装置、暗号処理装置の暗号処理方法およびプログラム

Citations (5)

* 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に対して安全な暗号化
JP2003015522A (ja) * 2001-06-28 2003-01-17 Fujitsu Ltd 暗号回路
JP2005086670A (ja) * 2003-09-10 2005-03-31 Toshiba Corp 暗号化/復号モジュール
JP2005134478A (ja) * 2003-10-28 2005-05-26 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263081B1 (en) * 1997-07-17 2001-07-17 Matsushita Electric Industrial Co., Ltd. Elliptic curve calculation apparatus capable of calculating multiples at high speed
DE69930334T2 (de) * 1998-01-28 2006-11-09 Hitachi, Ltd. IC-Karte ausgerüstet mit einer Verarbeitungsanlage für Elliptische-Kurven-Verschlüsselung
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
EP1252738A2 (en) * 2000-01-31 2002-10-30 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
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
WO2003101020A1 (en) * 2002-05-23 2003-12-04 Atmel Corporation Advanced encryption standard (aes) hardware cryptographic engine
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
JP3803664B2 (ja) * 2003-09-30 2006-08-02 株式会社東芝 乱数生成回路、半導体集積回路、icカード及び情報端末機器
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
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of 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 블록암호시스템
DE602004013206T2 (de) * 2004-12-01 2009-05-14 Telecom Italia S.P.A. Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
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 (5)

* 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に対して安全な暗号化
JP2003015522A (ja) * 2001-06-28 2003-01-17 Fujitsu Ltd 暗号回路
JP2005086670A (ja) * 2003-09-10 2005-03-31 Toshiba Corp 暗号化/復号モジュール
JP2005134478A (ja) * 2003-10-28 2005-05-26 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4823904B2 (ja) データ暗号化装置及びデータ暗号化方法
JP4961909B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP4905000B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
US10009170B2 (en) Apparatus and method for providing Feistel-based variable length block cipher
JPWO2008146482A1 (ja) 暗号化装置、復号化装置、暗号化方法及び集積回路
WO2009087972A1 (ja) データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム
EP2058780A1 (en) Encryption device, encryption method, and computer program
Rathod et al. Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm)
WO2010055658A1 (ja) コンテンツ復号処理装置、コンテンツ復号処理方法及び集積回路
EP2058782A1 (en) Encryption device, encryption method, and computer program
JP2016523391A (ja) 平文データを暗号化するための方法および装置
JP4840782B2 (ja) プログラム変換装置、セキュア処理装置、コンピュータプログラム及び記録媒体
JP2008233941A (ja) 暗号処理装置および暗号処理方法
JP2012212138A (ja) 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システムおよびコンテンツの生成方法
CN110061968A (zh) 一种基于区块链的文件加解密方法、系统及存储介质
WO2007083528A1 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP6135804B1 (ja) 情報処理装置、情報処理方法及びプログラム
TW200830232A (en) Encryption processing apparatus, encryption processing method, and computer program
US20130117575A1 (en) Encryption apparatus, encryption method, decryption apparatus, decryption method and system
JP2004212828A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
WO2012131856A1 (ja) 情報処理装置、改ざん検出装置、情報処理方法、改ざん検出方法、情報処理プログラムおよび改ざん検出プログラム
WO2019043921A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
JP6187624B1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2007334016A (ja) データ暗号化装置及びデータ暗号化方法
KR20080072345A (ko) 암호화 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110713

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: 20110817

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: 20110907

R150 Certificate of patent or registration of utility model

Ref document number: 4823904

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees