簽名和加密

2021-08-11 06:10:44 字數 2158 閱讀 8710

既然是加密,那肯定是不希望別人知道我的訊息,所以只有我才能解密,所以可得出公鑰負責加密,私鑰負責解密;

同理既然是簽名,那肯定是不希望有人冒充我發訊息,只有我才能發布這個簽名,所以可得出私鑰負責簽名,公鑰負責驗證。

這裡一共有***兩組四個***金鑰:a的公鑰(pub_a),a的私鑰(pri_a);b的公鑰(pub_b),b的私鑰(pri_b)。

先簽名後加密,先加密後簽名都可以,取決於實際應用。

核心都是利用非對稱變換,加密主要用於資訊保安傳輸,簽名主要是為了保證唯一性,無法偽造

##數字簽名主要經過以下幾個過程:

資訊傳送者使用一單向雜湊函式(hash函式)對資訊生成資訊摘要;

資訊傳送者使用自己的私鑰簽名資訊摘要;

資訊傳送者把資訊本身和已簽名的資訊摘要一起傳送出去;

資訊接收者通過使用與資訊傳送者使用的同乙個單向雜湊函式(hash函式)對接收的資訊本身生成新的資訊摘要,再使用資訊傳送者的公鑰對資訊摘要進行驗證,以確認資訊傳送者的身份和資訊是否被修改過。

##數字加密主要經過以下幾個過程:

1.當資訊傳送者需要傳送資訊時,首先生成乙個對稱金鑰,用該對稱金鑰加密要傳送的報文;

2.資訊傳送者用資訊接收者的公鑰加密上述對稱金鑰;

資訊傳送者將第一步和第二步的結果結合在一起傳給資訊接收者,稱為數字信封;

資訊接收者使用自己的私鑰解密被加密的對稱金鑰,再用此對稱金鑰解密被傳送方加密的密文,得到真正的原文。

數字簽名和數字加密的過程雖然都使用公開金鑰體系,但實現的過程正好相反,使用的金鑰對也不同。數字簽名使用的是傳送方的金鑰對,傳送方用自己的私有金鑰進行資訊摘要(hash生成)加密,接收方用傳送方的公開金鑰進行解密,這是乙個一對多的關係,任何擁有傳送方公開金鑰的人都可以驗證數字簽名的正確性。數字加密則使用的是接收方的金鑰對,這是多對一的關係,任何知道接收方公開金鑰的人都可以向接收方傳送加密資訊,只有唯一擁有接收方私有金鑰的人才能對資訊解密。另外,數字簽名只採用了非對稱金鑰加密演算法,它能保證傳送資訊的完整性、身份認證和不可否認性,而數字加密採用了對稱金鑰加密演算法和非對稱金鑰加密演算法相結合的方法,它能保證傳送資訊保密性。

拓展理解1-數字簽名和加密

拓展理解2-非對稱演算法和雜湊雜湊

拓展理解3-加密和簽名的區別?

詳解1、數字簽名和驗證:

傳送報文時,傳送方用乙個hash演算法從報文中產生固定長度的報文摘要,然後利用自己的私鑰對這個摘要進行加密,這個過程就叫簽名。這個加密後的摘要作為報文的數字簽名和報文一起傳送給接收方,接收方用傳送方的公鑰解密被加密的摘要(報文附加的數字簽名)得到結果a,然後用於傳送方一樣的hash演算法從接收到的原始報文中算出報文摘要b。最後,把a和b作比較。如果相同,那麼接收方就能確認該數字簽名是傳送方的。

加密和解密:

傳送方利用接收方的公鑰對要傳送的明文進行加密,接受方利用自己的私鑰進行解密,其中公鑰和私鑰匙相對的,任何乙個作為公鑰,則另乙個就為私鑰。

詳解2、數字簽名的功能:

a) 對簽名者進行身份認證;

b) 保證資訊的完整性(在交易過程中,沒有被篡改)

c) 防止交易中的抵賴發生(簽名者無法否認資訊是由自己發出的)

加密的功能:

a) 重點在於「資料的安全性」,可以防止資料被監聽攻擊。

詳解3、公鑰一般用來加密,私鑰用來簽名。

通常公鑰是公開出去的,但是私鑰只能自己私密持有。

公鑰和私鑰唯一對應,用某個公鑰簽名過得內容只能用對應的私鑰才能解籤驗證;

同樣用某個私鑰加密的內容只能用對應的公鑰才能解密。這時a向b傳送資訊的整個簽名和加密的過程如下:

1、a先用自己的私鑰(pri_a)對資訊(一般是資訊的摘要)進行簽名。

2、a接著使用b的公鑰(pub_b)對資訊內容和簽名資訊進行加密。

這樣當b接收到a的資訊後,獲取資訊內容的步驟如下:

1、用自己的私鑰(pri_b)解密a用b的公鑰(pub_b)加密的內容;

2、得到解密後的明文後用a的公鑰(pub_a)解籤a用a自己的私鑰(pri_a)的簽名。

從而整個過程就保證了開始說的端到端的唯一確認。a的簽名只有a的公鑰才能解籤,這樣b就能確認這個資訊是a發來的;a的加密只有b的私鑰才能解密,這樣a就能確認這份資訊只能被b讀取。

簽名金鑰和加密金鑰

簽名金鑰和加密金鑰 由於公鑰所具有的兩種不同用途,在實際應用中,需要分別配置用於數字簽名 驗證的 金鑰對和用於資料加密 解密的金鑰對,這裡分別稱為簽名金鑰對和加密金鑰對 這兩對密 鑰由於用途不同,因此,對於金鑰的管理也就有著不同的要求 1 簽名金鑰對的管理 簽名金鑰對由簽名私鑰和驗證公鑰組成 簽名私...

數字簽名和加密的小常識

首先,數字簽名使用傳送方的金鑰對,傳送方使用自己的私有金鑰進行加密,而接收方只需要傳送方的公開金鑰就可以解密,是一種的一對多的關係。因為只要持有傳送發公開金鑰的人都可以驗證數字簽名的正確性。另外,數字簽名採用的是非對稱的金鑰加密演算法,它能夠保證傳送資訊的完整性 身份認證和不可否認性。在乙個,加密是...

數字簽名和加密的基本原理及其區別

數字簽名主要經過以下幾個過程 資訊傳送者使用一單向雜湊函式 hash函式 對資訊生成資訊摘要 資訊傳送者使用自己的私鑰簽名資訊摘要 資訊傳送者把資訊本身和已簽名的資訊摘要一起傳送出去 資訊接收者通過使用與資訊傳送者使用的同乙個單向雜湊函式 hash函式 對接收的資訊本身生成新的資訊摘要,再使用資訊傳...