Basics of Cryptography

Basics of Cryptography

  1. 凯撒密码、字母对应表

  2. 对称密码

    1. 异或运算
    2. DES
    3. AES(相较前者安全性更优)
  3. 分组密码

    1. 加密方法:

      1. FCB
      2. CBC
      3. CFB
      4. OFB
    2. 攻击方法

      替换

  4. 非对称密钥

    1. 公私钥(如 RSA)

    2. 攻击方法

      中间人攻击

  5. 混合密码

    用公私钥(如RSA)加密对称密钥

    用对称密钥对明文进行加解密(提高加解密性能)

  6. 散列函数

    1. 流程
      1. 消息—>单向散列函数—>散列值
    2. 性质
      1. 散列值的长度总是固定的(SHA-256=32字节)
      2. 1比特的区别会产生完全不同的散列值
      3. 低碰撞
      4. 单向性
    3. 应用 —— 保证完整性
    4. 破解方法
      1. 暴力破解
      2. 生日攻击
  7. 消息认证码 —— 需要密钥的单向散列函数

    1. 发送消息及MAC值(共享密钥+消息+加密算法=MAC)
    2. 重放攻击
  8. 数字签名

    1. 非对称加密的反过程 —— 私钥加密 -> 公钥解密
    2. 数字签名 -> 公钥解密 ->散列值 <—比较—> 散列值 <- 单向散列函数 <- 消息明文
  9. 证书 —— 为公钥加上数字签名

    1. 通过中间机构的数字签名 对 公私钥信息传输的 公钥进行加密
  10. 通过生成元来传输对称密钥

  11. 对称密钥的保存 —— 为防止暴力破解,采用加盐的方式,通过口令和加盐生成KEK密钥,对会话密钥进行加密,将加密结果和盐保存下来

    1. 伪随机数生成器 —— 线性同余法的改良(加1、加密、时间戳等)
  12. PGP —— 密码技术的结合

  13. SSL/TLS 更安全的通信 —— HTTP + SSL = HTTPs