JP4960044B2 - 暗号処理回路及びicカード - Google Patents

暗号処理回路及びicカード Download PDF

Info

Publication number
JP4960044B2
JP4960044B2 JP2006238040A JP2006238040A JP4960044B2 JP 4960044 B2 JP4960044 B2 JP 4960044B2 JP 2006238040 A JP2006238040 A JP 2006238040A JP 2006238040 A JP2006238040 A JP 2006238040A JP 4960044 B2 JP4960044 B2 JP 4960044B2
Authority
JP
Japan
Prior art keywords
data
register
circuit
input
key
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
JP2006238040A
Other languages
English (en)
Other versions
JP2008061118A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006238040A priority Critical patent/JP4960044B2/ja
Priority to US11/842,331 priority patent/US8457306B2/en
Publication of JP2008061118A publication Critical patent/JP2008061118A/ja
Application granted granted Critical
Publication of JP4960044B2 publication Critical patent/JP4960044B2/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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号処理回路及びICカードに関し、特に電力解析に対する耐性を有する暗号処理回路及びICカードに関する。
従来より、種々のシステムにおいて、秘密情報を保護するための暗号処理技術が用いられている。
現在実用化され、広く利用されている、例えば電子マネーシステム、交通システム等のシステムにおいても、個人情報、残高情報等の秘密情報が扱われるため、暗号処理技術が用いられている。そして、その暗号処理技術に関しては、種々の技術が提案されている。
その種々の提案技術の中には、例えば、暗号化方式の1つであるDES(Data Encryption Standard)の鍵スケジュールの高速化等に関するもの(例えば、特許文献1参照)、等のように暗号化処理技術に関するものだけでなく、近年は、いわゆる電力解析攻撃への対策に関するもの(例えば、特許文献2参照)もある。
その特許文献2に開示の電力解析攻撃対策のための暗号処理装置では、暗号処理されるデータを保持するレジスタと、その反転データを保持するレジスタを含んで構成されている。例えば、CMOSでは、データの変化に依存して電力が消費される。
しかし、そのような暗号処理装置では、レジスタに保存される内容は、通常の暗号処理で使用されるデータであり、そのデータは、全く隠されていない。また、このように反転データを保持したとしても通常のデータを保持するレジスタと反転データを保持するレジスタで消費される電力は、必ずしも互いに相殺するものではない。従って、電力解析攻撃を受けると、暗号処理に用いられる秘密データが取り出されてしまう虞がある。
特開2002-25366号公報 特開2005-31471号公報
本発明は、このような問題に鑑みてなされたものであり、消費電力を解析しても秘密情報を、より取り出し難くして、電力解析攻撃耐性の高い暗号処理回路を実現することを目的とする。
本発明の一態様によれば、 暗号処理を行う暗号処理回路であって、前記暗号処理に用いられる入力データに関連した第1のデータが入力される第1のレジスタと、前記第1のデータと依存関係のない第2のデータが入力される第2のレジスタと、前記第1のデータと前記第2のデータを交互に選択して前記第1のレジスタと前記第2のレジスタで交互に保持されるように、前記第1のレジスタと前記第2のレジスタに出力する選択回路と、前記第1のレジスタから出力されるデータに対して、第1の演算を行う第1の演算回路と、を有する暗号処理回路。が提供できる。
本発明の一態様によれば、暗号処理を行う暗号処理回路であって、前記暗号処理に用いられる入力データに関連したデータを分割し第1及び第2のデータそれぞれ入力される第1及び第2のレジスタと、前記第1のデータと依存関係のないデータを分割し第3及び第4のデータそれぞれ入力される第3及び第4のレジスタと、前記第1のデータと前記第3のデータを交互に選択して前記第1のレジスタと前記第3のレジスタで交互に保持されるように、前記第1のレジスタと前記第3のレジスタに出力し、かつ前記第2のデータと前記第4のデータを交互に選択して前記第2のレジスタと前記第4のレジスタで交互に保持されるように、前記第2のレジスタと前記第4のレジスタに出力する選択回路と、前記第1、前記第2,前記第3及び前記第4のレジスタのそれぞれから出力されるデータに対して、所定の演算を行う演算回路と、を有する暗号処理回路が提供できる。
本発明によれば、消費電力を解析しても秘密情報を、より取り出し難くして、電力解析攻撃耐性の高い暗号処理回路を実現することができる。
以下、図面を参照して本発明の実施の形態を説明する。
(第1の実施の形態)
まず図1に基づき、本発明の第1の実施の形態に係わるシステムの構成を説明する。図1は、本発明の第1の実施の形態に係わる暗号処理回路が利用されるシステムの例を説明するための構成図である。
図1において、システム1は、応用装置2と、その応用装置2に接続された端末装置3から構成される。端末装置3は、IC(Integrated Circuit)カード4が装着可能になっている。ICカード4は、暗号処理モジュールを有する装置の一つの例である。応用装置2は、通信回線5を介して端末装置3と接続されている。
ここでは、システム1は、例としてドアの開閉制御を行うシステムとして説明する。端末装置3は、カードリーダ装置であり、部屋の外壁に設けられている。ユーザは、自己のICカード4を端末装置3に挿入することによって、ドアのロックが外れ、部屋に入ることができる。このとき、システム1の制御装置である応用装置2が、ICカード4に対して、チャレンジレスポンス等の手順に従った所定の通信をして、ICカード4が正しいカードであるか否かを判定する。
ICカード4は、暗号処理回路を有し、与えられた情報、すなわち暗号化すべき情報に対して暗号処理を施し、その結果情報すなわち暗号文を生成する機能を有する。応用装置2も、ICカード4と同じ暗号化処理を実行できる回路あるいはソフトウエアを有している。具体的には、ある情報を応用装置2がICカード4に与え、ICカード4がその情報に対して秘密情報(例えば鍵データ)を用いて暗号化した結果情報を応用装置2へ返すように、システム1は構成されている。応用装置2も、ICカード4に与えた同じ情報に対して、ICカード4に対応する秘密情報(ICカード4が暗号処理に用いた秘密情報と同じ情報)を用いて暗号化して結果情報を得ておく。
応用装置2は、自己の暗号化した結果情報と比較して、ICカード4が同じ結果情報を返してきたときは、ICカード4は正規なカードであると判断して、ドアのロックを外す指示をドアへ出力する。もしも、ICカード4が同じ結果情報を返してこないときは、正しい秘密情報を用いて暗号化していないことになるので、ICカード4は正規なカードでないと判断して、ドアのロックを外す指示をドアへ出力しない。
なお、システム1の例として、ドアの開閉制御システムを説明したが、本実施の形態に係る暗号処理回路は、電子マネーシステム、交通システム等においても適用できるものであることは言うまでもない。
次に、ICカード4の構成について説明する。図2は、ICカード4の構成を示すブロック図である。
ICカード4は、内部に、CPU11、プログラムが格納されたROM12、RAM13、不揮発性メモリであるEEPROM14、暗号回路モジュール15及び送受信部16を含んで構成されている。ICカード4は、電源用の2つの端子と、データの送受信用の端子を有する。
CPU11、ROM12、RAM13、EEPROM14、暗号回路モジュール15及び送受信部16は、1チップの半導体装置として構成される。EEPROM14には、そのICカード4に関する秘密情報が記憶されている。暗号回路モジュール15は、入力された暗号化すべき情報に対して暗号化処理を施し、暗号文を生成する。
CPU11等の各回路部は、外部端子である2つの電源端子17,18から電源の供給を受け、さらに、内部バス19によって相互に接続されている。ICカード4は、送受信部16を介して外部との通信を行う。その通信には、送受信部16に接続された、データ送受信用の入出力端子20が用いられる。なお、ICカード4は、図示はしないが、他にもCPU11のリセット用のリセット端子と、クロック端子も有している。
ICカード4は、外部からの入出力端子20への入力データがあると、CPU11は、EEPROM14から秘密情報を読み出して、入力データに対してその秘密情報を用いて暗号回路モジュール15において所定の暗号化処理を施す。CPU11は、暗号回路モジュール15の暗号化処理の結果情報を送受信部16に出力する。その結果、ICカード4は、暗号化処理された結果情報を、入出力端子20から出力する。
図3は、暗号回路モジュール15の構成を示すブロック図である。ここでは、暗号回路モジュール15は、DES(Data encryption standard)アルゴリズムに従う暗号処理用の処理モジュールである。
DESアルゴリズムは、1977年に米国政府によって米国政府標準暗号として制定された共通鍵暗号アルゴリズムであり、多くの標準団体によって規格が定められている。例えば、FIPS46-3, ANSI X3.92, SP800-67, ISO10126-2で標準化されている。
暗号回路モジュール15には、暗号処理に用いられる入力データとして、平文データ(以下、単に平文ともいう)Dと、鍵データ(以下、単に鍵ともいう)DKとが入力される。そのため、暗号回路モジュール15は、暗号化される情報である平文Dが入力される入力端子21と、秘密情報である鍵DKが入力される入力端子22と、暗号化された結果情報、すなわち暗号文が出力される出力端子23を有する。さらに、暗号回路モジュール15には、鍵DKとは依存関係のない撹乱データが入力される。そのため、暗号回路モジュール15は、撹乱情報である撹乱データが入力される2つの端子24,25を有する。入力端子24には、平文用の撹乱データMが入力され、入力端子25には、鍵用の撹乱データMKが入力される。
なお、本実施の形態では、平文用と鍵用の2つの撹乱データM,MKを用いた例で説明するが、鍵用の処理だけに、あるいは平文用だけに、撹乱データを用いるようにしてもよい。例えば、鍵用の処理だけの場合では、鍵に対する演算と撹乱データに対する演算の2つの処理を実行することになるので、撹乱データを用いない平文の処理では、鍵に対する演算に合致するタイミングで実行されるように、暗号回路モジュール15内の各回路のタイミングが調整される。
暗号回路モジュール15は、スクランブル部31と、鍵スケジュール部32とを有する。ラウンド関数部であるスクランブル部31は、2つのセレクタ51,52と、2つのレジスタ53,54と、所定の演算処理を行う演算部としての関数処理部55とを含む。
セレクタ51には、レジスタ53が接続され、セレクタ52には、レジスタ54が接続されている。セレクタ51には、入力端子21からの平文データDと、レジスタ54からのデータの2つのデータが入力され、所定のタイミングに従って一方のデータを選択して出力する。セレクタ51は、選択されたデータをレジスタ53に出力する。レジスタ53は、入力されたデータを保持して所定のタイミングで関数処理部55に出力する。関数処理部55は、別途鍵データとして入力されたデータを用いて、f関数の演算処理と排他的論理和処理とを行い、暗号演算の中間結果のデータをセレクタ52に出力する。
なお、ラウンド関数部、f関数等は、米国のFIPS(Federal Information Processing Standard)において米国政府標準暗号として定められているものである(詳しくは、URL(http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf)を参照)。
因みに、ラウンド関数部は、DESアルゴリズムにおけるデータ暗号処理における繰り返し演算を行う部分である。繰り返し演算は、16回行われ、DESアルゴリズムで定義されるf関数(cipher function f(R,K))と排他論理和で構成される。
セレクタ52には、入力端子24からの撹乱データMと、関数処理部55からのデータの2つのデータが入力され、所定のタイミングに従って一方のデータを選択して出力する。撹乱データMは、暗号化すべきデータである平文とは依存関係のない、すなわち暗号処理とは無関係なデータである。セレクタ52は、選択されたデータをレジスタ54に出力する。レジスタ54に保持されたデータは、所定のタイミングでセレクタ51に入力される。
図3に示すように、スクランブル部31では、セレクタ51と52が選択回路を構成する。そのため、レジスタ54の出力は、平文Dが入力されるセレクタ51に入力され、関数処理部55の出力は、撹乱データMが入力されるセレクタ52に入力されるように、所謂たすきがけとなるように各回路が接続されている。レジスタ53の出力は、最終的には、所定の出力タイミングで暗号文データとして出力される。
同様に、鍵スケジュール部32は、2つのセレクタ61,62と、2つのレジスタ63,64と、所定の演算処理を行う演算部としてのシフト演算用の回路、ここでは暗号化のための左シフト回路65とを含む。
セレクタ61には、レジスタ63が接続され、セレクタ62には、レジスタ64が接続されている。セレクタ61には、入力端子22からの鍵データDKと、レジスタ64からのデータの2つのデータが入力され、所定のタイミングに従って一方のデータを選択して出力する。セレクタ61は、選択されたデータをレジスタ63に出力する。レジスタ63は、入力されたデータを保持して所定のタイミングで左シフト回路65に出力する。左シフト回路65は、所定数だけデータを左シフトして、その左シフトした中間結果データをセレクタ62に出力する。
なお、左シフト回路65は、いわゆる循環シフト回路であり、例えば8ビットデータの例で説明すれば、10100010を左シフトすると01000101となるように、最上位の1を最下位ビットに移動する左シフト回路である。
さらに、レジスタ63の出力は、関数処理部55に供給され、関数処理部55のf関数において鍵データとして用いられる。なお、左シフト回路65には、シフト数を指示あるいは制御するためのシフト数指示信号Sが入力されている。左シフト回路65は、シフト数指示信号Sに基づいて、指示された数、ここでは1又は2だけ入力データをシフトする。シフト数は、DESの規格によって、繰り返される16ラウンドの段毎に定まる。
セレクタ62には、入力端子25からの撹乱データMKと、左シフト回路65からのデータの2つのデータが入力され、所定のタイミングに従って一方のデータを選択して出力する。撹乱データMKは、秘密情報である鍵データDKとは依存関係のないデータである。なお、撹乱データMKは、入力端子24に入力される撹乱データMと同一でもよいし、鍵データDKと無関係なデータであれば、異なっていてもよい。セレクタ62は、選択されたデータをレジスタ64に出力する。レジスタ64に保持されたデータは、所定のタイミングでセレクタ61に入力される。
図3に示すように、鍵スケジュール部32では、セレクタ61と62が選択回路を構成する。そのため、レジスタ64の出力は、鍵が入力されるセレクタ61に入力され、左シフト回路65の出力は、撹乱データMKが入力されるセレクタ62に入力されるように、所謂たすきがけとなるように各回路が接続されている。
図3の暗号回路モジュール15内の各回路は、DESの暗号化処理を行うべく64ビットの入力データに対して、16回の変換処理を行って、64ビットの暗号文データを出力する。そのため、暗号モジュール15内の各回路は、所定のタイミングで駆動され、16回の変換処理を実行する。なお、以下の説明では、暗号化の処理を説明するが、DESアルゴリズムの復号化の処理においても、図3の回路は利用でき、その場合、暗号文が入力され、鍵系列は暗号化とは逆の順となる。
図4は、図3の暗号回路モジュールの動作を説明するための図である。
64ビットの平文Dは、図示しない初期転置回路(IP:Initial Permutation)を経て、32ビットずつの2つのデータD1,D2に分割される。データD1,D2は、セレクタ51を介してレジスタ53に入力され保持される。64ビットの撹乱データMも、セレクタ52介して32ビットずつの2つのデータM1,M2に分割される。撹乱データM1,M2は、セレクタ52を介してレジスタ54に入力されて保持される。
同様に、64ビットの鍵DKは、図示しない縮約型転置回路(PC1:Permuted Choice 1)によりパリティビットが取り除かれビット入れ替えが行われ、残りの56ビットが、28ビットずつの2つのデータに分割される。鍵DKのその2つのデータは、セレクタ61を介してレジスタ63に入力されて保持される。その2つのデータは、図4では、1つの鍵データDK1として示している。その保持された鍵データDK1は、はじめに、所定のタイミングで左シフト回路65によって1ビットだけ左シフトする処理が行われる。
56ビットの撹乱データMKも、セレクタ62介して28ビットずつの2つのデータに分割される。撹乱データMKのその2つのデータは、セレクタ62を介してレジスタ64に入力されて保持される。その2つのデータは、図4では、1つの鍵データMK1として示している。
なお、上述した左シフト回路、初期転置回路、縮約型転置回路も、上述した米国のFIPSにおいて米国政府標準暗号として定められているものである(詳しくは、URL(http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf)を参照)。
因みに、左シフトとは、DESアルゴリズムの鍵スケジュールで定義され、28ビットのデータを左に1ビットシフトし、最も左の1ビットを右に移動する処理である。すなわち、1, 2, 3, ‥28が2, 3, 4, ‥, 28, 1のように変換される処理である。初期転置とは、DESアルゴリズムで定義されるビットの並べ替え処理である。縮約型転置回路とは、DESアルゴリズムの鍵スケジュールで定義され、ビットの選択と並べ替え処理である。
レジスタ53のデータD1,D2と、レジスタ63の鍵データDK1は、所定のタイミングで読み出されて、関数処理部55においてf関数の演算処理と排他的論理和処理が施される。このとき、関数処理部55では、入力された平文のデータD1,D2に対して鍵データDK1を用いて、f関数の演算処理と排他的論理和処理が施される。
以上の第1段目の単位処理が時間t1内に実行されるように、各回路は制御される。
次のタイミングで、スクランブル部31の選択回路であるセレクタ51と52のそれぞれにおいて選択される入力データは、切り換えられる。すなわち、セレクタ51は、レジスタ54の出力データを選択し、レジスタ53が撹乱データM1,M2を保持する。同様に、セレクタ52は、関数処理部55からの出力データを選択し、レジスタ54は、データD2と関数処理されたデータD3とを保持する。
同様に、鍵スケジュール部32の選択回路であるセレクタ61と62のそれぞれにおいて選択される入力データも、切り換えられる。すなわち、セレクタ61は、レジスタ64の出力データを選択し、レジスタ63が撹乱データMK1を保持する。同様に、セレクタ62は、左シフト回路65からの出力データを選択し、レジスタ64が左シフトの関数処理されたデータDK2を保持する。さらに、レジスタ63の撹乱データMK1は、次のタイミングで読み出されて、左シフト回路65において左シフト処理が施される。
レジスタ53のデータM1,M2と、レジスタ63のデータMK1は、所定のタイミングで読み出されて、関数処理部55においてf関数の演算処理と排他的論理和処理が施される。このとき、関数処理部55では、入力された撹乱のデータM1,M2に対して撹乱データMK1を用いて、f関数の演算処理と排他的論理和処理が施される。
以上の2段目の単位処理が、時間t1後の時間t2内に実行されるように、各回路は制御される。
次のタイミングでは、スクランブル部31のセレクタ51と52のそれぞれにおいて選択する入力データは、切り換えられない。すなわち、セレクタ51は、レジスタ54の出力データを選択し、レジスタ53が、入力データD2と、第1段目で得られた関数処理されたデータD3を保持する。同様に、セレクタ52は、関数処理部55からの出力データを選択し、レジスタ54は、撹乱データM2と、関数処理された撹乱データM3を保持する。
同様に、鍵スケジュール部32のセレクタ61と62のそれぞれにおいて選択する入力データも、切り換えられない。すなわち、セレクタ61は、レジスタ64の出力データを選択し、レジスタ63が出力データDK2を保持する。同様に、セレクタ62は、左シフト回路65からの出力データを選択し、レジスタ64が関数処理された撹乱データMK2を保持する。さらに、レジスタ63の鍵データDK2は、次のタイミングで読み出されて、左シフト回路65において左シフト処理が施される。
レジスタ53のデータD2,D3と、レジスタ63のデータDK2は、所定のタイミングで読み出されて、関数処理部55においてf関数処理と排他的論理和処理が施される。このとき、関数処理部55では、データD2,D3に対して鍵データDK2を用いて、関数処理と排他的論理和処理が施される。
以上の第3段目の単位処理が、時間t2後の時間t3内に実行されるように、各回路は制御される。
以下、同様に、処理は繰り返され、16段目の処理が終了するまで、単位処理が実行される。最後の16段目の単位処理が終了すると、レジスタ53の出力データが暗号文として出力端子23から出力される。
以上のように、各レジスタには、選択回路によって、暗号処理に必要なデータと、暗号処理とは無関係なデータが交互に選択されて、保持され、かつ、暗号処理に必要なデータとその無関係なデータとが同時に存在する。
以上のような処理の結果、暗号処理における中間データの変化は、暗号回路モジュール15内の消費電力の撹乱を生じさせる。
図5は、レジスタにストアされるデータの変化を説明するためのタイミングチャートである。図5は、クロックCLKのタイミングに応じて、レジスタ53,54,63,64にストアされるデータの変化を示す。
各レジスタには、平文D或いは鍵DKから生成されたデータ(具体的には、平文Dの2つのデータD1,D2とその後の中間結果データ、並びに鍵Kとその後の中間結果データ)と、撹乱データM或いはMKから生成されたデータ(具体的には、撹乱データMの2つのデータM1,M2とその後の中間結果データ、並びに撹乱データMKとその後の中間結果データ)とが交互に選択されてストアされている。さらに、スクランブル部31のレジスタ53と54には、平文Dから生成されたデータと撹乱データMから生成されたデータとが同じタイミングで、ストアされる。同様に、鍵スケジュール部32のレジスタ63と64には、鍵DKから生成されたデータと撹乱データMKから生成されたデータとが同じタイミングで、ストアされる。
特に、EEPROM14から読み出される鍵データDK、撹乱データMK及びその後のそれぞれの中間データは、時間変化に従ってみれば、レジスタ63,64に交互に選択されて保持される。そして、各レジスタに保持されるデータは、時系列の順序でみると、鍵データDKと、その鍵データDKとは無関係な撹乱データMKが同じタイミングで存在する。
従って、ICカード4の消費電力変化は、各レジスタには平文と鍵の両方のデータと、撹乱データの合わさった波形に基づくものであるので、ICカード4の消費電力を解析しても秘密情報は、より取り出し難いものとなっている。
次に、鍵スケジュール部32の変形例を説明する。図6は、第1の実施の形態の鍵スケジュール部の変形例を示すブロック図である。本変形例では、演算回路であるシフト回路は、2つのレジスタからのそれぞれのデータに対応して、分割して設けられている。 具体的には、変形例に係る鍵スケジュール部32Aは、左シフト回路をさらにもう一つ有し、レジスタ64の出力を、左シフト回路66を介してセレクタ61の入力に出力するように構成されている。すなわち、図6に示すように、レジスタ63と62の間と、レジスタ64と61の間に、左シフト回路65と66がそれぞれ配置される。さらに、左シフト回路65と66は、共に同等の機能を有し、シフト数指示信号Sに基づいて、指示された数だけ入力データをシフトするが、ここでは、入力データを0又は1だけシフトするようにシフト指示信号Sが入力される。具体的には、入力データを1ビットだけ左シフトするときは、左シフト回路65には、シフト数1のシフト指示信号Sが入力され、左シフト回路66には、シフト数0のシフト指示信号Sが入力される。入力データを2ビットだけ左シフトするときは、左シフト回路65と66には、共にシフト数1のシフト指示信号Sが入力される。
図7は、図6の鍵スケジュール部の動作を説明するための図である。図8は、図6のレジスタ63,64にストアされるデータの変化を説明するためのタイミングチャートである。1ビットの左シフトを行うときは、鍵データDK(i)に対して、一方の左シフト回路65で所定の時間t(k)内において1ビットの左シフトを行い、次の所定の時間t(k+1) 内において他方の左シフト回路66で0ビットの左シフトを行う。撹乱データMK(i)に対しては、左シフト回路66で所定の時間t(k)内において0ビットの左シフトを行い、次の所定の時間t(k+1) 内において左シフト回路65で1ビットの左シフトを行う。
次に、2ビットの左シフトを行うときは、鍵データDK(i+1)に対して、左シフト回路65で所定の時間t(k+2)内において1ビットの左シフトを行い、次の所定の時間t(k+3) 内において左シフト回路66で1ビットの左シフトを行う。撹乱データMK(i+1)に対しては、左シフト回路66で所定の時間t(k+2)内において1ビットの左シフトを行い、次の所定の時間t(k+3) 内において左シフト回路65で1ビットの左シフトを行う。言い換えると、2つの左シフト回路65と66は、それぞれ2ビットの左シフト処理を、それぞれ一部実行している。
また、図8に示すように、図6の回路においても、鍵データDKと撹乱データMKは交互に選択され、レジスタ63と64のそれぞれにおいて保持される。
以上のようにして、DESの16ラウンドの各段に対応して必要な左シフト処理を、2つの同様な回路に分割して実行させるようにしたので、暗号回路モジュール15におけるクリティカルパスを短くすることができ、より高速な左シフト処理が可能となる。
さらに、鍵データ自体が、暗号回路モジュール15内のレジスタに保持されることがないように、暗号回路モジュール15内で処理される鍵データを、撹乱データによって撹乱処理し、その撹乱処理されたデータを、暗号処理回路モジュール15内の各回路で処理されるようにしてもよい。図9は、鍵データ自体が、暗号回路モジュール15内でそのままレジスタに保持されることがないようにした回路構成の例を示すブロック図である。
図9に示すように、入力される鍵データDKは、鍵データDKとは依存関係のない撹乱データMKあるいは鍵データDKとは依存関係のない他の撹乱データを用いて撹乱される。具体的には、鍵データDKを直接セレクタ61に入力するのではなく、鍵データDKと撹乱データMKとの排他的論理和処理の結果を、セレクタ61に入力するようにする。鍵データDKが入力される入力端子22と撹乱データMKが入力される入力端子25の出力の排他的論理和をとる排他的論理和回路71を設け、その排他的論理和回路71の出力がセレクタ61に入力される。なお、このとき、レジスタ63の出力とレジスタ64の出力との排他的論理和をとる排他的論理和回路72を設け、その排他的論理和回路72の出力が鍵データとして関数処理部55に入力される。
なお、図9の場合において、撹乱データを生成するために、排他的論理和回路71,72の代わりに、線形な関係を有するシフトを行うシフト回路を用いるようにしてもよい。
以上のように構成することによって、暗号回路モジュール15内では、鍵データ自体がレジスタに保持されることがないので、消費電力の依存性をさらに小さくすることができる。
よって、ICカード4を破壊して、暗号回路モジュール15の部分を剥き出しにして、プローブ等を用いて電圧変化等の検出をしようとしても鍵データ自体の電圧変化が検出されないことになる。
以上のように、本実施の形態の暗号処理回路によれば、ICカードの電源端子等における消費電力解析による攻撃に対して耐性が高くすることができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係る暗号回路モジュールについて説明する。図10は、第2の実施の形態に係る暗号回路モジュールの鍵スケジュール部の構成を示すブロック図である。ここでは、鍵スケジュール部は、DES用である。図11は、DESのアルゴリズムを示す図である。図12は、シフト回路の構成を示すブロック図である。図13は、図10の回路の各種信号のタイミングを示すタイミングチャートである。
図10に示すように、鍵スケジュール部32Bは、撹乱回路101と、いわゆる縮約型転置回路(PC1)と呼ばれる2つのビット選択回路102、112と、4つのセレクタ103,104,113,114と、4つのレジスタ105,106,115,116と、4つのシフト回路107,108,117,118と、いわゆる縮約型転置回路(PC2)と呼ばれる2つのビット選択回路109、119とを含む。また、鍵スケジュール部32Bは、暗号処理に用いられる入力である鍵データが入力される入力端子121と、鍵データは依存関係のない撹乱データが入力される入力端子122と、拡大鍵データを出力する出力端子123と、撹乱データを出力する出力端子124とを有する。
入力端子121は、撹乱回路101に接続されている。入力端子122は、撹乱回路101とビット選択回路112に接続されている。従って、撹乱回路101は、入力データに関連したデータを、出力データとして、ビット選択回路102に入力する。
ビット選択回路102は、64ビットの撹乱された鍵データの中から56ビットを選択して、28ビットずつのデータに分割して、それぞれを2つのセレクタ103,104のそれぞれの1つの入力端に出力する。
セレクタ103と104の出力は、それぞれレジスタ105と106に接続される。レジスタ105と106の出力は、それぞれシフト回路107と108に接続される。すなわち、レジスタ105と106は、分割された2つのデータを保持する。
一方、ビット選択回路112は、入力された64ビットの撹乱データの中から56ビットを選択して、28ビットずつのデータに分割して、それぞれを2つのセレクタ113,114のそれぞれの1つの入力端に出力する。
セレクタ113と114の出力は、それぞれレジスタ115と116に接続される。レジスタ115と116の出力は、それぞれシフト回路117と118に接続される。すなわち、レジスタ115と116は、分割された2つのデータを保持する。
シフト回路107の出力は、セレクタ114の他の1つの入力端に接続される。シフト回路108の出力は、セレクタ113の他の1つの入力端に接続される。シフト回路117の出力は、セレクタ104の他の1つの入力端に接続される。シフト回路118の出力は、セレクタ103の他の1つの入力端に接続される。
また、レジスタ105と106の2つの出力は、ビット選択回路109に接続されている。レジスタ115と116の2つの出力は、ビット選択回路119に接続されている。ビット選択回路109の出力は、出力端子123に接続されている。ビット選択回路119の出力は、出力端子124に接続されている。
セレクタ103,104,113,114は、選択回路を構成し、セレクタ103と114と、セレクタ104と113とが、それぞれペアになった選択回路を構成している。すなわち、レジスタ105と116の内容は、それぞれシフト回路107と118に出力される。そして、シフト回路107の出力は、セレクタ114に入力され、シフト回路118の出力は、セレクタ103に入力される。よって、シフト回路107と118には、鍵データがシフトされたデータと、撹乱データがシフトされたデータが、セレクタ103と114の選択回路よって交互に選択されて入力される。
レジスタ106と115の内容は、それぞれシフト回路108と117に出力される。そして、シフト回路108の出力は、セレクタ113に入力され、シフト回路117の出力は、セレクタ104に入力される。よって、シフト回路108と117には、鍵データがシフトされたデータと、撹乱データがシフトされたデータが、セレクタ104と113の選択回路よって交互に選択されて入力される。
図11に示すように、DESの暗号処理は、16回のラウンド処理が繰り返されることによって行われる。特に、DESの鍵スケジュール部32Bでは、最初に縮約型転置回路(PC1)において、ビット選択が実行される。縮約型転置回路(PC1)は、入力された64ビットの鍵DKから予め定められた順番で28ビットと28ビットの2つのデータを選択する。縮約型転置回路(PC1)によって選択された2つの28ビットブロックに対して、次にシフト処理(LS1)が行われる。なお、シフトする量は、ラウンド毎に決められている。暗号化のときのシフトは、ラウンド1(R1)、ラウンド2(R2)、ラウンド9(R9)、ラウンド16(R16)は、1ビットの左シフトで、残りのラウンドは、2ビットの左シフトである。縮約型転置回路(PC2)は、このようにシフトされたビット列から48ビットを選択する。縮約型転置回路(PC2)によって選択されたビット列が拡大鍵として出力される。
すなわち、鍵DKは、ビット選択回路(PC1)によって2つの28ビットデータ(C0, D0)に変換される。この変換は次の式(1)のように表現される。
(C0, D0) = PC1(DK) ・・式(1)
2つの28ビットデータ(C0, D0)は、シフト処理(LS1)により、それぞれ左1ビットシフトされ、中間データ(C1, D1)が生成される。中間データ(C1, D1)は、縮約型転置回路(PC2)によってビット選択されることによって、拡大鍵K1が生成される。拡大鍵K1の生成は、次の式(2)と式(3)のように表現される。
(C1, D1) = (C0 << 1, D0 << 1) ・・式(2)
K1 = PC2(C1, D1) ・・式(3)
なお、ここで、’<<’は左ビットシフトを表す。そして、以下、同様に、ビットシフトとビット選択を繰り返すことによって、拡大鍵K1からK16が生成される。
図10は、このようなDESの鍵スケジュール部において撹乱データを用いる鍵スケジュール部の構成を示すブロック図である。図10では、ビット選択回路102と112が、縮約型転置回路(PC1)の処理を実現する。ビット選択回路109と119が、縮約型転置回路(PC2)の処理を実現する。
鍵スケジュール部には、鍵DKと撹乱データMKが入力される。64ビットの鍵DKは、撹乱データMKにより撹乱されてから、ビット選択回路102に入力される。撹乱データMKは、また、ビット選択回路112にも入力される。撹乱回路101は、ここでは、排他論理和回路で実現されるものとするが、シフト回路等、その他の変換回路でもよい。
鍵DKは、撹乱回路101によって撹乱データMKとの排他論理和が行われるので、撹乱回路101の出力MOは、次の式(4)のようになる。
MO=DK(+)MK ・・式(4)
ここで、(+)は、排他論理和を表す記号である。
この出力MOは、ビット選択回路102に入力され、出力PC1(DK(+)MK)が出力される。ビット選択回路102の出力PC1(DK(+)MK)は、2つの28ビットデータ (C’0, D’0)に分割され、図13に示すように、それぞれセレクタ104と103を介してレジスタ106と105に保持される。
一方、入力端子122から入力された撹乱データMKは、ビット選択回路112によって、ビット選択され、出力PC1(MK)が出力される。ビット選択回路112の出力PC1(MK)は、2つの28ビットデータ (X0, Y0)に分割され、図13に示すように、それぞれセレクタ114と113を介してレジスタ116と115に保持される。すなわち、各レジスタには、次の式(5)と式(6)に示されるデータがストアされる。
(C’0, D’0) = PC1(DK(+)MK) ・・式(5)
(X0, Y0) = PC1(MK) ・・式(6)
よって、次の式(7)が成り立つ。
(C0, D0) = (C’0, D’0)(+)(X0, Y0) ・・式(7)
という関係が成り立つ。
レジスタ105に保持されているデータD’0は、シフト回路107を介してレジスタ116に転送される。ここで、シフト回路107は、入力データをそのまま出力するように制御される。
レジスタ106に保持されているデータC’0は、シフト回路108を介してレジスタ115に転送される。ここで、シフト回路108は、入力データをそのまま出力するように制御される。
一方、レジスタ115に保持されているデータY0は、シフト回路117を介してレジスタ106に転送される。ここで、シフト回路117は、1ビット左シフトした値が出力するように制御される。
レジスタ116に保存されているデータX0は、シフト回路118を介してレジスタ105に転送される。ここで、シフト回路118は、1ビット左シフトした値が出力するように制御される。シフト回路107と108がシフトしないで出力しているのは、1ラウンド目では左1ビットシフトであるためで、レジスタ105に保持されているデータD’0は、シフト回路107,レジスタ116及びシフト回路118を経由してレジスタ105に戻される。なお、この間に1ビットシフトが実現されるように制御されれば、シフト回路118ではなく、シフト回路107でシフトするようにしても良い。さらになお、2ビットシフトは、シフト回路107と118の両方でシフトすることで実現される。
シフト回路107,108,117,118の構成は、図12に示す。図12は、シフト回路の構成を示すブロック図である。シフト回路は、データが入力される入力端子131と、シフト数指示信号Sが入力される入力端子132と、1ビット左シフト回路133と、1ビット右シフト回路134と、セレクタ135と、出力端子136を含んで構成される。各シフト回路は、暗号化と複合化の両方に対応するように構成されている。
シフト回路において、入力端子131から入力された入力データは、1ビット左シフト回路133と、1ビット右シフト回路134と、セレクタ135に入力される。1ビット左シフト回路133は、入力データを1ビットだけ左シフトしたデータを出力する。1ビット右シフト回路134は、入力データを1ビットだけ右シフトしたデータを出力する。
入力されるシフト制御信号であるシフト数指示信号Sに応じて、セレクタ135が、1ビット左シフト回路133の出力、1ビット右シフト回路134の出力、及びビットシフトされていない入力データのいずれかを選択して、出力端子136に出力する。
上述した動作によって、図13に示すように、レジスタ106,105,116,115には、それぞれ、Y0<<1, X0<<1, D’0, C’0が保存されていることになる。すなわち、レジスタ106のデータは、C’0からY0<<1に、レジスタ105のデータは、D’0からX0<<1に、レジスタ116のデータは、X0からD’0に、レジスタ115のデータは、Y0からD’0に変化している。これらのレジスタの変化の値は、全く依存関係がないため、その変化による電力消費は、入力された鍵DKと無関係となる。
以下、図13に示すように、同様の処理が行われていくが、ビット選択回路109と119によって縮約型転置回路(PC2)が実現され、撹乱された拡大鍵K’i(i=1〜16)と撹乱データMKから生成された撹乱拡大鍵Mi(i=1〜16)とが、出力される。図13は、図10に示した暗号処理回路の鍵スケジュール部の動作タイミングを示す。図13に示すように、2クロックで1ラウンドの処理が実行される。
以下の式(8)から(11)に示すように、撹乱された拡大鍵K’iと撹乱拡大鍵Miとの排他論理和をとることによって撹乱されていない拡大鍵Kiが得られる。すなわち、
K’i = PC2(C’i, D’i) ・・式(8)
Mi= PC2(Xi, Yi) ・・式(9)
(Ci, Di) = (C’i, D’i) (+) (Xi, Yi) ・・式(10)
であるので、
Ki = PC2(Ci, Di)) = K’i (+) Mi ・・式(11)
という関係が成り立つ。
なお、以上の例では、C’iとYiのペア並びにD’iとXiのペアを用いていたが、C’iとD’iのペア並びにXiとYiのペアでも良い。
以上のように、本発明の第2の実施の形態に係る暗号処理回路を用いることで、暗号データを撹乱データによって完全に撹乱でき、その結果、消費電力から暗号データを推測することが困難となる。
なお、以上の例は、DESアルゴリズムの暗号処理を行う場合であるが、DESアルゴリズム以外の他の暗号処理に適用してもよい。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
本発明の第1の実施の形態に係わる暗号処理回路が利用されるシステムの例を説明するための構成図である。 第1の実施の形態に係わるICカードの構成を示すブロック図である。 第1の実施の形態に係わる暗号回路モジュールの構成を示すブロック図である。 図3の暗号回路モジュールの動作を説明するための図である。 レジスタにストアされるデータの変化を説明するためのタイミングチャートである。 第1の実施の形態の鍵スケジュール部の変形例を示すブロック図である。 図6の鍵スケジュール部の動作を説明するための図である。 図6のレジスタにストアされるデータの変化を説明するためのタイミングチャートである。 鍵データ自体が暗号回路モジュール内でそのままレジスタに保持されることがないようにした回路構成の例を示すブロック図である。 本発明の第2の実施の形態に係る暗号回路モジュールの鍵スケジュール部の構成を示すブロック図である。 DESのアルゴリズムを示す図である。 シフト回路の構成を示すブロック図である。 図10の回路の各種信号のタイミングを示すタイミングチャートである。
符号の説明
1 システム、2 応用装置、3 端末装置、4 ICカード、5 通信回線、15 暗号回路モジュール、21,22,24,25 入力端子、23 出力端子、31 スクランブル部、32、32A、32B 鍵スケジュール部、55 関数処理部、65、66 左シフト回路、71,72 排他的論理和回路

