JP2003513490A - 意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法 - Google Patents

意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法

Info

Publication number
JP2003513490A
JP2003513490A JP2001533494A JP2001533494A JP2003513490A JP 2003513490 A JP2003513490 A JP 2003513490A JP 2001533494 A JP2001533494 A JP 2001533494A JP 2001533494 A JP2001533494 A JP 2001533494A JP 2003513490 A JP2003513490 A JP 2003513490A
Authority
JP
Japan
Prior art keywords
mapping
data
algorithm
output
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001533494A
Other languages
English (en)
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
Application filed by サイファーマンクス コンサルタンツ リミテッド filed Critical サイファーマンクス コンサルタンツ リミテッド
Publication of JP2003513490A publication Critical patent/JP2003513490A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code
    • G07F7/1083Counting of PIN attempts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 特にサイド・チャネルの観測によるデータへの無許可アクセスのリスクを低減するために、データを処理し格納する方法を提供する。この方法は、本技術から最大の利益を得るためにアルゴリズム、具体的には暗号の設計を行い、マッピングデータを演算するためのアルゴリズムの実行を修正し、格納するために最初にデータ、特に暗号鍵をマッピングし、第2マッピングを用いて先のデータマッピングからのデータマッピングを修正し、修正されたアルゴリズム実行に入力するための受信データをマッピングし、更に引き続き利用するために修正されたアルゴリズムからの出力をデータマッピングするというステップを含む。該方法は、元のデータ及びそのデータのマッピングの機密性を高める結果となる。データマッピング及び第2データマッピングはルックアップテーブル、マッピング選択データを有するアルゴリズム又はそれらに類するもの等の方式をとることができる。データマッピングは、無許可アクセスのリスクをさらに低減するために、カスケードマッピングとして実行させることができる。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明はデータのセキュリティに関する。より詳細には、本発明は、データへ
