




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章信息加密技術基礎 引 言 信息加密是網(wǎng)絡安全體系中重要機制之一。信息加密的目的是為了保持信息的機密性,使用恰當?shù)募用軜藴蕦⒃谟嬎銠C環(huán)境中增加安全性。信息加密通過使用一種編碼而使存儲或傳輸?shù)男畔⒆優(yōu)椴豢勺x的信息,解密是一個相反的過程。這些編碼就是將明文變成密文的加密算法或數(shù)學方法。引 言 (續(xù)) 加密編碼在Shannon的信息論中有針對性的闡述,數(shù)論及基礎代數(shù)是加密算法的理論基礎。要將一段信息加密或解密,你會要用到密鑰,它是一個很大的值。一般來說,密鑰越大,加密就越健壯。一般來說加密體制分為對稱密鑰加密和公用密鑰加密,對稱密鑰加密在密鑰方面有一定的缺陷,但執(zhí)行效率高;公用密鑰加密加密執(zhí)行效
2、率底,但保密性強,在報文和網(wǎng)絡方面對小量信息加密非常有效.2.1 信息加密理論基礎 信息安全的核心技術之一是加密技術,它涉及信息論、基礎數(shù)論和算法復雜性等多方面基礎知識。隨著計算機網(wǎng)絡不斷滲透到各個領域,加密技術的應用也隨之擴大,應用加密基礎理論知識,深入探索可靠可行的加密方法,應用于數(shù)字簽名、身份鑒別等新技術中成為網(wǎng)絡安全研究重要的一個方面。加密的理論依據(jù) 密碼學問題就是隨機性的利用問題. 差不多每臺使用加密技術的計算機安全系統(tǒng)都需要隨機數(shù),供密鑰、協(xié)議中的基礎參量等使用或者用做輔助信息或者初始化向量。這些系統(tǒng)的安全也經(jīng)常依賴于這些隨機數(shù)的隨機性及被保護程度。簡單的加密舉例 中秋日月 編碼
3、密鑰 密文編碼 詩 月明明日 010101 10 111111 明日月明 101010 000000 ? 明日明日 101101 000111 日明月明 110010 011000 通過這個例子我們看到一個簡單的加密過程,原來的詩通過與密鑰的模二運算實現(xiàn)了加密。2.1.1 信息編碼基礎知識 第二次世界大戰(zhàn)期間,美國為了提高信息儲存和傳遞的效率,發(fā)明了多種新的編碼方法,奠定了現(xiàn)代信息科學技術的基礎。Shannon還于1949年發(fā)表了“保密系統(tǒng)的通信理論”一文,奠定了現(xiàn)代密碼學基礎從而對加密過程中信息編碼有了明確的分析。在該文中他從信息論觀點,對信息系統(tǒng)的保密性問題作了全面而深刻的闡述。 1. 信
4、 息 熵 基 本 知 識 信息論中最重要的內容,是如何認識和使用信息熵來表現(xiàn)信息。 這里用Shannon最喜歡用的猜謎方法來說明信息熵的基本概念。假如有:“我們大_都喜_使_計_機來管_數(shù)_?!?不用很多努力,就可以猜出完整的句子:“我們大家都喜歡使用計算機來管理數(shù)據(jù)?!?Shannon在信息論中指出,能猜出來的字符不運載信息,而不能猜出來的字符運載信息。1. 信 息 熵 基 本 知 識(續(xù)) 空格所隱藏的字符屬于多余度字符,不用那些字符也能運載該句子的全部信息,比如:“我_大_使_機來_數(shù)_?!本秃茈y猜出完整的句子,在信息傳遞的時候,也很難做檢錯和抗錯。因此,保留一定的多余度(或冗余度)是非
5、常重要的。 2. 信息量和信息熵基本定義(1) 信息熵(information entropy)是對信息狀態(tài)“無序”與“不確定”的度量(從本質上講,熵不是對信息的度量,但信息的增加而使產生的熵減小,熵可以用來度量信息的增益)。 2. 信息量和信息熵基本定義(2) 定義:給定一離散集合X=xi; i=1,2,n,令xi出現(xiàn)的概率是 且 。事件xi包含的信息量 通常=2,此時相應的信息量單位是bit。Shannon定義信息的數(shù)學期望為信息熵,即信源的平均信息量。 (2.1)2. 信息量和信息熵基本定義(3) 定義:將集合X中事件所包含的信息量統(tǒng)計平均,則平均值定義為集合X的熵.信息熵表征了信源整體
6、的統(tǒng)計特征,集合X的熵H(x)表示X中事件所包含的平均信息量,或總體的平均不確定性的量度。(2.2)2. 信息量和信息熵基本定義(4) 對某一特定的信源,其信息熵只有一個,因統(tǒng)計特性不同,其熵也不同。例如,兩個信源,其概率空間分別為:2. 信息量和信息熵基本定義(5) 則信息熵為: 可見, ,說明信源 比信源 的平均不確定性要大,即在事件發(fā)生之前,分析信源 ,由于事件 是等概率的,難以猜測哪一個事件會發(fā)生.2. 信息量和信息熵基本定義(6) 而信源 ,雖然也存在不確定性,但大致可以知道, 出現(xiàn)的可能性要大。正如兩場比賽,其中一場,雙方勢均力敵;而另一場雙方實力懸殊很大。當然,人們希望看第一場,
7、因為勝負難卜,一旦賽完,人們獲得信息量大。也可以這樣理解,信息熵 表征了變量 的隨機性。因此,熵反映了變量的隨機性,也是表征隨機變量統(tǒng)計特性的一個特征參數(shù)。3. 信息熵的基本性質(1)對稱性 當概率空間中 序任意互換時,熵函數(shù)的值不變,例如下面兩個信源空間:3. 信息熵的基本性質(2) 其信息熵 .該性質說明,熵只與隨機變量的總體結構有關,與信源總體的統(tǒng)計特性有關,同時也說明所定義的熵有其局限性,它不能描述事件本身的主觀意義。3. 信息熵的基本性質(3)確定性 如果信源的輸出只有一個狀態(tài)是必然的, 即 則信源的熵: 此性質表明,信源的輸出雖有不同形態(tài),但其中一種是必然的,意味著其他狀態(tài)不可能出
8、現(xiàn)。那么,這個信源是一個確知信源,其熵為零。 (2.3)3. 信息熵的基本性質(4)非負性 即 。 因為隨機變量 的所有取值的概率分布為 ,當取對數(shù)的底大于時, ,而 ,則得到的熵是正值,只有當隨機變量是一確知量時,熵才等于零。這種非負性對于離散信源的熵來說,這一性質并不存在。 3. 信息熵的基本性質(5)可加性 獨立信源 和 的聯(lián)合信源的熵等于它們各自的熵之和。 如果有兩個隨機變量 和 , 它們彼此是統(tǒng)計獨立的,即 的概率分布為 ,而 的分布概率為 ,則聯(lián)合信源的熵: 可加性是熵函數(shù)的一個重要特性,正因為有可加性,所以可以證明熵函數(shù)的形式是唯一的。 3. 信息熵的基本性質(6)極值性 信源各
9、個狀態(tài)為零概率分布時,熵值最大,并且等于信源輸出狀態(tài)數(shù),因為 當 時, (2.5)例 題 例,信源有兩種狀態(tài)時,概率空間 其 與 關系如圖所示,,當 =1/2時熵有最大值;當信源輸出是確定的,即 ,則 ,此時表明該信源不提供任何信息;反之,當信源輸出為等概率發(fā)生時,即 時信源的熵達到最大值,等于1bit信息量。 信息熵函數(shù)曲線P(x)00.51明文H(x)4. 信息熵在信息加密編碼中的作用(1) 通過熵和信息量的概念,可計算加密系統(tǒng)中各部分的熵。令明文熵為 ,密鑰熵 ,密文熵 。這里M、K和C分別是明文、密鑰和密文空間,m、k、c分別是它們的字母集,l ,r和v分別是明文、密鑰、和密文的長度。
10、則明文和密文之間的互信息以及密鑰與密文之間的互信息分別是:(2.6)(2.7)4. 信息熵在信息加密編碼中的作用(2) 因為只要密文、密鑰確定后,明文也就得到了,所以 ,故 定理:對任意加密系統(tǒng) 從該理論我們可以看出,密鑰熵越大,密文中所包含的明文信息量就越小。一個加密系統(tǒng)中,若其密文與明文之間的互信息 ,則密碼分析者無論截獲多大的密文,均不能得到有關明文的任何信息。這種加密系統(tǒng)稱為完善加密系統(tǒng),或無條件加密系統(tǒng)。(2.8)4. 信息熵在信息加密編碼中的作用(3) 在對密文攻擊下,完善加密系統(tǒng)是安全的,但它不能保證在已知明文或選擇性明文攻擊下也是安全的。因此,完善保密系統(tǒng)存在的必要條件是 證明
11、:若 ,則由前一個定理可得, ,所以 的必要條件是 (2.9)2.1.2 數(shù)論基本術語數(shù)論是研究整數(shù)性質的一個數(shù)學分支,同時也是加密技術的基礎學科之一。首先介紹一些數(shù)論的基本知識.1. 整 數(shù)定義:設 。如果存在 使得 ,那么就說b 可以被a 整除,記為 ,且稱b是a的倍數(shù),a 是b的因數(shù)(或稱約數(shù)、除數(shù)、因子) 。 b不能被a整除可以記作dFa。由定義及乘法運算的性質,可推出整除關系具有以下性質(注:符號 本身包含了條件 ):(1) ;(2)如果 且 ,則 ;(3)設 ,那么 與 等價;(4)如果 且 ,則對所有的 ,有 ;(5)設 ,如果 ,那么 ;2. 素 數(shù) 定義:設整數(shù) 。如果它除了
12、顯然因數(shù) 外沒有其他的因數(shù),則p就稱為是素數(shù),也叫不可約數(shù)。若 , 且a不是素數(shù),則a稱為合數(shù)。 關于素數(shù),有以下性質:(1)如果p是素數(shù),且 ,則 或 ,即p至少整除a與b中的一個。(2)任何一個整數(shù) ,均可以分解成素數(shù)冪之積:(3)若不計因數(shù)的順序,這個分解式是唯一的。其中 , 是兩兩互不相同的素數(shù), 是正整數(shù)。(4)素數(shù)有無窮多個。(5)設 表示不大于 的素數(shù)的數(shù)目,則 。3. 同 余 設 ,如果 ,則稱a和b模n同余,記為 ,整數(shù)n稱為模數(shù)。由 于 等價于 ,所以 與 等價。因此,一般我們總假定 。如果 ,我們稱b是a對模n的最小非負剩余,有時也稱b為a對模n的余數(shù)。同余式的一些基本性
13、質(1)反身性: ;(2)對稱性:如果 ,那么 ;(3)傳遞性:如果 , ,那么 ;(4)如果 , 那么 ; 。(5)如果 , ,gcd ,(兩個不同時為0的整數(shù)a與b的最大公約數(shù)表示成gcd(a,b)那么 ,存在 ,當且僅當gcd 。一些關于同余的基本概念(1) 同余類 可用其中任一元素a(經(jīng)常取 )代替,記作 。于是 從 中分別取一個數(shù)作為代表構成一個集合,稱為模n的一個完全剩余系, 記為 ,稱為模n的非負最小完全剩余系。 (2.11)一些關于同余的基本概念(2) 在模n的完全剩余系中,去掉那些與n不互素的數(shù),剩下的部分稱為模n的簡化剩余系; 的簡化剩余系記為 ,讀為模n的非負最小簡化剩余
14、系。顯然, 中的元便是不超過n并與n互素的那些數(shù),它們的個數(shù)等于歐拉函數(shù) 的值。(歐拉函數(shù)的定義為: 小于自然數(shù)N并與N互質(除1以外無其它公因子)的自然數(shù)的個數(shù)用函數(shù) 表示,稱為歐拉函數(shù)。歐拉函數(shù)的具體性質會在后面第6小節(jié)進行闡述)4. 模 運 算 給定正整數(shù)n,對任意a,若存在q,使得 則稱r是a關于模n的余數(shù),記為 。 若 則稱整數(shù)a,b同余,記為 整數(shù)集中所有與數(shù)a同余的整數(shù)集合稱為a的同余類,記為 。模 運 算 的 性 質(1) 當且僅當 。(2) 當且僅當 。(3)如果 , ,則 。 a模n的運算給出了a對模n的余數(shù)。注意:模運算的結果是從0到 的一個整數(shù)。模運算就像普通的運算一樣
15、,它是可交換,可結合,可分配的。而且,對每一個中間結果進行模m運算,其作用與先進行全部運算,然后再進行模m運算所得到結果是一樣的。5. 最大公約數(shù)與最小公倍數(shù) 設 , 是兩個整數(shù),如果 且 ,那么就稱b是 和 的公約數(shù).一般的,設 ,是K個整數(shù),如果 那么就稱b是 的公約數(shù)。因為對于任意一個不等于零的整數(shù),它的因數(shù)是有限的。所以,任意一對整數(shù) ,其中一個不為零時,它們的公約數(shù)的個數(shù)也必定是有限的;同理,當 中有一個不為零時,它們的公約數(shù)是有限的.這樣,我們引入最大公約數(shù)的概念。 定義: 設 , 是兩個整數(shù),我們把 和 的公約數(shù)中最大的數(shù)稱為 和 的最大公約數(shù),記為( , )或 當 時,我們稱
16、和 是互素的。 顯然最 大 公 約 數(shù) 的 性 質(1)(2)若 | ,j=2,k ,則(3)任意的整數(shù)x, 有(4)對任意的整數(shù)x,有 (5)設 , 是不都為零的整數(shù),則一定存在一對整數(shù) , ,使得: 最 小 公 倍 數(shù) 的 概 念 設 , 是兩個均不等于零的整數(shù),如果 且 ,那么 1 就稱為是 和 的公倍數(shù),一般地,設 是k個均不等于零的整數(shù)。 如果 ,則稱 l是 的公倍數(shù)。公倍數(shù)的集合是無窮集合,但根據(jù)自然數(shù)的理論,存在最小的正的公倍數(shù)。我們把 和 的正的公倍數(shù)中最小的數(shù)稱為 和 的最小公倍數(shù),記為 或6. 歐拉(Euler)函數(shù) 歐拉(Euler)函數(shù) 設n1,歐拉函數(shù) 表示在區(qū)間 中
17、與n互素的整數(shù)的個數(shù)。 歐拉函數(shù) 具有以下性質: (1)如果p是素數(shù),則 ; (2)如果p是素數(shù), 。那么 ; (3)對于整數(shù) , 根據(jù)算術基本定理,n可以分解成惟一的形如 的分解式,則 (4)若 和 互素,則 。2.1.3 算法復雜性基礎知識 所謂問題,是指一個要求給出解釋的一般性提問,通常含有若干個未定參數(shù)或自由變量。它由兩個要素組成 ,第一個要素是描述所有的參數(shù),也就是對所有未定參數(shù)的一般性描述;第二個要素是解答必須滿足的性質。一個問題 可以看成是由無窮多個問題實例組成的一個類。1. 算 法 的 定 義 所謂算法是由明確指出操作的規(guī)則所組成的若干語句的集合,只要按照規(guī)則一步一步執(zhí)行一定數(shù)
18、目的語句,便可求出問題的答案。通常的計算機程序都可以看作是算法的表達形式,在問題的兩要素中,對算法而言,第一個要素就是“輸入”,第二個要素就是“輸出”。如果把問題P的任意一個實例作為算法A的輸入,A在有限步驟之內總能輸出關于此實例的正確答案,我們就說算法A可解問題P。對于一個問題P,如果存在一個算法A可解問題P,我們稱問題P是算法可解的。2. 算 法 復 雜 性 算法的復雜性表征了算法在實際執(zhí)行時所需計算能力方面的信息 , 通常它由該算法所要求的最大時間與存取空間來確定。 由于算法所需的時間和空間往往取決于問題實例的規(guī)模n (n表示了該實例的輸入數(shù)據(jù)長度),同時,算法在用于相同規(guī)模n的不同實例
19、時。其時間和空間需求也可能會有很大差異,因此,實際中我們常常研究的是算法關于輸入規(guī)模 的所有實例的時間與空間需求的平均值。算 法 復 雜 性 的 構 成 通常情況下,一個算法的計算復雜性由兩個變量度量:時間復雜性 和空間復雜性 。它們定義如下:(1)時間復雜性 :以某特定的基本步驟為單元,完成計算過程所需的總單元數(shù)稱為算法的時間復雜性,或時間復雜度。n為輸入的規(guī)?;虺叽纭#?)空間復雜性 :以某特定的基本存儲空間為單元,完成計算過程所用的存儲單元數(shù),稱為算法的空間復雜性或空間復雜度。n是輸入的規(guī)?;虺叽纭K惴◤碗s性的基本符號(1) 一個算法的計算復雜性用“O”符號表示其數(shù)量級。“O”的意思是:
20、對于兩個任意的實值函數(shù)f和g,若記號 ,則存在有一個值a,對充分大的n,有 。計算復雜性的數(shù)量級就是這種類型的函數(shù),即當n變大時增長得最快的函數(shù),所有常數(shù)和較低階形式的函數(shù)可以忽略不計。算法復雜性的基本符號(2) 另一個符號是“o”。它的定義是: 當且僅當 ,這意味著在 時, 比 可以忽略不計。 時間復雜度 有時也用工作因子W表示,這時 。如果一個算法的復雜性不依賴于n,那么它是常數(shù)級的用 表示之,而 表示復雜性隨n線性增長,因而是線性型算法。復雜性隨n線性增長的其他一些算法也稱為二次方或三次方等,所有這些算法都是多項式的,它們的時間復雜性是 。有多項式時間復雜性的算法稱為多項式時間算法或有效
21、算法。3. 問 題 的 復 雜 性 問題的復雜性是問題固有的性質。問題的復雜性理論利用算法復雜性作為工具,將大量典型的問題按照求解的代價進行分類。問題的復雜性由在圖靈機上解其最難實例所需的最小時間與空間決定,還可以理解為由解該問題的最有效的算法所需的時間與空間來度量。N P 問 題 在確定型圖靈機上可用多項式時間求解的問題,稱為易處理的問題。易處理的問題的全體稱為確定性多項式時間可解類,記為P類。在非確定性圖靈機上可用多項式時間求解的問題,稱為非確定性多項式時間可解問題,記為NP問題。NP問題的全體稱為非確定性多項式時間可解類,記為NP類。顯然, ,因為在確定型圖靈機上多項式時間可解的任何問題
22、在非確定型圖靈機上也是多項式時間可解的。N P C 問 題 NP類中還有一類問題稱為NP完全類,記為NPC。所有的NP問題都可以通過多項式時間轉換為NPC中的問題。NPC是NP類中困難程度最大的一類問題,但NPC中的問題困難程度相當,都可以多項式時間轉化為稱為可滿足性問題的NPC問題,此類NPC具有如下性質,若其中的任何一個問題屬于P,則所有的NP問題都屬于P,且 ?,F(xiàn)在的密碼算法的安全性都是基于NPC問題的,破譯一個密碼相當于求解一個NPC問題,如果 ,則破譯密碼就是一件很容易的事情.2.2 信息加密方式與標準 經(jīng)典的信息加密理論主要用于通信保密,而現(xiàn)代信息加密技術的應用已深入到信息安全的各
23、個環(huán)節(jié)和對象,信息的加密方式和標準也有了深入廣泛的發(fā)展,特別是現(xiàn)代加密和信息隱藏技術的結合,實現(xiàn)信息隱蔽傳輸使人類對信息的加密技術有了新的認識和要求,下面介紹信息加密技術的基本概念、方式和標準。2.2.1 信息加密基本概念(1) 研究安全信息的加密技術和研究破解安全信息密碼的密碼分析技術的學科稱為密碼學。信息加密是通過使用一種編碼而使某些可讀的信息(明文)變?yōu)椴豢勺x的信息(密文)。這些編碼就是將明文變成密文的加密算法(也稱為密碼)或數(shù)學方法。密碼使用隱蔽語言、文字、圖象的特種符號,目標是接收數(shù)據(jù)作為輸入,產生密文作為輸出,以便數(shù)據(jù)的原始意義得以隱藏。在計算機通訊中,采用密碼(密鑰為參數(shù))將信息
24、隱蔽起來,再將隱蔽后的信息傳輸出去,使信息在傳輸過程中即使被竊取或載獲,也不能了解信息的內容,從而保證信息傳輸?shù)陌踩?.2.1 信息加密基本概念(2) 通信兩端將信息編碼時,發(fā)送端使用簡單的信息加密;接收端收到傳來的信息后通過解密看到編碼前的信息,整個過程中加密或解密是由密鑰控制實現(xiàn)的。密鑰是用戶按照一種密碼體制隨機選取,它通常是一隨機字符串,是控制明文變換(加密)和密文變換(解密)的唯一參數(shù)。密鑰全體稱為密鑰空間。一般來說,密鑰越大,加密就越健壯。加密系統(tǒng)的組成部分 如上所述,一個加密系統(tǒng)實際上是某種加密算法在密鑰控制下實現(xiàn)的從明文到密文的映射,它至少包括下面四個組成部分: (1)加密的報
25、文,也稱明文; (2)加密后的報文,也稱密文; (3)加密解密設備或算法; (4)加密解密的密鑰; 一般情況下,密鑰由K表示,明文由m表示,加密算法由 ( ) 表示,解密算法由 ( ) 表示,; 則, ( ( m ) =m 加密系統(tǒng)示意圖一個完整的加密系統(tǒng)如下圖所示:信源加密解密信宿密文明文竊聽干擾明文密鑰K1密鑰K2圖2.2 加密系統(tǒng)示意圖加密系統(tǒng)的安全規(guī)則(1) 任何一個加密系統(tǒng)必須基本具備四個安全規(guī)則: (1)機密性(confidentiality):加密系統(tǒng)在信息的傳送中提供一個或一系列密鑰來把信息通過密碼運算譯成密文,使信息不會被非預期的人員所讀取,只有發(fā)送者和接收者應該知曉此信息的
26、內容。加密系統(tǒng)的安全規(guī)則(2) (2)完整性(integrity):數(shù)據(jù)在傳送過程中不應被破壞,收到的信宿數(shù)據(jù)與信源數(shù)據(jù)是一致的。應該選取健壯的密碼和加密密鑰,以確保入侵者無法攻破密鑰或找出一個相同的加密算法,阻止入侵者會改變數(shù)據(jù)后對其重新加密。有時,數(shù)據(jù)完整性可以通過適當?shù)姆椒ㄔ谛畔⑦€未被完全修改時檢測到,如:密碼散列函數(shù)是單向密碼,它為明文產生惟一的“指紋”,當明文被攔截和讀取,要修改它將改變散列,致使有意向的接收者很容易看出散列之間的差異。加密系統(tǒng)的安全規(guī)則(3) (3)認證性(authentication) :加密系統(tǒng)應該提供數(shù)字簽名技術來使接收信息用戶驗證是誰發(fā)送的信息,確定信息是否
27、被第三者篡改。只要密鑰還未泄露或與別人共享,發(fā)送者就不能否認他發(fā)送的數(shù)據(jù)。實際應用中,假如發(fā)送者和接收者都使用一個對稱密鑰,對于整體信息加密或計算機網(wǎng)絡上的鏈路級加密,在兩個路由器之間建立一個加密會話,以通過因特網(wǎng)發(fā)送加密信息。連接到網(wǎng)絡的計算機發(fā)送明文給路由器,明文被轉換為密文,然后通過因特網(wǎng)發(fā)送到另一端的路由器。在整個加密數(shù)據(jù)形成和傳遞過程中,加密方網(wǎng)絡內部和非加密方的任一節(jié)點都能插入信息,并在這一層次分析,但對于接收者這一節(jié)點來說你只能判定信息是否來自某個特定的網(wǎng)絡,而要確認信息的發(fā)送節(jié)點,這將使驗證機制變得很復雜。加密系統(tǒng)的安全規(guī)則(4) (4)非否定(non-repudiation)
28、:加密系統(tǒng)除了應該驗證是誰發(fā)送的信息外,還要進一步驗證收到的信息是否來自可信的源端,實際上是通過必要的認證確認信息發(fā)送者是否可信?,F(xiàn)代健壯的驗證方法用加密算法來比較一些已知的信息段,如PIN(個人識別號)判斷源端是否可信。 非否定規(guī)則應屬于認證性規(guī)則中的一部分。一般來說,前三個規(guī)則一起被稱為CIA 。從技術的角度來看,所有的加密都提供了私有性和完整性,其余的均由此衍生,這包括非否定和認證性規(guī)則。2.2.2 信息加密方式1. 信息加密方式分類 對存儲的文件和網(wǎng)絡中傳輸?shù)臄?shù)據(jù)包實施信息加密,其加密方式可以根據(jù)加密系統(tǒng)不同的特征劃分: (1)按密鑰方式劃分 對稱式加密:收發(fā)雙方使用相同密鑰。加密和解
29、密使用同一密鑰。加密算法和解密算法在對稱式加密中是相同的,加密和解密使用同一密鑰K表示。 非對稱式加密:也稱公用密鑰加密,加密和解密使用不同密鑰。它通常有兩個密鑰,稱為“公鑰”和“私鑰”。它們兩個必需配對使用,否則不能打開加密文件。這里的“公鑰”是指可以對外公布的,“私鑰”則不對外公布,只有持有人知道。加密算法和解密算法在非對稱式加密中是不相同的;K1是加密密鑰,是公開的,稱為公鑰,K2是解密密鑰,稱為私鑰,則須保密。2種不同方式的加密示意圖 明文解密密鑰K2明文 加密 密鑰K2KK密文傳輸圖2.2 對稱式加密示意圖明文 解密 密鑰K2K1K2加密 密鑰K2明文 圖2.3 非對稱式加密示意圖1
30、. 信息加密方式分類 (2)按保密程度劃分 理論上保密的加密:無論獲取多少密文和有多大的計算能力,對于明文始終不能得到唯一解的加密方法。如:采用客觀隨機一次出來的密碼就屬于這種加密方式。 實際上保密的加密:從理論的角度是可以破解的,但在現(xiàn)有客觀條件下,無法通過計算來確定唯一解。 (3)按明文形態(tài)劃分 模擬信息加密:用來加密模擬信息。如:動態(tài)范圍之內,連續(xù)變化的語音信號的加密。 數(shù)字信息加密:用來加密數(shù)字信息。如:兩個離散電平構成0、1二進制關系的電報信息的加密。2. 數(shù) 字 簽 名 數(shù)字簽名是對原信息附上加密信息的過程,是一種身份認證技術,支持加密系統(tǒng)認證性和非否定;簽名者對發(fā)布的原信息的內容
31、負責,不可否認。數(shù)字簽名采用非對稱式加密(也稱公鑰加密標準)對信息m使用私鑰K2加密,運算如下:S=DK2(m) 其中S為簽名,D為解密算法;接收者收到發(fā)送者發(fā)來的S和m信息,同時從公開媒體找到了發(fā)送者的公鑰K1, 發(fā)送者用K2對S進行如下運算:E K1 (S)= E K1 (DK2(m)= m , E為加密算法;收到的m對應計算出來的m,結果說明信息確實來源于發(fā)送者,第三方不可能知道私鑰K2,無法篡改S,發(fā)送者無法否認發(fā)送m信息。在實際工作中,由于解密計算緩慢,為了提高簽名速度,m信息往往要經(jīng)過壓縮或散列處理或盡量取簡短信息,如公鑰數(shù)據(jù)等。數(shù)字簽名工作流程圖 信息m密鑰K2私鑰K 2公鑰K1
32、信息m 密鑰K2解密算法密鑰K2簽名S密鑰K2簽名S密鑰K2加密算法密鑰K2圖2.4 數(shù)字簽名工作流程圖3. 網(wǎng) 絡 信 息 加 密 網(wǎng)絡信息加密的目的是保護網(wǎng)內的數(shù)據(jù)、文件、口令和控制信息,保護網(wǎng)上傳輸?shù)臄?shù)據(jù)。網(wǎng)絡加密常用的方式有鏈路加密和端點加密。 (1)鏈路加密 鏈路加密對鏈路層數(shù)據(jù)單元進行加密保護,其目的是保護網(wǎng)絡節(jié)點之間的鏈路信息安全。這種加密不但對節(jié)點之間之間傳輸?shù)臄?shù)據(jù)報文加密,還要把路由信息、校驗和控制信息包括數(shù)據(jù)鏈路層的幀頭、位填充和控制序列等都進行加密;當密文傳輸?shù)侥骋还?jié)點時,全部解密獲得鏈信息和明文,然后全部加密后發(fā)送往下一個節(jié)點;對于這種加密,加密設備的設計相對復雜,必須
33、理解鏈路層協(xié)議和必要的協(xié)議轉換。鏈路加密的優(yōu)缺點 鏈路加密非常有效,是因為幾乎任何有用消息都被加密保護。加密范圍包括用戶數(shù)據(jù)、路由信息和協(xié)議信息等。因此,攻擊者將不知道通信的發(fā)送和接受者的身份、不知道信息的內容、甚至不知道信息的長度以及通信持續(xù)的時間。而且,系統(tǒng)的安全性將不依賴任何傳輸管理技術。密鑰管理也相對簡單,僅僅是線路的兩端需要共同的密鑰。線路兩端可以獨立于網(wǎng)絡的其他部分更換密鑰。 鏈路加密的缺點是:整個連接中的每段連接都需要加密保護。對于包含不同體系機構子網(wǎng)絡的較大型網(wǎng)絡,加密設備、策略管理、密鑰量等方面的開銷都是巨大的。另外,在每個加密節(jié)點,都存在加密的空白段:明文信息,這是及其危險
34、的,特別是對于跨越不同安全域的網(wǎng)絡。后來,為解決節(jié)點中數(shù)據(jù)是明文的缺點,在節(jié)點內增加了加解裝置,避免了節(jié)點明文,這種加密方式稱為節(jié)點加密;但和鏈鏈加密一樣,同樣依靠公共網(wǎng)絡節(jié)點資源的配合,開銷依然很大。端 點 加 密 端點加密的是對源端用戶到目的端用戶的數(shù)據(jù)提供加密保護。既將加密模塊置于網(wǎng)絡以上的加密方式。端點加密中,數(shù)據(jù)從加密的端節(jié)點,一直到對應的解密節(jié)點,數(shù)據(jù)在整個傳輸過程中都保持密文形式,從而克服了鏈路加密出現(xiàn)加密空白段(中間節(jié)點明文信息)的問題。由于加密和解密只發(fā)生在兩個端節(jié)點,因此對中間節(jié)點是透明的。這樣大大減少了安裝設備的開銷(特別是中間節(jié)點設備開銷),以及復雜的策略管理和密鑰管理
35、所引起的麻煩。由于加密范圍往往集中在高層協(xié)議數(shù)據(jù),還極易為不同流量提供QoS服務,實現(xiàn)按特定流量進行加密和不同強度的加密。從而有利于提高系統(tǒng)的效能,優(yōu)化系統(tǒng)的性能。端點加密的缺點 端點加密的缺點是:由于通信環(huán)境往往比較復雜,要在跨越網(wǎng)絡的兩個端用戶之間成功地完成密鑰的建立是需要付出性能代價的。其次,端點加密不能保護數(shù)據(jù)傳輸過程中的某些信息,如路由信息、協(xié)議信息等,一個訓練有素的攻擊者可以借助這些信息發(fā)動某些流量分析攻擊。另外,端點加密設備(模塊)的實現(xiàn)十分復雜,要求設備必須理解服務的提供層的協(xié)議,并且成功調用這些服務,然后在設備中對對應的數(shù)據(jù)進行密碼處理,并且將處理后的數(shù)據(jù)傳送給上層協(xié)議。如果
36、加密設備不能為上層協(xié)議提供良好的服務接口,則將對通信的性能產生較大的影響。 2.2.3 數(shù)據(jù)加密標準1. 對稱密鑰加密DES DES(data encryption standard)是1976年由美國國家標準局頒布的一種加密算法,屬于對稱密鑰加密算法體制,早期被公認為較好的加密算法,經(jīng)過長期嚴驗證后,被國際標準化組織接受作為國際標準。DES自它應用20多年來,不斷經(jīng)受了許多科學家破譯,同時也成為密碼界研究的重點。DES對稱密鑰加密算法廣泛的應用在民用密碼領域,為全球貿易、金融等非官方部門提供了可靠的通信安全保障。DES的相關知識 DES主要采用替換和移位的加密方法用56位密鑰對64位二進制數(shù)
37、據(jù)塊進行加密,加密每次可對64位的輸入數(shù)據(jù)進行16輪編碼,經(jīng)過一系列替換和移位后,原始的64位輸入數(shù)據(jù)轉換成了完全不同的64位輸出數(shù)據(jù)。DES算法運算速度快,生成密鑰容易,適合于在當前大多數(shù)計算機上用軟件方法和專用芯片上實現(xiàn)。但DES密鑰太短(56位),密鑰健壯性不夠好,降低保密強度;同時,DES安全性完全依賴于對密鑰的保護,在網(wǎng)絡環(huán)境下使用,分發(fā)密鑰的信道必須具備有力的可靠性才能保證機密性和完整性。 DES算法還有一些變形,如:三重DES和廣義DES等。目前,DES應用領域主要包括:計算機網(wǎng)絡通信中的數(shù)據(jù)保護(只限于民用敏感信息);電子資金加密傳送;保護用戶存儲文件,防止了未授權用戶竊密;計
38、算機用戶識別等。2. Clipper加密芯片標準 這種數(shù)據(jù)加密標準對用戶只提供加密芯片(Clipper)和硬件設備,它的密碼算法不公開,密鑰量比DES多1000多萬倍,是美國國家保密局(NSA)在1993年正式使用的新的商用數(shù)據(jù)加密標準,目的是取代DES,提高密碼算法的安全性,主要用于通信交換系統(tǒng)中電話、傳真和計算機通信信息的安全保護。為確保更可靠的安全性,加密設備的制作方法按照Clipper芯片由一個公司制造裸片,再由另一公司編程嚴格規(guī)定來實施。 Clipper芯片主要特點是充分利用高的運算能力的設備資源加大密鑰量,從而用于計算機通信網(wǎng)上的信息加密,如:政府和軍事通信網(wǎng)中數(shù)據(jù)加密芯片的研究不
39、斷換代使它還實現(xiàn)了數(shù)字簽名標準和保密的哈希函數(shù)標準以及用純噪聲源產生隨機數(shù)據(jù)的算法等。3. 國際數(shù)據(jù)加密標準 這種算法是在DES算法的基礎上發(fā)展的。與 DES相同,國際數(shù)據(jù)加密算法IDEA(international data encryption algorithm)也是針對數(shù)據(jù)塊加密;它采用128位密鑰,設計了一系列加密輪次,每輪加密都使用從完整的加密密鑰中生成的一個子密鑰,基于這種算法,采用軟件實現(xiàn)和采用硬件實現(xiàn)同樣快速,非常適合于對大量的明文信息的快速加密。它在1990年正式公布并在以后得到了增強。傳統(tǒng)加密方法的缺點 在網(wǎng)絡通信中,傳統(tǒng)的對稱加密方法是發(fā)送者加密、接收者解密使用同樣的密
40、鑰,這種方法雖然有運算快的特點,隨著用戶的增加,大量密鑰的分配是一個難以解決的問題。例如,若系統(tǒng)中有n個用戶,其中每兩個用戶之間需要建立密碼通信,則系統(tǒng)中每個用戶須掌握(n-1)/2個密鑰,而系統(tǒng)中所需的密鑰總數(shù)為n*(n-1)/2 個。對10個用戶,每個用戶必須有9個密鑰,系統(tǒng)中密鑰的總數(shù)為45個。對100個用戶,每個用戶必須有99個密鑰,系統(tǒng)中密鑰的總數(shù)為4950個。這還僅考慮用戶之間的通信只使用一種會話密鑰的情況。如此龐大數(shù)量的密鑰生成、管理、分發(fā)確實是一個難處理的問題。因此,對稱加密方法所帶來的密鑰的弱的健壯性和密鑰管理的復雜性局限了它的發(fā)展。4. 公開密鑰加密標準 早在20世紀70年
41、代,美國斯坦福大學的兩名學者迪菲和赫爾曼提出了一種加密方法公開密鑰加密方法,解決了傳統(tǒng)加密體系的密匙分配復雜的缺點。 公開密鑰加密方法是非對稱加密方式,該技術采用不同的加密密鑰和解密密鑰對信息加密和解密,每個用戶有一個對外公開的加密算法E和對外保密的解密算法D,它們須滿足條件: (1)D是E的逆,即DE(X)=X。 (2)E和D容易計算。 (3)如果由E出發(fā)求解D十分困難。公鑰及私鑰的概念 若加密密鑰可對外公開,稱為公鑰;一個用戶向另一用戶傳送信息,首先通過開放途徑(如BBS)的獲得另一用戶的公開密鑰,對明文加密后發(fā)送,而另一用戶唯一保存的解密密鑰是保密的,稱為私鑰,另一用戶通過安全的方法驗證
42、信源可靠后,私鑰將密文復原、解密。理論上解密密鑰可由加密密鑰推算出來,但這種算法設計在實際上是不可能的,或者雖然能夠推算出,但要花費很長的時間和代價,所以,將加密密鑰公開不會危害密鑰的安全。RSA 算 法 著名的RSA正是基于這種理論,算法以發(fā)明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman.這種算法為公用網(wǎng)絡上信息的加密和鑒別提供了一種基本的方法。為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位,這就使加密的計算量很大。同時,為減少計算量,在傳送信息時,常采用傳統(tǒng)對稱加密方法與RSA公開密鑰加密方法相結合的方式,信息明文加密采用
43、改進的DES或IDEA加密方法,使用RSA用于加密密鑰和信息摘要。對方收到信息后,用各自相關的密鑰解密并可核對信息。但是RSA并不能替代DES等對稱算法,RSA的密鑰長,加密速度慢,而采用DES等對稱算法加密速度快,適合加密較長的報文,彌補了RSA的缺點。美國的保密增強郵件系統(tǒng)(PEM)就是采用了RSA 和DES結合的方法,目前已成為E-MAIL保密通信標準。5. 量子加密方法 量子加密與公鑰加密標準同期出現(xiàn),適用于網(wǎng)絡上加 密普通寬帶數(shù)據(jù)信道所傳送的信息,工作原理是兩端用戶各自產生一個私有的隨機數(shù)字符串,兩個用戶向對方的接受裝置發(fā)送代表數(shù)字字符串的單個量子序列(光脈沖),接受裝置從兩個字符串
44、中取出相匹配的比特值組成了密鑰。實現(xiàn)了會話或交換密鑰的傳遞。由于這種方法依賴的是量子力學定律,傳輸?shù)墓饬孔邮菬o法被竊聽的;如果有人進行竊聽,就會對通信系統(tǒng)造成干擾,對通信系統(tǒng)的量子狀態(tài)造成不可挽回的變化,通信雙方就會得知有人進行竊聽,從而結束通信,重新生成密鑰。這種加密技術不久的將來應該有應用和發(fā)展,但是如何實現(xiàn)數(shù)字簽名有待于研究。2.3 公鑰信息加密算法 隨著密碼技術的發(fā)展,Diffie和Hellman在IEEE提出提出了公鑰密碼系統(tǒng),即加密密鑰和 解密密鑰不是同一把密鑰?,F(xiàn)在公鑰密碼系統(tǒng)被廣泛的應用,其中RSA加密算法,Diffie-Hellman算法,ElGamal加密算法,橢圓曲線加密
45、算法被廣泛研究和應用。2.3.1 RSA加密算法 RSA的安全性依賴于大數(shù)分解。公鑰及私鑰都是兩個大素數(shù)(大于100個十進制位)的函數(shù),從一個密鑰和密文推斷出明文的難度等同于分解兩個大素數(shù)的積。算法如下: .生成密鑰 (1)秘密的選取兩個大數(shù)p,q (2)計算 , ,這 指的是Euler函數(shù) (3)選取整數(shù)e,滿足 且 。 (4)計算d,滿足 。即d是e關于模 乘的逆元,(乘法逆元 :設 ,如果存在 , 滿足 ,則稱x是a的模n乘法逆元,記為 (mod n) )由e的定義,d唯一。 (5)輸出公鑰 ,私鑰 。具體加密解密操作 加密操作 選定 ,把明文分成長度為k的組塊。對每個明文分組M , M
46、在0到(n-1)之間。加密操作為: 解密操作 得到密文分組C,解密操作為: (2.14) (2.15)RSA算法的局限性(1)(1)有限的安全性 RSA是一種分組密碼算法,它的安全是基于數(shù)論中大的整數(shù)n分解為兩個素數(shù)之積的難解性。目前,RSA的一些變種算法已被證明等價于大數(shù)分解。同樣,分解n也是最顯然的攻擊方法?,F(xiàn)在,人們已能分解140多個十進制位的大素數(shù)。因此,適用具體情況而定,模數(shù)n必須選盡可能大。同時要注意,如果系統(tǒng)中共享一個模數(shù),不同的人擁有不同的公鑰e1和e2,這些公鑰共模而且互質,假如普遍的情況是同一信息用不同的公鑰加密,那么該信息無需私鑰就可得到恢復。即設P為信息明文,C1和C2
47、為密文,公共模數(shù)是n,則: C1 = Pe1 mod n ;C2 = Pe2 mod n 密碼分析者知道n、e1、e2、C1和C2,就能得到P。解決辦法只有一個,那就是不要共享模數(shù)n。RSA算法的局限性(2) (2)運算速度慢 RSA算法進行的都是大數(shù)計算,使得其最快的情況也比DES慢上100倍,無論是軟件實現(xiàn)還是硬件實現(xiàn)。速度一直是RSA算法的缺陷。一般來說RSA算法只用于少量數(shù)據(jù)加密。有一種提高RSA速度的建議是使公鑰e取較小的值,這樣會使加密變得易于實現(xiàn),速度有所提高。但這樣作是不安全的,公鑰e和私鑰d還是都取較大的值為好。但是,RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理
48、解和操作。經(jīng)歷了各種攻擊的考驗和最廣泛的研究,從提出到現(xiàn)在已近二十年,逐漸為人們認為是目前最適用的公鑰算法之一。2.3.2 Diffie-Hellman算法 Diffie和Hellman在1976年公開發(fā)表的第一個公鑰密碼算法定義了公鑰密碼學。論文中提出一個密鑰交換系統(tǒng),讓網(wǎng)絡互不相見的兩個通信體,可以共享一把鑰匙,用以證明公開密鑰的概念的可行性。這個算法本身基于計算對數(shù)難度,其目的是實現(xiàn)兩個用戶之間安全地交換密鑰以便于后續(xù)的數(shù)據(jù)加密。Diffie-Hellman密鑰交換算法在現(xiàn)在的許多商用產品中使用。Diffie-Hellman算法描述 算法描述如下: 給定公開素數(shù)q和q的本原根r。即r1,
49、2,3,4,(q-1),且 1,2,3,4,(q-1) mod q, mod q, mod q, mod q則對b1,2,3,4,(q-1),可以唯一的指數(shù)i,使得b= mod q。 用戶A, B交換密鑰的方法如下: (1)用戶A選擇一個隨機數(shù) ,計算 ,A將 秘密保存而將 公開。 (2)用戶B選擇一個隨機數(shù) ,計算 ,B將 秘密保存而將 公開。 (3)A將 送給B,B將 送給A,(A并不知道 ,B并不知道 ) (4)用戶A計算密鑰: ; (5)用戶B計算密鑰: ; 2.3.3 ElGamal加密算法 EIGamal體制是T.EIGamal在1985年發(fā)表的“A public-key cryp
50、tosystem and a signatures scheme based on discrete logarithms”(一個基于離散對數(shù)的共鑰密碼體制和數(shù)學簽名方案)論文中提出的公開密匙密碼體制。 下面給出的EIGamal體制在論文中用于數(shù)據(jù)加密的算法。采用EIGamal公開密匙密碼體制的密碼系統(tǒng)中,所有的用戶都共享一個素數(shù)P 以及一個Z的生成元g,明文空間P=Z,密文空間 ,選定0ap,計算 秘密密鑰:a 公開密鑰:bElGamal加密解密算法 加密算法:設明文為m,0mp,隨機的選取正整數(shù)k,0kp,gcd(k,p-1)=1,計算密文對y1, y2: 密文 。 解密算法: 可見,EI
51、Gamal體制的密文不是唯一的,這是一種非確定性加密方式。顯然增加了系統(tǒng)的安全性,但是,代價是密文膨脹了兩倍。2.3.4 橢圓曲線加密算法定義 定義:橢圓曲線指的是由韋爾斯特拉斯方程所確定的平面曲線 。 其中,系數(shù)(i =1,2,6)定義在基域K上 (K可以是有理數(shù)域、實數(shù)域、復數(shù)域,還可以是有限域,橢圓曲線密碼體制中用到的橢圓曲線都定義在有限域上)橢圓曲線加密算法相關知識 1985年,Koblitz和Miller相互獨立地開發(fā)提出了在密碼學中應用橢圓曲線(Eliptical Curve)構造公開密鑰密碼體制的思想。這一算法一出現(xiàn)便受到關注,由于基于橢圓曲線的公開密鑰密碼體制開銷小(所需的計算
52、量?。踩愿叩葍?yōu)點,隨著橢圓曲線的公開密鑰密碼體制極大的發(fā)展,它將替代RSA成為通用的公鑰密碼算法。實踐表明,在 32位的PC機上和16位微處理器上運行橢圓曲線密碼算法,其中16位微處理器上的數(shù)字簽名不足500ms。因此,應用橢圓曲線的數(shù)字簽名可以很容易地在小的有限資源的設備中使用。1. 有限域上的橢圓曲線算法的提出 設K表示一個有限域,E是域K上的橢圓曲線,則E是一個點的集合:E/K = ( x, y ) | y2+ a1xy + a3y = x3 + a2x2 + a4x + a6, a1, a3, a2, a4, a6 x, y K O 其中O表示無窮遠點。在E上定義+運算,P +
53、Q = R,R是過P、Q的直線與曲線的另一交點關于x軸的對稱點, 當P = Q時R是P點的切線與曲線的另一交點關于x軸的對稱點。這樣,( E, + )構成可換群 ( Abel群),O是加法單位元(零元)。橢圓曲線離散對數(shù)問題定義如下:給定定義在K上的橢圓曲線E,一個n階的點PE/K,和點QE/ K,如果存在l,確定整數(shù)l, 0, l ,n - 1, Q = lP。 我們知道,RSA是基于因子分解,其算法的核心就是如何尋找大數(shù)的因子分解,但大數(shù)的因子分解是比因子分解難得多的問題。橢圓曲線上的加法: P + Q = R 是橢圓曲線上一點的2倍: P + P = R. 基于該難題,1985年N.Ko
54、blitz和Miller提出將橢圓曲線用于密碼算法,分別利用有限域上橢圓曲線的點構成的群實現(xiàn)了離散對數(shù)密碼算法。2. 橢圓曲線上的密碼算法 橢圓曲線加密系統(tǒng)由很多依賴于橢圓曲線離散對數(shù)算法問題的加密系統(tǒng)組成: (1)知E(Fn)對點的“ ”運算形成一個Abel群,設pE(Fn),若p的周期很大,即使p p p= (共有 t個p相加)成立的最小正整數(shù) t,希望t 很大(t = p的周期,表示為(p)=t),并且對QE(Fq),定有某個正整數(shù)m使Q=mp=p p(共有m個p相加)定義m=n Q (m為以n為底Q的對數(shù))橢圓曲線上的點形成的群E(Fn),相關它的離散對數(shù)問題是難處理的。建立橢圓曲線密
55、碼體制 選取基域Fn,F(xiàn)n的橢圓曲線具體給定為確定的形式。 在E(Fn)中選一個周期很大的點,如選了一個點P=(xn, yn),它的周期為一個大的素數(shù)n,記 (P)=n(素數(shù))。注意:在這個密碼體制中,具體的曲線及點P和它的n都 是公開信息。密碼體制的形式采用EIGamal體制,是完全類比過來。建立橢圓曲線密碼的方法 使用者執(zhí)行了下列計算: a) 在區(qū)間1,n-1中隨機選取一個整數(shù)d; b) 計算點Q:=dP (d個P相 ) ; c) 使用者公開自己的公開密鑰(E(Fn), p, n, Q); d) 使用者的私鑰為整數(shù)d ; 發(fā)送者要發(fā)送消息m給使用者,執(zhí)行: a) 查找使用者的公鑰(E(Fn
56、), p, n, Q), b) 將m表示成一個域元素mFn, c) 在區(qū)間1,n-1內選取一個隨機數(shù)k, d) 依據(jù)使用者的公鑰計算點 (x1, y1):=kP (k個P相 ), e) 計算點(x2,y2):=kQ,如果x2 =0,則回到第c步計算C:=mx2; f) 傳送加密數(shù)據(jù)(x1,y1,C)給使用者; 使用者收到發(fā)送者的密文(x ,y ,C)后,執(zhí)行解密過程: a)使用私鑰d,計算點(x2,y2):=d(x1, y1),再計算Fn中 , b)通過計算m:=C ,恢復出明文數(shù)據(jù)m。2.4 信息加密產品簡介 信息加密產品隨著加密技術的應用和發(fā)展出現(xiàn)了良好的商業(yè)化趨勢,比較常用的信息加密軟件
57、有PGP和CryptoAPI,作為開放的軟件工具,它們的使用為深入開展信息加密技術的研究提供了幫助。下面分別介紹PGP和CryptoAPI。 2.4.1 PGP加密軟件簡介 PGP(prettygoodprivacy)是一個對郵件和傳輸?shù)奈膿踹M行加密的軟件,可以用來對郵件和文擋保密以防止非授權者閱讀,讓你可以安全地和你從未見過的人們通信。PGP軟件綜合了目前健壯的加密方法和加密系統(tǒng)認證性方面的新手段,功能強大有很快的速度,是一種比較實用和安全的加密工具。PGP軟件創(chuàng)始人是美國的PhilZimmermann,由于許多版本不受密碼出口管制,源代碼也是免費的,獲取比較方便。1. PGP采用的加密標準
58、 PGP用的是公匙加密和傳統(tǒng)加密的雜合算法,這種算法創(chuàng)造性在于他把公匙加密體系的方便和傳統(tǒng)加密體系的高速度結合起來,充分利用多個算法各自的優(yōu)點應用于明文加密和密匙認證管理機制中,形成了整個加密系統(tǒng)巧妙的設計。PGP實際上用來對明文加密采用了IDEA的傳統(tǒng)加密算法。IDEA的加(解)密速度比公匙加密算法如RSA快得多,但主要缺點就是密匙的傳遞渠道解決不了安全性問題,不適合網(wǎng)絡環(huán)境加密需要。因此,PGP每次加密都可以隨機生成密匙用IDEA算法對明文加密,然后在用密匙的傳遞中用公匙加密算法,一般是使用不適合加密大量數(shù)據(jù)的RSA或Diffie-Hellman算法對該密匙加密來保證傳遞渠道的安全性,這樣
59、收件人同樣是用RSA或Diffie-Hellman解密出這個隨機密匙,再用IDEA解密出明文。 PGP加密方法示意圖 解密 密鑰K2明文密鑰K 加密 密鑰K2明文加密密鑰K2發(fā)送者接收者IDEA加密密文接收者的公鑰K1公鑰加密密文解密密鑰K2接收者的私鑰K2密鑰K圖4.1PGP加密方法示意圖2. PGP的密匙管理(1) 在PGP中如果IDEA密匙是通過網(wǎng)絡傳送而不加密,網(wǎng)絡黑客們就會“監(jiān)聽”而獲取密匙,整個傳輸肯定危險,因此,必須通過必要可靠的密匙管理來保證信息發(fā)送和接收的安全性。一個成熟的加密系統(tǒng)必然要有一個成熟的密匙管理機制配套,公匙加密體系可以解決傳統(tǒng)加密體系的密匙分配難保密的缺點,PG
60、P中應用RSA或Diffie-Hellman算法實施密匙分配。2. PGP的密匙管理(2) 但是,分配過程中首先要獲取對方公匙,如果公匙被篡改,所獲得的公匙成了偽造的,密匙分配就會傳遞給篡改者,篡改者可以用自己的私匙解密獲得密匙。這可能是公匙密碼體系中最大的漏洞和安全性問題,你必須確信你拿到的公匙屬于它看上去屬于的那個人。防止這種情況出現(xiàn)的最好辦法是避免讓任何其他人有機會篡改公匙,比如直接從要接收信息的人手中得到公匙,然而當在千里之外或無法見到時,這是很困難的。2. PGP的密匙管理(3) 解決這個問題一般方法是數(shù)字簽名,直接認證你的信息接收者的公匙,防止篡改公匙;而PGP則在此基礎上發(fā)展了一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年雙動四柱拉伸液壓機項目投資價值分析報告
- 推動高質量充分就業(yè)體系建設方案
- 熱電廠項目可行性分析報告
- 高水平法治助力中國式現(xiàn)代化稅務改革
- 輔導員考試的教育情懷與試題答案
- 輔導員考試中的學習風格評估與試題及答案
- 高校輔導員社會適應能力測試題及答案
- 理解植物病理的基礎理論與實踐試題及答案
- 清晰認識農業(yè)經(jīng)理人考試的導向試題及答案
- 重難點面試題及答案解析
- 第24課《唐詩三首-茅屋為秋風所破歌》課件++2023-2024學年統(tǒng)編版語文八年級下冊
- 食品采購投標服務方案
- 設備搬運合同的模板
- 有機肥料整體供貨方案及保證措施
- 跨國公司的國際營銷策略淺析-以聯(lián)合利華為例
- 《肌力訓練》課件
- 全媒體運營師-國家職業(yè)標準(2023年版)
- 招標投標法培訓課件
- GLB-2防孤島保護裝置試驗報告
- 皮膚科玫瑰痤瘡的臨床表現(xiàn)和診斷學習培訓課件
- 高考日語復習:日語形容詞用法專項課件
評論
0/150
提交評論