保护目标
密码学可实现的保护目标:
- 机密性,称为隐蔽(concealment)
- 完整性,称为身份认证(authentication)
密码学无法实现的保护目标:
- 可用性
Kerckhoff原则
加密方法一定不能是保密的,且一定要很容易被敌人获取到。
The cipher method must not be required to be secret, and it must be able to fall into the hands of the enemy without inconvenience.
因此:
- 只能使用公开的、经过良好分析的算法和协议
- 不要相信“超级安全”但保密的算法
- 不要试图设计自己的算法(除非你是密码学专家)
- 结合不同的安全模块并不一定会得到一个完全安全的系统,因此在组合时需要谨慎
Combining secure building blocks does not neccessarily lead to a secure overall system.