现代密码学基础概念

1. 现代密码学的定义

现代密码学是一门科学,研究如何保护数字信息、系统和分布式计算免受他人攻击,涉及加密、签名、身份验证、数字货币等领域。

2. 私钥加密

经典密码学主要关注设计和使用密码(codes,也称为加密套件 ciphers)。通常情况下,通信双方A、B会共享一个密钥k,用于加密和解密,这也被称之为对称加密。

对称加密

通常情况下,加密系统具有以下结构:

  • Gen(k):生成密钥;

  • Enc(k, m):使用密钥加密消息 m;

  • Dec(k, c):使用密钥解密密文 c;

正确性要求:Dec(k, Enc(k, m)) = m

Kerckhoffs 法则

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.

加密方式(cipher)无需保密,且必须能够在落入敌手时不会对现有的加密通信造成影响。

简单来说就是,加密算法可以公开,且公开后仍然能够保证通信的安全性。通信的安全性主要依赖于密钥的保密性。

3. 著名的密码体系

  • 凯撒密码(Caesar Cipher):固定移位,无密钥,极易破解。

  • 移位密码(Shift Cipher):26种密钥,容易被穷举攻击。

  • 单表替换密码(Monoalphabetic Substitution Cipher):密钥空间大,但容易被频率分析攻击。

  • 维吉尼亚密码(Vigenère Cipher):使用多组移位增强安全性,但仍能通过频率分析、Kasiski 方法、Index of Coincidence 攻击。

4. 现代密码学原则

4.1. 形式定义

所有密码学体系都需要具有清晰的定义。没有清晰的安全定义就无法判断加密系统是否“安全”。

例如,安全的加密方式应该被如下定义:

  • 攻击者应当很难从密文 c 中推断出密钥 k。
  • 攻击者应当很难从密文 c 中推断出全部明文 m。
  • 攻击者应当很难从密文 c 中推断出任何部分明文 m’。
  • 攻击者应当很难从密文 c 中推断出明文 m 的某些特定属性。

针对上述的定义,攻击者具有以下的攻击方式

  • 仅密文攻击
  • 已知明文攻击
  • 选择明文攻击
  • 选择密文攻击

4.2. 精确假设

大多数安全性证明都依赖未被证明的数学难题(如离散对数、因式分解等)。

这些假设必须明确、可验证,方便比较不同方案。

4.3. 安全性证明

与“凭直觉设计”的方式相对,现代密码学强调通过严格数学证明来判断安全性。但前提是定义与假设必须合理。


现代密码学基础概念
https://nacldragon.top/2025/Cryptography/
作者
NaCl
发布于
2025年7月14日
许可协议