[发明专利]一种改进的快速生成大素数的方法在审
申请号: | 201510814575.1 | 申请日: | 2015-11-23 |
公开(公告)号: | CN105515770A | 公开(公告)日: | 2016-04-20 |
发明(设计)人: | 叶宁;梁成良;林巧民;王汝传 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/08 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 改进 快速 生成 素数 方法 | ||
1.一种改进的快速生成大素数的方法,其特征在于,所述方法包括如下步骤:
步骤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:保存并输出该大素数。
2.根据权利要求1所述的一种改进的快速生成大素数的方法,其特征在于,所述步骤2 包括如下步骤:
步骤2-1:将大整数与整数1进行按位或运算,使其为一个奇数;
步骤2-2:判断其奇数能否被整数5整除;
步骤2-3:如果能,则在其奇数的基础上加上预先定义的素数表PrimeTableB[N]中的数, 转到步骤2-1;
步骤2-4:如果不能,则转到步骤2-5;
步骤2-5:判断大整数能否整除预定义素数表PrimeTableA[M]中的素数;
步骤2-6:如果能整除,则说明产生的大整数不是素数,在该大整数数的基础上加上预先 定义的素数表PrimeTableB[N]中的数,转到步骤2-1;
步骤2-7:如果该大整数不能整除预定义素数表PrimeTableA[M]中所有的素数,则说明 其可能是素数,转到步骤3。
3.根据权利要求1所述的一种改进的快速生成大素数的方法,其特征在于,所述方法是 基于Miller-Rabin素数检测算法,通过加入预处理过程,并且采用Montgomery模乘算法对 原Miller-Rabin算法检测素数进行了优化。
4.根据权利要求1所述的一种改进的快速生成大素数的方法,其特征在于,所述方法应 用于增加RSA算法的密钥长度。
5.根据权利要求1所述的一种改进的快速生成大素数的方法,其特征在于,所述方法采 用的是预定义素数表PrimeTableB中的素数元素作为随机递增的增量进行搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510814575.1/1.html,转载请声明来源钻瓜专利网。