説明

暗号計算を実行するための方法及び装置

本発明は、電子装置における特定の暗号アルゴリズムのための鍵を生成する方法に関し、電子装置に素数Pを格納し、少なくとも一つの秘密の素数を生成する。第1のステップ(a)では、和が数p’に等しい二つの整数p’及びp’を無作為に選択する(11)。第2のステップ(b)では、前記数p’の秘密を維持するために、格納された素数Pと数p’及びp’との組合せに基づき、数p’が素数であるかどうかを判定する(12)。第3のステップ(c)では、もし数p’が素数であると判定されれば、数p’及びp’を電子装置に格納し(14)、そうでなければ、ステップ(a)と(b)を繰り返す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化(cryptography)の分野に関し、更に詳しくは、暗号アルゴリズムにより使用される鍵(keys)の秘密性の保護に関する。
【背景技術】
【0002】
暗号アルゴリズムは、とりわけ、データを暗号化(encrypt)することを可能にし、及び/又は、データを復号化(decrypt)することを可能にする。また、このようなアルゴリズムを他の多くのアプリケーションに使用することも可能である。具体的には、それらは、署名(sign)するのに役立ち、あるいは、或る情報を認証するのに役立つ。また、それらは、タイムスタンプ(time-stamping)の分野においても有用である。
【0003】
一般に、このようなアルゴリズムは、多数のオペレーションの文字列(string)または計算(calculations)から構成され、これらは、暗号化されたデータアイテムを得るために、暗号化されるべきデータアイテムに対して連続的に適用され、あるいは、復号化されたデータアイテムを得るために、暗号化されたデータアイテムに対して連続的に適用される。
【0004】
これらのアルゴリズムのうち、或るものは秘密鍵を使用することに基づいており、一方、他のものは公開鍵と秘密鍵の混用に基づいている。
【0005】
一例として、次の章では、データ暗号化及び復号化に対するこれらのアルゴリズムの適用を説明する。
【0006】
このような適用における公開鍵暗号アルゴリズムの一般原理によれば、公開鍵は全てに対してアクセス可能であり、誰でも公開鍵を用いて暗号化されたデータを発送することができるが、対応する秘密鍵の保持者でなければ、これらのデータを復号化することはできない。
【0007】
公開鍵暗号アルゴリズムのセキュリティは、公開鍵を知っていても対応する秘密鍵を取り出すことができず、故にデータを復号化することができないという事に依存している。
【0008】
従って、RSAと名づけられた公開鍵暗号化手法が知られており、RSAは、その考案者の名前であるRivert, Shamir, Adelmanを表す。この手法は、この技術分野において最も使用されているものであって最も古いもののうちの一つである。
【0009】
この手法によれば、p,q,e,dで表される4つの数が選択される。数p及びqは、明らかに異なる二つの素数である。これらは無作為に生成される。
【0010】
数d及びeは次式を満足する。
e*d=1 modulo (p-1)(q-1)
【0011】
そして、この技術分野の当業者に広く知られている演算により、ユークリッドアルゴリズムを用いて、e,p,qに基づきdを生成することが可能である。
【0012】
そして数pとqとのプロダクト(product)から得られる数はn(モジュラス)と表される。
【0013】
従って、数n及びeのペアは公開鍵を構成し、一方、数n及びdのペアは秘密鍵を構成する。
【0014】
そして、0とn−1の間の範囲の整数Mに対応するデータアイテムを発送するために、発送されるべき対応するコード化された数Cが次式に従って計算される。
C = Me modulo n
【0015】
上記コード化されたメッセージCを受信すると、秘密鍵の保持者は、数Dの中間値を計算する。
D = Cd modulo n
【0016】
そして、元の平分メッセージMが、次式に従って再生される。
D = Mde = M modulo n
【0017】
従って、上記により、このような公開鍵アルゴリズムは、素数の生成に基づいていることが知られている。より詳細には、RSAのような公開鍵アルゴリズムは、極めて大きな素数の生成を必要とする可能性がある。従って、ほぼ500デジット(digits)から成る素数を生成する必要があるかもしれない。
【0018】
RSA型のアルゴリズムでは、モジュラスnは公開鍵に属し、従って全てに知られ、一方、数dは、上記アルゴリズムのセキュリティを保証するために秘密のままでなければならない。しかし、数dは、数p及びqに基づいて得られる。従って、数p及びqが秘密のままであることは、このようなアルゴリズムのセキュリティにとって重要である。
【0019】
一般に、電子カード(electronic card)の暗号化ソフトウェアについて、これらの鍵は、例えば暗号アルゴリズムが実行されるところの電子装置を製造中の工場のような、任意の攻撃から保護された環境で生成される。
【0020】
従って、このような条件の下で、数p及びqは、これらの値を決定して上記アルゴリズムのセキュリティを破壊することを狙った攻撃に直面する如何なる危険も伴うことなく、簡単に操作されることができる。従って、通常、鍵を生成するためのこれら各種の方法は、これらの数p及びqの操作(manipulation)を含む。
【0021】
このような条件の下で、素数を生成するのに当業者に知られた各種の方法を使用することが可能である。
【0022】
しかしながら、或る適用については、暗号アルゴリズムの使用鍵の秘密性を破ることを狙った攻撃が可能な外部環境においてこのような鍵を生成する必要があるかもしれない。
【0023】
今日では、多くのタイプの攻撃が知られている。
【0024】
従って、或る攻撃は、或る暗号化ステップの実行中に検出される情報漏洩に基づいている。これらの攻撃は、一般に、データアイテムの暗号アルゴリズムによる処理中に検出される情報漏洩と鍵(単数または複数の鍵)との間の相関関係に基づいている(電流の消費、電磁気放射、計算時間などを分析することによる攻撃)。
【0025】
このような条件の下で、以前に入力された数p及びqのセキュリティを保護するための適切な予防策を講じることは欠かせない。
【0026】
数p及びqを生成するための手法であってこれらの数のセキュリティを保護することを可能にする手法が知られている。具体的には、Dan BonehとMatthew Franklinによって書かれた論文“Efficient Generation of Shared RSA keys”は、数p及びqを同時に且つ秘密に生成する方法を提案している。
【0027】
この手法の目的の一つは、多数の参加者の間で共通の方法で素数を生成することである。従って、これらの参加者は、これら参加者が二つの素数を知ることなく生成することを可能にする演算を実行し、これらの数のプロダクト(product)のみが参加者に知られる。
【0028】
この手法によれば、数p及びqは無作為且つ同時に選択される。そして、このように選択された二つの数が素数であるかどうかが、それらのプロダクトに基づいて判定される。上記数p及びqの秘密性を保護するために、これらの数は直接的には操作されない。
【0029】
具体的に、更に正確に言えば、4つの整数p,p,q,qが無作為に選択され、数pは数pと数pの和の結果であり、数qは数qと数qの和の結果である。
【0030】
そして、数p及びqが素数であるかどうかが、数p,p,q,qを操作することによるそれらのプロダクトに基づいて検証される。
【0031】
数p及びqが素数ではない場合、選択された数p及びqが素数であると判定されるまで、他の二つの数p及びqの無作為の選択が繰り返される。
【0032】
このような解決手法は、計算の観点から見て極めて複雑であり、且つ、鍵を生成するための方法の性能を大幅に低下させるかもしれない。
【発明の開示】
【発明が解決しようとする課題】
【0033】
本発明は、これらの欠点を低減することを可能にする解決手法を提案することを目的とする。
【課題を解決するための手段】
【0034】
本発明の第1の態様は、素数Pがメモリに格納されているところの電子装置における暗号アルゴリズムのための鍵を生成する方法を提案する。
【0035】
本方法は、少なくとも一つの秘密の素数を生成するオペレーションを含み、このオペレーションは、次の連続的なステップ、すなわち、
/a/ 和が数p’に等しい二つの整数p’及びp’を無作為に選択するステップと、
/b/ 前記数p’が素数であるかどうかを、前記数p’及びp’とメモリに格納された前記素数Pとの組合せに基づいて判定するステップと、
/c/ もし、前記数p’が素数であれば、前記数p’及びp’を電子装置のメモリに格納し、前記数p’が素数でなければ、ステップ/a/及び/b/を繰り返すステップと、
に従って実行される。
これらの処理により、素数p’が秘密的かつ効率的に生成される。
【0036】
詳細には、このように生成された数p’は、本方法の各種ステップの過程で直接的に操作されず、整数p’及びp’のみが操作される。従って、素数p’を生成するステップの過程でアルゴリズム攻撃によって素数p’の秘密性(secrecy)を破ることは可能でない。
【0037】
また、この素数の生成は、多くの素数を連続的に生成することを可能にするので効率的である。しかし、論文“Efficient Generation of Shared RSA keys”で提案されているように、同時に多数の素数を無作為に選択することよりも、一つの素数を無作為に選択することの方が可能性として大きい。
【0038】
本発明によるこのような方法は、電子装置における決められた暗号アルゴリズムが秘密の一つの素数の生成を必要とし、あるいは多くの秘密の素数の生成を必要とする場合に、このような暗号アルゴリズムのための鍵を生成する任意の方法に有利に適用されることができる。
【0039】
ステップ/b/は、整数と素数との組合せに基づいて、この整数の素数性(primality)を判定することを可能にする任意のタイプの素数判定法(primality test)を実施することにより実行されることができる。
【0040】
一般に、このような素数判定法は、確率的アルゴリズム(probabilistic algorithms)である。これは、数が素数であることを極めて高い確率で判定することを可能にする。
【0041】
本発明の実施形態において、第1の整数pと第2の整数pは、メモリに格納された素数Pが第1の整数pと第2の整数pの和に等しくなるように決定される。そして、ステップ/b/は、数p,p,p’,p’に関して実行されるオペレーションに基づいて実施される。
【0042】
従って、秘密の素数p’の生成過程において、数p’についての素数判定法の局面では、好ましくは、素数Pも数p’も操作されず、これにより、この生成ステップの過程で数p’の秘密性に対する潜在的な攻撃を無力にする。
【0043】
第1の整数p及び第2の整数pは、無作為に決定され得る。
【0044】
ステップ/b/は、ソロベイ・ストラッセン(Solovay-Strassen)型判定法とミラー・ラビン(Miller-Rabin)型判定法との組合せに基づく素数判定法を用いて実行されることができる。従って、例えば、素数判定法は、Dan BonehとMatthew Franklinによって書かれた論文‘Efficient Generation of Shared RSA keys’の第3章‘distributed primality test’に記載されているような素数判定法に基づくことができる。具体的には、この素数判定法は、一方ではソロベイ・ストラッセン素数判定法に基づくと共に、他方ではミラー・ラビン素数判定法に基づいている。ソロベイ・ストラッセン素数判定法は、R. SolovayとV. Strassenによる1977年の文書‘A fast monte carlo test for primality’に記載されている。ミラー・ラビン素数判定法は、M. Rabinによる1980年の文書‘Probabilistic algorithm for testing primality’に記載されている。
【0045】
本発明の実施形態では、このような方法の性能は、ステップ/b/の前に、次のステップ、すなわち、
/a1/ 数p’及び数p’に関して実行されたオペレーションに基づき、数p’が1又は2以上の決定された素数で割り切れないことを検証するステップ
を含むことにより強化される。
【0046】
この場合、ステップ/a/及び/a1/は、数p’が上記決定された素数の一つで割り切れれば、繰り返される。
【0047】
このステップ/a1/は、大きな素数を生成したい場合にいっそう有益である。具体的には、このようなステップは、実行するにはいっそう扱いにくいステップ/b/を実行する前に、或る数を適正に簡単に除去することを可能にする。
【0048】
本発明の実施形態では、ステップ/a1/は、厳密に1よりも大きな素数yについて、次のステップ、すなわち、
・ 0とy−1との間の範囲の整数の中から第1の整数cを無作為に選択し、1とy−1との間の範囲の整数の中から第2の整数dを無作為に選択するステップと、
・ 式u=c+dp1’ modulo yに従って数uを決定するステップと、
・ 式v=c-dp2’ modulo yに従って数vを決定するステップと、
・ pが、数uと数vとの差分の関数としてのyによって割り切れないかどうかを判定するステップと
を含む。
【0049】
或る暗号アルゴリズムは、多数の秘密の素数の生成を必要とする。この場合、素数を生成するために必要に応じて何度でも、本発明の実施形態による方法を適用することが容易に可能である。従って、一対の非対称の鍵の構築のために、ステップ/a/から/c/を繰り返すことにより、連続的に、少なくとも二つの素数を生成することが可能である。
【0050】
本発明の第2の態様は、決定された暗号アルゴリズムのための鍵を生成するための電子装置を提案する。
【0051】
本電子装置は、
・ 和が数p’であるところの二つの整数p’及びp’を無作為に選択するのに適した選択ユニットと、
・ 素数Pを格納すると共に、前記数p’及びp’の和が素数であると判定された場合に前記数p’及びp’を格納するためのメモリと、
・ メモリに格納された前記素数Pと前記数p’及びp’との組合せに基づき、前記数p’が素数であるかどうかを判定するのに適した判定ユニットと
を備えて構成される。
【0052】
上記選択ユニットは、メモリに格納された素数Pが第1の整数p及び第2の整数pの和に等しくなるように、これら第1の整数p及び第2の整数pを決定し、そして、上記判定ユニットは、数p,p,p’,p’に関して実行されるオペレーションに基づき、数p’が整数であるかどうかを判定することができる。
【0053】
本発明の実施形態では、上記選択ユニットは、第1の整数p及び第2の整数pを無作為に決定する。
【0054】
上記判定ユニットは、論文‘Efficient Generation of Shared RSA keys’で提案されているように、好ましくは、ソロベイ・ストラッセン型判定法とミラー・ラビン型判定法との組合せに基づく素数判定法を実施する。
【0055】
好ましくは、上記選択ユニットは、数p’が1又は2以上の決定された素数で割り切れないことを検証するために、数p’及びp’に関して実行されるオペレーションに基づき、事前チェックを実施する。
【0056】
この場合、上記選択ユニットは、もし決定された素数でp’が割り切れれば、二つの整数p’及びp’の無作為な選択を繰り返す。
【0057】
本発明の実施形態では、上記選択ユニットは、厳密に1より大きい素数に関して前記事前チェックを実施するために、
・ 0とy−1との間の範囲の整数の中から第1の数cを無作為に選択すると共に、1とy−1との間の範囲の整数の中から第2の整数dを無作為に選択するように構成された手段と、
・ 式u=c+dp1’ modulo yに従って数uを決定するように構成された手段と、
・ 式v=c-dp2’ modulo yに従って数vを決定するように構成された手段と、
・ pが、前記数uと前記数vとの差分の関数としてのyで割り切れないかどうかを判定するように構成された手段とを更に備える。
【0058】
本発明の他の態様、目的及び利点は、その実施形態の一つを読めば明らかになるであろう。
【0059】
本発明は、また、図面によっていっそう良好に理解されるであろう。
・図1は、本発明の実施形態による鍵を生成する方法の主要なステップを例示する。
・図2は、本発明の実施形態による電子装置のダイアグラムである。
【発明を実施するための最良の形態】
【0060】
本発明の実施形態における暗号アルゴリズムのための鍵を生成する方法は、電子装置(an electronic component)において実行されるように意図されている。
【0061】
事前に、本電子装置は、Pで表される素数をメモリに格納する。
【0062】
図1は、本発明の実施形態による方法の主要なステップを示す。
ステップ11において、p’及びp’で表される二つの整数が無作為に選択される。そして、ステップ12において、これら選択された二つの数の、p’で表される和が素数であるかどうかが判定される。このステップは、数p’の秘密性が保護されるような方法で実行される。従って、好ましくは、このステップでは、このように数p’を操作しないように注意が払わされる。数p’の素数性に関する判定は、数p’及びp’に関して実施されるオペレーションによって行われる。
【0063】
そして、ステップ13において、もし数p’が素数でないと判定されれば、前のステップ11及び12が繰り返される。
【0064】
これに対し、もし数p’が素数であると判定されれば、数p’及びp’はメモリに格納される。
【0065】
従って、秘密の素数の生成が必要とされる都度、このような方法を繰り返すことが可能である。
【0066】
ステップ12において、数が二つの素数の組合せであるかどうかを判定することを可能とする任意の素数判定法を実施することが可能であるが、この素数判定法がプロダクトの上記二つの数のうちの一つの秘密性を危険にさらす可能性のある如何なるオペレーションも含まないことが条件とされる。このような素数判定法は、当業者には容易に利用可能である。
【0067】
有利には、これらの素数判定法は、無作為に選択にされた数p’及びp’の和から得られる数p’と素数Pのプロダクトnに基づき、数p’が素数であるかどうかを判定することを可能とすることができる。この判定法は、従って、数p’及びp’に関するオペレーションを含むが、数p’に関して直接的に実行されるオペレーションを含まない。
【0068】
従って、例えば、素数判定法は、論文‘Efficient Generation of Shared RSA keys’で提案されているように、ソロベイ・ストラッセン型判定法とミラー・ラビン型判定法の組合せに基づくことができる。
【0069】
この場合、Pは、p及びpで表される二つの数の形式に分解される。この分解は、無作為に、或いは非無作為に実行されることができる。
【0070】
この判定法は、数mが二つの素数P及びp’のプロダクトであるかどうかを判定することを可能にし、mは次式を満足する。
m = (p1+p2)*(p1’+p2’)
ここで、p = p1+p2、且つ、p’ = p1’+p2’である。
【0071】
従って、数P及びp’を直接的に操作する必要なく、これらの数P及びp’が素数であるかどうかを判定することが可能である。
【0072】
このような適用において、数mは、それが秘密ではないため、危険を伴うことなく操作されることができることが分かる。
【0073】
論文‘Efficient Generation of Shared RSA keys’に詳しく記載されているように、この判定法では、各種の数が次の特性を満足するものと仮定される。
p1 = 3 mod 4
且つ
p1’ = 3 mod 4
そして
p2 = 0 mod 4
且つ
p2’ = 0 mod 4
【0074】
数p’についての秘密性に関する如何なる攻撃も可能としないために、このステップの過程では、オペレーションが、数p,p,p’,p’に関して有利に実行される。
【0075】
第1に、数aは、1とm−1との間の範囲の整数の中から無作為に選択される。
【0076】
その後、このように選択された数に関するヤコビ記号(Jacobi symbol)が計算され、このヤコビ記号は次のように表される。
【0077】
【数1】

