雙重密鑰

雙重密鑰

雙重密鑰是在密碼中,一種掩護弱密碼和半弱密碼的方法。具體指採用兩個56位的密鑰K1和K2,傳送方用K1加密、K2解密,再使用K1加密;接收方則使用K1解密、K2加密,再使用K1解密,其效果相當於將密鑰長度加倍。

基本信息

概述

在傳統解密技術中,當發信人打算給報文加密,使得只有某個接收人能夠對它解密時,發信人和收信人共有一個密鑰(secret key)。密鑰是加密算法和解密算法使用的一段信息。因為任何得到密鑰的人都能夠加密和解密報文,故保守密鑰的秘密對密碼的安全是至關重要的。

如果密鑰太短,則可以通過蠻力搜尋整個密鑰空間發現它。甚至長一些的密鑰也可能容易受到某些攻擊。使密碼絕對安全的唯一辦法是使用與傳送的全部報文一樣長的密鑰。

雙重密鑰是在密碼中,一種掩護弱密碼(理解起來簡單,容易被破解的密碼)和半弱密碼的方法。具體指採用兩個56位的密鑰K1和K2,傳送方用K1加密、K2解密,再使用K1加密;接收方則使用K1解密、K2加密,再使用K1解密,其效果相當於將密鑰長度加倍。

這種稱做雙重密鑰加密的方案是加密技術的突破。在這些方案中,有一些特殊的密鑰對:使用一個密鑰加密的訊息只能使用另一個密鑰才能解密。而且,任一個密鑰都不能導出另一個密鑰(如果沒有太多的計算的話),因此,竊聽者即使知道了一個密鑰也不能確定其他密鑰。

打比方說,B有這樣的一對密鑰(稱它們為X和Y)。然後要求A給他傳送使用這兩個密鑰之一加密的訊息(如X)。當然,所用的通道是不可靠的,因此,敏銳的竊聽者立即獲取此訊息,並且知道A將使用密鑰X對秘密訊息加密。當A向B傳送加密訊息時,B使用另一密鑰Y來解密。同時,竊聽者也設法複製這份加密訊息,但他不能進行解密,因為他沒有密鑰Y。只知道X是沒用的,甚至要解密那些用X加密的訊息時也是如此。由於Y不能由X推導出來,竊聽者不能做任何事情。這樣A和B就可以通過不可靠的通道安全地傳送訊息。

雙重密鑰加密

這裡僅用一個片面的和有些缺陷的例子來說明雙重密鑰加密。

用密鑰3轉換明碼文本:

Neet me at the 1 ibrary.

轉換成的密文為:

Phhw ph dw wkf oleudub.

現在,如果要將ciphertext重新轉換成cleartext。但不使用密鑰值3。那么怎么樣才能破譯密碼?可以使用密鑰值23,並且使用的編碼技術與轉換cleartext到ciphertext所用的技術相同。這表示以一個在它之後23個間距的字母替代它,而不是以在它之前3個間距的字母替代。

當然,這是相同的事情,因為3+23=26,這是字母表中字母的數目。只要兩個密鑰的總和等於26,使用1個密鑰編碼,然後使用另一個密鑰再次對它進行編碼,將會使每個字母轉換成它原來的字母,回到最初的cleartext。

那是雙重密鑰加密的一個示例。這裡有兩個密鑰,使用其中一個編碼的訊息只能用另一‘個密鑰才能破譯密碼。例如,如果套用了兩次密鑰值3,第二次使用密鑰值6時才能有效破譯加密的訊息!

無可否認,這個示例是有缺陷的。由一個密鑰導出另一個密鑰一般來說是可能的,而且不能阻止竊聽者通過反向套用加密邏輯,使用加密密鑰本身對訊息進行解密。但真正的雙重密鑰加密術使這些事情變得極其困難。兩個密鑰間的數學關係不是如此簡單,並不是像我們所做的那樣僅將它從26中減去就可從一個密鑰導出另一個。並且實際使用的編碼邏輯(算法)是不能反向套用的。

