一种高效的RSA算法加密元数据文件的方法与流程

文档序号:15357673发布日期:2018-09-05 00:11阅读:1225来源:国知局

本发明涉及工业数据安全领域,属于xml的安全存储的方法,尤其涉及一种高效的rsa算法加密元数据文件的方法。



背景技术:

随着制造业信息化时代的到来,信息共享与数据互操作成为信息化、智能化发展的重要技术。xml作为w3c协会制定的一种结构嵌套、自描述、格式独立、与平台及应用无关的可拓展标记语言,为信息共享和数据互操作带来了极大的便利。但随着xml技术在制造业领域日渐广泛的应用,越来越多的元数据文件产生,而紧随此过程的是,信息和数据的安全越发重要,所以xml加密存储技术在制造业信息化安全方面起着重要的作用。

从现阶段的加密算法种类来说,加密算法分为对称加密算法和非对称加密算法。对称加密算法是指发送方和接收方使用相同的密钥密码,该算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的分发困难,在存在很多用户的情况下,密钥管理复杂,而且无法完成身份认证等功能,不便于广泛的应用于制造业信息化开放的环境中。目前最著名的对称加密算法有数据加密标准des和欧洲数据加密标准idea等。非对称加密是指接收方和发送方使用不同的密码,该加密算法的优点是能适应信息化开放环境的需求,密钥管理简单,并且可方便地实现数字签名和身份认证等功能,是目前电子商务等技术的核心基础,但其缺点是算法复杂,加密数据的速度和效率较低。因此在实际应用中,通常将对称加密算法和非对称加密算法结合使用,把传统加密算法和非对称加密算法结合在一起,即运用对称加密算法来加密要传输的数据,运用非对称加密算法来对对称加密算法的密钥进行保护。例如:利用des或者idea等对称加密算法来进行大容量数据的加密,而采用rsa等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法可以有效地提高加密的效率并能简化对密钥的管理。

rsa算法是由rivest,shamir和adleman提出的一种常用的非对称加密算法,该算法的既能用于数据加密,也能用于数字签名,主要原理是通过生成两个大素数来增加因数分解的难度,从而防止窃听者破解密码。

本发明正是基于以上分析背景,通过对xml安全技术的深入研究,发明了一种改进的rsa加密方法加密元数据文件,即先用des算法加密元数据文件,再使用改进的rsa算法加密des秘钥,此发明既能保证加密文件的安全性,又能提高加解密的效率,对推动制造业信息化安全快速发展有着实际的应用价值和深远意义。



技术实现要素:

本发明的目的在于提高rsa算法加密元数据文件的速率,由于传统rsa加密算法需要随机生成足够大的素数来确保因式分解的难度,增加解密的难度,从而保证加密的安全性,但大整数分解运用了大量的模乘和模幂运算,这就使得运算时间变长、效率降低,而此加密方法在保证加密安全性的同时,大大提高了加密的效率。为了实现上述目的,本发明采用了如下技术方案:

1.一种基于高效的rsa算法加密元数据文件的方法,其特征在于:通过随机生成n个小素数代替传统rsa算法中随机生成两个大素数,并采用类似凯撒密码的加密思想,对每个字符进行迭代加密,在此基础上,采用对称加密算法对xml文件加密,再采用改进的rsa算法对对称加密生成的秘钥加密,从而实现对元数据文件的加密,主要包括以下步骤:

a.对称加密算法des加密xml文件;

b.miller-rabin测试法来生成n个小素数;

c.改进rsa算法;

d.改进的rsa算法加密由对称加密算法加密xml文件生成地秘钥。

2.步骤a中对称加密算法des加密xml文件,des采用分块加密方式,将明文分割成64bit的块,使用56bit密钥对数据块进行加密,并对64bit的数据块进行16轮编码。

①输入64比特明文数据;

②初始置换ip;

③在秘钥控制下16轮迭代;

④交换左右32比特;

⑤初始逆置换ip-1

⑥输出64比特密文数据。

3.步骤b中miller-rabin测试法来生成n个小素数,其生成小素数的具体步骤为:

①利用随机数发生器生成随机数;

②将随机数高低两位设置成为1,保证输出的为奇数;

③进行n次miller-rabin测试,若通过转到④,否则返回①;

miller-rabin算法的实现:

miller-rabin(n,t)

in:n和t(n为大于3的奇整数;t为大于等于1的安全参数);

out:素数n。

1)将n-1表示成2sr(r为奇数);

2)1≦i≦t:

2.1)选择一个随机整数a(2≦a≦n-2);

2.2)计算y←armodn;

2.3)如果y≠1并且y≠n-1,转至下一步,否则转到3):

2.3.1)j←1;

2.3.2)当j≦s-1并且y≠n-1循环作下面的操作,否则转到2.3.3):

计算y←y2modn;

如果y=1返回“合数”;

否则j←1+1;

2.3.3)如果y≠n-1则直接返回“合数”。

3)返回“素数”。

④输出小于500的素数。

