本来不想看这个的,但是工作需要,要考证书,所以不得不看

基础概念

术语&基础知识

  1. 1976年,提出公钥密码学系统的学者是Diffie & Hellman
  2. 发送者(Sender)是信息的发起方
  3. 接收者(Receiver)或信宿是信息的接收方
  4. 信道(Channel)是信息传输的媒介
  5. 原始信息通常称为明文(Plaintext),加密后的信息称为密文(Ciphertext)
  6. 密码学理论研究分支
    1. 密码编码学
    2. 密码分析学
  7. 我国商密纳入国际标准组织ISO/IEC
    1. SM2数字签名算法
    2. SM3密码杂凑算法
    3. SM4分组密码算法
    4. 祖冲之密码算法
  8. 对称加密算法
    1. DES算法
    2. SM4算法
    3. AES算法
  9. 非对称加密算法
    1. 算法
      1. Diffie-Hellman算法
      2. RSA算法
    2. 目前公开密钥密码【非对称加密】主要用来进行数字签名,或用于保护传统密码的密钥,而不主要用于数据加密,主要因为公钥密码的效率比较低
  10. 同步序列密码
    1. 概念:密钥序列的产生独立于明文和密文消息
    2. 特点:密钥流的生成仅依赖于初始密钥和内部状态,与明文/密文无关。
    3. 安全性取决于密钥流
    4. 优势:无错误传播
    5. 示例:RC4、AES-CTR模式、ChaCha20
    6. 其他
      1. 非同步序列密码:密钥流受明文或密文影响
      2. 自同步序列密码:密钥流由前若干位密文推导(如CFB模式),属于非同步的一种。
  11. 杂凑函数,又称哈希函数散列函数,是一种将任意长度的输入数据(如消息、文件)转换为固定长度的输出(称为哈希值、摘要或指纹)的数学函数。核心特点是不可逆性唯一性
    1. 核心特性
      1. 确定性:相同的输入永远生成相同的哈希值。
      2. 不可逆性(单向性):从哈希值无法还原原始输入(除非暴力穷举)
      3. 抗碰撞性:极难找到两个不同的输入产生相同的哈希值(即避免哈希碰撞)
        1. 输出长度位n,则抗碰撞复杂度位O(2^{n/2})
      4. 雪崩效应:输入数据的微小变化(如1比特)会导致哈希值完全不同
    2. 常见hash函数
      1. MD5:128位
      2. SHA-1:160位
      3. SHA-256:256位
      4. SHA-3:可变长度
  12. 密码体制要素
    1. 明文
    2. 密文
    3. 加密算法
    4. 解密算法
    5. 密钥
    6. 密钥空间
    7. 初始向量
    8. 工作模式
    9. 认证与完整性机制
    10. 随机数生成器
  13. 序列密码(流密码)的安全强度
    1. 取决于 密钥流生成器的设计:序列密码的核心是通过密钥流生成器产生伪随机密钥流,与明文逐比特(或逐字节)异或加密
    2. 次要因素初始向量长度:初始向量(IV)用于避免重复密钥流,但其安全性建立在密钥流生成器本身的设计上
  14. 安全性基础原理
    1. 多变量公钥密码:求解有限域上随机生成的多变量非线性多项式方程组的困难性NP-Hard
    2. RSA:大整数分解
    3. 编码密码(如McEliece):任意线性码的译码问题
    4. 格密码:最小整数解问题
  15. 密码协议攻击方法
    1. 重放攻击
    2. 并行会话攻击
    3. 中间人攻击
    4. 预言者会话攻击

Kerckhoffs

Kerckhoffs原则:密码系统的安全性主要依赖密钥

密码分析

  • 根据密码分析者所掌握的分析资料的不同
    • 唯密文攻击【公开的网络中能获得的最现实的能力
    • 已知明文攻击
    • 选择明文攻击
    • 选择密文攻击

分组密码

扩散和混淆

  • 理想的扩散
    • 让密文中的每一位受明文中每一位的影响
    • 让明文中的每一位影响密文中的所有位
  • 理想的混淆
    • 使密文和密钥之间的统计关系变得尽可能复杂
    • 使得对手即使获得了关于密文的一些统计特性,也无法推测密钥
    • 使用复杂的非线性代换