傳統加密技術總結

密碼編碼學與網絡安全討論兩大領域

  • 密碼算法和協議
    又可以分爲4個主要的領域:
    • 對稱加密(Symmetric encryption):用於加密任意大小的數據塊或數據流的內容(消息、文件、加密密鑰和口令)
    • 非對稱加密(Asymmetric encryption):用於加密小的數據塊(加密密鑰、數字簽名中使用的Hash函數值)
    • 數據完整性算法(Data integrity algorithms):用於保護數據塊的內容免於被修改
    • 認證協議(Authentication protocols):用於認證實體的真實性
  • 網絡和Internet安全
    阻止、防止、檢測和糾正信息傳輸中出現的安全違規行爲的措施

計算機安全

1.定義
NIST的《計算機安全手冊》對計算機安全的定義爲:
對於一個自動化的信息系統,採取保密措施確保信息系統資源(包括硬件、軟件、固體、信息/數據和通信)的完整性、可用性和保密性

2.計算機安全的關鍵目標
保密性(Confidentiality)

  • 數據保密性(Data confidentiality):確保隱私或者祕密信息不向非授權者泄露,也不被非授權者所使用
  • 隱私性(Privacy):確保個人能夠控制或確定與其自身相關的哪些信息是可以被收集、被保存的、這些信息可以由誰來公開以及向誰公開

完整性(Integrity)

  • 數據完整性(Data integrity):確保信息和程序只能以特定和授權的方式進行改變
  • 系統完整性(System integrity):確保系統以一種正常的方式來執行預定的功能,免於有意或無意的非授權操作

可用性(Availability):確保系統能工作迅速,對授權用戶不能拒絕服務

這三個目標形成了CIA三元組
在這裏插入圖片描述
其他概念:真實性(Authenticity)可追溯性(Accountability)

OSI安全架構

主要關注安全攻擊安全機制安全服務

1.安全攻擊

  • 被動攻擊(Passive attacks):對傳輸進行竊聽和監測,不涉及對數據的更改,目的是獲取傳輸的信息。處理被動攻擊的重點是預防,不是檢測。
    包括信息內容的泄露(Disclosure of message content)、流量分析(Traffic analysis)
  • 主動攻擊(Active attack):對數據流進行修改或僞造數據流,難以絕對地預防,但容易檢測,重點在於檢測並從破壞或造成的延遲中恢復過來。
    包括僞裝(Masquerading)、重播(Replay)、消息修改(Modification of messages)、拒絕服務(Denial of service)

2.安全服務
X.800將服務分爲5類共14個特定服務。

  • 認證(Authentication)
  • 訪問控制(Access control)
  • 數據保密性(Data confidentiality)
  • 數據完整性(Data integrity)
  • 不可否認性(Non-repudiation)

3.安全機制(X.800)
特定安全機制、普遍的安全機制
X.800還區分可逆和不可逆加密機制。
可逆加密機制只是一種加密算法,數據可以加密和解密。
不可逆加密機制包括Hash算法和消息認證碼,用於數字簽名和消息認證。

網絡安全模型

在這裏插入圖片描述


一、密碼系統

1.傳統密碼的安全使用要滿足兩個要求:

  • 加密算法必須足夠強
  • 發送者和接收者必須在某種安全的形式下獲得密鑰並且必須保證密鑰安全

2.密碼編碼學系統具有以下3個獨立的特徵:

  • 轉換明文爲密文的運算類型
    所有的加密算法都基於代替和置換
    代替是將明文中的每個元素映射成另一個元素
    置換是將明文中的元素重新排列

    上述運算的基本要求是不允許有信息丟失(即所有的運算是可逆的)。大多數密碼體制,也稱爲乘積密碼系統,都使用了多層代替和置換。
  • 所用的密鑰數
    發收雙方使用相同的密鑰對稱密碼,單密鑰密碼,祕密鑰密碼或傳統密碼
    發收雙方使用不同的密鑰非對稱密碼,雙鑰或公鑰密碼
  • 處理明文的方法
    分組密碼每次處理輸入的一組元素,相應地輸出一組元素
    流密碼則是連續地處理輸入元素,每次輸出一個元素

二、對稱密碼模型

