(57)【要約】【課題】特定のタイプの攻撃に対するより強い耐性を提供する暗号保護方法を提供する。【解決手段】暗号回路による暗号アルゴリズムの実行中に使用される秘密データ（Ｄi、Ｋ）の検出を目的とする攻撃からの暗号回路の保護方法であって、データ（Ｄi）への少なくとも一つの暗号演算（Ｏi）の適用（２２）を含み、データは、少なくとも一つの群構造を有し、且つ少なくとも一つの二項演算が提供される第１の数学的構造（Ｅ）に属し、保護方法は、データ（Ｄi）に、暗号演算（Ｏi）を適用する（２２）前に、二項演算と両立する少なくとも一つの可逆の第１の準同型写像（Ｍi）を適用し（２０）、暗号演算（Ｏi）を適用した後に、第１の準同型写像（Ｍi）の逆写像である少なくとも一つの第２の準同型写像（Ｍi-1）を適用する（２４）ことを含む、暗号演算を保護するためのステップ（ＯＰi）を含むことを特徴とする。【選択図】図３
2012129993.tif 000002
【特許請求の範囲】
【請求項１】
暗号回路による暗号アルゴリズムの実行中に使用される秘密データ（Ｄi、Ｋ）の検出を目的とする攻撃からの前記暗号回路の保護方法であって、
データ（Ｄi）への少なくとも一つの暗号演算（Ｏi）の適用（２２）を含み、
前記データは、少なくとも一つの群構造を有し、且つ少なくとも一つの二項演算（＋E、×E）が提供される第１の数学的構造（Ｅ）に属し、
前記保護方法は、
前記データ（Ｄi）に、前記暗号演算（Ｏi）を適用する（２２）前に、前記二項演算（＋E、×E）と両立する少なくとも一つの可逆の第１の準同型写像（Ｍi）を適用し（２０）、
前記暗号演算（Ｏi）を適用した後に、前記第１の準同型写像（Ｍi）の逆写像である少なくとも一つの第２の準同型写像（Ｍi-1）を適用する（２４）ことを含む、前記暗号演算を保護するためのステップ（ＯＰi）を含むことを特徴とする保護方法。
【請求項２】
前記暗号演算（Ｏi）は、前記第１の準同型写像（Ｍi）の結果（Ｍi（Ｄi））に適用されることを特徴とする、請求項１に記載の保護方法。
【請求項３】
前記第２の準同型写像（Ｍi-1）は、前記暗号演算（Ｏi）の結果（Ｏi（Ｍi（Ｄi）））に適用されることを特徴とする、請求項１又は２に記載の保護方法。
【請求項４】
前記第２の準同型写像（Ｍi-1）は、少なくとも二つの暗号演算（Ｏi）を前記第１の準同型写像（Ｍi）の結果（Ｍi（Ｄi））に適用した後に適用されることを特徴とする、請求項１又は２に記載の保護方法。
【請求項５】
前記暗号アルゴリズムは、少なくとも二つの暗号演算（Ｏi）を前記データ（Ｄi）に適用することを含み、
少なくとも一つの可逆の準同型写像（Ｍi）が、前記少なくとも二つの暗号演算（Ｏi）の前に適用されることを特徴とする、請求項１〜４の何れか一項に記載の保護方法。
【請求項６】
少なくとも二つの異なる準同型写像が前記データ（Ｄi）に適用されることを特徴とする、請求項５に記載の保護方法。
【請求項７】
前記準同型写像は、前記第１の数学的構造（Ｅ）の前記少なくとも一つの二項演算（＋E、×E）とは異なる少なくとも一つの二項演算（＋F、×F）が提供される、前記第１の数学的構造（Ｅ）とは異なる第２の数学的構造（Ｆ）への前記第１の数学的構造（Ｅ）の適用であることを特徴とする、請求項１〜６の何れか一項に記載の保護方法。
【請求項８】
前記準同型写像（Ｍi）は、準同型の暗号化であることを特徴とする、請求項１〜７の何れか一項に記載の保護方法。
【請求項９】
前記暗号演算（Ｏi）は、当該演算の入力変数の関数として、前記演算（Ｏi）の結果を示す相互関係の写像（Ｔ1、Ｔ2、Ｔi）を用いて適用されることを特徴とする、請求項１〜８の何れか一項に記載の保護方法。
【請求項１０】
前記準同型写像（Ｍi）及び前記暗号演算（Ｏi）は、前記準同型写像の入力変数の関数として、少なくとも前記準同型写像及び前記演算（Ｏi）の合成の結果を示す単一の相互関係の写像（Ｔ1）を用いて適用されることを特徴とする、請求項９に記載の保護方法。
【請求項１１】
暗号回路による暗号アルゴリズムの実行中に使用される秘密データ（Ｄi、Ｋ）の検出を目的とする攻撃に対する前記暗号回路の保護装置（１）であって、
データ（Ｄi）への少なくとも一つの暗号演算（Ｏi）の適用部を備え、
前記データは、少なくとも一つの群構造を有し、且つ少なくとも一つの二項演算（＋E、×E）が提供される第１の数学的構造（Ｅ）に属し、
前記保護装置は、前記データ（Ｄi）に、前記暗号演算（Ｏi）を適用する（２２）前に、前記二項演算（＋E、×E）と両立する少なくとも一つの可逆の第１の準同型写像（Ｍi）を適用し、且つ前記暗号演算（Ｏi）を適用した後に、前記第１の準同型写像（Ｍi）の逆写像である少なくとも一つの第２の準同型写像（Ｍi-1）を適用する手段を備えることを特徴とする保護装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号回路による暗号アルゴリズムの実行中に使用される秘密データの検出を目的とする攻撃からのその暗号回路の保護方法に関し、データへの少なくとも一つの暗号演算の適用を含み、そのデータは、少なくとも一つの群構造を有し、且つ少なくとも一つの二項演算が提供される第１の数学的構造に属する。
【背景技術】
【０００２】
暗号の目的は、ある者が、安全でない通信チャネル、すなわち第三者（以下、「敵」と称する）が探ることができるチャネルを用いて、全く安全に通信できるようにすることである。
【０００３】
そのために、暗号により、特に、情報の暗号化、二重の演算及び復号を通じてその情報の一部分の機密性を保護すること、又は補完的な署名及び署名の照合の演算を用いて情報の一部分の信頼性のみを保護することが可能になる。
【０００４】
一般に、特定のメッセージの暗号保護は、超小型回路により、一つ以上の数学的演算をそのメッセージへ適用することによって実施される。その演算は、対称暗号において秘密鍵と呼ばれる鍵、及び非対称暗号において公開鍵又は秘密鍵と呼ばれる鍵による演算である。
【発明の概要】
【０００５】
しかしながら、かかる保護方法は、そのメッセージの内容又はその鍵自体にアクセスしようとする敵により攻撃を受けやすい。
【０００６】
通信保護のための暗号の使用の根源にある標準的な敵のモデルは、その敵が、伝送チャネルを介して受動的及び／又は能動的に行動するただの観察者であるというモデルである。このモデルでは、敵は全ての通信にアクセスし、それらを妨害し、又はそれらを変えることさえできる。この種の敵に対して耐性のある暗号手順が存在し、ある場合には非常によく機能している。
【０００７】
特に、暗号の適用分野の拡大により、新たな敵及び攻撃のモデルが現れてきている。特に、暗号アルゴリズムを実施する超小型回路の装置は、例えば使用される鍵、あるいはある場合にはメッセージ自体における情報等の、その装置が取り扱う秘密データを求めることを目的とする攻撃を時おり受けやすい。
【０００８】
例えば、これは、暗号アルゴリズムのソフトウェア又は材料の実装に係る特定の特徴の弱点を突く、いわゆるサイドチャネル攻撃の場合である。
【０００９】
特に、あるタイプの攻撃は、暗号計算に係る数学的演算のそれぞれが相互に異なるエネルギーの特徴を有するという事実の弱点を突く。例えば、値「１」から値「０」への情報ビットの推移により生じるエネルギー消費は、値「０」から値「１」へのビットの推移により生じるエネルギー消費とは異なる。
【００１０】
そのため、ＳＰＡ（単純電力解析）又はＤＰＡ（差分電力解析）の攻撃は、暗号計算により生じる電力消費、例えば暗号アルゴリズムの実行中に超小型回路に入力し、超小型回路から出力する電流及び電圧を測定することと、それらの電流又は電圧から、実行される一連の演算、又は使用される鍵さえも推定することとで構成される。
【００１１】
さらに、暗号計算中の電流により生成される電磁場を測定することは電磁波攻撃（ＥＭＡ）につながる。その原理はエネルギー消費に関する攻撃と同一である。
【００１２】
さらに、「時間攻撃」は、実行時間の単純な測定から、つまり、データの値に依存し得る、数学的計算ユニットの計算時間を解析することにより、暗号計算中に使用される鍵を検出することを可能にする。
【００１３】
暗号計算に係る単純で受動的な観察に基づくこれらの新たなタイプの攻撃は、例えば有料テレビ放送サービスに不正にアクセスするように実施することができる。かかるサービスは、暗号化されたコンテンツを鍵を用いて復号可能なデコーダを有する加入者にオーディオビジュアルコンテンツを安全に送るように暗号化アルゴリズム及び復号アルゴリズムを用いる。上述したように、攻撃者は、その鍵にアクセスし、それによりオーディオビジュアルコンテンツを不正に復号できるように、これらのデコーダの電力消費を観測し、解析することができる。
【００１４】
さらに、暗号回路にアクセスできる他のタイプの素子も考えられる。特に、このタイプの敵は、常にレジスタにアクセスすることができ、いつでもその異なる変数へのアクセスを監視し、実行された演算を観察することができる。そしてこれは「ホワイトボックス」暗号と呼ばれる。
【００１５】
従って、本発明の目的は、前述のタイプの攻撃に対するより強い耐性を提供する暗号保護方法を提供することである。
【００１６】
そのために、本発明は、前述のタイプの保護方法に関する。その保護方法は、データに、暗号演算を適用する前に、二項演算と両立する（compatible with）少なくとも一つの可逆の第１の準同型写像を適用し、暗号演算を適用した後に、第１の準同型写像の逆写像である少なくとも一つの第２の準同型写像を適用することを含む、暗号演算を保護するためのステップを含むことを特徴とする。
【００１７】
また、本発明に従った方法は、次の特徴を、独立したもの又は組み合わせたものとみなして含む。暗号演算は、第１の準同型写像の結果に適用される。第２の準同型写像は、暗号演算の結果に適用される。第２の準同型写像は、少なくとも二つの暗号演算を第１の準同型写像の結果に適用した後に適用される。暗号アルゴリズムは、少なくとも二つの暗号演算をデータに適用することを含み、少なくとも一つの可逆の準同型写像が、少なくとも二つの暗号演算の前に適用される。少なくとも二つの異なる準同型写像がデータに適用される。準同型写像は、第１の数学的構造の少なくとも一つの二項演算とは異なる少なくとも一つの二項演算が提供される、第１の数学的構造とは異なる第２の数学的構造への第１の数学的構造の適用である。準同型写像は、準同型の暗号化である。暗号演算は、その暗号演算の入力変数の関数として、暗号演算の結果を示す相互関係の写像を用いて適用される。準同型写像及び暗号演算は、準同型写像の入力変数の関数として、少なくとも準同型写像及び暗号演算の合成の結果を示す単一の相互関係の写像を用いて適用される。
【００１８】
また、本発明は、暗号回路による暗号アルゴリズムの実行中に使用される秘密データの検出を目的とする攻撃に対するその暗号回路の保護装置に関する。保護回路は、データへの少なくとも一つの暗号演算の適用部を備え、データは、少なくとも一つの群構造を有し、且つ少なくとも一つの二項演算が提供される第１の数学的構造に属し、保護回路は、データに、暗号演算を適用する前に、二項演算と両立する少なくとも一つの可逆の第１の準同型写像を適用し、且つ暗号演算を適用した後に、第１の準同型写像の逆写像である少なくとも一つの第２の準同型写像を適用する手段を備えることを特徴とする。
【００１９】
本発明は、例示としてのみ提供され、且つ以下の添付の図面を参照してなされる以下の記述を用いることにより、よりよく理解されるであろう。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に従った保護装置の構造を説明する図である。
【図２】本発明の一実施形態に従った保護方法の一連のステップを説明する概略図である。
【図３】図２に示された保護方法の一つのステップを説明する詳細図である。
【図４】本発明の他の実施形態に従った保護方法の一連のステップを説明する概略図である。
【図５】本発明の他の実施形態に従った保護方法の一連のステップを説明する概略図である。
【発明を実施するための形態】
【００２１】
図１は、本発明の第１の実施形態に従った保護装置１を示す。
【００２２】
保護装置１は、プロセッサ３及びメモリ５を備え、例えばセキュリティ鍵又はデータ等のデータを交換できるように接続される。
【００２３】
メモリ５は、データを格納することができ、保護メモリ空間７を含み、特に、セキュリティ鍵及び／又は少なくとも一時的に暗号化され、又は復号されるデータを安全に格納することができる。
【００２４】
プロセッサ３は、暗号アルゴリズムの適用部９と、そのアルゴリズムの適用を保護するための手段１１を備える。その適用部９は、例えば保護されるべきデータに対する暗号化又は保護されたデータに対する復号等の暗号アルゴリズムを適用することができる。
【００２５】
そのため、マイクロプロセッサ３は、メッセージに暗号アルゴリズムを適用することができ、敵による鍵及び／又はデータの検出を防ぐように、そのアルゴリズムを保護するための方法を実施する。
【００２６】
図２は、セキュリティ鍵を含む、暗号保護を必要とするデータについての、暗号アルゴリズムの実行中に、図１に示すような保護装置１により実施される、本発明の一実施形態に従った保護方法の基本的なステップを示す。
【００２７】
以下、この暗号アルゴリズムは暗号化であるものとするが、図２〜５を参照して記述される保護方法は、復号演算又は任意の他のタイプの暗号保護のアルゴリズムに同様に適用することができる。
【００２８】
この暗号アルゴリズムの実行は、暗号演算とも呼ばれる複数の数学的演算Ｏiの実施を含む。数学的演算Ｏiは、初期データに適用され、その後、その各演算の後に得られるデータに連続的に適用される。以下の記述において、Ｄ0は初期データを表し、Ｄiは演算Ｏiの後に得られるデータを表し、Ｄnは暗号アルゴリズムの終了時に得られるデータを表す。
【００２９】
Ｋと表されるセキュリティ鍵による演算Ｏiは、例えば加法、減法、乗法及び除法等の基本的な演算、例えば累乗法もしくは多項式評価等の、これらの基本的な演算から得られる任意の演算、又は例えば「排他的論理和」ＸＯＲもしくは「論理積」関数のＡＮＤ等の二項演算の中から選択される。
【００３０】
これらの各演算Ｏiは、起こり得る攻撃から本発明の方法により保護される。そのため、より概略的には、データＤ0の暗号化は、複数の被保護数学的演算ＯＰiの実施を含む。その数学的演算ＯＰiの結果は演算Ｏiの結果と同一であるが、演算Ｏiは例えばＤチャネル攻撃等の攻撃から保護される。
【００３１】
図３に、各被保護演算ＯＰi中に実行されるステップが詳細に示される。
【００３２】
各数学的演算の保護、及びより広く、暗号アルゴリズム全体の保護は、有利には各演算の前に、そのデータへ第１の群写像、又は可逆であり且つランダムに選択される準同型写像を適用することと、有利には各演算の後に、第１の準同型写像の逆写像の準同型写像を適用することとに基づく。
【００３３】
そのため、被保護演算ＯＰiの実施は、初期データＤ0又は被保護演算ＯＰi-1から生じるデータＤi-1に、Ｍiと表される第１の準同型写像を適用するためのステップ２０を含む。その後、ステップ２２の間に、鍵Ｋによる演算Ｏiが、ステップ２０の終了時に得られた結果Ｍi（Ｄi-1）に適用される。最後に、ステップ２４の間に、第１の準同型写像Ｍiの逆写像である、Ｍi-1と表される第２の準同型写像が演算Ｏiの結果に適用される。
【００３４】
群は、一般に加法では（＋E）と表され、又は乗法では（×E）と表される少なくとも一つの二項演算が提供される元の集合Ｅとして定義される代数的構造である。その群の全ての元は、その二項規則についての逆元を有する。さらに、その集合は、その規則が加法で表されるときは０Eと表され、その規則が乗法で表されるときは１Eと表される中立元を含む。
【００３５】
集合が、一般に＋E及び×Eと表される二つの二項規則をそれぞれ有し、（Ｅ，＋E）が群であるような場合、その集合は環である。
【００３６】
さらに、零元を除く全ての元が、乗法規則により可逆である場合、その環Ｅは体である。
【００３７】
二つの群Ｅと群Ｆ、あるいは等しい群の間の群写像は、それらの群の規則と両立する適用φとして、すなわち次のように定義される。
【数１】
2012129993.tif 000003
ここで、＋E及び＋Fは、それぞれ群Ｅ及び群Ｆの二項規則を意味し、０E及び０Fは、それらの中立元を意味する。
【００３８】
さらに、写像φが全単射である場合、写像φは可逆である。そのため、φ-1でその逆写像を表すと、集合Ｅの任意の元ｘに対して、
【数２】
2012129993.tif 000004
である。
【００３９】
さらに、群写像が、二つの環Ｅと環Ｆの間で定義される適用φを含み、且つその環の規則と両立する場合、すなわち次のような場合、その群写像は、環写像である。
【数３】
2012129993.tif 000005
【００４０】
従って、環写像は、例えば加法及び乗法等の通常の演算の全てを保持するが、例えば累乗法もしくは多項式による合成、又はそれらの逆演算（その可逆の元の減法もしくは逆元）等の、通常の演算から得られる演算も保持する。
【００４１】
以下の記述及び請求項において、一般用語「準同型写像」は、少なくとも一つの群構造を有する集合Ｅの、集合Ｆあるいは同一の集合への任意の適用を意味する。この適用はそれらの集合に係る少なくとも一つの二項規則を保護する。
【００４２】
当然、この名称は、群写像の属性に加えて加法の属性を有する任意の写像、特に環写像、代数の写像又は体写像も含む。例えば、代数の写像は、二つの二項演算に加えていわゆる外部規則（external law）、例えば問題となっている代数とは実体（body）の異なる元との乗算を守る。
【００４３】
上述したように、データＤが、加法及び乗法が提供される環Ｅの元であり、ステップ２０の間にデータＤiに適用される写像Ｍiが、前述で定義されたような可逆の写像、例えば自己準同型写像であり、その逆写像が、ステップ２４の間に適用される写像Ｍi-1であるとみなされる場合、ステップ２４の終了時に得られるデータＤi+1は以下の等式を満たす。
【数４】
2012129993.tif 000006
【００４４】
実際に、演算Ｏiは、環Ｅの基本的な演算又は環Ｅの基本的な演算から得られる演算であるので、この演算Ｏiは写像Ｍi及び写像Ｍi-1により保護される。特に、写像Ｍiは環Ｅの加法規則及び乗法規則を保護するので、それら二つの規則から得られる演算の全てが保護され、ひいては全ての演算Ｏiも保護される。
【００４５】
その結果として、ステップ２４の終了時に得られるデータＤiは、演算Ｏiを単にデータＤi-1に適用することにより得られるデータと同一となる。
【００４６】
しかしながら、適用される環写像のランダム性によって、入力変数のビットはランダムに変化する。従って、被保護演算ＯＰiの（電気及び／又は熱及び／又は電磁気の）エネルギーの特徴並びにその実行期間はランダムとなり、演算Ｏiのそれらと異なり、エネルギー消費もしくは放出又は実行時間の任意の解析を役立たなくさせる。
【００４７】
従って、各数学的演算Ｏiの前にデータＤi-1に写像を適用し、その演算の後にその逆写像を適用することによって、暗号化されるべきデータに連続的に適用される演算Ｏiのエネルギーの特徴を隠し、それ故に、その暗号アルゴリズムの最終結果Ｄn、すなわち暗号化データを変えることなく、例えばサイドチャネル攻撃等の攻撃からそのデータの暗号化を保護することが可能となる。
【００４８】
様々な被保護演算ＯＰi中に用いられる写像Ｍi及びその逆写像Ｍi-1は、相互に異なり、ランダムに選択されるのが有利である。それにより、写像Ｍiのエネルギーの特徴は解析することができない。さらに、暗号アルゴリズムのエネルギーの特徴が実行毎に異なって、その特徴についての任意の統計的な分析を防ぐように、使用される写像Ｍiは暗号アルゴリズムの実行毎に変更されるのが有利である。
【００４９】
その場合、例えば予め定められた写像のデータベースから写像をランダムに取り出すことにより、又はアルゴリズムの実行中に新たな写像を決定することにより、任意の写像Ｍiが演算Ｏiの実行前にランダムに選択される。
【００５０】
写像Ｍiは、例えば
【数５】
2012129993.tif 000007
により、指数ｐ＞０に係る環Ｅについて定義されるフロベニウス写像、又はそのフロベニウス写像から定義される任意の写像である。
【００５１】
その場合、環Ｅは、例えばＧＦ（ｐk）で表される、次数ｋ≧２に係るガロア体の拡大（extension）である。ＧＦ（ｐ）で表されるガロア体は、全てのモジュロｐの整数により定義され、特にＺ／ｐＺ（ｐは素数）で表される。かかる体において、ｘp＝ｘである。
【００５２】
あるいは、環写像Ｍiは、準同型の暗号化、すなわち写像と同一の属性を有し、且つ鍵Ｋｓによる暗号化の演算とすることができる。
【００５３】
これらの準同型の暗号化は、「理想的な束を用いる完全準同型暗号化  Gentry C., STOC 2009, 169-178」に明示されるように、完全に準同型の暗号化であるのが有利である。かかる写像は、体写像と実質的に同一の代数の属性を有し、そのため環写像とみなすことができる。特に、かかる写像は、開始時の集合、環又は体の構造、並びに特に加法規則ＸＯＲ及び乗法規則ＡＮＤを完全に保護し、可逆である。
【００５４】
そのため、暗号アルゴリズムの間に実行される演算Ｏiが二項演算、例えばＸＯＲ演算、ＡＮＤ演算又はそれらから生じる演算であるとき、かかる写像を使用することができる。
【００５５】
さらに、他のタイプの演算（例えば、加法及び／又は乗法）を保護する準同型の暗号化も使用してよい。
【００５６】
また、準同型の暗号化には、鍵Ｋｓ（以下、補助鍵と称する）に依存するという有利な点がある。暗号アルゴリズムの終了時に得られる暗号化データはその鍵に依存しないからである。従って、準同型の暗号化は、関数Ｃ（Ｄi、Ｋs）と書くことができ、又は固定鍵を持ち、前述した準同型の属性を有する関数ｆ（Ｄi）と書くことができる。
【００５７】
その結果として、同一の準同型の暗号化関数Ｃは、鍵Ｋｓのみを変更することにより、（10300のオーダーの）非常に多数の異なる可逆の写像ｆを生成することができる。実際には、1040のオーダーの複数の異なる鍵で十分なことが示される。
【００５８】
そのため、全ての被保護演算ＯＰiについて、同一の暗号化Ｃを選択し、さらに各演算の前にその暗号化のための鍵Ｋｓをランダムに選択することにより、暗号アルゴリズムの一連の演算を保護するために使用される写像Ｍi（及びそれらの逆写像）をランダムに選択することができる。
【００５９】
あるいは、写像Ｍiは、加法規則及び乗法規則を保護するのではなく、単にそれらの規則のうちの一つのみを保護する準同型の暗号化としてもよい。これは、例えば乗法のみを保護するＲＳＡ（Rivest Shamir Adleman）暗号化を含んでもよい。また、かかる写像Ｍiは、演算Ｏiが、例えば加法のみ又は乗法のみの、単一のタイプの基本的な演算のみを使用するときに用いてもよい。
【００６０】
しかしながら、上述した実施形態に限定されないことが理解されるべきである。
【００６１】
特に、図４に説明される他の実施形態に従って、逆写像Ｍi-1は、演算Ｏiの後すぐには適用されず、数個の連続した演算Ｏi、Ｏi+1・・・の後に適用される。そのため、図４に説明される実施形態において、被保護演算ＯＰiの一つは、データＤi-1への準同型写像Ｍiの適用と、続いて演算Ｏiの適用とを含む。その被保護演算ＯＰi自体の後すぐに、演算Ｏi+1の適用が続き、その後、逆写像Ｍi-1が続く。そのため、写像ＭiによるデータＤiの像に演算Ｏi+1が適用される。
【００６２】
さらに、攻撃に対するより強い耐性を提供するように、各演算Ｏiの前にデータに数個の写像を適用し、その後、各演算Ｏiの後に逆写像を連続的に適用してもよい。
【００６３】
さらに、使用される写像は、自己準同型写像である必要はなく、第１の環Ｅの第２の環Ｆへの適用としてもよい。その第２の環Ｆの加法規則及び乗法規則は、第１の環Ｅの加法規則及び乗法規則と異なるのが有利である。かかる写像には、データＤiの代数空間Ｅとは異なる代数空間Ｆにおける、演算Ｏiの互換に係る有利な点がある。かかる写像は、暗号アルゴリズムの保護をさらに強くする。実際にこの実施形態では、攻撃者は、演算が実行される数学的な集合にアクセスすることができず、さらに計算に係るエネルギーの信号についての詳細な統計値を用いることができない。
【００６４】
ある特定の実施形態に従って、演算Ｏi並びに／又は写像Ｍi及び写像Ｍi-1は、計算によってなされず、入力変数（例えばデータＤi）の値から計算することなく演算の結果にアクセスすることを可能とする、相関関係の写像によってなされる。そのため、図５は、この実施形態に従った暗号アルゴリズムの実行中になされる二つの一連の被保護演算を説明する。
【００６５】
第１の被保護演算ＯＰ1の間、プロセッサ３は、計算をすることなく、被保護メモリ７に格納された、演算
【数６】
2012129993.tif 000008
に対応する相関関係の写像Ｔ1にアクセスすることにより、データＤ0に写像Ｍ1及び演算Ｏ1を適用する。そのため、この演算ＯＰ1の間、プロセッサ３は、写像Ｍ1と演算Ｏ1を結合することによって入力データＤ1の像
【数７】
2012129993.tif 000009
を求める。
【００６６】
その後、続く被保護ステップＯＰ2の間、プロセッサは、ステップＯＰ1から生じたデータＭ1（Ｄ1）に逆写像Ｍ1-1を適用し、その後に、被保護メモリ７に格納された、演算
【数８】
2012129993.tif 000010
に対応する単一の相関関係の写像Ｔ2を用いて、写像Ｍ2及び演算Ｏ2を続ける。
【００６７】
続くステップＯＰiは同じ原理に従って実行される。しかしながら、演算Ｏ1・・・Ｏnのみを適用することにより得られる暗号化データと同じ暗号化データがｎ個のステップＯＰ1、ＯＰ2、・・・ＯＰnの終了時に得られるように、最後のステップＯＰnの間に、そのデータに逆写像Ｍn-1が適用される。
【００６８】
写像Ｍi及びＭi-1は、第１の環Ｅの、第１の環Ｅとは異なる第２の環Ｆへの適用であり、データＤi-1の代数空間Ｅとは異なる代数空間への演算Ｏiの互換であるのが有利である。かかる互換により、攻撃者となり得る者が演算ＯＰiの入力データと出力データの間の一次関係を決定し、実行される演算Ｏiをそこから推定するのを妨げる結果がもたらされる。
【００６９】
そのため、かかる相関関係の写像の使用は、特に、段階的になされる計算を攻撃者が監視する可能性がある場合に暗号アルゴリズムを保護するのに有利であり、従って、本発明に従った保護方法は、ホワイトボックスの暗号システムのセキュリティを改善することを可能とする。
【００７０】
暗号アルゴリズムが数個の数学的演算Ｏiを含む場合、数学的演算Ｏiの全てについて可逆の写像を適用することにより保護する必要がないことに留意すべきである。
【図１】
2012129993.tif 000011
【図２】
2012129993.tif 000012
【図３】
2012129993.tif 000013
【図４】
2012129993.tif 000014
【図５】
2012129993.tif 000015
【外国語明細書】
2012129993000001.pdf