JP2008516502A - 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成 - Google Patents
命令の暗号セットを自動的に生成する方法および装置ならびにコード生成 Download PDFInfo
- Publication number
- JP2008516502A JP2008516502A JP2007535265A JP2007535265A JP2008516502A JP 2008516502 A JP2008516502 A JP 2008516502A JP 2007535265 A JP2007535265 A JP 2007535265A JP 2007535265 A JP2007535265 A JP 2007535265A JP 2008516502 A JP2008516502 A JP 2008516502A
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- instructions
- random
- cryptographic
- pseudo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
Description
1)数学では、「秘密アルゴリズム」を作り出すことはできない。知られていないビットの仕様を有するいかなるアルゴリズムも秘密であり、何らかのエントロピーを有する。このレベルでは、作り出すべきノントリビアルなことは何もない。
2)暗号学では、攻撃者がアルゴリズムと対話することができるようになるので、アルゴリズムの秘密性の表記が重要になる。何らかの部分的な情報が利用可能なので、アルゴリズムがどの程度本当に秘密であるかという複雑な問題を研究しなければならない。秘密であるアルゴリズムもあり、熟練した攻撃者によって部分的にまたは全体的に復元されることができるアルゴリズムもある。多くの場合、アルゴリズムはノントリビアルな数学的方法によって復元され、あるアルゴリズムではそのような方法は存在しないことをどのように証明するかは知られていない。期限切れのRSA暗号システムに関するRivest‐Shamir‐Adlemanの米国特許も、暗号化アルゴリズムの秘密性に関する特許である。確かに、暗号化アルゴリズムを公開し、それでもなお復号アルゴリズムを秘密にしておく、知られている唯一の方法については、しばらくの間であった。今日まで、この目的(すなわち、公開鍵暗号化を実現すること)を達成する方法はほとんどなく、新規のものを発明することは高度にノントリビアルな仕事である。これは、アルゴリズムの秘密性は達成するのが非常に難しい目的であることを示す。
3)組み込み暗号学では、たとえば、暗号アルゴリズムがスマートカードに実装された場合、それはやはり、さらにいっそう制約された新しい世界である。この場合、セキュリティと同様に、アルゴリズムの秘密性は実現するのはさらにいっそう難しい。これは、敵がアルゴリズムの機能へのアクセスを有する場合(ポイント2参照)だけでなく、サイドチャネルが利用可能な場合にも、その秘密性は持続しなければならないからである。
命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップを生成すること、ならびに
前記シーケンスを、アルゴリズムのセキュリティを処理する安全な暗号アルゴリズムと組み合わせること
を含む方法に関する。
1.自動的かつ無人で暗号アルゴリズムを生成すること。
2.生成されるアルゴリズムの高多様性。本発明では、暗号アルゴリズムのデータが多様化されるばかりでなく、命令も多様化される。これはサイドチャネル解析に対する保護エリア内のプレミアである。
3.アルゴリズムのデータおよび命令を含むアルゴリズムの秘密性。
4.攻撃者が、多くの生成されたアルゴリズムの完全な記述からでさえ、同じ生成デバイスによって生成された他のアルゴリズムに関する攻撃者にとって有用な知識を何も得ることができないこと。
5.シードから決定論的にアルゴリズムを生成することができること。これは、生成されたアルゴリズムのデータベースを保持することを回避し、生成モジュールの(インサイダー)および攻撃者が暗号アルゴリズムを「盗む」ことができる速度を制限することができるようにする。
6.生成デバイスの使用ごとに、生成されるアルゴリズムのサイズを、ターゲットプラットフォーム上で利用可能なメモリと同じくらい大きいように、すなわちできる限り大きいように選択することができること。
7.生成デバイスの使用ごとに、生成されるアルゴリズムの速度がターゲットプラットフォームの計算能力を超えないように選択することができること。
8.現在のニーズに対して生成されるアルゴリズムの暗号セキュリティのレベルができる限り強いように、しかもなお暗号の使用に関する国内規制および輸出規制を超えないように調整することができること。
9.生成デバイスの設計時現在にのみ、ターゲットプラットフォームのサイドチャネル脆弱性に適応するように生成されるアルゴリズムの命令セットを選択することができること。
10.アルゴリズムのセキュリティを確実にするために、暗号解読者に与えられなくてもよい暗号アルゴリズムを生成すること。
1)次いで、本方法は、提供される場合は前記シードから一連の乱数を生成することにある(ステップ1)。
2)次いで、アルゴリズムが、命令の(ある意味で)擬似ランダムシーケンスであるルーチンを生成する(ステップ2)。
3)次いで、アルゴリズムが、これらのシーケンスを集計して全単射ルーチンを形成する(このステップ3は任意選択であり、全ての暗号アルゴリズムが全単射でなければならないわけではない)。
4)次いで、ステップ4では、「暗号アルゴリズム生成」を実行する。
5)次いで、最終アルゴリズムをいくつかの所望のフォーマットに変換し、興味のある派生データを生成する(ステップ5)。
ステップ1)第1ステップは初期化ルーチンを含む。任意選択の(しかし非常に有用な)要素は、本発明の装置の特性および第1(任意選択の)パラメータのストリングとして定義されるシードである。原則として、前記シードは、それをランダムビットの随意の長さのストリングに拡張するために擬似乱数発生器で使用される。代替として、シードが提供されない場合は、本プログラムで使用される任意選択性は、他のソース(たとえば内部乱数発生器)から来てもよい。本プログラムの第2パラメータは、生成されるアルゴリズムで使用されることができる初等関数の総数である(任意選択でもあり、固定でもよい)。このパラメータは、生成されるアルゴリズムのサイズ、実行速度、および暗号の複雑さを決定する。次いで、ステップ1で得られたストリングからランダムコインを取ることを除いて、完全に決定論的である(任意選択の)「全単射関数生成アルゴリズム」を適用する。出力は1つまたは複数の全単射関数である。これらの関数の逆関数(たとえば暗号化ルーチンと共に復号ルーチン)は、同時に生成されてもよい。
ステップ2)本方法は、基本命令の固定セットおよび規則の固定セットに従って擬似ランダムにまたはランダムに選択された命令のシーケンスであるルーチンを生成するアルゴリズムを実行する。命令はランダムに選択されるが、一様でなくてもよい一定の確率分布に従う、すなわち、生成デバイスをセットアップまたはパーソナライズする者は、ある命令をより頻繁に現れるように、他の命令をそれほど頻繁に現れないようにするために、ターゲットプラットフォームの命令を知る権利を有する。本方法は以下のように行われる。1つまたは複数の規則は、この命令または他の命令がこの確率で選択されること、および、どの種類の入力を使用することを許可されるかを述べる。たとえば、1つのタイプの命令では、入力は、ランダムにまたは擬似ランダムに選択され、初期変数のうちの1つか前の中間結果のうちの1つかのいずれかであるか、または前の関数による結果として得られるか、あるいはランダムにまたは擬似ランダムに選択された定数であることが明記される。命令は関数ごとにおよび場合ごとに、ある固定確率で実現される。規則は単に、上記で列挙された全ての場合に関して定義された1組の確率を指定するだけである(関数および定数の選択、ならびにそれらの順序は、ステップ1で生成された擬似ランダムストリングによって決定される)。明確な規則はまた、各関数に関して、どんな種類の引数をどんな確率で受け取るかを指定する。たとえば8ビットの足し算では、第1引数は、1任意定数あたり確率0.5であり、計算中に全ての入力変数および前の中間値の間で確率0.5で任意に選択されることを必要としてもよい。第2引数は常に中間値の1つとして選択され、1つもない場合は、初期変数が任意に選択される。
ステップ3)次いで、本プロセスは、全単射ルーチンを生成するためにステップ2からシーケンスを集計する「全単射関数生成アルゴリズム」を実行し(このステップ3は任意選択である)、これを実現する方法はまた、後ほど説明される、知られている簡単な方法の固定セットから任意に連続して選択される。出力は1つまたは複数の全単射関数である。これらの関数の逆関数は同時に生成される(任意選択)。原則として、これらの関数は秘密鍵に依存しないが、禁止されない。(別の選択肢は、関数が全単射であることを必要とせず、ステップ3をスキップする。)
ステップ4)「暗号関数生成アルゴリズム」では、本方法は、ステップ2または3で得られた1つまたは複数の関数あるいはルーチンと、(任意選択であり、別の種類の標準暗号プリミティブでもよい)AESなど、公開して知られている安全な暗号アルゴリズムとを、連続した適用によって組み合わせることにある。鍵付きアルゴリズムの場合、原則として、AESのようなアルゴリズムの入力、出力および鍵は全て、ステップ2からの関数の組み合わせによって変換されなければならない、あるいは、言い換えれば、AESなど、前記鍵付きの、公開して知られていて安全な暗号アルゴリズムは、初めの部分および終わりの部分の両方において、および鍵において、他のルーチンによって内部に隠される。原則として、暗号化アルゴリズムと復号アルゴリズムの両方が生成される。一変形形態では、ステップ3なしで、本発明の方法は復号アルゴリズムを生成しない。
ステップ5)本方法の最終ステップは、最終アルゴリズムをいくつかの所望のフォーマットに変換することである。アルゴリズムは、原則として、少なくともCまたはジャバソースコードとして出力される。興味のある選択肢は出力することも含み、参照関数的または数学的仕様も含む。さらに、自動的にテスト値を生成してもよい。たとえば、アルゴリズムのいくつかのランダム入力および鍵を選択し、得られるべき出力値を記録し、あらゆる主要ステップにおいてアルゴリズムの実行中に全ての中間値を保持してもよい。これらのテスト値は、アルゴリズムのいかなる実装のテストおよびデバッグにも使用されることができ、DFAタイプの攻撃からアルゴリズムを保護するために、計算のエラーを検出するために組み込まれたアルゴリズム全体またはその一部分のセルフテスト値として使用されることもできる。そのように保護された実装も出力されることができる。一般に、同じアルゴリズムの複数の実装が出力されてもよい。
3.1.)
xと呼ばれるものを除いて全ての変数の任意関数を使用し、この関数の結果をグループ演算(プラス、XORなど)によってxに加える。これは一種の一般化されたフェイステル構成である。方法3.1.は、データ暗号化規格で使用された(そして、Horst
Feistel:「Cryptography and computer privacy」、Scientific American、第228巻、5号、15〜23ページ、1973年5月、に公開された)ホルスト・フェイステルの基本的な発明に由来する。全単射関数を構築するT関数の使用は、(Alexander Klimov、Adi Shamir:A New Class of Invertible Mappings。CHES 2002、Springer LNCS 2523、470〜483ページ、における)最近のT関数のシャミル・クリモフ理論によって多くのやり方で実現されることができる。本発明は、これらの構成に依存せず、知られているまたは将来発明されるであろう、関数を全単射関数に変換する他のいかなる方法(置換)をも使用することができる。
3.2.)
最近のシャミル・クリモフ構成を使用してもよい。XORまたは足し算によって変数xを、「T関数」であり、かつ「パラメータ」である特別な種類の関数に加える。
3.3.)
(やはりステップ1から来る)いくつかの利用可能なランダムコインから擬似ランダムに前に生成された全単射代替テーブルを適用してもよい。
命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップの方法の初めの部分および/または終わりの部分における計算、ならびに
前記命令のシーケンスおよび/またはテーブルルックアップの、アルゴリズムのセキュリティを処理する暗号アルゴリズムとの組み合わせの方法の真ん中における実行
を含む。
a)あらゆる初期シードに一意で非常に異なるアルゴリズムを決定論的に生成する。
b)厳格な暗号のセキュリティでは、これらのアルゴリズムは、内部にAESを組み込むので、AESなど、よく知られているアルゴリズムと同じくらい安全である。
c)さらに、これらのアルゴリズムは、少なくともサイドチャネル攻撃から保護されたAESの実装と同じくらい安全である。これは、本発明の方法によって、AESが内部に組み込まれているにもかかわらず、実際に検証可能などんなやり方ででもこの内部のAES機能に実際にアクセスする可能性がないからである(これは、実際、アルゴリズムの秘密性の結果である)。本発明の方法は、より良いセキュリティのために他の方法と組み合わされてもよい。アルゴリズムの秘密性は、他の対策にはない利点を有し、他の対策のセキュリティをも改善する。
d)本発明のアルゴリズムは、さらに、多くのサイドチャネル攻撃に対する自然の「それ自体の」耐性を有する。これは、やはり、アルゴリズムの秘密性のためであるが、その秘密性が一定のレベルに持ってこられた場合のみである。実際、アルゴリズムが秘密であるばかりでなく、アルゴリズムの初期部分および最終部分も秘密であることを必要とし、しかも強い意味でこれを必要とする。それらは機能として再現されることができないばかりでなく、CPUによって実行されるそれらの命令も秘密である。
e)本発明による方法は、3つの手法3.1.、3.2.、および3.3.、ならびに他の構成を自由に組み合わせる。
f)ほとんどの暗号設計と違って、本発明による方法は、厳しい設計必要条件を有する何か非常に特別な関数または特別なSボックスで構成をインスタンス化しないが、それらが、規定の分布内にある全ての可能なSボックスまたは関数の間でランダムに取られなければならないことを強く主張する。
g)本発明による方法は、擬似ランダム暗号アルゴリズムを生成する、しかも自動的に生成する。安全な暗号アルゴリズムを体系的にかつ決定論的に生成することは、1つのアルゴリズムだけを生成することよりはるかに難しい――それらのアルゴリズムはそれぞれが良好でなければならない。
h)本方法は、暗号アルゴリズムのソースコードを調べる場合、非常に様々な暗号アルゴリズムを生成する。あらゆる良好な暗号アルゴリズムで実現されるアルゴリズムの中の内部データの擬似ランダム性を実現する代わりに、われわれは、アルゴリズムコード自体の擬似ランダム性を実現する傾向がある。さらに、この擬似ランダム性は、(本発明ではAESによって保証される)暗号のセキュリティを実現するために使用されるのではなく、アルゴリズムの秘密性を実現するために使用される。
・生成装置は、アルゴリズムで使用されるべき割り当てられた条件付き確率で命令のセットを追加入力として変更し、取ることができる。
・生成装置は、最終アルゴリズムの鍵サイズを追加入力として取ることができる。
・生成装置は、暗号アルゴリズムを提供する先のデバイスの一部分であることができる。
・生成装置は、直接または直接でなく接続される先のデバイス、および、たとえばリモートデバイスのアルゴリズムを生成してもよい。
・アルゴリズムの自動生成装置は、対応する暗号アルゴリズムを体系的に生成してもよい。
・アルゴリズム生成中の全てのランダム選択は、実際にランダムであるか、またはいかなるタイプのランダム発生器からでも行われることができる、あるいは擬似ランダムに行われ、シードから得られることができる。
・アルゴリズム秘密ゾーンの最もさらされる部分に秘密鍵の係わりを課さないことは可能であり擁護される。
・暗号化アルゴリズムの第1の鍵依存命令が、任意の長さの命令シーケンスを含むことができる一連の秘密変換の後で、暗号化プロセスの内部深くで処理されることを課すことは可能である。その場合、攻撃者は鍵依存部分の入力の知識がなく、その結果、アルゴリズムは差分電力解析(DPA)などのサイドチャネル攻撃から保護される。
・生成装置は、テスト値が、テスト値を有するテスト暗号のランダム処理による物理的混乱(DFA)攻撃からの保護を備えるコードを自動的に生成するために使用されるようなやり方で、実装されることができる。
・生成装置は、スマートカードまたは他の不正防止トークンを生成するかまたはパーソナライズするために使用されることができる。
・生成装置は、擬似ランダムで一時的な一意の暗号アルゴリズムを生成し、それらの実行可能なフォームをリモートデバイスに送るために使用されることができ、現在のセッションにおいて鍵共有、認証および暗号化のために使用されることができる。
Claims (12)
- 電子装置で暗号アルゴリズムを生成する方法であって、
命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップを生成すること、ならびに
前記シーケンスおよび/またはテーブルルックアップを、アルゴリズムの安全な暗号アルゴリズムと呼ばれるアルゴリズムのセキュリティを処理する暗号アルゴリズムと組み合わせることによって前記暗号アルゴリズムを生成すること
を含む、方法。 - 命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップを何らかの固定で規定の確率分布で生成することにあることを特徴とする、請求項1に記載の方法。
- 前記アルゴリズムが、2つのゾーン、すなわち、サイドチャネル解析にさらされるアルゴリズムの外側の部分にある外部アルゴリズム秘密ゾーン、ならびに、アルゴリズム秘密ゾーンではアルゴリズムのコードが命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されるテーブルルックアップから局所的に作られるような、かつ内部暗号セキュリティゾーンがアルゴリズムのセキュリティだけを処理するいかなる暗号アルゴリズムまたは方法でもよくサイドチャネル攻撃から保護されなくてもよいようなサイドチャネル分析にさらされない内部の純粋に暗号のゾーンを含むことを特徴とする、請求項1または2の一項に記載の方法。
- アルゴリズムの安全な暗号アルゴリズムが可逆暗号化アルゴリズムであり、前記命令のシーケンスおよび/またはテーブルルックアップは、鍵依存定数を加えてまたは加えることなく生成されたランダム命令のシーケンスから構築される一連の全単射ルーチンのシーケンスであること、および、ランダムに生成された関数を現在の状態に作用する全単射ルーチンに変換するために、ランダムに選択されたサブルーチンを構成することにあることを特徴とする方法であって、サブルーチンのいくつかは新規のまたは古い擬似ランダム置換Sボックスであり、他は一時に1つの現在の変数を変更しそれを他の全ての現在の変数、およびランダムにまたは擬似ランダムに生成された定数の任意関数と組み合わせると定義される一般化フェイステル方法で構成され、他のいくつかの関数もランダムにまたは擬似ランダムに選択されたT関数の大きな合成を含んでもよいパラメータと呼ばれる特別のタイプのT関数を現在の変数に加えるか、またはXORすることによって全単射にされてもよい、請求項1から3の一項に記載の方法。
- 生成された暗号化アルゴリズムの第1の鍵依存命令が、何らかの規定の確率分布で任意に選択された命令の任意の長さのシーケンスを含むことができる一連の秘密変換の後で暗号化プロセスの内部深くで処理されること、および前記アルゴリズムが差分電力解析(DPA)などのサイドチャネル攻撃から保護されるように攻撃者は鍵依存部分の入力の知識がないことを特徴とする、請求項1から4の一項に記載の方法。
- 生成された暗号アルゴリズムの読み取り可能な仕様および/または出力アルゴリズムのテスト値をさらに生成することを特徴とする、請求項1から5の一項に記載の方法。
- テスト値が、テスト値を有するテスト暗号のランダム処理によるDFA攻撃からの保護を備えるコードを自動的に生成するために使用されることを特徴とする、請求項1から6の一項に記載の方法。
- 擬似ランダムの一時的な一意の暗号アルゴリズムを生成すること、ならびにそれらを実行可能な形で現在のセッションにおいて鍵共有、認証および/または暗号化のために使用されるべきリモートデバイスに送ることにあることを特徴とする、請求項1から7の一項に記載の方法。
- 記憶手段およびデータ処理手段を含む電子装置であって、前記処理手段は、命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップを生成する手段を含むこと、ならびに、前記データ処理手段は、前記シーケンスおよび/またはテーブルルックアップを、アルゴリズムのセキュリティを処理する前記記憶手段に記憶されている暗号アルゴリズムと組み合わせることによって暗号アルゴリズムを生成することを特徴とする、電子装置。
- プログラムが電子装置で実行される場合、請求項1から8の一項に記載の方法のステップを実行するプログラムコード命令を含むコンピュータプログラム。
- 暗号アルゴリズムを含む電子システムを保護する方法であって、
命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップの計算、ならびに
前記命令のシーケンスおよび/またはテーブルルックアップの、アルゴリズムのセキュリティを処理する暗号アルゴリズムとの組み合わせの実行
を含むことを特徴とする、方法。 - 情報処理手段および情報記憶手段を含む電子システムであって、命令のランダムまたは擬似ランダムおよび独立シーケンス、および/または命令と任意定数の何らかの固定セットから選択されたテーブルルックアップを計算する手段、ならびに前記命令のシーケンスおよび/またはテーブルルックアップの、アルゴリズムのセキュリティを処理する暗号アルゴリズムとの組み合わせを実行する手段を含むことを特徴とする、電子システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04292387A EP1646174A1 (en) | 2004-10-07 | 2004-10-07 | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
PCT/IB2005/002976 WO2006038104A1 (en) | 2004-10-07 | 2005-10-07 | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008516502A true JP2008516502A (ja) | 2008-05-15 |
Family
ID=34931439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007535265A Pending JP2008516502A (ja) | 2004-10-07 | 2005-10-07 | 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8000473B2 (ja) |
EP (2) | EP1646174A1 (ja) |
JP (1) | JP2008516502A (ja) |
WO (1) | WO2006038104A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011514091A (ja) * | 2008-03-05 | 2011-04-28 | イルデト・ビー・ヴイ | 暗号システム |
JP2012526310A (ja) * | 2009-05-06 | 2012-10-25 | イルデト カナダ コーポレーション | ホワイトボックス暗号化技術を用いるインターロックされたバイナリ保護 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1997265B1 (en) * | 2006-03-10 | 2020-08-05 | Irdeto B.V. | Integrity of a data processing system using white-box for digital content protection |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
TWI396133B (zh) * | 2006-10-24 | 2013-05-11 | Sino Wealth Electronic Ltd | 程式碼自動生成裝置及方法 |
JP5184627B2 (ja) | 2007-06-26 | 2013-04-17 | G3−ビジョン リミテッド | コミュニケーション装置、認証システム及び方法、並びにキャリア媒体 |
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 |
JP5693206B2 (ja) * | 2010-12-22 | 2015-04-01 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
WO2013109330A2 (en) * | 2011-10-31 | 2013-07-25 | The Florida State University Research Foundation, Inc. | System and methods for analyzing and modifying passwords |
DE102012209404A1 (de) * | 2012-06-04 | 2013-12-05 | Robert Bosch Gmbh | Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür |
WO2015107952A1 (ja) * | 2014-01-17 | 2015-07-23 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム |
TWI712915B (zh) * | 2014-06-12 | 2020-12-11 | 美商密碼研究公司 | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 |
US9923923B1 (en) | 2014-09-10 | 2018-03-20 | Amazon Technologies, Inc. | Secure transport channel using multiple cipher suites |
US10567434B1 (en) | 2014-09-10 | 2020-02-18 | Amazon Technologies, Inc. | Communication channel security enhancements |
US10374800B1 (en) * | 2014-09-10 | 2019-08-06 | Amazon Technologies, Inc. | Cryptography algorithm hopping |
US10015006B2 (en) | 2014-11-05 | 2018-07-03 | Georgia Tech Research Corporation | Systems and methods for measuring side-channel signals for instruction-level events |
CN111913743B (zh) * | 2019-05-09 | 2023-04-14 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10154976A (ja) * | 1996-11-22 | 1998-06-09 | Toshiba Corp | タンパーフリー装置 |
JP2000244479A (ja) * | 2000-01-01 | 2000-09-08 | Sony Corp | 暗号化方法および装置、ならびに、復号化方法および装置 |
JP2002539488A (ja) * | 1999-03-08 | 2002-11-19 | ジェムプリュス | 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法 |
JP2003513490A (ja) * | 1999-10-25 | 2003-04-08 | サイファーマンクス コンサルタンツ リミテッド | 意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法 |
JP2003241659A (ja) * | 2002-02-22 | 2003-08-29 | Hitachi Ltd | 情報処理方法 |
WO2004046846A2 (en) * | 2002-10-28 | 2004-06-03 | Matsushita Electric Industrial Co., Ltd. | Automatically generated cryptographic functions for renewable tamper resistant security systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529193B1 (en) * | 1996-06-25 | 2003-03-04 | Mental Images Gmbh & Co. Kg | System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points |
WO1998045980A2 (en) * | 1997-03-10 | 1998-10-15 | Fielder Guy L | Secure deterministic encryption key generator system and method |
US6105133A (en) * | 1997-03-10 | 2000-08-15 | The Pacid Group | Bilateral authentication and encryption system |
GB2336055B (en) * | 1998-04-01 | 2002-10-16 | Discreet Logic Inc | Image processing |
WO1999067919A2 (en) * | 1998-06-03 | 1999-12-29 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
US6775763B2 (en) * | 2001-03-09 | 2004-08-10 | Koninklijke Philips Electronics N.V. | Bytecode instruction processor with switch instruction handling logic |
FR2825542B1 (fr) * | 2001-05-31 | 2003-08-29 | Sagem | Procede fonde sur un algorithme de chiffrage par bloc a repetition de rondes et dispositif le mettant en oeuvre |
FR2838262B1 (fr) * | 2002-04-08 | 2004-07-30 | Oberthur Card Syst Sa | Procede de securisation d'une electronique a acces crypte |
FR2844409B1 (fr) | 2002-09-05 | 2004-12-24 | Sagem | Protection d'une cle secrete pour algorithme d'authentification dans un radiotelephone mobile |
JP3917513B2 (ja) * | 2002-12-27 | 2007-05-23 | 株式会社東芝 | 電子透かし埋込装置、電子透かし検出装置、電子透かし埋込方法、電子透かし検出方法及びプログラム |
EP1601132B1 (en) | 2004-05-24 | 2006-11-15 | Research In Motion Limited | Table Masking for Resistance to Power Analysis Attacks |
-
2004
- 2004-10-07 EP EP04292387A patent/EP1646174A1/en not_active Withdrawn
-
2005
- 2005-10-07 JP JP2007535265A patent/JP2008516502A/ja active Pending
- 2005-10-07 WO PCT/IB2005/002976 patent/WO2006038104A1/en active Application Filing
- 2005-10-07 US US11/576,437 patent/US8000473B2/en not_active Expired - Fee Related
- 2005-10-07 EP EP05794011A patent/EP1800430A1/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10154976A (ja) * | 1996-11-22 | 1998-06-09 | Toshiba Corp | タンパーフリー装置 |
JP2002539488A (ja) * | 1999-03-08 | 2002-11-19 | ジェムプリュス | 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法 |
JP2003513490A (ja) * | 1999-10-25 | 2003-04-08 | サイファーマンクス コンサルタンツ リミテッド | 意図しないサイド・チャネル信号の分析によるデータ抜取りに耐性のデータ処理方法 |
JP2000244479A (ja) * | 2000-01-01 | 2000-09-08 | Sony Corp | 暗号化方法および装置、ならびに、復号化方法および装置 |
JP2003241659A (ja) * | 2002-02-22 | 2003-08-29 | Hitachi Ltd | 情報処理方法 |
WO2004046846A2 (en) * | 2002-10-28 | 2004-06-03 | Matsushita Electric Industrial Co., Ltd. | Automatically generated cryptographic functions for renewable tamper resistant security systems |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011514091A (ja) * | 2008-03-05 | 2011-04-28 | イルデト・ビー・ヴイ | 暗号システム |
US9710623B2 (en) | 2008-03-05 | 2017-07-18 | Irdeto B.V. | Cryptographic system |
JP2012526310A (ja) * | 2009-05-06 | 2012-10-25 | イルデト カナダ コーポレーション | ホワイトボックス暗号化技術を用いるインターロックされたバイナリ保護 |
US9141787B2 (en) | 2009-05-06 | 2015-09-22 | Irdeto B.V. | Interlocked binary protection using whitebox cryptography |
Also Published As
Publication number | Publication date |
---|---|
EP1646174A1 (en) | 2006-04-12 |
US20080063192A1 (en) | 2008-03-13 |
EP1800430A1 (en) | 2007-06-27 |
WO2006038104A1 (en) | 2006-04-13 |
US8000473B2 (en) | 2011-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008516502A (ja) | 命令の暗号セットを自動的に生成する方法および装置ならびにコード生成 | |
KR102628466B1 (ko) | 메시지 부호화 및 복호화를 위한 블록 암호화 방법 및 이 방법을 구현하기 위한 암호화 장치 | |
US20220141038A1 (en) | Method of rsa signature or decryption protected using a homomorphic encryption | |
US11362802B2 (en) | Cryptographic device arranged to compute a target block cipher | |
EP2293487A1 (en) | A method of diversification of a round function of an encryption algorithm | |
JP5987250B2 (ja) | カスタマイズされたマスキングによって保護される低複雑度の電子回路 | |
US10790962B2 (en) | Device and method to compute a block cipher | |
JP6517436B2 (ja) | 暗号化デバイス及び符号化デバイス | |
US8976960B2 (en) | Methods and apparatus for correlation protected processing of cryptographic operations | |
EP3477889B1 (en) | Using white-box in a leakage-resilient primitive | |
EP2957062A1 (en) | Tamper resistant cryptographic algorithm implementation | |
JP5136416B2 (ja) | 擬似乱数生成装置、ストリーム暗号処理装置及びプログラム | |
CN111602367B (zh) | 用于保护在使白盒密码算法安全的对策中使用的熵源的方法 | |
Klinec | White-box attack resistant cryptography | |
US7747012B2 (en) | Process of security of an electronic unit with cryptoprocessor | |
JP2019504343A (ja) | 計算デバイス及び方法 | |
Eshan et al. | An investigation on implementations of theoretical whitebox cryptographic solutions | |
Ptáček | Power analysis of AES | |
Roellgen | Turbo PMC V3–1024 Bit Block Cipher for Storage Device Block Level Encryption | |
Ptácek | Power analysis of AES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
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: 20110120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110419 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110517 |