數字簽名原理簡介(附數字證書)

首先要了解什麼叫對稱加密和非對稱加密,消息摘要這些知識。安全

1. 非對稱加密網絡

在通訊雙方,若是使用非對稱加密,通常聽從這樣的原則:公鑰加密,私鑰解密。同時,通常一個密鑰加密,另外一個密鑰就能夠解密。加密

由於公鑰是公開的,若是用來解密,那麼就很容易被沒必要要的人解密消息。所以,私鑰也能夠認爲是我的身份的證實。spa

若是通訊雙方須要互發消息,那麼應該創建兩套非對稱加密的機制(即兩對公私鑰密鑰對),發消息的一方使用對方的公鑰進行加密,接收消息的一方使用本身的私鑰解密。3d

2.消息摘要blog

消息摘要能夠將消息哈希轉換成一個固定長度的值惟一的字符串。值惟一的意思是不一樣的消息轉換的摘要是不一樣的,而且可以確保惟一。該過程不可逆,即不能經過摘要反推明文(彷佛SHA1已經能夠被破解了,SHA2尚未。通常認爲不可破解,或者破解須要耗費太多時間,性價比低)。字符串

利用這一特性,能夠驗證消息的完整性。it

消息摘要一般用在數字簽名中,下面介紹用法。效率

 

瞭解基礎知識以後,就能夠看一下數字簽名和數字證書了。基礎

3.數字簽名

假設如今有通訊雙方A和B,二者之間使用兩套非對稱加密機制。

如今A向B發消息。

那麼,若是在發送過程當中,有人修改了裏面密文消息,B拿到的密文,解密以後獲得明文,並不是A所發送的,信息不正確。

要解決兩個問題:1. A的身份認證 2. A發送的消息完整性 那麼就要用到上面所講的基礎知識。

數字簽名的過程以下圖:

簡單解釋:

A:將明文進行摘要運算後獲得摘要(消息完整性),再將摘要用A的私鑰加密(身份認證),獲得數字簽名,將密文和數字簽名一塊發給B。

B:收到A的消息後,先將密文用本身的私鑰解密,獲得明文。將數字簽名用A的公鑰進行解密後,獲得正確的摘要(解密成功說明A的身份被認證了)。

對明文進行摘要運算,獲得實際收到的摘要,將兩份摘要進行對比,若是一致,說明消息沒有被篡改(消息完整性)。

疑問:

摘要使用A的私鑰加密,若是被擁有A的公鑰的第三者截獲,不就能夠獲取到摘要了麼?會不會對安全形成威脅。

不會。由於摘要是不可逆推出原文的。

 

4.數字證書

理解了數字簽名以後,數字證書就好理解了。

因爲網絡上通訊的雙方可能都不認識對方,那麼就須要第三者來介紹,這就是數字證書。

數字證書由Certificate Authority( CA 認證中心)頒發。

關於數字證書的具體描述,須要百度,目前未徹底理解。記一個TODO。

圖解以下:

首先A B雙方要互相信任對方證書。//TODO

而後就能夠進行通訊了,與上面的數字簽名類似。不一樣的是,使用了對稱加密。這是由於,非對稱加密在解密過程當中,消耗的時間遠遠超過對稱加密。若是密文很長,那麼效率就比較低下了。但密鑰通常不會特別長,對對稱加密的密鑰的加解密能夠提升效率。

相關文章
相關標籤/搜索