4.步骤c中分别从rsa内部和外部来改进rsa算法,即用n个小素数来代替传统的rsa算法中随机生成两个大素数,再采用类似凯撒密码的加密思想,对每个字符进行迭代加密,具体表示如下:

①计算n和φ(n),其中n=p×q×r×……×z,φ(n)=(p-1)(q-1)(r-1)……(z-1),φ(n)表示n的欧拉函数;

②生成一个随机数e作为加密秘钥,e满足1<e<φ(n),且gcd(e,φ(n))=1;

③求解d作为解密密钥,其中d满足e×d×mod(φ(n))=1;

④以pk=(e,n)作为公钥,sk=(d,n)作为私钥;

⑤对每个字符的ascii码均采用类似凯撒密码的迭代加密过程,即对每个字符的ascii码移动位数比上一个字符的ascii码移动的位数多一位,首个字符的ascii码移动的位数为随机数;

⑥对数据进行加密运算:c=me(modn)(m表示明文,c表示密文);

⑦对数据进行解密运算:m=cd(modn)(m表示明文,c表示密文)。

5.步骤d中使用改进的rsa算法加密由对称加密算法加密xml文件生成地秘钥,具体加密过程参照步骤b和步骤c。

附图说明

图1为本发明的改进rsa算法流程图;

图2为本发明的des算法加密xml文件的过程图;

图3为本发明的应用改进的rsa算法加解密的流程图;

具体实施方式

本发明提出了一种高效的rsa算法加密元数据文件的方法,该方法完成了对传统的非对称加密算法rsa算法地改进,通过随机生成n个小素数代替传统rsa算法中随机生成两个大素数,并采用类似凯撒密码的加密思想,对每个字符进行迭代加密,在此基础上,采用对称加密算法对xml文件加密,再采用改进的rsa算法对对称加密生成地秘钥加密,从而完成加密元数据文件的过程。以下将参照附图并结合实例对本发明作进一步详细说明。

如图1所示,本发明的改进rsa算法流程图完成了从传统的rsa算法到改进的rsa算法的过程,该改进的rsa算法可以保证数据的安全性的同时提高加密效率,主要包括以下步骤:

①利用随机数发生器生成随机数,并通过miller-rabin测试法来生成n个小素数:

a.利用随机数发生器生成随机数;

b.将随机数高低两位设置成为1,保证输出的为奇数;

c.进行n次miller-rabin测试,若通过转到④,否则返回①;

miller-rabin算法的实现:

miller-rabin(n,t)

in:n和t(n为大于3的奇整数;t为大于等于1的安全参数);

out:素数n。

1)将n-1表示成2sr(r为奇数);

2)1≦i≦t:

2.1)选择一个随机整数a(2≦a≦n-2);

2.2)计算y←armodn;

2.3)如果y≠1并且y≠n-1,转至下一步,否则转到3):

2.3.1)j←1;

2.3.2)当j≦s-1并且y≠n-1循环作下面的操作,否则转到2.3.3):

计算y←y2modn;

如果y=1返回“合数”;

否则j←1+1;

2.3.3)如果y≠n-1则直接返回“合数”。

3)返回“素数”。

d.输出小于500的素数。

②计算n和φ(n),其中n=p×q×r×……×z,φ(n)=(p-1)(q-1)(r-1)……(z-1),φ(n)表示n的欧拉函数;

③生成一个随机数e作为加密秘钥,e满足1<e<φ(n),且gcd(e,φ(n))=1;

④求解d作为解密密钥,其中d满足e×d×mod(φ(n))=1;

⑤以pk=(e,n)作为公钥,sk=(d,n)作为私钥;

⑥对每个字符的ascii码均采用类似凯撒密码的迭代加密过程,即对每个字符的ascii码移动位数比上一个字符的ascii码移动的位数多一位,首个字符的ascii码移动的位数为随机数;

⑦对数据进行加密运算:c=me(modn)(m表示明文,c表示密文);

⑧对数据进行解密运算:m=cd(modn)(m表示明文,c表示密文)。

如图2所示,本发明的des算法加密xml文件的过程,主要包括如下步骤:

①输入64比特明文数据;

②初始置换ip;

③在秘钥控制下16轮迭代;

④交换左右32比特;

⑤初始逆置换ip-1

⑥输出64比特密文数据。

如图3所示,应用改进的rsa算法加解密的流程如下:

①alice通过使用改进的rsa算法生成一对秘钥(公钥和私钥);

②alice公开公钥;

③bob获得alice发布的公钥,并使用模幂运算对des算法加密xml文件生成地秘钥进行加密;

④bob将加密后的密文发送给alice;

⑤alice获得bob发来的密文,使用私钥对密文进行解密,获得明文。

根据上述具体实施方案可知,本发明通过先使用des算法加密xml文件,然后通过改进的rsa算法,即随机生成n个小素数代替传统rsa算法中随机生成两个大素数,并采用类似凯撒密码的加密思想,对每个字符进行迭代加密,有更高的安全性,并且通过降低模幂难度提高了加密的效率,更适用于工业大数据安全领域对元数据文件加密。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1