漫谈加密与数字签名
漫谈加密与数字签名
一、加密
为了保护您的数据在传递过程中不被别人窃听或修改,您必须对数据进行加密(加密后的数据称为密文),这样,即使别人窃取了您的数据(密文),由于没有密钥而无法将之还原成明文(未经加密数据),从而保证了数据的安全性,接收方因有正确的密钥,因此可以将密文还原成正确的明文。
1.常规密钥密码体制
所谓常规密钥密码体制,即加密密钥与解密密钥是相同的。在早期的常规密钥密码体制中,典型的有代替密码,其原理可用一个例子来说明。例如,将字母a,b,c,d,…,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,…,Z,A,B,C分别对应(即相差3个字符)。若明文为student则对应的密文为VWXGHQW(此时密钥为3)。
由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种代替密码进行破译。
2.数据加密标准DES
DES算法原是IBM公司为保护产品的机密于1971年至1972年研制成功的,后被美国国家标准局和国家安全局选为数据加密标准,并于1977年颁布使用。ISO也已将DES作为数据加密标准。
DES对64位二进制数据加密,产生64位密文数据。使用的密钥为64位,实际密钥长度为56位(有8位用于奇偶校验)。解密时的过程和加密时的相似,但16个密钥的顺序正好相反。
DES的保密性仅取决于对密钥的保密,而算法是公开的。DES内部的复杂结构是至今没有找到捷径破译方法的根本原因。现在DES可由软件和硬件实现。美国AT&T首先用LSI芯片实现了DES的全部工作模式,该产品称为数据加密处理机DEP。
3.公开密钥密码体制
公开密钥(public key)密码体制出现于1976年。它最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥──公开密钥PK和秘密密钥SK,因此,这种体制又称为双钥或非对称密钥密码体制。
在这种体制中,PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。加密算法E和解密算法D也都是公开的。虽然SK与PK是成对出现,但却不能根据PK计算出SK。公开密钥算法的特点如下:
(1)用加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:DSK(EPK(X))=X
(2)加密密钥不能用来解密,即:DPK(EPK(X))≠X
(3)在计算机上可以容易地产生成对的PK和SK。
(4)从已知的PK实际上是不可能推导出SK。
(5)加密和解密的运算可以对调,即:EPK(DSK(X))=X
在公开密钥密码体制中,最有名的一种是RSA体制。它已被ISO/TC97的数据加密技术分委员会SC20推荐为公开密钥数据加密标准。
二、数字签名
以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传送的报文又如何盖章呢?这就是数字签名所要解决的问题。数字签名必须保证以下3点:
(1)接收者能够核实发送者对报文的签名;
(2)发送者事后不能抵赖对报文的签名;
(3)接收者不能伪造对报文的签名。
现在已有多种实现各种数字签名的方法,但采用公开密钥算法要比常规算法更容易实现。下面就来介绍这种数字签名。
发送者A用其秘密解密密钥SKA对报文X进行运算,将结果DSKA(X)传送给接收者B。B用已知的A的公开加密密钥得出EPKA(DSKA(X))=X。因为除A外没有别人能具有A的解密密钥SKA,所以除A外没有别人能产生密文DSKA(X)。这样,报文X就被签名了。
假若A要抵赖曾发送报文给B。B可将X及DSKA(X)出示给第三者。第三者很容易用PKA去证实A确实发送消息X给B。反之,如果是B将X伪造成X',则B不能在第三者面前出示DSKA(X')。这样就证明了B伪造了报文。可以看出,实现数字签名也同时实现了对报文来源的鉴别。
但是上述过程只是对报文进行了签名。对传送的报文X本身却未保密。因为截到密文DSKA(X)并知道发送者身份的任何人,通过查问手册即可获得发送者的公开密钥PKA,因而能够理解报文内容。若采用如图所示的方法,则可同时实现秘密通信和数字签名。图中SKA和SKB分别为A和B的秘密密钥,而PKA和PKB分别为A和B的公开密钥。
(网 事)