概念
- 密码学:研究信息系统安全保密的科学。
- 明文:发送人、接受人和任何访问消息的人都能理解的消息。
- 密文:被加密的消息。
- 加密:用某种方法伪装消息以隐藏它的内容的过程。
- 解密:把密文转变为明文的过程。
- 密码算法:用于加密和解密的数学函数。
- 加密算法:对明文进行加密操作时所采用的一组规则。
- 解密算法:对密文进行解密操作时所采用的一组规则。
- 密钥:加密和解密的操作通常都是在一组密钥的控制下进行的。
- 对称密钥加密:加密与解密使用相同密钥。
- 非对称密钥加密:加密与解密使用不同密钥。
对称加密
现代对称密码体制根据对明文的加密方式的不同可以分为分组密码和流密码。
分组密码将明文消息编码表示后的数字序列,划分为长度为n的组,每组使用相同的密钥加密。分组密码经历了 DES 算法到 三种 DES 算法以及到当前更高级加密标准的 AES 算法的过程。
流密码的基本思想是产生一个密钥流,一次对一位或一字节加密。相比分组密码,流密码的主要优点是速度更快而且需要编写的代码更少。流密码目前主要还是应用在军事、外交、无线通信等领域。主要的算法有 RC4,A5,SEAL 和 PIKE 等。
非对称加密
虽然与非对称加密相比,对称加密算法的速度更快,消耗更小。但对称加密也存在一些无法避免的弱点。首先随着网络规模的扩大,对称密钥的管理,交换就变成了一个难点。另外,对称加密无法解决对消息篡改,否认的问题。而非对称加密则克服了上述缺点,其加密和解密过程使用不同的密钥,加密密钥公开,任何人均可使用加密密钥来加密消息,但只有拥有解密密钥的人才能解密消息。比较著名的非对称加密算法有:RSA、背包密码、McEliece密码、Rabin、椭圆曲线、EIGamal算法。(注:Diffie-Hellman 算法只能用于交换对称密钥)
非对称加密可以应用于加密,数字签名等:
- 加解密,发送方用接收方的公钥加密,接收方用自己的私钥解密。
- 数字签名,发送方用自己的私钥对消息签名,接收方用发送方的公钥验证签名。
如果同时使用,则可以既实现鉴别,又保证消息的保密性,首先发送方先用自己的私钥对消息进行签名,然后再用接收方的公钥加密,接收方收到密文后,先用自己的私钥解密,再用对方的公钥验证签名的正确性。
散列算法
散列算法将任意长度的消息输出为一个固定长度的散列值,称为消息摘要。这个散列值是明文消息所有位的函数。它能够提供错误检测能力,因为消息中的任何一位或多位的变化都将导致该散列值的变化。散列算法也音译为哈希算法。它主要用于消息的完整性检测和数字签名。散列算法中,MD5 已被破解,不能再被实际使用。SHA-1 的安全性也在下降,应更多的使用SHA-2。
网友评论