天天看點

私鑰、公鑰、加解密、加驗簽、CA憑證概念、作用、流程

1、私鑰和公鑰進行加解密、加驗簽流程概述

公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到的一個密鑰對(即一個公鑰和一個私鑰),彼此是成對存在的,私鑰自己持有、公鑰對外公布的。公鑰加密的資訊隻有對應的私鑰能解開。

  1. 作用及基本作用流程

    假設有A、B兩位使用者,A持有自己的私鑰和B的公鑰,B持有自己的私鑰和A的公鑰。當A、B需要進行資訊傳輸的時候,當A向B發送資訊的時候,A需要用B的公鑰進行加密,這樣即使資訊丢失,也不會被外人所知, 因為隻有B自己有B的私鑰,A還需要對資訊用自己的私鑰進行加密(也叫加簽),這樣如果資訊在傳輸工程中被修改或者别替換,那B接收到資訊的時候用A的公鑰是解不開的,是以公鑰可以驗證發送者的身份以及發送資訊的可信度。以上就是私鑰和公鑰的作用,簡單說就是:

    總結:(1)公鑰和私鑰是成對的,它們互相解密。

    (2)公鑰加密,私鑰解密。

    (3)私鑰數字簽名,公鑰驗證。

2、CA憑證

(1)概念: CA是Certificate Authority的縮寫,也叫“證書授權中心”。它是負責管理和簽發證書的第三方機構,作用是檢查證書持有者身份的合法性,并簽發證書,以防證書被僞造或篡改。而CA憑證也就是數字證書,所謂數字證書簡單說就是CA機構用自己的私鑰對你的公鑰以及個人資訊進行加密生成證書就是數字證書。

(2)作用:還是以上面的A、B兩位使用者發送資訊為例,假如C使用者偷偷把A持有的B的公鑰換成了自己的公鑰,然後冒充B去給A發送檔案,此時A仍然以為自己是和B進行資訊傳輸,為例避免這樣一種情況,找一個證書認證機構,機構也有自己的私鑰和公鑰,然後機構用自己的私鑰對你的公鑰以及個人資訊進行加密生成證書就是數字證書這樣B在發送給A資訊的時候直接将簽名值和數字證書發送過去,然後A用CA的公鑰解密數字證書得到B的公鑰,然後對原文用hash函數生成摘要,然後用公鑰解密簽名值生成摘要,兩者進行比對。下圖是過程:

發送加密過程:

接收解密過程:

3 、HASH

HASH也j叫散列,把任意長度的輸入通過雜湊演算法,變換成固定長度的輸出,改輸出就是散列值。這種轉換是一種壓縮映射,也即是散列值的空間通常遠小于輸入的空間,不同的輸入可能有相同的散列值。簡單的說就是一種将任意長度的消息壓縮到某一固定長度的消息摘要的函數。

常用的hash算法:MD4、MD5、SHA-1

MD5的特點:(1)對原始消息做有損壓縮。即無論輸入值是多少長度都會生成固定的128位/16位元組的消息摘要

(2)不可逆:在不知道原始消息的前提下,是無法憑借16個位元組的消息摘要(Message Digest),還原出原始的消息的

(3)單向唯一性:一個輸入對應唯一輸出,但是反向不成立。

(4)固定性:當原始消息恒定時,每次運作MD5産生的消息摘要都是恒定不變的。

(5)不可預測性。

當然随着現在計算機計算能力的大幅度提升,通過彩虹表也可以破解一些簡單的MD5加密。

但是現在可以通過“加鹽”的方式或者增加MD5疊代次數增加破解難度,而“加鹽”又有隐式鹽(比如網站的密鑰,隻有自己知道)和顯式鹽之分。

參考: https://blog.csdn.net/baidu_36327010/article/details/78659665.

繼續閱讀