基于DES和RSA加密技术的大数据加密传输技术的算法研究

2022-11-21 12:29
无线互联科技 2022年18期
关键词:明文加密技术解密

张 乐

(钟山职业技术学院,江苏 南京 210049)

1 DES加密技术算法

DES是一种较为标准的加密方式,其计算的方式也可以被认为是分组加密,具体来说就是先将数据按照64 bit进行分组,之后分了组的数据进行加密操作,检验使用的是8 bit的奇数偶数,其密钥的而长度是56 bit字节。在用DES进行计算时,输入端是64 bit的明文,输出端是64位的密文。这种算法在对数据加密和解密时使用的是同一计算方法,密钥是保证其安全性的关键。执行过程中,DES按照上述所说先对64 bit的明文进行分组加密,这个过程一般是通过转换器来实现的,也就是明文分为左右两组,每组的字节长度是32 bit,然后在进行16次轮换的计算,进而实现加密,预算的整个操作和过程被称为f,这个预算的主要目的就是使密钥和要传输的数据结合,在两组长度为32 bit的分组数据进行16次的轮换计算后,这两组数据就在此进行组合。这一步骤完成后,结合的数据经由另一个转换器输出,而这个输出过程的计算和前面的计算过程正好是相反的,经过两次转换整个算法就完成了。其中,在每个轮次处理中,密钥会移动一定的距离,具体来说就是在56 bit中任意选取48 bit,然后利用扩展器将右边的数据形成一个48 bit的信息,同时完成和48 bit密钥相互结合的目的,然后再用s盒结合后的密钥进行处理和转化就可以得到32 bit的新数据。通过这种方式可以完成加密的运算,接着另一边的32 bit也进行同样的操作。在实际的加密过程中,两边的加密步骤是同时进行的,并且加密形成后两边的数据换了位置,这主要就是利用了异或运算,函数f和左边的32 bit数据相结合后相乘新的右半边部分,加密之前的右半边在加密之后就变成了新的左半边数据,将这个过程重复进行16次,就可以实现DES的16轮次的计算。

2 RSA加密技术算法

RSA加密技术算法和DES加密技术算法不同,RSA有两个不同的密钥,一个是公共密钥,另一个是私有的密钥,在加密的过程中,一般将公共密钥作为加密的密钥,将私有的密钥作为解密的密钥。在RSA算法中的密钥有40~2 048 bit,和DES不同RAS将明文分解为“块”,这些“小块”的大小是可以变化的,但是前提是在设置长度时不能超过密钥的长度。RAS算法的主要思路就是将明文分解成“小块”,这些“小块”的长度和密钥的长度要保持相同,可以知道密钥长度越长其加密效果也就越好,但同时进行解密时的操作步骤也就越复杂。所以,这种加密技术在使用过程中就呈现出安全性较高,但不够快速,其应用性较差的特点,在充分考虑到其安全性和应用性的前提下,一般采用64 bit。在利用RAS算法加密时首先要对安全大素数进行选取,并将其命名为P和Q,为了进一步增强加密技术的安全性,一般都将上面这两个安全大素数设置成相同的长度。计算n=p×q,而n要大于512 bit,这主要就是为了进一步确保RES加密的安全性,因为RES的计算是在因子分解的大数的基础上建立起来的;接着,对n的欧拉函数进行计算,要用到的公式是φ(n)=(p-1)(q-1),φ(n)计算出来是应该小于或者等于n的,并且和为互素数;再然后就是从[0,φ(n)-1]的区间中任意选取加密的密钥e;最后就是要利用Euclid法对密钥的解密d进行求解,并且de=1(modφ(n)),其中d和n为互质,经过计算得出来的e和n就是进行加密的公共密钥,而d就是进行解密的私有密钥。RSA算法的加密和解密:如果加密的信息是m,那就将m看作是具有一定长度的整数,如果n小于m,就先将m分成数个长度相等的“小块”,并将其命名为m1、m2、m3……mi,长度为s并且满足2s小于等于n的前提条件,同时保证s要尽量大。在上述步骤结束后再对数据块进行加密,在这个过程中mi产生的密文是ci=mie(modn),分块均进行解密时和ci配合的明文是mi=cid(modn)。

3 DES算法和RAS算法的结合

