System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于RSA优化的动态加密方法技术_技高网

一种基于RSA优化的动态加密方法技术

技术编号:41297082 阅读:8 留言:0更新日期:2024-05-13 14:45
本发明专利技术特别涉及一种基于RSA优化的动态加密方法。该基于RSA优化的动态加密方法,自定义设置素数生成周期和动态范围,从中产生一系列素数,并从这些素数中随机抽取RSA加密算法的两个大素数p和q,使得每次加解密所用的两大素数乘积n,随机选取的正整数e和密钥d均不同,实现动态加密;自定义设置密码数据有效期,并定期更换密码数据;针对选择密文攻击,在RSA加密算法中叠加MD5加密算法实现签名机制;在动态加密过程实现了不共享模数的过程,解决了公共模数攻击破解RSA加密算法的问题。该基于RSA优化的动态加密方法,通过添加动态加密机制,并叠加MD5加密算法,不仅大大增加了系统的加密安全性,同时还极大地的缩减了加密时间,提高了加密效率。

【技术实现步骤摘要】

本专利技术涉及软件应用,特别涉及一种基于rsa优化的动态加密方法。


技术介绍

1、rsa加密算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想分解它们的乘积却极端困难,因此可以将乘积公开作为加密密钥。整个rsa加密算法的结构可以描述如下:

2、①选取两个大素数p和q(保密);

3、②计算两大素数乘积n,使得n=pq,并公开n;

4、③随机选取正整数e,使得e与y=(p-1)(q-1)互素,公开e;

5、④计算密钥d,使得e×d mod y=l,d保密;

6、⑤加密;c=memod n;

7、⑥解密;m=cd mod n;

8、(注:m是明文,c是m对应的密文。)

9、以上实现过程是:若设备a欲传递密码给设备b,设备b则需要持有密钥d,并公开随机数e和两大素数乘积n,设备a用随机数e和两大素数乘积n对密码数据进行加密后传给设备b,设备b得到密码后用密钥d和两大素数乘积n进行解密。

10、rsa加密算法中,其安全性取决于p、q两个大素数的取值,且p、q取值越大,分解越困难,被破解的可能性就越小,但其加密的计算量也随之增大,加解密速度也随之变慢。

11、随着rsa加密系统加密场景越来越多,密钥变得越来越长,单纯采用rsa加密系统的加密计算量量越来越大,加密时间也大幅度增长。

12、基于此,本专利技术提出了一种基于rsa优化的动态加密方法。


技术实现思路p>

1、本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于rsa优化的动态加密方法。

2、本专利技术是通过如下技术方案实现的:

3、一种基于rsa优化的动态加密方法,其特征在于:包括以下步骤:

4、步骤s1、自定义设置素数生成周期和动态范围,从中产生一系列素数,并从这些素数中随机抽取rsa加密算法的两个大素数p和q,使得每次加解密所用的两大素数乘积n,随机选取的正整数e和密钥d均不同,实现动态加密;

5、步骤s2、自定义设置密码数据有效期,并定期更换密码数据;

6、步骤s3、针对选择密文攻击,在rsa加密算法中叠加md5加密算法实现签名机制;在动态加密过程实现了不共享模数的过程,解决了公共模数攻击破解rsa加密算法的问题。

7、所述步骤s1中,采用miller rabin素数测试算法来判断素数。

8、且为了更好的缩短筛选时间,所述步骤s1中,在筛选素数之前去掉所有能被2和5整除的数。

9、所述步骤s1中,在筛选出的素数中,采用线性同余算法来产生随机数,作为rsa加密算法的两个大素数p和q。

10、所述步骤s1中,随机数序列{xh}由方程:xh+1=(bxh+v)mod w得到,其中模数w>0,乘数b满足0≤b<w,增量v满足0≤v<w,初始值0≤x0<w;当模数w、乘数b、增量v和初始值x0都是整数时,通过这个方程就能产生一系列[0,w]范围内的整数。

11、所述步骤s3中,当设备a请求给设备b传送密码数据时,设备b随机计算出公钥和私钥,并将公钥传送给设备a;

12、设备a拿到公钥后将密码文件再次加密,将再次加密的文件进行md5加密算法换算,并得到一个128bit的大整数n;将设备a再次加密的文件和大整数n传送给设备b,设备b先进行md5加密算法验证,通过验证后再用私钥解密。

13、一种基于rsa优化的动态加密设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法步骤。

14、一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。

15、本专利技术的有益效果是:该基于rsa优化的动态加密方法,通过添加动态加密机制,并叠加md5加密算法,不仅大大增加了系统的加密安全性,同时还极大地的缩减了加密时间,提高了加密效率。

本文档来自技高网...

【技术保护点】

1.一种基于RSA优化的动态加密方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的基于RSA优化的动态加密方法,其特征在于:所述步骤S1中,采用Miller Rabin素数测试算法来判断素数。

3.根据权利要求2所述的基于RSA优化的动态加密方法,其特征在于:为了更好的缩短筛选时间,所述步骤S1中,在筛选素数之前去掉所有能被2和5整除的数。

4.根据权利要求3所述的基于RSA优化的动态加密方法,其特征在于:所述步骤S1中,在筛选出的素数中,采用线性同余算法来产生随机数,作为RSA加密算法的两个大素数p和q。

5.根据权利要求4所述的基于RSA优化的动态加密方法,其特征在于:所述步骤S1中,随机数序列{Xh}由方程:Xh+1=(bXh+v)mod w得到,其中模数w>0,乘数b满足0≤b<w,增量v满足0≤v<w,初始值0≤X0<w;当模数w、乘数b、增量v和初始值X0均为整数。

6.根据权利要求1所述的基于RSA优化的动态加密方法,其特征在于:所述步骤S3中,当设备A请求给设备B传送密码数据时,设备B随机计算出公钥和私钥,并将公钥传送给设备A;

7.一种基于RSA优化的动态加密设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至6任意一项所述的方法步骤。

8.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的方法步骤。

...

【技术特征摘要】

1.一种基于rsa优化的动态加密方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的基于rsa优化的动态加密方法,其特征在于:所述步骤s1中,采用miller rabin素数测试算法来判断素数。

3.根据权利要求2所述的基于rsa优化的动态加密方法,其特征在于:为了更好的缩短筛选时间,所述步骤s1中,在筛选素数之前去掉所有能被2和5整除的数。

4.根据权利要求3所述的基于rsa优化的动态加密方法,其特征在于:所述步骤s1中,在筛选出的素数中,采用线性同余算法来产生随机数,作为rsa加密算法的两个大素数p和q。

5.根据权利要求4所述的基于rsa优化的动态加密方法,其特征在于:所述步骤s1中,随机数序列{xh}由方程:xh+1=(bxh+v...

【专利技术属性】
技术研发人员:吴楠张栋高翔宇
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1