の無許可アクセスのリスクを低減することに関する。
【0002】 (背景技術) 機密データに関するサイド・チャネル攻撃 暗号システムは従来、いわばブラックボックスのように、暗号(暗号化又は解
読)を用いて表されており、そこでは、(平文であろうと暗号文であろうと)入
力データは秘密鍵を用いて内部処理され、ブラックボックスに残される情報のみ
が意図した出力データである。
【0003】 意図せずに放射される電磁放射、又はデバイスが出す電力変動のようなサイド
・チャネル情報は、処理中の情報の監視を狙いとした攻撃において、容易にかつ
巧みに悪用され得ることが、(例えば、1999年、スプリンガ・ベルタッグ出
版、P.コーチャ、J.ジャフ及びB.ジュンによる差動電力解析、暗号技術の
進歩−暗号の手順1999年版、コンピュータ科学の講義ノート第1666巻に
おいて)最近明らかになってきた。これにより、ノイズが多いとはいえ、内部処
理の直接観測が攻撃者にとって利用可能となることから、暗号鍵の抜取りは、我
々が従来の暗号解読モデルによって信じ込まされているよりもはるかに容易にな
った。
【0004】 暗号化演算が繰り返し鍵を使用する場合には、攻撃者は、具体的には、従来の
暗号読解技術に頼ることなく、いくつかの演算中にサイド・チャネル情報を観測
し分析することによって、それを入手することができる。鍵値(又は繰り返し使
用されるいずれかの内部データ)を抜取るために観測する必要がある反復演算の
最小数は、具体的には、観測を試みている信号指数とノイズ指数の比率(信号対
ノイズ比)に反比例して変化する。事例として、ハードウェアの変更により、こ
の比率を100倍(即ち20dBまで)に下げると、攻撃者は通常、その鍵を抜
取るために100回程度にも上る多くの演算を観測する必要が出てくる。
【0005】 ノイズのシールド及び追加などによるサイド・チャネルの信号対ノイズ比の減
少には、実際的かつ経済的な制約が存在する。(チップカードのような)セキュ
リティ上安全なプロセッサが潜在的攻撃者の手に委ねられた場合に、その人物は
サイド・チャネルを注意深く観測しながら入力データを提供することによって容
易にプロセッサを繰り返し刺激することができる。チップカードの事例には銀行
決済及び有料テレビカードが含まれる。費用と時間を殆どかけることなく、その
攻撃者は、本文中でDPA(差動電力解析)と呼ばれる統計的技術を用いること
によって、関心のある情報の抜取りができる。このネーミングは、デバイスが出
す電力の変動を観測しながらチップカードを監視するための最も一般的なサイド
・チャネルによる。DPA技術は、データ操作を行なっているコンピュータが放
射する無線周波数信号の秘密受信及び分析に選択的に適用できる。
【0006】 簡易なチップカード設計に関しては、幾つかの類似波形のセット平均における
差異分析が、機密データを推定させるようにできる。これが第1階数のDPA攻
撃の一事例である。現在利用可能な市販チップカードは殆ど例外なく、強い目的
意識をもった個人が入手できるリソースによるこうした攻撃に脆弱であることが
実証されている。適切なアルゴリズム設計及び不規則性を備えることによって、
第一階数又はより高い階数のDPA攻撃に直面した場合にも、データ機密を維持
することが可能である。
【0007】 DPA攻撃の階数は、攻撃にさらされるデータのいずれかを取得する中間変数
の最小数として定義することができ、その場合には、これら中間変数は、数多く
の観測を通じての平均化処理によって、観測からそれぞれ導き出される。(正確
性では劣るが)より直感的な定義は、攻撃者が求める情報について何らかの情報
を得ようとするために、(ノイズがある場合)サイド・チャネルの直接的観測を
行なう必要が生じる内部デジタル状態数であるということでもよい。
【0008】 より高度なデータ処理(いわゆる高階数DPA攻撃)及び膨大な観測数によっ
ては、必要な観測数が法外に大きくなる可能性があるが、ある程度の自信を持っ
て、処理中の機密データであればいかなるデータでも判定することは、基本的に
依然として可能であろう。
【0009】 ここに示す本発明技術による目的は、攻撃者がサイド・チャネル信号から取得
できる有用な情報の量を減少させ、成功率の高い攻撃を最小にすることに関する
洗練性及び複雑性を向上させることである。その技術には、第1階数及びより高
い階数の攻撃に対する防御が含まれる。 通常、セキュリティ上安全なデバイスにおけるデータの機密性に関する設計目
的は、秘密の存続期間中に機密データに関するリーク情報量を、許容限界を下回
るように維持することである。このことは、少量のリーク情報を組み合わせて全
体として有用なものにする処理を、計算上処置しづらくさせる暗号メカニズムに
よって達成が可能である。それは又、本発明の目的にあるように、秘密に関する
(情報理論的意味で定義された)情報の秘密存続期間の全体を通して累積される
リーク量が許容できるほど低くなるように、情報リークの割合を制限することに
よっても達成が可能である。
【0010】 数学的背景 データセット(例えばビット)は、第2データセットが監視者に知られている
にもかかわらず、元のデータセットを監視者には全くわからない状態にするよう
な方法で別のデータセットにマッピングさせることができる。マッピング選択が
知られている場合に、元のデータ(第1セット)は、マッピングデータ(第2セ
ット)から再構築できる。データの機密性を保持するためには、マッピング選択
は監視者に知られていないものでなければならず、このマッピングは、全ての新
しいデータセットに関してランダムに選択して、可能性のある全ての元のデータ
セットが同じ確率で可能性のある全てのマッピング表示としてマッピングされる
ようにしなければならない。この原理は本発明が開発したものである。
【0011】 (一つ又はそれ以上の被演算子を結合して結果を得るための)演算子が暗号設
計において建築ブロックとして用いられる。こうした演算子の事例には、ルック
アップテーブル―単一演算子―モジュラ加算又は減算、ワード全体のビット・フ
ォー・ビットの排他的論理和、及び(pは素数とし、1からp−1までのセット
値を越える)pを法とする乗算−後者は全て2進法演算子−が含まれる。(クセ
ジア・ライ及びジェームス・マッセイによって設計された)周知のIDEA暗号
は3個のこうした2進法演算子を利用し、周知のDES暗号はルックアップテー
ブル、ビット・フォー・ビットの排他的論理和演算子及びビット置換を利用する
【0012】 通常、別々及び任意に選択された1対1のマッピングを、各入力に適用するこ
とができ、いずれの演算子の出力にも適用することができる。次に、選択された
マッピングの全てについて、マッピングされた入力値から正確なマッピングされ
た出力を生成するものとして、同等の演算子を定義することができる。いずれの
演算子についても、この同等の演算子が元の演算子と同一であり、元のデータに
関する情報を漏らさないための要件を満足するようなマッピングのセットが存在
し得る。具体的演算子のために取り得るマッピング範囲の程度は、ほとんど認識
されていないが、同一演算子に対する制約を含む原理は、多くの場合、ブライン
ディングと呼ばれている。
【0013】 一例として、演算子が変わらないという制約のもとでの法加算による演算―x
+y≡z(modm)―のマッピングは、aiはmと互いに素である任意の数で
あり、bi及びciは任意の数である場合に、xi≡aix+bi(modm)、yi ≡aiy+ci(modm)及びzi≡aiz+bi+ci(modm)であれば、(
x,y,z)から(xi,yi,zi)までのマッピングの族を可能にする。mが
2の累乗の場合(即ちm=2nの方式)、aiに対する取り得る値m/2及びbi
及びciの各々に対する取り得る値mが存在する。フィールド演算(加算、乗算
及び指数演算など)の多くが同様の性質を表す。
【0014】 (ここで、フィールドZ2にわたりn成分の2個のベクトル加算と見なされ、
加算及び乗算が2進法「排他的論理和」及び「論理積」演算とそれぞれ同等と見
なされ、且つベクトルを指すのに小文字が使用され、マトリックスを指すのに大
文字が使用される)ビットのワード全体の排他的論理和の演算―x+y=z―は
、演算子が不変であるという制約の基で2nを法とする加算が有するものより大
きいデータのマッピング選択幅を有する。これらはxi≡Aix+bi、yi≡Ai
y+ci及びzi≡Aiz+bi+ciの形を有する。Aiは、 個のマトリックス−逆行列を持つもの−のいずれかとなり、bi及びciは各2n
個の値のいずれかを有し、(共有マトリックスAiによって包含される制約を無
視して)各値に対して 個の異なるマッピングを与える。n=8ビットの場合、約270.2のこうしたマッ
ピングが存在する。
【0015】 排他的論理和演算に利用可能なセットマッピングの大きさは、サイド・チャネ
ル信号の有用性を著しく低下させることができ、そうすることで、機密要件の一
部について妥協することが許容されてもよい。こうした妥協(例えばマッピング
選択の再利用)は、攻撃者へのリークされる情報量を容認できるほど低く抑える
一方で、アルゴリズムの最終設計の複雑性を低減することに役立てることができ
る。
【0016】 複合マッピング−例えばxi=fi(x)、xij=fj(xi)−を作成するため
に、複数のマッピングを、同一データに連続して適用させることができる。これ
は、 であれば、単一マッピングxk=fk(x)に等しいが、正確に配列された場合、
攻撃者は、元のデータの情報であれば、どのような情報でも取得する前に、複数
の独立データセット(この例では3個−xk、fj及びfj)情報を取得しなけれ
ばならない。このことは、(具体的には、独立データセット数に等しい)DPA
攻撃の階数を増加し、観測からの有効情報の抜取りが可能になる前に(具体的に
は、独立データセットの累乗として)必要な観測数を増加する。
【0017】 (ルックアップテーブル又はビット置換などの)単一演算子は又、暗号におけ
る用途を見出すことができる。演算子を不変状態に維持させるようにするマッピ
ングは、演算中にデータの損失がある場合だけに限定される(即ちそれは多数対
一である)が、例えばマッピング依存のルックアップテーブルの利用によって、
これらの場合には演算子を修正することが道理によりかなうことになる。
【0018】 コーチャ、ジャフ及びジュンによるPCT国際出願公開WO99/67919
では、処理中にリークされた有用情報量(及び信号対ノイズ比)を低減すること
によって、外部の監視攻撃に対抗するDES暗号プロトコルを改良するための方
法及び装置が提案されている。これとは異なり、本発明の改良されたDES実行
は、2個の56ビット鍵(K1及びK2)及び2個の64ビット平文メッセージ
(M1及びM2)を利用し、各々は、K1P{K1} XOR K2P{K2}
が「標準」DES鍵Kに等しく、M1P{M1} XOR M2P{M2}が「
標準」メッセージに等しいような置換(即ち、K1P、K2P及びM1P、M2
P)に関連する。デバイスの演算中に、テーブルは、好ましくは、情報が漏れ出
るより速く該テーブルに新規の平均情報量を導入することによって周期的に修正
され、そのため、攻撃者は測定分析によって該テーブルの内容を取得することが
できないことになる。本技術は、暗号チップカード(スマートカード)、耐タン
パー性チップ及びあらゆる種類のセキュリティ処理システムにおいて実現させる
ことができる。ブラインディングが用いられる場合には、サイド・チャネル経由
での有用情報の抜取りに必要な観測数とこのチャネルの累乗SNRとの間の関係
は、反比例の関係とは異なり、この原理の理解に関して、この応用では表示は一
切なされない。(置換のあるなしを含め)本提案にあるようなブラインディング
の場合には、必要な観測数は累乗SNRの2乗に反比例して変動するように期待
されるであろう(即ち絶対値SNRの4乗)。
【0019】 (発明の開示) 本発明の技術は、実際的で効果的な暗号及びその他のプロセスの修正を提供す
るものであり、この修正は、計算及び格納のための全ての機密で中間的なデータ
のマッピングの変更を介してデータを機密にすることに基づくものである。こう
したデータの例には、暗号鍵、格納データ及び通信データがある。
【0020】 マッピングデータ又は選択されたマッピング(又は使用されていれば複合マッ
ピングの全て)のいずれもが知られていない場合には、一切の機密データに関す
る情報が判断されることはあり得ない。本技術は、観測可能なサイド・チャネル
・リークが十分に低いことを前提とするならば、サイド・チャネル・リークから
取得可能な元のデータに関する情報量を低減する能力を有する。
【0021】 機密データ、最も具体的にいうと暗号鍵は、初めのマッピングにおいてそれら
を用いることを除き(適用されたマッピングなしに)元の形で必要とされること
は決してなく、DPA攻撃を助長させるであろうデータ反復を回避するために一
回使用ベースでランダムに再マッピングされる。
【0022】 本技術が高い価値を有する例としては、チップカードの場合があり、この例で
は、DPAが、場合によっては、リークされたサイド・チャネル信号の完全分析
により、数分以内に、権限のないパーティーに使用中のデータを提供することが
できる。別の可能性ある使用は、電磁放出がデータの機密性に対する妥協を余儀
なくさせることになる計算用デバイスの、データ演算及び格納における使用であ
る。
【0023】 従って、本発明の利点に導くために、 −本技術による最大の利益を得るための、特に暗号による、しかし絶対に暗号に
よらなければならないものではないアルゴリズムの設計、 −周知のデータ・ブラインディング技術を大規模なマッピングセットに拡大する
こと、 −マッピングされたデータを演算するために、アルゴリズムの実行を修正するこ
と、 −格納のために、データ、特に暗号鍵を初めにマッピングすること、 −第2マッピングを使用することによって、前のデータマッピングからデータマ
ッピングを変更すること、 −入ってくるデータをマッピングして、修正されたアルゴリズム実行への入力と
すること、及び、 −さらに別の使用のために、修正されたアルゴリズムからのデータ出力をマッピ
ングすること、 を含む、例えばDPAによるデータへの無許可アクセスのリスクを低減するデー
タ処理方法が提供される。
【0024】 この方法は、機密データ及びデータのマッピング選択の機密性の両方を維持す
ることが含まれる。 データマッピング及び第2データマッピングは、ルックアップテーブル、マッ
ピング選択データを有するアルゴリズム等の形態とすることができる。 この方法は、複合(カスケード化)ではあるが、別々に適用されるマッピング
を含むことにより、攻撃者による所定回数の観測で取得可能な情報量を低減させ
て、DPA攻撃の成功の最低階数を増加させることができる。 マッピングデータ及びマッピング選択は遠隔地へ伝送させることができる。
【0025】 (発明を実施するための最良の形態) 本発明は、以下の説明、限定の意味を持たない実施例及び添付図面を参照する
ことにより理解をより深めることができる。 図1において、符号10は、全体的に、従来型「ブラックボックス」の暗号演
算を指す。演算10において、入力データ12は鍵14を用いて出力16に変換
される。 図2において、符号20は、全体として、図1と同様の従来型暗号演算と、サ
イド・チャネル・リークを指している。演算20には、データ22の入力、鍵2
4による出力データ26への変換及び信号リーク28が含まれる。 図3において、符号30は、全体として、データ・ブラインディングを行うも
のと同等のものによる2入力演算の置換処理を指す。演算30において、演算子
31によって、入力32及び34が演算され出力36を生成する標準的2入力演
算が表されている。データ・ブラインディング演算でも、入力32及び34が取
り上げられ、それらは、次に、演算子33による演算前にマッピング35及び3
7によってマッピングされる。組合された出力は、次に、出力マッピング39に
よってマッピングされ、隠された出力データ36を提供する。 図4において、符号40は、全体として、カスケード演算により図3の連続マ
ッピングを組合せる処理を指す。演算子41及び47は、図3の2つの異なる演
算処理33に対応する。マッピング43は演算子41と関連して出力マッピング
39に対応し、マッピング45は演算子47と関連して(35又は37などの)
入力マッピングに対応する。マッピング49(fcd)は、43及び45から派生
する単一の複合マッピングであって、中間値であっても元のデータに相関するい
かなるデータも生成しないものである。 図5において、符号50は、全体として、(本発明の最終的な実行を導き出す
中間ステップとして)暗号が修正されたものと同等のものによる暗号置換を指す
。未修正の暗号演算において、入力データ52が鍵51を用いた暗号化演算53
によって実行され、出力54になることが理解できるであろう。修正されたもの
と同等なものである入力データ52は、鍵を用いてマッピングの方式で修正され
た暗号57による実行に先立ち、変換56によってマッピング様式に変換され、
変換58を用いて元の出力54を引出すことができるマッピング出力になる。 図6において、符号60は、予測不能なマッピング選択を行う処理を指す。非
マッピング鍵62は、実行され格納された選択64に従って63でマッピングさ
れる。マッピング選択は、マッピング鍵による使用のために68に格納される。 図7において、符号70は、予測不能な第2のマッピング選択を行う処理を指
す。前もってマッピングされた鍵72は更に、選択された第2のマッピングを用
いることによって73でマッピングされ、典型的には72と置換して格納74さ
れる。前もって格納されたマッピング選択76は、第2のマッピング選択である
該選択の了解のもとで処理され、74への適用可能なマッピング選択を生成し、
更に、これは典型的には76を置換して格納78される。 図8において、符号80は、全体として、マッピングデータを演算するアルゴ
リズムでのアルゴリズム置換処理を指す。暗号83は、入力テキスト81及び鍵
82を演算して、出力テキスト・ブロック84を生成する。置換において、入力
テキストは、一つ又はそれ以上の適切なマッピングを用いて85でマッピングさ
れる。任意には、初期鍵82は同様に86でマッピングされ、マッピング鍵89
を生成する。もう一つの選択肢として、89は、既にマッピングされた形態で暗
号解読演算の出力から提供することができる。86は更に、鍵に適用されるマッ
ピングの繰り返し変化を示す。修正された暗号87は、マッピングデータを演算
し、そのマッピング出力がマッピング演算によって88で任意に演算され、未修
正暗号によって生成されたものと同一のデータ84を生成する。もう一つの選択
肢として、87の出力は、同等の85及び86で同様に修正されたアルゴリズム
のマッピング選択データを直接用いることを可能にし、未マッピング様式のデー
タの発生を回避する。 図9において、符号90は、全体として、マッピングデータと、マッピングの
各データ・ビットに対して別々に適用されるマッピング用のマッピング選択デー
タとの操作によって、ビット置換を入替える処理を指す。符号91は同様に、マ
ッピングの間に微分法を導入することなしに行われるデータ・ビットの複製置換
を指しているが、予測不可能性の予期しない取消につながるこうしたデータの再
結合に関しては注意しなければならないという警告を伴う。符号92は、91に
関して述べられた警告を回避するために予測不能な情報95が導入されることを
除いて、同様の置換演算を表す。符号93は、排他的論理和演算の置換を同様に
指す。符号94は、マッピング値を用いて事前に計算されたルックアップテーブ
ルによる(6つの入力ビット及び4つの出力ビットを有する)DESのS関数ル
ックアップテーブルの置換を指す。事前計算において、予測不能データ96及び
入力可能な全ての値97は元のテーブルと結合され、マッピングされたルックア
ップテーブル99の中に書き込むためのマッピングされた入力・出力の全ての結
合98を生成する。この事前計算では、設計の選択に従い該テーブルのあらゆる
使用又は複数の使用を行うことができる。このルックアップテーブル99は、次
に、適切に分離された再マッピング演算(排他的論理和)と関連して用いられ、
マッピングデータを演算する。図におけるビットの2つのベクトルは、元のデー
タの再構築に一切用いることができない。十分な分離を確保するために、(排他
的論理和演算間のクロック・ラッチ回路の使用を介するなど)信号経路に遅延を
導入することが必要となる場合もある。
【0026】 暗号設計 暗号アルゴリズムの選択には注意が払われるべきである。適切な暗号設計は、
暗号にオーバーヘッド処理を殆ど加えないで次のステップ(暗号の修正)につな
ぐことができる。暗号に用いられる演算の組の選択は、複雑性を最小にし、サイ
ド・チャネル攻撃に直面したときのデータ機密性を最大にすることにとって重要
である。本技術の以下の特徴に関する理解は、設計に際して重要である。 アルゴリズム内の異なるデータセットを用いてマッピングを再利用することは
、攻撃に対して潜在的な脆弱性をもたらすことになるが、こうした脆弱性が(第
1階数DPA攻撃のみに耐えることが求められる場合のように)必ずしも厳しい
ものでない場合には、この手法は、追加される計算に関して多大の節約をもたら
すことができる。アルゴリズム設計において念頭に置いておくべきことである。
【0027】 暗号の修正 マッピングの新規な選択を、暗号全体を通して(あらゆる演算出力を含む)各
データ値のために用いることができ、そうでなければ、マッピングは2つの演算
の間で不変のままになる。後者は、2つの演算が無関係である場合には普通には
あり得ないが、可能な場合には複雑性を低く抑える上で役立てることができる。
中間の計算値の全てに関連するマッピングは、機密化要件を必要とするというこ
とに注意する必要がある(例えば、適用される同一のマッピングを有する2つの
値が排他的論理和演算を介して結合される場合に、元の出力ゼロは常にゼロ値に
マッピングされる)。
【0028】 あらゆる演算は、図3で説明されているように、マッピングされる全ての値を
用いて同等の演算を実行するもので代替される。出力マッピング39(fc)は
、入力マッピング35、37(fa及びfb)及びいずれかのコア演算への変更に
よって決定される。例えば、入力マッピングが別々の不規則に選択された値を加
算演算の各入力に加算することから成る場合には、出力マッピングは、コア加算
演算が全く同じに保たれると想定して、出力からランダムな値の総計を減算する
ことから成るということになる。 図3において、元の値32、34及び36(a、b及びc)は依然として生じ
るが、次のステップが適用された後には生じない。マッピングされた値に関して
実行される演算は通常、(例えば加算に対して)適切な他の選択肢を見出すこと
が実行不可能であれば、前と同じ演算が選択されることになるが、(例えば任意
のルックアップテーブルに対して)置換が合理的である場合には異なることがあ
り得る。
【0029】 次のステップは、図4に示されているように、カスケード演算41及び47か
らの連続マッピング43及び45(fc及びfd)を結合し、単一のマッピング4
9(fcd)にすることである。このマッピングは、中間の計算値としてでも、元
のデータ又は元のデータと相関するいかなるデータをも導き出すことがあっては
ならない。このことは通常、マッピングされた値から元のデータに関する情報を
導き出すのに用いることができない情報からのみ、マッピング49が構築される
場合に実現される。相関関係にあるデータが発生すると、DPA攻撃の主たる標
的が形成されることになる。例えば、2つのマッピング43及び45が別々のラ
ンダムな値の法加算である場合に、マッピング49はこうした値の総計の加算と
なり、そこから個々のマッピング選択に関する情報が推定されることはない。隣
り合う演算が関連している場合には、このマッピングが単純化される可能性があ
る。連続するマッピング43及び45の選択が相関している(即ち一つの選択が
もう一方の選択に影響を与える)場合には、複合マッピングは多少単純化される
か、又は恒等演算になる(従って省略される)ことさえある。
【0030】 カスケード演算子41及び47が関連していない場合には、マッピング49(
cd)の実行時に複雑な演算が必要になるであろう。必要があれば、このマッピ
ングは、ルックアップテーブルを用いるか、又は別の演算によって実行すること
ができる。隣接する演算の一方がルックアップテーブルであるならば、結果とし
て導かれたカスケード化されたルックアップテーブルは、結合して一つのルック
アップテーブルとすることができる。このステップの後に、入力データ、鍵デー
タおよび出力データの他に、全ての計算データがマッピングによって機密性が維
持される。これらの外部マッピングは、次のステップにおいて別々に取り扱われ
る。 暗号設計の慎重な選択とマッピング選択に関する制約とにより、修正された暗
号の複雑性は、修正された暗号57の外でのマッピング選択、操作及びマッピン
グに関係なく、元の暗号の複雑性よりも極めて高いものとする必要はなくなる。
各演算に用いられるマッピングに関する計算は、最小限に維持することができる
。結果として導かれた数学的に同等の暗号が図5に示されている。
【0031】 鍵の初期格納 図5には、元の鍵、入力データ及び出力データが、マッピングを適用されない
で、生成された状態のまま示されており、これらが演算にアクセスされる場合に
は、特にマッピング処理のための演算にアクセスされる場合には、依然としてD
PA攻撃の標的になる。暗号鍵は、要求される不規則性をマッピング選択が有す
るマッピング様式にのみ、格納されなければならない。更に、マッピング選択を
コード化する情報が格納されなければならない。この初めの格納は、初めの、す
なわちマスター鍵が(通常保護された環境において)ダウンロードされる場合に
のみ必要とされ、暗号化されたメッセージにおいてダウンロードされる鍵に対し
ては必要とされない(暗号出力データマッピング参照)。このことは、マッピン
グ選択foを識別する情報と同様に、適用されるマッピングKo=fo(k)と共
に鍵kを最初に格納するものとして表現することができる。マッピングのファミ
リーは、不要な再マッピングを回避するために鍵が用いられる暗号に使用される
演算子に関連して、選択されるのが最も普遍的であろう。
【0032】 使用毎の鍵マッピング 鍵の初期格納におけると同様に適用されるマッピングが格納されるとしても、
アクセスの繰り返しは、機密データ及びマッピング情報の両方を第1階数DPA
の技術によって(例えば観測トレース群の平均を分析することによって)再構築
することを可能にする。そのために、マッピングは、暗号鍵の毎回の使用に先立
って、設計により課せられる制約に合致する新規で不規則に選択されたマッピン
グによって置換されるべきである。鍵の元の値は、一時的な変数でさえも、この
処理において決して算出されてはならない。このことは、ki=gi(ki-1)及
の形で値を導き出す出すことにつながる。後者は、任意のqに対してfi(q)=
i(fi-1(q))のように導き出すことを意味する。ki及びfi値は、格納さ
れたki-1及びfi-1値に置き換わることになる。これらの値は、同一のki=fi (k)により関連した状態に留まることになる。
【0033】 暗号入力のデータマッピング 入力データ52(図5のx)は、それらの入力について選択されたマッピング
を用いて最初のマッピングがされる。これは、(鍵の初期格納における)鍵の初
期マッピングに類似するが、解読される受信暗号文又は伝送用に暗号化される平
文のように、処理されるデータの全てで生じてもよい。慎重な扱いを要するデー
タ(例えば鍵)を暗号化しようとする場合には、それらはマッピング様式に前も
って格納される必要があり、且つ(使用毎の鍵マッピング時のように)適当であ
る場合にはマッピング置換を実行させる必要がある。
【0034】 暗号出力のデータマッピング 出力は、その秘密が必ずしも決定的なものでない場合(例えば暗号文が伝送用
に生成されている場合)には、その元の値にマッピングされる。このデータが秘
密状態に維持しなければならない場合(例えば伝送される暗号鍵)、それら及び
マッピング選択情報は、元の方式にマッピングが戻されることなく格納されるべ
きである。かくして、上記した鍵の初期マッピングは、受信され解読された鍵と
共には生じない。このことが、鍵をダウンロードする処理をDPA耐性にさせる
【0035】 例1.「排他的論理和」に基づく暗号をDPA耐性にすること 本例において、過度に単純化された暗号は完全に、オクテット(8ビット毎の
ベクトル)の法2加算−排他的論理和−及び各8ビット入力値のための8ビット
出力値を作成する単一のルックアップテーブルからのみ構築される。暗号の過度
に単純化された性質のために、データの単一セットのみを(バーナム暗号又は一
回使用パッドのような)鍵の使用について安全確実に暗号化することができるが
、同一データの繰返し暗号化が、第1階数DPA耐性をもたらすことになる。使
用毎の鍵マッピングは示されていないが、DPA耐性には必要なことである。し
かしながら、本例が意図することは、チップカード等の厳しく制約された計算環
境内において用いるための暗号設計を説明することである。それは、単一ルック
アップテーブルの置換を用いることである。
【0036】 関連するマッピングは、本例では、kn,i=Ain+bi、xn,i=Ain+ci 及びyn,i=Ain+diの形の各データ・オクテットに適用される。下付き文字
n及びiはそれぞれ、各データ・セット内及び暗号使用回数内のオクテットの選
択を表す。Aiは、任意に選択された8×8の非特異ビット・マトリックスであ
り、各bi、ci及びdiは、任意に選択されたオクテットである。
【0037】 図8において、これらの演算を一体化させて本例を説明する。具体的暗号法の
暗号(暗号化又は解読)は、より多くの演算を用い、k、x及びyのデータ容量
は、具体的には、それぞれ少なくとも64ビットになるであろう。各矢印は、一
つのオクテットの流れを表す。図は、データのマッピングを伴う同等の演算を示
す。(使用毎の鍵マッピングで記載された)鍵の初期及び逐次マッピングがどち
らも鍵マッピングのもとに示されている。 初めにマッピングされた鍵kn,o=Aon+bo及びマッピングfo=(Ao,o )が格納される。 好ましくは、どのような鍵の使用であってもそれに先立って、新たなGi及び
iを選択することによって新しいマッピングが実行される。kn,i-1がkn,i
in,i-1+hiによって、Ai-1がAi=Gii-1によって、及びbi-1がbi
ii-1+hiによって置換がなされる。
【0038】 各々のルックアップテーブルsは、それと同等のsi(z)=Ais(Ai-1
z+bi+ci))+diによって定義されたマッピング値の演算のためのsiで置
換される。関連するマッピングxn,i=Ain+ciを用いて入力データ・オクテ
ットxnのマッピングをする。置換されたルックアップテーブルを除いて、元の
暗号を用いてマッピング入力を暗号化する。鍵毎のマッピング、置換されたルッ
クアップテーブル、初期マッピング及び最終マッピングの他に、暗号に含まれる
計算に対する変更はない。 最後に、出力yが例えば鍵とともに秘密に維持される場合には、yi、Ai及び
iがyの代わりに用いられる。それが元の状態にマッピングされるべきもので
あれば、このことをyn=Ai-1n,i+diで表すことができる。
【0039】 注目すべきことは、可能なマッピングに関する大きな数字(270.2)のために
、同じマッピングが1つより多いデータのオクテットの有効な機密性のために利
用できるということである。このことは、修正された暗号を単純な状態に留めさ
せるようにする。より単純なマッピングは、DPAに対して多数のバイトを十分
安全には維持できないかもしれない。同一マッピングの再利用に基づく単純化は
、最小にされるべきであり、実行可能な場合には、異なるデータセットのために
選択されるマッピングは独立に選択されるべきである。 マッピング(Ai、bi)及びマッピングデータdiは、使用毎に変更されるた
め、(鍵を含む)処理済みデータは、元のデータとは相関関係がない。いくつか
のデータ・ビット及びマッピングについて1つの関数のみが元のデータに相関し
ている。元のデータの各ビットは、処理中の17ビットの関数として表すことが
できる。 本例は、暗号法的に強力な暗号に適用されるが、8ビットのプロセッサ及び適
度な記憶容量を用いるものを含め今日利用できるチップカードに効果的に用いる
ことができる。
【0040】 例2.IDEA暗号をDPA耐性にすること 本例は、DPAに対する耐性を一切意図することなく設計された周知の暗号に
適用されるものとして、この概念の利用を説明する。 IDEA暗号は、最も汎用的なコンピュータに即座に利用可能な基関数に基づ
く、相互に互換性のない3個の演算子−2進法排他的論理和、16ビット数の加
算及び乗算−から慎重に構成されている。この暗号をDPA耐性にするには、演
算子の互換性がないため、ルックアップテーブルが各データ経路に導入され、マ
ッピングされた値を1つの演算子から次のものへとマッピングする。 各排他的論理和は、ベクトル容量が16ビットまで増大することを除いて、前
述の例と同様にマッピングすることができる。上記の文脈において、「各」は、
不規則なマッピングは、暗号全体を通して同じであること限られないということ
を意味しており、再マッピングが遂行される場合には常に別個に選択できる。 加算演算子は、マッピング選択の自由度が排他的論理和よりも少ない。乗算演
算子は、加算演算子のものに類似するマッピング選択の自由度を有する。マッピ
ングは、適切なセットから不規則に選択される必要があり、鍵及びデータは、そ
れに応じてマッピングされる必要があり、ルックアップテーブルが生成される必
要があり、更に暗号が実行されなければならない。 ここでのオーバーヘッドは、各々が16ビット・ワードの65536という多
くのルックアップテーブル、鍵に適用されるマッピングを特定する情報の格納、
及び遂行される演算数の約2倍のルックアップ数に関する処理用オーバーヘッド
である。
【0041】 今日の代表的パーソナル・コンピュータにおいて、これらのリソースは即時に
利用可能である。本例が示すように、既存アプリケーションの多くは、本技術を
用いて殆どのDPA攻撃に対して安全確保が容易にできる。暗号化処理を実行す
るコンピュータからの電磁放射を利用して密かに傍受されるDPAは、この方法
を用いて即座に実行不能にされる。 大量のデータが処理される場合には、データマッピングは、その処理において
一定間隔で修正されるべきであるということを念頭に置く必要がある。
【0042】 例3.DES暗号をDPA耐性にすること データ暗号化規格(DES)の暗号は広範囲に利用されており、その56ビッ
トという鍵の長さが徹底した検索攻撃に対しては脆弱にさせているが、依然とし
て幅広い用途を見出している。それは又、(TDEA、トリプルDESとして一
般によく知られた)トリプル・データ暗号化アルゴリズム及び(DESから派生
した暗号)DESXのような、より安全な改良型にも利用されている。したがっ
て、DESに本発明を適用することを考えるのは適切である。 DESは、DPAを念頭に置いて設計されていない。よくあることで、暗号的
強度を高めることを意図した手法は、後での演算のために経済的に用いることが
できるマッピングの互換性を低下させていた。3個の重要な演算―法2加算(排
他的論理和)、展開(入力ビットの一部又は全てが複製されることを除いて、置
換に極めて類似するもの)及び8個の6対4ビットのルックアップテーブル(S
関数又は選択関数と呼ばれるもの)―がDESにおいて利用される。各ビットに
適用されるマッピング選択は、選ばれたマッピング戦略において別個の演算とし
てこれらを扱うことなく、(信号は切り離されていると仮定して)単純に追跡さ
れるので、ここではシフト、ビット置換(再配列)及びレジスタ交換は無視する
。マッピング選択の追跡を含む修正されたビット動作により未修正のビット動作
を置換することは、符号90で説明されている。
【0043】 使用される特定の順列、展開及び排他的論理和演算は、(鍵を含めて)データ
についてマッピングの大規模なセットを可能にするが、幾つかのビットを含むマ
ッピングであればどうようなマッピングであっても、各S関数への入力として一
度に6ビットのみの使用を可能にするために、本来的に再マッピングされる必要
がある。この目的で、単一実体として8個のS関数を一括して論ずることは、で
きないことであろう。本例を単純化する目的のために、一つより多いビットを含
むマッピングはここでは論じないことにする。このことは、ほぼ全ての演算の後
に再マッピングを行うというより複雑なマッピングが、必然的に複雑になること
を意味するものではない。 ここで論じられるマッピングには、アルゴリズムの処理中の全てにおけるビッ
トに対する別々の選択が含まれる。DPA耐性の階数が望ましい階数を下回るほ
ど減少しないことを確実にするために特別の配慮がここで必要とされるが、新し
いランダムなデータの必要性を低下させるためには、選択を相関させるという妥
協をしてもよい。この妥協の実行は、本例の中に含まれない。 本例に関しては、第2階数DPA耐性を望んでいることが想定される。これを
達成するためには、元のデータに関するいかなる情報についても、再構築可能と
なる前に、必要とされる独立のデジタル数量の数が一つ高いこと、即ち3である
ことが必要であるという原理が用いられることになる。デジタル信号は幾つかの
予測不可能な形で相互作用するという事実から、隔離が適切にされていない場合
には、信号は独立しているとみなされない可能性がある。
【0044】 汎用のプロセッサにおいて信号の隔離は、多くの場合、機能についての説明が
示唆するよりもはるかに少ない。例えば、アキュムレータのようなレジスタに値
をロードすることは、その値がゼロかどうかの判断のような潜在的な将来使用に
対して隠された演算をもたらす結果となる。更に別のデータをロードする前に一
定時間間隔をもって行われる回路からのデータの消去が、(データ依存加熱又は
イオン移動などの)微妙な相互作用が生じた場合においても、通常は十分な隔離
を与えることになる。直接アクセスされないRAMワードのデータ値間の相互作
用は、アドレス指定論理の実行による他のアクセスの間に、依然として見ること
ができる。ここで、適切なプロパティを備えたデータ格納レジスタを持つハード
ウェアでの実行を想定する。これらのプロパティの1番目は、一旦データが回路
から消去され、適切な間隔(例えば、1クロック・サイクル)が経過した場合に
おいては、その回路上でのその後のデータとの相互作用は、一切存在しないこと
になるということである。2番目のプロパティは、異なる回路のデータ間の相互
作用が無視し得るということであるが、このプロパティのより保守的な形は、デ
ータに関する信号移行が似通った時間に両方の回路で生じることがなければ、異
なる回路のデータ間の相互作用が適切に隔離されているとするものである。注意
すべき点は、同時に処理される異なるデータ・ビットは、通常は、隔離されてい
るとみなすことができず、それ故、独立して取り扱われるべきではないというこ
とである。
【0045】 各ビットのための別個に適用された2個のマッピングを有する(単一ビットの
マッピングデータが単一ビットとして表される)アルゴリズムのための入力デー
タの全ては、マッピング選択情報に関する分離した単一且つ予測不能なビットを
備える各マッピングによって、マッピングされて提供されるものと想定する。各
マッピングは、2個がセットになったものから選択される。そのセットの1番目
のマッピングは、データ・ビットを不変の状態にしておき、2番目のマッピング
は、2つの取り得る値を入替える。元のビットと関連する3ビットが排他的論理
和演算を用いて結合された場合には、元のビットが結果として生じることになる
。その3ビットのうち、いずれか一つのビットを省くことが、(各マッピング選
択が予測不能で、各ケースは等しい可能性を有し、且つ相関関係の形が選択間に
存在しないと想定して)元のデータの機密性を与えることになる。
【0046】 DES暗号を修正する場合には、前述したのと同様に、マッピングされたいず
れのビットも、いずれかの順列に通され、関連するマッピングビットを追跡する
(符号90)。(全てのビットが複製される場合を含み)ビットの複製が起こる
場合には、結果として生じる複製は、これが必要ではないことを後での分析が示
さない限り(その場合における修正は91におけると同様である)、独立した状
態にされなければならない、ということを除いて、同じことが展開についても起
こる。2つの別個に選択されたマッピング(必要とされている任意データの2個
の新規ビット)を用いて、前のマッピングとの複合マッピングを次に形成するこ
とができる。入ってくるマッピングされたデータは、(各々の複製について、各
複製に対してデータの再マッピングをするために排他的論理和演算を別々に用い
ながら)適用される2対のマッピングに、2つのマッピング選択の各々に対して
推定される複合マッピング選択を加えたものを含む。これは、4つの新たな予測
不能な選択ビットを含んでおり、そのうちの各受信マッピングに関連する1つは
、(符号92におけるように)一切の機密損失なしで、省くことができる。2個
の複製は、互いに相関しておらず、後で結合されてDPAに対する弱点をもたら
すようになる恐れを生じることなく、更に別の演算において共に使用することが
できる。各ビットに適用される第1及び第2マッピングにおいて複合マッピング
が遂行されると推定して、このマッピングのもとでのDES暗号の排他的論理和
演算は、同じままである。この決定は、ハードウェアで追跡でき、2つのマッピ
ングされたデータ・ビットの排他的論理和が見られる場合には、あらゆる選択ビ
ットが同一演算を用いてもう一方のデータマッピングの対応する選択ビットと結
合される(符号93)。結果として生じる3ビットは、次に、マスクされたデー
タ・ビット及び2つの適用されたマッピングとして取り扱われる。選択は、適宜
に、可能性のあるDPA攻撃の最小階数を下げることなく、相関した手法で慎重
に行なわれ、計算の複雑性及び予測不能なデータの追加といった要求が緩和され
るという効果を奏する。
【0047】 本発明の説明において示唆される単純化の幾つかは、本例に既に適用されてい
る。具体的には、前の演算の出力マッピングが、排他的論理和の入力に適用され
るのと同様に行なわれ、(それを省くことを可能にして)同一演算に対する再マ
ッピングを単純化する。データ展開(符号92)により、十分で付加的な不確実
性(符号95)だけが追加され、次の演算がDPA耐性を低下させないようにす
るのを保証する。マッピング選択の慎重な関連付けに基づくその後の単純化が可
能である。
【0048】 S関数は、本例で扱わなければならない唯一の残された(暗号の範囲内の)領
域である。これまでに選択されるマッピングの性質を維持するにあたって、本例
の目的のためにマッピングの選択を個々のビットのマッピングに制限する。単純
化を導入する際に採用できる様々な手法がある。ここで採用する方法手法は、関
数(ルックアップテーブル)入力のために選択される新しいマッピングに従って
入力データを再マッピングし(従って、テーブルを一つより多い数だけ使用する
ことを可能にして)、入力マッピングの非予測性とルックアップテーブルの出力
マッピングの非予測性とを結合することである。再マッピングの手法がここで、
S関数ルックアップテーブル(符号94)を修正する場合に用いられるが、S関
数の出力ビットは入力の出力ビットに相関していないことを念頭において置く。
予測不能の状態で、各々のS関数入力及び出力ビットのための他の全てのマッピ
ングとは独立して、2つのマッピングが選択され(符号96)、使用前に(本例
ではカウンタ97により生成される)あらゆる可能な入力について、S関数テー
ブルに関する置換項目(99)が書き込まれる。マッピングされた入力は、その
後再マッピングされ、書き込まれたマッピング済みS関数テーブルが適用され、
選択された出力マッピングが伝えられて、非予測性を加えるために入力マッピン
グに結合され、単純化が行なわれる。S関数ルックアップテーブルは(この全て
が8個のS関数を実行するための2048のレジスタ・ビットになる)ハードウ
ェア・レジスタ又はRAMに格納される。この記憶装置に格納される値は、第2
階数DPA攻撃に対して所望の耐性を維持するように、適用可能なマッピングか
ら、あらかじめ計算しておくことが必要である。結果として生じる各マッピング
された入力値は、レジスタ・ファイルを取り扱うために用いられ、マッピングさ
れた値は選択された4つのレジスタ・ビットに格納される。
【0049】 (修正92の符号95のように)データ展開のためにランダムなビットを導入
することは通常、高価になる。(S関数の出力マッピングは関連がないと想定し
て)本例においては、全ての場合に、複製が、相関していないデータによる排他
的論理和演算に対する入力であるため、これを省くことができる。複数の鍵ビッ
ト複製により、この非相関関係を確保するために新しいS関数出力マッピングが
必要となる。また、各鍵ビットは平均して約14回使用されることも考慮される
べき事項である。
【0050】 (各ラウンドに32存在する)全ての出力ビットについての2つの予測不能な
ビットを得ることを含めて、DES(暗号の各アプリケーションについて16ラ
ウンド存在する)の各ラウンドの全てに関してS関数テーブルの新しいセットを
計算することは、非常に高価になる。ハードウェアにおいては、暗号の各ラウン
ドでS関数テーブルを再計算することは可能である。この費用のために、通常の
実行は、一つより多い数のルックアップについての変更を行なわないで、場合に
よっては、暗号アルゴリズムの一つより多い数の実施に対しての変更を行わない
で、これらのルックアップテーブルを再利用するものとなるであろう。このこと
は、異なるラウンドの出力ビットの出力マッピングの非相関関係についての先の
想定に反するものであり、このことが可能性のあるDPA攻撃の最小階数を下げ
ることになるかどうか、を判断するように注意する必要がある。更には、内部ビ
ットと相関しているサイド・チャネル信号の強さは、使用量と共に増加し、この
ことはリーク信号が十分小さいかどうかを判断する際に考慮する必要がある。幾
つかのケースにおいて、特に(数回用いられる)鍵のビットに関して予測不能な
再マッピングを保持することが必要である。この単純化から生じる別の制約は、
S関数のビットの入力マッピングが、ルックアップテーブルの内容置換前の使用
全てについて同じでなければならないということである。(鍵を含む)データの
個々のビットに適用されるマッピングを制限するのではなく、データに適用され
るマッピングは、S関数に対する入力に適用可能な一対のマッピングによって置
換される必要がある。このことは、各々が2つのマッピング(一つはS関数に、
一つはデータに適用できる)の複合に適用される2つのステップで、(2つの別
々の排他的論理和演算を用いて)実行されるべきである。
【0051】 第2次階数に耐性を持たせるためのの複雑性の付加は、修正されたコア暗号の
外部にあるデータに適用されるマッピングの他に、排他的論理和演算数をほぼ3
倍にし、固定されたS関数を、変更できるようにマッピングされたS関数入力及
び出力で置換するものであり、予測不能なデータの使用を含む。外部的に、演算
されるデータは、マッピングされた値及びマッピング選択データで置換される必
要があり、鍵は最初にマッピングされ、次に徐々にマッピングされ、マッピング
された追加データを含んで格納される必要がある。本例では、マッピングされた
データの格納要件は3倍になる。相対的に静的S関数マッピングのため、出力ビ
ット間の出力マッピングの相関関係は、新しいマッピング選択を用いて出力を段
階的にマッピングすることにより排除すべきであるということを除いて、これが
DESで用いられる鍵の場合、出力データは、将来の使用のためにこの形態で格
納される必要がある。
【0052】 S関数が考慮されるまでは、マッピング選択データを有するブラインディング
されたデータ値と複数の「共有」−元のデータを判定するためにアルゴリズムを
用いて結合される同等のデータ−との間の相違は、必ずしも明確ではないという
ことは注目に値する。具体的には、この時点までマッピング選択データに関して
実行される演算は、マッピングされたデータに関して実行されるものに類似して
いる。しかしながら、S関数(及びマッピング演算と関係のない、又は、それよ
り複雑な関数)に関して、マッピング選択データに適用される演算はマッピング
選択に関係し、間接的にのみアルゴリズムの演算に関係していることが明らかと
なるであろう。S関数の入力及び出力のマッピングにおいて、マッピング選択デ
ータの操作は元のデータから派生した「共有」に基づいて類似演算を追加するこ
ととは全く異なるものであった。
【0053】 利点 本方法は、DPA攻撃の階数(本質的に、元のデータを抜取るために結合する
必要がある観測信号のポイント数)を増加させる。このことは、攻撃がより高度
で複雑であることを求める。 コア演算が変わらないことを許容する全ての(又は少なくともより多くの)取
り得るマッピングに、前もってブラインディングの既存概念を拡大することによ
って、攻撃者の作業はさらに困難になる。経済的な理由から一つのデータセット
に用いられるマッピング選択が別のデータセットのためのマッピング選択に関連
している場合には、可能なマッピング数をより多くすることは、過度のデータリ
ークに至ることなく、こうした単純化を合理的なものにするであろう。
【0054】 更に、ノイズの多いサイド・チャネルの観測から元のデータを抜取るために必
要な観測数は、ハードウェアのシールドが十分強力である場合に、ハードウェア
のシールドによって与えられるものより大幅に増加することになる。この増加は
、高階数のDPA攻撃さえも無効にすることができる。 更にまた、データの格納及び処理要件は、幾つかの関連するスキームほどには
増加しない。こうしたスキームの1事例は、各データ・ビットを一組のビットと
して表すもので、最初の値は任意に選択され、最初のビットがゼロのとき2番目
は元ののビットであり、最初のビットが1のとき(2進法「排他的論理和」)そ
のブール代数は逆数である。 更に、本技術の使用を容易にするために暗号の選択が最適化されるにもかかわ
らず、暗号成分を含むシステムは影響を受けずにいることが可能である(例えば
プロトコルを不変状態に保つことが可能である)。
【0055】 それでもなお、本技術は(単一の共有秘密鍵を有する)対称的及び(別個だが
関連した公開及び秘密鍵を有する)非対称的暗号に関して適用することができる
。 さらに、本技術は、暗号化及び解読の両方に連係するように複雑な関数を用い
ることによって連続的に鍵を修正するなど、DPAに対する耐性を高めるために
他の技術と共に適用することができる。
【図面の簡単な説明】
【図1】 公知の暗号演算を示す略図である。
【図2】 図1の演算における情報のサイド・チャネル・リークを示す略図である。
【図3】 データマッピングされたものと同等なものによる2入力演算の置換を示す略図
である。
【図4】 連続マッピングの組み合わせを示す略図である。
【図5】 暗号が修正されたものと同等なものによる暗号置換を示す略図である。
【図6】 格納用鍵の初めのマッピングを示す略図である。
【図7】 鍵の反復マッピングを示す略図である。
【図8】 マッピングを説明するために過度に単純化された暗号を示す略図である。
【図9】 第1階数及び第2階数のDPA攻撃の両方に耐えるDES暗号の作成に関する
3つの例示の態様を示す略図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,US,UZ,VN, YU,ZA,ZW

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 データへの無許可アクセスのリスクを低減するためのデータ
    処理方法であって、 (a)後でも繰り返す可能性のあるステップとして第1の機密データセットをプ
    ロセッサに入力すること、 (b)前記プロセッサに予測不能データ源を備えさせること、 (c)予測不能データを用いることによって適切なマッピングを選択する方法を
    前記プロセッサに備えさせること、 (d)前記第1の機密データセットをマッピング様式にマッピングするための少
    なくとも一つのアルゴリズムを前記プロセッサに備えさせること、 (e)予測不能な状態で選択されたマッピングを用いて初めに前記第1の機密デ
    ータセットをマッピングし、マッピング様式に格納すること、 (f)マッピングされたデータ及び予測不能なデータを含むその他のデータで作
    動するようにアルゴリズムの実行を修正して、出力が、マッピングされたデータ
    及びマッピング選択になるように、かつ、該出力が、元の入力データで作動する
    元のアルゴリズムの出力に数学的に関連するようにすること、 (g)予測不能情報を利用する第2マッピングを使用することによって、データ
    に与えられるマッピングを前のデータマッピングから変更すること、 (h)入ってくるデータを、修正した前記アルゴリズムの実行のための入力とし
    てマッピングすること、及び、 (i)更に別の使用のために、修正した前記アルゴリズムからのデータ出力をマ
    ッピングすること、 のステップの一又はそれ以上を、如何なる順序ででも含むことを特徴とする方法
  2. 【請求項2】 前記ステップ(a)の機密データセットが暗号鍵及び/又は
    ランダム化された値から選択されることを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記ステップ(b)の予測不能データ源がハードウエア又は
    疑似乱数生成部及び/又は格納された機密データから選択されることを特徴とす
    る請求項1又は2に記載の方法。
  4. 【請求項4】 ステップ(g)においてマッピングが変更される前記データ
    が、格納され、通信され、又は中間計算されるデータであることを特徴とする上
    記請求項のいずれか1項に記載の方法。
  5. 【請求項5】 予測不能情報を利用して選択された第2マッピングを、マッ
    ピングされたデータ及び/又は該データのマッピングに適用するステップを含む
    上記請求項のいずれか1項に記載の方法。
  6. 【請求項6】 格納されたデータについての初めのデータマッピングを隠す
    ことを含む上記請求項のいずれか1項に記載の方法。
  7. 【請求項7】 データマッピング及び/又は第2データマッピングがルック
    アップテーブルの形であることを特徴とする上記請求項のいずれか1項に記載の
    方法。
  8. 【請求項8】 データマッピング及び/又は第2データマッピングがマッピ
    ング選択のデータ又はパラメータを有するアルゴリズムの形であることを特徴と
    する上記請求項のいずれか1項に記載の方法。
  9. 【請求項9】 前記マッピングされたデータ及び/又は前記マッピングが遠
    隔地へ伝送されることを特徴とする上記請求項のいずれか1項に記載の方法。
  10. 【請求項10】 前記入力の被演算子がマッピングを利用することによって
    置き換えられるときに、前記入力マッピングから導き出されたマッピングを使用
    することによって、結果として得られる出力から元の出力を回生させることがで
    きるように、マッピングが選択されたマッピングのセットにより遂行されること
    を特徴とする上記請求項のいずれか1項に記載の方法。
  11. 【請求項11】 どのような被演算子についても、すべての入力マッピング
    のセットは、所定のアルゴリズムの利用による出力マッピングから決めることが
    できることを特徴とする請求項10に記載の方法。
  12. 【請求項12】 前記マッピング選択は任意的なものであり、各値がマッピ
    ング選択によりどのような範囲の値にもマッピングできることを特徴とする上記
    請求項のいずれか1項に記載の方法。
  13. 【請求項13】 前記元のアルゴリズムの演算は、x+y≡z(mod m
    )によって表されるmを法とする加算であり、前記修正されたアルゴリズムにお
    いて用いられる対応する演算は同一のままであり、許容されるマッピングが、x i ≡aix+bi(mod m)、yi≡aiy+ci(mod m)、及び、zi
    iz+bi+ci(mod m)で表され、このマッピングにおいて、aiはmと
    互いに素である任意の数であり、bi及びciは任意の数であり、ai、i及びci が0からm−1の範囲に限定されることを特徴とする上記請求項のいずれか1項
    に記載の方法。
  14. 【請求項14】 mはm=2nの形であり、すべての奇数値ai及びすべての
    i値に対応する入力に対して22n-1の有効なマッピング選択があり、これら選
    択の各々について、ai、bi及びciが0からm−1の範囲に限定された場合の
    すべてのci値に対応する入力yに対して更に2nの有効なマッピング選択がある
    ことを特徴とする請求項13の方法。
  15. 【請求項15】 前記元のアルゴリズムの演算は、xy≡z(mod m)
    によって表されるmを法とする乗算に対応し、修正された暗号に使用される対応
    する演算は同一のままであり、許容されるマッピングがxi≡biai(mod
    m)、yi≡ciai(mod m)及びzi≡biiai(mod m)で表さ
    れ、このマッピングにおいてaiはオイラーのトーション関数mであるφ(m)
    と互いに素である任意の数であり、bi及びciはmと互いに素である任意の数で
    あり、ai、i及びciが0からm−1の範囲に限定されることを特徴とする請求
    項1から12の請求項のいずれか1項に記載の方法。
  16. 【請求項16】 前記マッピングがフィールドZ2にわたりn成分の2個の
    ベクトル加算を含む上記請求項のいずれか1項に記載の方法。
  17. 【請求項17】 前記ベクトルの少なくとも1つが適用される前記マッピン
    グは、xi≡Aix+biの形(この場合小文字がベクトルを指し、大文字がマト
    リックスを指す)を有し、Aiは、逆行列を有するような 個のマトリックスのいずれかであり、biは2n個の値のいずれかを有することを
    特徴とする請求項15に記載の方法。
  18. 【請求項18】 固定か、制限付きか又はランダムかのAi及び/又はbi
    選択メカニズムを含み、前記マトリックスAiが単位行列マトリックス及び前記
    ベクトルのビット置換を含むことを特徴とする請求項17の方法。
  19. 【請求項19】 前記アルゴリズムが単一演算子の使用を含むことを特徴と
    する上記請求項のいずれか1項に記載の方法。
  20. 【請求項20】 前記入力及び出力経路及び該演算子について殆ど任意のマ
    ッピングを許容するように前記演算子が修正されることを特徴とする請求項19
    に記載の方法。
  21. 【請求項21】 データへの無許可アクセスのリスクを低減するためのデー
    タ処理方法であって、計算及び/又は格納のために、処理されるデータの一部又
    は全部をマッピング様式上にマッピングするのを変更することによってデータを
    隠すことを含む方法。
  22. 【請求項22】 データへの無許可アクセスのリスクを低減又は緩和するた
    めのデータ処理に関するコンピュータ・システム又はアルゴリズムであって、 (a)プロセッサが使用する暗号鍵を使って第1データセットを処理するプロセ
    ッサと、 (b)前記第1データセット及び前記暗号鍵の少なくとも1つをマッピング様式
    にマッピングするために前記プロセッサに備えられた少なくとも1つのアルゴリ
    ズムと、 (c)前記第1データセット及び前記暗号鍵の少なくとも1つをマッピング様式
    に格納するための格納手段と、 (d)マッピングされたデータを演算するために前記アルゴリズムの実行を修正
    する手段と、 (e)第2マッピングを使用して、前のデータマッピングのいずれからもデータ
    マッピングを周期的に変更する手段と、 (f)入ってくるデータを前記修正されたアルゴリズム実行のための入力として
    マッピングする手段、及び、 (g)前記修正されたアルゴリズムからの出力データをさらに別の使用のために
    マッピングする手段、 の1つ又はそれ以上を含むシステム又はアルゴリズム。
  23. 【請求項23】 データ入力手段及びデータ出力手段を更に含む請求項22
    に記載のシステム又はアルゴリズム。
  24. 【請求項24】 遠隔地のコンピュータ又はターミナルと交信するための通
    信手段を更に含む請求項22又は23に記載のシステム又はアルゴリズム。
  25. 【請求項25】 予測可能又は予測不能な情報を利用する決定、可能又は有
    効な選択において均一又は不均一な確率を有する決定、及び何らかの理由で利用
    できる選択範囲に適用される制約を有する決定、のいずれかの方法によって、マ
    ッピング選択が決定されることを特徴とする上記請求項のいずれか1項に記載の
    方法。