【0078】
そして、もし、このように計算されたヤコビ記号が1でなければ、数aについての無作為の選択ステップが繰り返される。
【0079】
もし、ヤコビ記号が1に等しければ、次のステップを継続する。
【0080】
そして、第1の中間計算が数m,p,p’に関して実施されて、次式を満足する数uが得られる。
【0081】
【数2】

【0082】
その後、第2の中間計算が数m,p,pに関して実施され、そして次式を満足する数vが得られる。
【0083】
【数3】

【0084】
そして、次式が満足されるかどうかに関して判定(test)が実施される。
【0085】
【数4】

【0086】
もし、後者の式が満足されれば、このことから、或る確率でmが二つの整数P及びp’のプロダクトであることが推論される。
【0087】
本発明の実施形態では、Pは、本電子装置のメモリに予め格納された素数である。従って、このタイプの判定法を適用することにより、数p’に関して直接的に何らオペレーションを実施する必要なく、数p’が素数であるかどうかを判定することが可能である。
【0088】
本発明の実施形態では、和が整数であるところの数p’及びp’に関してステップ12を実行する確率を高めるために、ステップ12の前に、或る数を簡単且つ効果的に事前に除去することを可能とするステップを実行することが可能である。
【0089】
従って、一組の素数を考えることができる。そして、ステップ12の前に、数p’がyによって表される素数で割り切れるかどうかを判定することを望む。この目的のために、整数cが0とy−1との間の範囲の整数の中から無作為に選択され、そして整数dが1とy−1との間の範囲の整数の中から無作為に選択される。
【0090】
そして、次の二つの中間計算が実施される。
u = c + dp1’ modulo y
v = c - dp2’ modulo y
【0091】
そして、次式が満足されるかどうかを判定(test)することが可能である。
u-v = 0 modulo y
【0092】
後者の式が満足された場合、このことから数p’がyで割り切れることが推論される。
【0093】
図2は、本発明の実施形態による電子装置を表す図である。
このような電子装置21は、和が数p’であるところの二つの整数p’及びp’を無作為に選択するのに適した選択ユニット22を備える。
【0094】
更に、電子装置21はメモリ23を備え、このメモリ23は、素数Pを格納すると共に、数p’及びp’の和が素数であると判定された場合にこれら数p’及びp’を格納するためのものである。
【0095】
また、電子装置21は判定ユニット24を備え、この判定ユニット24は、メモリに格納された素数Pと数p’及びp’との組合せに基づき、数p’が素数であるかどうかを判定するのに適したものである。
【0096】
このようにして、一つの素数または多数の素数を連続的に効果的且つ秘密に生成するのに適した鍵の生成方法が得られる。
【図面の簡単な説明】
【0097】
【図1】本発明の実施形態による鍵を生成する方法の主要なステップを例示する図である。
【図2】本発明の実施形態による電子装置の図である。
【符号の説明】
【0098】
11,12,13,14;ステップ
21;電子装置
22;選択ユニット
23;メモリ
24;判定ユニット

