CN100576174C - 检验密码应用的可能素数 - Google Patents

检验密码应用的可能素数 Download PDF

Info

Publication number
CN100576174C
CN100576174C CN03818316A CN03818316A CN100576174C CN 100576174 C CN100576174 C CN 100576174C CN 03818316 A CN03818316 A CN 03818316A CN 03818316 A CN03818316 A CN 03818316A CN 100576174 C CN100576174 C CN 100576174C
Authority
CN
China
Prior art keywords
candidate
prime number
increment
prime
check
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
CN03818316A
Other languages
English (en)
Other versions
CN1688973A (zh
Inventor
V·杜帕丘斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rumbas
Original Assignee
Atmel Corp
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 Atmel Corp filed Critical Atmel Corp
Publication of CN1688973A publication Critical patent/CN1688973A/zh
Application granted granted Critical
Publication of CN100576174C publication Critical patent/CN100576174C/zh
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

Abstract

本发明提供一种快速地产生以及检验用于密码应用的可能素数的计算机程序。该在计算机硬件上执行的程序指令所执行的步骤包括一聪明增量程序函数,其寻找相继的候选数是通过利用一相当于选定的极小素数的互素数的表以找出加到下一候选数的一增量,藉此可筛出大约四分之三的实在明显的无需接受试除的部份。该程序指令还包括一小素数检验程序函数,其通过将模简化数而不是该些极大候选数本身相对于一列小素数进行试除以提高试除速度。只有大约百分之十的通过小素数检验的候选数将会接着接受更严格,但费时的可能素性检验。

Description

检验密码应用的可能素数
技术领域
本发明涉及密码术,其包括像素数生成、密钥生成及伪随机数生成这样一些基本密码部件。具体地说,本发明涉及计算机软件密码术方法以及相应的程序硬件装置,该装置可进行素数生成以及对产生的候选数作可能素性检验,所述方法特别着重于速度方面。
背景技术
对于各种各样的密码应用,大素数或可能素数是有用的。举例来说,素数可用于产生一公开密钥密码系统(例如RSA)中的密钥对。此外,正如Van DenEnde的美国专利号4,780,840中所述,可以利用素数产生一伪随机数序。这种数序又可用于保密通信用的流密码。
因为在这些类型应用中所要求的可能素数的大小增大,一种能够高效地以密码术方法所用的程控计算机系统或芯片快速地产生这样一些素数的方法变得非常重要。在许多应用中,为增加安全性及灵活性,希望可在使用前才立即产生大的随机素数,而不是依赖一组预先计算出的贮存的素数。不幸的是,一大素数生成的难处在于候选的可能素数必须通过费时的或需要大量计算能力的或两者兼之的演算法(像是Miller-Rabin或Fermat)来检验。能快速地将不太可能的候选数排除的技术,可使在一可能素数被鉴定之前需要进行这种严格检验的次数减至最少。
在美国专利号4,351,982中,Miller et al.揭示从一已知素数开始,通过将序列中的一在前素数P增大到一新数值hP+1(h为随机数)然后对该新数值作素性检验以产生一素数序列。无论何时,当发现一数值为一合数时,将h加2,并且检验新的hP+1。一旦发现一数值hP+1为一素数,在下次搜索时,该数值会用作新的素数P。
 P.Mihailescu在一篇题为「产生可能素数的技术」〔IEEE P1963 Submission(1994)〕的论文中,叙述了一产生素数的筛选方法,素数形式为:
N=2*(t+k)*Q+1,式中通过加k以某一方式进行候选素数的增量搜索。
J.Brandt et al.在一篇题为「关于以增量搜索来产生可能素数」〔Advances in Cryptology-Crypto‘92,Springer-Verlag(1993),pp.358-370〕的论文中,叙述了一种对候选数作素性检验的增量搜索。在该文中,用来以在前检验的候选数产生新的候选数的增量永远为2。
本发明的一个目的在于提供一计算机软件(或韧件)方法,通过该方法,一编制了所述软件的计算机系统或芯片可以有效地免除对不太可能的候选数作素性检验以便可以快速地产生以及检验可用于诸如密钥生成的密码应用的可能素数。
本发明的另一个目的在于提供一种以一程控计算机系统或配置的处理芯片的形式的密码装置来实施上述的可能素数产生及检验方法。
发明内容
上述的目的藉由一实施一聪明增量以及一小素数检验技术的方法及装置来达成,其中的相继的候选数,从一随机产生的且为极小素数(例如2、3、5及7)的互素数的第一大候选数开始,将其相对于一指定的小素数组(例如从11到241的素数)作模简化及检验,直到鉴别出一可能候选数作更严格的可能素性检验为止。
该聪明增量程序函数寻找相继的整数候选数是通过利用一个相当于将选定的极小素数的互素数以选定的极小素数的乘积为模(例如以210为模)所制成的表来确定对下一候选数的一增量(不一定为2)。该表使以本发明方法最终找出的素数的形式保持为不能识别,这对密码安全性来说是极为需要的。该聪明增量程序函数可立刻筛出大约四分之三的实在明显的合数,以致于只有剩余的已知为该些极小素数的互素数的候选数才会于本发明程序中的小素数检验函数中接受试除。使用该表还能够在无需将该大整数候选数本身作试除之下就可找到一增量。
小素数检验程序函数会相对于一列小素数进行试除。然而,将一组模简化的数值而不是将该些极大候选数本身(例如是32比特大小而不是1024比特的)进行试除可使该程式的速度提高。该些简化用的模数为一些小素数组的大小受限定(例如最大为32比特)的乘积,候选数将相对于该些相同的小素数作检验。
只有通过小素数检验的候选数(大约为任何给定范围中总体整数的百分之十)才将接受像是Miller-Rabin或Fermat的更严格的可能素性检验。
具体实施方式
本发明为一以计算机执行的用于密码应用的大的(典型为256、324、512、1024比特或更大)可能素数的产生及检验方法。该方法最好实现为软件程序,其可在一计算机可读的媒体上储存及读取以及可通过一通用的可编程计算机系统来执行。该方法也可以实现为在一专用的密码计算机芯片(例如在一聪明卡)中的韧件,或者甚至可作为可配置的硬件(例如一现场可编程门阵列芯片)或者专用电路系统(例如一专用集成电路芯片),其专门编程或设计用来在其电路系统中执行该方法的步骤。可能素数在密码方面的用途包括产生像是在非对称(公共-私人密钥对)编密码程序中的密键。可能素数在密码方面的另一用途为产生像是流密码通信用的伪随机数。本发明方法典型地为一使用以本方法产生的大的可能素数的较大密码计算机程序的一部份。在被编程来执行本发明的方法的时候,计算机系统或专用芯片可以被视为一种素数产生电路或装置。
本方法通过采用一聪明增量技术以避免必须检验不太可能的候选数来提高可能素数的查找速度。选择一所要求的比特大小(例如1024比特)的随机数以及立即将其增量为一极小素数2、3、5及7的互素数以产生初始的候选数。由利用一列小素数尝试整数除法开始,每一候选数由程控计算机系统或芯片检验,并且如果发现该候选数为合数时,则使该候选数增量一选定的偶数(不一定为2),以获得一为极小素数如2、3、5及7的互素数的下一候选数。本方法使用该聪明增量技术使以整数除法检验的合数减至最小。不对该大的候选数直接地进行试除,而是对该候选数的32比特的模简化的数作试除,进一步地提高了本方法的速度。当发现一候选数通过该小素数试除检验的时候,则可利用一或多种已知的严格的可能素数检验演算法来检验该有可能的候选数,例如Miller-Rabin检验或Fermat检验。因为这些检验较费时(例如上述的两种检验皆使用模幂运算),所以只有当那些可能候选数在整数除法中被找出为小素数的互素数时,该些可能候选数才会接受更严格的检验。
计算机程序的主要部分可以包括以下部份:
MainIncrement:=SmartIncrement(true);
AleaIsComposite:=SmallPrimesTest(true);
Label Generate_Candidate
While(AleaIsComposite=true)do
   Begin
   LocalIncrement:=SmartIncrement(false);
   MainIncrement:=MainIncrement+LocalIncrement;
   For Counter:=0to MAX_MODULI-1 do
   Begin
   Table_Mod[Counter]:=(Table_Mod[Counter]+LocalIncrement)%
    Table_Reductions[Counter];
   End;
   AleaIsComposite:=SmallPrimesTest(false);
   End;
Alea:=Alea+MainIncrement;
If(not Number_Is_Probably_Prime(Alea))then
   Begin
   AleaIsComposite:=true;
   Goto Generate_Candidate;
   End;
在此程序中,″Alea″为待检验的随机挑选的候选的整数的名称。可以使用任何随机或伪随机数生成程序,其能够快速地产生一具有要求大小的极大奇数的候选数。″SmallPrimesTest″及″SmartIncrement″分别为本发明将候选数相对于一列小素数进行整数除法检验以及聪明增量技术的函数,以下将作更详细地叙述。在最后,我们获得一个数,其为该些检验用的小素数的互素数(即″AleaIsComposite″的布尔值为假)。然后,对该数可以使用任何一或多种适用的更严格的传统素性检验方法(由函数呼叫″Number_Is_Probably_Prime″示出)。不过,这种严格的检验只在那些首先通过SmallPrimesTest的候选数上实行。(大约百分之九十的可能候选数因为通过SmartIncrement及SmallPrimesTest函数被证实为合数而遭排除,所以较严格的检验只在剩余的百分之十的候选数上进行。)如果该候选数不能通过那些选择的严格素性检验,则会在主程序停止的地方产生一新的候选数。该SmartIncrement函数使用以下的表:
Table_210[210]={0,1,0,0,0,0,0,0,0,0,0,11,0,13,0,0,0,17,0,19,0,0,0,23,0,0,0,0,0,29,0,31,0,0,0,0,0,37,0,0,0,41,0,43,0,0,0,47,0,0,0,0,0,53,0,0,0,0,0,59,0,61,0,0,0,0,0,67,0,0,0,71,0,73,0,0,0,0,0,79,0,0,0,83,0,0,0,0,0,89,0,0,0,0,0,0,0,97,0,0,0,101,0,103,0,0,0,107,0,109,0,0,0,113,0,0,0,0,0,119,0,121,0,0,0,0,0,127,0,0,0,131,0,0,0,0,0,137,0,139,0,0,0,143,0,0,0,0,0,149,0,151,0,0,0,0,0,157,0,0,0,0,0,163,0,0,0,167,0,169,0,0,0,173,0,0,0,0,0,179,0,181,0,0,0,0,0,187,0,0,0,191,0,193,0,0,0,0,0,199,0,0,0,0,0,0,0,0,0,209}
Table_210包括的零值代表所有那些可被2、3、5或7除尽的数。但是那些为2、3、5及7的互素数的数,在表内则为非零值,例如为该些整数本身的值。也可以利用其它的方法区别在该表中代表可除尽及互素数数值的元素。该表有助于SmartIncrement选择一为2、3、5及7的互素数的候选数,以便利用SmallPrimesTest函数作进一步的整数除法检验。
该SmartIncrement函数可以包括以下的程序步骤:
Function SmartIncrement(FirstCall:Boolean):integer
Var Increment:integer;
Begin
If(FirstCall=true)then
   Begin
   Mod_210:=Alea%210;
   Increment:=0;
   End
Else Begin
   Mod_210:=(Mod_210+2)%210;
   Increment:=2;
   End;
While(Table_210[Mod_210]=0)do
   Begin
   Mod_210:=(Mod_210+2)%210;
   Increment:=Increment+2;
   End;
Return(Increment);
End;
SmartIncrement的这一实施例确保每个随后的候选数不可以被2、3、5及7除尽。Alea不会被直接使用。更确切地说,增量计算可以基于将Alea以210为模的余数(即是模余数)。该函数逐步的通过表Table_210来寻找,直到发现该表中下一个由Mod_210所指的值(相当于相应的数值Alea+Increment)为非零值,即是2、3、5及7的互素数。对于密码应用来说,重要的是不要使用一具有已知的具体形式的素数。因此,举例来说,候选数的选择不要限于那些相当于将1以210为模的余数,即使该些候选数会较容易计算。在适当的修改下,可以使用一由2310个数值组成的较大表以鉴定2、3、5、7及11的互素数的整数,但由于该表中的极小素数的数目增加,返回则会逐渐减少。(除了48/210或22.86%的候选数,Table_210可排除所有的,而较大的Table_2310则除了480/2310或20.78%的候选数,可排除所有的。)要较佳地检验较大的小素数(例如11至241),使用试除胜于用基于表的聪明增量。
小素数检验会利用以下一些表:
Table_SmallPrimes[0..MAX_SMALL_PRIMES-1]={11,13,17,19,23,29,31,37,41,43,47,53,59,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241};
Table_Reductions[0..MAX_MODULI-1]={11*13*17*19*23*29*31,37*41*43*47*53,59*61*67*71*73,79*83*89*97,101*103*107*109,113*127*131*137,139*149*151*157,163*167*173*179,181*191*193*197,199*211*223*227,229*233*239*241};
Table_SmallPrimesIndexes[0..MAX_MODULI-1]={0,7,12,17,21,25,29,33,37,41,45}。
第一表及第二表分别为一列小于250的基本的已知素数以及以该列中的一些素数组的乘积。在该些表中,素数2、3、5及7不包括在内,因为要保证该随机数″Alea″不仅为奇数,而且还要利用以上文详细说明的″SmartIncrement″程序将其选择为3、5及7的互素数。第二表中的乘积的大小限于32比特以便于除法运算。(可以采用64比特或更大的乘积来代替,随可用的硬件而定。)第三″索引″表用来指出在该列小素数中与第二表中的乘积相应的连续的子集于第一表中的地址。
该表的大小可以扩大或缩小,取决于所要求的检验次数。要认定所要求检验的次数,通常可基于必须产生的素数的比特大小。对于那些比本文给出的表更大的表来说,可以较方便地从所有2、3、5及7的互素数得出该些表,而不是从素数本身。虽然除了素数之外,可以包括少数的合数(例如可将121、143、169、187、209、221及247加到所述表之中),但产生检验用数值的简易性可能比令检验较绝对需时稍长来得重要。此外,当该列小素数变得较长时,藉由小素数试除排除证实的合数则使返回会逐渐减少。至于何时需要从试除转变到更为严格的Miller-Rabin、Fermat或者一些其它的可能素数检验则为一判断的问题,主要取决于候选数的比特大小及所要求的保密级。
小素数检验函数的计算机程序可以包括如下:
Function SmallPrimesTest(FirstCall:boolean):boolean;
Var Composite:boolean;
Begin
If(FirstCall=True)then
Begin
For Counter:=0 to MAX_MODULI-1 do
   Begin
   Table_Mod[Counter]:=Alea%Table_Reductions[Counter];
   End;
End;
Composite:=false;
While(Composite=false)do
Begin
Counter:=0;
While((Composite=false)and(Counter<MAX_MODULI))do
   Begin
   CounterPrimes:=Table_SmallPrimes[Table_SmallPrimesIndexes
   [Counter]];
    While((Composite=false)and
     (CounterPrimes<Table_SmallPrimesIndexes[Counter+1]))do
       Begin
       If(((Table_Mod[Counter]+MainIncrement)%
        Table_SmallPrimes[CounterPrimes])=0)then
          Composite:=true;
        Else CounterPrimes:=CounterPrimes+1;
        End;
    Counter:=Counter+1;
    End;
End;
Return Composite;
End;
在首次执行小素数检验的时候,通过以″Table_Reductions″中的每一素数乘积来进行模除以获得一组32比特余数,原来的大候选整数″Alea″首先被简化为一个小得多的32比特整数表″Table_Mod″。这些在″Table_Mod″中的数值应该被程序保留以供每一随后的″SmallPrimesTest″函数呼叫使用,以致于该大整数除法无需重算。然后,在以目前的试增量″MainIncrement″对″Table_Mod″中的数作首次增量之后,继而使用索引表将该候选数相对于相应简化用的乘积中的相同素数来进行试除检验,并且检查其余数。如果以任何在″TableSmallPrimes″中的小素数作试除的结果为零值,那么目前的候选数就被确定为合数,并且送回真值(Composite=true),而无需对该候选数作任何进一步的试除。如果以所有测试的小素数得出的余数皆为非零值,那么就送回假值(Composite=false),而且主程序会继续进行更严格的可能素性检验。
一旦一候选数通过所有检验,即证明该数为一可能素数。然后,该数会由密码程序的其它部份用于这样一些应用,像非对称(公用密钥)分组密码的密钥生成或者流密码通信用的伪随机数生成(如美国专利号4,780,840中所述)。尤其相关的应用是在聪明卡交易中产生话路密钥,因为较快产生以及检验速度使本方法能够通过放置在聪明卡上的单一芯片处理器毫无延误地执行。

Claims (15)

1.一种用于计算机执行的密码程序应用中的方法,所述应用的安全性取决于大素数,所述方法产生一个或一个以上用于所述密码程序应用的可能候选素数,其特征在于所述方法包括以硬件执行的密码应用指令,所述指令按以下的步骤程序实施:
提供一具有一指定的第一比特大小的伪随机数;
将所述伪随机数加上一第一增量以产生一第一候选数,所述第一增量要这样选择以使所述第一候选数为一组极小素数的互素数;
由所述第一候选数开始,通过相对于一列除所述极小素数组之外的小素数作试除来重复地检验相继的候选数,直到找出一候选数,其为所述列中全部的所述小素数的互素数,所述相继候选数由以下步骤检验:
(i)计算所述第一候选数的一组模简化数,所述模简化数组的元素为余数,所述余数相当于所述第一候选数以一所述小素数列中的一些不同素数组的每一相应乘积为模,所述乘积具有一指定的最大第二比特大小,所述第二比特大小比所述第一比特大小至少小四分之三;
(ii)维持一主增量,对于每一所述相继候选数,所述主增量都要校正,当以每一相继更新的所述主增量加到所述第一候选数时,就会提供下一个为所述极小素数组的互素数的所述相继候选数;
(iii)对于以目前校正的所述主增量来增量的所述模简化数组的每一元素,除非以及直到找出一候选数为合数为止,通过相对于相应的小素数组的每一素数作试除检验所述的增量的元素以确定所得余数是否为零值,如是的话,则标明目前的候选数为合数;
在找出一为所述列中全部的所述小素数的互素数之后,使相等于所述第一候选数与所述目前的主增量相加的所述候选数,接受至少一严格的可能素性检验,而且假如根据任何一所述严格的可能素性检验找出一候选数为合数,那么就如前所述般通过相对于所述小素数组作试除不断地检验所述相继候选数直到找出一既通过所述小素数试除又通过所述严格的可能素性检验的候选数,这样的候选数被认为是一可能素数;以及
将所述可能素数用于所述密码程序。
2.根据权利要求1所述的方法,其特征在于:所述用于执行所述密码程序应用的指令的硬件包括一通用的可编程计算机系统,而所述密码程序为一可由所述计算机系统读取的软件形式。
3.根据权利要求1所述的方法,其特征在于:所述用于执行所述密码程序应用的指令的硬件包括一集成电路片,而所述密码程序为一可由所述电路片存取的韧件形式。
4.根据权利要求1所述的方法,其特征在于:所述用于执行所述密码程序应用的指令的硬件包括一可配置的逻辑片,所述逻辑片经配置以执行所述密码程序。
5.根据权利要求1所述的方法,其特征在于:所述密码程序以一专用集成电路的形式专门用来执行所述步骤程序。
6.根据权利要求1所述的方法,其特征在于:所述第一比特大小至少为256比特。
7.根据权利要求1所述的方法,其特征在于:所述第二比特大小为32比特。
8.根据权利要求1所述的方法,其特征在于:所述极小素数组包括2、3、5及7。
9.根据权利要求8所述的方法,其特征在于:所述小素数列包括11至241的所有相继的素数。
10.根据权利要求8所述的方法,其特征在于:通过使一相当于所述伪随机数以210为模的余数与一包括210个元素表示0到209数值的表作比较,得出所述第一增量,其中在所述表中,与所有的2、3、5及7的互素数数值相应的所述表元素不同于可被2、3、5及7之中任何一个除尽的数相应的所述表元素,而且进行比较是要找出一增量,其将使所述余数成为一为所有的2、3、5及7的互素数的数值。
11.根据权利要求10所述的方法,其特征在于:通过与所述有210元素的表比较得出所述主增量,所述每一相继的主增量值可使所述余数成为所述表中的素数的下一互素数。
12.根据权利要求1所述的方法,其特征在于:所述严格的可能素性检验包括Miller-Rabin检验。
13.根据权利要求1所述的方法,其特征在于:所述严格的可能素性检验包括Fermat检验。
14.根据权利要求1所述的方法,其特征在于:所述可能素数用于产生至少一密码密钥。
15.根据权利要求4所述的方法,其特征在于:所述可配置的逻辑片是一现场可编程逻辑阵列。
CN03818316A 2002-06-21 2003-04-25 检验密码应用的可能素数 Expired - Fee Related CN100576174C (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN1688973A CN1688973A (zh) 2005-10-26
CN100576174C true CN100576174C (zh) 2009-12-30

Family

ID=29734156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03818316A Expired - Fee Related CN100576174C (zh) 2002-06-21 2003-04-25 检验密码应用的可能素数

Country Status (10)

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

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 (2)

* 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
US4780840A (en) * 1982-06-23 1988-10-25 U.S. Philips Corp. Method of generating a pseudo-random sequence of signs of a large sequence length

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP3626340B2 (ja) * 1996-12-26 2005-03-09 株式会社東芝 暗号装置及び暗号鍵生成方法、並びに素数生成装置及び素数生成方法
JP3796867B2 (ja) * 1996-12-26 2006-07-12 富士ゼロックス株式会社 素数判定方法および装置
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
JP3518672B2 (ja) * 1998-11-27 2004-04-12 村田機械株式会社 素数生成装置及び暗号システム
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
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 暗号情報生成方法と暗号情報生成装置、暗号情報生成プログラム及び記録媒体

Patent Citations (2)

* 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
US4780840A (en) * 1982-06-23 1988-10-25 U.S. Philips Corp. Method of generating a pseudo-random sequence of signs of a large sequence length

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
JP4756117B2 (ja) 2011-08-24
NO20050098L (no) 2005-01-07
US20030235299A1 (en) 2003-12-25

Similar Documents

Publication Publication Date Title
CN100576174C (zh) 检验密码应用的可能素数
Nara et al. Scan-based attack against elliptic curve cryptosystems
EP3208788B1 (en) Method of protecting a circuit against a side-channel analysis
Ozturk et al. Physical unclonable function with tristate buffers
US9596080B2 (en) Method of generating prime numbers proven suitable for chip cards
US20080143561A1 (en) Operation processing apparatus, operation processing control method, and computer program
EP1939838A1 (en) Information security device, information security method, computer program, computer-readable recording medium, and integrated circuit
US20210336805A1 (en) System and methods for entropy and statistical quality metrics in physical unclonable function generated bitstrings
CN1753357A (zh) 应用于des加密芯片的差分功耗分析屏蔽电路
DE112009000152B4 (de) Verfahren zur Datenübertragung über einen Datenkanal mit einem Elliptische-Kurven-Kryptographieverfahren und Vorrichtung hierfür
Reddy et al. BHARKS: Built-in hardware authentication using random key sequence
CN107016292B (zh) 防止通过功率分析进行窃听的电子电路及防止窃听的方法
Che et al. Novel offset techniques for improving bitstring quality of a hardware-embedded delay PUF
CN113268745B (zh) 基于Camellia加密算法的软PUF
Nara et al. Scan vulnerability in elliptic curve cryptosystems
Yu et al. On designing PUF-based TRNGs with known answer tests
Abumuala et al. A new method for generating cryptographically strong sequences of pseudo random bits for stream cipher
CN116743371A (zh) 一种随机数的确定方法及装置
Abdelwahab et al. Algebraic cryptanalysis on MIFARE Ultralight C
US20040143614A1 (en) Hiding the internal state of a random number generator
Zadeh Power analysis of stream ciphers based on feedback shift registers
CN114500022A (zh) 侧信道防护能力检测系统
CN106685660A (zh) 大素数的测试方法及装置
Hernández et al. Using classifiers to predict linear feedback shift registers
Weigl Improving Security for Elliptic Curve Implementations on Smart Cards: A Random Number Generator Test Unit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: YINSAI KANGTAI LAISI CO.

Effective date: 20110824

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20110824

Address after: Aix-en-Provence

Patentee after: Inside Contactless S A

Address before: American California

Patentee before: Atmel Corp.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: French Meileyi

Patentee after: Inside Secure

Address before: Aix-en-Provence

Patentee before: Inside Contactless S A

CP01 Change in the name or title of a patent holder

Address after: Fa Guomeileyi

Patentee after: Weimei Anshi Co., Ltd

Address before: Fa Guomeileyi

Patentee before: Inside Secure

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20200306

Address after: California, USA

Patentee after: Rumbas

Address before: Fa Guomeileyi

Patentee before: Weimei Anshi Co., Ltd

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091230

Termination date: 20210425