對稱加密,也稱傳統加密單鑰加密,是一種加解密使用相同密鑰的密碼體制,是20世紀70年代公鑰密碼產生之前唯一的加密類型。
五個基本成分爲:明文M、密文C、密鑰K、加密算法E、解密算法D。

1.傳統密碼的簡化模型:在這裏插入圖片描述
2.對稱密碼體制的模型:
在這裏插入圖片描述

3.對稱密碼分爲兩類分組密碼流密碼
分組密碼也稱爲塊密碼,它將信息分成一塊(組),每次操作(如加密和解密)是針對一組而言。
流密碼也稱序列密碼,它每次加密(或者解密)一位或者一個字節。

4.採用對稱密碼,首要的安全問題是密鑰的保密性

5.攻擊傳統密碼體制的兩種通用方法:

  • 密碼分析學:密碼分析學攻擊依賴算法的性質、明文的一般特徵或某些明密文對,這種形式的攻擊企圖利用算法的特徵來推導出特定的明文或使用的密鑰。
  • 窮舉攻擊:攻擊者對一條密文嘗試所有可能的密鑰直到把它轉化爲可讀的有意義的明文。平均而言,獲得成功至少需要嘗試所有可能密鑰的一半

6.對加密信息的攻擊類型
在這裏插入圖片描述
7.安全性

  • 無條件安全:一次一密
  • 計算上安全
    破譯密碼的代價超出密文信息的價值
    破譯密碼的時間超出密文信息的有效生命期

三、代替技術(Substitution Ciphers)

代替技術是將明文字母替換成其他字母、數字或符號的方法。如果把明文看成是二進制序列的話,那麼代替就是用密文位串來代替明文位串。

**1.**Caesar密碼
原理:對字母表中的每個字母,用它之後的第三個字母來代替(字母表是循環的,即認爲緊隨Z後的是字母A)。字母編號對照表如下:在這裏插入圖片描述
加密算法可以表示爲:C=E(3,p) = (p+3)mod26,其中的位移量3
位移量可以是任意整數k,這樣得到一般的Caesar算法:
加密算法是:C=E(k,p)=(p+k)mod26
解密算法是:p=D(k,C)=(C-k)mod26

(這裏K的取值範圍從1到25)
例:
明文: pa r t y
密文:SDUWB
若已知Caesar密碼,只要測試所有的25種可能的祕鑰即可破譯。

2. 單表代換密碼(Monoalphabetic Cipher)
採用簡單重新排列明文字母表來作爲密碼錶且每個相同的明文字母總是被同一個密文字母所替換的被稱作單表替換密碼。
密鑰空間十分巨大,可以抵禦窮舉攻擊,但是可以根據語言出現的頻率和特性破解

3.Playfair密碼
是最著名的多字母代替密碼,它把明文中的雙字母音節作爲一個單元並將其轉換成密文的“雙字母音節”。Playfair算法基於一個由密鑰詞構成的5*5字母矩陣。仍然完好地保留了明文語言的大部分結構特徵。

填充矩陣的方法是:

  • 首先將密鑰詞去掉重複字母從左到右,從上至下填在矩陣格子中
  • 再將剩餘的字母按字母表的順序從左至右、從上至下填在矩陣剩下的格子裏。字母I和J暫且當做一個字母

對明文按如下規則一次加密兩個字母:

  • 如果該字母對的兩個字母是相同的,那麼在它們之間加一個填充字母,比如x。例如先把ballon變成ba lx lo on這樣的4個字母對。
  • 落在矩陣同一行的明文字母對中的字母,由其右邊的字母來代替,每行中最右邊的一個字母就用該列中最左邊的第一個字母來代替。
  • 落在矩陣同一列的明文字母對中的字母,由其下面的字母來代替,每行中最下面的一個字母就用該列中最上面的第一個字母來代替。
  • 其他的每組明文字母對中的字母按如下方式代替:該字母所在行爲密文所在行,另一字母所在列爲密文所在列。 (其實說白了就是看成對角線)

例:密鑰爲MONARCHY

hs——BP
ea——IM / JM
balloon——ba lx lo on——IB SU PM NA
ar——RM
mu——CM

