基本概念
保密學中著重研究訊息的變形及其合法復現的稱為密碼學;處於局外人的地位,著重從已變形的訊息中研究其含意的復現規律的稱為密碼分析學。除這些內容外,保密學有時還泛指包括諸如隱蔽通信、業務保密與業務分析、截收與測向、電子對抗等在內的提供信號安全與獲取信號情報的一切方式。
保密體制或稱密碼體制,是由密鑰控制的訊息或信號變形處理的一族規則。假設對拉丁字母作變形處理,其規則是:將明文字母按字母順序abcd…排列時,其對應的密文字母HIJK…也按字母順序排列,Z後面接著排ABCD…,但明文字母a可以對應於密文的A到Z中任何字母。這是一種保密體制,稱為代替密表體制。又因明文字母按自然序排列時密文字母也是自然序,故稱為自然序代替密表。可供選取的這一種或那一種對應關係(特定的變形規則)稱為密鑰,在這裡共有26種選取方法,除去沒有變形的以外有25種,這個數目稱為密鑰量。
在保密體制中最初引入密鑰僅是為了使它有一些可供選擇的變化,但後來卻認識到它是保密的關鍵因素。保密體制的其他部分,即變形處理的一般規則,有可能被截取者知道,並且難於迅速更換。只有特定的密鑰,即具體選哪一種變形規則可以保守秘密,丟失了也便於更換。因此“必須使秘密僅存在於密鑰之中”成為公認的原則。保密體制的保密性即以此來衡量。這種保密體制可能為訊息的截獲者用統計方法破譯密文字母。
密碼學和密碼分析學的任務是相互對抗的,然而作為科學技術二者是相互依存和促進的。
近代保密學理論基礎
保密學理論是由C.E.仙農奠基的,以後又有許多新的發展。
保密體制模型
圖1 中的M表示全部可能的明文訊息的集合,每個訊息都有一個與之相聯繫的機率。K是全部密鑰的集合,C是全部密文的集合,每個密鑰與密文也都有一個與之相聯繫的機率。有一具體訊息m∈M,一特定密鑰k∈K,則密文c∈C可由c=Ek(m)表達,其中Ek(·)為加密變換,而解密過程可由m=Dk(c)表達,Dk(·)為解密變換。圖中傳送密鑰的信道應有安全保障,而傳送密文的是通常可能被截收的無線、有線信道。圖中的截取者從信道上截取密文,並套用密碼分析技術試圖從中恢復出密鑰和訊息。按照秘密僅存在於密鑰之中的原則,訊息的範圍和機率,密鑰的範圍和機率,和加密、解密變換的一般方式都可能為截取者所知道。這就是保密體制的模型。一個密碼體制應由以下五個要素組成:明文訊息集合M和其機率分布p(M);密文集合C 及其機率分布p(C);密鑰集合K及其機率分布p(K);加密變換族Ek(k∈K);解密變換族Dk=Ek-1(k∈K);並分別記為【M,p(M);C,p(C);K,p(K);Ek;Dk】
惟一解距離
經驗表明,對短報文的破譯往往能得到多種結果,其中機率最高的訊息未必是真實的,而對長報文只要能得出結果幾乎總是真的。並且,密鑰量和語言剩餘度對於破譯能否得到正確的結果起著重要作用。仙農將密鑰量和語言剩餘度表達為字元數目的函式,引入熵作為信息計量標準,並用疑義度作為理論保密指標。他用HC(M)=0,即已知密文後對訊息不存在任何疑義度作為訊息有惟一解的條件。此時所需的密文字元數稱作惟一解距離。仙農是用兩條曲線的交點來表達這種關係的。這個關係也可用代數式近似,此時惟一解距離取為n0=H(K)/d,其中H(K)為密鑰熵,d為所用語言的剩餘。這個理論的重要性在於指出增加密鑰量和減少語言剩餘是改善保密體制的重要因素。
理論保密和計算保密
從惟一解的理論出發,仙農導出兩種理想化的保密體制。一種稱為完全保密體制,其特點是密鑰數量隨字元數的增加而無限制地增加,實際體制原型是一次一密亂碼本和弗納姆體制。另一種稱之為理想保密體制,其特點是訊息的剩餘被完全消除。這兩種體制的共同點是無論密文的數量多大都不會出現惟一解,因而被稱為是理論保密體制,實際使用卻受到很大限制。完全保密體制要求“安全傳送”的密鑰字元的數量不能少於訊息字元的數量,訊息量稍多就難以實現。理想保密要求徹底消除剩餘度,對自然語言也難實現。實際上能廣泛使用的不是理論保密的體制而是計算保密的體制。雖然當密文數量增加到一定程度,計算保密體制會出現惟一解,但為獲得這個解需要相當大的計算量。設計這類保密體制的出發點是:在最壞條件下為獲得此惟一解所需的計算量或存儲量,在現實的計算技術水平下是無法實現的,或者在保密所要求的最小時限內是不能解出的。最壞條件是指截取者具有超過唯一解距離的密文量,完全了解保密的一般體制而且具有一定數量與密文相對應的明文。
由於微電子技術的發展,一個保密體制有相當大的密鑰量已不難做到。如果用窮舉搜尋或類似的算法去解,這些體制往往都是安全的。問題在於有無快速解法。例如,線性移位暫存器的保密體制有快速解法已屬眾所周知。
大多數流水密碼與分組密碼在有對應的明文、密文條件下,可以構成以密鑰為變數的非線性方程組。這類非線性方程組的求解問題屬於NP完全性問題。NP完全性問題在確定型計算機中尚無多項式時間算法,而一般認為沒有多項式時間算法的問題是計算上不可行的,這種體制是計算保密的。因而計算複雜性已成為對計算保密問題有指導作用的理論。然而,一個具體的保密體制不一定是NP完全性問題,可能有多項式時間算法,需要作具體的密碼分析。
公開密鑰保密體制
1976年W.迪菲和M.E.赫爾曼發表了關於公開密鑰保密體制的思想。這是為簡化密鑰分配問題而將保密體制的概念作了有創見的擴大,也是繼仙農之後在保密學理論上有意義的進展。它的模型如圖2。這種體制屬於加密、解密算法不同的非對稱密碼體制,不同於通常用得較多的對稱密碼體制。它比原體制需要安全保護的部分少了,重要的是不需要有保護的密鑰傳送信道。然而這種體制的每個使用者都必須能利用特定密鑰k∈K 容易地產生一對互逆變換Ek和Dk。Ek用於加密,Dk用於解密。加密、解密算法也應該簡單易行。但從Ek推算出k或Dk必須是計算上不可行的。如果做到了這一點,使得使用者的加密算法 Ek可以公開而不影響他的解密算法 Dk的安全。他可以將加密變換Ek置於公共的檢索簿中,任何人都能將自己的訊息加密後傳送給這個使用者,但除了這個使用者本人外,其他任何人都不能解開它。具體的公開密鑰體制已有多種,例如,根據從子集和求得相應子集的困難性而提出的背包體制,和根據分解大素數的合數的困難性而提出的RSA體制等。保密體制的種類 歷史上有許多種保密體制,保密程度不一,並且往往結合起來使用,例如代替、換位、密本、機械密碼、一次一密亂碼本等。現代密碼體制大體上分為兩大類:流水密碼與分組密碼。
流水密碼 由密鑰控制的算法產生一個看來隨機的數字(或字元)序列和數位訊號(或訊息)序列按比特(或字元)加密的體制。它與多表代替有相似之處。這是在電子學發展後廣泛流行的體制,它可以為數據和文字加密,也可以為數位化以後的語聲、傳真或圖像加密,也可以用作控制置亂的信號。
分組密碼 將要加密的訊息分成等長的組,將這些組送入由密鑰控制的算法並產生與訊息組等長的密文組的體制。它也是在數據、報文加密中受到廣泛注意的新體制,最著名的如作為美國聯邦信息處理標準的DES體制。它也可以採取某種方式構成流水密碼來使用。
密碼分析方法 所有的手工作業或機械密碼的體制(一次一密亂碼本除外)都沒有逃脫被破開的命運。現代的密碼分析以高速計算機為手段,與算法研究緊密聯繫,必要時可以某些保密體制為對象或以某些分析方法為依據,設計專用計算機來進一步提高分析能力。密碼分析方法很多,可根據分析對象靈活運用。
保密學的套用和發展 以往保密學的套用僅限于軍事、政治、外交、公安等國家機關。70年代以來由於電子技術的迅速進步,通信設備和電子計算機套用範圍的擴展,在某些國家中通過通信系統和電子計算機的犯罪已成為新的社會問題。為防止訊息和數據的被竊取、篡改或偽造,人們不得不借重於保密設施,因而人們對保密學的興趣大大增加。
密鑰分發和管理 密鑰是保密體制中需要絕對保密的信息,要求通信雙方準確掌握,又需要經常更換。在加密、解密運算已自動進行的現代,密鑰的分發、更換和管理已成為保密通信系統正常運行中最費事的環節。由於通信網對保密的需要日益增加,而通信網中密鑰分發的複雜更非點對點通信可比,問題就更為突出。
解決這個問題有兩個途徑。其一是採用公開密鑰體制,任何人都能向檢索簿中的某個使用者傳送用後者的加密算法加了密的訊息,但只有他本人才能將訊息解開。另一個途徑是在傳統保密體制的基礎上使密鑰分發、管理自動化,通過通信線路傳送加了密的密鑰。為了給密鑰加密需要另一個保密體制和密鑰,這樣就需要一個分層次的密鑰結構體系。為了簡化層次結構,為密鑰加密的保密體制,也有採用公開密鑰的趨向。
保密性的評定 廣泛使用的保密體制不可能是理論保密的,只能是計算保密的,然而計算保密體制的保密性的評定有賴於對它進行各種各樣的密碼分析攻擊,這就使得這種評定十分困難。於是就產生了對保密性從理論上作定性表達的企圖。例如用 P類、NP類、NP完全類等表達密碼分析運算的複雜性,並設法用對保密學有意義的指標來表達保密體制的非線性、隨機性、周期性等,目的是為了使保密性的評定能夠有理論或數值的表達方法,而不必完全依靠密碼分析攻擊。
確證體制 除去傳統的通信保密,這是現代保密學套用的另一領域。保密是為了阻止局外人獲得機密,而確證則是為了阻止局外人接近機密和識別被偽造或篡改的檔案數據。確證體制的套用已有相當長的歷史,古代有虎符、口令等。飛行器、艦艇的敵我識別也已有多年歷史。而且往往在一個實際系統中需要同時解決保密和確證問題。例如一個銀行的數據系統既有金融保密問題,也需要阻止局外人接觸數據,還需要防止受被篡改的數據的欺騙。確證體制所用技術也與保密體制基本相同。例如受確證的一方可用加密變換,而確證的一方用解密變換,企圖冒充者由於無密鑰而不能得逞,肆意篡改偽造的檔案也經不起解密的檢驗。
為防止真的檔案被抵賴或受偽造檔案的欺騙,並解決手寫簽名不能輸入計算機的困難,一種利用公開密鑰體制的稱作數字簽名的確證體制頗受人們注意。一個當事人用他個人持有的秘密算法Dk給檔案加密,就成了他個人簽名的檔案,因為別人無法複製。然而這檔案可以由公證人或其他任何人用這個當事人的公開算法Ek作解密操作來進行檢驗,以取信於人並防止當事人的抵賴。
此外,尚有公開密鑰確證保密體制,即同時具有保密性和確證性的體制。