一直分不清公鑰和私鑰有啥區別所以花時間理解了一下,若有不對之處懇請指正~
只有公鑰和私鑰的相關概念,還沒研究怎麼實現
前置條件
a 公鑰 私鑰
b a公鑰
c a公鑰 c公鑰 c私鑰
相關場景
a)公鑰的使用
b用a的公鑰給a發訊息
b) 私鑰解密
a收到訊息之後用私鑰解開,可檢視b給a發的訊息
c)數字摘要
a看到訊息要給b回資訊
步驟如下:
1. 先寫回訊息的內容
2. 根據b傳送的訊息用hash演算法生成摘要(注意此時是拿的b訊息,為了滿足下面數字摘要的特徵2,為後面解密做準備)
數字摘要的特徵如下:(摘自:
1、無論傳入的訊息有多長都會返回固定長度的資訊。
2、傳入的訊息不同,返回的數字摘要也不相同。但是相同的輸入必定會產生相同的輸出。
3、由於訊息摘要並不包含原文的完整資訊,一次無法從摘要中恢復出原來的資訊。
d) 數字簽名
a用自己的私鑰對數字摘要加密,生成數字簽名,b回訊息給a的時候把這串數字簽名也傳送給a
e) 收信人a用公鑰解開數字簽名對比數字摘要
b收到a發的回信之後用公鑰解開數字簽名,拿到數字摘要
此時b也自動會生成乙個數字摘要(這裡我不太明白這個摘要咋生成的)
兩個數字摘要一致的話,b拿到了a回信的內容
f) 非收信人用公鑰解開數字簽名對比數字摘要
c擷取了a發的回信,試圖用公鑰解開a的回信,此時我認為c是能夠拿到a回信的數字摘要的
但是c自動生成的數字摘要和a回信中的數字摘要是不一致的(因為b和c的輸入條件不一致的,a是根據b給他發的訊息生成的摘要),所以c拿不到a的回信
g)ca認證(避免篡改公鑰)
c想擷取b給a發的訊息.
b原本應該拿著a的公鑰給a發訊息,但是c悄咪咪的把a的公鑰換成了c自己的公鑰,但是b不知情,在這種情況下b繼續發訊息,他以為他發給a了,實際上被c移花接木了,然後c拿著私鑰去解開a發信的內容,成功獲取內容
為了避免這種情況就有了ca認證,將公鑰和實體對應起來,避免篡改
github 公鑰 私鑰 理解公鑰與私鑰
一 公鑰演算法與私鑰演算法 1 私鑰演算法 私鑰加密演算法,又稱 對稱加密演算法,因為這種演算法解密金鑰和加密金鑰是相同的。也正因為同一金鑰既用於加密又用於解密,所以這個金鑰是不能公開的。常見的有 des加密演算法 aes加密演算法 2 公鑰演算法 公鑰加密演算法,也就是 非對稱加密演算法,這種演算...
公鑰和私鑰的理解
公鑰和私鑰就是俗稱的不對稱加密方式,是從以前的對稱加密 使用使用者名稱與密碼 方式的提高。用電子郵件的方式說明一下原理。使用公鑰與私鑰的目的就是實現安全的電子郵件,必須實現如下目的 1.我傳送給你的內容必須加密,在郵件的傳輸過程中不能被別人看到。2.必須保證是我傳送的郵件,不是別人冒充我的。要達到這...
https 及證實公鑰私鑰理解
1 傳送人私鑰加密,接收人公鑰解密。可證明 接收人接受到的資訊 於 真正的傳送人。2 傳送人用公鑰加密,接收人用私鑰解密。只要私鑰未洩露,則可保證 傳送的資訊是安全的。3 ca證書中心,由於 接收人接收到的公鑰有可能是假的公鑰,這樣會導致 接收人接收到的資訊不是真的 於持有真正私鑰的傳送人。所以就引...