现代密码学(一)绪论

介绍密码学的基本概念。

基本术语

密码学是一门研究秘密信息隐写技术的学科。

  • 可以使消息的内容对所有人(除了发送者和接收者)保密
  • 可以使接收者验证消息的正确性

常用的术语如下

  • 明文 plaintext
  • 密文 ciphertext
  • 密码算法 cipher
  • 密钥 key
  • 编码 encipher/encode
  • 译码 decipher/decode
  • 密码分析 cryptanalysis/codebreaking
  • 密码学 cryptology

符号记法

加密 Encryption \[ C = EK(P) \]

解密 Decryption \[ P = EK_{-1}(C) \]

可以把密码系统理解为明文空间到密文空间的变换,其中密钥取自密钥空间。 \[ P\xrightarrow{EK}C \\ C\xrightarrow{EK_{-1}}P \]

算法分类

  • 私钥加密算法
    • 分组密码
    • 流密码(序列密码)
  • 公钥加密算法
  • 数字签名算法
  • 哈希函数

密码分析

密码分析学是指在没有加密密钥的情况下,攻击密文的过程。

  • 唯密文攻击
    • 只知道算法与一些密文
    • 利用统计方法
    • 需要能够识别明文
  • 已知明文攻击
    • 知道一些明文/密文对
    • 利用已知的明文/密文对进行攻击
  • 选择明文攻击
    • 能够选择明文并得到相应的密文
    • 利用算法的结构进行攻击
  • 选择密文攻击
    • 能够选择密文并得到相应的明文
    • 利用对算法结构的知识进行攻击