Basics of Cryptology 密码学基础

本文介绍密码学基础,对称及非对称算法用于加解密或身份认证、密钥生成和密钥分发问题。

保护目标

密码学可实现的保护目标:

  • 机密性,称为隐蔽(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.

继续阅读“Basics of Cryptology 密码学基础”