CN108494556A - 一种高效的rsa算法加密元数据文件的方法 - Google Patents

一种高效的rsa算法加密元数据文件的方法 Download PDF

Info

Publication number
CN108494556A
CN108494556A CN201810216920.5A CN201810216920A CN108494556A CN 108494556 A CN108494556 A CN 108494556A CN 201810216920 A CN201810216920 A CN 201810216920A CN 108494556 A CN108494556 A CN 108494556A
Authority
CN
China
Prior art keywords
encryption
rsa algorithm
algorithm
character
rsa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810216920.5A
Other languages
English (en)
Inventor
赵杰
边敏敏
罗志勇
范志鹏
汪源野
耿琦琦
于士杰
季良缘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201810216920.5A priority Critical patent/CN108494556A/zh
Publication of CN108494556A publication Critical patent/CN108494556A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes

Abstract

本发明提出了一种高效的RSA算法加密元数据文件的方法,涉及工业数据安全领域。该方法完成了对传统的非对称加密算法RSA算法地改进,主要应用于工业数据加密。该方法通过随机生成n个小素数代替传统RSA算法中随机生成两个大素数,并采用类似凯撒密码的加密思想,对每个字符进行迭代加密,完成对传统RSA算法的改进,在此基础上,采用对称加密算法对XML文件加密,再采用改进的RSA算法对对称加密生成地秘钥加密,从而完成加密元数据文件的过程。该方法与传统方法相比,既保证了元数据文件安全存储,又进一步提高了RSA算法的运行效率,实现快速高效的加密XML文件。

Description

一种高效的RSA算法加密元数据文件的方法
技术领域
本发明涉及工业数据安全领域,属于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←ar modn;
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←ar modn;
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算法中随机生成两个大素数,并采用类似凯撒密码的加密思想,对每个字符进行迭代加密,有更高的安全性,并且通过降低模幂难度提高了加密的效率,更适用于工业大数据安全领域对元数据文件加密。

Claims (5)

1.一种高效的RSA算法加密元数据文件的方法,其特征在于:通过随机生成n个小素数代替传统RSA算法中随机生成两个大素数,并采用类似凯撒密码的加密思想,对每个字符进行迭代加密,在此基础上,采用对称加密算法对XML文件加密,再采用改进的RSA算法对对称加密生成的秘钥加密,从而实现对元数据文件的高效加密,主要包括以下步骤:
a.对称加密算法DES加密XML文件;
b.Miller-Rabin测试法来生成n个小素数;
c.改进RSA算法;
d.改进的RSA算法加密由对称加密算法加密XML文件生成地秘钥。
2.根据权利要求1所述的一种高效的RSA算法加密元数据文件的方法,其特征在于,步骤a中对称加密算法DES加密XML文件,DES采用分块加密方式,将明文分割成64bit的块,使用56bit密钥对数据块进行加密,并对64bit的数据块进行16轮编码。
3.根据权利要求1所述的一种基于改进的RSA算法加密元数据文件的方法,其特征在于,步骤b中Miller-Rabin测试法来生成n个小素数,其生成小素数的具体步骤为:
①利用随机数发生器生成随机数;
②将随机数高低两位设置成为1,保证输出的为奇数;
③进行n次Miller-Rabin测试,若通过转到④,否则返回①;
④输出小于500的素数。
4.根据权利要求1所述的一种高效的RSA算法加密元数据文件的方法,其特征在于:步骤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=Cd(modn)。
5.根据权利要求1所述的一种高效的RSA算法加密元数据文件的方法,其特征在于:步骤d中使用改进的RSA算法加密由对称加密算法加密XML文件生成地秘钥。
CN201810216920.5A 2018-03-16 2018-03-16 一种高效的rsa算法加密元数据文件的方法 Pending CN108494556A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810216920.5A CN108494556A (zh) 2018-03-16 2018-03-16 一种高效的rsa算法加密元数据文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810216920.5A CN108494556A (zh) 2018-03-16 2018-03-16 一种高效的rsa算法加密元数据文件的方法

