JP4756117B2 - 暗号化適用のための推定素数の検査 - Google Patents

暗号化適用のための推定素数の検査 Download PDF

Info

Publication number
JP4756117B2
JP4756117B2 JP2004515648A JP2004515648A JP4756117B2 JP 4756117 B2 JP4756117 B2 JP 4756117B2 JP 2004515648 A JP2004515648 A JP 2004515648A JP 2004515648 A JP2004515648 A JP 2004515648A JP 4756117 B2 JP4756117 B2 JP 4756117B2
Authority
JP
Japan
Prior art keywords
prime
candidate
small
increment
estimated
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.)
Expired - Fee Related
Application number
JP2004515648A
Other languages
English (en)
Other versions
JP2005531031A (ja
JP2005531031A5 (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
Application filed by インサイド コンタクトレス ソシエテ アノニム filed Critical インサイド コンタクトレス ソシエテ アノニム
Publication of JP2005531031A publication Critical patent/JP2005531031A/ja
Publication of JP2005531031A5 publication Critical patent/JP2005531031A5/ja
Application granted granted Critical
Publication of JP4756117B2 publication Critical patent/JP4756117B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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/7204Prime number generation or prime number testing

Description

技術分野
本発明は、素数生成、キー生成および擬似ランダム数生成のような基本的な暗号化構成要素を含む暗号法に関する。本発明は特に、コンピュータソフトウェア暗号方法、ならびに特に速度に重点を置いた、素数生成および推定素数のために生成された候補の検査を行なう、対応するプログラム化されたハードウェア装置に関する。
背景技術
大きな素数または推定素数は、さまざまな暗号化適用にとって有用である。たとえば、素数は、(RSA等の)公開鍵暗号システムにおいてキーペアを生成する際に用いられる。さらに、擬似ランダム数シーケンスは、ヴァン・デン・エンデ(Van Den Ende)に付与された米国特許第4,780,840号にあるような素数を用いて生成することができる。このようなシーケンスは次に、秘密通信のためにストリーム暗号で用いることができる。
これらの種類の適用例における必要とされるサイズの推定素数が増加すると、暗号方法に関わるプログラム化されたコンピュータシステムまたはチップがこのような素数を迅速に生成するための効率的な方法が非常に重要になる。多くの適用例において、さらなる機密保護および柔軟性のために、大きなランダム素数は、1組の記憶され、予め計算された素数値に依存するのではなく、使用の前に即座に生成されることが望ましい。あいにく、大きな素数生成における問題は、推定素数の候補が、時間がかかるもしくは大量の演算能力を必要とするか、またはその双方である(ミラー・ラビン(Miller-Rabin)またはフェルマー(Fermat)等の)アルゴリズムを通して検査されなければならないということにある。可能性の低い候補を迅速に排除する技術によって、推定素数が識別される前にこのような厳しい検査を行なう必要回数が最小になる。
米国特許第4,351,982号で、ミラー等(Miller et at.)は、シーケンスにおいて先行する素数Pを新たな値hP+1(hはランダムである)に増分し、次に新たな値に素数性があるかどうかを検査することによって、既知の素数で始まるシーケンスの素数を生成することを開示している。値が合成数であるとわかったときはいつでも、hは2ほど増分され、新しいhP+1が検査される。一旦値hP+1が素数であるとわかると、これは次のサーチのために新しい素数Pとして用いられる。
P.ミハイレスク(P.Mihailescu)は、IEEE P1963提出の「推定素数を生成するための技術(“Technique for Generating Probable Primes”)」と題された論文において、N=2*(t+k)*Q+1の形式からなる素数を生成するためのふるい分け方法を記載しており、ここで素数候補のためのインクリメンタルサーチは、ある態様でkを増加させることによって行なわれる。
J.ブラント等(J. Brandt et al)は、暗号文の進歩−暗号'92(Advances in Cryptology-Crypto'92)、シュプリンガー・フェアラーク(Springer-Verlag)(1993)、pp.358−370の「インクリメンタルサーチによる推定素数の生成について(“On Generation of Probable Primes by Incremental Search”)」という論文において、候補の素数性を検査するためのインクリメンタルサーチについて記載している。ここで、前の検査候補から新しい候補を生成するための増分は常に2である。
本発明の目的は、コンピュータソフトウェア(またはファームウェア)方法を提供することであり、この方法によって、このようなソフトウェアでプログラム化されたコンピュータシステムまたはチップは、推定素数検査にとって可能性のない候補を効率的に排除することができるため、キー生成等の暗号適用例にとって有用な推定素数を迅速に生成し、検査することができる。
本発明の別の目的は、先述の推定素数の生成および検査方法を実行するプログラム化されたコンピュータシステムまたは構成された処理チップの形態での暗号化装置を提供することである。
発明の開示
上記の目的は、スマート増分および小さな素数の検査技術を実現する方法および装置によって満たされ、非常に小さな素数(たとえば2,3,5および7)に対して互いに素の、ランダムに生成された第1の大きな候補で始まる連続した候補は、モジュール単位で減じられ、可能性のある候補がより厳しい推定素数検査のために識別されるまで、指定された組の小さな素数(たとえば11から241までの素数)に対して検査される。
スマート増分プログラム機能は、選択された非常に小さな素数の、つまり選択された非常に小さな素数の積(たとえば210を法とする)に対して互いに素である合同な値の表を用いて次の候補への増分(必ずしも2ではない)を識別することによって、連続する整数候補を見つける。この表は、未知の方法によって最終的に見つけれられる素数の形式を記録し、これは暗号化による機密保護のために強く望まれる。これは即座に、非常に明白な合成数の約4分の3をふるいにかけて、非常に小さな素数に対して互いに素であると知られる残余の候補のみが、プログラムの小さな素数の検査機能における試し割算にかけられるようにする。この表を用いることによって、増分を、試し割算をすることなく大きな整数候補それ自体によって見つけることができる。
小さな素数の検査プログラム機能は、小さな素数のリストに対して試し割算を行なう。しかしながら、このプログラムの速度は、非常に大きな候補それ自体に対してよりも、1組のモジュール単位の減じられた値(たとえば1024ビットではなく32ビットのサイズ)に対し試し割算を行なうことによって増加する。減少モジュールは、候補が検査されるグループの同じ小さな素数のサイズ制限された積(たとえばせいぜい32ビット)である。
小さな素数検査を通過した候補(いかなる所与の範囲における整数の合計数の約10パーセント)のみが、ミラー・ラビンまたはフェルマーのようなより厳しい推定素数検査にかけられる。
発明を実施するためのベストモード
本発明は、暗号化の使用のための大きな(典型的に256,324,512,1024ビットまたはそれよりも大きい)推定素数を生成し検査するためのコンピュータで実現される方法についてである。この方法は、好ましくはコンピュータ読取可能媒体に記憶され、これから読出され、かつ汎用プログラマブルコンピュータシステムによって実行されるソフトウェアコードとして実現される。これはまた、(たとえばスマートカード上の)特定目的の暗号コンピュータチップにおけるファームウェアとして、または構成可能なハードウェア(たとえばFPGAチップ)もしくはその回路における方法のステップを実行す
るように特にプログラムもしくは設計された特定用途向け回路(すなわちASICチップ)としても実現されるかもしれない。推定素数のための暗号化の使用は、非対称(公開−秘密鍵のペア)暗号化プログラムにおけるような鍵の生成を含む。推定素数のための別の暗号化の使用は、擬似ランダム数生成、たとえばストリーム暗号通信のためのものである。本発明の方法は、典型的に、この方法によって生成される大きな推定素数が用いられる、より大きな暗号コンピュータプログラムの一部である。コンピュータシステムまたは特別な目的のチップは、本発明の方法を実行するためにプログラム化されるときは、その時に素数生成回路または装置と考えることができる。
この方法は、スマート増分技術を用いることによって、推定素数を見つける速度を増大して、可能性のない候補を検査するのを回避する。所望のビットサイズ(たとえば1024ビット)のランダムな数が選択され、非常に小さな素数2,3,5および7に対して互いに素である値に即座に増分されて、最初の候補を生成する。各々の候補は、小さな素数のリストを用いた試し整数割算で始まるプログラム化されたコンピュータシステムまたはチップによって検査され、合成数であるとわかった場合、それは選択された偶数(必ずしも2ではない)によって増分されて、非常に小さな素数2,3,5および7に対して互いに素である次の候補を得る。この方法は、このスマート増分技術を用いて、整数割算によって検査される合成数の数を最小にする。試し割算は、大きな候補数に対して直接行なわれるのではなく、候補の32ビットのモジュラ約分に対して行なわれ、さらに方法を加速する。小さな素数の試し割算検査を通過した候補を見つけると、この可能性のある候補は次に、(ミラー・ラビン検査またはフェルマー検査等の)1つ以上の既知の厳しい推定素数検査アルゴリズムを用いて検査される。これら後者の検査はより時間がかかる(たとえば上記に挙げた検査の双方はモジュールのべき乗を採用する)ために、整数割算検査において小さな素数に対して互いに素であることがわかった可能性のある候補のみがより厳しい検査にかけられる。
コンピュータプログラムの主な部分は、以下を含み得る。
Figure 0004756117
このプログラムにおいて、“Alea”は、検査されるべきランダムに選択された候補の整数の名前である。必要サイズの非常に大きな奇数の候補を迅速に生成することのできるいかなるランダムまたは擬似ランダム数生成ルーチンも用いることができる。“SmallPrimesTest”および“SmartIncrement”は、以下で詳細に説明するが、これらはそれぞれ、小さな素数のリストに対する整数割算検査および本発明のスマート増分技術を行なう機能である。最後に、検査される小さな素数に対して互いに素である数が得られる(AleaIsComposite=false)。さらに、利用可能ないかなる1つ以上の厳しい従来の素数検査の方法も(関数読出“Number_Is_Probably_Prime”で表わされる)その数に対して採用することができる。しかしながら、このような厳しい検査は、最初に“SmallPrimesTest”を通過した候補に対してのみ行なわれる(可能性のある候補のうち約90%が、SmartIncrementおよびSmallPrimesTest機能によって検証済みの合成数として排除されるため、より厳しい検査は候補値の残りの10%に対してのみ行なわれる)。候補が選択された厳しい素数検査に落ちた場合、新しい候補が生成され、そこでメインプログラムが中止される。
SmartIncrement機能は以下の表を用いる。
Figure 0004756117
Table_210は、2,3,5または7で割り切れるすべてのエントリに対するゼロからなる。しかしながら、2,3,5および7に対して互いに素であるエントリについて、表は非ゼロ値、たとえば整数それ自体を有する。表において割り切れる値を示す要素と、互いに素の値を示す要素とを区別する他の方法を用いることもできる。この表は、SmallPrimesTest機能を用いて、SmartIncrementが、さらなる整数割算検査のための2,3,5および7に対して互いに素である候補を選択する助けをする。
SmartIncrement機能は、以下のプログラムステップを含み得る。
Figure 0004756117
SmartIncrementのこの実施例は、各々の後に続く候補が2,3,5および7で割り切れないことを保証する。Aleaは直接には用いられない。むしろ、増分の計算は、Alea%210(すなわちモジュールの残り)に基づいて行なわれる。機能は、それが非ゼロである、すなわち2,3,5および7に対して互いに素である(対応する値Alea+Incrementと合同である)Mod_210のための次の値を見つけるまで、Table_210を実行する。暗号化の使用について、既知の特定の形式を有する素数を用いないことが重要である。したがって、たとえば、それが計算するのに簡単であったとしても、候補の選択肢を210を法として1と合同なものに制限しない。2,3,5,7および11に対して互いに素である整数を識別する2310値のより大きな表が、好適な修正とともに用いられるかもしれないが、表における非常に小さな素数の数が増加するとリターンが減じられる(Table_210は、候補のうちの48/210または22.86%を除くすべてを排除し、一方でより大きなTable_2310は候補のうちの480/2310または20.78%を除くすべてを排除する。大きめの小さな素数(たとえば11から241)は、表に基づくスマート増分ではなく試し割算の方を用いてより適切に検査される。
小さな素数の検査は複数の表を利用する。
Figure 0004756117
第1のおよび第2の表は、それぞれ250未満の第1の既知の素数およびこのリストからの素数グループの積のリストである。素数2,3,5および7は表から省略されている。なぜなら、ランダムな数“Alea”が奇数であるだけでなく、上記で詳述した“SmartIncrement”手順を用いて3,5および7に対して互いに素となるように選択されることを保証するからである。第2のリストにおける積は、割算を容易にするために32ビットに制限されている(利用可能なハードウェアに依存して、64ビットまたはさらに大きな積を代わりに用いることができる)。第3の「インデックス」表は、小さな素数のリストを第2のリストにおける積に対応する連続した部分集合にインデックス付けする機能を果たす。
表のサイズは、所望の検査の数に依存して拡大または縮小することができる。必要と考えられる検査の数は、典型的に、生成されなければならない素数のビットサイズに基づいている。ここで示されたよりも大きな表については、素数それ自体ではなく、2,3,5および7に対して互いに素であるすべての数から表を導き出すことの方が便利であるかもしれない。合成数の小さな数が素数に追加して含まれる(たとえば121,143,169,187,209,221および247が上記表に追加される)一方で、検査のための値の生成が容易であることは、検査を絶対的に必要以上にわずかに長くすることよりも勝るかもしれない。しかしながら、やはり素数のリストが長くなると、小さな素数の試し割算によって排除する検証済みの合成数のリターンが減少する。試し割算からより厳しいミラー・ラビン、フェルマーまたはいくつかの他の推定素数検査へ切換えることが望まれる点は、主に候補のビットサイズおよび所望のセキュリティレベルに依存する判断の問題である。
小さな素数検査機能のためのコンピュータプログラムは、以下を含み得る。
Figure 0004756117
小さな素数検査を最初に実行する際に、もとの大きな候補の整数Aleaは、最初に、Table_Reductionsにおける素数の積の各々の1つによるモジュール割算を行なうことによって、さらに小さい32ビットの整数“Table_Mod”に減じられて、1組の32ビットの残りを得る。これらの“Table_Mod”エントリは、“SmallPrimesTest”の各々の後に続く呼出のためにプログラムによって保持されて、大きな整数の割算を計算し直す必要がないようにすべきである。試し割算は次に、現在の試し増分“MainIncrement”によって最初に増
分された後で、インデックス表を用いて対応する減少のために用いられる積であった同じ素数に対して候補を検査することによって、“Table_Mod”エントリとともに実行され、残余部分がチェックされる。“Table_SmallPrimes”からのいかなる小さな素数による試し割算がゼロである場合、現在の候補は合成数であることがわかり、値(合成数=真)は、必要とされるその候補に対する何らかのさらに他の試し割算も行なわずに戻される。残りがすべての検査された小さな素数に対して非ゼロである場合、値(合成数=偽)は戻されて、メインプログラムはより厳しい推定素数検査へと進む。
一旦候補が検査のすべてを通過すると、それは推定素数であることが示される。これは次に、非対称(公開鍵)ブロック暗号のためのキー生成、または、ストリーム暗号通信のための(米国特許第4,780,840号にあるような)擬似ランダム数生成のような適用例のための暗号プログラムの他の部分によって用いられる。スマートカードトランザクションにおけるセッションキーの生成での使用が特に関連している。なぜなら、高速な生成および検査速度によって、この方法は、必要以上に遅延することなく、スマートカードに置かれた単一チップのプロセッサによって実行することができるからである。

Claims (14)

  1. 機密保護のために大きな素数に依存した暗号化適用による使用のためにプログラムを実現する際に処理装置によって実行される方法であって、
    前記方法は前記暗号化適用で用いるための1以上の推定素数候補を生成し、
    前記方法は以下の一連のステップを実行する暗号化適用のハードウェアで実行される命令を含み、前記一連のステップは、
    指定された第1のビットサイズを有する擬似ランダム数を与えるステップと、
    第1の増分と合計することによって、前記擬似ランダム数から第1の候補を生成するステップとを含み、前記第1の増分は、前記第1の候補が1組の非常に小さな素数にとって互いに素となるように選択され、前記一連のステップはさらに、
    前記非常に小さな素数以外の小さな素数のリストに対する試し割算によって、前記リストにおける前記小さな素数のすべてに対して互いに素である候補が見つかるまで、前記第1の候補で始まる連続した候補を繰り返して検査するステップとを含み、連続した候補は以下のステップによって検査され、前記以下のステップは、
    (i) 第1の候補の1組のモジュラ約分を計算するステップを含み、この1組のモジュラ約分の要素は、前記小さな素数のリストの素数グループにおける異なる素の組の積の対応する組の各積を法として第1の候補と合同な残余であり、前記積は、前記第1のビットサイズの4分の1以下である、指定された最大の第2のビットサイズを有し、前記以下のステップはさらに、
    (ii)各々の連続した候補のために更新される前記第1の増分で始まる主な増分値を維持するステップを含み、主な増分値の各々の連続した更新は、前記第1の候補の値に追加されたときに、組をなす非常に小さな素数に対して互いに素である次の連続した候補を与えるステップと、
    (iii)主な増分値の最近の更新によって更新された1組のモジュラ約分の各々の要素について、候補が合成数であることがわかるまで、前記小さな素数のリストの素数グループにおける素数の各々に対する試し割算によって、更新された前記要素を検査して、残余がゼロであるかどうかを決定し、前記残余がゼロのときは現在の候補を合成数として指定するステップとを含み、前記一連のステップはさらに、
    前記リストにおける前記小さな素数のすべてに対して互いに素である候補を見つけた後で、第1の候補に現在の主な増分値を加えたものに等しい前記候補を、少なくとも1つの既知の厳しい推定素数検査にかけて、候補が何らかの1つの前記厳しい検査に従って合成数であることがわかった場合、小さな素数の試し割算および前記厳しい検査の双方を通過した候補が見つかるまで、小さな素数のリストに対する試し割算による連続した候補の前記繰り返しの検査を継続して、小さな素数の試し割算および前記厳しい検査の双方を通過した前記候補は推定素数値と考えられ、前記一連のステップはさらに、
    前記暗号化適用で推定素数値を用いるステップを含む、方法。
  2. 前記処理装置は、汎用プログラマブルコンピュータシステムを含み、プログラムは、前記コンピュータシステムによって読取り可能なソフトウェアの形態である、請求項1に記載の方法。
  3. 前記処理装置は集積回路チップを含み、プログラムは前記チップによってアクセス可能なファームウェアの形態である、請求項1に記載の方法。
  4. 前記処理装置は、前記プログラムを実現するように構成されたフィールドプログラマブル論理アレイ等の構成可能な論理チップを含む、請求項1に記載の方法。
  5. プログラムステップを実行するように特別に設計された特定用途向け集積回路の形態である、請求項1に記載の方法。
  6. 第1のビットサイズは少なくとも256ビットである、請求項1に記載の方法。
  7. 第2のビットサイズは32ビットである、請求項1に記載の方法。
  8. 前記1組の非常に小さな素数は、2,3,5および7を含む、請求項1に記載の方法。
  9. 前記小さな素数のリストは、11から241の間のすべての連続した素数を含む、請求項8に記載の方法。
  10. 前記第1の増分は、擬似ランダム数である法210と合同な残余を、ゼロから209の値を示す210要素の表と比較することによって見つけられ、2,3,5および7のすべてに対して互いに素である値に対応する表の要素は、表において2,3,5または7のいずれかで割り切れる値に対応する要素から区別され、前記比較は、前記残余を、2,3,5および7のすべてに対して互いに素である値にもたらす増分を識別するために行なわれる、請求項8に記載の方法。
  11. 前記主な増分は、前記210要素の表と比較することによって見つけられ、各々の連続した素数増分値は、前記残余を表における次の互いに素である値にもたらす、請求項10に記載の方法。
  12. 前記既知の厳しい推定素数検査はミラー・ラビン検査を含む、請求項1に記載の方法。
  13. 前記既知の厳しい推定素数検査はフェルマー検査を含む、請求項1に記載の方法。
  14. 推定素数値を用いて少なくとも1つの暗号キーを生成する、請求項1に記載の方法。
JP2004515648A 2002-06-21 2003-04-25 暗号化適用のための推定素数の検査 Expired - Fee Related JP4756117B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/176,497 US6718536B2 (en) 2002-06-21 2002-06-21 Computer-implemented method for fast generation and testing of probable prime numbers for cryptographic applications
US10/176,497 2002-06-21
PCT/US2003/012860 WO2004001595A1 (en) 2002-06-21 2003-04-25 Testing probable prime numbers for cryptographic applications

Publications (3)

Publication Number Publication Date
JP2005531031A JP2005531031A (ja) 2005-10-13
JP2005531031A5 JP2005531031A5 (ja) 2010-10-21
JP4756117B2 true JP4756117B2 (ja) 2011-08-24

Family

ID=29734156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004515648A Expired - Fee Related JP4756117B2 (ja) 2002-06-21 2003-04-25 暗号化適用のための推定素数の検査

Country Status (10)

Country Link
US (1) US6718536B2 (ja)
EP (1) EP1518172B1 (ja)
JP (1) JP4756117B2 (ja)
KR (1) KR100938030B1 (ja)
CN (1) CN100576174C (ja)
AU (1) AU2003225164A1 (ja)
CA (1) CA2489193A1 (ja)
NO (1) NO20050098L (ja)
TW (1) TWI282512B (ja)
WO (1) WO2004001595A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm
US7149763B2 (en) * 2002-09-09 2006-12-12 Gemplus Method for generating a random prime number within a predetermined interval
US20050131837A1 (en) 2003-12-15 2005-06-16 Sanctis Jeanne D. Method, system and program product for communicating e-commerce content over-the-air to mobile devices
US8370269B2 (en) 2004-06-02 2013-02-05 Overstock.Com, Inc. System and methods for electronic commerce using personal and business networks
DE102004044453A1 (de) * 2004-09-14 2006-03-30 Giesecke & Devrient Gmbh Probabilistischer Primzahltest und probabilistische Primzahlermittlung
US8265265B2 (en) * 2005-08-19 2012-09-11 Nxp B.V. Circuit arrangement and method for RSA key generation
US7979340B2 (en) 2005-09-21 2011-07-12 Overstock.Com, Inc. System, program product, and methods for online image handling
US9111122B2 (en) * 2007-07-02 2015-08-18 Freescale Semiconductor, Inc. Asymmetric cryptographic device with local private key generation and method therefor
US8290151B2 (en) * 2007-10-12 2012-10-16 Infineon Technologies Ag Device and method for determining an inverse of a value related to a modulus
US8583480B2 (en) 2007-12-21 2013-11-12 Overstock.Com, Inc. System, program product, and methods for social network advertising and incentives for same
US8214804B2 (en) * 2007-12-31 2012-07-03 Overstock.Com, Inc. System and method for assigning computer users to test groups
JP5328186B2 (ja) * 2008-03-21 2013-10-30 ルネサスエレクトロニクス株式会社 データ処理システム及びデータ処理方法
US7552164B1 (en) 2008-04-24 2009-06-23 International Business Machines Corporation Accelerated prime sieving using architecture-optimized partial prime product table
US9747622B1 (en) 2009-03-24 2017-08-29 Overstock.Com, Inc. Point-and-shoot product lister
FR2946207A1 (fr) * 2009-05-28 2010-12-03 Proton World Internat Nv Protection d'une generation de nombres premiers pour algorithme rsa
US9047642B2 (en) 2011-03-24 2015-06-02 Overstock.Com, Inc. Social choice engine
JP5744673B2 (ja) * 2011-08-10 2015-07-08 キヤノン株式会社 情報処理システム、情報処理方法、及びプログラム
CN102325024A (zh) * 2011-09-26 2012-01-18 飞天诚信科技股份有限公司 一种生成大素数的方法和装置
CN102591618B (zh) * 2011-12-23 2014-12-10 飞天诚信科技股份有限公司 一种在嵌入式系统中生成大素数的方法
US10546262B2 (en) 2012-10-19 2020-01-28 Overstock.Com, Inc. Supply chain management system
US10949876B2 (en) 2012-10-29 2021-03-16 Overstock.Com, Inc. System and method for management of email marketing campaigns
US11676192B1 (en) 2013-03-15 2023-06-13 Overstock.Com, Inc. Localized sort of ranked product recommendations based on predicted user intent
US11023947B1 (en) 2013-03-15 2021-06-01 Overstock.Com, Inc. Generating product recommendations using a blend of collaborative and content-based data
US10810654B1 (en) 2013-05-06 2020-10-20 Overstock.Com, Inc. System and method of mapping product attributes between different schemas
US9483788B2 (en) 2013-06-25 2016-11-01 Overstock.Com, Inc. System and method for graphically building weighted search queries
US10929890B2 (en) 2013-08-15 2021-02-23 Overstock.Com, Inc. System and method of personalizing online marketing campaigns
US10872350B1 (en) 2013-12-06 2020-12-22 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
RU2549129C1 (ru) * 2014-02-21 2015-04-20 Кирилл Николаевич Шихаев Способ тестирования чисел на простоту
PL412893A1 (pl) * 2015-06-29 2017-01-02 Adips Spółka Z Ograniczoną Odpowiedzialnością System szyfratora ze zintegrowanym generatorem kluczy jednorazowych oraz sposób generowania jednorazowych kluczy szyfrowania
US10534845B2 (en) 2016-05-11 2020-01-14 Overstock.Com, Inc. System and method for optimizing electronic document layouts
US10341098B2 (en) * 2017-01-24 2019-07-02 Nxp B.V. Method of generating cryptographic key pairs
KR102024557B1 (ko) * 2017-02-09 2019-09-24 한양대학교 산학협력단 소수 검사 기법의 최적 조합 검색 방법 및 장치
US10970769B2 (en) 2017-03-02 2021-04-06 Overstock.Com, Inc. Method and system for optimizing website searching with user pathing
GB2574613B (en) * 2018-06-12 2020-07-22 Advanced Risc Mach Ltd Device, system, and method of generating and handling cryptographic parameters
US11514493B1 (en) 2019-03-25 2022-11-29 Overstock.Com, Inc. System and method for conversational commerce online
US11205179B1 (en) 2019-04-26 2021-12-21 Overstock.Com, Inc. System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce
US11734368B1 (en) 2019-09-26 2023-08-22 Overstock.Com, Inc. System and method for creating a consistent personalized web experience across multiple platforms and channels

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187037A (ja) * 1996-12-26 1998-07-14 Fuji Xerox Co Ltd 素数判定方法および装置
JPH10240128A (ja) * 1996-12-26 1998-09-11 Toshiba Corp 暗号装置、暗号鍵生成方法及び暗号鍵管理方法、並びに素数生成装置及び素数生成方法
JP2000162968A (ja) * 1998-11-27 2000-06-16 Murata Mach Ltd 素数生成方法及び素数生成装置並びに暗号システム
JP2002351314A (ja) * 2001-05-24 2002-12-06 Sony Corp 暗号情報生成方法と暗号情報生成装置、暗号情報生成プログラム及び記録媒体
JP2003005643A (ja) * 2001-06-20 2003-01-08 Sony Corp 素数生成装置
JP2003029632A (ja) * 2001-07-17 2003-01-31 Hitachi Software Eng Co Ltd 素数生成方法および装置並びにプログラム
JP2003122251A (ja) * 2001-10-10 2003-04-25 Sony Corp 暗号情報生成方法と暗号情報生成装置、暗号情報生成プログラム及び記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4351982A (en) 1980-12-15 1982-09-28 Racal-Milgo, Inc. RSA Public-key data encryption system having large random prime number generating microprocessor or the like
NL8202547A (nl) 1982-06-23 1984-01-16 Philips Nv Werkwijze voor het opwekken van een pseudo-random reeks van tekens met grote reekslengte.
GB8819767D0 (en) * 1988-08-19 1989-07-05 Ncr Co Public key diversification method
US5432852A (en) * 1993-09-29 1995-07-11 Leighton; Frank T. Large provably fast and secure digital signature schemes based on secure hash functions
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
AUPO799197A0 (en) * 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
JP3835896B2 (ja) * 1997-07-30 2006-10-18 富士通株式会社 素数生成装置,B−smooth性判定装置及び記録媒体
US6081598A (en) * 1997-10-20 2000-06-27 Microsoft Corporation Cryptographic system and method with fast decryption
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
US6307938B1 (en) * 1998-07-10 2001-10-23 International Business Machines Corporation Method, system and apparatus for generating self-validating prime numbers
US20020099746A1 (en) * 1999-07-26 2002-07-25 Tie Teck Sing T-sequence apparatus and method for general deterministic polynomial-time primality testing and composite factoring
KR100769482B1 (ko) * 2000-06-05 2007-10-24 피닉스 테크놀로지 리미티드 다중 서버를 사용하는 원격 패스워드 인증을 위한 시스템, 방법 및 소프트웨어
US7457413B2 (en) * 2000-06-07 2008-11-25 Anoto Ab Method and device for encrypting a message
US20020136401A1 (en) * 2000-07-25 2002-09-26 Jeffrey Hoffstein Digital signature and authentication method and apparatus
US7120248B2 (en) * 2001-03-26 2006-10-10 Hewlett-Packard Development Company, L.P. Multiple prime number generation using a parallel prime number search algorithm

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187037A (ja) * 1996-12-26 1998-07-14 Fuji Xerox Co Ltd 素数判定方法および装置
JPH10240128A (ja) * 1996-12-26 1998-09-11 Toshiba Corp 暗号装置、暗号鍵生成方法及び暗号鍵管理方法、並びに素数生成装置及び素数生成方法
JP2000162968A (ja) * 1998-11-27 2000-06-16 Murata Mach Ltd 素数生成方法及び素数生成装置並びに暗号システム
JP2002351314A (ja) * 2001-05-24 2002-12-06 Sony Corp 暗号情報生成方法と暗号情報生成装置、暗号情報生成プログラム及び記録媒体
JP2003005643A (ja) * 2001-06-20 2003-01-08 Sony Corp 素数生成装置
JP2003029632A (ja) * 2001-07-17 2003-01-31 Hitachi Software Eng Co Ltd 素数生成方法および装置並びにプログラム
JP2003122251A (ja) * 2001-10-10 2003-04-25 Sony Corp 暗号情報生成方法と暗号情報生成装置、暗号情報生成プログラム及び記録媒体

Also Published As

Publication number Publication date
EP1518172B1 (en) 2012-04-18
WO2004001595A1 (en) 2003-12-31
CA2489193A1 (en) 2003-12-31
AU2003225164A1 (en) 2004-01-06
TW200400465A (en) 2004-01-01
US6718536B2 (en) 2004-04-06
EP1518172A4 (en) 2007-12-05
CN1688973A (zh) 2005-10-26
KR100938030B1 (ko) 2010-01-21
EP1518172A1 (en) 2005-03-30
KR20050023326A (ko) 2005-03-09
TWI282512B (en) 2007-06-11
JP2005531031A (ja) 2005-10-13
NO20050098L (no) 2005-01-07
US20030235299A1 (en) 2003-12-25
CN100576174C (zh) 2009-12-30

Similar Documents

Publication Publication Date Title
JP4756117B2 (ja) 暗号化適用のための推定素数の検査
Van Dam et al. Quantum algorithms for some hidden shift problems
JP2005531031A5 (ja)
US7962540B2 (en) Mixed radix number generator with chosen statistical artifacts
EP1699161A1 (en) Prime calculation device, method, and key issuing system
Ruhkin Testing randomness: A suite of statistical procedures
Lagarias Pseudorandom numbers
Tuncer et al. Random number generation with LFSR based stream cipher algorithms
JP5165755B2 (ja) 有限体演算を用いる暗号学的乱数発生器
Goldreich et al. On the security of modular exponentiation with application to the construction of pseudorandom generators
Rose KISS: A bit too simple
Von Zur Gathen et al. Generating safe primes
Rakhmatullaevich et al. Analysis of cryptanalysis methods applied to stream encryption algorithms
Myzdrikov et al. Modification and optimization of solovey-strassen's fast exponentiation probablistic test binary algorithm
US8411859B2 (en) Non-deterministic number generation
Arvind et al. Solvable group isomorphism is (almost) in NP/spl cap/CoNP
Rose KISS: A bit too simple
Goldreich et al. On Pseudorandomness with respect to Deterministic Observes.
Khymenko et al. IMPROVEMENT OF THE PSEUDORANDOM KEY SEQUENCES GENERATION ALGORITHM BASED ON CELLULAR AUTOMATON AND MANY-VALUED LOGIC BENT-SEQUENCES.
Somer et al. Nondefective Integers With Respect to Certain Lucas Sequences of the Second Kind.
Alioto et al. On the suitability of digital maps for integrated pseudo-RNGs
El Den et al. An Enhanced Pseudorandom Number Generator Based Differential Lorenz system by using Runge-Kutta method
Fujieda et al. A light-weight implementation of latch-based true random number generator
JP3750295B2 (ja) 素数生成方法および装置
Su et al. A new hard-core predicate of paillier’s trapdoor function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090602

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090609

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090609

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090902

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090909

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20091112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100621

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20100902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101206

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110301

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4756117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees