1、前言 算法
信息安全面臨的威脅無處不在,多爲人爲威脅,也就是對信息的人爲攻擊,人爲攻擊可分爲被動攻擊和主動攻擊。安全
被動攻擊:即爲竊聽,分爲兩類:一類是消息內容獲取;另外一類是業務流分析,如獲取消息的格式,長度及位置等敏感信息。該攻擊由於對消息沒有作出變更,難以檢測,因此被動攻擊重點在於預防而不是檢測。網絡
主動攻擊:爲對數據流的改動或產生假的數據流,分爲三類:①中斷,對系統可用性進行攻擊,如破壞管理系統等;②篡改,對系統的完整性攻擊,如修改傳送的消息內容等;③僞造,對系統真實性攻擊,如插入僞造的消息。加密
上述攻擊通常多爲經過惡意軟件進行破壞,多爲病毒、蠕蟲等惡意程序。spa
惡意軟件可分爲兩類:一類須要主程序,一類不須要。須要主程序的惡意軟件是某個程序中的一段,例如,特洛伊木馬、病毒、邏輯炸彈等;不須要主程序的惡意軟件是可以單獨運行的程序,如細菌和蠕蟲。blog
正因有諸多的惡意軟件所在,在互聯網中安全措施尤其重要且關鍵,即爲對惡意軟件的防範,稱爲安全業務,可有如下五種:ip
1.保密業務。保護數據防止被動攻擊。資源
2.認證業務。保證通訊的真實性。io
3.完整性業務。保證所接受的消息和所發出的消息是徹底一致的。軟件
4.不能否認業務。防止通訊雙方中某一方對所傳輸消息的否定。
5.訪問控制。防止對網絡資源的非受權訪問。
2、密碼學概念
2.1 保密通訊系統
採用保密通訊系統能夠隱蔽和保護須要發送的消息,使沒有獲得受權的人不能提取信息。
明文:發送方將要發送的消息;
密文:明文被變換成無心義的隨機消息。
明文變換成密文稱爲加密(encryption),密文恢復爲明文稱爲解密(decryption)。加密與解密的操做通常在一組密鑰控制下進行。
2.2 密碼體制分類
密碼體制可分爲兩大類,即單鑰體制和雙鑰體制。
系統的保密性主要取決於密鑰的安全性,與所要的算法保密性無關,因此在整個過程當中,需保密的僅是密鑰便可。
單鑰體制對明文消息的加密有兩種方式,分別爲流密碼和分組密碼;
雙鑰體制,有一對選定的密鑰,一個是公開,一個是祕密的。
2.3密碼攻擊
攻擊者對密碼系統的攻擊,類型劃分由攻擊者可獲取的信息量決定。
一般來講,加密算法只要知足如下兩條準則之一就可稱爲是計算上安全的:
(1)破譯密文的代價超過被加密信息的價值;
(2)破譯密文所花的時間超過信息的有用期。
3、古典密碼
古典密碼的加密是將明文的每一個字母代換爲字母表的另外一個字母,用等價的十進制數字代替。
古典密碼分爲單表代換密碼和多表代換密碼。
3.1單表代換密碼
(1)凱撒密碼
加密和解密代換分別爲:
c=E3(m) ≡ m+3(mod 26)
m=D3(c) ≡ c-3(mod 26)
(2)移位變換
c=Ek(m) ≡ m+k (mod 26)
m=Dk(c) ≡ c-k (mod 26)
(3)仿射變換
c=Ea,b(m) ≡ am+b (mod 26)
m=Da,b(c) ≡ a^-1(c-b) (mod 26)
3.2多表代換密碼
多表代換密碼首先將明文M分爲由n個字母構成的分組M1,M2...Mn,對每一個分組Mi的加密爲:
Ci ≡ AMi+B (mod 26) i=1,2...n
對密文分組Ci的解密爲:
Mi ≡ A^-1(Ci-B) (mod 26) i=1,2...n
Tips:未經許可 請勿轉載