随着Internet和局域网的迅速发展和广泛应用,信息高速公路的建立,正在对科学技术、经济和文化带来巨大的推动和影响,给我们带来了极大的利益,同时也增加了网络安全的脆弱性和复杂性,资源共享和分布增加了网络受威胁和攻击的可能性。针对当今计算机网络在安全性方面的缺陷,人们提出了各种的方法来弥补,那么今天,我们就给大家介绍一下DES、RSA和哈希加密算法相结合的组合数据加密技术在资金管理系统中的应用。

一、DES、RSA加密算法

1、DES加密算法的基本思想

DES综合运用了量换、代替、代数多种加密技术,它是一种分组密码,面向二进制设计,用56位密钥加密64位明文,得到64位密文。DES加密算法的加密过程如下:

(1)64位明文经过初始置换IP,将数据重新排列并分成左右两半,左边32位构成Lo,右边32位构成R0;

(2)56位密钥经过变换产生16个子密钥:K1,K2,…,K16,分别供第一次加密迭代,第二次加密迭代,…,第十六次加密迭代使用;

(3)由加密函数f实现子密钥K1对R0的加密,结果为32位数据组f(R0,K1),f(Ro,K1)再与Lo模2相加,又得到一个32位的数据组Lo+f (Ro,K1),以Lo+(Ro,K1)作为第二次加密迭代的Ri,以Ro作为第二次加密迭代的Li,第一次加密迭代过程结束;

(4)第二次加密迭代至十六次加密迭代分别用子密钥K2,…,K16进行,其过程与第一次加密迭代相同;

(5)第十六次加密迭代结束后,产生一个64位数据组,以其左边32位作为R16,以其右边32位作为L16,此结果再经过逆初始置换IP-1,将数据重新排列,得到64位密文,至此加密过程全部结束。

2、RSA加密算法的基本思想

RSA加密算法是公开密钥体制的代表,RSA公开密钥加密体制系统使用两个密钥:加密密钥KE和解密密钥KD。 KE可以公开而用于公开域中;KD需要保持秘密,只能用于私用域中,每个人都可以用另一个使用者的加密密钥来加密数据文件,但只有具有解密密钥的使用者才能解密数据文件。RSA加密算法的安全性是基于难以分解大素数因子的计算复杂性理论。

(1)RSA加密体制用户的公开加密变换KE与解密变换KD的生成

a、随机选两个100位以上的十进制素数P与Q,令N=PQ。令λ(N)为P-1与Q-1的最小公倍数。随机地选两正整数e与d,使e、d与入(N)互素,且ed≡1(modλ(N))。

b、公布N,e作为E,记作E= [N,e]。

c、保密P,Q,d,λ(N)作为D,记作: D=[P,Q,d A(N)]。

(2)RSA体制加密过程

RSA体制为分组加密体制,相对于用户i的明文字母表与密文字母表均取Zni={0,1,…,Ni - 1}。

加密过程:设用户j欲将明文x加密后传给用户i,则用户j实施下列各步:

a、在公开钥数据库中查得用户i的公开钥:B=[Ni,ei]。

b、将X分组为X=X1 X2...Xr,Xa∈ZNi,a=1,2,…,r。

c、对每组作加密变换,即对a=1,2,…,r作: ya= Ei(xa)=Xaei(mod Ni)。

d、将密文y=y1y2…yr传给用户i。

解密过程:用户i收到密文y= yl y2…yr后,用保密的解密密钥Di先对每一分组密文作解密变换,即对a=1,2,…,r作X/a=Di (ya)=yadi (mod Ni),接着合并分组Xta得x’=Xt1Xt2…Xtr,这就是用户j传来的明文:x= X1 X2...Xr,即x=x’。

(3)用RSA体制进行“数字签名”

RSA满足在解密之后再对其进行加密也能恢复原有信息x,亦即对D域中的所有x,有:E(D(x)) =X;因此可以用于数字签名。

二、 DES加密算法与RSA加密算法的比较

1、安全性与保密性

DES加密算法与RSA加密算法的安全性都很高,至今还没有有效的方法能在短时间内破译它们。

2、加密、解密速度

由于DES加密算法的加密、解密处理是比较简单的比特处理组合形式,所以,利用硬件或软件可实现高速处理。而RSA加密算法则需要进行诸如200位整数的乘幂与求模等多倍字长运算,因此,处理时间比DES加密算法要长得多,是DES加密算法速度的十分之一以下,所以只适用于少量数据文件加密和对称密钥的传递。

3、密钥生成

DES加密算法仅需要产生56比特的随机序列,而RSA方式则必须产生两个100位以上十进制的素数,然后计算出满足特殊关系的一对密钥。

4、密钥的分配和管理

DES加密算法必须在通信前对密钥进行秘密分配,密钥传递方式不安全,容易被截获,而且密钥的定期更换也很困难不能适应大范围应用;而RSA加密算法可采用公开形式分配加密密钥。因此,RSA加密算法比DES加密算法更加优越。

三、哈希算法

哈希算法并不是加密算法,但却能形成信息的数字“指纹”,主要用途是确保数据没有被篡改或变化过,以保证数据的完整性,哈希算法有三个特性:

1、能处理任意大小的信息,并生成固定长度的信息摘要;

2、具有不可预见性,信息摘要的大小与原始信息的大小没有任何联系,原信息的每一个微小变化都会对信息摘要产生很大的影响;

3、具有不可逆性,没有办法通过信息摘要直接恢复原信息。

四、组合加密技术在资金管理系统中的应用