Claims (5)

  1. 暗号処理を行う暗号処理回路であって、
    前記暗号処理に用いられる入力データに関連した第1のデータが入力される第1のレジスタと、
    前記第1のデータと依存関係のない第2のデータが入力される第2のレジスタと、
    前記第1のデータと前記第2のデータを交互に選択して前記第1のレジスタと前記第2のレジスタで交互に保持されるように、前記第1のレジスタと前記第2のレジスタに出力する選択回路と、
    前記第1のレジスタから出力されるデータに対して、第1の演算を行う第1の演算回路と、
    を有することを特徴とする暗号処理回路。
  2. さらに、前記第2のレジスタから出力されるデータに対して、第2の演算を行う第2の演算回路を有することを特徴とする請求項1記載の暗号処理回路。
  3. 前記入力データは、前記入力データと依存関係のない、前記第2のデータ又は第3のデータを用いて撹乱されたデータであることを特徴とする請求項1又は2に記載の暗号処理回路。
  4. 暗号処理を行う暗号処理回路であって、
    前記暗号処理に用いられる入力データに関連したデータを分割し第1及び第2のデータそれぞれ入力される第1及び第2のレジスタと、
    前記第1のデータと依存関係のないデータを分割し第3及び第4のデータそれぞれ入力される第3及び第4のレジスタと、
    前記第1のデータと前記第3のデータを交互に選択して前記第1のレジスタと前記第3のレジスタで交互に保持されるように、前記第1のレジスタと前記第3のレジスタに出力し、かつ前記第2のデータと前記第4のデータを交互に選択して前記第2のレジスタと前記第4のレジスタで交互に保持されるように、前記第2のレジスタと前記第4のレジスタに出力する選択回路と、
    前記第1、前記第2,前記第3及び前記第4のレジスタのそれぞれから出力されるデータに対して、所定の演算を行う演算回路と、
    を有することを特徴とする暗号処理回路。
  5. 請求項1から4のいずれか1つに記載の暗号処理回路を有するICカード。
