JP2002519722A - スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス - Google Patents

スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス

Info

Publication number
JP2002519722A
JP2002519722A JP2000556475A JP2000556475A JP2002519722A JP 2002519722 A JP2002519722 A JP 2002519722A JP 2000556475 A JP2000556475 A JP 2000556475A JP 2000556475 A JP2000556475 A JP 2000556475A JP 2002519722 A JP2002519722 A JP 2002519722A
Authority
JP
Japan
Prior art keywords
key
des
cryptographic
parameters
message
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
JP2000556475A
Other languages
English (en)
Other versions
JP2002519722A5 (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=22207481&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2002519722(A) "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 JP2002519722A publication Critical patent/JP2002519722A/ja
Publication of JP2002519722A5 publication Critical patent/JP2002519722A5/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • 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/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Abstract

(57)【要約】 処理中に漏洩される有用情報の分量(および信号対雑音比)を減らすことによって、外部監視攻撃に対してDESおよび他の暗号プロトコルを改良するための方法および装置が開示される。本発明の改良されたDESの実施態様は、代わりに、2つの56ビットキー(K1およびK2)および2つの64ビット平文テキストメッセージ(M1およびM2)を使用し、それぞれは、K1P{K1}XORK2P{K2}が「標準」DESキーKに等しく、M1P{M1}XORM2P{M2}が「標準」メッセージに等しくなるような置換(つまりK1P、K2PおよびM1P、M2P)に関連付けられる。装置の操作中、測定値の分析により攻撃者がテーブルコンテンツを獲得できないように、情報が漏洩するより速くテーブルに新鮮なエントロピーを導入することによって、テーブルを定期的に更新することが好ましい。この技術は、暗号スマートカード、不正防止機能付きチップ、およびすべての安全処理システムにおいて実施可能である。

Description

【発明の詳細な説明】
【0001】 本出願は、1998年6月3日に出願された米国仮特許第60/087,82
6号の特典を請求する。
【0002】 本出願は、1998年12月31日に出願された同時係属の米国特許第09/
224,682号に関係する。
【0003】 (発明の分野) 本発明の方法および装置は、一般的には、外部攻撃に対する機密保護暗号シス
テムに関係し、より具体的には、暗号操作の外部監視を伴う攻撃を防止すること
に関係する。
【0004】 (発明の背景) 暗号操作は、データの暗号化および認証のような様々な方法に使用される。代
表的な対称暗号方法では、通信を保護するためにそれを使用する2人以上の参加
者に対する秘密キーが知られている。非対称(または共通キー)暗号法を使用す
るシステムでは、あるパーティは、通常、秘密キー(たとえば、いわゆる専用キ
ー)を使用する操作を実行し、他のパーティは、非秘密パラメータ(たとえば、
いわゆる共通キー)を使用する相補操作を実行する。対称暗号法および非対称暗
号法の両方ともに、キーを漏洩する攻撃者が、通信を復号したり、署名を偽造し
たり、無許可のトランザクションを行ったり、ユーザになりすましたり、その他
の問題を起こすので、秘密パラメータは機密保持される。
【0005】 物理的保護つまり十分にシールドされた空間を使用して安全にキーを管理する
方法が、背景技術において知られており、今日では幅広く使用されている。しか
し、低価格の暗号装置でキーを保護するための周知の方法は、高度の不正防止機
能を必要とするような、多くのアプリケーションに対して不適切であることがよ
くある。顕微鏡、タイミング攻撃暗号解読(たとえば、P.Kocher著「T
iming Attacks on Implementations of
Diffie−Hellman,RSA,DSS,and Other Sys
tems.」Advances in Cryptology−CRYPTO′
96、Springer−Verlag、104〜113頁参照)および誤差解
析(たとえば、E.Biham and A.Shamir、「Differe
ntial Fault Analysis of Secret Key C
ryptosystems」、Advances in Cryptology
−CRYPTO′97、Springer−Verlag、1997、513〜
525頁参照)を使用したROMのリバースエンジニアリングのような攻撃が、
暗号システム解析のために説明されている。
【0006】 背景技術では、暗号法的に安全と考えられる暗号(Cipher)およびアル
ゴリズムが知られている。たとえば、トリプルDES(異なるキーを使用するデ
ータ暗号化規格(DES)の3つのアプリケーションを使用して構成される暗号
)を使用するプロトコルは、攻撃者がプロトコルへの標準入力とプロトコルから
の標準出力のみをアクセスできる場合は、すべての実現可能な暗号解読攻撃に対
抗することができる。しかし、トリプルDESのような非常に強力な暗号を使用
する製品でさえ、キーが安全に管理されなければ必ずしも安全とはいえない。
【0007】 この文書は、連邦情報処理標準の刊行物46に定義されており、ここで詳細に
説明するまでもないデータ暗号化規格(DES)については、詳細に理解されて
いるものとして書かれている。DESおよび他の暗号アルゴリズムに関する情報
は、Bruce Schneier著Applied Cryptograph
y(Wiley and Sons,Inc.、1996年)、Menezes
他著Handbook of Applied Cryptography(C
RC Prss,Inc.、1977年)、または当業者の認める他の標準的な
参考書類においても説明されている。
【0008】 (発明の概要) 本発明は、保護された暗号操作を実行するために使用される2つ以上の部分の
間にある数学的な関係を維持しながら、秘密(たとえばキーおよび/またはメッ
セージ)を別個の部分に分離し、次いで各部分が変更される方法を説明する。更
新(「変更」)操作において、キー管理装置は、ランダムであることまたは他の
予測不可能なことを内部状態に導入する。秘密の部分を変更することによって、
それらについて攻撃者が収集した情報を陳腐化させることができる。攻撃者が情
報を収集するより速くその情報が無効にされると、システムを保護することがで
きる。
【0009】 本発明は、データ暗号化規格(DES)の改良された実施態様および外部監視
攻撃に対抗する他の暗号操作を提供する。入力キーおよびメッセージにのみ依存
する一連の処理操作を実行する従来のDESの実施態様と異なり、本発明は、暗
号処理において追加的でランダムな(または予測不可能な)状態情報を必要とす
る。ランダムな状態情報は、処理中に使用されるキー、平文テキスト、および中
間数量と混合される。暗号処理中に攻撃者に漏洩された情報は、このランダムな
情報と相関され、秘密情報との相関はすべて、部分的にまたは完全に隠される。
結果として、漏洩された情報を解析することによって秘密パラメータを判定する
ことは、攻撃者にとって困難または不可能である。
【0010】 本発明がどのようにデータ暗号化規格(DES)に適用することができるかの
詳細な説明が提供される。通常の2進値として一般的に符号化される状態パラメ
ータは、ブラインドされ、それらの順序は、ランダム化される置換テーブルを使
用してマスクされる。従来のDESの実施態様は、入力メッセージMを64ビッ
ト値として符号化するが、本発明の典型的な実施形態は、Mをブラインドし、M
1XORM2が「通常」メッセージに対応するように、二部値(M1、M2)を
生成する。さらに、パラメータM1およびM2は、ランダムな順序で符号化され
ており、M1およびM2におけるビットの現行の順序を追跡するために、置換M
1PおよびM2Pはメモリに格納される。同様に、キーは、ブラインドされ、ラ
ンダムな順序の形式で格納することができる。M1PおよびM2Pは、ビット配
列情報を含み、メッセージの内容を表示しない。本発明のメッセージをブライン
ドする技術によって、M1がそれ自体で、またM2がそれ自体で、どのような方
法によってもメッセージと相関されることはなくなる。結果として、どのパラメ
ータの完全な値が攻撃者に漏洩されたとしても、本実施態様は、安全に保護され
る。
【0011】 標準DESアルゴリズムは、置換、S検索、およびビットごとのXORの、基
本的な3つの操作タイプを必要とする。典型的な実施形態では、メッセージ(M
1、M2、M1P、M2P)の置換は、M1PおよびM2Pを操作することによ
って実行される。置換配列だけが操作され、M1およびM2のパラメータデータ
ビットは、アクセスまたは変更される必要はない。したがって、(標準DESア
ルゴリズム定義の一部として定義されたIP、PC1、E、PおよびFPのよう
な)置換を、漏洩から保護することができる。XOR操作については、入力パラ
メータの二等分された各部分が、別個に処理される。たとえば、前記のメッセー
ジ表記法を使用すると、(A1、A2、A1P、A2P)および(B1、B2、
B1P、B2P)として符号化されたAおよびBの2つの値のXORを計算する
操作は、まず(A1、A1P)および(B1、B1P)のXORを検索し、次い
で(A2、A2P)および(B2、B2P)のXORを検索することによって計
算される。ブラインディングのため、A1およびB1自体だけでは、AまたはB
の完全な値と相関しないことに留意されたい。2つのXOR操作を監視し、その
監視における相関および監視間の相関からAおよびBに関する情報を攻撃者が得
ることを防止するために、順序のランダム化が使用される。最終的に、Sテーブ
ル検索操作については、Sテーブル自体は、Sテーブルの入力および出力がラン
ダムな値によってブラインドされるように、ブラインドされた形式の装置のメモ
リに格納される。S操作を実行するために、入力(例:A1、A2、A1P、A
2P)、Sテーブル入力ブラインド係数、およびS入力表置換が結合され、Sテ
ーブル自体の索引を作るために使用される。(Sテーブルは、ブラインドされ、
ランダムに置換され、定期的にリシャッフルされる。)Sの結果は、P置換およ
び宛先へのXOR操作をすることによって別個に処理される、二等分された形で
得られる。16ラウンドが実行され、最後には最終暗号文が作られる。暗号文は
、置換され、ブラインドされた形式で生成されるが、これは標準DES暗号文に
容易に変換することができる。
【0012】 キーおよびメッセージの両方をそれぞれ2つのサブパートに置換するというこ
とに関して本発明を説明してきたが、当業者には、これらのどちらか1つまたは
両方が(他の秘密数量と同様)3つ以上の多くの部分に置換されうることが理解
されよう。さらに、本発明をDESに関連して説明してきたが、Blowfis
h、SEAL、IDEA、SHA、RC5、TEAおよび本発明の技術のアプリ
ケーションに適した操作を必要とする他の暗号アルゴリズムを含む(限定はされ
ない)他の暗号対称アルゴリズムにも本発明を適用/適応することができる。D
ESを含むそのようなすべての場合、本明細書で使用される「平文テキスト」と
いう用語は、どのような暗号プロトコル(例:DES)が使用されているかに関
する平文テキスト形式の数量を示すことが理解されよう。したがって、「平文テ
キスト」数量は、実際には他のアルゴリズムを使用して暗号化されるが、検討中
の暗号プロトコルに関連した平文テキストの意味の範囲内にとどめることができ
る。
【0013】 (発明の詳細な説明) 信号対雑音比(S/N比)の縮小 情報を漏洩する暗号システムから秘密キーを獲得するために、攻撃者は、一連
の操作を監視することによってデータを収集し、その監視内容について統計分析
を実行し、その結果を使用してキーを判定することができる。
【0014】 一般的な状況において、攻撃者は、暗号操作を実行するときの安全トークンの
電力消費量のような物理特性を監視する。攻撃者は、キーを必要とする暗号操作
をトークンが実行するのを監視するたびに、キーに関する少量のデータを収集す
る。攻撃者は、トークンがキー(または関連するキー)を必要とする操作を実行
するときに、そのトークンを複数回に亘り監視してデータを収集し、統計的に相
関(または結合)することによって、そのキーについて知られている情報量を増
加させる。
【0015】 情報を漏洩する暗号システムの場合、そのような監視は、信号(つまり、キー
に有効に相関される情報)を含むことがある。ただし、そのような監視は、雑音
(つまり、キーの判定を妨げる、または無関係な情報およびエラー)も含む。こ
れらの監視から得られた情報の質は、雑音の量との比較で信号の大きさを測る尺
度である「信号対雑音」(またはS/N)比として特徴付けられる。
【0016】 攻撃者がキーを回復するために分析しなければならない操作数は、測定および
分析技術に依存するが、一般にS/N比の二乗に反比例する。比例の定数は、攻
撃者が必要とする機密の分量にも依存する。たとえば、キービット値に関する統
計情報を使用する最適化された総当り検索を行おうとする攻撃者には、比較的低
い機密レベルでも許容できる。ファクタ15によって信号を減らし、ファクタ2
0によって測定雑音量を増やすことによって、ファクタ300によって信号対雑
音比が減らされる。これは、一般的に、そのキーについて同じ情報量を抽出する
ために、攻撃者が、約90,000回もの監視を必要とすることを意味している
。S/Nが減少する前にキーを回復しておくために1,000回の監視を必要と
する攻撃の場合、回復されたキーと同じ機密レベルを得るために約90,000
,000回の監視を必要とすることになる。
【0017】 本発明の主たる目的は、たとえば攻撃者がキーを漏洩するために必要とする監
視の回数を増やすことによって、攻撃を成功させにくい暗号システムを作ること
である。使用可能な信号サイズを減らすことによっておよび/またはエラー、雑
音、および攻撃者の測定値の不確実性を増やすことによって、システム設計者は
、システムを大きくするためにいわゆる作業関数(必要とされる努力)を作成す
ることができる。理想的には、キーに関する有用情報を十分な量得るために必要
とされるサンプル数は、そのキーを使用して実行できるトランザクションの最大
数を超え、その装置によって実行できるトランザクションの最大数を超え(たと
えば、キーの有効期限が切れる前に)、または監視による攻撃が総当り攻撃やそ
の他の既知の攻撃と同等またはより困難になるほど大きくすべきである。たとえ
ば、1,000,000回の処理(大抵のスマートカードに予想される操作上の
寿命をはるかに超える)の後に自己破壊するようにプログラムされたシステムが
あるとする。(全トランザクションを通して)信号対雑音比の測定値が1/10
00を遥かに下回るように限定される場合、攻撃者は、その装置の秘密を漏洩す
るために十分な測定値を収集することができない。
【0018】 物理的に大規模なシステムについては、有効な物理シールディング、物理分離
、および入力と出力の注意深いフィルタリングが、背景技術で知られている(例
:米政府Tempest仕様)。このようなシールディング技術は、物理的攻撃
からの保護と同様に、暗号装置を電力消費量、電磁波の放射(大気中への放射と
装置の入出力に結合した放射の両方)、装置内の電気的活動状態などを必要とす
る外部からの監視攻撃からも保護することができる。残念ながら、これらの技術
は、制約の厳しい技術環境では適用しにくい。たとえば、(サイズおよび重みの
ような)物理的制約、コスト要件、および節電の必要性は、従来から知られてい
るシールディング技術の使用をしばしば妨げることがある。
【0019】 漏洩最小化DES:概要 データ暗号化規格(DES)は、データ暗号化、疑似乱数の生成、MAC、お
よび他の暗号操作用暗号プリミティブとして幅広く使用されている。基本DES
暗号化アルゴリズムは、56ビットキーを使用して64ビットの平文テキストブ
ロックを64ビットの暗号文テキストに変換する。対応する復号化操作は、同じ
キーを使用して暗号テキストブロックをそれらの対応する平文テキストに変換す
る。この解説では、周知のDESアルゴリズムについて読者が詳細に理解してい
ると想定しており、ここでは詳細に解説する必要はないものとする。DES(お
よび他の暗号アルゴリズム)に関するより詳細な情報については、Bruce
Schneier著、Applied CryptographyまたはMen
ezes他著、Handbook of Applied Cryptogra
phyを参照されたい。
【0020】 本発明のDESの実施態様は、外部監視攻撃への抵抗を提供するために、1つ
または複数の新規機能(本発明の典型的な実施形態については下記で説明される
)を組み込む。本発明は、限定はされないが、下記の情報漏洩の様々なソースに
アドレス指定するために使用することができる。
【0021】 (a)(キー置換PC1のような)置換は、「0」と「1」ビットが置換され
たときには、異なる特性を有することによってキービットを漏洩することがある
。極端な例を挙げると、キービットの値に応じて条件付飛越しが実行されると、
マイクロプロセッサの電力消費量の監視によって、飛越しが起こるかどうかが明
らかになる。したがって、置換操作による測定値の分析によって、秘密キーが明
らかになる。
【0022】 (b)標準DESのCおよびDレジスタは、それぞれ28ビット長であり、各
ラウンドで1回ないし2回循環する必要がある。これらの28ビット長の数量は
、標準8、16、または32ビットのマイクロプロセッサレジスタに完全に適合
することはない。結果として、各マイクロプロセッサレジスタの末端部から循環
し終わったビットは、次のレジスタにけた上げされる必要がある。電力消費量お
よび/またはタイミングの監視により、一部またはすべてのキービットを明らか
にしながら、各ラウンドのけた上げされたビットが0または1のどちらであるか
を明らかにすることができる。
【0023】 (c)データ操作オペレーションにより、処理中のデータに関する情報が明ら
かになる。たとえば、代表的な操作の電力消費量(マイクロプロセッサ内または
ゲートレベルのハードウェアのDES実施態様)は、操作中のデータに相関され
る。たとえば、ハミングウェイト5のバイトのシフトとハミングウェイト4のバ
イトのシフトでは、電力量が相当に異なる。もう一つの例として、電力消費量は
、DESアルゴリズムの内部処理に関する情報を明らかにしながら、(Sテーブ
ル索引のために取り出されたバイトのアドレスのような)アドレスバス上の値に
相関される。攻撃者は、収集したデータに予想したバイアスまたは効果が現われ
るかどうかをチェックすることによって、キービットに関する推測を検査するこ
とができる。
【0024】 (d)テーブル索引操作は、メモリ検索のアドレスと戻された値に関する情報
を漏洩する。特に、そのような漏洩の重大な源泉には、装置の電力消費量および
電磁気の放射が含まれる。アドレスおよび装置とメモリを接続するデータバス回
線から放射され、テーブル(例:ROMまたはRAM)を含む信号は、DESの
出力に関する情報を得るために検出され、分析することができ、キーを漏洩する
ことができる。同様に、電力消費量の分析により、S検索に関する情報を明らか
にすることができる。
【0025】 (e)装置の状態(メモリ内容、プロセッサフラグ、レジスタ、他を含む)を
変更する操作により、その操作の初期および最終状態に関する情報を明らかにす
ることができる。たとえば、電力消費量の特性は、ゼロ値を保持するレジスタビ
ット、1値を保持するレジスタビット、ゼロから1に変更するレジスタ、および
1からゼロに変更するレジスタによって区別することができる。並列冗長の独立
したコンピュータユニットで論理が逆の装置は、装置の状態においてゼロおよび
1ビットの合計が定数であっても、状態遷移により情報を依然として漏洩するこ
とがあることに留意されたい。
【0026】 (f)集積回路の個々のトランジスタ間の変化、チップ内のワイヤの電気特性
の変化、異なるワイヤにより放たれる電磁放射量の変化、その他のすべては、秘
密キーを判定するために統計的に分析されうる、攻撃者によって検出される変化
を提供する。
【0027】 キーを判定したりシステムを破壊するために、複数の監視が必要となることが
よくあることに留意されたい。(いつもシステムを破壊するためのキーを検出す
る必要があるわけではない。たとえば、メッセージの平文テキストを判定するこ
とは、キーを検出することと同様に有用であり、攻撃に際してはこれがよく行わ
れることがある。)前述の通り、統計的な分析は、測定値からの有用な信号の抽
出を行うことがある。たとえば、コンピュータは、雑音を平均するためにデジタ
ル方式で信号をフィルタしたり、問題の構成要素の周波数を識別したりすること
ができる。(問題の信号を分離するために、高域ろ波器および/または低域ろ波
器、チューナー、その他を使用するような)アナログフィルタリング技術も使用
される。
【0028】 本発明の典型的な漏洩最小化DESの実施態様は、典型的な実施形態で使用さ
れるが、当業者に理解されるような、個別にまたは様々な組み合わせで配置され
る複数の保護強化技術を介して上記およびその他の弱点にアドレスする。実施態
様は、暗号化についてのみ下記で十分に説明する。しかし、暗号化と復号化は非
常に似ており、同じFeistel「F」関数を使用するので、当業者には、こ
こで説明した原則を復号化操作に適用させる方法が理解されよう。読者の便宜を
考慮し、この2つの実施態様の重要な相違点について言及する。最後に、当業者
には、ここで説明された技術が結合された暗号化/復号化DES関数にも適用さ
れうることが理解されよう。
【0029】 本発明の1つの実施形態では、DES関数(暗号化するときの平文テキストお
よびキー)への入力は、通常とは異なる形式で符号化される。標準DESの実施
態様は、56ビットキーK(各バイトに無視されたパリティビットを有し、一般
的に8バイトで格納される)および64ビット平文テキストメッセージMを使用
する。しかし、キーまたはメッセージを標準DES実施態様にローディングする
方法は、キーまたは平文テキストに関する情報を漏洩する可能性がある。
【0030】 したがって、本発明の改良されたDESの好適実施態様では、代わりに2つの
56ビットキー(K1およびK2)および2つの64ビットの平文テキストメッ
セージ(M1およびM2)を使用するが、K1P{K1}XORK2P{K2}
は「標準」DESキーKに等しくなり、M1P{M1}XORM2P{M2}は
「標準」平文テキストに等しくなるように、それぞれが置換(つまり、K1P、
K2P、M1P、M2P)に対応づけられる。上記および本明細書で使用する表
記中、「X{Y}」は、XからYへの置換を適用した結果を表し、「X[Y]」
は、配列Xの要素Yを表し、「X[Y][Z]」は、2次元配列XのY、Zを表
す。
【0031】 この実施形態では、置換およびブラインドされた値は以下のように生成される
。56ビットキーKからK1およびK2を生成するために、ランダム値K1が生
成され、次いでK2がK2=K XOR K1として演算される。(本明細書で
使用される「ランダム」という用語は、真のランダム値および攻撃者には予測不
可能な疑似乱数やその他の値を含むものとする。ランダム値を生成する方法は、
背景技術でよく知られており、ここでは詳細を説明するまでもない。)次に、K
1PおよびK2Pのランダム置換が生成され、逆K1PはK1に適用され、逆K
2PはK2に適用される。同様に、メッセージMをM1およびM2に分割するに
は、M1が64ビットランダム値に等しくセットされ、次いでM2がM2=MX
ORM1になるようにセットされる。次に、M1PおよびM2Pのランダム置換
が作成され、それらの逆がM1およびM2にそれぞれ適用される。暗号操作中は
、標準キーおよびメッセージよりも置換されたキーおよびメッセージが使用され
る。本発明において必須ではないが、典型的な実施形態は以下の特性を有する。
(a)H(X)がXのハミングウェイトであるとき、すべてのキーについて、H
(K1)およびH(K2)は平均して64/2=32になる。(b)K1または
K2の特定ビットが1であるという可能性が0.5である。(c)レジスタ位置
とキービットとの相関が弱い(または丁度0.5である)。これらの特性は、シ
ステムによって攻撃者に漏洩される有用情報の分量を減らすことができる。
【0032】 このような操作の終了時には、標準DESプロトコルによって生成されるであ
ろう同じ暗号化/復号化数量を形成するために、暗号文の2つの部分が再結合さ
れることがある。
【0033】 一時キーおよびメッセージ(つまり、小規模で操作数が限定されている場合に
のみ使用される)に関しては、キーまたはメッセージが使用される場合には、単
純に分割が実行されることがある。ただし、大量の操作に使用される長期キーに
関しては、分割操作によってキーに関する情報が漏れることがないように、キー
は分割された形式で格納することが好ましい。(どちらの場合にも説明された典
型的な実施形態が使用できる。)
【0034】 漏洩最小化DESの実施態様は、使用する前に初期設定が必要である。装置が
製造され、個別設定され、インストールされ、起動され、ダウンロードされ、最
初に使用され、キー入力され、その他の操作が行われた場合を含め(限定はされ
ない)、漏洩最小化暗号操作を使用する前にはいつでも、そのような初期設定を
行うことができる。
【0035】 漏洩最小化DES:初期設定およびS更新 初期設定は、置換、Sテーブル、および関連パラメータに対する開始値を提供
する。以下のパラメータは、順不同で初期設定される(つまり、便宜的に1つの
順序を示しておくが、実際の初期設定の順序はどのようでもよい)。
【0036】 (a)ランダムな順序で0...7を含めるために、S_ORDER_TAB
LE[0...7]を定義する。(ある実施態様では、ハミングウェイト等化の
ために、たとえば0×70、0×61、0×52、0×43、0×34、0×2
5、0×16、0×07を表に格納することによって、S_ORDER_TAB
LEで使用するために高位ビットを選ぶことがある。ただし、その場合は、S_
ORDER_TABLEへのアクセスによって、高位ビットは廃棄されるべきで
ある。当業者には、他のテーブルや操作にも同様の平衡が適用できることを理解
されよう。
【0037】 (b)S_ORDER_TABLEによって指定された順序で、各Sテーブル
に1つずつ、8つのランダム6ビット項目を含む表としてS_INPUT_MA
SK[0...7]を作成する(つまり、0...63の範囲の値で)。
【0038】 (c)8つのS_INPUT_PERMの各配列が0...5をランダムの順
序で含む、ランダムのS_INPUT_PERM[0...7][0...5]
を作成する。
【0039】 (d)8つのS_OUTPUT_ORDERの各配列が0...3をランダム
の順序でその最初の4つの要素に含み、0...3をランダムの順序で2番目の
4つの要素に含む、ランダムのS_OUTPUT_ORDER[0...7][
0...7]を作成する。
【0040】 (e)ランダムの32ビットS_OUTPUT_MASKを作成する。S_O
UTPUT_MASKの32ビットは、Sテーブルの出力をブラインドおよびア
ンブラインドするために使用される。(この典型的な実施形態では、各Sテーブ
ルは4つのブラインディングビットを使用する。)(f)で説明されるように、
ブラインドされたSテーブルを生成するためにS_OUTPUT_MASKの値
が使用される。
【0041】 (f)以下のように標準DESのSテーブルt(tは、1から8までのすべて
)を使用してS_TABLE[i][j]が計算されるように、S_TABLE
[0...7][0...63]を作成する。i=S_ORDER_TABLE
[t−1]とする。w=S_INPUT_PERM[i]{j}XORS_IN
PUT_MASK[i]とする。xをDESのSテーブルtでwを検索した結果
に等しくする(DES仕様で定義されるように、検索プロセスは、表内で置換を
選択するためにwのビット0および5と、置換内でオフセットを選択するために
ビット1...4を使用することを含む)。yを、Sテーブルtの出力に対応す
るS_OUTPUT_MASKの4ビットでXORしたxに等しくする(P置換
の逆をS_OUTPUT_MASKに適用し、次いでビット4tが結果の(4t
+3)になるようにすることを含む)。次に、ランダムな4ビット値を17倍し
たものでXORしたyに等しい8ビット値のzを計算する。最後に、S_TAB
LE[i][j]=S_OUTPUT_ORDER[i]{z}をセットする。
【0042】 各装置を独特のランダムなパラメータ(S_TABLE、他)で初期設定する
ことは好適であるが、コスト面での制約や諸般の事情により、複数の装置を同様
に初期設定しなければならない場合もある。同様に、複数の装置が1つのキーを
共用する場合、そのキーは、それぞれ独特のキーパラメータのセット(K1、K
2、K1P、K2P)によって初期設定することが好ましい。
【0043】 より高い安全性を得るためには、攻撃者が測定値の分析によってテーブルコン
テンツを獲得できないように、装置の操作中にテーブルを定期的に更新すること
が好ましい。好適更新方法としては、情報が漏洩するより早く新鮮なエントロピ
ーをテーブルに導入すべきである。このような更新方法は、特に、Sテーブルが
、更新の遅いEEPROMなどのようなメモリに格納される場合は、かなりの長
時間を要することがある。更新方法が予測不可能な処理の遅れを導入しないよう
にするには、Sテーブルの一部が一度に更新されるように、更新を段階的に行う
ことができる。アイドル時間が使用可能であれば、これもテーブルの更新のため
に使用することができる。
【0044】 更新方法を実施するための1つの方法として、いつも余分の要素が新しい(更
新される)テーブルを準備するために使用できるように、各主配列(S_INP
UT_MASK、S_INPUT_PERM、S_OUTPUT_ORDER、
およびS_TABLE)に9つの要素(必要な8つより1つ多い)を含ませる方
法がある。テーブルの更新方法は、8つのアクティブなパラメータセットのどれ
か1つを変換し、その結果を配列の空いている項目に置き、次いで更新されたテ
ーブルが使用できるようになったら、S_ORDER_TABLEとS_OUT
PUT_MASKを更新する。Sテーブルブロックを更新するためには、入力イ
ンデックス(m)と出力インデックス(n)を選択するが、ここでmは、各配列
において更新されるべき現存する項目へのインデックスであり、nは、更新され
た値が置かれる配列の空いている項目へのインデックスである。装置は、S_I
NPUT_MASK[n]、S_INPUT_PERM[n][0..5]、S
_OUTPUT_ORDER[n][0..7]およびS_OUTPUT_MA
SKのパラメータへの新しい値を作成し格納する。(新しいS_OUTPUT_
MASKは、新しいランダムなビットをS_ORDER_TABLE[m]に対
応する位置に有すが、他のビットは変更されない。)次に、装置はS_TABL
E[m][0..63]をS_TABLE[n][0..63]に翻訳し、古い
パラメータセット(S_INPUT_MASK[m]、S_INPUT_PER
M[m][0..5]、S_OUTPUT_ORDER[m][0..7]、お
よびS_OUTPUT_MASK)を補正し、新しいパラメータセット(S_I
NPUT_MASK[n]、S_INPUT_PERM[n][0..5]、S
_OUTPUT_ORDER[n][0..7]、および新しいS_OUTPU
T_MASK)に適した変更を組込む。別法として、標準(非ブラインドの、他
)Sテーブルのコピーが使用可能であれば、更新を実行するためにその値を使用
することができるが、その場合、古いパラメータセットは更新に必要とされない
。一旦、新しいS_TABLEが完了すると、値mを値nと置換えることによっ
てS_ORDER_TABLEが更新される。また、S_OUTPUT_MAS
Kもその新しい値と置換えられる。必ずしもこうでなければならないというわけ
ではないが、S_ORDER_TABLEおよびS_OUTPUT_MASKへ
の更新は、1つのみの更新は不正確な操作の原因となることがあるので、単一の
信頼性のあるメモリの更新として行われることが好ましい。他のメモリ更新中に
信頼性の低いメモリ更新が使用される場合は、新しい表と古い表とを照合するべ
きである。さらに、重要なキーが実施態様で使用される前に、テストキーを使用
してテスト操作を実行し、正確な操作を確認することもできる。別法として、ま
た追加的方法として、一般的にメモリ更新は標準の確認されないメモリ更新に比
べて遅いことがあるが、表更新操作のために完全で誤りのない書き込み操作を使
用することができる。
【0045】 漏洩最小化DES:暗号化(および復号化) 従来のDES暗号化プロセスは、キーKを使用して64ビットの入力メッセー
ジMを結果に変換する。図1は、本発明の典型的なDES暗号化プロセスを示す
。ステップ100では、変換された入力メッセージは、M=M1P{M1}XO
RM2P{M2}となるようにそれぞれ順序を置換して(M1PおよびM2P)
2つの64ビットデータメッセージ(M1およびM2)として獲得または準備さ
れる。さらに、ステップ100では、変換されたキーが、同様にK1、K2、K
1P、K2Pとして符号化されて獲得される。この形式でメッセージとキーが使
用可能でない場合は、さらに変換される。たとえば、メッセージMを変換するに
は、装置はランダムな64ビットの値Rを獲得し、M1=MXORRおよびM2
=Rを計算し、ランダム化された置換M1PおよびM2Pを作成し、M1および
M2をM1PおよびM2Pの逆に従って置換する(つまり、M1およびM2をM
1P_Inverse{M1}およびM2P_Inverse{M2}にそれぞ
れ置換える)同様の変換をキーKに適用することができる。このプロセスは、結
果が必要とされる前ならいつでも実行することができる(例:DES操作の前、
DES操作の開始時、下記のステップ110または120、他で(またはこれら
の代わりに))。(上記の符号化は、典型的な目的のためにのみ説明されており
、当業者には、多くの代替符号化が可能であり使用されることが理解されよう。
たとえば、3つ以上のサブパートを使用することができ、XOR以外の機能を使
用することができる。当業者には、本明細書に記載した本発明の典型的な実施形
態に鑑み、このような変更があることが理解されよう。)
【0046】 ステップ110では、キーおよびメッセージの更新プロセスが実行される。こ
の更新プロセスの開始時で、障害カウンタCが増加され、閾値に対して検査され
る。閾値に達した場合、操作は失敗し、終了する。閾値に達しない場合は、キー
(K1、K2、K1P、K2P)およびメッセージ(M1、M2、M1P、M2
P)の入力パラメータが更新される。更新プロセスは、リオーダリングおよびラ
ンダム化という2つの基本的な操作からなる。リオーダリングは、データビット
および置換項目の位置を更新する。K1P(またはK2P)の要素のペアとK1
(またはK2)のビットの相補ペアを交換すると、メッセージの有効値は変更さ
れないが、その符号化はリオーダされる。ランダム化は、本実施形態でXOR操
作を通してデータビット値をブラインドする。同じランダムな論理値をK1のビ
ットとK2の対応するビットにXORしても、K1P{K1}XORK2P{K
2}の値には何の影響も及ぼさない。相関攻撃を回避するために、XORへの値
でXORテーブルが構築され、K1PおよびK2Pと置換され、最終的にはK1
およびK2に別個に適用される。将来のトランザクションでそのキーが使用され
る予定の場合、そのキーに対する入力パラメータは、(完全で誤りのない書き込
み操作を使用して)長期メモリで更新された値によって上書きされる。上述のと
おり、メッセージ(M1、M2、M1P、M2P)に対する入力パラメータは、
キーの場合と同様の方法でリオーダおよびランダム化することができる。最後に
、障害カウンタCは、ゼロにセットされる。この時点で、キーおよびメッセージ
はすでにランダム化されており、攻撃者が、停電または他の処理の割込みによっ
て装置に同じキーを繰り返し処理させることはできない。
【0047】 ステップ120では、標準DESのアルゴリズムの一部である初期置換(IP
)は、入力メッセージに適用される。M1およびM2は、置換形式で格納される
ため、初期置換は、M1P{M1}およびM2P{M2}の値に影響を及ぼす必
要がある。実施態様にとって、データ(つまり、M1およびM2)の変更は可能
ではあるが、必須ではない。置換操作は、置換表自体のみを操作すること、IP
をM1PおよびM2Pなどの置換に適用すること、たとえば新しいM1P=IP
{M1P}および新しいM2P=IP{M2P}を計算することによって適用す
ることができる。データの追加的なリオーダリングまたはランダム化(ステップ
110で実行されたような)も任意で実行することができる。
【0048】 ステップ120でも、標準DESのアルゴリズムの一部であるPC1置換が、
入力キーに適用される。IPの場合、置換操作は、置換表自体(K1PおよびK
2P)のみを操作することによって適用することができ、データを操作する必要
はない。パフォーマンスを最適化する方法として、使用されるキーは、しばしば
すでに適用されているこの置換と共に格納することができることに留意されたい
。パフォーマンスを向上させるために、このステップでPC2を適用し、各ラウ
ンドに必要とされる置換操作をPC2とシフト操作との結合をイネーブルするこ
とによって単純化することもできる。(残り8つの未使用キービットは、56ビ
ットキー長を保守するためにPC2の48出力ビットの右に格納される。)キー
の追加的なリオーダリングまたはランダム化(ステップ110で実行されるよう
な)も、任意で実行することができる。
【0049】 ステップ130では、ラウンドカウンタはゼロに初期設定される。ステップ1
35では、キーおよびメッセージのパラメータは、ステップ110内のように更
新される。
【0050】 ステップ140では、キー(K1、K2、K1P、K2P)を置換することに
よってラウンドキーが準備され、8つの各S操作に必要とされる6キービットを
分離する。前記PC1ステップが最適化されると、このステップは、回転する左
ラウンドキー(復号化するときは回転する右キー)と単一の56から56への置
換におけるPC2操作とを結合する。実行された完全な置換は、PC2の逆を実
行し、次いでラウンド回転操作と、PC2の順方向への置換を実行することに等
しい。前述のとおり、ラウンドサブキーのための符号化は、ラウンド操作で使用
される48キービットをキーレジスタの左に置き、残り8つの(未使用の)キー
ビットを右に置く。シフトの数は、以下に示すように、ラウンドの関数である。
つまり、ラウンド0、1、8、および15、(最初のラウンドをラウンド1とし
て番号を付けると、1、2、9、および16)は1つのシフトを有し、残りは2
つを有する。したがって、ラウンドでは2つのシフトを伴って、異なる置換操作
または余分の置換操作が使用される。キーの追加的なリオーダリングまたはラン
ダム化は、このステップにおいてランダムで実行することができる。(復号化す
る場合、このステップは、Sテーブル索引の後に実行するか、またはS検索の前
にこのステップを適用するためにPC1置換ステップを補正するために調整する
必要がある。また、上述の通り、PC2/回転キー置換は、回転を右に組み込む
必要がある。)
【0051】 ステップ145では、図2に詳述されるようにラウンド操作が実行される。図
2に関しては、ステップ200では、装置は、ランダムな順序で0...7の値
を有する8つの要素を含むランダムなS_ORDER_PERM[0...7]
を生成する。また、ループカウンタiは、ゼロに初期設定される。ステップ21
0では、次のS検索操作のためにjがSテーブルのインデックスにセットされる
(例:j=S_ORDER_TABLE[S_ORDER_PERM[i]]。
【0052】 ステップ220では、ランダムな6ビットマスクVが得られる。また、ステッ
プ220でも、インデックスレジスタqが、Vによってブラインドされた現行の
S_INPUT_MASK値として計算される(たとえばq=VXORS_IN
PUT_MASK[j]を計算することによって、)。
【0053】 ステップ230では、ビット選択のために置換M1Pを使用して、現行のS操
作に対応するM1から6つの入力ビットが抽出され、qにXORされる。この6
ビット抽出とXOR操作は、ランダムな順序で実行される。選択されたビットは
、現行のSインデックスへのE拡張操作によって選択された6ビットのグループ
に対応する。ビットは、S_INPUT_PERM[j]によって指定された順
序でqに置かれる。ステップ235は、M2の適切な6ビットがM2Pを使用し
て選択されることを除いて、ステップ230に類似している。
【0054】 ステップ240では、ビット選択のために置換K1Pを使用して、S操作への
6キービット入力がK1から選択される。6ビット抽出およびXOR操作は、ラ
ンダムな順序で実行される。選択されたビットは、現行ラウンドの現行S操作使
用された6キービットに対応する。(前に図1のステップ120および140で
実行されたキー置換がラウンドのPC2置換の結果をM1Pの隣接ビットとして
置くと、jはK1Pの6ビットの適切なブロックへのインデックスとして使用さ
れる。)ビットは、S_INPUT_PERM[j]によって指定された順序で
qに置かれる。ステップ245は、K2の適切な6ビットがK2Pを使用して選
択されることを除いて、ステップ240に類似している。
【0055】 ステップ250では、S_TABLE[j][qXORV]を検索することに
よって、Sテーブル索引が実行される。ステップ260では、Sテーブルの結果
の左半分にある各4ビットのために、装置はS結果置換、P置換、およびM1P
置換を実行した結果に対応するM1において目的位置を識別する。左の4S結果
ビットは、それぞれS_OUTPUT_ORDER[j]の要素の前半に従って
置換され、対応するM1ビットにXORされる。(最終的に、これらの置換は、
Lの適切な宛先ビットに対応するM1のビットを目標にする。)M2PとS_O
UTPUT_ORDER[j]の後半を使用して、S結果の右半分の4ビットを
M2にXORするために同じことが行われる。ランダムに、Sテーブルの項目は
、Sテーブルのランダムな4ビット定数を有する左右の項目をXORすることに
よって更新し、S結果の左右の半分に対するS_OUTPUT_ORDER置換
の逆に従って置換することができる。
【0056】 ステップ270では、ループカウンタiが増加される。ステップ275では、
そのラウンドのより多くの8Sテーブル索引が実行される必要があるかどうかを
判定するために、iが検査される。もしその必要があれば、ステップ210で処
理が継続される。
【0057】 Sテーブル索引が完了した後、ステップ280で、S_OUTPUT_MAS
Kの値がM2にXORされる(もちろん、M2Pに従って調整される)。ステッ
プ280では、データの左右の半分は、M1、M1Pで交換される。この交換は
、上述の通り、M1Pを変更することによってのみ達成することのできるビット
置換として実施することができることに留意されたい。同様に、M2、M2Pの
左右の半分も交換される。たとえば図1のステップ110に詳述されたようなメ
ッセージの追加的なリオーダリングまたはランダム化が、この時点で推奨される
。最終的に、前節「漏洩最小化DES:初期設定およびS更新」で説明した通り
に、S_TABLEへの更新は実行される。ステップ290では、図2のプロセ
スが完了する。
【0058】 図1に戻って、ステップ150では、ラウンドカウンタが増加される。ステッ
プ155では、16ラウンドすべてが完了したかどうかを判定するためにラウン
ドカウンタ値が検査される。まだラウンドが残っていれば、ステップ135で処
理が継続される。
【0059】 すべてのラウンドが完了した後で、ステップ160でメッセージの最後の置換
が実行される。上述した通り、置換操作は置換表自体(M1PおよびM2P)を
操作することによってのみ適用することができ、データを操作する必要はない。
データの追加的なリオーダリングまたはランダム化は、ランダムで実行される。
最終的に、ステップ170では、(M1、M2、M1P、M2P)に含まれる結
果は戻される。結果が、秘密でない場合(例:暗号テキスト)、M1P{M1}
XORM2P{M2}を計算することによって、標準DESの暗号テキストが生
成される。
【0060】 暗号化(および復号化)の操作中または操作間に、Sテーブルおよび関連する
パラメータが更新される。更新が実行される速度および頻度は、いくつかの要因
に応じた設計パラメータである。たとえば、特に装置のメモリ更新が遅い場合、
テーブルの更新には時間がかかるので、高性能の実施態様によっては表更新の頻
度が低いほうが望ましいことがある。装置のメモリの寿命によっては、更新速度
の制限も必要とする場合がある。たとえば、EEPROMメモリは、あまり頻繁
に更新されると障害を起こすことがある。また、漏洩速度の速い装置は、より頻
繁にテーブルを更新する必要があるだろう。たとえば、複数の重複した表または
2つ以上の部分に分割されたオペランドを使用することによって、有効な漏洩速
度を減少させ、表更新速度を減少させることができる。最終的に、更新の頻度は
、装置が要する機密保護の度合いによって決めることができる(たとえば、更新
を頻繁にするほど、攻撃は困難になる)。
【0061】 DESキーの長さが極めて短いので(56バイトのみ)、DESは、各データ
ブロックで3つのDES操作が実行されるトリプルDES構造を使用して強化さ
れることがよくある。漏洩最小化トリプルDESは、漏洩最小化単一DESを3
回反復することによって、実施される。第1DES出力を有する2つのコンポー
ネントは、第2DES操作への入力として直接使用することができ、第2DES
出力のコンポーネントは、第3DES出力への入力として直接使用することがで
きる。また、初期置換が第2および第3DES操作でオミット(omit)されると
、第1および第2DES操作での最後の置換は必要なくなる。
【0062】 背景技術においては別の構造であるDES−Xが知られており、総当り攻撃に
対してDESを強化するための方法としてしばしば使用される。DES−Xでは
、64ビットの秘密値(KX)で平文テキストをXORし、秘密DESキー(K
Y)と共に通常のDESアルゴリズムを使用してXORの結果を暗号化し、第3
秘密値(KZ)でDESの結果をXORする。本発明によるDES−Xの典型的
な実施形態では、たとえば、XORの秘密値(KXおよびKZ)は、それぞれ2
つのコンポーネントとして(KX1、KX2およびKZ1、KZ2)格納するこ
とができる。DES操作の前に、KX1はメッセージを二等分した一方へXOR
され(例:MP1を通してM1が置換される)、もう一方へはKX2がXORさ
れる。このDES操作は、漏洩最小化実施態様を使用して実行される。DES操
作の後で、メッセージの結果を二等分したものをKZ1およびKZ2でXORす
る。一対のXOR秘密コンポーネント(KX1およびKX2、またはKZ1およ
びKZ2)を更新するために、ランダムな数が生成され、これら両方にXORさ
れる。他のキーおよびメッセージと同様に、XORキーコンポーネントは、ラン
ダムで関連置換を有することができる。
【0063】 他の考慮すべき事項 暗号操作は、通常、不正確な計算がキーを含んだり、他の攻撃を可能にしたり
しないように検査されるべきである。本発明の暗号の実施態様は、本発明の好適
実施形態において、暗号操作が正しく実行されるように、誤り検出および/また
は誤り修正論理と結合することができる。たとえば、単純かつ効果的な技法とし
て、理想的には2つの独立したハードウェアプロセッサおよび実施態様を使用し
、両方が同じ結果を生成したことを検査するためのコンパレータを備えて、暗号
操作を2回実行するという方法があげられる。2つのユニットによって生成され
た結果が一致しない場合、コンパレータは、不良な処理結果が使用されないよう
にする。信頼性よりも安全性を重視する状況では、重大なエラーが発生したら、
コンパレータは、装置を自己破壊させることができる。たとえば、装置の耐用期
間中に不良DES操作が連続して2回発生したり、1度に5つの不良なDES結
果が発生したら、コンパレータは、自己破壊を起こすことができる。暗号システ
ムによっては、重複を必須としないものもある。たとえば、RSAを使用すると
、自己検査機能を暗号システムの実施態様自体に組み込むことができ、また操作
の後で検査を実行することができる。
【0064】 POST(パワーオンセルフテスト)のような自己診断機能も、暗号記号が故
障していないことを検査するために組み込まれるべきである。ある種のスマート
カードや他の装置では、包括的な自己テストが完了する前にATR(answer-to-
rest)が提供されなければならない。そのような場合、最初のトランザクション
が完了するまで、または十分なアイドル期間がすぎるまで、自己テストを延期す
ることができる。たとえば、POSTが無事完了したことを示すフラグは、初期
設定に際してクリアすることができる。カードは、ホストシステムからのコマン
ドを待っている間、POSTを試みることができる。POST中に受信したすべ
ての入出力は、(POST完了フラグをゼロにしたままで)POSTを打ち切る
割込みを行うことができる。どの暗号関数が呼び出されても、装置はPOSTフ
ラグを検査し、(フラグがセットされていなければ)まずPOSTを実行する。
【0065】 結論 本発明には、多くの変更および適応が可能である。たとえば、メッセージビッ
トは、(二等分したものを分離するのとは対照的に)ビットが混合する128ビ
ットの配列に格納することができ、キーは、56ビット形式ではなく64ビット
形式で操作することができ、オーダリングは、(計算の最終結果を変更しない方
法を含んで)逆にしたり、置換したりできる。XORの二等分したもので操作を
ブラインディングするよりも、他のビット操作を適用することができる。XOR
ビット操作以外の基本操作が使用される場合は、他の分割および/またはブライ
ンディング機能を使用することができる。メモリを節約するために、マスクでX
ORすることによって(または他のインデックスをアンマスクする機能を適用す
ることによって)データへの最終ポインタを生じさせるようにテーブルを符号化
することによって、テーブルの順序をランダムに維持しつつ、置換テーブルを削
除することができる。二等分したそれぞれにのみデータを分割するのではなく、
3つ以上のサブバリューを使用することができる。追加テーブル(その入力は、
後続テーブルへのポインタとなるか、またはその出力が結合されるか、あるいは
その両方)は、さらに機密保護を追加するために使用することができる。最適化
されたハードウェアの実施態様では、アルゴリズムの単純化されたバージョンを
実施できるように、システム状況情報の量を制限する必要がある場合がある。た
とえば、置換表すべてを維持するよりも、パラメータベースの関数を入力に適用
することによって順序を置換することができる。また、典型的な置換操作では、
入力位置レジスタを第1定数によってXORし、次いで第2定数の値を追加する
ことによって、出力ビット位置を発見する。(6ビットのインデックスについて
は、正規の置換に対する(2^6)(64)=4096とは対照的に、置換を符
号化するために12レジスタビットのみが必要とされる。)集積回路の個々の操
作または他のモジュールは安全であると想定されるハードウェアの実施態様にお
いても、本発明は、集積回路(またはモジュール)とシステムの他の部分との間
で通信される秘密メッセージおよびキーを保護するために適用されることができ
る。
【0066】 さらに、キーおよびメッセージの両方をそれぞれ2つのサブパートに置換する
ことに関して本発明を説明しているが、これらの片方または両方(および他の秘
密数量)が、3つ以上の部分に置換できることが、当業者に明らかになろう。最
後に、DESについて本発明を説明しているが、本発明は、Blowfish、
SEAL、IDEA、SHA、RC5、TEAおよび本発明の技術の適用に適し
た操作を必要とする他の暗号アルゴリズムを含むがこれらに限定はされない他の
暗号対照アルゴリズムに適用および適応することができる。DESを含むこれら
すべての場合において、本明細書で使用される「平文テキスト」という用語は、
使用されているすべての暗号プロトコル(例:DES)に関して平文テキスト形
式になった数量のことを示している。したがって、「平文テキスト」の数量は、
実際には他のアルゴリズムを使用して暗号化され、検討中の暗号プロトコルに関
する平文テキストの意味の範囲内に維持される。
【0067】 従って、本発明は、コストおよび複雑さにおいては類似しているが本発明を使
用しない装置よりもはるかに攻撃への対抗策を持った装置の構造をイネーブルす
る広範な関連技術を、包含する。さらに、システムの機密保護のためには、その
ための複数の技術が必要とされることがあり、漏洩最小化は他の機密保護の方法
または対策と共同で使用することができる。
【0068】 当業者が理解するように、上記の技術は、特定のホスト環境または形式要因に
限定されることはない。むしろ、限定はされないが下記のものを含む、幅広い種
類のアプリケーションで使用することができる。つまり、ISO(国際標準化機
構)7816−1、ISO7816−2、およびISO7816−3(「ISO
7816準拠スマートカード」)に実質的に準拠したスマートカードを含む(し
かし限定はされない)あらゆる種類の暗号スマートカード、コンタクトレスでプ
ロキシミティベースのスマートカードおよび暗号トークン、格納された値カード
およびシステム、暗号により機密保護されたクレジットカードおよびデビットカ
ード、カスタマロイヤリティカードおよびシステム、暗号によって認証されるク
レジットカード、暗号アクセラレータ、ギャンブルや他の賭け事用システム、安
全な暗号チップ、不正防止機能付きマイクロプロセッサ、(パーソナルコンピュ
ータ、サーバ、他で使用するためのプログラムおよび暗号装置内にロードまたは
埋め込むことができるプログラムに限定はされないが、これらを含む)ソフトウ
ェアプログラム、キー管理装置、バンキングキー管理装置、安全なウェブサーバ
、電子決済システム、マイクロペイメントシステムおよびメータ、プリペイド式
テレフォンカード、暗号識別カードおよび他のID検査システム、電子資金取引
、自動預金支払機、POS端末装置、証明書発行システム、電子バッジ、ドアエ
ントリシステム、暗号キーを使用したすべての種類の物理ロック、(地上波放送
、衛生放送、ケーブル放送に限定はされないがこれらを含む)テレビジョン信号
を復号化するためのシステム、(コンピュータネットワークを介して配信される
音楽を含む)暗号化された音楽および他の音声コンテンツを復号化するためのシ
ステム、すべての種類のビデオ信号を保護するためのシステム、(映画、音声コ
ンテンツ、コンピュータプログラム、ビデオゲーム、画像、テキスト、データベ
ース、他の無許可のコピーまたは使用を防止するために使用されるような)知的
所有権保護およびコピー保護システム、(電話認証スマートカードを含む)携帯
電話スクランブリングおよび認証システム、(安全な電話のためのキー記憶装置
を含む)安全な電話、暗号PCMCIAカード、ポータブル暗号トークン、およ
び暗号データ監査システム。
【0069】 前記において本発明の典型的な実施形態および適用例について説明したが、本
発明の趣旨および範囲から逸脱することなく、関連する変換形態、強化、および
修正を行えることは明らかである。したがって、本発明は、前記の開示に限定さ
れるべきではなく、むしろ本明細書に添付の特許請求の範囲によって解釈される
べきである。
【図面の簡単な説明】
【図1】 漏洩を最小化するDESの方法の典型的な実施形態を示す。
【図2】 図1の漏洩を最小化するDESの方法の各ラウンドにおけるSテーブル索引を
詳細に示す。
───────────────────────────────────────────────────── フロントページの続き (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,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AU,AZ,BA,BB ,BG,BR,BY,CA,CH,CN,CU,CZ, DE,DK,EE,ES,FI,GB,GD,GE,G H,GM,HR,HU,ID,IL,IS,JP,KE ,KG,KP,KR,KZ,LC,LK,LR,LS, LT,LU,LV,MD,MG,MK,MN,MW,M X,NO,NZ,PL,PT,RO,RU,SD,SE ,SG,SI,SK,SL,TJ,TM,TR,TT, UA,UG,US,UZ,VN,YU,ZW (72)発明者 ヨシュア エム. ジャフェ アメリカ合衆国 94117 カリフォルニア 州 サンフランシスコ (番地なし) ア パートメント 4 アッパー テラス 200 (72)発明者 ベンジャミン シー. ジュン アメリカ合衆国 94303 カリフォルニア 州 パロ アルト タンランド ドライブ 1081−ビー Fターム(参考) 5J104 AA46 JA13 NA09 NA20 NA35

Claims (40)

    【特許請求の範囲】
  1. 【請求項1】 メッセージについて暗号操作を実行する方法において、 (a)初期予測不可能情報を生成するステップと、 (b)前記初期予測不可能情報を使用し、初期秘密数量を所定の論理的関係を
    有する複数のランダム化した数量に変換するステップと、 (c)ハードウェア装置の外部監視から得られる前記操作に関する有用情報の
    量を減らすために、前記ハードウェア装置のランダム化された前記数量を必要と
    する前記操作の第1ステップを実行するステップと を備えたことを特徴とする方法。
  2. 【請求項2】 請求項1に記載の方法において、前記初期予測不可能情報が
    乱数発生器から得た複数のランダム値を含むことを特徴とする方法。
  3. 【請求項3】 請求項1に記載の方法において、前記初期秘密数量は、メッ
    セージおよびキーを含む秘密数量の群の少なくとも1つを含むことを特徴とする
    方法。
  4. 【請求項4】 請求項1に記載の方法において、ステップ(b)はブライン
    ディング操作を含むことを特徴とする方法。
  5. 【請求項5】 請求項4に記載の方法において、前記ブラインディング操作
    はXOR操作を含むことを特徴とする方法。
  6. 【請求項6】 請求項1に記載の方法において、ランダム化された前記数量
    のいくつかにおける任意の指定ビットの値が「1」である可能性は2分の1(0
    .5)であることを特徴とする方法。
  7. 【請求項7】 請求項1に記載の方法において、ステップ(c)はランダム
    な順序で複数の前記ランダム化された数量において別個に操作することを含むこ
    とを特徴とする方法。
  8. 【請求項8】 請求項1に記載の方法において、前記暗号操作はデータ暗号
    化規格(DES)と互換性があり、前記方法は、最後の結果を生成するためにス
    テップ(c)の結果を再結合することも含み、前記最後の結果は前記DESアル
    ゴリズムで変換された前記メッセージの暗号表示であることを特徴とする方法。
  9. 【請求項9】 請求項8に記載の方法において、Sテーブルをシャッフルす
    るために前記初期予測不可能情報を使用することをさらに備えたことを特徴とす
    る方法。
  10. 【請求項10】 請求項9に記載の方法において、前記初期予測不可能情報
    を使用して前記Sテーブルをシャッフルする前記ステップは、前記Sテーブルの
    出力をブラインディングすることを含むことを特徴とする方法。
  11. 【請求項11】 請求項9に記載の方法において、前記初期予測不可能情報
    を使用して前記Sテーブルをシャッフルする前記ステップは、前記Sテーブルの
    置換を含むことを特徴とする方法。
  12. 【請求項12】 請求項9に記載の方法において、ステップ(c)は、前記
    ランダム化された形式によるSテーブルへの6ビット入力を表現するデータを、
    前記ランダム化された数量からランダムな順序で抽出することを含むことを特徴
    とする方法。
  13. 【請求項13】 請求項1に記載の方法において、 (d)少なくとも1つの更新されランダム化される数値を生成するために、追
    加的な予測不可能な情報を使用して、少なくとも1つのランダム化される前記数
    量を更新するステップと、 (e)少なくとも1つの更新されランダム化される前記数量を必要とする前記
    操作の第2ステップを実行するステップと をさらに備えたことを特徴とする方法。
  14. 【請求項14】 請求項13に記載の方法において、ステップ(d)は、少
    なくとも1つのランダム化される前記数量のビット位置をリオーダリングするこ
    とを含むことを特徴とする方法。
  15. 【請求項15】 請求項13に記載の方法において、ステップ(d)は、少
    なくとも1つのランダム化される前記数量のビット値をランダム化することを含
    むことを特徴とする方法。
  16. 【請求項16】 請求項13に記載の方法において、ステップ(d)は、前
    記更新に先立って、障害カウンタを増分させ、検査し、前記更新後に前記障害カ
    ウンタをクリアすることを含むことを特徴とする方法。
  17. 【請求項17】 請求項13の方法において、ステップ(c)は、複数のパ
    ラメータを使用して前記操作の前記第1ステップを実行することを含み、前記方
    法は、前記パラメータを初期設定するために前記初期予測不可能情報を使用する
    ことと、複数の更新されるパラメータを生成するために前記パラメータを更新す
    ることをさらに備え、ステップ(e)は、前記更新されるパラメータを使用して
    前記操作の前記第2ステップを実行することを含むことを特徴とする方法。
  18. 【請求項18】 キーを使用してメッセージに暗号操作を実行する方法にお
    いて、 (a)予測不可能な情報を使用し、前記メッセージを所定の論理的関係をその
    中に有する複数のメッセージ部分に変換するステップと、 (b)予測不可能な情報を使用し、前記キーを所定の論理的関係をその中に有
    する複数のキー部分に変換するステップと、 (c)ハードウェア装置の外部監視から得られる前記操作に関する有用情報の
    分量を減らすために、前記ハードウェア装置で前記キー部分を使用して前記メッ
    セージ部分に前記暗号操作の第1ステップを実行するステップと、 (d)予測不可能な情報を有する前記複数のメッセージ部分の少なくとも1つ
    を更新するステップと、 (e)予測不可能な情報を有する前記複数のキー部分の少なくとも1つを更新
    するステップと、 (f)ハードウェア装置の外部監視から得られる前記操作に関する有用情報の
    分量を減らすために、前記ハードウェア装置で前記キー部分を使用して前記メッ
    セージ部分に前記暗号操作の少なくとも第2ステップを実行するステップと、 (g)暗号結果を戻すステップと を備えたことを特徴とする方法。
  19. 【請求項19】 請求項18に記載の方法において、前記結果が、前記メッ
    セージに暗号操作がデータ暗号化規格(DES)アルゴリズムを適用することに
    よって引き出される値の表記法となるように、前記暗号操作はDESと互換性が
    あることを特徴とする方法。
  20. 【請求項20】 請求項18に記載の方法において、ステップ(c)および
    (f)の間でSテーブルをリシャッフルするために予測不可能な情報を使用する
    ステップをさらに備えたことを特徴とする方法。
  21. 【請求項21】 請求項18に記載の方法において、前記ステップ(b)は
    、前記キー部分と前記秘密数量の間で定義済みの、ステップ(e)で前記キー部
    分が更新されたときに保存された数学的関係を確立することを特徴とする方法。
  22. 【請求項22】 外部監視による秘密数量の発見に対して抵抗性のある方法
    で暗号操作を実行するための暗号化処理装置であって、 (a)装置の電力消費料量を測定することのできる、電力に関する信頼性のな
    い入力と、 (b)前記秘密数量の表記法を少なくとも含む保護メモリと、 (c)前記秘密数量を、所定の論理的関係をその中に有する複数のランダム化
    された数量に変換する予測不可能な情報のソースと、 (d)入出力インタフェースと、 (e)前記メモリに接続され、前記秘密数量のランダム化形式を使用する前記
    インタフェースを介して受信されたデータのランダム化された形式に暗号変換を
    実行するように構成されたプロセッサと を備えたことを特徴とする暗号化処理装置。
  23. 【請求項23】 請求項22に記載の装置において、前記装置はISO78
    16準拠スマートカードを備えたことを特徴とする装置。
  24. 【請求項24】 請求項22に記載の装置において、前記暗号変換中に前記
    電力消費量は測定できる程度に変化するが、前記電力消費量の測定値は前記秘密
    数量と相関しないことを特徴とする装置。
  25. 【請求項25】 請求項22に記載の装置において、予測不可能な情報の前
    記ソースは乱数発生器を備えたことを特徴とする装置。
  26. 【請求項26】 請求項22に記載の装置において、少なくとも1つのレジ
    スタの任意の単一ビットと前記秘密数量との間の相関は検出不可能なほど小さい
    が、前記少なくとも1つのレジスタの結合した複数ビットと前記秘密数量と間の
    相関は測定できる程度に大きい、ランダム化された前記数量を一時的に格納する
    ための、少なくとも1つのレジスタを備えたことを特徴とする装置。
  27. 【請求項27】 請求項26に記載の装置において、前記装置がISO78
    16準拠スマートカードであることを特徴とする装置。
  28. 【請求項28】 外部監視攻撃に対する抵抗力を有する秘密キーを使用して
    、対称暗号操作を実行するための方法であって、 (a)入力メッセージを獲得するステップと、 (b)初期予測不可能情報を生成するステップと、 (c)前記キー、前記メッセージ、および前記予測不可能な情報を結合するス
    テップと、 (d)(i)結果は、前記入力メッセージおよび前記キーの定義済み関数であ
    り、 (ii)前記結果は、前記予測不可能な情報と独立である結果を引き出すス
    テップと、 (e)前記結果に基づく応答を生成するステップと を備えたことを特徴とする方法。
  29. 【請求項29】 請求項28に記載の方法において、前記暗号操作は定義済
    みブロック暗号であることを特徴とする方法。
  30. 【請求項30】 請求項29に記載の方法において、前記ブロック暗号はデ
    ータ暗号化規格であることを特徴とする方法。
  31. 【請求項31】 請求項29に記載の方法において、すべてのステップはI
    SO7816準拠スマートカードで実施されることを特徴とする方法。
  32. 【請求項32】 請求項29に記載の方法において、前記ステップ(d)で
    処理される個々のノービットは前記キーの任意のビットに対して測定できる程度
    に相関することを特徴とする方法。
  33. 【請求項33】 キー入力される暗号操作を実行するための装置において、 (a)(i)第1の複数のパラメータとして符合化された秘密パラメータの表
    記法を獲得し、 (ii)入力データを受信し、 (iii)前記複数のパラメータを使用して前記入力データに暗号操作を実
    行し、 (iv)前記暗号操作の結果を伝送する ために構成されたキー入力される処理ユニットと、 (b)(i)前記秘密パラメータの符号化された前記表記法を獲得し、 (ii)ブラインディング係数を獲得し、 (iii)(1)第2の複数のパラメータと前記第1の複数のパラメータの
    間に数学的関係が存在し、 (2)前記第2の複数のパラメータが前記第1の複数のパラメー
    タと異なる 第2の複数のパラメータを、前記第1の複数のパラメータおよび前記ブライン
    ディング係数から生成するために構成された、キー更新ユニットと を備えたことを特徴とする装置。
  34. 【請求項34】 請求項33に記載の装置において、前記キー準備ユニット
    は、引き出される前記複数のパラメータと前記獲得された秘密パラメータとの間
    に数学的関係が存在するように、前記秘密パラメータおよび前記ブラインディン
    グ値から複数のパラメータを引き出すようにさらに構成されるが、前記複数のパ
    ラメータの任意の1つと前記秘密パラメータとの間に測定できる程度の相関がま
    ったくないことを特徴とする装置。
  35. 【請求項35】 請求項34に記載の装置において、数学的関係はモジュロ
    2の加算を含むことを特徴とする装置。
  36. 【請求項36】 請求項33に記載の装置において、 (a)置換される順序に一連のビットを含む置換される部分と、 (b)置換される前記部分にビットの順序を含む、オーダリングパートと を前記第2の複数パラメータが含むことを特徴とする装置。
  37. 【請求項37】 テーブル索引操作をマスキングすることにより、暗号シス
    テムの物理属性と暗号操作中に操作される秘密パラメータの値との間の相関を減
    らすための方法であって、 (a)前記テーブル索引操作で使用するための索引テーブルの表記法を受信す
    るステップと、 (b)受信した前記テーブルの表記法に対応する入力および出力マスキングパ
    ラメータを受信するステップと、 (c)いくらかの予測不可能な情報を獲得するステップと、 (d)受信した前記索引テーブルおよび前記予測不可能な情報から前記索引テ
    ーブルの変換された表記法を引き出ステップと、 (e)前記テーブルの変換された前記表記法に対応する新しい入力および出力
    マスキングパラメータを引き出すステップと、 (f)変換された前記索引テーブルと前記入力および出力マスキングパラメー
    タをメモリに格納するステップと、 (g)変換された前記テーブルを暗号の計算で使用するステップと を含むことを特徴とする方法。
  38. 【請求項38】 請求項37に記載の方法において、 (a)第1ランダム値を獲得するサブステップと、 (b)ステップ(b)で受信される前記第1ランダム値および出力マスキング
    値から新しい出力マスキング値を生成するサブステップと、 (c)第2ランダム値を獲得するサブステップと、 (d)ステップ(b)で受信される前記第2ランダム値および入力マスキング
    値から新しい入力マスキング値を生成するサブステップと、 (e)(i)前記古い入力マスクでXORした索引「i」を取ることにより指
    定されるオリジナルテーブルの位置で要素を検索し、 (ii)前記新しい出力マスク値および前記古い出力マスク値の両方で前記
    要素をXORし、 (iii)前記新しい入力マスクでXORした前記索引「i」に対応する位
    置で変換された前記テーブルに前記XOR結果を格納した 結果に、変換されるテーブルにある第i要素が等しい特性を有する変換される
    前記テーブルを生成するサブステップと をステップ(d)が含むことを特徴とする方法。
  39. 【請求項39】 請求項38に記載の方法において、ステップが異なる順序
    で実行されることを特徴とする方法。
  40. 【請求項40】 データ暗号化規格を使用して秘密キーによりスマートカー
    ドでデータを変換する方法において、 (a)メッセージの表記法を受信するステップと、 (b)DES中間表記法を生成するために、前記メッセージの表記法の少なく
    とも1つの部分と前記キーの表記法の少なくとも1つの部分を結合するステップ
    と、 (c)前記索引が従来の6ビットSテーブル入力の表記法である索引を、前記
    DES中間からS操作に生成するステップと、 (d)S操作を実行して、前記S結果のハミングウェイトが前記Sテーブル入
    力の値と独立している拡張表記法にS結果を生成するステップと、 (e)新しいDES中間表記法を生成するために、前記S操作の結果と前記D
    ES中間の結果を結合するステップと、 (f)ステップ(c)から(e)を複数回繰り返すステップと、 (g)前記DES結果がDES標準を前記秘密キーで前記メッセージに適用し
    た結果の表記法であるDES結果へ、最終DES中間表記法を変換するステップ
    と を備えたことを特徴とする方法。
JP2000556475A 1998-06-03 1999-06-03 スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス Pending JP2002519722A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8782698P 1998-06-03 1998-06-03
US60/087,826 1998-06-03
PCT/US1999/012734 WO1999067919A2 (en) 1998-06-03 1999-06-03 Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems

Publications (2)

Publication Number Publication Date
JP2002519722A true JP2002519722A (ja) 2002-07-02
JP2002519722A5 JP2002519722A5 (ja) 2005-12-22

Family

ID=22207481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000556475A Pending JP2002519722A (ja) 1998-06-03 1999-06-03 スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス

Country Status (7)

Country Link
US (3) US6278783B1 (ja)
EP (1) EP1090480B1 (ja)
JP (1) JP2002519722A (ja)
AU (1) AU6381699A (ja)
CA (1) CA2333095C (ja)
IL (1) IL139935A (ja)
WO (1) WO1999067919A2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182012A (ja) * 1998-12-14 2000-06-30 Hitachi Ltd 情報処理装置、端タンパ処理装置
JP2003535538A (ja) * 2000-05-31 2003-11-25 フランス テレコム スマートカード用暗号化方法と装置、及び超小型回路を有するスマートカード
JP2004078976A (ja) * 2003-09-12 2004-03-11 Hitachi Ltd 情報処理装置、耐タンパ処理装置
JP2005236977A (ja) * 2004-02-19 2005-09-02 Samsung Electronics Co Ltd 電力分析攻撃に安全な基本演算装置および方法
WO2006118086A1 (ja) * 2005-04-28 2006-11-09 Matsushita Electric Industrial Co., Ltd. プログラム変換装置、暗号処理装置、暗号処理方法
WO2007052491A1 (ja) * 2005-10-31 2007-05-10 Matsushita Electric Industrial Co., Ltd. セキュア処理装置、セキュア処理方法、難読化秘密情報埋め込み方法、プログラム、記憶媒体および集積回路
JP2008217033A (ja) * 2008-04-21 2008-09-18 Fujitsu Ltd 秘密鍵を用いた耐タンパ楕円曲線暗号処理
JP2012519987A (ja) * 2009-03-06 2012-08-30 イントリンシツク・イー・デー・ベー・ベー 物理的システムに依存する暗号鍵を確立するためのシステム
US8861720B2 (en) 2010-07-28 2014-10-14 The Ritsumeikan Trust Tamper-resistant memory integrated circuit and encryption circuit using same
US9773111B2 (en) 2012-08-14 2017-09-26 Empire Technology Development Llc Software-based side-channel attack prevention

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748410B1 (en) 1997-05-04 2004-06-08 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
ATE429748T1 (de) * 1998-01-02 2009-05-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
JP2002519722A (ja) * 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
JP4216475B2 (ja) 1998-07-02 2009-01-28 クリプターグラフィー リサーチ インコーポレイテッド 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
DE19841676A1 (de) * 1998-09-11 2000-03-16 Giesecke & Devrient Gmbh Zugriffsgeschützter Datenträger
FR2784831B1 (fr) * 1998-10-16 2000-12-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR2785477B1 (fr) * 1998-10-29 2000-12-29 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
GB2345229B (en) * 1998-12-23 2003-12-03 Motorola Ltd Method for encrypting data
US7599491B2 (en) * 1999-01-11 2009-10-06 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US7092523B2 (en) 1999-01-11 2006-08-15 Certicom Corp. Method and apparatus for minimizing differential power attacks on processors
FR2789776B1 (fr) * 1999-02-17 2001-04-06 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
US7730300B2 (en) 1999-03-30 2010-06-01 Sony Corporation Method and apparatus for protecting the transfer of data
US6697489B1 (en) 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
US6419159B1 (en) * 1999-06-14 2002-07-16 Microsoft Corporation Integrated circuit device with power analysis protection circuitry
FR2796477B1 (fr) * 1999-07-15 2001-10-12 Gemplus Card Int Procede d'amelioration d'un generateur aleatoire en vue de le rendre resistant contre les attaques par mesure de courant
TW546935B (en) * 1999-08-30 2003-08-11 Nagracard Sa Multi-module encryption method
US7170996B1 (en) * 1999-10-18 2007-01-30 Qualcomm Incorporated Random number generation for encrypting cellular communications
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
DE19963407A1 (de) * 1999-12-28 2001-07-12 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Nachrichtenverfremdung
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
FR2804524B1 (fr) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas Procede d'execution d'un protocole cryptographique entre deux entites electroniques
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
JP2003529986A (ja) * 2000-04-04 2003-10-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データキャリアのための通信接点用出力段
KR100377172B1 (ko) * 2000-06-13 2003-03-26 주식회사 하이닉스반도체 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
FR2813972B1 (fr) * 2000-09-14 2003-12-12 St Microelectronics Sa Procede de brouillage de la consommation electrique d'un circuit integre
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
FR2820577B1 (fr) 2001-02-08 2003-06-13 St Microelectronics Sa Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
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
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置
JP2002261751A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd 暗号処理方法
JP4199937B2 (ja) * 2001-03-06 2008-12-24 株式会社日立製作所 耐タンパー暗号処理方法
US6950937B2 (en) * 2001-05-30 2005-09-27 Lucent Technologies Inc. Secure distributed computation in cryptographic applications
US7318145B1 (en) 2001-06-01 2008-01-08 Mips Technologies, Inc. Random slip generator
US7124303B2 (en) 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
US7895616B2 (en) 2001-06-06 2011-02-22 Sony Corporation Reconstitution of program streams split across multiple packet identifiers
US7747853B2 (en) 2001-06-06 2010-06-29 Sony Corporation IP delivery of secure digital content
JP4596686B2 (ja) * 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
DE10138650A1 (de) * 2001-08-07 2003-02-27 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verschlüsseln eines diskreten Signals sowie Verfahren und Vorrichtung zur Entschlüsselung
US7142670B2 (en) * 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
GB2379587B (en) * 2001-09-10 2003-08-20 Simon Alan Spacey A method and apparatus for securing electronic information
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
US7206936B2 (en) * 2001-12-19 2007-04-17 Northrop Grumman Corporation Revocation and updating of tokens in a public key infrastructure system
DE10162309A1 (de) * 2001-12-19 2003-07-03 Philips Intellectual Property Verfahren und Anordnung zur Erhöhung der Sicherheit von Schaltkreisen gegen unbefugten Zugriff
US7765567B2 (en) 2002-01-02 2010-07-27 Sony Corporation Content replacement by PID mapping
US7823174B2 (en) 2002-01-02 2010-10-26 Sony Corporation Macro-block based content replacement by PID mapping
US7076059B1 (en) * 2002-01-17 2006-07-11 Cavium Networks Method and apparatus to implement the data encryption standard algorithm
FR2838210B1 (fr) * 2002-04-03 2005-11-04 Gemplus Card Int Procede cryptographique protege contre les attaques de type a canal cache
US7503066B2 (en) * 2002-04-16 2009-03-10 Panasonic Corporation Deactivation system
EP1510028A4 (en) * 2002-05-23 2008-01-23 Atmel Corp CRYPTOGRAPHIC MOTOR OF TECHNICAL EQUIPMENT BASED ON ADVANCED ENCRYPTION STANDARD (AES)
US7216108B2 (en) * 2002-08-14 2007-05-08 Itron, Inc. Transferable meter licenses using smartcard technology
US8818896B2 (en) 2002-09-09 2014-08-26 Sony Corporation Selective encryption with coverage encryption
US7724907B2 (en) 2002-11-05 2010-05-25 Sony Corporation Mechanism for protecting the transfer of digital content
US8572408B2 (en) 2002-11-05 2013-10-29 Sony Corporation Digital rights management of a digital device
WO2004042995A1 (en) * 2002-11-05 2004-05-21 Sony Electronics, Inc. Mechanism for protecting the transfer of digital content
US8667525B2 (en) 2002-12-13 2014-03-04 Sony Corporation Targeted advertisement selection from a digital stream
US8645988B2 (en) 2002-12-13 2014-02-04 Sony Corporation Content personalization for digital content
JP2004212828A (ja) * 2003-01-08 2004-07-29 Sony Corp 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
ES2219183B2 (es) * 2003-05-13 2006-02-01 Diseño De Sistemas En Silicio, S.A. Procedimiento de cifrado basado en el algoritmo des.
US7380125B2 (en) * 2003-05-22 2008-05-27 International Business Machines Corporation Smart card data transaction system and methods for providing high levels of storage and transmission security
CA2527668A1 (en) * 2003-06-02 2004-12-16 Liquid Machines, Inc. Managing data objects in dynamic, distributed and collaborative contexts
KR100546375B1 (ko) * 2003-08-29 2006-01-26 삼성전자주식회사 자체 오류 감지 기능을 강화한 상호 의존적 병렬 연산방식의 하드웨어 암호화 장치 및 그 하드웨어 암호화 방법
DE10341096A1 (de) * 2003-09-05 2005-03-31 Giesecke & Devrient Gmbh Übergang zwischen maskierten Repräsentationen eines Wertes bei kryptographischen Berechnungen
US7409545B2 (en) * 2003-09-18 2008-08-05 Sun Microsystems, Inc. Ephemeral decryption utilizing binding functions
US20050089190A1 (en) * 2003-10-23 2005-04-28 Eyal Shavit Recording content distribution information into an adjunct to content
US7853980B2 (en) 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
DE10358358B4 (de) * 2003-12-12 2008-05-08 Infineon Technologies Ag Mikroprozessoranordnung und Verfahren zum Betreiben einer Mikroprozessoranordnung
KR100564599B1 (ko) * 2003-12-24 2006-03-29 삼성전자주식회사 역원 계산 회로, 역원계산 방법 및 상기 역원계산 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
US10109141B2 (en) * 2003-12-24 2018-10-23 Intel Corporation Method and apparatus for establishing trust in smart card readers
KR100585119B1 (ko) * 2004-01-07 2006-06-01 삼성전자주식회사 암호화 장치, 암호화 방법 및 그 기록매체
FR2867635B1 (fr) * 2004-03-11 2006-09-22 Oberthur Card Syst Sa Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
US7899190B2 (en) * 2004-04-16 2011-03-01 Research In Motion Limited Security countermeasures for power analysis attacks
DE602004003675T2 (de) * 2004-04-16 2007-10-25 Research In Motion Ltd., Waterloo Sicherheitsgegenmassnahmen gegen Angriffe durch Stromverbrauchsanalysen
EP1596278A1 (fr) * 2004-05-11 2005-11-16 Axalto SA Procédé de protection d'un ensemble cryptographique par masquage homographique
JP2005340892A (ja) * 2004-05-24 2005-12-08 Matsushita Electric Ind Co Ltd 暗号回路
US7848514B2 (en) * 2004-05-24 2010-12-07 Research In Motion Limited Table masking for resistance to power analysis attacks
EP1757006A2 (en) * 2004-06-01 2007-02-28 Ben-Gurion University of the Negev Research and Development Authority Structure preserving database encryption method and system
US8065532B2 (en) * 2004-06-08 2011-11-22 Hrl Laboratories, Llc Cryptographic architecture with random instruction masking to thwart differential power analysis
JP4589327B2 (ja) 2004-07-07 2010-12-01 三菱電機株式会社 電子素子及びデータ処理方法
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
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
FR2875318A1 (fr) * 2004-09-15 2006-03-17 St Microelectronics Sa Protection d'un algorithme des
EP1646174A1 (en) * 2004-10-07 2006-04-12 Axalto SA Method and apparatus for generating cryptographic sets of instructions automatically and code generation
CN101048969B (zh) * 2004-10-28 2012-04-04 耶德托公司 用于扰乱密码函数的方法和系统
US8050402B2 (en) * 2004-12-01 2011-11-01 Telecom Italia S.P.A. Method and related device for hardware-oriented conversion between arithmetic and boolean random masking
US8041190B2 (en) 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US7895617B2 (en) 2004-12-15 2011-02-22 Sony Corporation Content substitution editor
DE102004061312B4 (de) * 2004-12-20 2007-10-25 Infineon Technologies Ag Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
EP1831812A1 (en) 2004-12-20 2007-09-12 Philips Intellectual Property & Standards GmbH Data processing device and method for operating such data processing device
KR20060081847A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 비밀키를 보호하는 스마트 카드 및 그것의 방법
WO2006076800A1 (en) 2005-01-18 2006-07-27 Certicom Corp. Accelerated verification of digital signatures and public keys
US8467535B2 (en) * 2005-01-18 2013-06-18 Certicom Corp. Accelerated verification of digital signatures and public keys
JP4714482B2 (ja) * 2005-02-28 2011-06-29 株式会社日立製作所 暗号通信システムおよび方法
DE602005002632T2 (de) * 2005-05-10 2008-01-31 Research In Motion Ltd., Waterloo Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
KR101102152B1 (ko) * 2005-06-28 2012-01-02 삼성전자주식회사 유기박막 트랜지스터의 제조방법 및 그에 의해 제조된유기박막 트랜지스터
FR2889349A1 (fr) * 2005-07-26 2007-02-02 St Microelectronics Sa Procede et dispositif de securisation d'un circuit integre, notamment une carte a microprocesseur
US20070061595A1 (en) * 2005-09-14 2007-03-15 Huang-Chung Chen Apparatus and method for protecting data
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
FR2893796B1 (fr) * 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
US20100046755A1 (en) * 2005-12-07 2010-02-25 Fiske Software Llc Cryptography related to keys with signature
DE602006020010D1 (de) * 2005-12-19 2011-03-24 St Microelectronics Sa Schutz der Ausführung eines DES-Algorithmus
FR2895609A1 (fr) * 2005-12-26 2007-06-29 Gemplus Sa Procede cryptographique comprenant une exponentiation modulaire securisee contre les attaques a canaux caches, cryptoprocesseur pour la mise en oeuvre du procede et carte a puce associee
US8032874B1 (en) 2006-01-20 2011-10-04 Xilinx, Inc. Generation of executable threads having source code specifications that describe network packets
US7653895B1 (en) * 2006-01-20 2010-01-26 Xilinx, Inc. Memory arrangement for message processing by a plurality of threads
US8185921B2 (en) 2006-02-28 2012-05-22 Sony Corporation Parental control of displayed content using closed captioning
KR100850202B1 (ko) * 2006-03-04 2008-08-04 삼성전자주식회사 Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법
US7720225B2 (en) * 2006-03-07 2010-05-18 Research In Motion Limited Table splitting for cryptographic processes
US7925896B2 (en) * 2006-03-30 2011-04-12 Texas Instruments Incorporated Hardware key encryption for data scrambling
US8301890B2 (en) 2006-08-10 2012-10-30 Inside Secure Software execution randomization
US7613907B2 (en) 2006-08-11 2009-11-03 Atmel Corporation Embedded software camouflage against code reverse engineering
US7984301B2 (en) 2006-08-17 2011-07-19 Inside Contactless S.A. Bi-processor architecture for secure systems
JP4960044B2 (ja) * 2006-09-01 2012-06-27 株式会社東芝 暗号処理回路及びicカード
US8301905B2 (en) * 2006-09-08 2012-10-30 Inside Secure System and method for encrypting data
US7554865B2 (en) 2006-09-21 2009-06-30 Atmel Corporation Randomizing current consumption in memory devices
US9361617B2 (en) * 2008-06-17 2016-06-07 Verifone, Inc. Variable-length cipher system and method
US8117514B2 (en) * 2006-11-13 2012-02-14 Qualcomm Incorporated Methods and apparatus for encoding data in a communication network
DE102007007699A1 (de) * 2007-02-09 2008-08-14 IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks
US7974409B2 (en) * 2007-06-28 2011-07-05 Samsung Electronics Co., Ltd. Changing the order of public key cryptographic computations
US8582765B2 (en) * 2007-08-01 2013-11-12 Stmicroelectronics S.A. Masking of data in a calculation
IL185285A0 (en) * 2007-08-14 2008-01-06 Yeda Res & Dev A method and apparatus for implementing a novel one-way hash function on highly constrained devices such as rfid tags
FR2923305B1 (fr) * 2007-11-02 2011-04-29 Inside Contactless Procede et dispositifs de protection d'un microcircuit contre des attaques visant a decouvrir une donnee secrete
US20100246808A1 (en) * 2007-12-05 2010-09-30 Nec Corporation Side channel attack tolerance evaluation apparatus, method and program
ATE513377T1 (de) * 2007-12-13 2011-07-15 Oberthur Technologies Verfahren für kryptografische datenverarbeitung, insbesondere unter verwendung einer s box und diesbezügliche einrichtung und software
FR2926651B1 (fr) * 2008-01-23 2010-05-21 Inside Contactless Procede et dispositifs de contre-mesure pour cryptographie asymetrique
US8848903B2 (en) * 2008-02-06 2014-09-30 Nec Corporation Device for evaluating side-channel attack resistance, method for evaluating side-channel attack resistance, and program for evaluating side-channel attack
JPWO2009118829A1 (ja) * 2008-03-25 2011-07-21 三菱電機株式会社 暗号演算装置及び暗号演算プログラム及び記録媒体
KR101324351B1 (ko) * 2008-08-19 2013-11-01 엔엑스피 비 브이 암호 기반 메시지 인증 코드를 생성하는 방법
FR2945366A1 (fr) * 2009-05-07 2010-11-12 Inside Contactless Circuit integre securise comprenant des moyens de divulgation de valeurs de masque de contre-mesure
DE102009022394A1 (de) * 2009-05-22 2010-11-25 Leica Microsystems Cms Gmbh System und Verfahren zum computergestützten Durchführen mindestens eines Tests bei einem Scanmikroskop
EP2290872B1 (en) 2009-08-27 2014-06-18 Nxp B.V. Device for generating a message authentication code for authenticating a message
FR2949887B1 (fr) * 2009-09-04 2013-02-08 Oberthur Technologies Procede de traitement cryptographique de donnees
CA2767189C (en) * 2009-09-29 2015-02-10 Silverbrook Research Pty Ltd Communication system, method and device with limited encryption key retrieval
FR2952773B1 (fr) * 2009-11-13 2012-07-20 Inst Telecom Telecom Paristech Circuit electronique de faible complexite protege par masquage personnalise
FR2952735B1 (fr) * 2009-11-18 2011-12-09 St Microelectronics Rousset Procede et dispositif de detection d'attaques par injection de fautes
EP2326042B1 (fr) * 2009-11-18 2013-04-03 STMicroelectronics (Rousset) SAS Procédé de détection d'une attaque par injection de fautes
EP2336931B1 (fr) * 2009-11-18 2013-01-09 STMicroelectronics (Rousset) SAS Procédé de vérification de signature
WO2011068996A1 (en) 2009-12-04 2011-06-09 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US8527766B2 (en) * 2009-12-30 2013-09-03 Microsoft Corporation Reducing leakage of information from cryptographic systems
US8775813B2 (en) * 2010-02-26 2014-07-08 Certicom Corp. ElGamal signature schemes
DE102010010851A1 (de) 2010-03-10 2011-09-15 Giesecke & Devrient Gmbh Ausspähungsschutz bei der Ausführung einer Operationssequenz in einem tragbaren Datenträger
EP2367316B1 (en) * 2010-03-12 2017-07-05 STMicroelectronics (Rousset) SAS Method and circuitry for detecting a fault attack
US8619985B2 (en) 2010-04-27 2013-12-31 Research In Motion Limited Table splitting for cryptographic processes
US8539254B1 (en) 2010-06-01 2013-09-17 Xilinx, Inc. Method and integrated circuit for protecting against differential power analysis attacks
US8966253B1 (en) 2010-06-01 2015-02-24 Xilinx, Inc. Method and apparatus for authenticating a programmable device bitstream
US8583944B1 (en) 2010-08-04 2013-11-12 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US8650408B2 (en) 2010-09-08 2014-02-11 Xilinx, Inc. Protecting against differential power analysis attacks on decryption keys
US8832462B2 (en) 2010-09-08 2014-09-09 Xilinx, Inc. Protecting against differential power analysis attacks on sensitive data
TWI406548B (zh) * 2010-10-27 2013-08-21 Univ Southern Taiwan 橢圓曲線加密運算電路
KR20120070873A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 부채널 방지 마스킹 덧셈 연산 장치
US8909941B1 (en) 2011-03-31 2014-12-09 Xilinx, Inc. Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit
EP2535804A1 (en) * 2011-06-17 2012-12-19 Thomson Licensing Fault-resistant exponentiation algorithm
US8525545B1 (en) 2011-08-26 2013-09-03 Lockheed Martin Corporation Power isolation during sensitive operations
US8624624B1 (en) 2011-08-26 2014-01-07 Lockheed Martin Corporation Power isolation during sensitive operations
GB2494731B (en) 2011-09-06 2013-11-20 Nds Ltd Preventing data extraction by sidechannel attack
US8745376B2 (en) 2011-10-14 2014-06-03 Certicom Corp. Verifying implicit certificates and digital signatures
US8635467B2 (en) 2011-10-27 2014-01-21 Certicom Corp. Integrated circuit with logic circuitry and multiple concealing circuits
US8334705B1 (en) 2011-10-27 2012-12-18 Certicom Corp. Analog circuitry to conceal activity of logic circuitry
FR2984553B1 (fr) 2011-12-15 2015-11-06 Proton World Int Nv Procede et dispositif de detection de fautes
US9887833B2 (en) * 2012-03-07 2018-02-06 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channel attacks
DE102012015158A1 (de) * 2012-06-13 2013-12-19 Giesecke & Devrient Gmbh Gegen Ausspähen geschützte kryptographische Berechnung
FR2992509B1 (fr) * 2012-06-21 2017-05-26 Commissariat Energie Atomique Dispositif et procede pour generer une cle de session
KR102013841B1 (ko) 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US9935768B2 (en) 2012-08-06 2018-04-03 Samsung Electronics Co., Ltd. Processors including key management circuits and methods of operating key management circuits
US8891766B2 (en) * 2012-09-28 2014-11-18 Alcatel Lucent Input consistency verification for two-party secure function evaluation
WO2014059547A1 (en) 2012-10-17 2014-04-24 Elliptic Technologies Inc. Cryptographic sequencing system and method
FR2998693B1 (fr) 2012-11-29 2015-03-13 Spirtech Procede de derivation de cles cryptographiques multiples a partir d'une cle maitresse dans un microprocesseur de securite
KR101362675B1 (ko) * 2012-11-30 2014-02-12 한국전자통신연구원 저전력 암호화 장치 및 방법
US9813235B2 (en) 2013-03-11 2017-11-07 Indian Institute of Technology Kharagpur Resistance to cache timing attacks on block cipher encryption
US9959429B2 (en) 2013-03-15 2018-05-01 Cryptography Research, Inc. Asymmetrically masked multiplication
US9009495B2 (en) 2013-06-28 2015-04-14 Envieta, LLC High speed cryptographic combining system, and method for programmable logic devices
FR3010210B1 (fr) * 2013-08-29 2017-01-13 Stmicroelectronics Rousset Protection d'un calcul contre des attaques par canaux caches
EP2884387B1 (en) * 2013-12-13 2016-09-14 Thomson Licensing Efficient modular addition resistant to side-channel attacks
US9509707B2 (en) 2014-06-24 2016-11-29 Qualcomm Incorporated Methods and systems for thwarting side channel attacks
US9774614B2 (en) 2014-06-24 2017-09-26 Qualcomm Incorporated Methods and systems for side channel analysis detection and protection
US9923719B2 (en) 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
US9584320B1 (en) * 2014-12-23 2017-02-28 EMC IP Holding Company LLC Blinding function in elliptic curve cryptography
US10699030B2 (en) 2014-12-30 2020-06-30 Cryptography Research Inc. Determining cryptographic operation masks for improving resistance to external monitoring attacks
US9430676B1 (en) 2015-03-17 2016-08-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Processor related noise encryptor
US10642962B2 (en) 2015-07-28 2020-05-05 Western Digital Technologies, Inc. Licensable function for securing stored data
US20170033927A1 (en) * 2015-07-31 2017-02-02 Hewlett-Packard Development Company, L.P. Key obfuscation
US10333699B1 (en) 2015-09-30 2019-06-25 Cryptography Research, Inc. Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
NL2015745B1 (en) * 2015-11-09 2017-05-26 Koninklijke Philips Nv A cryptographic device arranged to compute a target block cipher.
AT517983B1 (de) * 2015-11-18 2018-11-15 Siemens Ag Oesterreich Schutz eines Computersystems vor Seitenkanalattacken
CN106921486A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 数据加密的方法和装置
EP3437248A4 (en) 2016-03-30 2019-11-06 The Athena Group, Inc. KEY UPDATE FOR KEY MASTERS
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor
EP3264396B1 (en) * 2016-06-28 2022-01-26 Eshard A method for protecting a substitution operation using a substitution table against a side-channel analysis
CN107547193A (zh) 2016-06-28 2018-01-05 埃沙尔公司 使替换运算免受侧信道分析的方法
EP3264311B1 (en) 2016-06-28 2021-01-13 Eshard A protection method and device against a side-channel analysis
US10461925B2 (en) 2016-09-01 2019-10-29 Cryptography Research, Inc. Hardware masked substitution box for the data encryption standard
US10771235B2 (en) * 2016-09-01 2020-09-08 Cryptography Research Inc. Protecting block cipher computation operations from external monitoring attacks
US10459690B1 (en) * 2017-01-16 2019-10-29 Securerf Corporation Side channel attack prevention
US10680798B2 (en) * 2017-02-15 2020-06-09 Nxp Usa, Inc. Masking storage transfer to protect against attacks
US10262127B2 (en) 2017-04-05 2019-04-16 General Electric Company Systems and method for securely sharing and executing data and models
US10997322B2 (en) 2017-05-22 2021-05-04 Arm Limited Efficient power distribution
US10924261B2 (en) 2017-05-22 2021-02-16 Arm Limited Efficient power distribution
US10489585B2 (en) 2017-08-29 2019-11-26 Red Hat, Inc. Generation of a random value for a child process
DE102018100357A1 (de) * 2018-01-09 2019-07-11 Infineon Technologies Ag Chip und verfahren zum sicheren speichern von geheimen daten
US11218291B2 (en) * 2018-02-26 2022-01-04 Stmicroelectronics (Rousset) Sas Method and circuit for performing a substitution operation
US11863670B2 (en) * 2019-04-22 2024-01-02 Cryptography Research, Inc. Efficient side-channel-attack-resistant memory encryptor based on key update
FR3096206A1 (fr) * 2019-05-17 2020-11-20 Stmicroelectronics (Grenoble 2) Sas Dispositif de protection de donnees masquees et procede associe
IL294643A (en) * 2020-01-10 2022-09-01 Zeu Tech Inc A method for symmetric asynchronous generative encryption
US11133922B1 (en) * 2020-04-15 2021-09-28 Sap Se Computation-efficient secret shuffle protocol for encrypted data based on homomorphic encryption
US11741227B2 (en) 2021-06-22 2023-08-29 Intel Corporation Platform security mechanism
US11394308B1 (en) 2021-05-05 2022-07-19 Arm Limited Apparatuses and methods for power isolation
US20210312045A1 (en) * 2021-06-22 2021-10-07 Intel Corporation Integrated circuit side-channel mitigation mechanism

Family Cites Families (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2733432A (en) 1956-01-31 Breckman
FR561910A (ja) 1922-02-11 1923-10-30
US4214126A (en) 1945-04-30 1980-07-22 Rca Corporation Cadence suppression system
US2632058A (en) 1946-03-22 1953-03-17 Bell Telephone Labor Inc Pulse code communication
US3816762A (en) 1973-01-02 1974-06-11 Fairchild Camera Instr Co Noise suppression circuit
US4107458A (en) 1976-08-23 1978-08-15 Constant James N Cipher computer and cryptographic system
US4243890A (en) 1976-08-23 1981-01-06 Miller Bruce J Isolator/switching assembly for data processing terminal
US4139839A (en) 1977-03-18 1979-02-13 Nasa Digital data reformatter/deserializer
FR2401459A1 (fr) 1977-08-26 1979-03-23 Cii Honeywell Bull Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable
US4295041A (en) 1977-08-26 1981-10-13 Compagnie Internationale Pour L'informatique Cii-Honeywell Bull (Societe Anonyme) Device for the protection of access to a permanent memory of a portable data carrier
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4202051A (en) 1977-10-03 1980-05-06 Wisconsin Alumni Research Foundation Digital data enciphering and deciphering circuit and method
CH623271A5 (ja) 1977-11-15 1981-05-29 Hasler Ag
US4203166A (en) 1977-12-05 1980-05-13 International Business Machines Corporation Cryptographic file security for multiple domain networks
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4309569A (en) 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US4369332A (en) 1979-09-26 1983-01-18 Burroughs Corporation Key variable generator for an encryption/decryption device
US4268898A (en) 1980-03-20 1981-05-19 Lorain Products Corporation Semiconductor switching circuit with clamping and energy recovery features
DE3127843A1 (de) 1981-07-15 1983-05-26 AEG-Telefunken Nachrichtentechnik GmbH, 7150 Backnang Verfahren zur verhinderung von "kompromittierender abstrahlung" bei der verarbeitung und uebertragung geheimer dateninformationen
JPS58187015A (ja) 1982-04-26 1983-11-01 Nippon Telegr & Teleph Corp <Ntt> スイツチト・キヤパシタ回路
US4605921A (en) 1983-06-20 1986-08-12 Riddle Herbert S Digital word-framing technique and system
US4569052A (en) 1983-07-14 1986-02-04 Sperry Corporation Coset code generator for computer memory protection
US4759063A (en) 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4776011A (en) 1983-10-24 1988-10-04 Sony Corporation Recursive key schedule cryptographic system
US4605820A (en) 1983-11-10 1986-08-12 Visa U.S.A. Inc. Key management system for on-line communication
US4570084A (en) 1983-11-21 1986-02-11 International Business Machines Corporation Clocked differential cascode voltage switch logic systems
US4799258A (en) 1984-02-13 1989-01-17 National Research Development Corporation Apparatus and methods for granting access to computers
NL8401989A (nl) 1984-06-22 1986-01-16 Nederlanden Staat Video-eindstation met beeldlijnverhaspeling.
JPS61102167A (ja) 1984-10-23 1986-05-20 Yokogawa Hokushin Electric Corp Dc/dcコンバ−タ
US4661658A (en) 1985-02-12 1987-04-28 International Business Machines Corporation Offline PIN validation with DES
US4686392A (en) 1985-10-30 1987-08-11 International Business Machines Corporation Multi-functional differential cascode voltage switch logic
GB8608172D0 (en) 1986-04-03 1986-05-08 Walker S M Computer security devices
FR2600183B1 (fr) 1986-06-13 1990-10-12 Eurotechnique Sa Circuit integre pour la memorisation et le traitement d'informations de maniere confidentielle comportant un dispositif anti-fraude
US4937866A (en) 1986-08-13 1990-06-26 U.S. Philips Corporation System for decoding transmitted scrambled signals
JPS6370550A (ja) 1986-09-12 1988-03-30 Nec Corp 半導体集積回路装置
US5341423A (en) 1987-02-06 1994-08-23 General Electric Company Masked data transmission system
FR2617976B1 (fr) 1987-07-10 1989-11-10 Thomson Semiconducteurs Detecteur electrique de niveau logique binaire
DE3878348D1 (de) 1987-08-14 1993-03-25 Siemens Ag Datenuebertragungsverfahren.
JPH01114995A (ja) 1987-10-29 1989-05-08 Toppan Printing Co Ltd Icカード
JP2698588B2 (ja) 1987-11-13 1998-01-19 株式会社東芝 携帯可能電子装置
US5412379A (en) 1988-05-27 1995-05-02 Lectron Products, Inc. Rolling code for a keyless entry system
JPH022475A (ja) 1988-06-15 1990-01-08 Omron Tateisi Electron Co Icカード
NO165698C (no) 1988-07-05 1991-03-20 System Sikkerhet As System for beskyttelse mot avlytting av digitalt utstyr.
DE3825880C1 (de) 1988-07-29 1995-12-21 Siemens Ag Schlüsseleinrichtung
GB8819767D0 (en) 1988-08-19 1989-07-05 Ncr Co Public key diversification method
US4932057A (en) 1988-10-17 1990-06-05 Grumman Aerospace Corporation Parallel transmission to mask data radiation
US4905176A (en) 1988-10-28 1990-02-27 International Business Machines Corporation Random number generator circuit
FR2638869B1 (fr) 1988-11-10 1990-12-21 Sgs Thomson Microelectronics Dispositif de securite contre la detection non autorisee de donnees protegees
US5293029A (en) 1989-01-17 1994-03-08 Kabushiki Kaisha Toshiba System for mutually certifying an IC card and an IC card terminal
SE462935B (sv) 1989-01-30 1990-09-17 Cominvest Res Ab Saett och anordning foer hindrande av extern detektering av signalinformation
US5181243A (en) 1989-05-19 1993-01-19 Syntellect, Inc. System and method for communications security protection
NL8901323A (nl) * 1989-05-26 1990-12-17 Nederland Ptt Werkwijze voor het vercijferen van een reeks telkens uit tenminste een symbool bestaande boodschappen.
US5086467A (en) 1989-05-30 1992-02-04 Motorola, Inc. Dummy traffic generation
FR2651347A1 (fr) 1989-08-22 1991-03-01 Trt Telecom Radio Electr Procede de generation de nombre unique pour carte a microcircuit et application a la cooperation de la carte avec un systeme hote.
US5412730A (en) 1989-10-06 1995-05-02 Telequip Corporation Encrypted data transmission system employing means for randomly altering the encryption keys
US5136643A (en) 1989-10-13 1992-08-04 Fischer Addison M Public/key date-time notary facility
IT1238529B (it) 1989-11-10 1993-08-18 Data Protection Srl Dispositivo di protezione per computer e simili, atto ad impedire la cattura, la registrazione e l'uso indebito di dati dai medesimi duran-te il loro funzionamento e a proteggerli da disturbi transitori, ad e-levato contenuto energetico, verificantisi sulla rete a corrente alternata di alimentazione.
US5249294A (en) 1990-03-20 1993-09-28 General Instrument Corporation Determination of time of execution of predetermined data processing routing in relation to occurrence of prior externally observable event
GB2242797B (en) 1990-04-07 1993-12-08 Ferranti Int Plc Signal generation using digital-to-analogue conversion
US5177430A (en) 1990-04-19 1993-01-05 Moshe Mohel Circuit for securing a power supply
CA2044051A1 (en) 1990-06-29 1991-12-30 Paul C. Wade System and method for error detection and reducing simultaneous switching noise
US5136646A (en) 1991-03-08 1992-08-04 Bell Communications Research, Inc. Digital document time-stamping with catenate certificate
JPH0778975B2 (ja) 1990-09-27 1995-08-23 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 光学ディスク駆動装置
FR2667715A1 (fr) 1990-10-09 1992-04-10 Gemplus Card Int Procede et dispositif pour accroitre la protection d'une carte a memoire.
US5144667A (en) 1990-12-20 1992-09-01 Delco Electronics Corporation Method of secure remote access
US5149992A (en) 1991-04-30 1992-09-22 The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University MOS folded source-coupled logic
US5241598A (en) 1991-05-22 1993-08-31 Ericsson Ge Mobile Communications, Inc. Rolling key resynchronization in cellular verification and validation system
SE500276C2 (sv) 1991-06-24 1994-05-24 Shield Research In Sweden Ab Förfarande och anordning för att förhindra extern detektering av signalinformation
US5142578A (en) 1991-08-22 1992-08-25 International Business Machines Corporation Hybrid public key algorithm/data encryption algorithm key distribution method based on control vectors
US5159632A (en) 1991-09-17 1992-10-27 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
EP0605618A4 (en) 1991-09-23 1998-05-13 Microsystems Z Enhanced security system for computing devices.
JP3083187B2 (ja) 1991-09-30 2000-09-04 富士通株式会社 電子財布システムの鍵管理方式
DE69311596T2 (de) 1992-02-27 1998-01-02 Philips Electronics Nv Integrierte CMOS-Schaltung
JP2821306B2 (ja) 1992-03-06 1998-11-05 三菱電機株式会社 Icカードと端末機との間の認証方法およびそのシステム
IT1259383B (it) 1992-04-02 1996-03-12 Dispositivo di protezione per computer e simili
US5600324A (en) 1992-05-11 1997-02-04 Rockwell International Corporation Keyless entry system using a rolling code
US5268962A (en) 1992-07-21 1993-12-07 Digital Equipment Corporation Computer network with modified host-to-host encryption keys
US5297201A (en) 1992-10-13 1994-03-22 J.D. Technologies, Inc. System for preventing remote detection of computer data from tempest signal emissions
FR2704081B1 (fr) 1993-04-16 1995-05-19 France Telecom Procédé de mise à jour d'une carte à mémoire et carte à mémoire pour la mise en Óoeuvre de ce procédé.
CA2162125C (en) 1993-05-05 2005-09-20 Zunquan Liu A repertoire of mappings for a cryptosystem
US5297207A (en) * 1993-05-24 1994-03-22 Degele Steven T Machine generation of cryptographic keys by non-linear processes similar to processes normally associated with encryption of data
BR9406733A (pt) 1993-06-02 2000-04-25 Verifone Inc Sistema e processo para a reavaliação de indicações armazenadas em carões ic.
US5483598A (en) 1993-07-01 1996-01-09 Digital Equipment Corp., Patent Law Group Message encryption using a hash function
US5914471A (en) 1993-07-20 1999-06-22 Koninklijke Ptt Nederland N.V. Method and apparatus for recording usage data of card operated devices
JP2750072B2 (ja) 1993-07-27 1998-05-13 松下電工株式会社 電力変換装置
US5399996A (en) 1993-08-16 1995-03-21 At&T Global Information Solutions Company Circuit and method for minimizing electromagnetic emissions
WO1995008885A1 (en) 1993-09-20 1995-03-30 International Business Machines Corporation System and method for changing the key or password in a secure distributed communications network
US5369706A (en) 1993-11-05 1994-11-29 United Technologies Automotive, Inc. Resynchronizing transmitters to receivers for secure vehicle entry using cryptography or rolling code
US5710834A (en) 1995-05-08 1998-01-20 Digimarc Corporation Method and apparatus responsive to a code signal conveyed through a graphic image
US5515438A (en) 1993-11-24 1996-05-07 International Business Machines Corporation Quantum key distribution using non-orthogonal macroscopic signals
FR2713419B1 (fr) 1993-12-02 1996-07-05 Gemplus Card Int Procédé de génération de signatures DSA avec des appareils portables à bas coûts.
EP0656708A1 (en) 1993-12-03 1995-06-07 International Business Machines Corporation System and method for the transmission and validation of an updated encryption key between two users
US5404402A (en) 1993-12-21 1995-04-04 Gi Corporation Clock frequency modulation for secure microprocessors
JP3029381B2 (ja) 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US5434919A (en) 1994-01-11 1995-07-18 Chaum; David Compact endorsement signature systems
US5631492A (en) 1994-01-21 1997-05-20 Motorola Standard cell having a capacitor and a power supply capacitor for reducing noise and method of formation
US5668878A (en) 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5412723A (en) 1994-03-01 1995-05-02 International Business Machines Corporation Mechanism for keeping a key secret from mobile eavesdroppers
US5420925A (en) 1994-03-03 1995-05-30 Lectron Products, Inc. Rolling code encryption process for remote keyless entry system
JPH07322602A (ja) 1994-05-23 1995-12-08 Fujitsu Ltd 電源装置
US5551013A (en) 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
US5414614A (en) 1994-06-06 1995-05-09 Motorola, Inc. Dynamically configurable switched capacitor power supply and method
US5506905A (en) 1994-06-10 1996-04-09 Delco Electronics Corp. Authentication method for keyless entry system
EP0693836A1 (en) 1994-06-10 1996-01-24 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols.
US5546463A (en) 1994-07-12 1996-08-13 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5511123A (en) 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption
US5557346A (en) 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for key escrow encryption
US5600273A (en) 1994-08-18 1997-02-04 Harris Corporation Constant delay logic circuits and methods
US5514982A (en) 1994-08-18 1996-05-07 Harris Corporation Low noise logic family
BE1008699A3 (fr) 1994-09-09 1996-07-02 Banksys Procede et agencement pour donner selectivement un acces dans un systeme de securite.
US5663896A (en) 1994-09-22 1997-09-02 Intel Corporation Broadcast key distribution apparatus and method using Chinese Remainder
US5633930A (en) 1994-09-30 1997-05-27 Electronic Payment Services, Inc. Common cryptographic key verification in a transaction network
US5544086A (en) 1994-09-30 1996-08-06 Electronic Payment Services, Inc. Information consolidation within a transaction network
US5559887A (en) 1994-09-30 1996-09-24 Electronic Payment Service Collection of value from stored value systems
US5636157A (en) 1994-10-03 1997-06-03 International Business Machines Corporation Modular 64-bit integer adder
US5737419A (en) 1994-11-09 1998-04-07 Bell Atlantic Network Services, Inc. Computer system for securing communications using split private key asymmetric cryptography
JP2825064B2 (ja) 1994-12-19 1998-11-18 株式会社日本自動車部品総合研究所 暗号化装置
US5602917A (en) 1994-12-30 1997-02-11 Lucent Technologies Inc. Method for secure session key generation
CN1096186C (zh) * 1994-12-30 2002-12-11 汤姆森消费电子有限公司 具有自动回叫装置的调制解调器
US5625692A (en) 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
DE19505097C1 (de) 1995-02-15 1996-06-05 Siemens Ag Verschlüsselungsvorrichtung
US5483182A (en) 1995-03-06 1996-01-09 Motorola, Inc. Method and apparatus for a DC-DC converter an current limiting thereof
DE19511298B4 (de) 1995-03-28 2005-08-18 Deutsche Telekom Ag Verfahren zur Erteilung und zum Entzug der Berechtigung zum Empfang von Rundfunksendungen und Decoder
IL113375A (en) 1995-04-13 1997-09-30 Fortress U & T Ltd Internationally regulated system for one to one cryptographic communications with national sovereignty without key escrow
US5796836A (en) * 1995-04-17 1998-08-18 Secure Computing Corporation Scalable key agile cryptography
US5638444A (en) 1995-06-02 1997-06-10 Software Security, Inc. Secure computer communication method and system
US5778074A (en) 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
CA2179971C (en) 1995-06-30 2001-10-30 Takahisa Yamamoto An adaptable communication apparatus and an adaptable communication system
US5727062A (en) 1995-07-06 1998-03-10 Ritter; Terry F. Variable size block ciphers
US5812669A (en) * 1995-07-19 1998-09-22 Jenkins; Lew Method and system for providing secure EDI over an open network
FR2738970B1 (fr) 1995-09-19 1997-10-10 Schlumberger Ind Sa Procede de determination d'une cle diversifiee associee a un circuit integre
FR2738971B1 (fr) 1995-09-19 1997-10-10 Schlumberger Ind Sa Procede de determination d'une cle de cryptage associee a un circuit integre
JP3336826B2 (ja) 1995-09-29 2002-10-21 株式会社デンソー 盗難防止装置
FR2739469B1 (fr) 1995-10-03 1997-12-26 Gemplus Card Int Procede de cryptographie a cle publique base sur le logarithme discret
NL1001659C2 (nl) 1995-11-15 1997-05-21 Nederland Ptt Werkwijze voor het afwaarderen van een elektronisch betaalmiddel.
US5727063A (en) 1995-11-27 1998-03-10 Bell Communications Research, Inc. Pseudo-random generator
US5838794A (en) * 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems
US5637929A (en) 1996-01-16 1997-06-10 Ford Motor Company Method and apparatus for enhanced vehicle protection
JP3504050B2 (ja) 1996-01-26 2004-03-08 株式会社東芝 べき乗剰余演算方法及び装置
US6453296B1 (en) 1996-01-31 2002-09-17 Canon Kabushiki Kaisha Electronic credit system and communication apparatus
FR2745135B1 (fr) 1996-02-15 1998-09-18 Cedric Colnot Procede pour faire autoriser par un serveur l'acces a un service a partir de dispositifs portatifs a microcircuits electroniques du type carte a memoire par exemple
FR2745099B1 (fr) 1996-02-19 1998-03-27 Sgs Thomson Microelectronics Procede de sequencement d'un circuit integre
US5761306A (en) 1996-02-22 1998-06-02 Visa International Service Association Key replacement in a public key cryptosystem
FR2745924B1 (fr) 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
JP3525209B2 (ja) 1996-04-05 2004-05-10 株式会社 沖マイクロデザイン べき乗剰余演算回路及びべき乗剰余演算システム及びべき乗剰余演算のための演算方法
US5778069A (en) 1996-04-10 1998-07-07 Microsoft Corporation Non-biased pseudo random number generator
US5835599A (en) 1996-04-15 1998-11-10 Vlsi Technology, Inc. Muti-cycle non-parallel data encryption engine
EP0810295B1 (en) * 1996-05-29 2004-12-01 Sumitomo Metal Industries, Ltd. Use of a stainless steel in or for containing ozone added water
CA2177622A1 (en) * 1996-05-29 1997-11-30 Thierry Moreau Cryptographic data integrity apparatus and method based on pseudo-random bit generators
US5764766A (en) 1996-06-11 1998-06-09 Digital Equipment Corporation System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same
US5859548A (en) 1996-07-24 1999-01-12 Lg Semicon Co., Ltd. Charge recycling differential logic (CRDL) circuit and devices using the same
US5745577A (en) 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption
EP0831433A1 (en) 1996-09-24 1998-03-25 Koninklijke KPN N.V. Method of making recoverable smart card transactions, a method of recovering such a transaction, as well as a smart card allowing recoverable transactions
JP2000502551A (ja) 1996-10-23 2000-02-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 移動通信サービスの料金支払方式
EP0840477B1 (en) 1996-10-31 2012-07-18 Panasonic Corporation Secret key transfer method which is highly secure and can restrict the damage caused when the secret key is leaked or decoded
GB9624127D0 (en) 1996-11-20 1997-01-08 British Telecomm Transaction system
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US5848159A (en) 1996-12-09 1998-12-08 Tandem Computers, Incorporated Public key cryptographic apparatus and method
US5821775A (en) 1996-12-27 1998-10-13 Intel Corporation Method and apparatus to interface monotonic and non-monotonic domino logic
WO1998031122A1 (en) 1997-01-08 1998-07-16 Bell Communications Research, Inc. A method and apparatus for generating secure hash functions
US6690795B1 (en) * 1997-03-04 2004-02-10 Lucent Technologies Inc. Multiple keys for decrypting data in restricted-access television system
US6049613A (en) * 1997-03-07 2000-04-11 Jakobsson; Markus Method and apparatus for encrypting, decrypting, and providing privacy for data values
US5995624A (en) 1997-03-10 1999-11-30 The Pacid Group Bilateral authentication and information encryption token system and method
WO1998040982A1 (en) 1997-03-12 1998-09-17 Visa International Secure electronic commerce employing integrated circuit cards
AUPO799197A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
GB9707349D0 (en) 1997-04-11 1997-05-28 Univ Waterloo A dynamic current mode logic family
EP1008026B1 (en) 1997-05-04 2007-09-05 M-Systems Flash Disk Pioneers Ltd. Improved apparatus & method for modular multiplication & exponentiation based on montgomery multiplication
US6748410B1 (en) 1997-05-04 2004-06-08 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
US5991415A (en) 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US5917754A (en) 1997-05-21 1999-06-29 Atmel Corporation Semiconductor memory having a current balancing circuit
US5905399A (en) 1997-06-30 1999-05-18 Sun Microsystems, Inc. CMOS integrated circuit regulator for reducing power supply noise
AU8644098A (en) * 1997-08-08 1999-03-01 Jonathan Stiebel New operation for key insertion with folding
US6003014A (en) 1997-08-22 1999-12-14 Visa International Service Association Method and apparatus for acquiring access using a smart card
US6128391A (en) 1997-09-22 2000-10-03 Visa International Service Association Method and apparatus for asymetric key management in a cryptographic system
US6064740A (en) * 1997-11-12 2000-05-16 Curiger; Andreas Method and apparatus for masking modulo exponentiation calculations in an integrated circuit
US6345359B1 (en) 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US6041412A (en) * 1997-11-14 2000-03-21 Tl Technology Rerearch (M) Sdn. Bhd. Apparatus and method for providing access to secured data or area
US6090153A (en) 1997-12-05 2000-07-18 International Business Machines Corporation Multi-threshold-voltage differential cascode voltage switch (DCVS) circuits
US6046608A (en) 1997-12-08 2000-04-04 Intel Corporation Differential precharge circuit
US6448981B1 (en) 1997-12-09 2002-09-10 International Business Machines Corporation Intermediate user-interface definition method and system
US6046931A (en) 1997-12-11 2000-04-04 Evsx, Inc. Method and apparatus for a RAM circuit having N-nary output interface
US6066965A (en) 1997-12-11 2000-05-23 Evsx, Inc. Method and apparatus for a N-nary logic circuit using 1 of 4 signals
US6211456B1 (en) 1997-12-11 2001-04-03 Intrinsity, Inc. Method and apparatus for routing 1 of 4 signals
US6185685B1 (en) * 1997-12-11 2001-02-06 International Business Machines Corporation Security method and system for persistent storage and communications on computer network systems and computer network systems employing the same
US6069497A (en) 1997-12-11 2000-05-30 Evsx, Inc. Method and apparatus for a N-nary logic circuit using 1 of N signals
US6107835A (en) 1997-12-11 2000-08-22 Intrinsity, Inc. Method and apparatus for a logic circuit with constant power consumption
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
ATE429748T1 (de) 1998-01-02 2009-05-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
US6226750B1 (en) * 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
US6101477A (en) 1998-01-23 2000-08-08 American Express Travel Related Services Company, Inc. Methods and apparatus for a travel-related multi-function smartcard
US6041122A (en) 1998-02-27 2000-03-21 Intel Corporation Method and apparatus for hiding crytographic keys utilizing autocorrelation timing encoding and computation
FR2776445A1 (fr) 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
FR2776410B1 (fr) 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
US6336188B2 (en) 1998-05-01 2002-01-01 Certicom Corp. Authenticated key agreement protocol
BR9910802A (pt) 1998-05-29 2001-02-13 Infineon Technologies Ag Processo e dispositivo para o processamento de dados
DE69936856T2 (de) 1998-06-03 2008-04-30 Cryptography Research Inc., San Francisco Ausgewogene kryptographische rechenmethode und apparat zur schlupfminimierung in smartcards und anderen kryptosystemen
EP2031792B1 (en) 1998-06-03 2013-01-09 Cryptography Research Inc. Secure modular exponentiation with leak minimization for smartcards and other cryptosystems
AU5203899A (en) 1998-06-03 1999-12-20 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
JP2002519722A (ja) 1998-06-03 2002-07-02 クリプターグラフィー リサーチ インコーポレイテッド スマートカードおよび他の暗号システム用の、漏洩を最小に抑える、改良desおよび他の暗号プロセス
US5998978A (en) 1998-06-29 1999-12-07 Motorola, Inc. Apparatus and method for reducing energy fluctuations in a portable data device
US6075865A (en) 1998-07-01 2000-06-13 Tecsec Incorporated Cryptographic communication process and apparatus
JP4216475B2 (ja) 1998-07-02 2009-01-28 クリプターグラフィー リサーチ インコーポレイテッド 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
FR2796738B1 (fr) 1999-07-22 2001-09-14 Schlumberger Systems & Service Micro-controleur securise contre les attaques en courant
US6289455B1 (en) 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
GB2371460B (en) 2001-01-19 2004-12-22 Pixelfusion Ltd Computer graphics

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182012A (ja) * 1998-12-14 2000-06-30 Hitachi Ltd 情報処理装置、端タンパ処理装置
JP2003535538A (ja) * 2000-05-31 2003-11-25 フランス テレコム スマートカード用暗号化方法と装置、及び超小型回路を有するスマートカード
JP2012133390A (ja) * 2000-05-31 2012-07-12 Fr Telecom スマートカード用暗号化方法と装置、及び超小型回路を有するスマートカード
JP2004078976A (ja) * 2003-09-12 2004-03-11 Hitachi Ltd 情報処理装置、耐タンパ処理装置
JP2005236977A (ja) * 2004-02-19 2005-09-02 Samsung Electronics Co Ltd 電力分析攻撃に安全な基本演算装置および方法
US7724897B2 (en) 2005-04-28 2010-05-25 Panasonic Corporation Program converter, encrypting device, and encrypting method
JP2008233941A (ja) * 2005-04-28 2008-10-02 Matsushita Electric Ind Co Ltd 暗号処理装置および暗号処理方法
US8184805B2 (en) 2005-04-28 2012-05-22 Panasonic Corporation Program converter, encrypting device, and encrypting method
WO2006118086A1 (ja) * 2005-04-28 2006-11-09 Matsushita Electric Industrial Co., Ltd. プログラム変換装置、暗号処理装置、暗号処理方法
WO2007052491A1 (ja) * 2005-10-31 2007-05-10 Matsushita Electric Industrial Co., Ltd. セキュア処理装置、セキュア処理方法、難読化秘密情報埋め込み方法、プログラム、記憶媒体および集積回路
US8656175B2 (en) 2005-10-31 2014-02-18 Panasonic Corporation Secure processing device, secure processing method, encrypted confidential information embedding method, program, storage medium, and integrated circuit
JP2008217033A (ja) * 2008-04-21 2008-09-18 Fujitsu Ltd 秘密鍵を用いた耐タンパ楕円曲線暗号処理
JP2012519987A (ja) * 2009-03-06 2012-08-30 イントリンシツク・イー・デー・ベー・ベー 物理的システムに依存する暗号鍵を確立するためのシステム
US9252960B2 (en) 2009-03-06 2016-02-02 Intrinsic Id B.V. System for establishing a cryptographic key depending on a physical system
US8861720B2 (en) 2010-07-28 2014-10-14 The Ritsumeikan Trust Tamper-resistant memory integrated circuit and encryption circuit using same
US9773111B2 (en) 2012-08-14 2017-09-26 Empire Technology Development Llc Software-based side-channel attack prevention

Also Published As

Publication number Publication date
US7787620B2 (en) 2010-08-31
CA2333095C (en) 2005-05-10
IL139935A0 (en) 2002-02-10
IL139935A (en) 2005-06-19
US7668310B2 (en) 2010-02-23
US6278783B1 (en) 2001-08-21
WO1999067919A3 (en) 2000-03-23
US20010053220A1 (en) 2001-12-20
WO1999067919A2 (en) 1999-12-29
EP1090480A2 (en) 2001-04-11
AU6381699A (en) 2000-01-10
US20060045264A1 (en) 2006-03-02
EP1090480B1 (en) 2019-01-09
EP1090480A4 (en) 2005-06-15
CA2333095A1 (en) 1999-12-29

Similar Documents

Publication Publication Date Title
US6278783B1 (en) Des and other cryptographic, processes with leak minimization for smartcards and other cryptosystems
EP1084543B1 (en) Using unpredictable informaion to minimize leakage from smartcards and other cryptosystems
US9419790B2 (en) Differential power analysis—resistant cryptographic processing
CN100390695C (zh) 更少信息泄露的设备与方法
US8296577B2 (en) Cryptographic bus architecture for the prevention of differential power analysis
US7194633B2 (en) Device and method with reduced information leakage
US20040025032A1 (en) Method and system for resistance to statiscal power analysis
EA003874B1 (ru) Способ обработки данных, устойчивый к извлечению данных с помощью анализа непреднамеренных сигналов побочного ввода-вывода
EP1933496A2 (en) Improved DES and other cryptographic processes with leak minimization for smartcards and other cryptosystems
EP1926241A2 (en) Using unpredictable information to minimize leakage from smartcards and other cryptosystems
AU2002348963A1 (en) Device and method with reduced information leakage
CA2397615A1 (en) Method and system for resistance to statistical power analysis

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041228

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

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071204

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080402

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080414

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080613

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110113

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110215

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110221

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7431

Effective date: 20110404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110902

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110907

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111003

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111006

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120312

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120517

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120530

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120530