密码学要实现的基本功能
数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。网络安全使用使用密码学来辅助完成在传递敏感信息的的相关问题,主要包括:
(I)机密性(confidentiality)
仅有发送方和指定的接收方能够理解传输的报文内容。窃听者可以截取到加密了的报文,但不能还原出原来的信息,及不能达到报文内容。
(II)鉴别(authentication)
发送方和接收方都应该能证实通信过程所涉及的另一方, 通信的另一方确实具有他们所声称的身份。即第三者不能冒充跟你通信的对方,能对对方的身份进行鉴别。
(III)报文完整性(message intergrity)
即使发送方和接收方可以互相鉴别对方,但他们还需要确保其通信的内容在传输过程中未被改变。
(IV)不可否认性(non-repudiation)
如果我们收到通信对方的报文后,还要证实报文确实来自所宣称的发送方,发送方也不能在发送报文以后否认自己发送过报文。
加密算法
加密技术根据其运算机制的不同,主要有对称加密算法、非对称加密算法和单向散列算法。其中各有优缺点,他们之间协合合作,共同实现现代网络安全应用。
对称密码算法
对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。
(I) 凯撒密码Casesar cipher:
将明文报文中的每个字母用字母表中该字母后的第R个字母来替换,达到加密的目的。
(II) DES,3DES和AES
DES(Data Encryption Standard) 算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛使用。该算法输入的是64比特的明文,在64比特密钥的控制下产生64比特的密文;反之输入64比特的密文,输出64比特的明文。64比特 的密钥中含有8个比特的奇偶校验位,所以实际有效密钥长度为56比特。
1997 年RSA数据安全公司发起了一项“DES 挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56bit DES算法加密的密文。即DES加密算法在计算机速度提升后的今天被认为是不安全的。
3DES 是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128比特(112比特有效)或192比特(168比特有效)。其基本原理是将128比特 的密钥分为64比特的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。
AES(Advanced Encryption Standard)是2001年NIST宣布的DES后继算法。AES处理以128bit数据块为单位的对称密钥加密算法,可以用长为128,192和256位的密钥加密。
NIST估计如果用能在1秒钟内破解56bitDES算法的计算机来破解128位的AES密密钥,要用大约149 亿万年时间。
对称算法最主要的问题是:由于加解密双方都要使用相同的密钥,因此在网络安全中,发送、接收数据之前,必须完成密钥的分发。因而,密钥的分发便成了该加密体系中的最薄弱因而风险最大的环节。
各种基本的手段均很难保障安全、高效地完成此项工作。在对称算法中,尽管由于密钥强度增强,跟踪找出规律破获密钥的机会大大减小了,但密钥分发的困难问题几乎无法解决。如,设有n方参与通信,若n方都采用同一个对称密钥,一旦密钥被破解,整个体系就会崩溃。优点是对称加密算法效率高,速度快。对称加密算法用于对数据内容加密,解决上文中提到的机密性功能需求问题。
在应用对称加密算法时,密钥的长度越大,破解难度就越大,相对来说越安全。但同时会降低系统的运行效率。同时计算机的运行速度成线性增长,网格等技术的出现使得现在的对称加密算法越来越受到威胁。对称密钥生存周期很好的解决了这个问题:我们每隔一段时间(比如一小时)更换一个对称密钥,即在第三方破解之前就更换了新的密钥。这样就解决了这个难题。