基于RSA密码算法的密钥生成系统及方法技术方案

技术编号:15652082 阅读:152 留言:0更新日期:2017-06-17 05:22
本发明专利技术公开了一种基于RSA密码算法的密钥生成系统及方法,本发明专利技术系统包括:乘法器模块、随机数模块、预处理模块、判决模块、模值生成模块、模逆模块、输出模块。本发明专利技术方法的实现步骤:(1)生成RSA模值的第一因子;(2)生成RSA模值的第二因子;(3)生成RSA模值;(4)计算RSA私钥指数;(5)输出RSA密钥。本发明专利技术有效降低了RSA密钥生成过程的计算负担,提高了RSA密钥生成速率,保证了RSA密码算法的安全性。

【技术实现步骤摘要】
基于RSA密码算法的密钥生成系统及方法
本专利技术属于通信
,更进一步涉及信息安全
中的一种公钥密码体制中基于RSA密码算法的密钥生成系统及方法。本专利技术通过对大素数进行预处理,结合Miller-Rabin检测,在计算私钥是采用改进的欧几里得算法,有效避免了除法问题,生成符合RSA算法要求的密钥。
技术介绍
随着通信及信息安全技术的发展,公钥密码体制越来越受到人们的重视。在众多的公开密钥密码算法中,RSA密码算法是最成熟,也是使用最广泛的一种密码算法。它不仅具有传统的信息加密能力,并且能够用于验证信息的真实性、完整性和有效性,从而受到了广大用户的青睐,并已经成为了公钥密码的国际标准。但是实际上RSA密码算法也有着它本身不可避免的缺点,产生密钥很麻烦,受到素数产生技术的限制,难以做到一次一密;速度太慢,由于RSA的分组长度太大,为保证安全性,n至少也要600比特以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级。因此如何在短时间内产生大量符合RSA算法要求的密钥成为当前的研究热点。龙建超在其发表的论文“公钥算法中大素数生成方法的研究改进”(云南大学硕士学位论文,2014)中提出了一种改进的公钥算法中大素数的生成方法。该方法在大素数传统生成方法的基础上,利用随机递增搜索,结合准梅森素数的特性,生成随机数后增加预过滤过程,再进行素性检测得到大素数,减少了大素数的生成时间。该方法存在的不足之处是,素性检测结果是素数的概率不够大,导致RSA密码算法不安全。南京邮电大学在其申请的专利文献“一种改进的快速生成大素数的方法”(专利申请号:201510814574.1,申请公布号:CN1015770A)中公开了一种改进的快速生成大素数的方法。该方法能够快速生成大素数,是基于Miller-Rabin素性检测算法,并且采用蒙哥马利算法对原Miller-Rabin算法检测素数进行了优化。蒙哥马利算法采用的是模加右移的方法,有效地避免了求模运算中比较耗时的除法运算,减少了原算法中模幂运算的次数,从而提高了对素数的检测速度。但是,该方法仍然存在的不足之处是,在计算模逆时,需要循环1024次导致计算复杂而影响RSA密码的实际应用。深圳数字电视国家工程实验室股份有限公司在其申请的专利文献“RSA密钥生成方法及装置”(专利申请号:201410092851.3,申请公布号:CN103812648A)中公开了一种RSA密钥生成方法及装置。该装置将生成密钥所需的高运算量的计算转移到可信平台外部,减轻了可信平台模块的计算负担。但是,该装置仍然存在的不足之处是,RSA密钥参数创建时,没有对大素数进行预处理的模块,导致系统在进行素数检测时计算量太大而影响RSA的密钥生成速度。
技术实现思路
本专利技术的目的在于克服上述已有技术的不足,提出一种基于RSA密码算法的密钥生成方法。本专利技术通过对大素数进行预处理,结合Miller-Rabin检测,在获得私钥时采用改进的欧几里得方法,有效避免了除法问题,进一步提高了RSA密钥生成效率。为实现上述目的,本专利技术的系统包括乘法器模块、随机数模块、预处理模块、判决模块、模值生成模块、模逆模块、输出模块,其中:所述的乘法器模块,用于计算500以内的所有素数的积;所述的随机数模块,用于随机生成一个512位的整数;所述的预处理模块,用于计算500以内所有素数的积与所生成整数的最大公约数;所述的判决模块,用于对所生成的与500以内所有素数的积互素的整数进行米勒-拉宾Miller-Rabin素性检测;所述的模值生成模块,用于计算RSA的模值;所述的模逆模块,用于计算RSA的私钥指数;所述的输出模块,用于输出模值、第一因子、第二因子、私钥指数。本专利技术的方法的具体实现步骤如下:(1)生成RSA模值的第一因子:采用RSA模值因子的生成方法,生成罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA模值的第一因子p;(2)生成RSA模值的第二因子:采用RSA模值因子的生成方法,生成罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA模值的第二因子q;(3)生成模值:模值生成模块将第一因子p与第二因子q相乘,得到罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA的模值;(4)计算RSA的私钥指数:(4a)将传统的欧几里得算法中的除法操作转变为移位操作后,得到改进的欧几里得算法;(4b)利用改进的欧几里得算法,对公钥指数进行模逆操作,将所得到的模逆值作为私钥指数;(5)输出RSA密钥:输出模块分别输出模值、第一因子、第二因子、私钥指数。本专利技术与现有技术相比具有以下优点:第三,由于本专利技术的系统中采用预处理模块,在进行素性检测之前,计算500以内所有素数的积与所生成整数的最大公约数,克服了现有技术由于缺少预处理模块导致的系统在进行素数检测时计算量太大而影响RSA的密钥生成速度,使得本专利技术的系统具有高效快速的优点。第一,由于本专利技术的方法中采用米勒-拉宾Miller-Rabin检测方法对大素数进行检测,克服了现有技术由于素性检测结果是素数的概率不够大,导致RSA密码算法的不安全问题,使得本专利技术的密钥具有安全性高的优点。第二,由于本专利技术的方法中采用了改进的欧几里得算法对公钥指数进行模逆操作,克服了现有技术中在计算模逆时,需要循环1024次导致的计算复杂问题,提高了私钥的生成速度,使得本专利技术具有实用性高的优点。附图说明图1是本专利技术系统的结构框图;图2为本专利技术方法的流程图;图3为本专利技术步骤4计算RSA的私钥指数的流程图;具体实施方式下面结合附图对本专利技术作进一步的描述。参照附图1,本专利技术的系统包括乘法器模块、随机数模块、预处理模块、判决模块、模值生成模块、模逆模块、输出模块。所述的乘法器模块,用于计算500以内的所有素数的积。所述的随机数模块,用于随机生成一个512位的整数。所述的预处理模块,用于计算500以内所有素数的积与所生成整数的最大公约数。所述的判决模块,用于对互素的整数进行米勒-拉宾Miller-Rabin素性检测。所述的模值生成模块,用于计算RSA的模值。所述的模逆模块,用于计算RSA的私钥指数。所述的输出模块,用于输出模值、第一因子、第二因子、私钥指数。参照附图2,对本专利技术的实现方法做进一步描述。步骤1,生成RSA模值的第一因子。(1)生成RSA模值的第一因子:采用RSA模值因子的生成方法,生成罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA模值的第一因子p。RSA模值第一因子的生成方法的具体步骤如下:第1步,乘法器模块计算500以内所有素数的积;第2步,随机数模块随机生成一个512位的整数;第3步,预处理模块计算500以内所有素数的积与所生成整数的最大公约数;第4步,判断最大公约数是否为1,若是,则所生成的整数与500以内所有素数的积互素,执行第5步,否则,所生成的整数与500以内所有素数的积不互素,舍弃该不互素的整数,执行第2步;第5步,判决模块对所生成的与500以内所有素数的积互素的整数进行米勒-拉宾Miller-Rabin素性检测,若检测结果是合数,则舍弃该互素的整数,执行第2步,否则,执行第6步;第6步,将素性检测后的整数作为罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA模值的因子。步骤2,生本文档来自技高网
...
基于RSA密码算法的密钥生成系统及方法