【特許請求の範囲】
【請求項1】
電子装置(21)における暗号アルゴリズムのための鍵を生成する方法であって、
素数Pが前記電子装置にけるメモリに格納されており、
当該方法は、少なくとも一つの秘密の素数を生成するオペレーションを含み、前記オペレーションが、
/a/ 和が数p’に等しい二つの整数p’及びp’を無作為に選択するステップ(11)と、
/b/ 前記数p’が素数であるかどうかを、前記数p’及びp’とメモリに格納された前記素数Pとの組合せに基づいて判定するステップ(12)と、
/c/ もし前記数p’が素数であると判定されれば、前記数p’及びp’を前記電子装置のメモリに格納し(14)、前記数p’が素数でなければ、ステップ/a/と/b/を繰り返すステップと
の連続的なステップに従って実行される方法。
【請求項2】
メモリに格納された前記素数Pが第1の整数p及び第2の整数pの和に等しくなるように、前記第1の整数p及び前記第2の整数pが決定され、且つ
ステップ/b/が、前記数p,p,p’,p’に関して実行されるオペレーションに基づき実施される請求項1記載の方法。
【請求項3】
前記第1の整数p及び前記第2の整数pが、無作為に決定される請求項1または2の何れか1項記載の方法。
【請求項4】
ステップ/b/が、ソロベイ・ストラッセン(Solovay-Strassen)型判定法とミラー・ラビン(Miller-Rabin)型判定法との組合せに基づく素数判定法を用いて実行される請求項1乃至3の何れか1項記載の方法。
【請求項5】
ステップ/b/の前に、
/a1/ 前記数p’及びp’に関して実行されたオペレーションに基づき、前記数p’が1又は2以上の決定された素数で割り切れないことを検証するステップを更に備え、もし数p’が上記決定された素数の一つで割り切れれば、ステップ/a/及び/a1/が繰り返される請求項1乃至4の何れか1項記載の方法。
【請求項6】
ステップ/a1/が、厳密に1より大きい決定された素数yについて、
1とy−1との間の範囲の整数の中から第1の数c及び第2の数dを無作為に選択するステップと、
式u=c+dp1’ modulo yに従って数uを決定するステップと、
式v=c-dp2’ modulo yに従って数vを決定するステップと、
pが、数uと数yとの差分の関数としてのyで割り切れないかどうかを判定するステップと
を含む請求項5記載の方法。
【請求項7】
一対の非対称な鍵を構築するために、ステップ/a/乃至/c/を繰り返すことにより少なくとも二つの素数が生成される請求項1乃至6の何れか1項記載の方法。
【請求項8】
前記暗号アルゴリズムはRSA型のアルゴリズムである請求項1乃至7の何れか1項記載の方法。
【請求項9】
決定された暗号アルゴリズムのための鍵を生成するための電子装置(21)であって、
和が数p’であるところの二つの整数p’及びp’を無作為に選択するのに適した選択ユニット(22)と、
素数Pを格納すると共に、前記数p’及びp’の和が素数であると判定された場合に前記数p’及びp’を格納するためのメモリ(23)と、
メモリに格納された前記素数Pと前記数p’及びp’との組合せに基づき、前記数p’が素数であるかどうかを判定するのに適した判定ユニット(24)と
を備えた電子装置。
【請求項10】
前記選択ユニット(22)が、メモリ(23)に格納された前記素数Pが第1の整数p及び第2の整数pの和に等しくなるように、前記第1の整数p及び前記第2の整数pを決定し、前記判定ユニット(24)が、前記数p,p,p’,p’に関して実行されたオペレーションに基づき前記数p’が整数であるかどうかを判定する請求項9記載の電子装置。
【請求項11】
前記選択ユニット(22)が、前記第1の整数p及び前記第2の整数pを無作為に決定する請求項10記載の電子装置。
【請求項12】
前記判定ユニット(23)が、ソロベイ・ストラッセン(Solovay-Strassen)型判定法とミラー・ラビン(Miller-Rabin)型判定法との組合せに基づく素数判定法を実施する請求項9乃至11の何れか1項記載の電子装置。
【請求項13】
前記選択ユニット(22)が、前記数p’が1又は2以上の決定された素数で割り切れることを検証するために、前記数p’及びp’に関して実行されたオペレーションに基づき、事前チェックを実施する請求項9乃至12の何れか1項記載の電子装置。
【請求項14】
上記選択ユニットは、厳密に1より大きい素数yに関して前記事前チェックを実施するために、
1とy−1との間の範囲の整数の中から第1の数c及び第2の数dを無作為に選択するように構成された手段と、
式u=c+dp1’ modulo yに従って数uを決定するように構成された手段と、
式v=c-dp2’ modulo yに従って数vを決定するように構成された手段と、
pが、前記数uと前記数vとの差分の関数としてのyで割り切れないかどうかを判定するように構成された手段と
を更に備えた請求項9乃至13の何れか1項記載の電子装置。
【請求項15】
複数の素数p’が連続的に生成される請求項9乃至14の何れか1項記載の電子装置。
【請求項16】
前記暗号アルゴリズムがRSA型のアルゴリズムである請求項9乃至15の何れか1項記載の電子装置。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2008−525835(P2008−525835A)
【公表日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2007−547576(P2007−547576)
【出願日】平成17年12月22日(2005.12.22)
【国際出願番号】PCT/FR2005/003250
【国際公開番号】WO2006/070120
【国際公開日】平成18年7月6日(2006.7.6)
【出願人】(506313578)
【Fターム(参考)】