加密方法的综合应用

超时代软件近十年来一直致力于加密算法的研究,采用先进的加密算法研发出来的视频加密软件U盘防拷贝软件共享文件夹加密软件广受市场欢迎。

在信息安全领域,加密方法除了用于数据加密外,它们还被扩展到如下应用领域。
(1)身份鉴别
当两个参与者在建立通信连接肘希望确定对方到底是谁,这就是身份鉴别问题,可以通过DES/AES或RSA来解决。

当参与双方已经共享一个DES类型的秘密密钥时,鉴别比较简单:发送方用共享的秘钥加密一个随机数X传给对方,接收方用共享密钥解密出X.然后把X十l和自己产生的随机数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是最好的数字签名算法之一。其签名方式很简单:客户A用自己的私钥SKA对上述重要信息x进行加密运算,然后将结果SKA(X)发送给商户B,商户B则用相应的公钥PKA对SKA(x)进行解密再得到x。因为私钥SKA为A一人所专有,故除A之外没有人能够产生密文SKA(x),凶此B就相信x是A签名发送的,客户A对此也无法抵赖;反过来,如果商户B把x伪造成x’,那么他就无法向仲裁部门提供密文SKA(x’),因为他没有私钥SKA。另外,由于信息x的长度很小,故RSA加解密速度很快。上述方法以一种简单的方式实现了数字罄名,保护了交易双方的利益, 也使得RSA数字签名得到广泛的应用.

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

如果参与双方共享一把DES密钥,发送方就用它对MD5生成的报文摘要进行加密,接收方用相同的密钥把报文摘要解密出来再时其进行验证,如果采用RSA数字签名,发送方用自己专有的私钥对报文摘要进行加密(即签名).接收方则用对方授予的公钥解密后再验证,由于报文摘要很短而且定长.用RSA算法不会花多少时问。这几种加密方式结合运用能完美地解决伪造和篡改问题。