JP2006238040A 2006-09-01 2006-09-01 暗号処理回路及びicカード Expired - Fee Related JP4960044B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006238040A JP4960044B2 (ja) 2006-09-01 2006-09-01 暗号処理回路及びicカード
US11/842,331 US8457306B2 (en) 2006-09-01 2007-08-21 Cryptographic module and IC card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006238040A JP4960044B2 (ja) 2006-09-01 2006-09-01 暗号処理回路及びicカード

Publications (2)

Publication Number Publication Date
JP2008061118A JP2008061118A (ja) 2008-03-13
JP4960044B2 true JP4960044B2 (ja) 2012-06-27

Family

ID=39151549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006238040A Expired - Fee Related JP4960044B2 (ja) 2006-09-01 2006-09-01 暗号処理回路及びicカード

Country Status (2)

Country Link
US (1) US8457306B2 (ja)
JP (1) JP4960044B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8622292B2 (en) * 2005-09-29 2014-01-07 Jeffrey Bart Katz Reservation-based preauthorization payment system
US9004355B2 (en) * 2005-09-29 2015-04-14 Cardfree Inc Secure system and method to pay for a service provided at a reservation
JP4941672B2 (ja) 2008-03-11 2012-05-30 Jsr株式会社 生体関連物質の非特異吸着防止コート剤
US8220718B2 (en) * 2008-09-15 2012-07-17 Vasco Data Security, Inc. Method for post-manufacturing data transfer to and from a sealed device
US20100257514A1 (en) * 2009-04-03 2010-10-07 Samsung Electronics Co., Ltd. Effective mapping of code sections to the same section of secondary memory to improve the security of computing systems
US20100257318A1 (en) * 2009-04-03 2010-10-07 Samsung Electronics Co., Ltd. Evicting code sections from secondary memory to improve the security of computing systems
JP2010288233A (ja) * 2009-06-15 2010-12-24 Toshiba Corp 暗号処理装置
FR2956764B1 (fr) * 2010-02-19 2012-11-09 St Microelectronics Rousset Protection de registres contre des perturbations unilaterales
US10103876B2 (en) 2012-10-17 2018-10-16 Synopsys, Inc. System and method for multichannel cryptographic processing
CN106877999B (zh) * 2017-01-17 2020-05-22 中国科学院信息工程研究所 一种des加解密密钥生成器及密钥生成方法
US10972268B2 (en) * 2018-09-18 2021-04-06 Infineon Technologies Ag Cryptographic diversity
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
GB2582900A (en) * 2019-03-18 2020-10-14 Pqshield Ltd Cryptography using a cryptographic state
JP7383985B2 (ja) * 2019-10-30 2023-11-21 富士電機株式会社 情報処理装置、情報処理方法及びプログラム
US11861046B2 (en) * 2021-04-29 2024-01-02 Infineon Technologies Ag System for an improved safety and security check

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2333095C (en) * 1998-06-03 2005-05-10 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP2000013369A (ja) * 1998-06-18 2000-01-14 Matsushita Electric Ind Co Ltd 暗号化回路
JP2000056679A (ja) 1998-08-11 2000-02-25 Fujitsu Ltd Desの鍵スケジュール装置
JP3600454B2 (ja) 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4317607B2 (ja) * 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
JP2001005384A (ja) * 1999-06-24 2001-01-12 Matsushita Electric Ind Co Ltd 乱数生成方法
JP4083925B2 (ja) * 1999-06-24 2008-04-30 株式会社日立製作所 情報処理装置、カード部材および情報処理システム
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
JP2003098959A (ja) * 2001-09-21 2003-04-04 Toshiba Corp 暗号処理装置
JP3822170B2 (ja) * 2003-01-31 2006-09-13 株式会社東芝 Icカードの利用期間設定方法、icカード、および、icカードケース
JP2005031471A (ja) 2003-07-07 2005-02-03 Sony Corp 暗号処理装置、および暗号処理方法
WO2005073825A2 (en) * 2004-01-27 2005-08-11 Koninklijke Philips Electronics N.V. Protection against power analysis attacks
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
JP2006019872A (ja) * 2004-06-30 2006-01-19 Sony Corp 暗号処理装置
FR2873523B1 (fr) * 2004-07-22 2007-08-10 Sagem Procede et dispositif d'execution d'un calcul cryptographique
KR100855958B1 (ko) * 2004-11-24 2008-09-02 삼성전자주식회사 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법
JP4634788B2 (ja) * 2004-12-17 2011-02-16 株式会社東芝 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
KR100909364B1 (ko) * 2007-02-06 2009-07-24 삼성전자주식회사 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법

