[发明专利]一种大素数生成方法及其快速求余方法在审
申请号: | 201310515561.0 | 申请日: | 2013-10-28 |
公开(公告)号: | CN103593162A | 公开(公告)日: | 2014-02-19 |
发明(设计)人: | 蒋声障;张登峰;余杭军 | 申请(专利权)人: | 福建升腾资讯有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;G06F7/58;H04L9/30 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 素数 生成 方法 及其 快速 | ||
技术领域
本发明涉及一种大素数生成方法及其快速求余方法。
背景技术
大素数生成是密码学相关领域一个热点问题,表现在两个方面,一是概率问题,即生成的大素数误判的概率有多大,目前均认为米勒-拉宾算法是误判概率最小的、最佳的方法;二是速度问题,算法过程需要多次的素性判断,耗时很长,很大程度限制了大部分产品的性能。在速度方面,目前已有一些研究成果,例如,2011-04-20公开的,申请号为200910057887.7的中国发明公开了一种适用于密码学应用的素数生成方法,将随机数和一系列小素数通过求最大公约数的方法进行素数预检测,仅当该随机数与这些小素数都互素时能够通过素数预检测,再将通过素数预检测的随机数进行素性检测。由于通过预检测的方法能够排除掉一部分合数,因而使得预检测之后的素性检测的循环次数能够大大减少。其相对传统的素数生成方法而言,能够大幅改善素数生成的运算速度和时间。但由于该发明需要经过多次的小素数求余或求最大公约数,同时在判断为合数后,步长较小(步长为2),需要经过更多次的尝试判断,因此在一定程度上仍制约了运算速度。
发明内容
本发明要解决的技术问题之一,在于提供一种大素数生成方法,优化素数预判断,先排除大部分合数,之后再进行素性判断,可减少素性判断的次数,避开了小素数的求余或求最大公约数的算法,同时增大步长,使运算速度更快。
本发明是这样实现的:一种大素数生成方法,包括:
步骤20、求余计算:设N=P1×P2×P3……Pn,且N>2,{P1、P2、P3……Pn}为素数序列;
任取正整数n,得到对应的N,将Rn对N求余:
若N≠30,Rn对N求余,余数记为Re,进入步骤30;
若N=30,则按下列方法计算:
(1)将随机数Rn的按十六进制表示时的所有半字节数据相加,得到的结果若大于16,则继续将上一次相加得到的结果中所有半字节相加,直到当前相加的结果小于16,记为有效结果;
(2)若(1)所得的有效结果为偶数,则将有效结果加上15后作为最终结果,否则保留原值作为最终结果,此最终结果即为随机数Rn对30求余的结果,余数记为Re,进入步骤30;
步骤30、素数预判断:设数据序列为小于N的所有素数中删除P1、P2……Pn,并与1一起构成的从小到大排列的序列;数据序列的数据个数记为Ln;
判断Re是否在所述数据序列中,若Re不在数据序列中,则判断为合数,认为未通过素数预判断,进入步骤40;否则认为已通过素数预判断,记录余数Re在所述数据序列中的位置,并记为Idx,进入步骤50;
步骤40、取所述数据序列中第一个比余数Re大的数D,取Rm=Rn-Re+D。记录余数Re在上述序列中的位置,记为Idx,进入步骤50;
步骤50、进行米勒-拉宾素性检测算法判断,若结果为素数,则输出素数后结束;若结果为合数,则进入步骤60;
步骤60、根据Idx的数值作为索引,取步长序列对应的值进行加到原随机数,结果作为新随机数,同时Idx小于Ln时,Idx加1,若Idx=Ln,则记Idx=1,然后返回到步骤50,所述步长序列为数据序列的后项减去前项的差,其中最后一个步长等于第一项减去最后一项再加上N。
本发明要解决的技术问题之二,在于提供一种大素数生成方法中的快速求余方法,避开了小素数的求余或求最大公约数的算法,同时增大步长,使运算速度更快。
本发明具体包括如下步骤:一种大素数的快速求余方法,包括:生成随机数,并记为Rn,,设N=P1×P2×P3……Pn,且N>2,{P1、P2、P3……Pn}为素数序列;若N≠30,Rn对N求余,余数记为Re;若N=30,则按下列方法计算:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建升腾资讯有限公司,未经福建升腾资讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310515561.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:端子安装结构及用在该端子安装结构中的端子
- 下一篇:一种降低接地网电阻的模块