【技术保护点】
一种基于RSA密码算法的密钥生成系统,包括乘法器模块、随机数模块、预处理模块、判决模块、模值生成模块、模逆模块、输出模块,其中:所述的乘法器模块,用于计算500以内的所有素数的积;所述的随机数模块,用于随机生成一个512位的整数;所述的预处理模块,用于计算500以内所有素数的积与所生成整数的最大公约数;所述的判决模块,用于对所生成的与500以内所有素数的积互素的整数进行米勒‑拉宾Miller‑Rabin素性检测;所述的模值生成模块,用于计算RSA的模值;所述的模逆模块,用于计算RSA的私钥指数;所述的输出模块,用于输出模值、第一因子、第二因子、私钥指数。

【技术特征摘要】
1.一种基于RSA密码算法的密钥生成系统,包括乘法器模块、随机数模块、预处理模块、判决模块、模值生成模块、模逆模块、输出模块,其中:所述的乘法器模块,用于计算500以内的所有素数的积;所述的随机数模块,用于随机生成一个512位的整数;所述的预处理模块,用于计算500以内所有素数的积与所生成整数的最大公约数;所述的判决模块,用于对所生成的与500以内所有素数的积互素的整数进行米勒-拉宾Miller-Rabin素性检测;所述的模值生成模块,用于计算RSA的模值;所述的模逆模块,用于计算RSA的私钥指数;所述的输出模块,用于输出模值、第一因子、第二因子、私钥指数。2.一种基于RSA密码算法的密钥生成方法,具体步骤如下:(1)生成RSA模值的第一因子:采用RSA模值因子的生成方法,生成罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA模值的第一因子p;(2)生成RSA模值的第二因子:采用RSA模值因子的生成方法,生成罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA模值的第二因子q;(3)生成模值:模值生成模块将第一因子p与第二因子q相乘,得到罗纳德·李维斯特、阿迪·萨莫尔、伦纳德·阿德曼RSA的模值;...

【专利技术属性】
技术研发人员:董庆宽吴克强樊凯薄星李军辉陶雅欣
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1