1、一种将DES加密算法、RSA加密算法和哈希算法进行组合的加密技术

目前,网络数据传输的快捷、方便,使得资金管理系统越来越网络化,通过网络在异地之间传递资金信息日益频繁.在传输过程中,要解决的关键问题就是如何保证资金信息的安全以及如何防止接收方和发送方对资金信息的发送和接受行为予以否认。

系统简介:某项资金管理系统,系统为星型结构,如图1。

组合数据加密技术在资金管理系统中的应用

系统分为政府端系统(1个)和银行端系统(多个)两部分,资金三家银行在柜面缴纳,银行收款后,银行端系统发送加密电子报文给中心银行,中心银行将银行端电子报文解密,入帐。

根据上面对两种加密算法的分析,可提出一种基于DES加密算法、RSA加密算法和哈希算法的组合加密技术,并应用于此模型。

(1)加密过程

a、中心银行产生用于DES加密的密钥K,并从密码服务器中获得工商银行(或建设银行或农业银行)的RSA加密密钥,然后用工商银行(或建设银行或农业银行)的RSA加密密钥加密K形成密文CK。

b、中心银行通过哈希算法,将所发送的资金信息形成信息摘要。

c、中心银行用自己的RSA解密密码和工商银行(或建设银行或农业银行)的RSA加密密钥对上述签名信息进行数字签名。

d、中心银行用DES密钥K对数据明文和签名信息加密,然后连同CK-起发往工商银行(或建设银行或农业银行)。

(2)解密过程

a、工商银行(或建设银行或农业银行)用保密的RSA解密密钥从传来的密文中获取DES密钥K,然后用K解密数据明文和签名信息。

b、工商银行(或建设银行或农业银行)用中心银行的加密密钥解开数字签名,得到信息摘要。

c、此时,工商银行(或建设银行或农业银行)为了证实他所收到的信息是来自中心银行,他还必须进行以下步骤:对得到的明文信息进行哈希运算,形成新的信息摘要;比较新信息摘要和原信息摘要。如果两者一致,说明收到的信息确实来自中心银行,工商银行(或建设银行或农业银行)将数据明文发往中心银行。

d、工商银行(或建设银行或农业银行)形成自己的签名后发送回中心银行。

e、中心银行和工商银行(或建设银行或农业银行)销去DES密钥K。

2、组合加密技术的优点

由于DES和RSA的混合加密方式把两者组合起来使用,所以具有如下优点:

a、由于用RSA方式加密和传送用于数据通信的DES方式的密钥,所以不需要通信前进行密钥的秘密发送。

b、密钥的保密管理与RSA方式情形相同,只对一个解密密钥进行保密管理就行了。

c、加密、解密的处理速度大体上与DES方式相同,也就是说,用耗费时间的RSA方式处理的仅仅是DES方式的密钥。

d、由于利用RSA方式发送密钥,所以也可以利用它来进行数字签名。

3、实现中涉及的几个关键问题

DES和RSA的混合加密方式兼有加密、解密处理速度快的常规密码体制的优点和不需要进行密钥秘密分配且保密管理的密钥量也较少的公开密钥密码体制的优点,从而构成了一种理想的密码方式。有了一个好的数据保护方式后,要想实际的系统能够达到它的预期效果,在系统的使用和实际实现上也必须有一套完整的方法,根据系统的特点和要求,在设计时考虑到如下问题。

(1)在密钥的分配方面

a、密钥的申请

申请“数据加密密钥’佣以进行数据通信的功能,为了保证数据安全性,每次数据传输都使用不同的DES密钥的方法。

b、密钥的登记

通信的收方用来登记发方送来的“数据加密密钥”的功能。

(2)在密钥的验证方面

为了保证“数据加密密钥’’在发方和收方之间的正确传送,我们在发送“数据文件加密密钥”之后还要对该密钥进行检验,以保证收方确实收到了该“数据文件加密密钥’’。

a、申请验证数据

申请用于验证“数据加密密钥”的数据的功能。

b、申请验证应答数据

申请对送来的验证数据的应答数据的功能。

c、验证数据的检查

将送来的验证应答数据与验证数据进行比较检查,以确认是否相同的功能。

(3)密钥的清除

在成功地进行数据传输后,为了防止“数据文件加密密钥”的泄露,通信的双方需要在通信结束后清除内存中的“数据加密密钥’’。

(4)数据文件加密、解密

a、数据文件加密

通信的双方利用DES加密算法和RSA加密算法对数据文件或者“数据文件加密密钥’,进行数据文件加密的功能。

b、数据文件解密

通信的双方利用DES加密算法和RSA加密算法对数据或者“数据文件加密密钥”进行文件解密的功能。

(5)数字签名

a、数据的签名:为了识别通信的发方,我们还提供了通过RSA加密算法进行数字签名的功能。

b、签名的解释:收方对送来的签名数据进行解释的功能。

(6)文电校验码(MAC)

a、在数据上添加MAC

我们提供了添加MAC码于消息的尾部的方法来防止数据被人为地篡改。

b、对MAC进行解释

对添加于消息尾部的MAC码进行检验,以发现消息是否被篡改的功能。

小知识MAC

MAC(Macintosh,苹果电脑)区别于装配有微软Windows系统的电脑(PC),需要说明的是这里的PC 并非是Personal Computer(个人计算机)的简称,而是来源于最初由IBM销售的PC-DOS系统(Windows的前身),后来所有装配Windows系统的电脑被称为PC,而苹果电脑因装配自家的Mac OS系统,而称为MAC。