JP4687775B2 - 暗号処理装置 - Google Patents
暗号処理装置 Download PDFInfo
- Publication number
- JP4687775B2 JP4687775B2 JP2008296411A JP2008296411A JP4687775B2 JP 4687775 B2 JP4687775 B2 JP 4687775B2 JP 2008296411 A JP2008296411 A JP 2008296411A JP 2008296411 A JP2008296411 A JP 2008296411A JP 4687775 B2 JP4687775 B2 JP 4687775B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- register
- decoded
- output
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Logic Circuits (AREA)
Description
DESでは、データの暗号化にはICカードの所有者とホストコンピュータが同じ鍵を所有し、データの送信側はデータをその鍵で暗号化して送信し、データの受信者は同じ鍵で復号化してメッセージを取り出す。
通信の過程で悪意の第三者が盗聴しても、鍵を有していない限りは復号化してメッセージを取り出すことは困難である。
そして、暗号化・復号化時にはCPUを介さないで直接ICカード内の暗号エンジンに転送されるような制御により、ICカードの所有者やICカードの開発エンジニアすら鍵データを取り出すことが不可能な構成を採ってセキュリティを保持している。
この技術では、1ビットのデータをハミング重み(Hamming Weight)の等しい2ビットの数値に展開する。演算によるデータの遷移は、エバリュエーション相(Evaluation Phase)とプリチャージ相(Pre Charge Phase)の2相を設けてある。
そして、一旦、“0”でも“1”でもない状態に遷移してから演算後のデータに遷移する制御を行うことによって、演算値の遷移に伴う変化電流を検出できないようにしている。
すなわち、遷移を以下のように表わせば、演算に基づく各ビットの遷移は演算結果によらず全ての遷移で1ビットのみ変化するため、変化電流からの鍵の取り出しは困難となる。
“0”→“1”の遷移:“01”→“00”→“10”
“1”→“0”の遷移:“10”→“00”→“01”
“1”→“1”の遷移:“10”→“00”→“10”
これにより、信号配線および演算部でのリーク電流は少なくなり、DPA耐性が向上する。
なお、説明は以下の順序で行う。
1.第1の実施形態(DES演算回路の第1の構成例)
2.第2の実施形態(DES演算回路の第2の構成例)
3.第3の実施形態(AES演算回路の構成例)
4.第4の実施形態(DES演算回路の第3の構成例)
デコード値のハミング(Hamming)重みは一定である。
第1の観点として、第1から第3の実施形態の暗号処理装置においては、信号配線を伝搬するデータはデコードした値とし、レジスタおよび関数演算回路の入力端でエンコード(Encode)され、バイナリ(Binary)で演算後、出力端でデコードされる構成が採用される。また、Sboxの出力は、異なるサブSboxの出力ビットとデコードされる。
第2の観点として、第4の実施形態においては、入力データ(平文、暗号文)をデコードして、暗号演算は全てデコード値で行い、演算終了後にエンコードして出力データ(暗号文、平文)とする。
第1から第3の実施形態、並びに第4の実施形態とも、1ラウンド(Round)の演算サイクルはプリチャージ相(Pre-Charge Phase:休止相)とエバリュエーション相(Evaluation Phase:稼動相)により構成される。
図1は、本発明の第1の実施形態に係る暗号処理装置としてのDES演算回路の構成例を示す図である。
DES演算回路100は、第1レジスタとしてLレジスタ(L Reg)106、第2レジスタとしてのRレジスタ(R Reg)107、第1デコードおよびプリチャージ制御部(Dec&PC)108、および第2デコードおよびプリチャージ制御部109を有する。
DES演算回路100は、第3エンコード部110、F関数部111、第2デコード部112、EXOR演算部113、第4エンコード部114、逆置換部(IP-1)115、および暗号文出力部116を有する。
デコード部102は、デコードデータをスイッチ103L,103Rを介して第1エンコード部104および第2エンコード部105に出力する。
本実施形態のデコード処理については、後で詳述する。
スイッチ103Rの作動接点aは第1デコード部102の出力に接続され、作動接点bはEXOR演算部113の出力、第4エンコード部114に接続され、固定接点cが第2エンコード部105の入力に接続されている。
Sbox1113は、たとえば変換テーブルを適用した48ビットから32ビットへの非線形処理を実行する。
たとえばEXOR演算部113は、第2演算部を形成する。
逆置換部115では、第4エンコード部114によりエンコードしてバイナリデータに変換されたデータの逆置換変換(IP-1)を実行し、暗号文出力部116を介して暗号文として出力する。
以下に、本実施形態のデコード機能およびエンコード機能をついて詳細に説明する。
ここでは、たとえば2ビットデータをデコードする場合を例に説明する。
図3(A)および図3(B)のデコード方法では、デコーダによる4つのデコードデータDCDTは、必ず異なる位置に“1”が立ち、残りは“0”となっている。
あるいは、図3(C)のデコード方法では、デコーダによる4つのデコードデータDCDTは、必ず異なる位置に“0”が立ち、残りは“1”となっている。
バイナリデータBNDTの2ビット(b1,b0)が(0,0)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,0,0,1)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(0,1)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,0,1,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(1,0)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,1,0,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(1,1)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(1,0,0,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(0,0)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,0,0,1)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(0,1)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,1,0,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(1,0)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,0,1,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(1,1)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(1,0,0,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(0,0)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(1,1,1,0)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(0,1)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(1,1,0,1)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(1,0)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(1,0,1,1)としてデコードされる。
バイナリデータBNDTの2ビット(b1,b0)が(1,1)である場合、デコードデータDCDTの4ビット(d3,d2,d1,d0)は(0,1,1,1)としてデコードされる。
図5は、図4におけるデコード部の真理値表を示す図である。
また、プリチャージ制御信号PCを除けば、基本的に、第1デコード部102と第1エンコード部104、第1デコード部102と第2エンコード部105に適用することも可能である。
さらに、デコード部200は、バイナリデータBNDTのビットb0の入力端子Tb0、ビットb1の入力端子Tb1、およびプリチャージ制御信号PCの入力端子TPCを有する。
デコードラインLD202は入力端子Tb1に接続され、デコードラインLD203はインバータIV201の出力端子に接続され、インバータIV201の入力端子が入力端子Tb1に接続されている。
制御ラインLCTLは入力端子TPCに接続されている。
NORゲートNR200の第1入力端子がデコードラインLD200に接続され、第2入力端子が制御ラインLCTLに接続され、第3入力端子がデコードラインLD202に接続されている。NORゲートNR200の出力端子がデコード出力ラインLDO200に接続されている。
NORゲートNR201の第1入力端子がデコードラインLD201に接続され、第2入力端子が制御ラインLCTLに接続され、第3入力端子がデコードラインLD202に接続されている。NORゲートNR201の出力端子がデコード出力ラインLDO201に接続されている。
NORゲートNR202の第1入力端子がデコードラインLD200に接続され、第2入力端子が制御ラインLCTLに接続され、第3入力端子がデコードラインLD203に接続されている。NORゲートNR202の出力端子がデコード出力ラインLDO202に接続されている。
NORゲートNR203の第1入力端子がデコードラインLD201に接続され、第2入力端子が制御ラインLCTLに接続され、第3入力端子がデコードラインLD203に接続されている。NORゲートNR203の出力端子がデコード出力ラインLDO203に接続されている。
ORゲートO301の第1入力端子がデコード出力ラインLDO202に接続され、第2入力端子がデコード出力ラインLDO203に接続されている。
NORゲートNR300の第1入力端子がデコード出力ラインLDO200に接続され、第2入力端子がデコード出力ラインLDO201接続されている。NORゲートNR300の第3入力端子がデコード出力ラインLDO202に接続され、第4入力端子がデコード出力ラインLDO203に接続されている。
ビットデータのエンコードにはデコードデータd0は用いられず、ビットb0’の生成にはデコードデータd1とd3の論理和の結果を適用し、ビットb1’の生成にはデコードデータd2とd3の論理和の結果を適用する。
図6は、図4の回路のタイミングチャートである。
プリチャージ制御信号PCがアクティブのハイレベル(H)のとき、図5および図6に示すように、デコードされたデータd0〜d3は全てローレベル(0)となり、これがプリチャージ状態を示す。
プリチャージ制御信号PCがローレベル(L)に変化してエバリュエーション相(Evaluation Phase)に移行した時、2ビットデータに応じて選択される1本のデコード出力ラインだけがハイレベルに変化する。
そして、プリチャージ制御信号PCがハイレベルに変化してプリチャージ相に遷移する時、2ビットに応じて選択されていた1本のデコード出力ラインのデータ(信号)だけがローレベルに変化する。
これより、エバリュエーション相に遷移する時は1本のデコード出力ラインだけがハイレベルに変化し、プリチャージ相に遷移する時はその1本のデコード出力ラインだけがローレベルに変化して全てのデコード出力ラインがローレベルにプリチャージされる。
なお、“’”は、論理は同じでも信号遅延によって“b1”、“b0”とはタイミングが若干異なることを示している。
そして、“PC’”は、遅延信号でのプリチャージ制御信号を示し、デコード値(b1’,b0’)=(0,0)の時、これがデータなのかプリチャージによる値なのかを区別するための信号で、関数内での相(Phase)の制御に使われる。
ここでは、例として第1エンコード部104、Lレジスタ106、第1デコードおよびプリチャージ制御部108の構成として説明する。
第1エンコード部104には、第1デコード部102で2ビットずつデコードされた計64ビットのデータd0’〜d63’が供給される。
そして、第1エンコード部104でエンコードされた32ビットのバイナリデータとしてLレジスタ106に格納される。
図7の構成では、図4のデコード部200のインバータIV200,IV201に相当する構成がレジスタ側に含まれている。
デコード部200は、3入力NORゲートNR200〜NR263、デコードラインLD200〜LD263、制御ラインLCTL、および信号配線としてのデコード出力ラインLDO200〜LDO263を有する。
Lレジスタ106の格納値は第1デコードおよびプリチャージ制御部108でデコードされ、プリチャージ制御信号PCとの論理演算を経てデコード値またはプリチャージ値として後段のEXOR演算部113に供給される。
図9は、2ビットデコードデータのEXOR演算の真理値表を示す図である。
図10は、図9に基づいて形成したEXOR演算部を示す回路図である。
図11は、図10の回路のタイミングチャートである。
なお、ここでは、EXOR演算部113を符号400を用いて説明する。
EXOR演算部400は、入力端子TIb0〜TIb3,TIc0〜TIc3、および出力端子TOd0〜TOd3を有する。
デコード出力ラインLD410は入力端子TIc0に接続され、デコード出力ラインLD411は入力端子TIc1に接続され、デコード出力ラインLD412は入力端子TIc2に接続され、デコード出力ラインLD413は入力端子TIc3に接続されている。
AND−NORゲートANR401の第1入力端子がデコード出力ラインLD402に接続され、第2入力端子がデコード出力ラインLD412に接続されている。AND−NORゲートANR401の第3入力端子がデコード出力ラインLD403に接続され、第4入力端子がデコード出力ラインLD413に接続されている。
AND−NORゲートANR402の第1入力端子がデコード出力ラインLD411に接続され、第2入力端子がデコード出力ラインLD400に接続されている。AND−NORゲートANR402の第3入力端子がデコード出力ラインLD410に接続され、第4入力端子がデコード出力ラインLD401に接続されている。
AND−NORゲートANR403の第1入力端子がデコード出力ラインLD413に接続され、第2入力端子がデコード出力ラインLD402に接続されている。AND−NORゲートANR403の第3入力端子がデコード出力ラインLD412に接続され、第4入力端子がデコード出力ラインLD403に接続されている。
AND−NORゲートANR405の第1入力端子がデコード出力ラインLD410に接続され、第2入力端子がデコード出力ラインLD402に接続されている。AND−NORゲートANR405の第3入力端子がデコード出力ラインLD411に接続され、第4入力端子がデコード出力ラインLD403に接続されている。
AND−NORゲートANR406の第1入力端子がデコード出力ラインLD413に接続され、第2入力端子がデコード出力ラインLD400に接続されている。AND−NORゲートANR406の第3入力端子がデコード出力ラインLD412に接続され、第4入力端子がデコード出力ラインLD401に接続されている。
AND−NORゲートANR407の第1入力端子がデコード出力ラインLD411に接続され、第2入力端子がデコード出力ラインLD402に接続されている。AND−NORゲートANR407の第3入力端子がデコード出力ラインLD410に接続され、第4入力端子がデコード出力ラインLD403に接続されている。
NANDゲートNA401の第1入力端子がNORゲートNR402の出力端子に接続され、第2入力端子がNORゲートNR403の出力端子に接続されている。
NANDゲートNA402の第1入力端子がNORゲートNR404の出力端子に接続され、第2入力端子がNORゲートNR405の出力端子に接続されている。
NANDゲートNA403の第1入力端子がNORゲートNR406の出力端子に接続され、第2入力端子がNORゲートNR407の出力端子に接続されている。
すなわち、EXOR演算回路の出力は“0”の状態から、一旦早く変化したデータに遷移した後、本来のEXOR演算結果に遷移し、この意図しないデータへの遷移がリーク(Leak)としてDPA攻撃の対象になる可能性がある。
しかし、デコードデータ同士で直接EXOR演算を行う図10のEXOR演算部400では、入力をAND−NORゲートANR400〜ANR407で受けている。
このため、図11に示すように、2つのデコードデータのうち、遅い方のデータがプリチャージデータの全てが“0”の間は、早く変化したデータの値にかかわらずプリチャージ状態の全て“0”を出力し続ける。
そして、遅い方のデータが変化した段階で全て“0”からEXOR結果に遷移し、DPA攻撃の対象となる“意図しないデータ”を発生させない。
F関数部111において、図2に関連付けて説明したように、32ビットのバイナリデータは拡張関数で48ビットに拡張され、48ビットのラウンド鍵(Round Key)とEXOR演算後、通常はSboxに入力される。
図13は、Sboxのデコード出力の例を示す図である。
図14は、Sboxのデコード出力のより具体的な例を示す図である。
図15は、全てのSboxの出力ビットのデコードされる相手を示す図である。
図12の構成はBDD(Binary Decision Diagram)と呼ばれる構成で、スイッチ回路11130がピラミッド状に配置されている。
各スイッチ回路11130の入力が仕様で定義されているテーブルに基づいて結線され、これを4個並べることによりサブSboxS0が構成される。
Sbox1113の出力はバイナリデータであり、図14に示されるように、Sbox1113のバイナリ出力はP置換部1114のP置換に基づいて並べ替えられた後、隣接するビットとデコードされ、F関数部111の出力となる。
このように、サブSboxS0の各ビットのデコードされる相手は、いずれも異なるサブSboxのビットになっている。
そして、このデコードされたF関数の出力は、デコードされたLレジスタ106のデータとデコード値のままEXOR演算されて、Rレジスタ107に供給され、ラッチパルスの立ち上がりで取り込まれてRレジスタ107の値は更新される。
そして、プリチャージ相からエバリュエーション相に移行した時、各デコード単位で1本の信号線がハイレベルに遷移し、この信号変化がDPA攻撃の対象の1つになる。
次に、たとえばサブSboxS0の6ビット鍵を推定して各々の平文でシミュレーションを行い、着目ノードの値または値の変化に基づいて実際の消費電流波形をグループ分けする。
最後にグループ間の平均の差分を採ってピークの有無を確認して推定鍵の妥当性を判断する。
しかし、Sboxの出力はデコードされていて、データに関わらず変化するのはデコード単位で必ず1本であるため、グループ間で差は生じない。
厳密に言えば、デコードされた信号の配線容量を全く同じにすることは困難で、この容量差によりデコード値による充放電電流に微小な差異が生じ、これが攻撃の対象となりうる。
しかし、通常のDPA攻撃のように、着目するビットが充放電電流を流す/流さないでグループ分けしてその平均値の差分を採る場合に比べてリーク電流は格段に小さく、DPA攻撃の難易度は非常に高くなっている。
DPA攻撃には、サブSboxの1ビットに着目して攻撃を行う1ビットアタックと、4ビット全てに着目して攻撃を行う4ビットアタックがある。
4ビットアタックの方が相関が強く、推定した鍵が正しい場合のピーク電流は大きくなる。
サブSboxの鍵は6ビットであるため、通常のDPA攻撃では26=64個の鍵を推定すればその中に1個だけピーク波形が現れる。
これに対して、本実施形態の場合、12ビットの鍵を推定する必要があり、212=4,096通りの組合せの中からピークの現れる12ビット鍵を推定する必要がある。
しかも、リーク源はデコード配線の負荷容量の差異に基づく電流であり、元々のリーク電流が極めて小さく、DPA 攻撃は極めて困難となる。
図15は、全てのサブSboxの出力ビットのデコードされる相手を示すが、いずれの場合も4〜5個のサブSboxの鍵を推定してアタックする必要があり、どのSboxへの攻撃も非常に困難な攻撃となる。
以上より、信号配線を伝搬される信号の充放電に伴うリーク電流を、DPA攻撃が不可能な充放電電流とすることにより、DPA攻撃が困難な構成が実現できる。
暗号演算を行う場合、平文はIP部101でIP置換後、第1デコード部102において2ビット単位でデコードされ、スイッチ103L,103Rを介してLレジスタ106、Rレジスタ107に供給される。
本実施形態においては、Lレジスタ106、Rレジスタ107への入力データは、第1および第2エンコード部104,105でエンコードされて、バイナリデータとしてLレジスタ106、Rレジスタ107に格納される。
そして、レジスタの格納値は第1および第2のデコードおよびプリチャージ制御部108,109でデコードされ、プリチャージ制御信号PCとの論理演算を経てデコード値またはプリチャージ値として演算回路に供給され、Lレジスタ106側のデータはEXOR演算部113に供給される。
Rレジスタ107側のデータはデコードデータのままLレジスタ106側の入力およびF関数部111の入力に供給され、F関数部111の入力段手前において第3エンコード部110でバイナリデータにエンコードされてF関数部111に入力され、バイナリでF関数の演算が行われる。
そして、F関数部111の出力は第2デコード部112でデコードされてEXOR演算部113に入力される。
EXOR演算部113の他方の入力にはLレジスタ106のデータがデコードされて供給され、デコードデータのままEXOR演算が行われ、演算結果はRレジスタ107の入力側に供給される。
これをエンコードしてからEXOR 演算して再びデコードしてもよいし、デコードデータのまま直接EXOR演算を行っても良い。
デコードデータのまま直接EXOR演算を行うと、信号の遅延差によるDPA攻撃の対象となるリークは発生しない。
本実施形態では、前述したように、デコード値のまま直接EXOR演算を行う方法を採る。F関数部111の出力とLレジスタ106の格納値とのEXOR結果は、ラウンド16の場合はRレジスタ107の出力と共に第4エンコード部114でエンコードされた後、逆IP置換されて暗号文として出力される。
F関数部111の出力とLレジスタ106の格納値とのEXOR結果は、ラウンド16以前であればRレジスタ107の入力側に供給される。
次に、本発明の第2の実施形態について説明する。
図16は、本発明の第2の実施形態に係る暗号処理装置としてのDES演算回路の構成例を示す図である。
すなわち、DES演算回路100Aでは、第1デコード部102のデコードデータはエンコードされることなくそのままの64ビットでLレジスタ106A、Rレジスタ107Aに格納される。
Lレジスタ106A、Rレジスタ107Aの格納値の反転出力は、第1プリチャージ制御部117および第2プリチャージ制御部119で、プリチャージ制御信号PCとの論理演算を経てデコード値のまま、またはプリチャージ値として演算部に供給される。
また、Lレジスタ106A(Rレジスタ107A)の出力側には、デコードライン等のデコード機能部は配置されず、制御ラインLCTLとNORゲートNR200A〜NR263Aが配置されている。
第1および第2の実施形態においては、本発明をDESに適用した場合について述べてきた。
本第3の実施形態においては、この概念をAES(Advanced Encryption Standard)に適用した場合について説明する。
図19は、本第3の実施形態に係るAES演算回路の構成例を示す図である。
ここでは、AES−128の場合について説明する。
シフトロウ変換部152は、Shift_Row() 関数を実行し、サブバイト変換部151によるバイトデータをシフトする。
ミックスカラム変換部153は、Mix_Column() 関数を実行し、GF(28)での行列演算を実行する機能を有する。
そして、レジスタ156の出力が変化することによって Sub_Bytes() 関数および Shift_Row() 関数が実行され、ラウンド9までは Mix_Column() 関数が続けて実行されて、その演算結果がラウンド鍵とEXORされる。
ラウンド10ではMix_Column() 関数がスキップされてShift_Rows() 関数後の演算結果がラウンド鍵とEXORされてレジスタ156に取り込まれる。
以上がAES演算回路150の基本的な処理である。
ミックスカラム変換部153の入力側にエンコード部162が配置され、出力側にデコード部172が配置されている。
ラウンド鍵の入力部にデコード部173が配置されている。
平文の供給部にデコード部174が配置されている。
そして、レジスタ156Aの暗号文出力部にエンコード部163が配置されている。
演算結果はエンコード部163でエンコードされて出力される。
演算フローの中では、Sub_Bytes() 関数と Mix_Column() 関数の入力でエンコードされてバイナリで演算が行われ、演算結果はデコード部171,172でデコードされて出力される。
ラウンド鍵もデコード部173でデコードされて演算フローに供給され、デコード値同士でEXOR演算が行われる。
レジスタ156Aは、この例の場合、デコード値がそのまま格納され、2ビットでデコードする場合、2倍の256ビットのレジスタが配置される。
次に、本発明の第4の実施形態について説明する。
図20は、本発明の第4の実施形態に係る暗号処理装置としてのDES演算回路の構成例を示す図である。
演算部ではその入力箇所でエンコードされてバイナリで演算が行われ、ここでのリーク電流が攻撃の対象となる可能性が残る。
そのあと、本来はSboxで非線形変換してからP置換を行って出力とするが、第4の実施形態ではP置換部1114BでP置換してからSbox1113Bで非線形変換してF関数の出力とする。
図22は、通常のバイナリ演算での拡張関数の一例を示す図である。
図23は、本第4の実施形態における拡張関数について説明するための図である。
図24は、本第4の実施形態におけるBDDのSboxのサブSboxの構成例を示す図である。
図25は、本第4の実施形態におけるBDDのサブSboxのデコード出力例を示す図である。
NORゲートNR500の出力端子はデコードラインLD500およびインバータIV500を介してデコードラインLD501に接続されている。
NORゲートNR501の出力端子はデコードラインLD502およびインバータIV501を介してデコードラインLD503に接続されている。
NORゲートNR503の第1入力端子がデコードラインLD503に接続され、第2入力端子がデコードラインLD500に接続されている。
NORゲートNR504の第1入力端子がデコードラインLD502に接続され、第2入力端子がデコードラインLD501に接続されている。
NORゲートNR505の第1入力端子がデコードラインLD503に接続され、第2入力端子が制御信号PC’の供給ラインに接続され、第3入力端子がデコードラインLD501に接続されている。
NORゲートNR502〜NR505の出力はビットb3,b8のデコードデータdx3,dx2,dx1,dx0となる。
このため、図23に示すように、4ビット分は2個のデコード値を用い、隣接するビットに関しては、隣接するデコード値から必要なビットのみを取り出し、それをデコードすることによって発生させる。
拡張関数の出力は、2ビット単位でデコードされたラウンド鍵とEXOR演算される。EXOR演算部1112Bは図10と同じものが用いられる。
このEXOR演算部1112Bの場合、2つの入力の遅延差があっても、信号変化の遅い方に合わせて出力が変化し、先に変化したデータに基づく中間値を発生させない。
拡張関数の出力のうち、論理演算で生成したデコード値は他の2つのデコード値に比べて遅延があり、この遅延は鍵とのEXOR演算後もそのまま保持されるが、この遅延のある信号をSboxの最終段のスイッチ制御信号とすることにより遅延を緩和する。
2ビットデコード信号のままでSbox動作を行うために、図24に示すように、4個の入力信号から1つの出力を選択するスイッチ回路11130Bが用いられる。
構成は、図12の構成に対して、3個のスイッチ回路11130を1個の4入力1出力のスイッチ回路11130Bに置き換える。
このスイッチ回路11130Bは、4入力の中から2ビットのデコード信号によって選択される1つのデータを選択して次のスイッチ回路11130Bに伝播する制御を行う。
Sbox1113Bの出力はバイナリデータであり、通常はこの出力がP置換によって並べ替えられてF関数の出力となる。
本第4の実施形態の場合、このF関数の出力を2ビット単位でデコードしてLレジスタ106AとのEXOR演算部113に入力するが、デコード部までの信号配線のデータはバイナリデータであり、DPA攻撃の対象となるおそれがある。
これを解決する手段として、図25に示すように、Sbox1113Bの各ビットを生成する回路をP置換後の並べ替えに基づいて配置し、デコードするビットの生成回路同士を隣接して配置する。
この配置の構成を採ると、Sboxの入力信号が長くなる問題が発生するが、Sboxの入力信号はデコードデータであり、デコード単位の4本の信号は同じように長くなる。
このため、充放電電流もデータに関係なく同じように増加し、DPA耐性の低下は無視できるレベルである。
同様に、AESに対しても演算回路部分をデコード値で動作する構成に変更することが可能である。
ICの動作電流は、{ICの動作電流=負荷配線の充放電による消費電流+貫通電流による消費電流+リークによる消費電流}で表わされる。
ICの動作電流の仕様は、動作電流の実測データを元に設定される。
この中の充放電電流の成分に関して、たとえば32本の信号線に着目した場合、信号変化は0〜32本の間の値を採り、その平均の16本と、その最大値の32本の充放電電流の実測から仕様は決められる。
しかし、たとえば2ビット単位でデコードした信号を用いる場合、信号の本数は64本に増加するが、変化するのは必ず4本に1本であり、変化する電流はバイナリデータに関係なく常に16本であり、負荷配線の最大充放電電流は通常構成の半分になる。
そして、磁気をコイルで受けて電力を発生させて動作するカード等では、使用できる電流に制限があり、最大動作電流で電流の仕様が決まるため、動作電流の仕様を低く設定できる。
上述の処理は、たとえばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図26に示すICモジュール600は、これら様々な機器に構成することが可能である。
メモリ602は、CPU601が実行するプログラム、あるいは演算パラメータとしての固定データを格納するROM(Read-Only-Memory)を含む。
また、メモリ602は、CPU601の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用されるRAM(Random Access Memory)等からなる。
また、メモリ602は暗号処理に必要な鍵データ等の格納領域として使用可能である。データ等の格納領域は、耐タンパ構造を持つメモリとして構成されることが好ましい。
すなわち、暗号処理部603には、図1のDES演算回路100や図16のDES演算回路100A、図19のAES演算回路150A、図20のDES演算回路100Bが適用される。
Claims (13)
- 演算用データを格納する第1および第2のレジスタと、
上記第2のレジスタに格納されるデータに応じた演算を行う第1演算部と、
上記第1のレジスタの格納値と、上記第1演算部の演算結果との論理演算を行う第2演算部と、
バイナリデータを所定ビットずつデコードして当該バイナリデータのビット数より多いビット数のデコードデータに変換するデコード部と、を有し、
上記第2演算部の演算結果が上記第2のレジスタに格納され、
上記デコード部は、
少なくとも、上記第2のレジスタの出力部から第1演算部の入力への信号配線、上記第2のレジスタの出力部から第1のレジスタの入力部への信号配線、上記第1のレジスタの出力部から第2演算部の入力部への信号配線、および上記第1演算部の出力部から上記第2演算部の入力部への信号配線を伝搬するデータが、バイナリデータを所定ビットずつデコードして当該バイナリデータのビット数より多いビット数のデコードデータに変換された状態で供給されるように形成され、
回路動作時に上記信号配線の変化が上記デコード部のデコード単位で同じ信号配線数であり、
1ラウンドはプリチャージ相とエバリュエーション相により形成され、
上記デコード部は、
プリチャージ制御信号がアクティブのプリチャージ相においては、デコードデータを全て所定のレベルにプリチャージし、
上記エバリュエーション相において上記デコード処理を行い、
上記第1演算部および上記第2演算部のうち、少なくとも上記第2演算部は、上記論理演算において、出力信号の中間値への遷移を発生させない
暗号処理装置。 - 上記デコードデータは、
上記各バイナリデータに対して異なる位置に論理1または0が立ち、残りの位置は論理0または1であるように変換される
請求項1記載の暗号処理装置。 - 入力平文のバイナリデータをデコードして上記デコードデータに変換し、選択的に上記第1および第2のレジスタの入力部に供給可能な入力平文用デコード部を有し、
上記入力平文用デコード部は、
デコードデータの出力部から上記第1および第2のレジスタの入力部への信号配線を伝搬するデータが、バイナリデータを所定ビットずつデコードして当該バイナリデータのビット数より多いビット数のデコードデータに変換された状態で供給されるように形成され、
上記第1演算部は、
上記第2のレジスタに格納されるデータに応じた演算を行い、
上記第2演算部は、
上記第1のレジスタの格納値と上記第1演算部の演算結果との排他的論理演算を行い、
上記第2演算部の演算結果が上記第2のレジスタに格納される
請求項1または2記載の暗号処理装置。 - 上記第1のレジスタおよび上記第2のレジスタの入力部には、それぞれ上記デコードデータをエンコードしてバイナリデータに変換するエンコード部が配置され、
上記第1のレジスタおよび上記第2のレジスタの出力部には、それぞれ当該レジスタに格納されたバイナリデータをデコードして上記デコードデータに変換するデコード部が配置され、
上記第1演算部の入力部には、上記第2のレジスタの格納値の上記デコードデータをエンコードしてバイナリデータに変換するエンコード部が配置され、
上記第1演算部の出力部には、上記演算結果をデコードして上記デコードデータに変換し、上記第2演算部に出力するデコード部が配置されている
請求項3記載の暗号処理装置。 - 上記第1のレジスタおよび上記第2のレジスタの出力部における上記デコード部は、
プリチャージ制御信号がアクティブのプリチャージ相においては、デコードデータを全て所定のレベルにプリチャージし、
上記エバリュエーション相において上記デコード処理を行う
請求項4記載の暗号処理装置。 - 上記第1演算部の入力部には、上記第2のレジスタの格納値の上記デコードデータをエンコードしてバイナリデータに変換するエンコード部が配置され、
上記第1演算部の出力部には、上記演算結果をデコードし上記デコードデータに変換し、上記第2演算部に出力するデコード部が配置されている
請求項3記載の暗号処理装置。 - 1ラウンドはプリチャージ相とエバリュエーション相により形成され、
上記第1のレジスタおよび上記第2のレジスタの出力部における上記デコード部は、
プリチャージ制御信号がアクティブのプリチャージ相においては、デコードデータを全て所定のレベルにプリチャージする
請求項3または6記載の暗号処理装置。 - 上記第1演算部は、
非線形変換部としてのSボックスを有し、
上記Sボックスは、
複数のサブSボックスにより形成され、
上記Sボックスの出力は、
異なる上記サブSボックスの出力ビットとデコードされる
請求項3から7のいずれか一に記載の暗号処理装置。 - 上記第1演算部は、
入力データのビットを拡張する拡張部と、
上記拡張部の拡張データと上記デコード処理が施された鍵との排他的論理演算を行う排他的論理演算部と、を含む
請求項3記載の暗号処理装置。 - 上記第1演算部は、
上記排他的論理演算部の演算結果のビット位置の入れ替え処理を行う置換部と、
上記置換部の出力データに対して非線形変換処理を行うSボックスと、を含む
請求項9記載の暗号処理装置。 - ラウンド暗号演算終了後にデコードされていた演算結果をエンコードしてバイナリデータに変換するエンコード部を有する
請求項1から10のいずれか一に記載の暗号処理装置。 - 上記デコード部のデコード値のハミング重みは同じである
請求項1から11のいずれか一に記載の暗号処理装置。 - 前記暗号処理装置は、DES(Data Encryption Standard)アルゴリズムまたはAES(Advanced Encryption Standardに従った暗号処理演算を実行する
請求項1から11のいずれか一に記載の暗号処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008296411A JP4687775B2 (ja) | 2008-11-20 | 2008-11-20 | 暗号処理装置 |
EP09252412A EP2190143A1 (en) | 2008-11-20 | 2009-10-14 | Cryptographic processing apparatus with improved resistance to power analysis |
US12/621,620 US8370642B2 (en) | 2008-11-20 | 2009-11-19 | Cryptographic processing apparatus |
CN2009102228897A CN101739889B (zh) | 2008-11-20 | 2009-11-20 | 密码处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008296411A JP4687775B2 (ja) | 2008-11-20 | 2008-11-20 | 暗号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010124276A JP2010124276A (ja) | 2010-06-03 |
JP4687775B2 true JP4687775B2 (ja) | 2011-05-25 |
Family
ID=41571860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008296411A Expired - Fee Related JP4687775B2 (ja) | 2008-11-20 | 2008-11-20 | 暗号処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8370642B2 (ja) |
EP (1) | EP2190143A1 (ja) |
JP (1) | JP4687775B2 (ja) |
CN (1) | CN101739889B (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101811755B1 (ko) * | 2011-07-15 | 2018-01-26 | 엘지전자 주식회사 | 이동 단말기 |
CN102970132B (zh) * | 2011-08-31 | 2015-02-18 | 北京中电华大电子设计有限责任公司 | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 |
DE102011088502B3 (de) * | 2011-12-14 | 2013-05-08 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken |
JP6136325B2 (ja) * | 2013-02-08 | 2017-05-31 | 日本電気株式会社 | 暗号処理装置、暗号処理方法およびプログラム |
DE102013205544A1 (de) * | 2013-03-28 | 2014-10-02 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Verarbeitung von Daten |
US10387597B2 (en) | 2013-06-21 | 2019-08-20 | Cryptography Research, Inc. | Energy analysis for differential power analysis resistance |
US20150260768A1 (en) * | 2014-03-13 | 2015-09-17 | Kabushiki Kaisha Toshiba | Detection method of algorithm in integrated circuit |
TWI712915B (zh) | 2014-06-12 | 2020-12-11 | 美商密碼研究公司 | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 |
KR102446866B1 (ko) | 2014-08-28 | 2022-09-23 | 삼성전자주식회사 | 부채널 공격을 방지하는 암복호화기 및 이의 구동 방법 그리고 이를 포함하는 제어 장치 |
SG10201405852QA (en) | 2014-09-18 | 2016-04-28 | Huawei Internat Pte Ltd | Encryption function and decryption function generating method, encryption and decryption method and related apparatuses |
US9654111B1 (en) * | 2014-11-12 | 2017-05-16 | Maxim Integrated Products, Inc. | Systems and methods for protecting data using reconfigurable logic paths |
JP6606659B2 (ja) * | 2015-04-16 | 2019-11-20 | ブリルニクス インク | 固体撮像装置、固体撮像装置の駆動方法、および電子機器 |
US10530566B2 (en) | 2015-04-23 | 2020-01-07 | Cryptography Research, Inc. | Configuring a device based on a DPA countermeasure |
US10255462B2 (en) * | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
CN109039608B (zh) * | 2018-08-24 | 2023-05-09 | 东南大学 | 一种基于双S核的8-bitAES电路 |
CN109951268B (zh) * | 2019-02-18 | 2020-12-22 | 吉林大学珠海学院 | 基于位置换和位变换的加密解密方法和装置 |
WO2020186125A1 (en) | 2019-03-13 | 2020-09-17 | The Research Foundation For The State University Of New York | Ultra low power core for lightweight encryption |
CN110795747A (zh) * | 2019-10-18 | 2020-02-14 | 浪潮电子信息产业股份有限公司 | 一种数据加密存储方法、装置、设备及可读存储介质 |
KR20210108787A (ko) | 2020-02-26 | 2021-09-03 | 삼성전자주식회사 | 듀얼 인코더를 포함하는 시큐리티 회로 및 이를 포함하는 암복호화기 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2000305453A (ja) * | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
JP2004357314A (ja) * | 2004-06-30 | 2004-12-16 | Hitachi Ltd | 情報処理装置、icカード |
JP2006019872A (ja) * | 2004-06-30 | 2006-01-19 | Sony Corp | 暗号処理装置 |
JP2008099204A (ja) * | 2006-10-16 | 2008-04-24 | Toshiba Corp | 論理回路 |
JP2008118566A (ja) * | 2006-11-07 | 2008-05-22 | Toshiba Corp | 暗号処理回路及び暗号処理方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0812537B2 (ja) * | 1993-03-11 | 1996-02-07 | 日本電気株式会社 | 暗号化装置 |
JP3029381B2 (ja) * | 1994-01-10 | 2000-04-04 | 富士通株式会社 | データ変換装置 |
US5511123A (en) * | 1994-08-04 | 1996-04-23 | Northern Telecom Limited | Symmetric cryptographic system for data encryption |
US5745577A (en) * | 1996-07-25 | 1998-04-28 | Northern Telecom Limited | Symmetric cryptographic system for data encryption |
US5949884A (en) * | 1996-11-07 | 1999-09-07 | Entrust Technologies, Ltd. | Design principles of the shade cipher |
JP3351305B2 (ja) * | 1997-08-07 | 2002-11-25 | 日本電気株式会社 | 暗号装置及び暗号装置を実現するプログラムを記録したコンピューターが読みとり可能な記録媒体 |
CA2302784A1 (en) * | 1997-09-17 | 1999-03-25 | Frank C. Luyster | Improved block cipher method |
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 |
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
US6931127B2 (en) * | 2000-05-31 | 2005-08-16 | Hynix Semiconductor Inc. | Encryption device using data encryption standard algorithm |
KR100889465B1 (ko) * | 2000-07-04 | 2009-03-20 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 대칭-키 암호들을 위한 치환-박스 |
CA2327911A1 (en) * | 2000-12-08 | 2002-06-08 | Cloakware Corporation | Obscuring functions in computer software |
US20030086564A1 (en) * | 2001-09-05 | 2003-05-08 | Kuhlman Douglas A. | Method and apparatus for cipher encryption and decryption using an s-box |
US7194633B2 (en) * | 2001-11-14 | 2007-03-20 | International Business Machines Corporation | Device and method with reduced information leakage |
KR100423811B1 (ko) | 2001-12-12 | 2004-03-22 | 한국전자통신연구원 | 카스미 암호화 알고리즘을 응용한 암호화 장치 |
CN1640051B (zh) * | 2002-03-07 | 2011-05-18 | 艾斯奥托公司 | 使具有秘密密钥的电子密码装置安全的方法 |
US7221756B2 (en) * | 2002-03-28 | 2007-05-22 | Lucent Technologies Inc. | Constructions of variable input length cryptographic primitives for high efficiency and high security |
GB0211812D0 (en) * | 2002-05-23 | 2002-07-03 | Koninkl Philips Electronics Nv | S-box encryption in block cipher implementations |
KR100456599B1 (ko) * | 2002-11-12 | 2004-11-09 | 삼성전자주식회사 | 병렬 디이에스 구조를 갖는 암호 장치 |
JP3819872B2 (ja) | 2003-05-23 | 2006-09-13 | 株式会社東芝 | 論理演算装置 |
US20120005466A1 (en) * | 2004-12-20 | 2012-01-05 | Koninklijke Philips Electronics N.V. | Data processing device and method for operating such data processing device |
EP1722502B1 (en) * | 2005-05-10 | 2007-09-05 | Research In Motion Limited | Key masking for cryptographic processes |
JP2007189659A (ja) * | 2005-12-15 | 2007-07-26 | Toshiba Corp | 暗号化装置、暗号化方法及び暗号化プログラム |
JP2007251390A (ja) | 2006-03-14 | 2007-09-27 | Sony Corp | 半導体集積回路 |
WO2008010119A2 (en) * | 2006-07-12 | 2008-01-24 | Koninklijke Philips Electronics N.V. | Tamper resistance of a digital data processing unit |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP4967544B2 (ja) * | 2006-09-01 | 2012-07-04 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
JP4909018B2 (ja) * | 2006-11-16 | 2012-04-04 | 富士通株式会社 | 共通鍵暗号のための暗号化装置 |
JP4453697B2 (ja) * | 2006-12-15 | 2010-04-21 | ソニー株式会社 | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム |
US8538015B2 (en) | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for 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 |
JP4936996B2 (ja) * | 2007-05-24 | 2012-05-23 | 株式会社東芝 | 非線形データ変換器、暗号化装置、および復号装置 |
GB2453367A (en) * | 2007-10-04 | 2009-04-08 | Univ Newcastle | Cryptographic processing using isomorphic mappings of Galois fields |
US20110110519A1 (en) * | 2008-01-09 | 2011-05-12 | Tomoyasu Suzaki | Data transmission device, data reception device, methods thereof, recording medium, and data communication system therefor |
US20100329450A1 (en) * | 2009-06-30 | 2010-12-30 | Sun Microsystems, Inc. | Instructions for performing data encryption standard (des) computations using general-purpose registers |
-
2008
- 2008-11-20 JP JP2008296411A patent/JP4687775B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-14 EP EP09252412A patent/EP2190143A1/en not_active Withdrawn
- 2009-11-19 US US12/621,620 patent/US8370642B2/en not_active Expired - Fee Related
- 2009-11-20 CN CN2009102228897A patent/CN101739889B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000066585A (ja) * | 1998-08-20 | 2000-03-03 | Toshiba Corp | 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体 |
JP2000305453A (ja) * | 1999-04-21 | 2000-11-02 | Nec Corp | 暗号化装置,復号装置,および暗号化・復号装置 |
JP2004357314A (ja) * | 2004-06-30 | 2004-12-16 | Hitachi Ltd | 情報処理装置、icカード |
JP2006019872A (ja) * | 2004-06-30 | 2006-01-19 | Sony Corp | 暗号処理装置 |
JP2008099204A (ja) * | 2006-10-16 | 2008-04-24 | Toshiba Corp | 論理回路 |
JP2008118566A (ja) * | 2006-11-07 | 2008-05-22 | Toshiba Corp | 暗号処理回路及び暗号処理方法 |
Also Published As
Publication number | Publication date |
---|---|
US8370642B2 (en) | 2013-02-05 |
EP2190143A8 (en) | 2010-10-06 |
CN101739889B (zh) | 2012-04-25 |
CN101739889A (zh) | 2010-06-16 |
EP2190143A1 (en) | 2010-05-26 |
US20100153744A1 (en) | 2010-06-17 |
JP2010124276A (ja) | 2010-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4687775B2 (ja) | 暗号処理装置 | |
JP4453697B2 (ja) | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
JP5458611B2 (ja) | 暗号処理装置 | |
JP5229315B2 (ja) | 共通鍵暗号機能を搭載した暗号化装置及び組込装置 | |
US9325494B2 (en) | Method for generating a bit vector | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
CN100583739C (zh) | 加密装置、加密方法及其存储介质 | |
US20120093308A1 (en) | Apparatus and method for generating random data | |
CN104838617A (zh) | 整合安全装置及整合安全装置中使用的信号处理方法 | |
JP4589327B2 (ja) | 電子素子及びデータ処理方法 | |
JP4935229B2 (ja) | 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
JP2005031471A (ja) | 暗号処理装置、および暗号処理方法 | |
JP2006054568A (ja) | 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム | |
CN103618595B (zh) | 一种抗功耗分析的密码算法代换电路 | |
KR100861841B1 (ko) | 전자 소자 및 데이터 처리 방법 | |
JP4849140B2 (ja) | データ変換装置、演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム | |
JP5354914B2 (ja) | 暗号処理装置及び復号処理装置及びプログラム | |
Savitha et al. | Implementation of AES algorithm to overt fake keys against counter attacks | |
Chhabra et al. | Towards the enhancement of AES IP security using hardware obfuscation technique: A practical approach for secure data transmission in IoT | |
JP2011002790A (ja) | 暗号処理装置 | |
JP2007174024A (ja) | 暗号処理装置 | |
Jithendra et al. | Hardware efficient parallel substitution box for block ciphers with static and dynamic properties | |
JP2006081059A (ja) | 暗号回路および集積回路 | |
JP2005134477A (ja) | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム | |
De Paola et al. | Bayesian system for differential cryptanalysis of DES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101220 |
|
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: 20110118 |
|
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: 20110131 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |