日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

加密、解密、摘要、签名、证书一文搞懂

發布時間:2024/9/30 编程问答 118 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加密、解密、摘要、签名、证书一文搞懂 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概念

是否可逆意思算法舉例說明能力
可逆加密過后的數據可以解密出來AES,DES,3DES等對稱加密
RSA,RSA2等非對稱,公鑰加密私鑰解密或者反過來,用于驗簽加密的數據越多越慢,RSA2目前只能加密少于密鑰長度的數據,目前的計算機還不能破解2048長度的密文
不可逆加密過了就沒法解開了,唯一的數據加密后的結果唯一MD5,SHA1,SHA256,SHA512等一般不稱之為加密算法,而叫摘要算法快,據說google暴力破解過SHA1算法了

從普通加密解密到證書的過程

以服務端S到客戶端C的單向通信舉例

  • 對稱加密存在的問題是C和S怎么傳鹽,無論放在互聯網的任何地方,鹽被偷了,又知道你們的加密算法,肯定能破解。
  • 不可逆加密,數據就失去可讀性,C和S得到不認識的數據,倒是可以用于驗簽,但是這么干不是吃飽了撐的?
  • 從真實數據到證書的過程:
  • RSA2(包括RSA)會生成公鑰和私鑰,公鑰加密的數據私鑰可以解開,反之亦可,私鑰S持有(不會泄露),公鑰多個C持有,如果S不小心把公鑰下發給不想下發的C(統稱黑客)或者包被劫持,那黑客就可以用公鑰解開數據進行篡改再發給S進行攻擊。所以要解決的問題兩個,問題一是數據防篡改,問題二是公鑰要發給自己信任的C(從C來說就是要保證公鑰是你的S下發的),也就是不能再網絡上直接傳輸。
  • 解決問題一,用不可逆算法把數據(明文+鹽,我理解的這里加鹽是進一步確保明文更復雜,不容易猜到)加密,即MD5(SHA1、SHA256、SHA512等)對數據加密,生成的東西叫摘要(所以這些算法也叫摘要算法)。因為不同的數據用不可逆算法加密之后的結果唯一,如果數據被篡改,則生成的摘要不同,驗證的時候就知道被改過了。
  • 摘要再用S的的私鑰加密,生成的東西就叫簽名C和S傳數據的時候,如果只傳摘要,這是解不開的,沒有意義,所以S給C傳的數據包應該包含摘要和真實數據明文,讓C可以用公鑰解開簽名得到明文和摘要,然后用明文+鹽生成摘要對比一下S傳過來的摘要,這叫驗簽,通過得話說明就是你的S傳過來的數據沒被篡改,然后就可以用明文進行自己的邏輯。到這里一個完整的簽名和驗簽過程就成了。
  • 解決問題二,為什么要證書,證書即CA,是一個第三方機構。一般的場景是,大公司的S只有一個,C卻是無數多個,S自己都不知道又哪些C。那么C怎么拿到S的公鑰呢,這時候CA就上場了,S會向CA機構上交自己的公鑰(還有公司組織的其他信息),CA用自己的私鑰加密,生成的東西就叫證書,那C要又CA的公鑰才能解開證書并得到自己S的公鑰啊?CA是怎么辦的呢?CA是一家或者多家很有錢的公司,S向他申請證書的時候都有保險的,要是CA把S的公鑰泄露了要賠很多錢,所以這么大的公司CA就買通比如瀏覽器廠商這樣的超大的C,把證書內嵌到瀏覽器里或者計算機系統里。就不存在網絡傳輸被攔截的風險了。https協議就是這么回事了。
    • 一般加密通信的流程(比如銀行)

    以上說的是S到C的單向通信,S端需要解密和驗簽,C端同樣,所以流程是這樣的。

    • C生成自己的公鑰和私鑰(比如用openSSL工具生成,支付寶平臺可以在線生成),S生成自己的公鑰和私鑰,S另外再生成鹽(用于摘要的鹽,不是對稱加密的鹽),然后C在S的后臺管理系統注冊登錄,上交自己的公鑰,C同時獲得S的鹽和公鑰。因為C是在S的系統里獲取的,相當于在S的系統里把自己的公鑰手寫進去和把S的公鑰和鹽手抄下來,沒有網絡傳輸,所以還是安全的。
    • 然后C和S通信或者S向C通信的時候就用相同的摘要算法(這個算法C和S線下商定)對明文+鹽進行摘要,然后用自己的私鑰對明文和摘要(一般是直接拼接字符串)加密,即生成簽名,然后就可以把摘要+簽名(統稱包)在網絡上傳輸。對方取得包之后用自己的私鑰解開,得到明文和摘要,再用明文+鹽生成摘要對比一下對方傳過來的摘要,即驗簽,對的上得話說明數據沒被篡改,安全,就可以用明文進行自己的工作了。

    總結

    以上是生活随笔為你收集整理的加密、解密、摘要、签名、证书一文搞懂的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。