JP2001533494A 1999-10-25 2000-10-19 意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法 Pending JP2003513490A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16104799P 1999-10-25 1999-10-25
US60/161,047 1999-10-25
PCT/ZA2000/000192 WO2001031422A2 (en) 1999-10-25 2000-10-19 Method for protection against analysis of unintended side-channel signals

Publications (1)

Publication Number Publication Date
JP2003513490A true JP2003513490A (ja) 2003-04-08

Family

ID=22579586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001533494A Pending JP2003513490A (ja) 1999-10-25 2000-10-19 意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法

Country Status (8)

Country Link
EP (1) EP1226681A2 (ja)
JP (1) JP2003513490A (ja)
CN (1) CN1413398A (ja)
AU (1) AU773982B2 (ja)
CA (1) CA2388971A1 (ja)
EA (1) EA003874B1 (ja)
WO (1) WO2001031422A2 (ja)
ZA (1) ZA200202798B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236977A (ja) * 2004-02-19 2005-09-02 Samsung Electronics Co Ltd 電力分析攻撃に安全な基本演算装置および方法
JP2007511956A (ja) * 2003-11-13 2007-05-10 マジック テクノロジーズ,インコーポレーテッド 古典的なビット暗号化を有するqkd
JP2008516502A (ja) * 2004-10-07 2008-05-15 アクサルト・エス・アー 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成
JP2011514091A (ja) * 2008-03-05 2011-04-28 イルデト・ビー・ヴイ 暗号システム
JP2015159394A (ja) * 2014-02-24 2015-09-03 大日本印刷株式会社 情報処理装置の認証方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US8582774B2 (en) * 2002-03-07 2013-11-12 Gemalto Sa Method for making safe an electronic cryptography assembly with a secret key
FR2842376B1 (fr) * 2002-07-10 2004-09-24 Somfy Procede de communication selective entre objets
EP1457858A1 (fr) * 2003-03-14 2004-09-15 SCHLUMBERGER Systèmes Procédé de sécurisation d'un ensemble électronique à cryptoprocesseur
DE10341096A1 (de) * 2003-09-05 2005-03-31 Giesecke & Devrient Gmbh Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen
EP1596278A1 (fr) * 2004-05-11 2005-11-16 Axalto SA Procédé de protection d'un ensemble cryptographique par masquage homographique
FR2873523B1 (fr) * 2004-07-22 2007-08-10 Sagem Procede et dispositif d'execution d'un calcul cryptographique
DE102004043243A1 (de) * 2004-09-07 2006-03-23 Comvenient Gmbh & Co. Kg Verfahren zum Schutz von Schlüsseln
KR101226167B1 (ko) * 2004-10-28 2013-01-24 이르데토 코포레이트 비.브이. 암호 함수 모호화 방법 및 시스템
JP2008181225A (ja) * 2007-01-23 2008-08-07 Toshiba Corp Icカード
EP2525298B1 (en) * 2011-05-17 2016-07-13 Nxp B.V. Authentication method
EP2620890A1 (en) * 2012-01-25 2013-07-31 Gemalto SA Method for detecting a fault injected in hardware registers of an electronic device
DE102012018924A1 (de) 2012-09-25 2014-03-27 Giesecke & Devrient Gmbh Seitenkanalgeschützte Maskierung
US9009495B2 (en) 2013-06-28 2015-04-14 Envieta, LLC High speed cryptographic combining system, and method for programmable logic devices
CN104104587B (zh) * 2014-04-18 2017-12-26 天津大学 一种认证邮件协议的后一致性分析方法
CN105757878B (zh) * 2016-02-19 2018-07-27 广东美的暖通设备有限公司 通讯数据的编码及解码方法、装置和空调器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007511956A (ja) * 2003-11-13 2007-05-10 マジック テクノロジーズ,インコーポレーテッド 古典的なビット暗号化を有するqkd
JP2005236977A (ja) * 2004-02-19 2005-09-02 Samsung Electronics Co Ltd 電力分析攻撃に安全な基本演算装置および方法
JP2008516502A (ja) * 2004-10-07 2008-05-15 アクサルト・エス・アー 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成
JP2011514091A (ja) * 2008-03-05 2011-04-28 イルデト・ビー・ヴイ 暗号システム
US9710623B2 (en) 2008-03-05 2017-07-18 Irdeto B.V. Cryptographic system
JP2015159394A (ja) * 2014-02-24 2015-09-03 大日本印刷株式会社 情報処理装置の認証方法

