JP2007195132A - 暗号処理装置 - Google Patents

暗号処理装置 Download PDF

Info

Publication number
JP2007195132A
JP2007195132A JP2006056311A JP2006056311A JP2007195132A JP 2007195132 A JP2007195132 A JP 2007195132A JP 2006056311 A JP2006056311 A JP 2006056311A JP 2006056311 A JP2006056311 A JP 2006056311A JP 2007195132 A JP2007195132 A JP 2007195132A
Authority
JP
Japan
Prior art keywords
round
key
dummy
unit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006056311A
Other languages
English (en)
Inventor
Hiromi Nobukata
浩美 信方
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006056311A priority Critical patent/JP2007195132A/ja
Publication of JP2007195132A publication Critical patent/JP2007195132A/ja
Pending legal-status Critical Current

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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

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

Abstract

【課題】DPA攻撃に対する耐性の高い暗号処理装置を提供する。
【解決手段】ラウンド関数を実行する2つのラウンド演算部において、正規ラウンド鍵を適用した正規ラウンド演算と、ダミーラウンド鍵を適用したダミーラウンド演算とを並列に交互に繰り返し、一方のラウンド演算部の演算結果を他方のラウンド演算部のレジスタに相互供給する。本構成により各レジスタは、正規演算結果とダミー演算結果を交互に格納することになり、ビット変化は、すべてダミー演算で生成された未知の値に基づくものとなるため、消費電流の統計処理によるDPA攻撃に対する耐性の高い暗号処理装置が実現される。
【選択図】図4

Description

