加密3大目的:
- 保密性:保护用户的标志或数据不被读取
- 完整性:保护数据不被更改
- 身份验证:确保数据来自特定发送方
2大加密算法:
- 私钥加密(对称加密)算法:私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。
- 公钥加密(不对称加密)算法:公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。
为了实现以上3个目的需要使用的算法:
- 保密性:用对称加密(私钥加密)算法来加密消息(算法速度快),用不对称加密(公钥加密)算法来传送对称加密的密钥。
- 完整性/身份验证:用哈希算法计算消息摘要,用不对称加密算法中的私钥加密消息摘要。用公钥恢复消息摘要并用同样哈希算法验证消息摘要是否一致。