加密方式探索

加密

本质是对明文到密文处理的一种规则。
一般是通讯一方到另一方。

对称加密

  • 对称加密是使用同一个key完成加密;加密和解密用的是同一个密码。

  • 槽点

    • 如果key 丢失,那么基本上是加密失败
  • 知名算法

    • AES
    • Blowfish
    • DES

非对称加密

  • 采用pub/pri 制,会生成一对秘钥对。pub(公钥)会在通讯上传输,而私钥会存储在本地。传输的数据通过公钥进行加密,通过私钥进行解密。

  • 知名算法

    • DSA(数字签名算法)
    • ECC
    • RSA(公钥加密算法)

防篡改

MAC(消息验证码)

  • 带秘钥的HASH函数

  • 正常来说,除了防窥视,还需要防篡改。
    MAC 基于一个双方都知道的key和传递的message生成MAC。
    消息发送者会带着生成的MAC 和 传递的数据 一起给到消息接收者,消息接收者在接收到之后对传递的数据做Mac与传递过来的MAC做对比。如果不一致则是被篡改。

  • 常见算法

    • HMAC(HASH 算法实现的 MAC)

      • SHA(SHA256
      • MD(MD5
    • 分组密码算法实现的 MAC

  • 槽点

    • 任然是对称加密的问题,key别窃取怎么办

数字签名(digital signature)

  • 仍然类似于非对称加密,要产生pri/pub 秘钥对。发送方会把公钥首先给到接收方。发送方通过私钥进行加sign,接收方接收到之后通过公钥验sign。验sign失败说明被篡改。

  • 槽点

    • 中间人攻击