有一種所謂的單向數學算法,它只能一個方向套用。如果這樣的數學性質看上去不可思議,那請考慮這個問題:將兩個大的質數相乘以得到它們的乘積是相當容易的,但若將此乘積分解成最初的質數因子就不是那么容易了。在雙重密鑰加密技術中使用的編碼算法與這個性質有關。某些事情單向進行是容易的,但反向進行時就不那么容易了。

因此,從3導出23是不可能的,並且使用數值3也不可能解密,這就是本例中所講的雙重密鑰加密技術。一個使用密鑰3加密的訊息根本不能用3解密,只能使用23才能解密。而且如果不能由3導出23,那么沒有人能解密訊息。

現在任何人都可以使用相同的算法,但使用不同的密鑰。打比方說,A獲得了密鑰對5和21,並要求B使用密鑰5為他傳送訊息。B這樣做了,A使用另一密鑰21輕易地破解了它, (當然它是由26減去5得到的,但我們假設它是通過其他一些非常複雜的過程才推導出的)。而拙劣的竊聽者設法截取了加密密鑰值5和加密文本,但由於他無法由5推導出21因而不能對訊息解密,並且加密算法是單向進行的。不可能使用字母表中它之崩的某字母替換此字母。

上述便是雙重密鑰加密技術的全部內容。

雙重密鑰生成

密鑰生成

不同類型的密鑰可用不同的方法生成。好的密鑰應具有良好的隨機性,主要包括長周期性、非線性、等機率性、不可預測性等。

(1)主機主密鑰是產生其他加密密鑰的密鑰,其生存周期較長,故其安全性要求最高。通常從自然界中的真隨機現象提取或由偽隨機數生成器來生成,有時候也採用真隨機現象提取與偽隨機數生成器結合的辦法來產生高質量的隨機序列作為主機主密鑰。

從真隨機現象提取隨機數,通常採用物理噪聲源法。物理噪聲源主要是基於力學的噪聲源和基於電子學的噪聲源。基於電子學的噪聲源是目前的主要密鑰產生技術,可以製成隨機數產生晶片。基於這些物理現象可製造基於硬體的隨機數生成器。基於軟體的生成器可以使用系統時鐘,敲擊鍵盤和滑鼠移動中的消逝時間,作業系統的參數量,如網路統計量等,構造軟體隨機比特生成器。另外,可以使用偽隨機數生成器,如BBS偽隨機比特生成器,ANSI X 9.17偽隨機數生成器。

雙重密鑰 雙重密鑰

(2)密鑰加密密鑰可由隨機數生成器產生,也可由密鑰管理員選定。密鑰加密密鑰構成的密鑰表存儲在主機中的輔助存儲器中,只有密鑰產生器才能對此表進行增加、修改、刪除和更換,其副本則以秘密方式傳送給相應的終端或主機。一個由押個用戶組成的通信網,若任一對用戶問需要保密通信,則需要個密鑰加密密鑰。

(3)會話密鑰可在密鑰加密密鑰控制下通過加密算法動態產生,例如,用密鑰加密密鑰控制DES算法產生。

密鑰對生成

在基於公鑰加密體制的安全體系中。任何通信實體都擁有一對密鑰對,密鑰對中包含公鑰和私鑰,並且公鑰與私鑰相互結合使用。安全、可靠的密鑰對生成技術是保證信息安全通信的基礎,目前密鑰對的生成方式主要有:

(1)由密鑰對持有者系統生成。密鑰對由持有者系統生成並存儲於系統中,密鑰對在使用過程中始終未離開系統,這種密鑰對生成和管理技術可以有效地防止密鑰對的泄露。

(2)由密鑰管理中心繫統生成。密鑰對在密鑰管理中心的系統中生成,然後通過安全信道分發到密鑰對持有者系統,這種密鑰對生成技術主要適合處理能力和存儲空間都有限的持有者系統。

相關詞條

熱門詞條

聯絡我們