密鑰

密鑰

密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的算法中輸入的參數。不像有的加密技術中採用相同的密鑰加密、解密數據,公共密鑰加密技術採用一對匹配的密鑰進行加密、解密。

基本信息

讀法函義

密鑰讀作【mì yuè】,有人讀作【 mì yào】。密碼學中:密鑰(secretkey)——秘密的鑰匙;私鑰(privatekey)——私有的鑰匙;公鑰(publickey)——公開的鑰匙。鑰(yào)匙,密鑰就是秘密的鑰匙的簡稱。

密鑰這個詞是新時代的產物,為究其讀音特查閱了大量資料,鑰 有兩個讀音,分別為:yuè 、yào。讀yuè時既可以做名詞也可以做動詞。做名詞的詞語有:樓鑰、魚鑰、北門鎖鑰等;做動詞時未找到相關詞組,但找到一些古詩,例如:排閶闔,鑰天門 ——《淮南子》。當讀作yào時,有以下古文可以考證:戶鑰,自關而東,陳、楚之間謂之鍵,自關而西謂之鑰 ——《方言》。又半里,有村在山北之麓,其名曰金村,乃是站之當鑰者 ——《徐霞客遊記》。讀作yào 時 意為:鑰匙,並無其它解釋。判斷一個字的讀音應究其起源,查起古今,對比之後而做定論,且不能因其為新生詞組而因著習慣讀。

再如 “大月氏” ,大多數人讀作 dà yuè shì 而讀作 dà ròu zhī 才是正解,

谷歌中鍵入miyue沒有“密鑰”這個聯想,鍵入miyao則會出現“密鑰”這個聯想。

搜狗輸入法則在鍵入miyue時出現“密鑰”備選,鍵入miyao則顯示“密鑰(yuè)”,

搞密碼學多年的老教授翟起濱教授卻把密鑰念作【 mì yào】。(當然這個不能作為標準的證據,比如有些人不注意看字會把它和“鑰匙”的“匙”字弄混 讀作【mìshí】)

為什麼會有這樣的區別呢?原因是密鑰一詞古來有之,用法、意思和來源都與現代的有所不同,所以讀法也就有所不同:

【mì yuè】讀音下的“密鑰”的意思:緊密的鎖閉。這裡的用法用了“密鑰”的動詞性質。

【 mì yào】讀音下的“密鑰”的意思:密碼學中的專有名詞,指解密所需要的特殊代碼。這裡用了“密鑰”的名詞性。

密鑰現代用的最多的是密碼學中的意思,在英文中解釋為key,中文意思偏向於鑰匙。在密碼學中,特別是公鑰密碼體系中,密鑰的形象描述往往是房屋或者保險箱的鑰匙。因此在技術詞典中,密鑰被標註為【 mì yào】。

在一些詞典中原來把密鑰標註為【mì yuè】,由於權威性帶來了一些影響,所以也有很多人把密鑰念作【mì yuè】。由於鑰在讀作【 yuè 】也可以作“鑰匙”的解釋。但是鑰被念作【 yuè 】時,往往偏向於鑰的動詞性,這種性質就跟“血”的用法相似。

總而言之,密鑰一詞雖然古來有之,但是密碼學賦予了密鑰一詞新的含義,所以密鑰的讀法可以根據不同的背景來選擇,可以讀作【mì yào】,也可以讀作【mì yuè】,但由於密碼學的影響,現在人們普遍把密鑰讀作【mì yào】。

密鑰分類

密鑰分為兩種:對稱密鑰與非對稱密鑰

兩種密鑰

密鑰密鑰

根據密碼算法所使用的加密密鑰和解密密鑰是否相同、能否由

加密過程推導出解密過程(或者由解密過程推導出加密過程),可將密碼體制分為對稱密碼體制(也叫作單鑰密碼體制、秘密密鑰密碼體制、對稱密鑰密碼體制)和非對稱密碼體制(也叫作雙鑰密碼體制、公開密鑰密碼體制、非對稱密鑰密碼體制)。

對稱密鑰加密,又稱私鑰加密或會話密鑰加密算法,即信息的傳送方和接收方使用同一個密鑰去加密和解密數據。它的最大優勢是加/解密速度快,適合於對大數據量進行加密,但密鑰管理困難。

非對稱密鑰加密系統,又稱公鑰密鑰加密。它需要使用不同的密鑰來分別完成加密和解密操作,一個公開發布,即公開密鑰,另一個由用戶自己秘密保存,即私用密鑰。信息傳送者用公開密鑰去加密,而信息接收者則用私用密鑰去解密。公鑰機制靈活,但加密和解密速度卻比對稱密鑰加密慢得多。

所以在實際的套用中,人們通常將兩者結合在一起使用,例如,對稱密鑰加密系統用於存儲大量數據信息,而公開密鑰加密系統則用於加密密鑰。