RAS算法主要遵循以下原则,就是在对资料数据M和密钥M进行处理时,加减法所用的时间为0(M),乘除法所用的时间为0(M2),在对abmod c进行计算时需要的时间是0(M3),依次类推,对M为数据信息进行计算时所用的时间为0(M3)。在实际的操作过程中,当资料的长度在512~1 024 bit时,就要想到其加密的安全性,但是这样下来整个RAS算法的计算量是非常的大的。可以看出,当要进行加密的数据资料过大,采用RAS算法将会消耗大量的时间,其时间是DES算法的M多倍。除此之外,当加密的数据资料过大,利用RAS算法产生密钥所需要的时间也是非常长的,加入有M列密钥,两个相连的质数的平均间隔是0(M)。表1是对一个测试机进行加密的结果,从表1可以看出RAS需要的时间长,但安全性高,DES需要的时间短,但是安全性低。

表1 测试结果统计

采用DES和RAS相结合,假设发送的信息是A,其加密密钥为kea,解密密钥为kda,接收方为B,加密密钥为keb,解密密钥为kdb,其结合方式如下:(1)发送数据的一方先生成DES密钥K;(2)发送数据的一方进行服务器上传时采用的是RAS算法的公共密钥Keb,然后利用这个公共密钥对上面说的密钥K进行加密的处理;(3)发送的一方将编号的信息分别用发送方的解密密钥为kda和接收方的解密密钥为kdb进行签名以便在解密的过程中进行辨别;(4)发送一方用K将数据加密并形成文件,将这个文件和CK一起形成完整的加密数据发送给接收的一方;(5)在收到C后,接收方先利用本来的解密密钥进行解密,将C中的K解出,之后再用K对明文和签名信息进行解密;(6)接收方将发送者的公开密钥和自己的原本的解密密钥对签名的信息进行识别和处理,形成新的签名信息发送给另一方;(7)两方在完成这一系列接收和处理操作后就可以将DES的密钥K删掉。密钥加密过程如图1所示。

图1 密钥加密的过程

4 基于DES和RSA加密技术的大数据加密传输技术

4.1 DES算法和RAS算法实现的过程

在实际的数据加密过程中,往往用DES算法来对对称数据进行加密,用RAS算法对非对称数据进行加密。前者在进行加密的过程中采用的还是DES的64位加密分组的形式,密钥的长度还采用56位,进行16轮次的计算和编制。但是,这里为了进一步提高算法的安全性,进行了相应的技术改进,利用3个密钥来进行逐层加密,假设这3个密钥分别为K1,K2,K3,明文为P,密文为C,那么C=EK3[DK2[EK1[P]]],可以看出,虽然计算的时间增加了,但是其安全性也得到了提升。其实,DES算法主要的步骤有3个:密钥生成、计算加密、解密,这种软件形式的加密比硬件形式的加密要慢,但是其经济性、可行性和应用范围都较好。

用RAS算法对非对称数据进行加密,其可行性和实用性更高,它不仅能够对数据本身进行加密也能够对数字签名进行维护,这种RAS算法可以对那些二次加密的软件进行传输,可以在一定程度上提高数据传输的安全性。

4.2 数据安全传输

整个加密过程中最重要的模块就是数据传输模块,首先数据传输模块和中央控制器形成关联并创建相应的窗口,其功能就是让所有的部件和控制器进行数据传输,另一方面这些控制器也可以通过窗口进行指令的传达。那么如何保证这个数据传输过程的安全性,实现安全传输,就要通过相应的加密算法实现。DES利用前面说过的3个步骤实现了平台的跨越性,并将C语言作为其加密语言,RAS的安全传输功能主要就是在发送和接收的过程中设定TCP传输协议,同时生成可以跨越平台使用的代码。

5 结语

综上所述,DES和RAS作为两种较为常用的加密算法各有优缺点,在实际的加密过程中,可以将两者的优点结合起来,形成一种真正实现大数据信息传输的安全、高效、快捷的混合加密体制,为互联网和大数据的广泛应用提供安全的环境。

猜你喜欢
明文加密技术解密
海洋水文信息加密技术方案设计与测试
炫词解密
解密“一包三改”
炫词解密
数据加密技术在计算机网络通信安全中的应用
奇怪的处罚
奇怪的处罚
在计算机网络安全中数据加密技术的应用
四部委明文反对垃圾焚烧低价竞争