對稱金鑰系統和公開金鑰系統

2021-07-22 11:39:31 字數 1119 閱讀 6592

為了安全性,在網際網路上傳輸的一些資訊需要加密,比如使用者登陸所使用的密碼。加密系統一般分為對稱金鑰系統(symmetric key system)和公開金鑰系統(public key system)。

在對稱金鑰系統中,用於加密和解密的金鑰是相同的並且是秘密的,只能為兩個人所知。

對稱金鑰系統要求雙方共同守護這個密碼,不能為別人所知。但如果雙方沒有提前約定過,就不知道這個密碼了。即使傳送,也不知道能否安全傳送。這時候,可以使用公開金鑰系統。

在公開金鑰系統中,使用一對金鑰,即公鑰(public key)和私鑰(private key)。公鑰被全世界的人都可以看到,私鑰只有產生金鑰對(公鑰和私鑰對)的人知道。在加密解密中,公鑰用於加密,私鑰用於解密。例如,表單登陸中,需要將密碼發給伺服器。為了安全地傳輸,可以將密碼用公鑰加密,再傳送給伺服器。伺服器接受到加密後的密碼,再用私鑰解密,就可以得到真正的密碼了。(題外話:使用者註冊時候的密碼,在存到資料庫之前,會使用md5雜湊一下,得到面目全非的密碼對映值,再存到資料庫。md5是一種理論上單向不可逆的雜湊演算法,不能夠從加密之後的密文得到明文,可以用於將明文以密文的形式儲存。使用者登陸的時候,將解密的密碼md5之後,再與資料庫中的密碼進行對比,判斷是否登陸成功。)

rsa演算法(rsa algorithm, 取演算法創始人ron rivest, adi shamir和leonard adleman的首字母命名)幾乎是公開金鑰密碼的代名詞。

rsa演算法公鑰和私鑰的產生,看下面的截圖:

(書中假設,trudy和bob是夫妻,alice和bob有不正當的情人關係。bob和alice需要秘密地通訊。)

加密和解密過程:

可以看出,演算法需要做指數運算,這需要耗費很多時間。因此,rsa演算法沒有對稱金鑰演算法快。因為rsa慢,故成本高,常用於傳輸少量的資料。為了解決這個問題,可以將rsa和對稱金鑰系統結合起來。先通過rsa傳送乙個對稱金鑰系統中用到的金鑰,會話金鑰(session key),接下來,可以使用會話金鑰進行通訊了。

《計算機網路—自頂向下方法》

對稱金鑰密碼體制和公開金鑰密碼體制

一 對稱金鑰密碼體制 資料加密標準 des 是對稱分組密碼體制,它的金鑰長度為64位,實際金鑰長度即主金鑰為56位,用於生成每輪加密迴圈體制的金鑰,將64位明文加密為64位暗文。加密迴圈體制位數為16位,從k1,k2.k16,解密過程與之相反,從k16.k1,des的加密金鑰與解密金鑰相同,屬於對稱...

公開金鑰機制

公開金鑰機制 演算法及公式 例子 轉 domino的安全機制中用到了公開金鑰機制。請你用5分鐘的時間看看我這個帖子,你就會明白公開金鑰機制的原理和使用方法。幾個小數數學中的概念 1 自然數 natural number 用以計量事物的件數或表示事物次序的數。即用數碼0,1,2,3,4,所表示的數 自...

公開金鑰體系

公開金鑰體系 1.確認伺服器的身份?客戶機請求通訊並傳送一明文讓伺服器加密,伺服器用私鑰加密後將密文傳輸給客戶機,客戶機用公鑰對密文進行解密,如解密後的密文和明文不等,則確認不是伺服器。實際上伺服器並不對客戶機的明文直接加密,因為攻擊者可以將有規律的字串傳送給伺服器,如伺服器對其直接加密返回,會威脅...