Also Published As

Publication number Publication date
CN1413398A (zh) 2003-04-23
ZA200202798B (en) 2003-09-23
WO2001031422B1 (en) 2002-01-10
EA200200468A1 (ru) 2002-10-31
CA2388971A1 (en) 2001-05-03
EP1226681A2 (en) 2002-07-31
AU773982B2 (en) 2004-06-10
AU2301401A (en) 2001-05-08
WO2001031422A2 (en) 2001-05-03
EA003874B1 (ru) 2003-10-30
WO2001031422A3 (en) 2001-12-13

Similar Documents

Publication Publication Date Title
EP3337082B1 (en) Method and system for generation of cipher round keys by bit-mixers
JP2003513490A (ja) 意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法
CN111034117B (zh) 单节点多方加密
Coppersmith et al. A proposed mode for triple-DES encryption
US10313128B2 (en) Address-dependent key generator by XOR tree
US7764785B2 (en) Method for communicating securely over an insecure communication channel
US10146701B2 (en) Address-dependent key generation with a substitution-permutation network
CN109726565B (zh) 在抗泄漏原语中使用白盒
US8619985B2 (en) Table splitting for cryptographic processes
US9602281B2 (en) Parallelizable cipher construction
Zhang et al. A chaos-based image encryption algorithm using alternate structure
WO2008064704A1 (en) Method and device for preventing information leakage attacks on a device implementing a cryptographic function
US9946662B2 (en) Double-mix Feistel network for key generation or encryption
Moldovyan On cipher design based on switchable controlled operations
CN112507357B (zh) 一种基于密钥生成器的多级接口设计方法
Hussain Ali et al. Image encryption using block cipher based serpent algorithm
CN114143413A (zh) 一种图像数据puf安全加密系统及加密方法
Misra et al. Analysing the parameters of chaos based image encryption schemes
Lu et al. White-box implementation of the KMAC message authentication code
Yang et al. WAS: improved white-box cryptographic algorithm over AS iteration
Shiba et al. Cubicle: A family of space‐hard ciphers for IoT
Garay et al. MAC precomputation with applications to secure memory
Cho et al. Hybrid WBC: Secure and efficient encryption schemes using the White-Box Cryptography
Yang et al. SPN-AS: A new white-box cryptographic algorithm based on AS iteration structure
Hafsa et al. Hardware Implementation of an Improved Hybrid Cryptosystem for Numerical Image Encryption and Authenticity