JP2002528754A - 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法 - Google Patents

秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法

Info

Publication number
JP2002528754A
JP2002528754A JP2000577797A JP2000577797A JP2002528754A JP 2002528754 A JP2002528754 A JP 2002528754A JP 2000577797 A JP2000577797 A JP 2000577797A JP 2000577797 A JP2000577797 A JP 2000577797A JP 2002528754 A JP2002528754 A JP 2002528754A
Authority
JP
Japan
Prior art keywords
data
sequence
cycle
countermeasure method
output 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.)
Granted
Application number
JP2000577797A
Other languages
English (en)
Other versions
JP4195199B2 (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.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of JP2002528754A publication Critical patent/JP2002528754A/ja
Application granted granted Critical
Publication of JP4195199B2 publication Critical patent/JP4195199B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Landscapes

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

Abstract

(57)【要約】 秘密鍵K式暗号化アルゴリズムを利用する電子構成部品において、アルゴリズムの利用には、入力データEから出力データSを算出する為の第一手段TC0を使うことが含まれており、出力データ及び/または派生データは、クリティカル命令によって処理され、対抗措置方法には、出力データ及び派生データが予測不可能になるように、他の手段TC1及び/またはTC2を使用することが準備されている。

Description

【発明の詳細な説明】
【0001】 本発明は、秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置
方法に関するものである。サービスやデータへのアクセスが厳正に管理されるア
プリケーションで用いられる。そのアーキテクチャは、マイクロプロセッサやメ
モリの周辺で形成されるものであり、該メモリの一つのプログラム・メモリは秘
密鍵を保存している。
【0002】 このようなあるアプリケーションについて、これらの構成部品は、チップカー
ド内で特に用いられる。例えば、あるデータ・バンクにアクセスするアプリケー
ション、銀行業務アプリケーション、遠隔式通行料金徴収アプリケーション、ま
た例えば、テレビ用、ガソリン供給や自動車道路の通行料金徴収所を通過する為
のものなどである。
【0003】 従って、これらの構成部品やこれらのカードは、秘密鍵式アルゴリズムを利用
するものであり、その中でも最もよく知られているのがDESアルゴリズム(英
語文献のData Encryption Standardの略語)である。
秘密鍵式暗号化アルゴリズムには他にもRC5アルゴリズムやCOMP128ア
ルゴリズムがある。言うまでもなく、ここに挙げたもので全てが網羅されている
わけではない。
【0004】 一般的かつ簡潔に述べると、これらのアルゴリズムが果たす機能は、ホスト・
システム(サーバー、銀行の現金自動支払い機…)とカード内に収納された秘密
鍵とで(カードに)入力されたメッセージから、暗号化されたメッセージを計算
することと、この暗号化されたメッセージをホスト・システムに返すことであり
、例えばホスト・システムは、構成部品またはカードを認証したり、データを交
換したりすることができるようになる。
【0005】 ところで、これらの構成部品やこれらのカードは、消費電力の差分を解析する
ことから成る攻撃に対しては弱く、悪意ある第三者が、秘密鍵を発見できること
になる。これらの攻撃をDPA攻撃と言い、Differential Pow
er Analysis(電力差分解析)という英語の略語である。
【0006】 これらのDPA攻撃の原理は、マイクロプロセッサが命令を実行する際の消費
電力は、処理されるデータにより変化するという事実に基づいている。
【0007】 特に1ビットデータを処理するマイクロプロセッサの一つの命令は、このビッ
トの値が「1」か「0」かによって、波形の異なる二種類の電流を発生させる。
典型的には、その命令が「0」を処理するなら、消費される電流の第一の振幅が
この実行時点に現れ、その命令が「1」を処理するなら、第一とは異なる第二の
振幅が現れることになる。
【0008】 実行される計算や、用いられるパラメータなど、暗号化アルゴリズムの特徴は
既に知られたものである。唯一知られていないのは、プログラム・メモリに保存
された秘密鍵である。これは、入力されたメッセージと、返された暗号化された
メッセージを知っているだけでは、演繹不可能である。
【0009】 しかしながら、暗号化アルゴリズムでは、計算される幾つかのデータは、カー
ドに平文で入力されたメッセージと、カードに保存されている秘密鍵とだけに依
存している。そのアルゴリズムで計算される他のデータもまた暗号化されたメッ
セージ(一般的にはカードからホスト・システムに向かって平文で出力される)
と、カードに保存されている秘密鍵とだけから再計算することが可能である。さ
らに詳しく言うと、これらの特定データの各ビットは、入力又は出力メッセージ
と、鍵の限定された数の特定ビットとに基づいて、決定することができる。
【0010】 従って、特定データの各ビットは、その鍵の、ある特定ビットが集まって形成
された部分鍵に対応している。
【0011】 予想可能なこれらの特定データのビットを、以後、標的ビットと呼ぶことにす
る。
【0012】 従って、DPA攻撃の基本的な考え方は、まず、命令が「1」を処理するのか
「0」を処理するのかにより消費電力の波形が異なるというその差分と、既知の
入力又は出力メッセージ及び対応する部分鍵の推定からそのアルゴリズムの命令
によって標的ビットを計算することができるというその可能性とを、利用するこ
となのである。
【0013】 従って、DPA攻撃の原理は、与えられた部分鍵の推定を検証することであり
、電流の多数の測定曲線に、つまりそれぞれが攻撃者の知っている入力メッセー
ジに関する曲線に、選択のブール関数を、つまり部分鍵の推定の関数であって一
つの標的ビットの予測値により各曲線毎に規定される関数を、当てはめることで
ある。
【0014】 当該部分鍵を推定することにより、与えられた入力又は出力メッセージについ
て、この標的ビットが取る値は「0」なのか「1」なのかを予測することが実際
に可能になる。
【0015】 その際に、標的ビットによる予測値「0」又は「1」を、選択のブール関数と
して、対象となる部分鍵を推定する為に当てはめ、これらの曲線を二つのパケッ
トに選別する。その第一パケットは、部分鍵の推定に従って、「0」で標的ビッ
トを処理した曲線を再グループ化したものであり、第二パケットは、「1」で標
的ビットを処理した曲線を再グループ化したものである。各パケットごとに消費
電力の平均を取ることで、第一パケットの平均消費曲線M0(t)と、第二パケ
ットの平均消費曲線M1(t)とが得られる。
【0016】 部分鍵の推定が当たっていれば、第一パケットは、「0」で標的ビットを処理
したN本の曲線のなかから全ての曲線が実際に再グループ化されていることにな
り、第二パケットは、「1」で標的ビットを処理したN本の曲線のなかから全て
の曲線が実際に再グループ化されていることになる。その場合、第一パケットの
平均消費曲線M0(t)は、クリティカル命令を実行する瞬間は除いて、「0」
で標的ビットを処理する際に特徴のある消費電力の波形(波形0)を伴う平均消
費を、どの場所でも示すことになる。換言すれば、常に「0」という値をもった
標的ビットは別として、全曲線について、処理される全ビットが「1」という値
をもつ可能性も「0」という値をもつ可能性も同じ確率で与えられている。これ
は以下の式で表現することができる。 M0(t)=〔(波形0+波形1)/2〕ttci+〔波形0tci即ち M0(t)=〔Vmtttci+〔波形0tci 但し、ここでtciは、クリティカル命令が実行されたクリティカル時点を示す
【0017】 同様に、第二パケットの平均消費曲線M1(t)は、クリティカル命令を実行
する瞬間は除いて、「1」で標的ビットを処理する際に特徴のある消費電力の波
形(波形1)を伴う平均消費を、どの場所でも示すことになる。これは以下の式
で表現することができる。 M1(t)=〔(波形0+波形1)/2〕ttci+〔波形1tci即ち M1(t)=〔Vmtttci+〔波形1tci
【0018】 これで、2の波形、波形0と波形1は等しくないことが分かる。その際に、曲線
M0(t)と曲線M1(t)との差分から、このビットを処理するクリティカル
命令の実行時点tci、即ち図1に示された例で言うとtc0からtc6のとこ
ろで、波形0─波形1に等しい振幅を有する信号DPA(t)が得られ、クリティ
カル時点外では、ほぼゼロに等しい振幅を有する信号が得られるということであ
る。
【0019】 部分鍵の推定が外れた場合は、その抽出は現実に即していないことになる。そ
の場合、統計的には、各パケットの中には、実際には「0」で標的ビットを処理
した曲線と、「1」で標的ビットを処理した曲線とが同数存在することになる。
その場合、結果として得られる平均曲線M0(t)の位置は、式(波形0+波形1 )/2=Vmで得られる平均値の周辺であり、というのも、各曲線について、標
的ビットを含めた処理された全ビットに、「0」の値を取るのと、「1」の値を
取るのと同じ確率が与えられているからである。
【0020】 第二パケットについても同じ推論が成り立ち、それによれば、平均電力消費曲
線M1(t)の振幅は、式(波形0+波形1)/2=Vmで得られる平均値の周辺
にあることになる。
【0021】 この場合、M0(t)− M1(t)での差から算出される信号DPA(t)
は、ほぼゼロに等しい。部分鍵の推定が外れた場合の信号DPA(t)は、図2
に示されている。
【0022】 従って、DPA攻撃は、処理されるビットの値に応じた命令実行中の消費電力
の波形の差分を用いて、与えられた部分鍵を推定する為の選択のブール関数に従
った消費電力曲線の抽出を行うことである。得られた曲線の二つのパケット間で
の平均消費電力の差分を解析することにより、情報信号DPA(t)が得られる
【0023】 その場合、DPA攻撃は一般に以下のように進行する。 a−N個(例えばNは1000に等しい)の乱数メッセージを抽出する。 b−(構成部品の給電端子で測定して)消費電力の曲線を毎回拾い、N個の乱
数メッセージのそれぞれにつき、カードによるアルゴリズムの実行を行わせる。 c−部分鍵の推定を行う。 d−乱数メッセージのそれぞれにつき、標的ビット内の一つの値を予測し、該
値は、メッセージ(入力又は出力)の数ビットと、推定された部分鍵とのみに依
存するものであって、それによりブール選択関数を得る。 e−このブール選択関数により(つまり、部分鍵の推定の下、各曲線について
の、この標的ビットの予測値が「0」であるか「1」であるかにより)曲線を選
別する。 f─結果として得られた平均消費電力曲線を、各パケットにおいて計算する。 g−これらの平均曲線の差を出し、信号DPA(t)を得る。
【0024】 部分鍵の推定が当たっていれば、ブール選択関数も当たっており、第一パケッ
トの曲線は、入力又は出力で適用されるメッセージが、カード内で「0」の標的
ビットを与えた曲線に実際に対応しており、第二パケットの曲線は、入力又は出
力で適用されるメッセージが、カード内で「1」の標的ビットを与えた曲線に実
際に対応している。
【0025】 従って、図1の場合において、信号DPA(t)は、クリティカル命令の実行
(標的ビットを処理する)に対応するtc0からtc6までの時点においてゼロ
ではない。
【0026】 攻撃者はクリティカル時点を精確に知る必要はないということに注意されたい
。捕捉期間中に少なくとも一つのクリティカル時点があれば十分である。
【0027】 部分鍵の推定が当たっていなければ、抽出は現実に即しておらず、その場合、
各パケットの中には、実際には、「0」の標的ビットに対応する曲線と、「1」
の標的ビットに対応する曲線とが、同数あることになる。(図2に示されている
ように)いずれの場合も信号DPA(t)はほぼゼロである。ステップc−に戻
って部分鍵の推定をやり直さなければならない。
【0028】 推定が正しいことが判明すれば、鍵全体を再構成するまで、他の部分鍵の評価
に移ることができる。例えば、DESアルゴリズムでは、64ビットの鍵を使う
が、そのうちの56ビットだけが有効である。DPA攻撃を行うと、有効な56
ビットのうちの少なくとも48ビットを再構成することができる。
【0029】 本発明の目的は、たとえ部分鍵の推定が当たっている場合でも、信号DPA(
t)をゼロにするような対抗措置方法を電子構成部品において利用することであ
る。
【0030】 このようにすれば、部分鍵の推定が当たっている場合を、部分鍵の推定が外れ
ている場合から見分けることが完全にできなくなる。この対抗措置方法により、
電子構成部品はDPA攻撃から守られる。
【0031】 本発明によれば、対抗措置方法は、標的ビット、即ちクリティカル命令によっ
て処理されるデータを、予測不可能にすることができる。
【0032】 事実、この対抗措置方法のため、入力時に用いられるメッセージのそれぞれに
ついて、クリティカル命令で処理される標的ビットは、同じ確率で0又は1の値
をとる。攻撃者が、自分で計算したブール選択関数を使って所与の部分鍵の推定
に基づき作成する各パケットの曲線においては、実際に標的ビット「0」を処理
した曲線も、実際に「1」の標的ビットを処理した曲線も、同じことになる。信
号DPA(t)は、部分鍵の推定が当たっていようといなかろうと、常にゼロに
なるであろう。
【0033】 従って、本発明の特徴として挙げられるように、本発明は、秘密鍵式暗号化ア
ルゴリズムを利用する電子構成部品内での対抗措置方法に関するものであり、そ
のアルゴリズムの利用には入力データから出力データを算出する為の第一手段を
使用することが含まれ、出力データおよび/または派生データはクリティカル命
令で処理される。本発明の対抗措置方法は、出力データおよび派生データが予測
不可能になるように、他の手段を用いることが準備されている。
【0034】 本発明では、様々な手段の使用は、二分の一の確率の統計法則によって制御され
る。
【0035】 本発明の他の特徴と利点は、添付図面を参照しつつ、以下の説明により詳細に
述べられるが、説明はあくまで参考に供するものであって、説明した事項のみに
限定する趣旨のものではない。 ・図1及び2は、既に説明したが、DPA(t)信号を示すものである。その信
号はDPA攻撃を行う場合、秘密鍵Kの部分鍵を推測していくにつれて、入手可
能である。 ・図3及び4は、DESアルゴリズムの初めの数サイクルと終わりの数サイクル
の計算の実行フローチャートである。 ・図5は、DESアルゴリズムで用いられる演算SBOXのブロック図である。 ・図6は、演算SBOXで用いられる入力と出力の基本定数表の一例を示す。 ・図7及び8は、本発明の対抗措置方法の第一の実施態様による、DESアルゴ
リズムの初めの数サイクルと終わりの数サイクルの計算の実行フローチャートの
一例を示している。 ・図9及び10は、それぞれ本発明で用いられる第二と第三の基本定数表を示し
ている。 ・図11は、本発明の対抗措置方法の実施態様によるDES実行の一般的フロー
チャートを示している。 ・図12は、本発明の対抗措置方法を利用する電子構成部品を備えたチップカー
ドの簡略化したブロック図を示す。
【0036】 本発明をDES暗号アルゴリズムへの一つの応用例において説明していく。本
発明はこの例のみに限定されるものではない。本発明は、秘密鍵式暗号化アルゴ
リズム一般に応用される。
【0037】 暗号化アルゴリズムDES(以後、DESあるいはDESアルゴリズムと略称
する)は、図3及び4に示されたように、T1からT16の記号を付された十六
サイクルの計算を含んでいる。
【0038】 DESは、まず入力メッセージM(図3)についての最初の置換IPから始ま
る。入力メッセージMは64ビットのワードfである。置換後、64ビットのワ
ードeが得られ、それを二つに分割して最初のサイクル(T1)の入力パラメー
タL0とR0を形成する。L0は、ワードeのより重みのある方の32ビットを
含む32ビットのワードdである。R0は、ワードeのより軽めの方の32ビッ
トを含む32ビットのワードhである。
【0039】 秘密鍵Kは64ビットのワードqであり、それ自体が置換及び圧縮(key
perm)されて、56ビットのワードrを算出する。
【0040】 最初のサイクルは、パラメータR0について、拡張及び置換から成る演算EX
P PERMが含まれ、48ビットのワードlの出力が得られる。
【0041】 このワードlは、XORと記された排他的論理和型の演算において、パラメー
タK1と組み合わされて、48ビットのワードbを算出する。パラメータK1は
48ビットのワードmであり、ワードrを、まずシフト(図3及び4のSHIF
Tと記された演算)し、その後、置換及び圧縮(COMP PERMと記された
演算)を行って得られる。
【0042】 ワードbは、SBOXと記された演算を適用されて、出力では32ビットのワ
ードaが得られる。この演算は特に図5及び6との関連で詳細に説明することと
する。
【0043】 ワードaは、置換P PERMを受け、32ビットのワードcを出力する。
【0044】 このワードcは、XORと記された排他的論理和型の演算において、最初のサ
イクルT1の入力パラメータL0と組み合わされ、32ビットのワードgを出力
する。
【0045】 最初のサイクルのワードh(=R0)は、次のサイクル(T2)の入力パラメ
ータL1を与え、最初のサイクルのワードgは、次のサイクルの入力パラメータ
R1を与える。最初のサイクルのワードpは、次のサイクルの入力rを与える。
【0046】 他のサイクルT2からT16も同様に進行するが、但し、シフト演算SHIF
Tは別であり、該シフト演算は、対象となるサイクルによって一または二の位置
で行われる。
【0047】 従って、各サイクルTiごとに、Li−1、Ri−1及びrというパラメータ
の入力を受けると、次のサイクルTi+1の為に、Li、Ri及びrというパラ
メータを出力する。
【0048】 DESアルゴリズムの終わり(図4)において、暗号化されたメッセージは、
最後のサイクルT16で与えられたL16及びR16のパラメータから計算され
る。
【0049】 この暗号化されたメッセージCの計算には実際は以下の演算が含まれている。 ・ワードL16とR16の位置を逆にし、次にそれらを連結して、64ビットの
ワードe’を形成する。 ・DESの最初のものとは逆の置換IP-1を適用して、暗号化されたメッセージ
Cを形成する64ビットのワードf’を得る。
【0050】 演算SBOXについては図5と6で詳しく示されている。それには、入力デー
タbに応じて出力データaを算出する為の定数表TC0が含まれている。
【0051】 実際には、この定数表TC0は、八つの基本定数表TC01からTC08という
形で示され、それぞれワードbの6ビットだけの入力を受け取り、ワードaの4
ビットだけの出力を算出する。
【0052】 従って図6に示された基本定数表TC01は、入力データとしてワードbのb
1からb6までのビットを受け取り、出力データとしてワードaのa1からa4
までのビットを算出する。
【0053】 実際には、これらの八つの基本定数表は、電子構成部品のプログラム・メモリ
に記憶される。
【0054】 最初のサイクルT1の演算SBOXにおいて、定数表TC0の出力データaの
ある特定の1ビットは、入力されたデータbの6ビットのみに依存し、つまり、
秘密鍵Kの6ビットと、入力メッセージ(M)とのみに依存する。
【0055】 最後のサイクルT16の演算SBOXにおいて、定数表TC0の出力データa
のある特定の1ビットは、秘密鍵Kの6ビットと、暗号化されたメッセージ(C
)とのみに基づいて再計算することが可能である。
【0056】 ところで、DPA攻撃の原理をもう一度振り返ってみると、出力データaの1
ビットを標的ビットとして選ぶとき、鍵Kの6ビットの推定を行うだけで、入力
メッセージ(M)又は所与の出力メッセージ(C)の為の標的ビットの値を予測
することができる。換言すれば、DESに関しては、6ビットの部分鍵の推定を
行うだけでよい。
【0057】 従って、与えられた標的ビットの為のそのようなアルゴリズムにDPA攻撃を
行う際には、64個の可能性なかから、一つの正当な部分鍵の推定を判別しなけ
ればならない。
【0058】 従って、標的ビットとしてワードaの八つのビット(基本定数表TC01から
TC08による出力の1ビット)だけを取り上げ、これらの標的ビットのそれぞ
れにDPA攻撃を行うことで、秘密鍵の6×8=48ビットまでを見破ることが
可能である。
【0059】 従って、DESにおいて、クリティカル命令は、アルゴリズムの最初と最後で
、DPA攻撃で分かる。
【0060】 DESアルゴリズムの初めにおいて、入力メッセージMと部分鍵の推定とから
予測可能なデータは、最初のサイクル(T1)で計算されるデータa及びgであ
る。
【0061】 最初のサイクルT1のデータa(図3)は、対象となるサイクルの演算SBO
Xの出力データである。入力パラメータL0を使って、置換(P PERM)と
排他的論理和演算を行うことにより、データaからデータgが計算される。
【0062】 事実、最初のサイクルのデータcは、最初のサイクルのデータaの派生データ
である。派生データcは、データaのビットの単純な置換に対応している。
【0063】 第二のサイクルのデータlは、最初のサイクルのデータgの派生データであり
、というのも、それはワードgのビット置換に対応しており、ワードgのビット
の幾つかは更に複写されているからである。
【0064】 aとgが分かれば、これらの派生データも知ることができる。
【0065】 アルゴリズムの最初のクリティカル命令は、最初のサイクルのデータaのよう
に予測可能なデータ又は派生データを処理する、クリティカル命令である。
【0066】 従って、最初のサイクルT1のデータaや派生データcを処理するクリティカ
ル命令は、演算SBOX、演算P PERMの終了の命令、そして、最初のサイ
クルT1の演算XORの開始の命令である。
【0067】 データg又は派生データを処理するクリティカル命令は、最初のサイクルT1
の終わりでの演算XORの終了の命令から、第二のサイクルT2の演算SBOX
の開始まで、そして第三のサイクルT3(L2=h(T2)=g(T1))の終
わりでの演算XORの開始までの、全ての命令である。
【0068】 DESアルゴリズムの終わりに、暗号化されたメッセージCと部分鍵の推定と
から予測可能なデータは、第十六のサイクルT16のデータaと、第十四のサイ
クルT14のワードhに等しいデータL15である。
【0069】 第十六のサイクルのデータa又は派生データを処理するクリティカル命令は、
第十六のサイクルの、演算SBOX、置換演算P PERMの終了の命令、そし
て演算XORの開始の命令である。
【0070】 このデータ又は派生データを処理するクリティカル命令は、データL15につ
いては、第十四のサイクルT14の演算XORの終了の命令から、第十五のサイ
クルT15の演算SBOXの開始まで、そして第十六のサイクルT16の終わり
の演算XORの開始のまでの、全ての命令である。
【0071】 このDESアルゴリズムに適用する本発明の対抗措置方法は、各クリティカル
命令について、クリティカル命令が、ある一つのデータとその補数とを同じ確率
で処理することから成る。従って、DPA攻撃上での標的ビットが何であろうと
、このビットを処理するクリティカル命令は「1」または「0」のどちらかを同
じ確率で処理することになる。
【0072】 実際には、これは標的となる可能性のある各ビットについて必ず当てはまるは
ずである。換言すれば、攻撃者は、幾つもの可能性ある攻撃の間で、つまり所与
の部分鍵を推定するための曲線を抽出する為に可能な幾つものブール選択関数の
間で、選択肢を有す。本発明の対抗措置方法を利用するには、各クリティカル命
令によって処理されるデータは、二回に一回、ある値又はその補数を無作為に抽
出するということに注意をしなければならない。従って、本発明の対抗措置方法
を、DESアルゴリズムに適用するについては、完全な保護の為に、DESの最
初のクリティカル命令と、DESの最後のクリティカル命令とに対抗措置方法を
適用しなければならない。
【0073】 DESにおいて、クリティカル命令によって処理される全データは、出力デー
タか、もしくは演算SBOXの出力データの派生データである。
【0074】 実際に、DESの初めで、予測可能なデータは最初のサイクルT1のデータa
及びgである。データaは最初のサイクルの演算SBOXの出力データである。
g=P PERM(a)XOR L0であるから、データgはデータaから計算
される。従ってgは最初のサイクルの演算SBOXの出力データaの派生データ
である。従って、DESの開始のクリティカル命令で処理される全データは、最
初のサイクルの演算SBOXの出力データaから直接または間接的に導き出され
る。
【0075】 DESの終わりについては、予測可能なデータは、第十六のサイクルT16の
データaと、第十四のサイクルT14のデータgであり、gはL15に等しい。
【0076】 データaは、第十六のサイクルT16の演算SBOXの出力データである。
【0077】 データL15は、DESアルゴリズムの通常の実行において、第十四のサイク
ルT14の演算SBOXの出力データaから計算される。但し、L15=P P
ERM(a) XOR L14。
【0078】 特にこれらの演算SBOXの出力データaを予測不可能にすると、全派生デー
タも予測不可能にすることになる。従って、DESアルゴリズムのクリティカル
命令によって処理される全データが、予測不可能になる。
【0079】 従って、演算SBOXは、第一手段に対応しており、該第一手段は、定数表T
0に存するものであり、各サイクルごとに使用されて、入力データSから出力
データEを算出する。
【0080】 DESアルゴリズムに対抗措置方法を応用する一つの実施態様は、出力データ
aを予測不可能にする為の他の手段として、少なくとももう一つ他の定数表を用
いることから成り、クリティカル命令によって処理されるこの出力データ及び/
または派生データが全て予測不可能になるようにする。
【0081】 アルゴリズムの実行において、様々な手段の使用は、つまり例示されていると
ころでは様々な定数表の使用は、二分の一の確率の統計法則によって制御される
【0082】 他の一つの定数表または他の複数の定数表は、第一定数表TC0の入力データ
dと出力データの一方または両方に、補数を取ったデータを対応させるような定
数表である。
【0083】 従って、図7及び8は、本発明の対抗措置方法のDESアルゴリズムへの応用
態様を示している。
【0084】 図7はアルゴリズムの初めを示している。本発明の対抗措置方法によって変更
を受けない演算とデータには、既に述べた図3におけるのと同じ表記になってい
る。
【0085】 DESアルゴリズムの初めには、最初のサイクルT1の演算SBOXに第二定
数表TC1が準備されている。この第二定数表TC1の作用を受けた全データは、
それら数字の上に、′や ̄の記号が付けられている。DESの開始のクリティカ
ル命令によって、対抗措置方法の作用を受ける全データが、処理されるのが見て
取れる。
【0086】 第一定数表が実は八つの第一定数表から形成されており、第二定数表もまた八
つの第二定数表から形成されていることに注目されたい。
【0087】 図示された実施例において、第一定数表TC0と第二定数表TC1は、同一の入
力データEについて、第一のものから算出される出力データSの補数/Sを、第
二のものが出力するという定数表である。
【0088】 図9はそのような第二基本表TC11を示しており、図6に示された第一基本
表TC01に対して補数が取られた出力を与えるものである。
【0089】 このような第二定数表TC1を用いることで、最初のサイクルT1の演算SB
OXの出力として、第一定数表TC0を用いて得られるデータaの補数/aが得
られる。同様に、最初のサイクルT1で得られるのは、補数データ/gであり、
第二のサイクルT2で得られるのは、補数データ/h,/L2,/l及び/bで
ある。
【0090】 出力データを算出する為に、二分の一の確率の統計法則に従って第一表又は第
二表を使うことにより、クリティカル命令により処理されるDESの初めで可能
性のある全標的ビットは、「1」の値と「0」の値とを同じ確率で取る。
【0091】 DESアルゴリズムの終わりでは、本発明の対抗措置方法の実施態様には幾つ
もの第一定数表を使う必要があり、というのも、このDESの最後のクリティカ
ル命令で処理される全データを予測不可能にする為には、第十四のサイクルT1
4で計算された出力データaと、第十六のサイクルT16で計算された出力デー
タaとを同時に考慮に入れなければならないからである。
【0092】 このDESアルゴニズムの最後に応用される対抗措置方法の実施例は、図8に
示されている。
【0093】 二つの定数表TC1とTC2を使うように準備されている。
【0094】 第十四のサイクルT14の演算SBOXにおいて、DESの初めで既に使用さ
れた第二定数表TC1が用いられる。
【0095】 そして、第三定数表TC2は、第十五及び第十六のサイクルの演算SBOXに
おいて用いられる。
【0096】 この第三定数表TC2は、第一定数表TC0の入力データEの補数/Eに、出力
データSの補数/Sを算出する表である。第一基本定数表TC0から導き出され
る、対応する第三基本定数表TC21の一例は、図10に示されている。
【0097】 そのような定数表を用いることで、全てのクリティカル命令は補数データを処
理することが、図8に示されている。
【0098】 本発明は、これらの定数表TC1とTC2などの例にのみ限定されるものではな
い。他の可能性も考えられる。例えば、DESの最後に適用される対抗措置方法
について、定数表TC1を、第一定数表TC0との関係で規定されたもう一つの定
数表と組み合わせて使用することで、入力データの補数/Eに対して出力データ
Sを算出することも可能である。
【0099】 一般的には、DESの終わりには、対象となるサイクルに応じて、様々な定数
表を使う必要があり、このDESの終了のクリティカル命令で処理される全デー
タが予測不可能になるようにする為である。
【0100】 しかしながら、図7及び8との関連で述べられた実施態様には不都合な点があ
る。DESの入力に適用される対抗措置方法は、計算された中間結果L3’とR
3’とを生成するが、該結果は正解ではないのである。従って、その後に続く全
中間結果もまた正解ではない。
【0101】 同様に、DESの終わりで、DESの入力に適用される対抗措置方法は、計算
された中間結果L16’とR16’とを生成するが、該結果は正解ではない。
【0102】 全ての場合において、暗号化されたメッセージは誤りである。
【0103】 従って、本発明のこの実施態様において、一旦クリティカル命令が出されると
、毎回、正しい中間結果を有するアルゴリズム列を再開できるように、準備され
なければならない。
【0104】 実際には、既にみたように、DESの開始のクリティカル命令は最初の三サイ
クルにあるので、これらの最初の三サイクルを二倍することにする。換言すれば
、少なくとも最初の三サイクルT1、T2、T3をそれぞれ含む二つのシーケン
スを実行するように準備する。第一シーケンスSEQAは、各サイクル毎に、第
一定数表TC0を用いている。もう一つのシーケンスSEQBは、少なくとも最
初のサイクルT1において、第二定数表TC1を用いる。図示された例では、続
く二サイクルT2及びT3において、第一定数表が使われている。
【0105】 既に見たように、本発明の対抗措置方法において、様々な手段の使用は、つま
り例示されたところでの様々な定数表の使用は、二分の一の確率の統計法則によ
って制御されている。その場合、この二分の一の確率の統計法則は、これらの様
々な手段の使用の順序に、つまり例示されたところでは、二つのシーケンスSE
QAとSEQBの実行の順序に、特に適用される。
【0106】 同様に、DESの終わりで正しいパラメータL16及びR16を得て、暗号化
されたメッセージCを作成する為には、DESの終了のクリティカル命令を含む
三サイクルT14、T15及びT16も二倍する(図7)。従って、少なくとも
最後の三サイクルT14、T15及びT16を含む二つのシーケンスを実行する
ことになる。第一シーケンスSEQA’には、各サイクル毎に、第一定数表TC 0 が用いられる。もう一つのシーケンスSEQB’には、他の定数表TC1及びT
2が用いられる。前述したように、その場合、二分の一の確率の統計法則は、
これら二つのシーケンスSEQA’とSEQB’の実行の順序に適用される。
【0107】 その場合、クリティカル命令は、各シーケンスに一度ずつ、二回実行される。
しかしながら、それらのシーケンスのどちらのクリティカル命令を実行する時で
あろうとも、一つのデータを処理する可能性は、その補数を処理する可能性と等
しくなる。
【0108】 従って、電子構成部品で利用されるDESの計算プログラムは、本発明による
抗措置方法を包含するように変更されなければならない。図11に示されている
のは、本発明に適合した実行フローチャートの例であり、図7及び8との関連で
述べられた実施態様によってDESの初めと終わりで対抗措置方法を利用するも
のである。この例において、シーケンスSEQA及びSEQBには最初の三サイ
クルが含まれており、シーケンスSEQA’及びSEQB’には最後の三サイク
ルが含まれている。
【0109】 その場合、計算プログラムは、特に計算の初めに、DATA IN 及び K
EYと記された入力パラメータをバックアップすることから成り、実際には、C
ONTEXT0と記された一時メモリ領域内でのパラメータL0、R0及びrに
対応している。
【0110】 次に、この計算プログラムに従って、第一ループ・カウンタFRを0にセット
し、0または1に等しい値RND1を無作為抽出する。
【0111】 例において、もしRND1が1に等しいならば、まず、T1、T2、T3のシ
ーケンスSEQBを実行し、該シーケンスにおいて、サイクルT1には第二定数
表TC1を、サイクルT2とT3には第一定数表TC0を用いる。CONTEXT
2と記された一時メモリ領域内で、出力パラメータL3’、R3’ (誤った値
を有する)をバックアップする。
【0112】 もしFRが1に等しくないならば、それを1にセットし、CONTEXT0の
入力パラメータを復活(アンドゥ)させてRND1の値の補数をとる。例におい
て、RND1=0が得られる。その場合には、三サイクルT1、T2及びT3で
第一定数表が使われるT1、T2、T3のもう一つのシーケンスSEQAを実行
することになる。CONTEXT1と記された一時メモリ領域内で、出力パラメ
ータ(正しい値)をバックアップする。
【0113】 もしFRが1であるならば、二つのシーケンスが実行されたということである
。その場合には、CONTEXT1復活をさせ、次のサイクル(T4)で、正し
い値を有する中間結果L3、R3を算出する。
【0114】 もしRND1の値がゼロであるならば、T1(TC0)、T2(TC0)、T3
(TC0)から始めて、T1(TC1)、T2(TC0)、T3(TC0)で終わる
【0115】 サイクルT13の終わりにたどり着いて、このサイクルで算出されたパラメー
タL13、R13を一時メモリ領域CONTEXT0でバックアップし、最初の
サイクルに類似した方法で、残りのサイクルT14、T15及びT16について
処理する。
【0116】 いずれの場合においても、計算の道筋がどうあろうと、命令の数は厳密に同一
にしなければならない。特にこの理由から、前述の応用例においては、一時メモ
リ領域CONTEXT2において、誤った値(L3’,R3’またはL16’,
R16’)もバックアップするように準備されている。
【0117】 実際、もし二つの可能な道筋との間で何らかの違いがあるなら、その場合には
、DPA攻撃が実を結ぶ可能性がでてくる。
【0118】 本発明による対抗措置方法は、DESアルゴリズムに関して記述された実施例
に特に限定されるものではない。全ての秘密鍵式暗号化アルゴリズムに応用され
る。一般的には、入力データから出力データを算出する為の第一手段の使用を含
むアルゴリズムであって、出力データ及び/または派生データがクリティカル命
令によって処理されるようなアルゴリズムを、完全に利用する為に、本発明の対
抗措置方法に他の手段を用いることを含み、出力データ及び派生データが予測不
可能になるようにする。
【0119】 様々な手段、つまり、第一手段と他の手段の使用は、二分の一の確率の統計法
則によって制御されている。
【0120】 他の手段には幾つもの異なった手段が含まれていてもよい。それらは、第一手
段の入力及び出力データのどちらか一方に、補数データを対応させるものである
【0121】 更に詳細に記述されたDESへの対抗措置方法の応用態様例では、第一手段は
、第一定数表TC0に存する。DESの初めでは、他の手段は、第二定数表TC1 に存する。例において、DESの終わりでは、二つの異なった定数表TC1及び
TC2に存する。
【0122】 従って、本発明の対抗措置方法を所定の秘密鍵式暗号化アルゴリズムに適用す
る為には、まず、このアルゴリズムの予測可能な全データと、これらのデータあ
るいは派生データとを処理する、DPA攻撃に対して致命的な命令の全てを確定
しなければならない。次に、クリティカル命令によって処理される全データが予
測不可能になるように、アルゴリズムにおいて、本発明の意味での第一手段と他
の手段を識別しなければならない。DESアルゴリズムについては、第一手段は
定数表TC0である。例において、他の手段は他の定数表である。これらの手段
は、他のアルゴリズムについての様々な演算であってもよい。同一のアルゴリズ
ムについて、これらの手段は、識別されたクリティカル命令による様々な演算に
存することができる。
【0123】 秘密鍵式暗号化アルゴリズムで本発明の対抗措置方法を利用する電子構成部品
1は、典型的には、図12に示されているように、マイクロプロセッサμP、プ
ログラム・メモリ2と作業メモリ3を含んでいる。前述の例においては、プログ
ラム・メモリに記憶されている様々な定数表である、本発明の様々な手段の使用
を制御できるようにする為に、0と1との間の乱数を生成する手段4が準備され
ており、図11に示されているように、DESを実行する毎に、RND1の値を
算出することになる。このような構成部品はチップカードCPに特に用いられ、
カードの不可侵性を高めることができる。
【図面の簡単な説明】
【図1】 図1は、DPA(t)信号を示すものである。
【図2】 図2は、DPA(t)信号を示すものである。
【図3】 図3は、DESアルゴリズムの初めの数サイクルと終わりの数サイクルの計算
の実行フローチャートである。
【図4】 図4は、DESアルゴリズムの初めの数サイクルと終わりの数サイクルの計算
の実行フローチャートである。
【図5】 図5は、DESアルゴリズムで用いられる演算SBOXのブロック図である。
【図6】 図6は、演算SBOXで用いられる入力と出力の基本定数表の一例を示す。
【図7】 図7は、本発明の対抗措置方法の第一の実施態様によるDESアルゴリズムの
初めの数サイクルと終わりの数サイクルの計算の実行フローチャートの一例を示
している。
【図8】 図8は、本発明の対抗措置方法の第一の実施態様によるDESアルゴリズムの
初めの数サイクルと終わりの数サイクルの計算の実行フローチャートの一例を示
している。
【図9】 図9は、それぞれ本発明で用いられる第二と第三の基本定数表を示している。
【図10】 図10は、それぞれ本発明で用いられる第二と第三の基本定数表を示している
【図11】 図11は、本発明の対抗措置方法の実施態様によるDES実行の一般的フロー
チャートを示している。
【図12】 図12は、本発明の対抗措置方法を利用する電子構成部品を備えたチップカー
ドの簡略化したブロック図を示す。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年10月16日(2000.10.16)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブノワ,オリビエ フランス共和国,エフ−13400 オバーニ ュ,アヴニュ 19 マルス 1962,バティ モン デー,ラ トレイユ ダジュール Fターム(参考) 5B017 AA03 BB02 CA13 CA14 5B035 AA13 BB09 BC00 CA11 5J104 AA44 JA13 NA35 NA37

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】秘密鍵(K)式暗号化アルゴリズムを利用する電子構成部品内
    での対抗措置方法であり、アルゴリズムの利用には、入力データ(E)から出力
    データ(S)を算出する為の第一手段(TC0)を使うことが含まれており、出
    力データ及び/または派生データは、クリティカル命令によって処理される、対
    抗措置方法であって、出力データ及び派生データが予測不可能になるように、他
    の手段(TC1)を使用するように準備されていることを特徴とする対抗措置方
    法。
  2. 【請求項2】様々な手段(TC0,TC1)の使用は、二分の一の確率の統計
    法則によって制御されていることを特徴とする、請求項1に記載の対抗措置方法
  3. 【請求項3】アルゴリズムが、十六サイクルの計算(T1,. . . , T16
    )の利用を含んでいる対抗措置方法であって、少なくとも最初の三サイクル(T
    1,T2,T3)から形成された第一シーケンス(SEQA)と第二シーケンス
    (SEQB)の実行を含んでおり、シーケンス実行の順序は、二分の一の確率の
    統計法則によるものであり、第一シーケンス(SEQA)は各サイクル毎に第一
    手段(TC0)を用いており、第二シーケンス(SEQB)は少なくとも最初の
    サイクル(T1)で他の手段(TC1)を用いていることを特徴とする、請求項
    2に記載の対抗措置方法。
  4. 【請求項4】第一シーケンスと第二シーケンスは、それぞれ最初の三サイク
    ル(T1,T2,T3)で形成されていることを特徴とする、請求項3に記載の
    対抗措置方法。
  5. 【請求項5】他の手段は第二手段(TC1)から成り、該第二手段は、同一
    の入力データ(E)については、第一手段(TC0)の出力データ(S)の補数
    (/S)を出力するものであることを特徴とする、請求項3または4に記載の対
    抗措置方法。
  6. 【請求項6】アルゴリズムが、十六サイクルの計算(T1,. . . , T16
    )の利用を含んでいる対抗措置方法であって、少なくとも最後の三サイクル(T
    14,T15,T16)からそれぞれが形成された第一シーケンス(SEQA’
    )と第二シーケンス(SEQB’)の実行を含んでおり、シーケンスの実行の順
    序は、二分の一の確率の統計法則によるものであり、第一シーケンス(SEQA
    ’)は各サイクル毎に第一手段(TC0)を用いており、第二シーケンス(SE
    QB’)は他の手段(TC1,TC2)を用いていることを特徴とする、請求項2
    に記載の対抗措置方法。
  7. 【請求項7】第一シーケンスと第二シーケンスはそれぞれ最後の三サイクル
    で形成されており、第二シーケンスで用いられる他の手段は第二手段(TC1
    と第三手段(TC2)を含んでいることを特徴とする、請求項6に記載の対抗措
    置方法。
  8. 【請求項8】第二手段(TC1)は、同一の入力データ(E)について、第
    一手段(TC0)の出力データ(S)の補数(/S)を出力するものであり、こ
    れら第二手段は第十四のサイクル(T14)の為に第二シーケンス(SEQB’
    )で用いられることを特徴とする、請求項6または7に記載の対抗措置方法。
  9. 【請求項9】第三手段(TC2)は、入力データ(E)の補数について、第
    一手段(TC0)の出力データ(S)の補数(/S)を出力するものであり、第
    十五のサイクルと第十六のサイクル(T15,T16)について、第二シーケン
    スで用いられることを特徴とする、請求項8に記載の対抗措置方法。
  10. 【請求項10】様々な手段は定数表を基にすることを特徴とする、請求項1
    から9のいずれか一つに記載の対抗措置方法。
  11. 【請求項11】入力データから出力データを算出する為の様々な手段(TC 0 ,TC1,TC2)は、前記構成部品のプログラム・メモリに不揮発的に書き込
    まれていること、そして、前記様々な手段の使用を制御する為の、0または1の
    乱数(RND1)の生成手段を含んでいることを特徴とする、請求項1から10
    のいずれか一つに記載の対抗措置方法を利用する電子構成部品。
  12. 【請求項12】請求項11に記載の電子構成部品を含むチップカード。
JP2000577797A 1998-10-16 1999-09-13 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法 Expired - Fee Related JP4195199B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9812989A FR2784829B1 (fr) 1998-10-16 1998-10-16 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR9812989 1998-10-16
PCT/FR1999/002172 WO2000024155A1 (fr) 1998-10-16 1999-09-13 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete

Publications (2)

Publication Number Publication Date
JP2002528754A true JP2002528754A (ja) 2002-09-03
JP4195199B2 JP4195199B2 (ja) 2008-12-10

Family

ID=9531647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000577797A Expired - Fee Related JP4195199B2 (ja) 1998-10-16 1999-09-13 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法

Country Status (8)

Country Link
EP (1) EP1119939B1 (ja)
JP (1) JP4195199B2 (ja)
CN (1) CN1166111C (ja)
AU (1) AU5627599A (ja)
DE (1) DE69928684T2 (ja)
ES (1) ES2255296T3 (ja)
FR (1) FR2784829B1 (ja)
WO (1) WO2000024155A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006174274A (ja) * 2004-12-17 2006-06-29 Toshiba Corp 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
JP2008067416A (ja) * 2000-01-31 2008-03-21 Oberthur Card Systems Sa 2つの電子的エンティティ間における暗号プロトコル実行方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2345229B (en) * 1998-12-23 2003-12-03 Motorola Ltd Method for encrypting data
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
FR2830146B1 (fr) * 2001-09-24 2003-10-31 Gemplus Card Int Procede de mise en oeuvre, dans un composant electronique, d'un algorithme de cryptographie et composant correspondant
WO2003075506A1 (en) * 2002-03-07 2003-09-12 Axalto Sa Method for making safe an electronic cryptography assembly with a secret key
FR2858496B1 (fr) * 2003-07-31 2005-09-30 Gemplus Card Int Procede pour la mise en oeuvre securisee d'un algorithme de cryptographie de type rsa et composant correspondant
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199561A (ja) * 1988-11-10 1990-08-07 Sgs Thomson Microelectron Sa 許可を得ていない保護データ検出に対する安全装置
JPH07202849A (ja) * 1993-12-21 1995-08-04 General Instr Corp Of Delaware 信号化演算における相補性回避装置
JPH10154976A (ja) * 1996-11-22 1998-06-09 Toshiba Corp タンパーフリー装置
JP2000066585A (ja) * 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2672402B1 (fr) * 1991-02-05 1995-01-27 Gemplus Card Int Procede et dispositif pour la generation de nombres pseudo-aleatoires uniques.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199561A (ja) * 1988-11-10 1990-08-07 Sgs Thomson Microelectron Sa 許可を得ていない保護データ検出に対する安全装置
JPH07202849A (ja) * 1993-12-21 1995-08-04 General Instr Corp Of Delaware 信号化演算における相補性回避装置
JPH10154976A (ja) * 1996-11-22 1998-06-09 Toshiba Corp タンパーフリー装置
JP2000066585A (ja) * 1998-08-20 2000-03-03 Toshiba Corp 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008067416A (ja) * 2000-01-31 2008-03-21 Oberthur Card Systems Sa 2つの電子的エンティティ間における暗号プロトコル実行方法
JP2006174274A (ja) * 2004-12-17 2006-06-29 Toshiba Corp 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
JP4634788B2 (ja) * 2004-12-17 2011-02-16 株式会社東芝 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード

Also Published As

Publication number Publication date
JP4195199B2 (ja) 2008-12-10
CN1323476A (zh) 2001-11-21
EP1119939B1 (fr) 2005-11-30
DE69928684D1 (de) 2006-01-05
CN1166111C (zh) 2004-09-08
WO2000024155A1 (fr) 2000-04-27
AU5627599A (en) 2000-05-08
FR2784829B1 (fr) 2000-12-29
DE69928684T2 (de) 2006-08-24
EP1119939A1 (fr) 2001-08-01
FR2784829A1 (fr) 2000-04-21
ES2255296T3 (es) 2006-06-16

Similar Documents

Publication Publication Date Title
US7334133B2 (en) Method for making a computer system implementing a cryptographic algorithm secure using Boolean operations and arithmetic operations and a corresponding embedded system
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
US20210050313A1 (en) Cryptographic device arranged to compute a target block cipher
KR102539111B1 (ko) 메시지 부호화 및 복호화를 위한 블록 암호화 방법 및 이 방법을 구현하기 위한 암호화 장치
Clavier et al. Improved collision-correlation power analysis on first order protected AES
US7543159B2 (en) Device and method with reduced information leakage
US7194633B2 (en) Device and method with reduced information leakage
US20040025032A1 (en) Method and system for resistance to statiscal power analysis
JP2011103686A (ja) 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法
JP3733027B2 (ja) 秘密鍵式暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
Borst et al. Cryptography on smart cards
JP3650333B2 (ja) 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2002528754A (ja) 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
US7471791B1 (en) Method for countermeasure in an electronic component using a secret key algorithm
TW200411593A (en) Method and apparatus for protecting public key schemes from timing, power and fault attacks
JP2004310752A (ja) データ処理装置における誤り検出
JP2002529777A (ja) 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2005134478A (ja) 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
Fu et al. Linear regression side channel attack applied on constant xor
JP2005031471A (ja) 暗号処理装置、および暗号処理方法
JP2006054568A (ja) 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム
Schramm et al. Embedded cryptography: Side channel attacks
DeTrano et al. Exploiting small leakages in masks to turn a second-order attack into a first-order attack
JP4634788B2 (ja) 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
Kaminaga et al. Power analysis and countermeasure of RSA cryptosystem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070417

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070724

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees