[发明专利]一种改进的快速生成大素数的方法在审
申请号: | 201510814575.1 | 申请日: | 2015-11-23 |
公开(公告)号: | CN105515770A | 公开(公告)日: | 2016-04-20 |
发明(设计)人: | 叶宁;梁成良;林巧民;王汝传 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/08 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种改进的快速生成大素数的方法,该方法能够快速生成大素数,是基于Miller-Rabin素数检测算法,通过加入预处理过程,并且采用Montgomery模乘算法对原Miller-Rabin算法检测素数进行了优化。Montgomery模乘算法采用的是模加右移的方法,有效地避免了求模运算中比较耗时的除法运算,减少了原算法中模幂运算的次数,从而大大提高了对于素数的检测速度。 | ||
搜索关键词: | 一种 改进 快速 生成 素数 方法 | ||
【主权项】:
一种改进的快速生成大素数的方法,其特征在于,所述方法包括如下步骤:步骤1:首先随机生成指定位数的大整数;步骤1‑1:定义一个数组,其中数组中的每一个元素的范围是0~0xFFFFFFFF;步骤1‑2:以时间为随机种子;步骤1‑3:循环随机的产生数组中的每一个元素上的数;步骤1‑4:循环结束后,使最高位的元素与0x80000000进行按位或运算,使得产生的大整数的最高位是1,即保证大数的位数;步骤2:对产生的随机大整数进行预处理:步骤3:对步骤2中经过预处理后的大整数进行5次的Miller‑Rabin算法检测;步骤4:如果5次都通过检测,则该大整数就是素数,转到步骤6;步骤5:如果没有通过检测,则在该大整数数的基础上加上预先定义的素数表PrimeTableB[N]中的数,转到步骤2;步骤6:保存并输出该大素数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510814575.1/,转载请声明来源钻瓜专利网。