Publications (1)

Publication Number Publication Date
CN108494556A true CN108494556A (zh) 2018-09-04

Family

ID=63339339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810216920.5A Pending CN108494556A (zh) 2018-03-16 2018-03-16 一种高效的rsa算法加密元数据文件的方法

Country Status (1)

Country Link
CN (1) CN108494556A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598133A (zh) * 2018-11-27 2019-04-09 苏州浪潮智能软件有限公司 基于rsa算法的数据文件加密c语言的实现方法
CN111222151A (zh) * 2019-12-31 2020-06-02 北京指掌易科技有限公司 移动端应用目录保护方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130236012A1 (en) * 2004-03-31 2013-09-12 Jesse D. Lipson Public Key Cryptographic Methods and Systems
CN106254342A (zh) * 2016-09-23 2016-12-21 西安邮电大学 Android平台下支持文件加密的安全云存储方法
CN106487512A (zh) * 2015-08-31 2017-03-08 北京同方微电子有限公司 一种rsa密钥对快速生成系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130236012A1 (en) * 2004-03-31 2013-09-12 Jesse D. Lipson Public Key Cryptographic Methods and Systems
CN106487512A (zh) * 2015-08-31 2017-03-08 北京同方微电子有限公司 一种rsa密钥对快速生成系统及方法
CN106254342A (zh) * 2016-09-23 2016-12-21 西安邮电大学 Android平台下支持文件加密的安全云存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
冯运波: "《密码学的发展与演变》", 《信息网络安全》 *
孙伟: "《公钥RSA加密算法的改进与实现》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598133A (zh) * 2018-11-27 2019-04-09 苏州浪潮智能软件有限公司 基于rsa算法的数据文件加密c语言的实现方法
CN111222151A (zh) * 2019-12-31 2020-06-02 北京指掌易科技有限公司 移动端应用目录保护方法和装置

Similar Documents

Publication Publication Date Title
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
CN111106936A (zh) 一种基于sm9的属性加密方法与系统
CN104270247B (zh) 适用于量子密码系统的高效泛Hash函数认证方法
CN109831297A (zh) 一种支持门限解密的多身份全同态加密方法
WO2009026771A1 (fr) Procédé pour négocier une clé, chiffrer et déchiffrer des informations, signer et authentifier les informations
CN107425968A (zh) 一种二进制域F2m下的SM2椭圆曲线公钥加密算法的实现系统
CN107154845A (zh) 一种基于属性的bgn型密文解密外包方案
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN110851845A (zh) 一种轻量级单用户多数据的全同态数据封装方法
CN101321058B (zh) 一种用于编码和译码数字消息的方法和系统
Abdullah et al. Security improvement in elliptic curve cryptography
Hodowu et al. An enhancement of data security in cloud computing with an implementation of a two-level cryptographic technique, using AES and ECC algorithm
CN103812658B (zh) 一种基于流密码的安全通信协议
CN108494556A (zh) 一种高效的rsa算法加密元数据文件的方法
CN109981253B (zh) 一种基于有限李型群的抗量子攻击的非对称加密方法
CN102064938B (zh) 一种基于多变量与不确定性的公钥加密方法
Zhao DES-Co-RSA: a hybrid encryption algorithm based on DES and RSA
CN106921486A (zh) 数据加密的方法和装置
Kumar et al. Multiple Encryption using ECC and its Time Complexity Analysis‖
Mohan et al. An Encryption Technique Using A Complete Graph With A Self-Invertible Matrix
Guru et al. AES and RSA-based Hybrid Algorithms for Message Encryption & Decryption
CN101321059B (zh) 一种用于编码和译码数字消息的方法和系统
Kumar et al. A comparative analysis of encryption algorithms for better utilization
CN104837131A (zh) 一种基于批处理指数运算乘积的批Cramer-Shoup密码体制
AU2021106274A4 (en) A protocol for assuring data integrity in cloud setting by using a fully homomorphic batch encryption scheme with integer and shorter public key (hbeis)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180904