在信息安全领域,DES、RSA、MD5三种加密算法的应用最为广泛,而且事实证明安全可靠,简便易用,除了用于数据加密外,它们还被扩展到如下应用领域。

1、身份鉴别
当两个参与者在建立通信连接时希望确定对方到底是谁,这就是身份鉴别问题,可以通过DES或RSA加密算法来解决。

当参与双方已经共享一个DES类型的秘密密钥时,鉴别比较简单:发送方用共享的秘钥加密一个随机数X传给对方,接收方用共享密钥解密出X,然后把X+1和自己产生的随机数Y一起用共享秘钥加密后再传回去,发送方在正确解密出X+1和Y之后,再把Y+1加密后传给接收方以表示对对方身份的认可,接收方在正确解密出Y+1之后,就随机产生一把新的会话密钥SK加密后传给发送方以表示认可,经过这四个回合的验证,双方身份都得到了确认,以后双方就用会话秘钥SK来进行安全通信。

若参与双方之间互不了解,那么只能通过一个它们都信任的鉴别服务器来解决问题:参与方A先发送一个消息给鉴别服务器,服务器则回复A两个消息,第一个消息包含新的会话密钥SK(DES类型)以及参与者B的标识符,并用服务器与A共享的密钥KA加密,第二个消息包含新会话密钥SK以及参与者A的标识符,但是用服务器与B共享的密钥KB加密,显然A只能解密第一个消息而不能解密第二个,然后A把第二个消息转发给B,同时把自己的标识符用SK加密后也发送给B,接着B用自己与服务器共享的密钥KB解密A转发来的第二个消息,取出其中的会话密钥SK和A的标识符,再用SK解密A传来的另一个消息,取出其中的A的标识符与前面解密得来的A的标识符进行比较,如果相同,B就确认A的合法身份,并向A发出确认消息,此后A和B之间就通过会话密钥SK互相通信。

使用RSA进行身份鉴别则简单得多,参与双方先通过秘密方式获取对方授予的公钥,参与者A使用B的公钥加密一个随机数x发给B,B通过把x解密出来再回传给A来表明它拥有对应的私钥,从而证明自己的合法身份;反过来,参与者B也可以用相同的方法向A证明自己。

浅析几种加密算法的综合应用

2、数字签名
在电子商务中,对于一些重要的信息如电子合同/订单等,客户希望不被人伪造,而商户则希望客户不可抵赖,数字签名是解决这个问题的好办法,而RSA是最好的签名算法之一。

3、消息完整性
有时通信双方并不在意通信的内容被别人偷窥,但是担心收到的信息是别人伪造的或篡改过的,即参与者希望能确保消息的完整性(真伪),虽然加密就能解决这个问题,但是许多信息本身就没有保密的价值,另外,加密工作非常消耗计算机资源,尤其是信息量太大或采用速度很慢的加密算法(如RSA)时问题会很严重。MD5算法正是为解决这个问题而设计的。但MD5也有缺陷,因为它的算法是公开的,冒名顶替者可以伪造一份报文,再用MD5为其产生报文摘要,这样接收方是无法鉴别其真伪的,因此MD5必需结合其他加密算法如DES、RSA来使用。

如果参与双方共享一把DES密钥,发送方就用它对MD5生成的报文摘要进行加密,接收方用相同的密钥把报文摘要解密出来再对其进行验证。如果采用RSA数字签名,发送方用自己专有的私钥对报文摘要进行加密(即签名),接收方则用对方授予的公钥解密后再验证,由于报文摘要很短而且定长,用RSA算法不会花多少时间。这几种加密方式结合运用能完美地解决伪造和篡改问题。结语加密手段是保障网络安全的重要基础,其中DES、RSA、MD5加密算法是信息加密领域应用最广泛的算法,它们各有优势,通常结合运用能优劣互补,在制止狂潮般的网络犯罪、拓展新型网络业务、促进经济增长、提高国家信息化建设水平等方面起着关键的作用。