JP4347568B2 - 安全化暗号化法と、この暗号化法を使ったコンポーネント - Google Patents

安全化暗号化法と、この暗号化法を使ったコンポーネント Download PDF

Info

Publication number
JP4347568B2
JP4347568B2 JP2002563650A JP2002563650A JP4347568B2 JP 4347568 B2 JP4347568 B2 JP 4347568B2 JP 2002563650 A JP2002563650 A JP 2002563650A JP 2002563650 A JP2002563650 A JP 2002563650A JP 4347568 B2 JP4347568 B2 JP 4347568B2
Authority
JP
Japan
Prior art keywords
masking
calculation
round
key
masked
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 - Lifetime
Application number
JP2002563650A
Other languages
English (en)
Other versions
JP2004533630A (ja
JP2004533630A5 (ja
Inventor
ロメン,ファブリス
テグリア,ヤンニク
Original Assignee
エステーミクロエレクトロニクス ソシエテ アノニム
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=8859754&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4347568(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エステーミクロエレクトロニクス ソシエテ アノニム filed Critical エステーミクロエレクトロニクス ソシエテ アノニム
Publication of JP2004533630A publication Critical patent/JP2004533630A/ja
Publication of JP2004533630A5 publication Critical patent/JP2004533630A5/ja
Application granted granted Critical
Publication of JP4347568B2 publication Critical patent/JP4347568B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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]
    • 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
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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)
  • Storage Device Security (AREA)

Description

【技術分野】
【0001】
本発明は、シークレットキー又はプライベートキーを持つ安全化された暗号化計算方法に関するものである。本発明は、又、この種の方法を応用したコンポーネントに関する。更に、具体的に言えば、本発明は、本暗号化法を実行して、コンポーネントの電力消費から又は電磁放射から、シークレットキー又はプライベートキーに関する情報を取得する物理的攻撃からコンポーネントを守ることを目的とする。
【背景技術】
【0002】
本発明によるコンポーネントは、特に、各種サービス及び/又はデータに対するアクセスが厳しく管理される用途に使用される。これらコンポーネントは、通常、マイクロプロセッサーと、特にシークレットキーを有するプログラムメモリの周辺に形成されるアーキテクチャを有している。
【0003】
このコンポーネントは、例えば、スマートカード、特にバンキング用スマートカードにおいて、コントロール端末又は遠隔端末を介して使用される。
このコンポーネントは、1つ又は複数のシークレットキー暗号化法又はプライベートキー暗号化法を用いて、入力データから出力データを計算する。この方法を使って、例えば、暗号化、暗号解読、入力メッセージのサイン又は、その入力メッセージのサインの認証を行う。
【0004】
取引の安全性を保証する為に、シークレットキー又はプライベートキー暗号化法は、アルゴリズムの入力データ及び/又は出力データから、使用されるシークレットキーを決定することができないように構築されている。しかし、コンポーネントのセキュリティは、シークレットキーを秘密保持する能力に依存している。
【0005】
よく使われる一方法は、DES(Data Encryption Standard)法である。この方法を使って、例えば、64ビットの平分メッセージME(即ち、入力データ)と56ビットのシークレットキーK0とから、64ビットでコード化された暗号化メッセージMS(即ち出力データ)を作成することができる。
【0006】
DESのフェイステル構造を、図1に詳細に記載する。最初の順序換え(permutation)IPの後、入力データの該順序換えされたビットが形成したブロックが、左側部L0と右側部R0とに分離される。
【0007】
この後、16ラウンドの同一演算が行われる。各演算ラウンドの間、先行する演算ラウンドにおいて計算された中間データの右側部(R0,・・・、R15)は、導出キー(derivative key)とミックスされる。このミキシングは変換Fと呼ばれる変換の間に行われる。変換Fの結果は、先行する演算ラウンドの時に計算された中間データの左側部(L0,・・・、L15)に加えられる(XOR演算)。
【0008】
第16演算ラウンドの後に、第16中間データの左側部L16と右側部R16は集められ、最終順序換えIP−1(最初の順序換えIPの逆元である)でプロセスが終了する。
【0009】
第iランキング演算ラウンドLi(但し,iは1と16の間に含まれる整数)が図2に詳細に示されている。キー計算ステップETにおいて、先行するラウンドの時に計算された中間キーKi−1の56ビットは、シフトされ(演算Si)、新規にアップデートされた中間キーKiを与える。次に、56から48ビットが順序換え/圧縮のPC演算により選択され、導出キーMiを与える。但しMi=PC(Ki)=PC(Si(Ki−1))。
【0010】
並行して、変換Fが実行される。先行するラウンドで計算された、1つの中間データの右側部Ri−1は、拡張演算(演算E)により、48ビットに拡張され、XORタイプ演算により導出されたキーMiと組合わされ、非線形置換演算により新規32ビットに置換され(演算SBOXで表される)、次に、再度順序換えされる(演算P)。
【0011】
変換Fの結果は、次に、XOR演算により、先行するラウンドで計算された中間データ(Li―1、Ri―1)の左側部Li―1と組合わされる。この組合わせはアップデートされた中間データの右側部Riを与える。アップデートされた中間データの左側部LiはRiに等しい。
【0012】
演算F、P、E、PC、SBOXは、どのラウンドでも同一である。反対に、導出キーK1〜K16の計算に使われる演算S1〜S16は、ラウンド毎に異なる。
【0013】
DES法実行時の演算F、P、E、PC、SBOXの特性は、全て既知である:実行される計算、使われるパラメータ等。例えば、これら特性は特許出願WO 00/46953、又は、規格“Data Encryption Standard, FIPS PUB46”(1977,1,15発行)に詳細に説明されている。
【0014】
シークレットキー又はプライベートキーを使ったコンポーネントのセキュリティは、使うキーの秘密保持能力に依存している。安全にするためには、コンポーネントは、DPA分析(Differential Power Analysis)を受ける時に、シークレットキーを秘密保持できなければならない。
【0015】
DPA分析において、コンポーネントの電力消費についての統計的分析を行う。即ち、時間経過に従ってコンポーネントが残すトレースについての統計を行う。このためには、約1000のトレースの測定のサンプルが使われる。入力データME[i=1〜1000]に対応する各トレースは、互いに異なり、独立している。統計的研究により、シークレットキーのビットの値についての1つ又は複数の仮定を検証することができる。
【0016】
DES暗号化法を使ったコンポーネントに対しDPA分析を行う実施例について、WO 00/46953に(特にその第3,4頁に)詳述されている。
DES暗号化法は、SBOX演算子の出力において、特にDPAの攻撃に対して弱い。更に一般的に言えば、暗号化法は、シークレットキーが入力データ又は出力データと組合わせられて出現するポイントのDPA分析に対して弱い。
【0017】
即ち、実際には,DES方法は、全演算ラウンドの、複数演算子(XOR、P、E、PC、SBOX等)の全出力において攻撃に対して弱い。というのは、シークレットキーは、第1演算ラウンドの入力データと組合せられるからである。
例えば、入力データMEを知った上で、シークレットキーK0についての仮定を行うと、第1演算ラウンドの出力である中間データ(L1、R1)の少なくとも1ビットの値の予測が可能である。この予測が検証されれば、シークレットキーに関する仮定が検証される。
【0018】
安全にするには、SPA分析(Simple Power Analysis)を受ける時に、コンポーネントはシークレットキーを秘密保持できなければならない。
【0019】
SPA分析では、コンポーネントにより、同一入力データMEをそれに適用して、暗号化法が複数回実行される。この方法が実行される毎に、この実行のトレースは時間の関数として測定される。例えば、該トレースはコンポーネントの電力消費、又は、時間の関数として放出される電磁エネルギーを表す。測定の組は平均化され、測定からノイズを除去し、固定入力データMEに対して回路の現実のトレースを取得する。例えば、10から100の同一測定の組によれば、測定からノイズを十分除去でき、固定入力データMEについてコンポーネントの現実のトレースを取得できる。
【0020】
フィルターリングの後、コンポーネントの実際のトレースにいて、DES法の種々のステップを区別することができる。:最初の順序換えIP、演算の16ラウンド、及び最後の順序換えIP-1
【0021】
DES法は、シークレットキーが最初の形K0又は他の形(中間キーK1、・・・、K16、導出キーM1、・・・、M16)で出現する時点で、SPA分析に対して弱い(sensitive)。実際、SPA分析により、演算の第iラウンドについて、導出キーMiのイメージを決定することが可能である。例えば、導出キーMiがXOR演算実行前に移動される(transferred)期間を同定することが可能である。全導出キーM1〜M16が、シークレットキーK0から既知の演算で得られるのであるから、導出キーの単純なイメージを知ることは、シークレットキーK0についての情報を与えることになる。
【0022】
一般に、全ての暗号化法は多少ともDPA攻撃に弱い。特に、予測可能な中間結果が現われる場所では、そうである。前記中間結果とは、入力データ(又は入力データからの導出されたデータ)とシークレットキー又はプライベートキー(又はシークレットキー又はプライベートキーから得られるキー)、若しくは、出力データ(又は入力データから導出されるデータ)とシークレットキー(又はシークレットキーから得られるキー)の組合わせである。
この種の中間結果は、実際、入力データ及び/又は出力データから、及び使用キーに関する仮定から、予測可能である。というのは、使用される暗号化法(使用する演算子、これら演算子の使用のオーダー等)が既知だからである。DPA攻撃は、仮定を検証することにより、使用キーについての情報を与えるものである。
実際に、一旦入力データが始めてシークレットキーとミックスされてしまうと、全ての方法は入力データ(又は入力データの導出データ)を使ったそれらのステップ(又はサブステップ)の全演算子の出力において弱い。同様に、全ての方法は出力データ、及びシークレットキー又はプライベートキーに依存する結果を出力する全演算子の出力において弱い。入力データが初めてシークレットキー又はプライベートキーとミックスされる時、そうである。
【0023】
同じように、シークレットキーを使う全暗号化法は、多少、SPA分析に対して弱い。特にキーが、最初の形で、又はクリティカルステップとして知られているステップにおいて(この間に、シークレットキーは、直接に又は、既知の導出キー計算法を使って導出された形で使用される)、単独で現われるところでは、極めて弱い。この種のクリティカルステップとは、例えば、中間又は導出キー計算ステップである(この間、キーが、シークレット又はプライベートキー、又は以前に計算された中間キーから計算される)。
【発明の開示】
【発明が解決しようとする課題】
【0024】
本発明の目的は、DPAの物理的攻撃に対し、免疫力をつけたシークレットキー又はプライベートキーで、暗号化計算の為の安全化方法を実装することである。即ち、暗号化計算の安全化方法は、本方法の実装の時、本方法が使用する入力データがどのようなものであるにせよ、本方法を使用する回数がどのようなものであるにせよ、又、トレースの統計的調査が行われるとしても、使用するキーについての情報を与えない。
【0025】
本発明の他の目的は、シークレットキー又はプライベートキーを持つ暗号化計算の安全化法の実装であり、DPAの攻撃からシークレットキー又はプライベートキー保護するものである。
【0026】
本発明は、これら目的をもつ暗号化計算の保護方法に関する。この方法は、Nの計算ラウンドを有し、連続的に実行し、入力データとシークレットキーから出力を生成する。
【0027】
本発明によると、本方法は、以下を有する。
―入力データをマスクする第1マスキングステージ:結果、各中間データ(使用され、計算ラウンドで生成される)がマスクされる。
―各計算ラウンドの内部で演算されるデータをマスクする第2マスキングステージ。
【0028】
また、本発明は電子コンポーネントに関するもので、前記の通り説明し、以下に説明する方法を使う。
【0029】
用語「マスクされた」(又は「ミックスされた」)は、ここ又は本書の他の部分では、以下の意味に解すべきである。:本発明に従う方法において、データ、結果、オペランドは以下の時にマスクされたという。即ち、本方法の二つの実行の間に、特に同一入力データと同一シークレットキー又はプライベートキーを使う方法を2つ実行する間に、それらが異なる値を持つ時。
【0030】
このように、本発明を使うと、計算ラウンドが算出するデータは、マスクされる。なぜなら、計算ラウンドの前に、入力データがマスクされるからである(第1マスキングステージ)。従って、例え、入力データとシークレットキーが同一であっても、計算ラウンドが算出するデータは、本方法の実行毎に異なる。
【0031】
更に、本発明による方法における第2マスキングステージは、計算ラウンド内部で演算されたデータのマスキングを可能にする。
このように、本発明で使われる二つのマスキングステージは、計算ラウンドの内外で操作されるデータのマスキングを可能にする。
【0032】
本発明の方法を使うコンポーネントに対し、電力消費(又は、電磁放射)の統計的調査をしても必ず失敗する。:使用されるキーに関する情報を取得することはできない。コンポーネントの電力消費が使用されるキーの値と無関係だからである。
【0033】
最初のマスキングステージを実行するために、次のステップを実行することが好ましい。
―第1マスキングステップET01(第1計算ラウンド(ラウンド1)の前に実行し、入力データをマスクする)と、
―第1アンマスキングステップET10(第N回計算ラウンド(ラウンドN)の後に実行し、非マスクの出力データを算出する)。
【0034】
第2マスキングステージを実行するために、本方法の第iランキング計算ラウンドにおいて次のステップを実行することが好ましい。
―iランキング計算ラウンドに先行するステップの結果をマスクするための第2マスキングステップET3、
―マスクされた非線形演算子SBOX′を使ってマスクされた結果を置換するための置換ステップET6、
―ステップET6の結果をアンマスクするための第2アンマスキングステップET9。
【0035】
第1マスキングステップET01の間に、第1マスキングパラメータが、入力データMEとミックスされて、第1計算ラウンドでマスクされた入力データを算出する。このミキシングは、第1線形ミキシング演算子を使って行われる。
【0036】
セキュリティを最大にする方法を提供するために、第1マスキングパラメータが、本方法の実行時に、マスキングステップの間でランダムに選択されることが好ましい。第1マスキングパラメータは、本方法を実行するM回のケースに対応する期間においてのみ、ランダムに選択することができる。この場合、M回の実行について同一のマスキングパラメータが使われる。
【0037】
第1マスキングステップは、このように入力データをランダムパラメータとミキシングすることにより、入力データMEと中間データ(入力データMEから取得され、計算ラウンドで使用され生成された)の間の相関を除去する。
【0038】
本方法の終了時、第1アンマスキングステップの間に、第N計算ラウンドの結果に対する寄与(contribution:第1マスキングパラメータにより作成された)が、第N回計算ラウンドの結果から減算される。本方法の最後で、アンマスキングステップは予測した出力データを取り出すことを可能にする。具体的には、本方法が同一の入力データと同一のシークレットキーを使って2回実行される場合、出力データMSは2回ともに同一となる。しかし、中間データは異なる。
【0039】
第2マスキングステージを実行するには、本方法が第3マスキングステップET03(第1計算ラウンドの前に実行される)を有することが好ましい。これはマスクされた非線形演算子SBOX’を生成する。同演算子は各データAについて、以下の関係式を検証する。
【0040】
【数1】
Figure 0004347568
【0041】
セキュリティを最大にするように、マスキングパラメータの中から少なくとも1つが本方法の実行時に選択されることが好ましい。
本発明の変形によれば、本方法の実施のM事例ごとに、マスキングパラメータの1つがランダムに選択される。
また、好ましくは、ミキシング演算子は線形である。一例として、XOR演算子をミキシング演算子の1つとして選ぶことができる。
【0042】
本発明による方法は、既知のキー計算法に従ってシークレットキーから導出キーを算出する導出キー計算ステップを含んでいる。本方法は、第4マスキングステップを追加(導出キー計算ステップの前に実行される)補完され、シークレットキーをマスクする。結果、計算された導出キーは本方法の実施毎に異なる。
【0043】
このように、導出キー(1つ又は複数の)及び/又は中間計算キー(1つ又は複数の)は全てランダムパラメータを加算してマスクされるので、例えばSPAによりコンポーネントの電力消費(power consumption)を分析しても、シークレットキーに関する情報を得ることはできない。
【0044】
実行モードによると、第4マスキングステップの間に、ランダムに選択されたマスキングパラメータは、第4マスキング演算子によりシークレットキーとミックスされ、マスクされたシークレットキー、マスクされた導出キー(前記マスクされたシークレットキーから計算された)を算出する。
【発明を実施するための最良の形態】
【0045】
上記説明したとおり、DES法は、シークレットキーK0と入力データMEから出力データを計算する。DES法には、16計算ラウンドがある。最初の順序換えIP(図3a)が、これに先行し、最後の順序換えIP−1(図3b)(これは最初の順序換えの逆元である)がこの後に続く。各計算ラウンドは(図2)、送出キー計算ステップET1、変換ステップF’、XOR演算子による組合せステップET8を含む。
【0046】
DES法は、本発明によれば、二つのマスキングステージを追加することにより、安全化される。第1のマスキングステージは、マスキングステップET01(図3a)とアンマスキングステップET10(図3b)を有する。第2マスキングステージは、各計算ラウンドで実行され、マスキングステップET3と、マスクされる非線形演算子SBOX’による置換ステップET6とアンマスキングステップET9を含む。
【0047】
図3a、3bの例において、本方法は、第4のサブステップET00〜ET03を含む開始ステップET0を有する。開始ステップの目的は、第1マスキングステージ(ステップET01:入力データMEのマスキング)を実行し、第2マスキングステージ(非線形演算子SBOX’による計算による)を準備することである。第2マスキングステージは、各計算ラウンドで実行される。
【0048】
ステップET00の間に、三つのマスキングパラメータX1,X2、X3がランダムに選択される。それらは、例えば、本方法の実行の際に変更される。それらは、本方法を実施するM回の事例で、変更される。
【0049】
ステップET01の間に、入力の左側部と右側部が分離され、パラメータX1によりマスクされて、マスクされた左側部L’0=L0&X1と、マスクされた右側部R’0=R0&X1を算出する。マスキングは第1マスキング演算子&により行われる。
【0050】
演算子&は、ミキシングに使う二変数に関して線形である。一実施例において、演算子&はXOR演算子である。一般に、データA,B,Cがどのようなものであろうとも、演算子&は、以下の性質を有している。
【0051】
【数2】
Figure 0004347568
【0052】
演算子&−1は、&の逆元で、(A&B)&−1A=B、ケースによっては、&−1と&は同一である。
【0053】
ステップET02において、変数VX1=E(X1)、VX2=P(X2)が計算される。既知のDES法において規定されているように、演算子E、Pは、それぞれ拡張、及び単純な順序換えである。
ステップET03の間に、新規非線形演算子SBOX’が、次の関係式により計算される。
SBOX’=FCT(SBOX、X2、X3)
但し、SBOXは、既知のDES法で使用される非線形演算子で、X2、X3は、ランダムパラメータである。FCTは、次の関数である。
SBOX’[A@X3]=SBOX[A]#X2、(Aの如何なる値に対しても)
@、#は、線形ミキシング演算子で、演算子&と同様な性質を持つものである。
@、#は、互いに異なるもので、これらは、演算子&と異なってもよい。
【0054】
次に演算の第1ラウンドが実行される。;それは9のステップET1〜ET9にサブ分割することができる。
【0055】
キー計算ステップET1の間に、導出キーM1シークレットキーK0から計算される。第1のアップデートされた導出キーM1は次式から算出される。
M1=PC(S1(K0))=PC(K1)。
K1は第1のアップデートされた中間キーであり、その後、演算の第2ラウンドにおいて算出される(図4a、4bには示されない)。演算子PC、S1は、それぞれ、順序換え−圧縮、ビットシフト演算である。これらは、既知のDES法で規定されている。ステップET1は、従って、既知のDES法で規定されているキー計算ステップと同一である。
【0056】
次のステップET2〜ET8は変換ステップF’を形成する。これは、従来技術の方法の変換F(ステップET3とET4を追加し、本発明による新規演算子SBOX’で演算子SBOXを置換して、変更した)に対応するものである。
【0057】
ステップET2のとき、データR’0に対して拡張が行われる。
この演算の結果、E(R’0)は、次に、第2のマスキング演算子@により、パラメータX3とミックスされる。
【0058】
次のステップET4は、第1アンマスキングステップで、前の演算結果から、この結果(これは、マスキングパラメータX1により形成された)に対する寄与を取除くものである。この目的のために、以下の演算が実行される。
【0059】
【数3】
Figure 0004347568
【0060】
次のステップET5の間に、前のステップET4の結果が、XOR演算により、アップデートされた導出キーM1とミックスされる。ステップET5は、次の結果を算出する。
【0061】
【数4】
Figure 0004347568
【0062】
ステップET6において、非線形演算SBOX’が、前の演算の結果について実行される。ステップET6は、次の結果を算出する。
【0063】
【数5】
Figure 0004347568
【0064】
これは、非線形演算子SBOX’の定義に基づくものである。
次に、1ビット順序換えPがこの結果(ステップET7)に行われる。こうして、次の式を得る。
【0065】
【数6】
Figure 0004347568
【0066】
この結果は、演算子Pの線形性から単純に導かれる。
【0067】
次に、ステップET8において、順序換えPの結果は、XOR演算を使ってデータL’0(ステップET01の間に計算された)に加算される。ステップET8は、既知のDES法の対応するステップに類似している。こうして、次の式が得られる。
【0068】
【数7】
Figure 0004347568
【0069】
但し、R1は、既知のDES法のコンテキストの中で規定されているように、第1中間データ(L1、R1)の右側部である。又、上記の全ての非等号(inequalities)は、演算子P、&、#の線形性という事実から導かれる。
【0070】
次のステップET9は、第2のアンマスキングステップで、前の演算の結果から、マスキングパラメータX2により得られた結果に対する寄与を取除く。この目的のために、以下の演算が実行される。
【0071】
【数8】
Figure 0004347568
【0072】
第1ラウンドの終わりで、アップデートされた中間データは、(L’1、R’1)に等しい。但し、L’1=R’0=R0&X1=L1&X1、及びR’1=R1&X1。
【0073】
このように、本発明によるDES法を用いて、中間データ(L’1、R’1:第1演算ラウンドに計算される)は中間データ(L1、R1)(非安全である既知のDES法により算出され、演算子&を使って、ランダムパラメータX1によりマスクされる)に等しい。
【0074】
第2ラウンドが、新規アップデートされた中間データ(L’1、R’1)、及びアップデートされた中間キーK1(ステップET1の期間に計算された)を使って実行される。
【0075】
一般に、本方法の演算の第iラウンドは、ステップET1〜ET9の9ステップにサブ分割される。
【0076】
ステップET1において、導出キーM1は中間キーKi-1(前のラウンドで計算される)から算出され、アップデートされる導出キーMi=PC(Si(Ki―1))=PC(Ki) を算出する。Kiは第1のアップデートされる中間キーで、その後、次の演算ラウンドに提供される(図4a、4bで図示されていない)。演算子PC、Siは、それぞれ、順序換え−圧縮、ビットシフト演算である。これらは、既知のDES法で規定されている。
ステップET2において、拡張がデータR’i−1について行われる。
この拡張の結果E(R’i-1)は、第2のマスキング演算子@を使って、パラメータX3とミキシングされる。
次のステップET4において、以下の演算が実行される。
【0077】
【数9】
Figure 0004347568
【0078】
ステップET5において、ステップET4の結果は、XOR演算を使ってアップデートされた導出キーMiとミックスされる。ステップET5は、こうして次の結果を算出する。
【0079】
【数10】
Figure 0004347568
【0080】
ステップET6において、非線形演算SBOX’が前の演算の結果に対して実行される。ステップET6は、次の結果を算出する。
【0081】
【数11】
Figure 0004347568
【0082】
これは、非線形演算SBOX’の定義から導かれるものである。
1ビット順序換え演算Pは、この結果(ステップET7)に適用される。こうして、次式を得る。
【0083】
【数12】
Figure 0004347568
【0084】
ステップET8において、前記順序換えPの結果は、(XOR演算を使って)データL’i−1(先行するラウンドで計算された)に加えられる。そして次式を得る。
【0085】
【数13】
Figure 0004347568
【0086】
但し、Riは第iアップデートされたデータ(Li、Ri)の右側部である。これは、既知のDES法のコンテキストにおいて定義されているとおりである。又、上記の全ての等号は、演算子P、&、#の線形性という事実から導かれるものである。
【0087】
次のステップET9は、第2アンマスキングステップであり先行する演算の結果から、マスキングパラメータX2によりもたらされた結果に対する寄与を取除くものである。このために、以下の演算が実行される。
【0088】
【数14】
Figure 0004347568
【0089】
第iラウンドの終わりに、アップデートされた中間データは、(L’i、R’i)に等しく、次式が成り立つ。
L’i=R’i-1=Ri-1&X1=Li&X1、及び、R’i=Ri&Xi。
【0090】
このように、本発明によるDES法を使うと、第iラウンドにおいて計算された中間データ(L’i、R’i)は、非安全の既知のDES法により、上記と同一のラウンドで与えられる中間データ(Li、Ri:演算子&を使ってランダムパラメータX1によりマスクされる)に等しい。
新規中間データ(L’i、R’i)は、次のラウンドで算出される。
【0091】
本方法の第16ラウンドで、第16中間データ(L’16、R’16)が算出される。最終アンマスキングの第3ステップET10において、第16データに対するパラメータX1の寄与が演算子&−1により取除かれる。:
L16=L’16&−1X1、R16=R’16&−1X1
【0092】
最後の順序換えIP−1は(ステップET10の後実行される)、本発明に基づくDES法を終了させる。順序換えIP−1は、既知のタイプのDES法の等価な順序換えと同一である。
【0093】
入力データMEとシークレットキーK0が既知の方法及び本発明による方法について同一である限り、本発明によるDES法を使って生成された出力データは、既知のDES法が算出するものと同一である。
【0094】
【数15】
Figure 0004347568
【0095】
本方法を実施する毎にX1、X2、X3はランダムに選択されるから、たとえ、入力データ(L0、R0)又は本発明の方法により使用されるシークレットキーK0の値がどのようなものであろうとも、全中間結果及び中間データの値は本方法を実施する毎に異なる。具体的には、本方法が同一の入力データMEと同一のシークレットキーK0を使って2回実行されるケースを含め、全ての中間結果の値は異なる。
【0096】
少なくとも一つのランダムパラメータの存在により、シークレットキーK0と入力データMEとの間の全ての相関関係は、中間結果又は中間データのレベルで、除去される。従って、DPAの統計分析では、シークレットキー(本発明による安全化方法により使用される)についての情報を取得することはできない。
【0097】
図3a、3bの方法における変更及び/又は改良は、本発明の枠を離れることなく可能である。
例えば、本方法の複数ステップの実行順序を変更することができる。
―複数ステップIP、ET01、ラウンド1、…ラウンドi、…ラウンド16、ET10、IP-1は、所望の方法が図1,2のものに類似である場合には、図3a、3bで示した順序で実行しなければならない。
―ステップET00は、ステップET01より前に実行されなければならない。ステップET00は、ステップIPより前、又は同時に実行してもよい。
―ステップET02は、ステップET00とステップET4(第1演算ラウンドの)の間に実行される。;それは、ステップIP、ステップET01とステップET1又はET2の前、又は同時に実行してもよい。
―ステップET03は、演算の第1ラウンドのステップET00とステップET6(第1演算ラウンドの)の間に実行される。;それは、ステップET01、複数ステップET1、ET2、ET3、ET4の前又は後に実行してもよい。対(symmetry)の理由により、ステップET01がステップIPの前に実行される場合には、ステップET10はステップIP-1の後に実行される。反対に、ステップET01がステップIPの後に実行される場合には、ステップET10はステップIP-1の前に実行される。
―各ラウンドiにおいて、導出キーMiをステップET5の実行に利用する為に、ステップET1は実行されなければならない。;ステップET1は、例えば、複数ステップET2、ET3、ET4と同時に実行してもよい。
【0098】
図3a、3bを参照して説明した例において、3つのランダムパラメータX1、X2、X3を使った。このやり方は、一番効率的なやり方で、全ての中間結果をマスクするものである。他の例においては、パラメータを2つだけ(X1、X2)使うことも可能である。この場合、ステップET02は、P(X2)の計算に限定され、全演算ラウンドのステップET3、ET4が無くなり、ステップET03は、変更されて、新規の非線形演算子SBOX''を、次の式で、計算する。
SBOX”=FCT”(SBOX、X1、X2)
但し、FCT”は、次のような関数である。
SBOX”(A&E(X1))=SBOX(A)#X2。
【0099】
【数16】
Figure 0004347568
【0100】
同様に、図3a、3bを参照して説明してきた例において、三つのパラメータX1、X2、X3が、本方法を実施するごとに、ランダムに選択される。しかしながら、パラメータX1、X2、X3を、多少頻繁に変更することができる。例えば、第i演算ラウンドの実行時に、パラメータ、特にX2及び/又はX3を変更することが可能である。この場合、ステップET02、ET03は、各ラウンドで変更パラメータX2、X3を考慮して、実行される。
【0101】
同じ考えで、DPA攻撃を実行するにはM回の実行では十分でないと考えられる場合には、本方法を実施するMのケース毎に、パラメータX1、X2、X3を変更することができる。但し、Mは整数である。この場合、ステップET0において、ステップET01だけが実行される。複数ステップET00、ET02、ET03は本方法のM回の実行期間毎にのみ実行される。
【0102】
他の改良によっても、SPA攻撃に対して本方法を安全化することができる。このタイプの分析に対し、導出キー計算ステップMiは特に弱い。従って、改良は、中間結果に加えて、導出キーをマスクすることである。図3a、3bの方法は、次のステップを追加することにより(図4参照)改良される。:
―開始ステップET0に、サブステップET05、ET06
―本方法の演算の16ラウンドの各ラウンドに、ステップET11、ET12
説明を明瞭に簡単にするために、新規サブステップET05とET06をつけて、本方法の第iラウンドだけを図4に示した。
【0103】
ステップET05において、第4パラメータY0をランダムに選択する。ステップET05は、例えば、ステップET00と同時に実行される。又は、複数ステップIP、ET01、ET02、ET03の中の1つと同時に、実行される。
マスキングステップET06において、第4マスキングパラメータY0(ステップET05の後実行される)は、シークレットキーK0とミックスされ、マスクされたシークレットキーK’0を算出する。このミキシングは、次の式により行われる。:
K’0=K0|Y0
【0104】
演算子|は、ミックスする二変数に関して線形であるように選択される。一実施例では、演算子|はXORである。又、演算子|はどのタイプの線形演算子であってよい。一般に、演算子|は、演算子&、@、#のようなものと類似した性質を有する。
【0105】
次に、第1演算ラウンド(図4には示さないが)が実行される。キー計算ステップET1は、シークレットキーK0からは、もはや直接実行されず、マスクされたシークレットキーK’0から実行される。ステップET1は、次式によって、マスクされた導出キーM’1を算出する。
M’1=PC(S1(K’0))=PC(S1(K0|Y0))
=PC(S1(K0))|PC(S1(Y0))
【0106】
最後の等号は、単に、演算子PC,S1及び|が線形演算子であり、特に交換律(commutatif)又は結合律(associatif)を有するという事実から導かれる。
【0107】
PC(S1(K0))=K1であるから、これから最終的に、M’1=M1|PC(S1(Y0))となる。但し、M1は、計算された導出キーで、図3a、3bを参照して説明されたDES法により計算されたものである。
【0108】
差計算ステップET11は、例えば、キー計算ステップET1の前に、と同時に、又は、の後に、実行される。ステップET11は、パラメータY0により計算されるマスクされた導出キーM’iに対する寄与Ciを決定する。
【0109】
ステップET11はステップET1と類似している。;ステップET11は、マスキングパラメータY1=S1(Y0)(パラメータY0のビットをシフトしてアップデートされる)を算出する演算Si及び、寄与Ciを計算する演算PCを含む。寄与C1は、次式に従って計算される。:C1=PC(S1(Y0))。最終的に、M’1=M1|C1が導かれる。このアップデートされたマスキングパラメータY1は演算の次のラウンドで計算される。
【0110】
アンマスキングステップET12は、変換ステップF”のサブ分割である(F”は、図3a、3bにステップET12を追加したDES法の変換F'に対応する)。ステップET12は、ステップET5とステップET6の間に実行される。ステップET12は、アップデートされたマスキングパラメータY1により与えられる寄与C1を取除く。このために、演算子|−1(これは、演算子|の逆元である)が使用される。ステップET12の出力において、次式が得られる。
【0111】
【数17】
Figure 0004347568
【0112】
【数18】
Figure 0004347568
【0113】
従って、変換F”の出力に現れる出力データは、図3a、3bの方法の変換F’の出力に現われるものと同一である。
【0114】
更に一般的に言えば、演算の第iラウンドにおいて、ステップET1は、次式により、マスクされ、導出されたキーM’iを算出する。
【数19】
Figure 0004347568
【0115】
但し、Miは、図3a、3bを参照して説明したDES法に従って計算したものである。
【0116】
複数演算子PCが、本方法の全ラウンドに対して、同一である(同一特徴、同一パラメータ等)。反対に、ビットシフト演算Siは演算ラウンド毎に異なる。
【0117】
ステップET11は、パラメータYi-1(又は、一般的にY0)によりもたらされる、マスクされた導出キーM’に対する寄与Ciを決定する。ステップET11は、アップデートされたパラメータYi=Si(Yi-1)、及び、次式に従ってアップデータされた寄与Ciを算出する。
Ci=PC(Si(Yi-1))。
最後に、これからM’1=Mi|Ciが導かれる。アップデートされたマスキングパラメータYiは次の演算ラウンドで算出される。
【0118】
ステップET12はステップET5とステップET6の間に実行される。ステップET12の出力において、次式を得る
【0119】
【数20】
Figure 0004347568
【0120】
こうして、寄与Ciを除去した後で、SBOX’タイプの演算子の入力に現われる変数は、PE(Ri−1)@X3+Miと同一である。即ち、それは、図3a、3bを参照して説明したDES法の演算子SBOX’の入力に現われる変数と同一である。変換ステップF′の出力に現われる出力データは、図3a、3bの方法変換演算F′の出力に現われるものと同一である。
【0121】
最後に、図4の方法によると、全中間結果は、パラメータX1、X2、X3(又はこれらパラメータから導出されたもの(form))の内の少なくとも一つによりマスクされる。更に、全中間キーK’i、全導出キーM’iは、パラメータY0又はY0から導出されたものによりマスクされる。
【図面の簡単な説明】
【0122】
【図1】DESタイプの既知の暗号化法を説明するブロック図である。
【図2】図1の方法の詳細ステップを説明する流れ図である。
【図3a・図3b】本発明に基づいて安全化された、図1の方法についての流れ図である。
【図4】図3a,図3bの方法の改良したもののブロックダイアグラムである。

Claims (16)

  1. シークレットキー(K0)を使って入力データ(ME)を暗号化データ(MS)に変換するDES暗号化システムによる計算フローにおいて、
    前記DES暗号化システムから発生する電磁波又は前記システムの電力消費の電磁エネルギー解析からシークレットキーを取得する攻撃からシークレットキーを保護するために、
    (a)初期転置IPから出力される各中間データをマスクすることによって、入力データ (ME)をマスクするための第1マスキングステージと
    (b)フェイステル構造の各計算ラウンド関数処理として各計算ラウンド内で演算される データをマスクする第2マスキングステージであって
    (b-1)第iランキング計算ラウンド(i=1乃至N)の前のステップの結果をマスク するための第2マスキングステップET3と、
    (b-2)マスクされた非線形演算子SBOX’を使って、前に得られた、マスクされた 結果を置換する置換ステップET6と、
    (b-3)前記置換ステップET6の結果のアンマスキングを行う第2アンマスキングス テップET9と、を含む第2マスキングステージと、
    の2つのマスキングステージを含むN計算ラウンドの暗号化計算を実行するDES暗号化計算方法。
  2. ―第1計算ラウンド(ラウンド1)の前に入力データ(ME)をマスクするために実行する第1マスキングステップ(ET01)と、
    ―ステップ(ET01)と(ET02)は第1マスキング段を形成するものであって、出力データ(MS)を生成するために第N計算ラウンド(ラウンドN)の後で実施される第1アンマスキングステップ(ET10)とを、
    第1マスキングステージにおいて有することを特徴とする請求項1に記載の暗号化計算方法。
  3. ―第1マスキングステップ(ET01)において、第1マスキングパラメータ(X1)が入力 データ(ME)とミックスされ(ミキシング)、第1計算ラウンドで、マスクされた入力 データ(ME’;L’0,R’0)を作成し、該ミキシングは第1線形ミキシング演算 子&を使用して行い、
    ―第1アンマスキングステップ(ET10)において、第1マスキングパラメータ(X1 )によりもたらされる、第N計算ラウンドの結果に対する寄与(contribution)が、第 N計算ラウンドの結果から減算される
    ことを特徴とする請求項2記載の暗号化計算方法。
  4. ―第1計算ラウンドの前に実行され、以下の関係を検証する非線形演算子SBOX’を生 成するための、第2マスキングステージの第3マスキングステップ(ET03)を有す る請求項2又は3記載の暗号化計算方法。
    SBOX’[A@X3]=SBOX[A]#X2
    但し、X2は第2マスキングパラメータ、X3は第3マスキングパラメータ、SBOXは既知の非線形演算子、#は第2ミキシング演算子、@は第3ミキシング演算子である。
  5. 第i計算ラウンドのステップET9において、第2マスキングパラメータ(X2)がもたらした寄与を前記マスクされた非線形演算子SBOX’により生成された結果から取り除くことを特徴とする、請求項4記載の暗号化計算方法。
  6. i計算ラウンドは、以下のステップを有し、以下の順序で実行することを特徴とする請求項4記載の暗号化計算方法。
    ―ET2:先行する計算ラウンドにより前もって計算されたマスクされた中間データの右 側部(R’i―1)の拡張、
    ―ET3:第3マスキング演算子(@)を使って、第3マスキングパラメータ(X3)で 先行するステップET2の結果をマスクする。
    ―ET4:第1マスキングパラメータを使って、先行するET3ステップの結果から寄与 を除去する。
    ―ET5:前のステップの結果に、アップデートされた導出キー(Mi)でミキシングす る。
    ―ET6:先行するステップET5の結果を、マスクされた非線形演算子SBOX’で置 換し、第2マスキングパラメータ(X2)によりマスクされた結果を提供する。
    ―ET7:先行するステップET6の結果の順序換え。
    ―ET8:XOR演算を使って、先行するET7の結果に、前に計算した中間データの左 側部(L’i-1)を加算する。
    ―ET9:先行するステップET8の結果から、第2マスキングパラメータにより算出さ れた寄与を除去し、中間データ(L’i、R’i)の右側部を算出する。但し、前記中 間データの左側部(L’i)は、前に計算された中間データ(L’i−1、R’i−1 )の右側部に等しい。
  7. 前記方法を実行する毎に、マスキングパラメータ(X1、X2、X3)の中から少なくとも1つをランダムに選択することを特徴とする請求項2〜6のいずれか1項記載の暗号化計算方法。
  8. 前記方法をM回実行する毎に、マスキングパラメータ(X1、X2、X3)の中から少なくとも1つをランダムに選択することを特徴とする請求項2〜6のいずれか1項記載の暗号化計算方法。
  9. 第1ミキシング演算子&及び/又は第2ミキシング演算子#及び/又は第3ミキシング演算子@がXOR演算子であることを特徴とする請求項2〜8のいずれか1項記載の暗号化計算方法。
  10. 既知のキー計算法によりシークレットキー(K0)からアップデートされた導出キーを算出する導出キー計算ステップET1を含む請求項2〜9のいずれか1項記載の方法であって、
    前記方法は、計算される導出キー(M’1、M’i)が前記方法を実行する毎に異なるように、第4ミキシングパラメータ(Y0)によりシークレットキー(K0)をマスクするために、導出キー計算ステップ(ET1)の前に実行される第4マスキングステップ(ET06)を有することを特徴とする暗号化計算方法。
  11. 各ラウンド毎に実行されるNの導出キー計算ステップ(ET1)を含む方法であって、
    iランキング導出キー計算ステップは、
    同一iランキング計算ラウンド(ラウンドi)において、マスクされ、アップデートされた導出キー(M’i)を算出し、前に計算されマスクされたシークレットキー(K’i-1)からアップデータされたマスクされたシークレットキー(K’i)を算出することを特徴とする請求項10記載の暗号化計算方法。
    但し、前記iランキング計算ラウンドは、特に、ステップET3とET6の間に実行される、次のステップET5とET12を有する。
    ET5:ランクiの、アップデートされ、マスクされた導出キー(M’i)と、前のステップの結果とのミキシング、
    ET12:ステップET5の結果から、第4マスキングパラメータ(Y0)により生成された寄与の除去。
  12. 第4マスキングステップ(ET06)が、最初の導出キー計算ステップより前に実行されることを特徴とする請求項11記載の暗号化計算方法。
  13. 第4マスキングステップ(ET06)が、各導出キー計算ステップ(ET1)より前に実行されることを特徴とする請求項11記載の暗号化計算方法。
  14. マスクされたシークレットキー(K’0)を算出するために、第4マスキングステップ(ET06)において、ランダムに選択した第4マスキングパラメータ(Y0)が、第4ミキシング演算子|を使って、シークレットキー(K0)とミックスされることを特徴とし、前記アップデートされマスクされた導出キー(M’1、M’i)は前記マスクされたシークレットキー(K’0)から計算されることを特徴とする、請求項10〜13のいずれか1項記載の暗号化計算方法。
  15. 第4マスキングステップ(ET06)において、以下の演算が実行されることを特徴とする、請求項14記載の暗号化計算方法。
    K’0=K0|Y0
    但しK’0は、マスクされたシークレットキー、
    K0は、シークレットキー、
    Y0は,前記第4マスキングパラメータ、
    |は、第4ミキシング演算子。
  16. 第4ミキシング演算子|がXOR演算子であることを特徴とする請求項14又は15記載の暗号化計算方法。
JP2002563650A 2001-02-08 2002-02-06 安全化暗号化法と、この暗号化法を使ったコンポーネント Expired - Lifetime JP4347568B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0101685A FR2820576B1 (fr) 2001-02-08 2001-02-08 Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
PCT/FR2002/000453 WO2002063821A1 (fr) 2001-02-08 2002-02-06 Procede de cryptage securise et composant utilisant un tel procede de cryptage

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008232720A Division JP2008295108A (ja) 2001-02-08 2008-09-10 安全化暗号化方法及び装置

Publications (3)

Publication Number Publication Date
JP2004533630A JP2004533630A (ja) 2004-11-04
JP2004533630A5 JP2004533630A5 (ja) 2008-11-06
JP4347568B2 true JP4347568B2 (ja) 2009-10-21

Family

ID=8859754

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002563650A Expired - Lifetime JP4347568B2 (ja) 2001-02-08 2002-02-06 安全化暗号化法と、この暗号化法を使ったコンポーネント
JP2008232720A Pending JP2008295108A (ja) 2001-02-08 2008-09-10 安全化暗号化方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008232720A Pending JP2008295108A (ja) 2001-02-08 2008-09-10 安全化暗号化方法及び装置

Country Status (6)

Country Link
US (1) US8306218B2 (ja)
EP (1) EP1358732B2 (ja)
JP (2) JP4347568B2 (ja)
DE (1) DE60223337T3 (ja)
FR (1) FR2820576B1 (ja)
WO (1) WO2002063821A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008295108A (ja) * 2001-02-08 2008-12-04 Stmicroelectronics Sa 安全化暗号化方法及び装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323955B2 (en) * 2000-12-21 2016-04-26 Gemalto Sa Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
US8582774B2 (en) * 2002-03-07 2013-11-12 Gemalto Sa Method for making safe an electronic cryptography assembly with a secret key
GB0211812D0 (en) * 2002-05-23 2002-07-03 Koninkl Philips Electronics Nv S-box encryption in block cipher implementations
JP2005056413A (ja) * 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
DE602004023436D1 (de) * 2004-03-29 2009-11-12 St Microelectronics Sa Prozessor zum ausführen eines aes algorithmus
US7899190B2 (en) 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
US7848514B2 (en) * 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
DE102004032893B4 (de) * 2004-07-07 2015-02-05 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
DE102004032894A1 (de) * 2004-07-07 2006-02-09 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
DE102004052196B4 (de) * 2004-10-27 2017-04-06 Giesecke & Devrient Gmbh Ausspähungsgeschütztes Ausführen von Operationen unter Verwendung einer maskenunterstützenden Recheneinheit
WO2006046187A1 (en) * 2004-10-28 2006-05-04 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function
FR2879383A1 (fr) * 2004-12-14 2006-06-16 St Microelectronics Sa Masquage de mots binaires traites par un circuit integre
US20100080395A1 (en) * 2006-11-17 2010-04-01 Koninklijke Philips Electronics N.V. Cryptographic method for a white-box implementation
KR100834096B1 (ko) 2007-05-11 2008-06-02 한국전자통신연구원 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법
FR2951599B1 (fr) 2009-10-20 2011-11-25 St Microelectronics Rousset Procede securise de calcul cryptographique et composant electronique correspondant
FR2955436B1 (fr) * 2010-01-19 2012-11-23 St Microelectronics Rousset Procede et dispositif de contremesure pour proteger des donnees circulant dans un composant electronique
JP5060606B2 (ja) * 2010-09-17 2012-10-31 株式会社東芝 暗号化装置
EP2509252B1 (fr) 2011-04-08 2016-08-10 STMicroelectronics (Rousset) SAS Procédé de calcul cryptographique sécurisé, en particulier contre des attaques du type DFA et unidirectionnelles, et composant correspondant
FR2985624B1 (fr) * 2012-01-11 2014-11-21 Inside Secure Procede de chiffrement protege contre des attaques par canaux auxiliaires
KR101362675B1 (ko) * 2012-11-30 2014-02-12 한국전자통신연구원 저전력 암호화 장치 및 방법
DE102014004378A1 (de) * 2014-03-26 2015-10-01 Giesecke & Devrient Gmbh Speichereffiziente seitenkanalgeschützte Maskierung
US10097351B1 (en) 2016-09-15 2018-10-09 ISARA Corporation Generating a lattice basis for lattice-based cryptography
US9673977B1 (en) 2016-09-15 2017-06-06 ISARA Corporation Refreshing public parameters in lattice-based cryptographic protocols
KR102602696B1 (ko) * 2017-10-13 2023-11-16 삼성전자주식회사 암호화 장치 및 복호화 장치, 이들의 동작방법
FR3097994B1 (fr) * 2019-06-28 2022-03-11 St Microelectronics Rousset Modification d'une mémoire d'un microprocesseur sécurisé

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0293487A (ja) * 1988-09-29 1990-04-04 Nippon Telegr & Teleph Corp <Ntt> 鍵書込み装置
FR2650458B1 (fr) * 1989-07-25 1991-10-11 Trt Telecom Radio Electr Procede de traitement d'une permutation irreguliere de donnees protegees par chiffrement
JP2862141B2 (ja) * 1989-12-29 1999-02-24 富士通株式会社 慣用暗号を用いた識別番号ベース鍵管理装置
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US5949884A (en) * 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
WO1999067919A2 (en) * 1998-06-03 1999-12-29 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
ATE336122T1 (de) * 1998-12-30 2006-09-15 Nokia Corp Verfahren und vorrichtung zur kryptographischen datenverarbeitung
FR2790890B1 (fr) * 1999-03-08 2001-04-27 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
JP2000305453A (ja) * 1999-04-21 2000-11-02 Nec Corp 暗号化装置,復号装置,および暗号化・復号装置
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
FR2800478B1 (fr) * 1999-10-28 2001-11-30 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a base d'exponentiation modulaire contre les attaques par analyse physique
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
FR2820576B1 (fr) * 2001-02-08 2003-06-20 St Microelectronics Sa Procede de cryptage protege contre les analyses de consommation energetique, et composant utilisant un tel procede de cryptage
US7403620B2 (en) * 2002-07-02 2008-07-22 Stmicroelectronics S.A. Cyphering/decyphering performed by an integrated circuit
AU2003304629A1 (en) * 2003-07-22 2005-02-04 Fujitsu Limited Tamper-resistant encryption using individual key
US7716502B2 (en) * 2005-08-24 2010-05-11 Radu Muresan Current flattening and current sensing methods and devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008295108A (ja) * 2001-02-08 2008-12-04 Stmicroelectronics Sa 安全化暗号化方法及び装置

Also Published As

Publication number Publication date
EP1358732A1 (fr) 2003-11-05
DE60223337T3 (de) 2012-12-06
FR2820576A1 (fr) 2002-08-09
FR2820576B1 (fr) 2003-06-20
WO2002063821A1 (fr) 2002-08-15
US20040071288A1 (en) 2004-04-15
EP1358732B1 (fr) 2007-11-07
US8306218B2 (en) 2012-11-06
EP1358732B2 (fr) 2012-05-30
JP2004533630A (ja) 2004-11-04
DE60223337D1 (de) 2007-12-20
JP2008295108A (ja) 2008-12-04
DE60223337T2 (de) 2008-08-28

Similar Documents

Publication Publication Date Title
JP4347568B2 (ja) 安全化暗号化法と、この暗号化法を使ったコンポーネント
JP4727906B2 (ja) シークレットキーを使った暗号化計算の安全化法、及び、この暗号化法を使ったコンポーネント
CN106788974B (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
JP4596686B2 (ja) Dpaに対して安全な暗号化
Rivain et al. Higher-order masking and shuffling for software implementations of block ciphers
JP4828526B2 (ja) 暗号計算を実行するための方法及び装置
US7899190B2 (en) Security countermeasures for power analysis attacks
Clavier et al. Improved collision-correlation power analysis on first order protected AES
US10359996B2 (en) Random number generator and stream cipher
WO2009122464A1 (ja) 共通鍵暗号機能を搭載した暗号化装置及び組込装置
Jaffe A first-order DPA attack against AES in counter mode with unknown initial counter
KR20230079509A (ko) 메시지 부호화 및 복호화를 위한 블록 암호화 방법 및 이 방법을 구현하기 위한 암호화 장치
EP1557740A2 (en) Methods, circuits and computer program products for processing masked data in an advanced encryption system
JP2008516502A (ja) 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成
JP5184659B2 (ja) 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
Karroumi et al. Addition with blinded operands
JP3733027B2 (ja) 秘密鍵式暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
Jeong et al. Differential fault analysis on block cipher SEED
Masoumi A highly efficient and secure hardware implementation of the advanced encryption standard
Borst et al. Cryptography on smart cards
Arshad et al. New extension of data encryption standard over 128-bit key for digital images
JP2005031471A (ja) 暗号処理装置、および暗号処理方法
JP2002529777A (ja) 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
JP2006054568A (ja) 暗号化装置、復号化装置、および方法、並びにコンピュータ・プログラム
Oshida et al. On masked galois-field multiplication for authenticated encryption resistant to side channel analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080206

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080910

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20080910

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090520

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4347568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term