對於普通的對稱密碼學,加密運算與解密運算使用同樣的密鑰。通常,使用的對稱加密算法比較簡便高效,密鑰簡短,破譯極其困難,由於系統的保密性主要取決於密鑰的安全性,所以,在公開的計算機網路上安全地傳送和保管密鑰是一個嚴峻的問題。正是由於對稱密碼學中雙方都使用相同的密鑰,因此無法實現數據簽名和不可否認性等功能。

20世紀70年代以來,一些學者提出了公開密鑰體制,即運用單向函式的數學原理,以實現加、解密密鑰的分離。加密密鑰是公開的,解密密鑰是保密的。這種新的密碼體制,引起了密碼學界的廣泛注意和探討。

不像普通的對稱密碼學中採用相同的密鑰加密、解密數據,非對稱密鑰加密技術採用一對匹配的密鑰進行加密、解密,具有兩個密鑰,一個是公鑰一個是私鑰,它們具有這種性質:每把密鑰執行一種對數據的單向處理,每把的功能恰恰與另一把相反,一把用於加密時,則另一把就用於解密。用公鑰加密的檔案只能用私鑰解密,而私鑰加密的檔案只能用公鑰解密。 公共密鑰是由其主人加以公開的,而私人密鑰必須保密存放。為傳送一份保密報文,傳送者必須使用接收者的公共密鑰對數據進行加密,一旦加密,只有接收方用其私人密鑰才能加以解密。 相反地,用戶也能用自己私人密鑰對數據加以處理。換句話說,密鑰對的工作是可以任選方向的。這提供了"數字簽名"的基礎,如果要一個用戶用自己的私人密鑰對數據進行了處理,別人可以用他提供的公共密鑰對數據加以處理。由於僅僅擁有者本人知道私人密鑰,這種被處理過的報文就形成了一種電子簽名----一種別人無法產生的檔案。 數字證書中包含了公共密鑰信息,從而確認了擁有密鑰對的用戶的身份。

簡單的公共密鑰例子可以用素數表示,將素數相乘的算法作為公鑰,將所得的乘積分解成原來的素數的算法就是私鑰,加密就是將想要傳遞的信息在編碼時加入素數,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的私鑰,則解密的過程中(實為尋找素數的過程),將會因為找素數的過程(分解質因數)過久而無法解讀信息。

密鑰加密的方法

一般來說密鑰加密的方法有三種類型:對稱加密、非對稱加密和Hash加密。

密鑰的一個重要因素是它的長度——位,使用瀏覽器的時候也許你已經注意到了,在幫助中,我們可以查到某個版本瀏覽器的密鑰長度,比如密鑰長度為128,則表示這個密鑰里包含了2的128次方個密碼規則(如圖),這是一個天文數字。

也許你會問有必要要這么大的密鑰嗎?要知道,計算機的運算能力在突飛猛進地發展,如果擁有足夠的設備和資金,破解密鑰是不成問題的。比如64位的密鑰在條件許可的情況下,以現有的技術水平,可以在三天內被完全破解。當然破解成本和信息自身價值是有關係的,如果耗費的成本遠遠大於信息內容的價值時,沒有人會願意去做這個虧本買賣的,所以目前128位的密鑰長度還是足夠安全的。

對稱加密

只使用了一個密鑰進行加密解密,所以也可以叫做單密鑰加密。它對密鑰本身沒有特殊的要求,通信雙方只要有一個相同的密鑰就行,一個用戶把自己需要傳送的數據通過密鑰加密成混亂的信息,接受方使用相同的密鑰把接受到的信息還原成原始數據,這個方法可以在極短的時間內對大量信息進行加密解密。但是如果密鑰在傳輸過程中就被截獲,那么以後的加密過程就形同虛設。這個方法的優點是使用同一個密鑰節省了加密解密所需的時間,但是無法保證密鑰的安全性。

目前使用對稱密鑰算法的是RC5、RC6、Blowfish和Twofish,其中最後兩種算法位數長,而且加密解密速度很快。

非對稱加密

在加密和解密中使用了一對密鑰,一個是公用密鑰,它對外公開發布,另一個是私有密鑰,由用戶自己保存。從理論上講,這種加密方式只要是用戶的私有密鑰沒有丟失或者被竊,那么他們之間加密的信息是絕對不會被破解的。但是它的缺點也非常明顯,就是加密速度非常緩慢。由於要進行大量的數學運算,即使加密少量的信息也需要花費大量的時間。

Hash加密

是通過數學運算,把不同長度的信息轉化到128位編碼中,形成Hash值,通過比較這個數值是否正確,來確定通信雙方的合法性。這也可以說是數字簽名,在數據傳輸後,可以通過比較Hash值來判斷信息途中是否被截獲修改,是否由合法的傳送人傳送或者合法的接收人接收等。用這種方法,可以防止密鑰丟失的問題,因為它的加密部分是隨機生成的,如果沒有正確的Hash值根本就無法解開加密部分,而且它還具備了數字簽名的能力,可以證明傳送方和接收方的合法身份,具有不可抵賴性,很適用於商業信息的傳遞。目前使用的有MD4、MD5和SHA。

相關搜尋

熱門詞條

聯絡我們