Also Published As

Publication number Publication date
US8457306B2 (en) 2013-06-04
US20080056488A1 (en) 2008-03-06
JP2008061118A (ja) 2008-03-13

Similar Documents

Publication Publication Date Title
JP4960044B2 (ja) 暗号処理回路及びicカード
JP4905000B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5050454B2 (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
JP5242560B2 (ja) 暗号化装置、復号化装置、暗号化方法及び集積回路
JP4783104B2 (ja) 暗号化/復号装置
JP4453697B2 (ja) 演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
US8724804B2 (en) Encryption processing apparatus
WO2009087972A1 (ja) データ送信装置、データ受信装置、これらの方法、記録媒体、そのデータ通信システム
JP2005527853A (ja) 高度暗号化規格(aes)のハードウェア暗号法エンジン
JP2007195132A (ja) 暗号処理装置
US20120005466A1 (en) Data processing device and method for operating such data processing device
JP2010288233A (ja) 暗号処理装置
JP5228803B2 (ja) 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路
Huang et al. Trace buffer attack on the AES cipher
WO2002086846A1 (fr) Chiffrement / dispositif de dechiffrement, chiffrement / procede de dechiffrement, procede de chiffrement de donnees et carte a circuit integre
JP5231079B2 (ja) 疑似乱数発生器及びデータ通信装置
JP5755970B2 (ja) 演算装置
JP5268001B2 (ja) ストリーム暗号向け擬似乱数生成装置とプログラムと方法
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
JP2002510058A (ja) 2進データ・ブロックの暗号変換のための方法
JP2006025366A (ja) 暗号化装置及び半導体集積回路
KR102282363B1 (ko) 비트 시리얼 hight 연산 장치 및 그 방법, 그 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램
JP5338945B2 (ja) 復号処理装置、情報処理装置、および復号処理方法、並びにコンピュータ・プログラム
JP2010232709A (ja) 暗号演算回路装置
Pazo-Robles et al. Cryptanalytic attack on the self-shrinking sequence generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110920

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

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

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees