发明名称 检验密码应用的可能素数
摘要 本发明提供一种快速地产生以及检验用于密码应用的可能素数的计算机程序。该在计算机硬件上执行的程序指令所执行的步骤包括一聪明增量程序函数,其寻找相继的候选数是通过利用一相当于选定的极小素数的互素数的表以找出加到下一候选数的一增量,藉此可筛出大约四分之三的实在明显的无需接受试除的部份。该程序指令还包括一小素数检验程序函数,其通过将模简化数而不是该些极大候选数本身相对于一列小素数进行试除以提高试除速度。只有大约百分之十的通过小素数检验的候选数将会接着接受更严格,但费时的可能素性检验。
申请公布号 CN100576174C 申请公布日期 2009.12.30
申请号 CN03818316.1 申请日期 2003.04.25
申请人 爱特梅尔公司 发明人 V·杜帕丘斯
分类号 G06F9/45(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 北京律盟知识产权代理有限责任公司 代理人 孟 锐
主权项 1.一种用于计算机执行的密码程序应用中的方法,所述应用的安全性取决于大素数,所述方法产生一个或一个以上用于所述密码程序应用的可能候选素数,其特征在于所述方法包括以硬件执行的密码应用指令,所述指令按以下的步骤程序实施:提供一具有一指定的第一比特大小的伪随机数;将所述伪随机数加上一第一增量以产生一第一候选数,所述第一增量要这样选择以使所述第一候选数为一组极小素数的互素数;由所述第一候选数开始,通过相对于一列除所述极小素数组之外的小素数作试除来重复地检验相继的候选数,直到找出一候选数,其为所述列中全部的所述小素数的互素数,所述相继候选数由以下步骤检验:(i)计算所述第一候选数的一组模简化数,所述模简化数组的元素为余数,所述余数相当于所述第一候选数以一所述小素数列中的一些不同素数组的每一相应乘积为模,所述乘积具有一指定的最大第二比特大小,所述第二比特大小比所述第一比特大小至少小四分之三;(ii)维持一主增量,对于每一所述相继候选数,所述主增量都要校正,当以每一相继更新的所述主增量加到所述第一候选数时,就会提供下一个为所述极小素数组的互素数的所述相继候选数;(iii)对于以目前校正的所述主增量来增量的所述模简化数组的每一元素,除非以及直到找出一候选数为合数为止,通过相对于相应的小素数组的每一素数作试除检验所述的增量的元素以确定所得余数是否为零值,如是的话,则标明目前的候选数为合数;在找出一为所述列中全部的所述小素数的互素数之后,使相等于所述第一候选数与所述目前的主增量相加的所述候选数,接受至少一严格的可能素性检验,而且假如根据任何一所述严格的可能素性检验找出一候选数为合数,那么就如前所述般通过相对于所述小素数组作试除不断地检验所述相继候选数直到找出一既通过所述小素数试除又通过所述严格的可能素性检验的候选数,这样的候选数被认为是一可能素数;以及将所述可能素数用于所述密码程序。
地址 美国加利福尼亚州