密碼學知識點整理
第一章
1. 對於信息攻擊類型進行分類
- 被動攻擊:
- 消息內容獲取
- 業務流分析
- 主動攻擊:
- 中斷(可用性)
- 篡改(完整性)
- 偽造(真實性)

- 被動攻擊是一種監聽行為,不對消息進行更改,因此具有保密性,危害大且不易被察覺,被動攻擊只能預防而不能進行檢測;
- 主動攻擊對系統的對完整性、可用性以及報文的真實性進行的破壞,絕對的防止主動攻擊十分困難,因此防御主動攻擊的主要途徑是檢測以及對於攻擊造成破壞的修復。
2. 安全業務
- 保密業務:保護數據以防被動攻擊。
- 認證業務:用於保證通信的真實性。
- 完整性業務:和保密業務一樣,完整性業務也能應用於消息流、單個消息或一個消息的某一選定域。
- 不可否認業務:用於防止通信雙方中的某一方對所傳輸消息的否認,因此,一個消息發出后,接收者能夠證明這一消息的確是由通信的另一方發出的。
- 訪問控制:訪問控制的目標是防止對網絡資源的非授權訪問,控制的實現方式是認證,即檢查欲訪問某一資源的用戶是否具有訪問權。

3. 信息安全模型

- 消息的安全傳輸,包括對消息的加密和認證。
- 通信雙方共享的某些秘密信息,如加密密鑰。
- 安全的網絡通信必須考慮的4個方面
- 加密算法。
- 用於加密算法的秘密信息。
- 秘密信息的分布和共享。
- 使用加密算法和秘密信息以獲得安全服務所需的協議。
- 信息安全分為系統安全、數據安全和內容安全
4. 密碼學基本概念
- 保密通信系統
- 明文:發送方即將要發送的消息
- 密文:明文經過加密后的消息
- 加密:明文到密文的過程
- 解密:密文到明文的過程
- 加密算法:對明文加密時采用的規則
- 解密算法:對密文解密時采用的規則
- 密鑰:是一種特定的值,能使密碼算法按照指定的方式進行,並產生相應的密文,密鑰是密碼體制安全保密的關鍵
- 基本術語
- 加密員(密碼員):對明文進行加密操作的人員
- 接收者:傳送消息的預定對象
- 截收者:在信息傳輸和處理系統中竊取機密信息的對象
- 加密密鑰和解密密鑰:加密算法和解密算法的操作通常都是在一組密鑰控制下進行
- 單鑰密碼體制(對稱密碼體制):傳統密碼體制所用的加密密鑰和解密密鑰相同,或實質上等同,即從一個易於得出另一個
- 雙鑰密碼體制(非對稱密碼體制):加密密鑰和解密密鑰不相同,即從一個難於推出另一個
- 密碼分析:截收者通過分析可能從截獲的密文推斷出原來的明文或密鑰
- 密碼分析學:研究如何從密文推演出明文、密鑰或解密算法的學問
- 密碼分析員:從事密碼分析這一工作的人
- 被動攻擊:對一個保密通信系統采取截獲密文進行分析的這類攻擊
- 主動攻擊:非法入侵者、攻擊者或黑客主動向系統竄擾,采用刪除、增添、重放、偽造等竄改手段向系統注入假消息,達到利已害人的目的
- 保密系統應當滿足要求
- 系統即使達不到理論上是不可破的。
- 系統的保密性不依賴於對加密體制或算法的保密, 而依賴於密鑰。
- 加密和解密算法適用於所有密鑰空間中的元素。
- 系統便於實現和使用。
- 密碼體制分類
- 單鑰體制(對稱密鑰體制)
- 加密密鑰和解密密鑰相同
- 流密碼:對明文消息按字符逐位地進行加密
- 分組密碼:將明文消息分組逐組地進行加密
- 雙鑰體制(非對稱密鑰體制)
- 公鑰:對外公開的密鑰
- 私鑰:自己保密的密鑰
- 可以實現數字簽名
- 單鑰體制(對稱密鑰體制)
- 密碼攻擊類型

- 注意(一次性密碼本最安全)
- 加密算法是無條件安全的,如果算法產生的密文不能給出惟一決定相應明文的足夠信息。此時無論敵手截獲多少密文、花費多少時間,都不能解密密文
- 僅當密鑰至少和明文一樣長時,才能達到無條件安全。也就是說除了一次一密方案外,再無其他的加密方案是無條件安全的
- 計算機上的安全
- 破譯密文的代價超過被加密信息的價值
- 破譯密文所花的時間超過信息的有用期
5. 部分古典密碼
- 愷撒密碼

- 移位變換

- 仿射變換

- 多表代換密碼
- A矩陣可逆的充要條件為|A|!=0
- gcd()算法是求兩者的最大公約數
6. 例題部分
- 愷撒(移位密碼)

- 仿射變換


- 多表代換密碼這邊有個問題為解決,后續出這個題
第二章(流密碼)
1. 流密碼基本概念(加密原理)

- 分組密碼與流密碼的區別
- 分組密碼無記憶性
- 流密碼有記憶性
- 流密碼分類:根據加密器中記憶元件的存儲狀態是否依賴於輸入的明文字符
- 同步流密碼:獨立,因此,可將同步流密碼的加密器分成密鑰流產生器和加密變換器兩個部分
- 關鍵是密鑰流產生器
- 自同步流密碼:依賴
- 同步流密碼:獨立,因此,可將同步流密碼的加密器分成密鑰流產生器和加密變換器兩個部分
- 加密原理
- 密鑰-->密鑰流-->加密密文
2. 有限狀態自動機
- 有限狀態自動機是具有離散輸入和輸出(輸入集和輸出集均有限)的一種數學模型

- 給出初始狀態,給定輸入值會有對應的輸出值,與此同時,狀態進行轉換。
3. 密鑰流產生器
- 必須采用非線性函數
4. 線性移位寄存器
- 移位寄存器是流密碼產生密鑰流的一個主要組成部分
- GF(2):二元域,只有0和1
- 下圖是一個3級反饋移位寄存器,其初始狀態為(a1,a2,a3)=(1,0,1),寫出輸出


- 線性反饋移位寄存器因其實現簡單、速度快、有較為成熟的理論等優點而成為構造密鑰流生成器的最重要的部件之一
- n級線性反饋移位寄存器的狀態周期小於等於2的n次冪-1。輸出序列的周期與狀態周期相等,可以選擇合適的函數使得序列周期達到最大值,此時的序列稱為m序列
5. 線性移位寄存器一元多項式表示
- LFSR的特征多項式







6. m序列的偽隨機性
- 流密碼的安全性取決於密鑰流的安全性(隨機性)
- 偽隨機:要求截獲比周期短的一段時不會泄露更多信息,這樣的序列稱為偽隨機序列
- 游程:在GF(2)的序列中,將連續為0(1)的段稱為游程,其長度為n則叫做0(1)的n游程,例子

- Golomb對偽隨機周期序列提出了應滿足的如下三個隨機性公設
- 在序列的一個周期內,0與1的個數相差至多為1
- 在序列的一個周期內,長為1的游程占游程總數的二分之一,長為i的游程是游程總數的2的i次冪分之一,並且等長的游程中0的游程個數和1的游程個數相等
- 異自相關函數是一個常數
- 從密碼系統的角度看,一個偽隨機序列還應滿足下面的條件:
- {ai}的周期相當大。
- {ai}的確定在計算上是容易的。
- 由密文及相應的明文的部分信息, 不能確定整個{ai}。
