• HTTPS 之对称加密与非对称加密


    对称加密

    加密 encryption 与解密 decryption 使用的是同样的密钥 secret key,对称加密是最快速、最简单的一种加密方式。加密和解密算法是公开的,秘钥必须严格保存,如果秘钥泄露,别人就能够用密文+秘钥还原成你的明文。
    对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
    对称加密通常使用的是相对较小的密钥,一般小于 256bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用 1bit 来做这个密钥,那黑客们可以先试着用 0 来解密,不行的话就再用 1 解;但如果你的密钥有 1MB 大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。

    For Example

    比如常见的 DES/AES 都是属于对称加密算法。

    优点

    算法公开、计算量小、加密速度快、加密效率高。

    缺点

    秘钥的管理和分发非常困难,不够安全。在数据传送前,发送方和接收方必须商定好秘钥,然后双方都必须要保存好秘钥,如果一方的秘钥被泄露,那么加密信息也就不安全了。

    非对称加密

    非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(简称公钥)和私有密钥(简称私钥),即常说的“公钥加密,私钥加密”或“私钥加密,公钥加密”。
    私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。
    非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。

    For Example

    RSA 就是最常用的非对称加密算法。
    比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。
    与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

    虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。

    优点

    安全性更高,公钥是公开的,秘钥是自己保存的,不需要将私钥给别人。

    缺点

    加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

    总结

    对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
    非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
    解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

  • 相关阅读:
    jQuery的选择器中的通配符[id^='code']
    浏览器调试js
    google浏览器调试js
    【暑假】[实用数据结构]UVAlive 3026 Period
    【暑假】[实用数据结构]UVAlive 3942 Remember the Word
    【暑假】[实用数据结构] AC自动机
    【暑假】[实用数据结构]KMP
    【暑假】[实用数据结构]前缀树 Trie
    【暑假】[实用数据结构]UVa11235 Frequent values
    【暑假】[实用数据结构]UVAlive 4329 Ping pong
  • 原文地址:https://www.cnblogs.com/xiaohai123/p/16521094.html
Copyright © 2020-2023  润新知