4.Hill 密碼
是一種多字母代替密碼
Hill 密碼要求首先將明文分成同等規模的若干個分組(最後一個分組不足時需要填充),每一個分組被整體加密變換,即 Hill 密碼屬於分組加密
Hill 密碼算法將每一個分組中的 d 個連續的明文字母通過線性變換(與密鑰矩陣相乘),轉換爲 d個密文字母。
在這裏插入圖片描述

寫成矩陣形式:
在這裏插入圖片描述
例:用 Hill 密碼加密明文 “Pay more money”,d=3,密鑰是
在這裏插入圖片描述
求對應的密文。

解:明文對應字母表爲 15 0 24 12 14 17 4 12 14 13 4 24
在這裏插入圖片描述
故對應的密文爲:RRLMWBKASPDH。
Hill密碼完全隱藏了單字母頻率特性。

5.多表代替加密(Polyalphabetic Ciphers)
多表代換密碼是以兩個以上代換表依次對明文消息的字母進行代換的加密方法。

Vigenère密碼是多表密碼中最知名和最簡單的密碼,選擇某一關鍵詞並重復(與明文等長)而得到密鑰,用數字0-25代替字母A-Z。
例:明文:ATTACKATDAWN,關鍵詞爲LEMON
明文:ATTACKATDAWN
密鑰:LEMONLEMONLE。
A在字母表中對應0,L在字母表中對應11
(0+11)mod26=11,所以加密後爲L,
以此類推得到密文:LXFOPVEFRNHR
C=(P+K)mod26
P=(C-K)mod26

每個明文字母對應對個密文字母,每個密文字母使用唯一的密鑰字母,字母出現的概率信息被隱藏了,但並非所有的都隱藏了。

Vigenère Autokey System
例:關鍵詞:deceptive,明文:wearediscoveredsaveyourself
明文:w e a r e d i s c o v e r e d s a v e y o u r s e l f
密鑰:d e c e p t i v e w e a r e d i s c o v e r e d s a v
密文:Z I C VTWQNG K Z E I I G A S XST S L V V W L A
易受密碼分析攻擊

Vernam密碼
密鑰與明文等長,使用週期很大的循環密鑰,如果有足夠的密文,使用已知或可能的明文序列,或者聯合使用二者,可被破解。
在這裏插入圖片描述

6. 一次一密
每一條新消息都需要一個與其等長的新密鑰,它產生的隨機輸出與明文沒有任何統計關係,密文不包括明文的任何信息,無法攻擊。
一次一密的安全性完全取決於密鑰的隨機性。
一次一密存在兩個基本難點: 產生大規模隨機密鑰、密鑰的分配和保護
實際上很少使用它,主要用於安全性要求很高的低帶寬信道。
一次一密是唯一的具有完善保密的密碼體制。

四、置換技術(Transposition cipher)

改變明文出現的相對位置。

柵欄技術(Rail Fence Cipher)
按照對角線的順序寫出明文, 按行的順序讀出作爲密文,
例: i’m growing like a seed, rains been falling on me. (柵欄爲2)
柵欄1:i g o i g i e s e r i s e n a l n o m
柵欄2: m r w n l k a e d a n b e f l i g n e
密文:igoigieserisenalnommrwnlkaedanbefligne

Row Transposition Cipher
更復雜的方案:把消息一行一行地寫成矩陣塊,然後根據密鑰的順序按列讀出。
在這裏插入圖片描述
密文:TTNAAPTMTSUOAODWCOIXKNLYPETZ

單純的置換密碼因爲有和明文相同的字母頻率特徵而易被破解,密碼分析可以直接從將密文排列成矩陣入手,再來處理列的位置。雙字母音節和三字母音節分析辦法可以派上用場。若根據置換算法,對明文進行多次置換,就不容易破解了,這就是安全性更高的多步置換密碼。

五、轉輪機

轉輪機是代替計算機加密解密的硬件設備。採用一系列轉輪,每一個都是一個代替表,轉輪可以依次旋轉加密每個字母, 在現代密碼之前,轉輪密碼是最廣泛使用的複雜的密碼。轉輪機的意義在於它曾經給數據加密標準(DES)指明瞭方向。

六、隱寫術(Steganography)

隱寫術不是加密技術
需要通過額外的開銷隱藏相對較少的信息
其他技術:字符標記、不可見墨水、針刺、打字機的色帶校正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章