常见的密码体制分为两种:私用密钥加密技术和公开密钥加密技术,前者是对称加密,后者是非对称加密。
1.私用密钥加密技术(对称加密):
加密和解密采用相同的密钥,对于具有n个用户的系统需要n(n-1)/2个密钥。
在用户群不是很大的情况下存放,对于大用户分布式,密钥的分配和保存会成为问题。
DES是对机密信息进行加密和验证随机报文一起发送报文摘要来实现。
DES密钥长度为56bit,Triple DES(DES的一种变形)将56bit的密钥长度的算法对实现信息进行3次加密,是长度达到了112bit。
对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。
2.公开密钥加密技术(非对称加密):
加密和解密相对独立,分别用两种不同的密钥,公钥向公众公开,谁都可以使用,私钥只有解密人知道,公钥无法用于解密。
RSA算法就是典型的非对称加密。公钥方便实现数字签名和验证,但算法复杂,效率低。
对于n个用户的系统,仅需要2n个密钥,公钥加密提供一下功能:
A.机密性 B.确认性 C.数据完整性 D.不可抵赖性
DES中明文按64位进行分组,密钥事实上是56位参与DES运算(64为只用56为具有较高的安全性,第8,16,24,32,40,48,56,64位用于校验位)。
分组后的明文组和56位的密钥按位交替或交换的方法形成密文组的加密方法。
入口参数有三个:key(密钥)、data(加解密的数据)、mode(工作模式)。
mode有两种,加密模式和解密模式,对应key的加密和解密过程。
客户端和服务端都需要保存key不泄露。