本発明は、暗号処理装置に関する。さらに詳細には、暗号解析処理、攻撃処理として知られる電力解析に対する耐性を向上させた暗号処理装置に関する。
昨今、ICカード、ネットワーク通信、電子商取引などの発展に伴い、ICカードを利用したデータ送受信やネットワークを介した通信におけるセキュリティ確保が重要な問題となっている。セキュリティ確保の1つの方法が暗号技術であり、現在、様々な暗号化手法を用いた通信が実際に行なわれている。
例えばICカード等の小型の装置中に暗号処理モジュールを埋め込み、ICカードと、データ読み取り書き込み装置としてのリーダライタとの間でデータ送受信を行ない、認証処理、あるいは送受信データの暗号化、復号化を行なうシステムが実用化されている。
ICカードでは、例えばリーダライタやホストコンピュータとデータのやり取りを行なう時、その過程でICカードに格納されている秘密情報が漏れても問題を発生させないために、送受信データは暗号化される。
この暗号化方法として多く用いられている方式の1つとしてDES(Data Encryption Standard)がある。DESは、代表的な共通鍵暗号方式のアルゴリズムであり、例えばデータ送受信者としてのICカードとホストコンピュータが同じ鍵を所有し、データの送信側はデータをその鍵で暗号化して送信し、データの受信者は同じ鍵で復号化してメッセージを取り出す。
通信の過程で悪意の第三者が盗聴しても、鍵を有していない限り復号化してメッセージを取り出すのは困難である。また、暗号化・復号化の時に使う鍵は、ICカード内のEEPROM等の不揮発性メモリに格納され、暗号化・復号化時にはCPUを介さないで直接ICカード内の暗号エンジンに転送される様な制御により、ICカードの所有者やICカードの開発エンジニアすら鍵データを取り出す事が不可能な構成を採ってセキュリティを保持している。
しかし、このような共通鍵暗号処理においては、暗号解析による鍵の漏洩が問題となっている。代表的な鍵解析手法として、電力差分解析(DPA:Differential Power Analysis)がある。暗号処理回路を内蔵したデバイスの消費電流は一般に演算内容と演算に用いられている秘密情報に依存して変動する。しかしこれらの内容に依存した消費電流の変化は小さく、測定誤差やノイズなどから見分けることは一般に困難と考えられていた。
しかし、P.Kocherらは大量の消費電流波形を取得して、鍵を推定してそれらを統計処理する事により鍵情報を取り出す方法を提案した。これがDPA(電力差分解析)と呼ばれる手法である。
このDPA攻撃では、異なる1000個程度の平文パターンを用いて暗号化演算を行なって各パターンにおける消費電流波形を測定する。そして、推定した仮の鍵を設定し、DES暗号処理部を構成する非線形変換部としてのS−boxの出力値に基づいてその消費電流波形を統計処理することにより実際に適用されている鍵を解析するものである。
ただし、DES暗号処理部を構成する非線形変換部としてのS−boxをハードウェア論理回路の構成とした場合、S−boxの出力値の変動を直接計測することは困難となる。この場合、S−boxからの出力値を格納するレジスタに対するデータ格納時の変化ビットの情報を消費電流波形から推測して統計処理を行い鍵の解析を行なう。
一般的なDES演算回路の構成例について図を参照して説明する。DES暗号処理は、F関数と呼ばれる変換関数などを適用した単純な演算の繰り返しにより、平文を暗号文に変換する構造を持つ。図1にDES暗号処理の基本構成を示す。DES暗号処理構成は、入力データの変換を実行するラウンド関数部110と、ラウンド関数部の各ラウンドで適用する鍵を生成する鍵スケジュール部120とによって構成される。
ラウンド関数部110において、平文(64ビット)は、まず、初期置換部111において、置換後にL,R各32ビットに分割され、分割されたL,R32ビットが、第1段ラウンド関数部112に入力され、鍵スケジュール部120の第1段鍵生成部122から入力する鍵K(1)に基づいて変換処理がなされる。変換処理結果は、次段の第2段ラウンド関数部113に入力される。
鍵スケジュール部120においては、まず、マスター鍵(秘密鍵)置換部121により入力マスター鍵(秘密鍵:64ビット)のパリティ8ビットが取り除かれ、残り56ビットの入れ替え処理が実行されて第1段ラウンド鍵生成部122に入力される。第1段ラウンド鍵生成部122では、入力ビット列のシフト処理および8ビットのデータ破棄等が実行され、48ビットのラウンド鍵K(1)を生成し、生成したラウンド鍵K(1)をラウンド関数部110の第1段ラウンド関数部112に出力する。第1段ラウンド鍵生成部122では、シフト処理による上位ビット列(28ビット)と下位ビット列(28ビット)とを下段の第2段ラウンド鍵生成部123に出力する。
ラウンド関数部は、16段のラウンド関数部を有し、それぞれ前段のラウンド関数部の出力を入力として鍵スケジュール部120から入力する鍵を適用した変換処理を実行し、変換結果を後段のラウンド関数部に出力する。16段のラウンド関数部で変換された出力が逆置換部114に入力され、初期置換部111の逆置換処理が実行されて、暗号文として出力される。
16段のラウンド関数部は、ハードウェア的には1つ設定し、この1つのラウンド関数部を繰り返し使用する構成とするのが一般的である。すなわち、上段の出力をレジスタに格納し、レジスタ格納値を次段のラウンド関数部の入力として利用する構成である。ラウンド関数部の構成例を図2に示す。
図2に示すラウンド関数部150の構成中、スイッチ(SW1)は、DES演算開始時には"a"側に接続されている。DES演算が開始されると、平文を初期置換部[IP(Initial Permutation)]141において置換後、2つの32bitデータL,Rに分けられ、制御クロックに基づく制御タイミングとしてのラッチパルス(Latch Pulse)の立ち上がりでL/Rレジスタ151,152へ取り込まれると同時にSW1を"b"側に切り替える。
このデータ取り込みによってL/Rレジスタ151,152の出力がL,Rに設定され、その後、これらのレジスタ格納値に基づいて、F関数部153と排他論理和演算(XOR)部154を適用したラウンド(Round)演算が実行され、その結果が再度、スイッチ(SW1)を介してL/Rレジスタ151,152に入力される。
さらに、次のクロックサイクルのラッチパルスの立ち上がりでL/Rレジスタ151,152へ取り込まれ、その出力が更新されることにより次のラウンドの演算が開始される。この動作を16クロックサイクル繰り返した後、演算結果を逆置換部(IP−1)142へ出力して逆置換変換を実行し、暗号文として出力する。
F関数部153の詳細構成を図3に示す。F関数は、非線形処理を実行する複数のSボックス(Sbox)を有する。ラウンド関数部の前段からの入力値、すなわち、R(n−1)は拡張部171によって48ビットに拡大され、さらに鍵スケジュール部から入力する鍵(48ビット)と排他論理和が実行され、その出力が6ビットずつ非線形変換処理を実行する複数のSボックス181−1〜8に入力される。各Sボックスでは、変換テーブルを適用した6ビットから4ビットへの非線形変換処理が実行される。
Sボックス181−1〜8からの出力ビット4×8=32ビットは、置換部172に入力されて、ビット位置の入れ替え処理がなされ、F関数出力32ビットを生成して出力する。
図2に示すラウンド関数部150のL/Rレジスタ151,152では、各ラウンド毎にデータの書き換えが行われることになる。この時の消費電流波形を取得すると、測定電流にはレジスタのデータ更新時の変化ビットと相関のある電流成分が含まれることになる。例えば最初のラウンド演算(Round1)を実行した後の演算結果[Round1]は、以下のように示すことができる。
[Round1]
Figure 2007195132
上記式において、
:ラウンド1開始前のレジスタL151の格納値
:ラウンド1開始前のレジスタR152の格納値
:ラウンド1終了後のレジスタL151の格納値
:ラウンド1終了後のレジスタR152の格納値
:ラウンド1に適用されるラウンド鍵
F(R,K):図2に示すF関数部153の関数であり、入力値Rとラウンド鍵Kに基づく関数
である。
すなわち、ラウンド1終了後のレジスタL151の格納値であるLは、ラウンド1開始前のレジスタR152の格納値Rとなり、ラウンド1終了後のレジスタR152の格納値であるRは、入力値Rとラウンド鍵Kに基づくF関数部153での処理結果と、ラウンド1開始前のレジスタL151の格納値Lとの排他論理和演算(XOR)結果となる。
ラウンド1の処理前のL/Rレジスタ151,152のデータは各々"L","R"であるため、次のクロックサイクルでのデータ格納時の変化ビットは、ラウンド1の処理後のL/Rレジスタ151,152のデータ"L","R"との排他論理和演算(XOR)を行なうことによって求められる。すなわち、下式よって示される。
Figure 2007195132
上記式(式3)、(式4)が、ラウンド1の処理前後において、L/Rレジスタ151,152の変化ビットを示す式となる。
DPA攻撃では、1000個程度の平文を適用してDES演算を実行してその消費電流波形を取得し、上記(式3)において、ラウンド鍵"K"のうち8個のS−box各々に対応する6bitずつの鍵を仮定して、それに基づいて消費電流波形を統計処理する。この処理によって、推定した鍵が正しい場合にピーク電流が観察される。この処理を8個のS−box全てに対して行なうと48bitの鍵を求める事ができ、残り8bitは2=256回の全数攻撃で求める事ができる。
このDPA攻撃への対策として、各クロックサイクルで、演算結果の格納前にレジスタの格納データを、一次的に乱数等(RN)に設定する等の対策が提案されている。すなわち、この乱数適用により、前述の式(式3)は、以下のように変更される。
Figure 2007195132
上記式において、未知数は、"K"と"RN"となり、乱数RNの存在よって統計処理が困難となり、DAP攻撃は、実質的に不可能となる。
しかし、乱数の格納のためのクロックサイクルを、各ラウンド演算の間に挿入して実行することが必要となり、その結果、演算のクロックサイクルは2倍となって演算のスループットが低下し、さらに、各ラウンドにおいて異なる乱数をレジスタに格納する設定とした場合には、乱数回路の回路規模が非常に大きくなるという問題が発生する。
本発明は、上記問題点に鑑みてなされたものであり、処理アルゴリズムを複雑化させることなく、また処理回路を非常に大きくすることなく暗号処理シーケンスの持つ規則的な処理に伴う消費電流変動の検出等に基づく電流解析による暗号解析の困難性を高めることを可能とした暗号処理装置を提供することを目的とする。
具体的には、本発明は、DES演算回路のスループットを落とすことなく、高いDPA耐性をもつDES演算回路を提供するものであり、この目的を実現するために、
(a)複数のDES演算回路を直列に配置し、ラウンド鍵の生成回路も同じ個数だけ配置する。
(b)ラウンド鍵の生成回路に供給する鍵は、少なくとも1つは秘密鍵が供給され、少なくとも1つはダミーの鍵が供給される設定とする。
(c)クロック毎に本来のDES演算及びダミーのDES演算を実行する位置をシフトさせ、このシフトに対応してラウンド鍵の生成回路の出力もシフトさせる。
このような構成とすることで、DES演算回路のスループットを落とすことなく、高いDPA耐性をもつDES演算回路を提供する。
本発明の第1の側面は、
ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であり、
ラウンド関数を実行する第1ラウンド演算部と、
ラウンド関数を実行する第2ラウンド演算部と、
前記第1ラウンド演算部と、前記第2ラウンド演算部に対して、正規のラウンド演算用の正規ラウンド鍵およびダミーラウンド演算用のダミーラウンド鍵を出力する鍵スケジュール部とを有し、
前記第1ラウンド演算部および前記第2ラウンド演算部は、
前記正規ラウンド鍵を適用した正規ラウンド演算と、ダミーラウンド鍵を適用したダミーラウンド演算とを並列に交互に繰り返し実行し、一方のラウンド演算部の演算結果を他方のラウンド演算部の演算用データを格納するレジスタに相互に供給する構成を有することを特徴とする暗号処理装置にある。
さらに、本発明の暗号処理装置の一実施態様において、前記第1ラウンド演算部および前記第2ラウンド演算部の各々は、演算用データを格納する2つのレジスタを有し、一方のラウンド演算部の演算結果として生成される2つのデータを他方のラウンド演算部の2つのレジスタに相互に供給する構成を有することを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記第1ラウンド演算部および前記第2ラウンド演算部は、一方のラウンド演算部の演算結果を他方のラウンド演算部の演算用データの格納レジスタに入力する際のレジスタ格納値の変更処理として、
(a)正規ラウンド演算結果からダミーラウンド演算結果への格納データの変更、
(b)ダミーラウンド演算結果から正規ラウンド演算結果への格納データの変更、
いずれかの処理態様でのレジスタ格納値の変更処理を実行する構成であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記鍵スケジュール部は、正規のラウンド演算用のマスター鍵としての秘密鍵から、ラウンド関数の各ラウンドに適用するラウンド鍵を順次生成し、さらに、ダミー鍵に基づいて各ダミーラウンド用のダミーラウンド鍵を順次生成し、前記第1ラウンド演算部および前記第2ラウンド演算部に交互に出力する構成であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記ラウンド演算部は、非線形変換部としてのSボックスを有し、前記レジスタは、前記Sボックスによる非線形変換処理を含むラウンド演算処理の結果データを格納する構成であることを特徴とする。
さらに、本発明の暗号処理装置の一実施態様において、前記暗号処理装置は、DES(Data Encryption Standard)アルゴリズムに従った暗号処理演算を実行する構成であることを特徴とする。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、処理アルゴリズムを複雑化させることなく、暗号処理シーケンスの持つ規則的な処理に伴う消費電流変動の検出等に基づく電流解析による暗号解析の困難性を高めた暗号処理装置が実現される。
本発明の構成では、例えばDESなど複数段のラウンド関数の繰り返し処理を含む暗号アルゴリズムを実行する暗号処理装置において、ラウンド関数を実行する2つのラウンド演算部と、これらのラウンド演算部に対して、正規のラウンド演算用の正規ラウンド鍵およびダミーラウンド演算用のダミーラウンド鍵を出力する鍵スケジュール部とを有する構成とし、各ラウンド演算部は、正規ラウンド鍵を適用した正規ラウンド演算と、ダミーラウンド鍵を適用したダミーラウンド演算とを交互に繰り返し実行し、一方のラウンド演算部の演算結果を他方のラウンド演算部の演算用データを格納するレジスタに相互に供給する構成としたので、各ラウンド演算部の演算結果を格納するレジスタにおいて、正規のラウンド演算結果と、ダミーラウンド演算結果が交互に格納されることになり、各レジスタのデータ更新時のビット変化を電流計測によって求めたとしても、このビット変化は、すべてダミーラウンド鍵を適用したダミーラウンド演算結果、すなわちダミー演算で生成された未知の値に基づくものとなるため、消費電流の統計処理によるDPA攻撃に対する耐性の高い暗号処理装置が実現される。
以下、本発明の暗号処理装置の詳細について説明する。本発明は、例えばDES(Data Encryption Standard)アルゴリズムに代表される複数段のラウンド関数の繰り返し処理を含む暗号アルゴリズムを実行する暗号処理装置であり、暗号処理回路規模の増大を抑えつつ、電力差分解析(DPA)耐性を持った回路構成を提供することを目的としてなされたものである。
先に、図1〜3を参照して説明したように、DESの演算処理を実行する回路は、複数段(16段)のラウンド関数を繰り返し実行させる回路を含む。通常、DESの演算フローの実行回路を設計する際には、16段のラウンド関数を実行する関数実行回路を1個作り、それを16回、繰り返し動作させる構成とする。
従来の一般的なラウンド関数部は、図2を参照して説明した構成である。本発明の暗号処理装置の回路構成を図4に示す。また、図4に示す暗号処理回路の動作タイミング図を図5に示す。
本発明の暗号処理装置の回路構成は図4に示すように、F関数を適用したラウンド関数を伴う演算を実行する2つのラウンド演算部としてのDES演算回路310,320を直列に配置した構成となっている。
初段のラウンド演算部であるDES演算回路[DES1]310のL/Rレジスタ311,312の入力は、まず初期的には、スイッチSW1(SW1p,SW1q)をa側に設定し、平文を初期置換部(IP)301において置換した後、"L"と"R"に2分割したデータとなる。その後は、スイッチSW1(SW1p,SW1q)をb側に設定し、2段目のラウンド演算部であるDES演算回路[DES2]320の演算結果D2α,D2βが、それぞれL/Rレジスタ311,312に入力される。
また、もう1つのラウンド演算部である演算回路[DES2]320の出力D2α,D2βは、スイッチSW1(SW1p,SW1q)を介してDES1の入力とされるとともに逆置換部(IP−1)302に接続されている。16段のラウンド関数が終了し、最終的な暗号化データが生成されると、逆置換部(IP−1)302が演算回路[DES2]320の出力D2α,D2βに対して、逆置換処理を実行し暗号文(Crypto)を出力する。
演算回路[DES1]310の出力D1α,D1βは、演算回路[DES2]320のL/Rレジスタ322,321に入力される。演算回路[DES2]320においては、レジスタの取込みパルス信号"Lat"の立ち上がりで、演算回路[DES1]310の出力D1α,D1βを、演算回路[DES2]320のL/Rレジスタ322,321に取り込み、次のラウンド演算を開始する。
スイッチSW1(SW1p,SW1q)は、初期的にa側に接続され、平文を初期置換部(IP)301において置換した後の2分割データ"L"と"R"とをL/Rレジスタ311,312に取り込んだ後は、16段のラウンド演算が終了するまで、b側に設定される。スイッチSW1(SW1p,SW1q)が"b"側に接続されている間は、演算回路[DES2]320のL/Rレジスタ322,321に対する演算回路[DES1]310の出力D1α,D1βの取り込みタイミングと同じ"Lat"の立ち上がりで、演算回路[DES2]320の出力D2α,D2βは、演算回路[DES1]310のL/Rレジスタ311,312に取り込まれて次のラウンド演算が開始される。
各演算回路[DES1]310,[DES2]320のF関数部313,323へは、ラウンド鍵を生成する2つの鍵スケジュール部である第1鍵スケジュール部353と、第2鍵スケジュール部362からそれぞれスイッチSW2(SW2p,SW2q)を介して正規のラウンド鍵またはダミー鍵が、各タイミングに応じて選択的に入力される。
すなわち、鍵スケジュール部は、正規のラウンド演算用のマスター鍵としての秘密鍵から、ラウンド関数の各ラウンドに適用するラウンド鍵を順次生成し、さらに、ダミー鍵に基づいて各ダミーラウンド用のダミーラウンド鍵を順次生成し、これらの鍵を、ラウンド演算部として各演算回路[DES1]310,[DES2]320のF関数部313,323へ出力する。
第1鍵スケジュール部353は、スイッチSW3によって入力鍵が切り替えられる構成となっている。演算回路[DES1]310において、正規のDES演算命令が実行されている期間は正規のラウンド鍵を生成する元データとしての秘密鍵(マスター鍵)351が入力され、第1鍵スケジュール部353は、秘密鍵(マスター鍵)351に基づいて正規のラウンド鍵[K]を生成する。
秘密鍵(マスター鍵)351に基づいて生成された正規のラウンド鍵[K]は、スイッチSW2(SW2p,SW2q)がc側に設定されているタイミングで、演算回路[DES1]310のF関数部313に出力される。また、スイッチSW2(SW2p,SW2q)がd側に設定されているタイミングで、演算回路[DES2]320のF関数部323に出力される。このスイッチSW2(SW2p,SW2q)のcとdの接続切り替えは、ラウンド演算の1ラウンドの処理期間毎に行なわれ、DES暗号処理における正規の16段のラウンド演算は、第1ラウンドを演算回路[DES1]310において実行し、第2ラウンドを演算回路[DES2]320において実行し、第3ラウンドを演算回路[DES1]310において実行し、第4ラウンドを演算回路[DES2]320において実行、以下、この繰り返しで処理が進行する。
演算回路[DES1]310と演算回路[DES2]320の一方で、正規のラウンド鍵[K]を適用したラウンド演算が実行されている期間において、他方の演算回路では、第2鍵スケジュール部362においてダミー鍵2,361に基づいて生成されたダミーラウンド鍵[Kd]を適用したダミー演算が行なわれる。
また、演算回路[DES1]310と演算回路[DES2]320は、消費電流波形からDES演算の実行を特定されないために、DES演算命令が発行されていない時は、ダミー鍵1,352またはダミー鍵2,361から生成したダミーラウンド鍵[Kd1n], [Kd2n]を適用したダミー演算が実行される様に制御される。
DES演算命令が発行されていない期間、すなわち正規のDES演算の開始前は、SW3はダミー鍵1,352を第1鍵スケジュール部352に入力するように設定され、スイッチSW2(SW2p,SW2q)の設定状態に関わらず、演算回路[DES1]310と演算回路[DES2]320には、ダミー鍵1,351またはダミー鍵2,361から生成されたダミーラウンド鍵[Kd1n], [Kd2n]が供給されダミー演算を繰り返す。この間、SW1(SW1p,SW1q)は"b"側に接続され、DES演算命令が発行されるまでダミー演算を繰り返す。
DES演算命令が発行された後の処理シーケンスについて、図5の動作タイミング図を参照して説明する。図5は、左から右に時間(t)が進行しており、時刻t0〜t19における以下の信号の各状態遷移を示している。
(1)クロック(CLK)
(2)DES演算制御(/DES)
(3)スイッチ(SW1)
(4)スイッチ(SW2)
(5)演算回路[DES1]310のF関数部313に供給される鍵Key1(正規のラウンド鍵[K]またはダミーラウンド鍵[Kd2n])
(6)演算回路[DES2]320のF関数部323に供給される鍵Key2(正規のラウンド鍵[K]またはダミーラウンド鍵[Kd2n])
(7)ラッチパルス(Lat)
(8)演算回路[DES1]310のレジスタL1,311の格納値
(9)演算回路[DES1]310のレジスタR1,312の格納値
(10)演算回路[DES2]320のレジスタL2,321の格納値
(11)演算回路[DES2]320のレジスタR2,322の格納値
(12)暗号データ出力パルス(Cout)
時刻(t0)において、DES演算命令が発行されたものとする。DES演算命令が発行されると、/DESはLowとなり、t0〜t1において、図4に示す初期置換部(IP)301おける初期置換処理が実行される。
スイッチSW1(SW1p,SW1q)は、DES演算命令が発行される前、すなわち、初期置換処理が実行される以前(t0の前)は、"b"側に接続されているが、時刻(t0)において、DES演算命令が発行されると、"a"側に接続されて、IP置換後のデータが"L"と"R"に分けられて、演算回路[DES1]310のL/Rレジスタ311,312に取り込まれる。
なお、図5に示すように、
(8)演算回路[DES1]310のレジスタL1,311の格納値
(9)演算回路[DES1]310のレジスタR1,312の格納値
(10)演算回路[DES2]320のレジスタL2,321の格納値
(11)演算回路[DES2]320のレジスタR2,322の格納値
これらの各レジスタは、t0〜t1の初期置換実行時において、時刻t0以前のダミー鍵に基づくダミー演算結果が格納されており、DES演算命令の発行後、時刻t1において、IP置換後のデータ"L"と"R"が、演算回路[DES1]310のL/Rレジスタ311,312に取り込まれる。
時間t1〜t2はラウンド演算1(Rd1)の実行期間(Rd1サイクル)である。Rd1サイクルのラッチ(Lat)の立ち上がりにおいて、演算回路[DES1]310のL/Rレジスタ311,312に"L","R"が取り込まれ、同時に演算回路[DES2]320のL/Rレジスタ321,322に、前サイクルにおける演算回路[DES1]310のダミー演算結果"Ld20","Rd20"が取り込まれる。
このラウンド演算(Rd1)の実行開始時点(t1)において、SW1(SW1p,SW1q)は"b"側に接続され、演算回路[DES1]310のL/Rレジスタ311,312には、時刻t1後は、演算回路[DES2]320の出力D2α,D2βが取り込まれることになる。
また、図5には示していないが、前述したようにスイッチSW3は、時刻t1において、ダミー鍵1,352側から秘密鍵(マスター鍵)351側に接続変更され、第1鍵スケジュール部353には、正規のDES暗号処理に適用する秘密鍵(マスター鍵)351が入力される。第1鍵スケジュール部353は、秘密鍵(マスター鍵)351に基づいて、DES暗号の各ラウンド演算に適用する正規のラウンド鍵[K,K,K・・・]を生成し、演算回路[DES1]310のF関数部313、または、演算回路[DES2]320のF関数部323に供給する。
図5に示す(5),(6)は、
(5)演算回路[DES1]310のF関数部313に供給される鍵Key1(正規のラウンド鍵[K]またはダミーラウンド鍵[Kd2n])
(6)演算回路[DES2]320のF関数部323に供給される鍵Key2(正規のラウンド鍵[K]またはダミーラウンド鍵[Kd2n])
これらの鍵データの推移を示しており、
[K],[K],[K]・・は、正規のラウンド演算に適用される正規のラウンド鍵であり、[Kd10]は、ダミー鍵1,352に基づいて第1鍵スケジュール部353が生成したダミーラウンド鍵であり、[Kd2n]は、ダミー鍵2,361に基づいて第2鍵スケジュール部362が生成したダミーラウンド鍵を示している。
各演算回路[DES1,DES2]のF関数部313、323に正規のラウンド鍵[K]が入力された場合には、各演算回路[DES1,DES2]では正規のラウンド演算が行なわれるが、ダミーラウンド鍵[Kd2n]が入力された場合は、ダミーラウンド演算が実行されることになる。
スイッチSW2(SW2p,SW2q)は、時刻t1の後、各ラウンドサイクル毎にc,dの接続切り替えを実行する。すなわち、時間t1〜t2では、c側に接続され、正規の第1ラウンドのラウンド鍵[K]が演算回路[DES2]320のF関数部323に供給される。この時間t1〜t2において、演算回路[DES1]310のF関数部313には、第2鍵スケジュール部362から、スイッチSW2qを介してダミーラウンド鍵[Kd21]が供給される。この結果、演算回路[DES1]310では、正規のDES暗号処理の第1ラウンド演算が実行され、演算回路[DES2]320ではダミーラウンド演算が実行される。
演算回路[DES1]310において実行された正規のDES暗号処理の第1ラウンド演算の結果は、時刻t2において演算回路[DES2]320のL/Rレジスタ321,322に格納される。図5に示す(10)L2、(11)R2において、時間t2〜t3の期間の格納データは、
(10)L2が[R
(11)R2が[R
と示されている。
図4の回路構成から理解されるように、演算回路[DES2]320のLレジスタ(L2)321には、前サイクルにおいて、演算回路[DES1]310のRレジスタ(R1)312に格納されたデータがそのまま格納される。従って、図5に示す時間t1〜t2において、(9)R1に示すように、演算回路[DES1]310のRレジスタ(R1)312に格納されたデータ[R]が、次のサイクルt2〜t3では、(10)L2に示すように、演算回路[DES2]320のLレジスタ(L2)321に格納される。
また、演算回路[DES2]320のRレジスタ(R2)322には、前サイクルにおいて、演算回路[DES1]310のLレジスタ(L1)311に格納されたデータと、F関数部313の出力との排他論理和(XOR)結果が格納される。
DES演算におけるnラウンド終了後のR側、L側の結果データをそれぞれR,Lとし、1つ前のラウンド演算の結果データをRn−1,Ln−1としたとき、ラウンド演算(Roundn)を実行した後の演算結果[Roundn]は、以下のように示すことができる。
[Roundn]
Figure 2007195132
上記式において、
:nラウンド終了後のL側の結果データ
:nラウンド終了後のR側の結果データ
n−1:(n−1)ラウンド終了後のL側の結果データ
n−1:(n−1)ラウンド終了後のR側の結果データ
:ラウンドnに適用されるラウンド鍵
F(Rn−1,K):F関数による結果出力データ
である。
図5に示す時間t1〜t2において、演算回路[DES1]310では、正規のラウンド鍵[K]を入力して、正規のラウンド1のラウンド演算が実行される。F関数部313における結果データは、演算回路[DES1]310のRレジスタ(R1)312に格納されたデータ[R]と、ラウンド鍵[K]に基づいて算出される値であり、これをF(R,K)とする。演算回路[DES1]310のLレジスタ(L1)311に格納されたデータは[L]であり、このラウンドの演算回路[DES1]310の出力は、
Figure 2007195132
上記式(式13)に示す、Rが、図5に示す時間t2〜t3に、演算回路[DES2]320のRレジスタ(R2)322に格納されるデータとなる。この[R]は、前サイクル(t1〜t2)において、演算回路[DES1]310のLレジスタ(L1)311に格納されたデータと、F関数部313の出力との排他論理和(XOR)結果に相当する。
時間t2〜t3では、演算回路[DES1]310の正規の第1ラウンド演算結果を演算回路[DES1]320のL/Rレジスタ321,322に格納した演算回路[DES2]320において、これらレジスタ格納値を適用して、正規の第2ラウンド演算が実行される。この期間t2〜t3では、スイッチSW2はd側に接続され、演算回路[DES2]320のF関数部323に対して、第1鍵スケジュール部353から、正規のラウンド鍵[K]が入力され、正規の第2ラウンドのラウンド演算が実行される。
一方、演算回路[DES1]310では、時間t1〜t2において、演算回路[DES2]320が実行したダミーラウンド演算の結果データを格納したL/Rレジスタ311,312の値を適用したダミーラウンド演算が実行される。この期間t2〜t3では、スイッチSW2はd側に接続され、演算回路[DES1]310のF関数部313に対して、第2鍵スケジュール部362から、ダミーラウンド鍵[Kd22]が入力され、ダミーラウンド演算が実行される。
時刻t3以降も同様、演算回路[DES1]310と演算回路[DES2]320においてそれぞれ一方が正規のラウンド演算、他方がダミーラウンド演算を交互に繰り返す処理が実行される。
図5(8)〜(11)において、各時刻t1,t2,t3・・・をまたいで示された排他論理和(XOR)演算式は、それぞれの時刻における格納データの変更に伴う変化ビットを示す式である。すなわち[1→0]または[0→1]が発生するビット部分を[1]、[0→0]または[1→1]のような変更のないビット部分を[0]として抽出する式である。
本発明の構成においては、各レジスタの格納データは、すべて、正規のラウンド演算結果データと、ダミーラウンド演算結果データが交互に格納される構成であり、このレジスタデータの書き換え時に発生するビット変化は、正規のラウンド演算結果と、それと無関係のダミーラウンド演算結果の排他的論理和となる。ダミーラウンド演算は、正規のラウンド鍵を適用しない、例えば無秩序に発生される乱数であるダミー鍵に基づいて生成されるダミーラウンド鍵を適用した演算結果であり、この結果データは、正規のラウンド鍵の影響をほとんど含まないデータとなる。
例えば、図5に示す時刻t2おいて、
(11)演算回路[DES2]320のレジスタR2,322の格納値
の書き換えに伴うビット変化について解析する。
前述したように、時刻t2においてラウンド演算の正規の第2ラウンドが、演算回路[DES2]320において開始される。従って、時刻t2において、図5に示す
(11)演算回路[DES2]320のレジスタR2,322の格納値
は、時刻t2の前に格納されていたダミーラウンド演算結果[Rd20]から、演算回路[DES1]310において実行された正規の第1ラウンド演算の結果データ[R]に置き換えられることになる。このときのレジスタR2,322の格納値変更に伴うビット変化は、以下の式によって示される。
Figure 2007195132
上記式に含まれる[Rd20]は、ダミーラウンド鍵を適用したダミーラウンド演算結果であり、ダミー演算で生成された未知の値であるため、消費電流の統計処理によるDPA攻撃は不可能である。
この時間t2〜t3の第2ラウンド(Rd2)サイクルでは、SW2は"d"側に切り替えられており、演算回路[DES1]310のF関数部313にはダミー鍵2,361から生成したダミーラウンド鍵"Kd22"が供給され、前サイクルで演算回路[DES2]320の実行したダミーラウンド演算結果"Rd20","Rd21"を用いてダミーのラウンド演算が実行され、その演算結果"Rd21","Rd22"が、演算回路[DES2]320のレジスタに供給される。
同時に演算回路[DES2]320のF関数部323には、正規のDES演算に適用する秘密鍵(マスター鍵)351から生成した正規のラウンド鍵"K"が供給され、演算回路[DES1]310のレジスタ311,312に格納された正規の第1ラウンド演算の演算結果"R","R"を用いて正規のラウンド演算が実行され、その演算結果"R","R"を生成して、演算回路[DES1]310のレジスタ311,312に格納される。
演算回路[DES1]310のレジスタ311,312においては、時刻t3において、ダミーラウンド演算結果から、演算回路[DES2]320の実行した正規の第2ラウンド演算結果データへの書き換えが実行される。この時の演算回路[DES1]310のレジスタ(L1)311,レジスタ(R1)312のビット変化は、以下の式によって示される。
Figure 2007195132
上記式に含まれる[Rd20]、[Rd21]は、ダミーラウンド鍵を適用したダミーラウンド演算結果であり、ダミー演算で生成された未知の値であるため、消費電流の統計処理によるDPA攻撃は不可能である。
この時刻t3において、演算回路[DES2]320のレジスタ(L2)321、レジスタ(R2)322には、ダミーラウンド演算結果"Rd21","Rd22"が取り込まれる。この時のレジスタ(R2)322のビット変化は、以下の式によって示される。
Figure 2007195132
上記式に含まれる[Rd22]は、ダミーラウンド鍵を適用したダミーラウンド演算結果であり、ダミー演算で生成された未知の値であるため、消費電流の統計処理によるDPA攻撃は不可能である。
以下の全てのラウンド演算サイクルの切り替え点において、図5の(8)〜(11)に示すように、すべてのレジスタの格納値は、正規のラウンド演算結果データと、ダミーラウンド演算結果データが交互に格納される設定となる。すなわち、
(8)演算回路[DES1]310のレジスタL1,311の格納値
(9)演算回路[DES1]310のレジスタR1,312の格納値
(10)演算回路[DES2]320のレジスタL2,321の格納値
(11)演算回路[DES2]320のレジスタR2,322の格納値
これらの各レジスタの格納データは、すべて、正規のラウンド演算結果データと、ダミーラウンド演算結果データが交互に格納される設定であり、ビット変化を算出する排他論理和演算式には、すべてダミーラウンド鍵を適用したダミーラウンド演算結果、すなわちダミー演算で生成された未知の値を含むことになるため、消費電流の統計処理によるDPA攻撃は不可能となる。
この演算シーケンスにおいて、第16ラウンド(Rd16)は時間t16〜t17において実行される。正規の第16ラウンド演算は、演算回路[DES2]320において実行される。演算回路[DES2]320は、レジスタL2,321の格納値と、レジスタR2,322の格納値"R14","R15"と、秘密鍵から生成した正規のラウンド鍵"K16"を適用した正規のラウンド演算を実行して、演算結果"R16"を生成し、レジスタR2,322の格納値"R15"と共に、演算回路[DES1]310のレジスタ311,312と、逆置換部(IP−1)302に入力する。逆置換部(IP−1)302における逆置換サイクルにおいてCoutの立ち上がりが発生し、出力レジスタに暗号結果(Crypto)が取り込まれる。
これらの処理の終了後、時刻t18において、SW3がダミー鍵1,352に接続するように切り替えられ、次にDES命令が発行されるまで、第1鍵スケジュール部353は、ダミー鍵1,352から生成されたダミーラウンド鍵を、演算回路[DES1]310、演算回路[DES2]320に出力し、演算回路[DES1]310、演算回路[DES2]320はダミーラウンド演算を実行する。
以上、説明した様に、本発明の暗号処理装置構成では、直列に接続した2つのラウンド演算回路で、正規のラウンド鍵を適用した正規のラウンド演算と、ダミーラウンド鍵を適用したダミーラウンド演算を交互に切り替えて暗号処理演算を実行する構成を有する。この構成によって、各ラウンド演算実行部としての演算回路[DES1,DES2]のL/Rレジスタのすべてにおいて、正規のラウンド演算結果と、ダミーラウンド演算結果が交互に格納されることになり、消費電流の統計処理によるDPA攻撃は不可能となる。
本発明の構成では、レジスタに対する格納値をダミーの値とするのみでなく、実際にDESのラウンド演算と同様のラウンド演算アルゴリズムを適用したダミーラウンド演算を行なって、ダミー演算結果をレジスタに格納する設定とし、レジスタに対する値の格納は正規のラウンド演算の実行と平行して実行しているため、新たなダミーデータの格納サイクルは不要であり、演算のスループットを落とすこと無く、DPA攻撃に対する耐性を高めることができる。
最後に、上述の暗号処理を実行するデバイスとしてのICモジュール600の構成例を図6を参照して説明する。上述の処理は、例えばPC、ICカード、リーダライタ、その他、様々な情報処理装置において実行可能であり、図6に示すICモジュール600は、これら様々な機器に構成することが可能である。
図6に示すCPU(Central processing Unit)601は、暗号処理の開始や、終了、データの送受信の制御、各構成部間のデータ転送制御、さらに上述した各スイッチの切り替え制御、その他の各種プログラムを実行するプロセッサである。メモリ602は、CPU601が実行するプログラム、あるいは演算パラメータとしての固定データを格納するROM(Read-Only-Memory)、CPU601の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用されるRAM(Random Access Memory)等からなる。また、メモリ602は暗号処理に必要な鍵データ等の格納領域として使用可能である。データ等の格納領域は、耐タンパ構造を持つメモリとして構成されることが好ましい。
暗号処理部603は、例えば上述したDESアルゴリズムなど複数段のラウンド関数の繰り返し処理を含む暗号アルゴリズムを実行する暗号処理部である。乱数発生器604は、例えばダミー鍵に適用する乱数の発生処理などを実行する。
送受信部605は、外部とのデータ通信を実行するデータ通信処理部であり、例えばリーダライタ等、ICモジュールとのデータ通信を実行し、ICモジュール内で生成した暗号文の出力、あるいは外部のリーダライタ等の機器からのデータ入力などを実行する。
なお、暗号処理部603において適用される各種の制御信号、例えば前述したスイッチの切り替え制御信号は、クロック606からのクロック信号をトリガにして動作するタイミング発生回路607において生成し、暗号処理部603に供給することが可能である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、処理アルゴリズムを複雑化させることなく、暗号処理シーケンスの持つ規則的な処理に伴う消費電力変動の検出等に基づく電力解析による暗号解析の困難性を高めた暗号処理装置が実現される。
本発明の構成では、例えばDESなど複数段のラウンド関数の繰り返し処理を含む暗号アルゴリズムを実行する暗号処理装置において、ラウンド関数を実行する2つのラウンド演算部と、これらのラウンド演算部に対して、正規のラウンド演算用の正規ラウンド鍵およびダミーラウンド演算用のダミーラウンド鍵を出力する鍵スケジュール部とを有する構成とし、各ラウンド演算部は、正規ラウンド鍵を適用した正規ラウンド演算と、ダミーラウンド鍵を適用したダミーラウンド演算とを並列に交互に繰り返し実行し、一方のラウンド演算部の演算結果を他方のラウンド演算部の演算用データを格納するレジスタに相互に供給する構成としたので、各ラウンド演算部の演算結果を格納するレジスタにおいて、正規のラウンド演算結果と、ダミーラウンド演算結果が交互に格納されることになり、消費電流の統計処理によるDPA攻撃に対する耐性の高い暗号処理装置が実現される。
DES暗号処理の基本構成を示す図である。 DES演算回路の構成を示す図である。 F関数の構成を示す図である。 本発明の一実施例に係る暗号処理実行回路の構成を示す図である。 図4に示す回路の動作時の処理、データ遷移を説明するタイミングチャートを示す図である。 本発明の構成が適用可能な暗号処理実行デバイスとしてのICモジュールの構成例を示す図である。
符号の説明
110 ラウンド関数部
111 初期置換部
112,113 変換部
114 逆置換部
120 鍵スケジュール部
121 マスター鍵(秘密鍵)置換部
122,123 鍵生成部
141 初期置換部
142 逆置換部
150 ラウンド関数部
151 Lレジスタ
152 Rレジスタ
153 F関数部
154 排他論理和演算(XOR)部
171 拡張部
172 置換部
181 Sボックス
301 初期置換部
302 逆置換部
310 DES演算回路
311 レジスタ
312 レジスタ
313 F関数部
320 DES演算回路
321 レジスタ
322 レジスタ
323 F関数部
351 秘密鍵
352 ダミー鍵1
353 第1鍵スケジュール部
361 ダミー鍵2
362 第2鍵スケジュール部
600 ICモジュール
601 CPU(Central processing Unit)
602 メモリ
603 暗号処理部
604 乱数発生器
605 送受信部
606 クロック
607 タイミング発生回路

Claims (6)

  1. ラウンド関数の繰り返し処理を含む暗号処理演算を実行する暗号処理装置であり、
    ラウンド関数を実行する第1ラウンド演算部と、
    ラウンド関数を実行する第2ラウンド演算部と、
    前記第1ラウンド演算部と、前記第2ラウンド演算部に対して、正規のラウンド演算用の正規ラウンド鍵およびダミーラウンド演算用のダミーラウンド鍵を出力する鍵スケジュール部とを有し、
    前記第1ラウンド演算部および前記第2ラウンド演算部は、
    前記正規ラウンド鍵を適用した正規ラウンド演算と、ダミーラウンド鍵を適用したダミーラウンド演算とを並列に交互に繰り返し実行し、一方のラウンド演算部の演算結果を他方のラウンド演算部の演算用データを格納するレジスタに相互に供給する構成を有することを特徴とする暗号処理装置。
  2. 前記第1ラウンド演算部および前記第2ラウンド演算部の各々は、
    演算用データを格納する2つのレジスタを有し、
    一方のラウンド演算部の演算結果として生成される2つのデータを他方のラウンド演算部の2つのレジスタに相互に供給する構成を有することを特徴とする請求項1に記載の暗号処理装置。
  3. 前記第1ラウンド演算部および前記第2ラウンド演算部は、
    一方のラウンド演算部の演算結果を他方のラウンド演算部の演算用データの格納レジスタに入力する際のレジスタ格納値の変更処理として、
    (a)正規ラウンド演算結果からダミーラウンド演算結果への格納データの変更、
    (b)ダミーラウンド演算結果から正規ラウンド演算結果への格納データの変更、
    いずれかの処理態様でのレジスタ格納値の変更処理を実行する構成であることを特徴とする請求項1に記載の暗号処理装置。
  4. 前記鍵スケジュール部は、
    正規のラウンド演算用のマスター鍵としての秘密鍵から、ラウンド関数の各ラウンドに適用するラウンド鍵を順次生成し、さらに、ダミー鍵に基づいて各ダミーラウンド用のダミーラウンド鍵を順次生成し、前記第1ラウンド演算部および前記第2ラウンド演算部に出力する構成であることを特徴とする請求項1に記載の暗号処理装置。
  5. 前記ラウンド演算部は、非線形変換部としてのSボックスを有し、
    前記レジスタは、前記Sボックスによる非線形変換処理を含むラウンド演算処理の結果データを格納する構成であることを特徴とする請求項1に記載の暗号処理装置。
  6. 前記暗号処理装置は、
    DES(Data Encryption Standard)アルゴリズムに従った暗号処理演算を実行する構成であることを特徴とする請求項1に記載の暗号処理装置。
JP2006056311A 2005-12-20 2006-03-02 暗号処理装置 Pending JP2007195132A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006056311A JP2007195132A (ja) 2005-12-20 2006-03-02 暗号処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005365869 2005-12-20
JP2006056311A JP2007195132A (ja) 2005-12-20 2006-03-02 暗号処理装置

Publications (1)

Publication Number Publication Date
JP2007195132A true JP2007195132A (ja) 2007-08-02

Family

ID=38450435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006056311A Pending JP2007195132A (ja) 2005-12-20 2006-03-02 暗号処理装置

Country Status (1)

Country Link
JP (1) JP2007195132A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223503A (ja) * 2008-03-14 2009-10-01 Toshiba Corp 携帯可能電子装置およびicカード
JP2010011353A (ja) * 2008-06-30 2010-01-14 Fujitsu Ltd 演算処理装置
EP2284748A1 (fr) * 2009-08-05 2011-02-16 STMicroelectronics Rousset SAS Procédé de contremesure pour protéger des données mémorisées
FR2955436A1 (fr) * 2010-01-19 2011-07-22 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique
WO2012070478A1 (ja) * 2010-11-26 2012-05-31 シャープ株式会社 暗号処理装置
US20130064362A1 (en) * 2011-09-13 2013-03-14 Comcast Cable Communications, Llc Preservation of encryption
US8699884B2 (en) 2009-03-30 2014-04-15 Fujitsu Limited Optical transmission system and optical transmission method
US8842824B2 (en) 2011-11-28 2014-09-23 Nec Corporation Encryption processing circuit and decryption processing circuit, methods thereof, and programs thereof
JP2014192793A (ja) * 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
JP2017028506A (ja) * 2015-07-22 2017-02-02 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム
JP2018060159A (ja) * 2016-10-05 2018-04-12 株式会社メガチップス 暗号化装置、メモリ装置、ホスト装置、及びメモリシステム
KR20200039405A (ko) * 2018-10-05 2020-04-16 삼성전자주식회사 가상 암호화 연산을 수행하는 암호화 회로
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

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223503A (ja) * 2008-03-14 2009-10-01 Toshiba Corp 携帯可能電子装置およびicカード
JP2010011353A (ja) * 2008-06-30 2010-01-14 Fujitsu Ltd 演算処理装置
US8699884B2 (en) 2009-03-30 2014-04-15 Fujitsu Limited Optical transmission system and optical transmission method
EP2284748A1 (fr) * 2009-08-05 2011-02-16 STMicroelectronics Rousset SAS Procédé de contremesure pour protéger des données mémorisées
US9483663B2 (en) 2009-08-05 2016-11-01 Stmicroelectronics (Rousset) Sas Countermeasure method for protecting stored data
EP2355400A1 (fr) * 2010-01-19 2011-08-10 STMicroelectronics (Rousset) SAS Procédé et dispositif de contremesure pour protéger des données circulant dans un composant électronique
US8958549B2 (en) 2010-01-19 2015-02-17 Stmicroelectronics (Rousset) Sas Countermeasure method and device for protecting data circulating in an electronic component
FR2955436A1 (fr) * 2010-01-19 2011-07-22 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique
WO2012070478A1 (ja) * 2010-11-26 2012-05-31 シャープ株式会社 暗号処理装置
US11418339B2 (en) 2011-09-13 2022-08-16 Combined Conditional Access Development & Support, Llc (Ccad) Preservation of encryption
US20130064362A1 (en) * 2011-09-13 2013-03-14 Comcast Cable Communications, Llc Preservation of encryption
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods
US8842824B2 (en) 2011-11-28 2014-09-23 Nec Corporation Encryption processing circuit and decryption processing circuit, methods thereof, and programs thereof
JP2014192793A (ja) * 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
JP2017028506A (ja) * 2015-07-22 2017-02-02 株式会社メガチップス メモリ装置、ホスト装置、及びメモリシステム
JP2018060159A (ja) * 2016-10-05 2018-04-12 株式会社メガチップス 暗号化装置、メモリ装置、ホスト装置、及びメモリシステム
KR20200039405A (ko) * 2018-10-05 2020-04-16 삼성전자주식회사 가상 암호화 연산을 수행하는 암호화 회로
KR102628010B1 (ko) 2018-10-05 2024-01-22 삼성전자주식회사 가상 암호화 연산을 수행하는 암호화 회로
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

Similar Documents

Publication Publication Date Title
JP2007195132A (ja) 暗号処理装置
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
JP4783104B2 (ja) 暗号化/復号装置
JP4960044B2 (ja) 暗号処理回路及びicカード
US7659837B2 (en) Operation processing apparatus, operation processing control method, and computer program
JP4905000B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP4801699B2 (ja) 暗号処理装置および暗号処理方法
CN1989726A (zh) 用于执行加密计算的方法和装置
EP1496641A2 (en) Cryptographic processing apparatus, cryptographic processing method and computer program
WO2015193789A1 (en) Differential power analysis countermeasures
CN112422272A (zh) 一种防功耗攻击的aes加密方法及电路
JP3733027B2 (ja) 秘密鍵式暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
de Groot et al. Bitsliced masking and ARM: Friends or foes?
JP2007174024A (ja) 暗号処理装置
JP2005134478A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP2006019872A (ja) 暗号処理装置
JP4935229B2 (ja) 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
JP2005031471A (ja) 暗号処理装置、および暗号処理方法
JP2006054568A (ja) 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム
JP4765609B2 (ja) 暗号処理装置
CN110071927B (zh) 一种信息加密方法、系统及相关组件
JP2005045752A (ja) 暗号処理装置、および暗号処理方法
Savitha et al. Implementation of AES algorithm to overt fake keys against counter attacks
JP2007325219A (ja) 暗号処理システムおよび暗号処理装置
JP2007251390A (ja) 半導体集積回路