第二章 密碼學基礎
2.1 密碼的起源
密碼的起源能夠追溯到遠古時代,從原始符號、人類生存符號、早起岩畫,到數字誕生,斐斯托斯圓盤問世,再到消息隱寫術和語言隱寫術,以及最古老的密碼裝置斯巴達密碼棒,達芬奇密碼筒,密碼的發展與人類的文明歷史相生相伴。同時體現古人在秘密傳遞上的智慧,將密碼學推向了以數學為基礎的古典密碼的時代。
古典密碼:古典密碼有着悠久的歷史。雖然這些密碼大都比較簡單,現在已經很少采用了,但是研究這些密碼的原理,對於理解、構造和分析現代密碼都是十分有益的。
1.代換密碼:
(1)單表代換——凱撒密碼,即對字母順序的位移,一般為4個,也可以是K個,C=M+K(mod26) M是明文,C是密文,K是秘鑰(最多25次破解)
(2)多表代換——維吉尼亞密碼,構造維吉尼亞多表代換字母表方陣:將26個字幕構成的字母表連續向左移位1次,組成26*26的字母表方陣。方陣第一行是明文字母,方陣左邊一列按沖上到下順序編號。同時問題產生:應該選擇哪個代換表,維吉尼亞通過采用“關鍵字”或“關鍵文本”來決定代換表的選用順序,即為密鑰的雛形。
密文=關鍵字所在行與明文所在列+1的交點字母或關鍵字所在行+1與明文所在列的交點字母,關鍵字長度=關鍵字長度*n=明文
空格形式為明文空格形式,關鍵字,明文與密文的編碼皆為字母對應順序,如a對應1。
(3)多字母代換——普萊費爾密碼,將明文中的雙字母組合作為一個單元,並將這些單元轉換為密文的雙字母結合,加密的步驟:編制密碼表,整理明文,編寫密文。
第一步基於5*5字母矩陣(I與J算作同一字母),例如:關鍵字:harpsichord→harpsicod然后剩余字母按順序寫完。
第二步將明文拆分二合字母,例如help i really need somebody→he lp ir ea lx(用x將同樣字母分開) ly ne ed so me bo dy(結尾不夠可用x補齊)
第三步二合字母三種不同方式代換:①同行代換,②同列代換,③不同行不同列代換
①明文字母將由其右邊字母代換,行最后的字母由行的第一個字母代換,即向左移一位
②明文字母將由其下邊字母代換,列最后的字母由列的第一個字母代換,即向上移一位
③第一個字母將由第一個字母同行,第二個字母同列的字母替換,第二個字母,由第二個字母同行,第一個字母同列的字母替換(原字母行,另字母列交點的字母)
2.置換密碼(換位密碼):所有明文字符不變,只改變順序位置,分為柵格換位、矩陣換位、列換位
1.兩行柵格換位:例如:help→h l →hlep
e p
同樣的有四行柵格等
2.矩陣換位:矩陣行列數為任意維數,按行寫出,按列讀出(也可按對角線,螺旋等)
3.列換位:關鍵字數量=列數,各字母大小順序為其代表數字,如code代表1423,然后將明文按該列數填入矩陣,按1423順序進行列索引,即先讀第一列然后第四列——得到密文
3.弗納姆密碼
消息是長為n的比特串,那么密鑰也是長為n的比特串,隨機選取,一次加密1比特消息和密鑰進行異或運算得到n,
異或運算(模2加),減法等於加法,解密與加密相同。
一次一密加密體制:①密鑰流的長度必須與明文的長度相同,②密鑰分配和保護存在困難
是序列密碼的雛形,因異或運算在電子電路中容易實現,序列密碼(流密碼)在今天的計算機和通信系統中均得到廣泛應用。
機械密碼
手工進行容易出錯,速度太慢,機械密碼應運而生
enigma密碼機,紫色密碼機及其他密碼機
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
現代密碼學
信息論的鼻祖Claude shannon與1949年公開發表了“保密系統的通信理論”開辟了用信息論研究密碼學的新方向,奠定了現代密碼理論的基礎。他一概率統計的觀點對消息源、密鑰源、接收和截獲的消息進行數學描述和分析,用不確定性和唯一解距離來度量密碼體制的保密性,闡明了密碼系統、完善保密性、純密碼、理論保密性和實際保密性等重要概念,從而大大深化了人們對於保密學的理解。從此人類進入了科學的密碼時代。
保密通信系統的數學模型:信源→加密→解密→信宿
明文 密文 明文
Shannon在引論中就明確區分了信息隱藏和信息保密,以及模擬保密變換和數字信號加密(密碼)的不同之處。Shannon稱后者為真保密系統。
信息加密:信息加密是利用單鑰或雙鑰密碼算法把明文變換成密文並通過公開信道送到接收者手中。由於密文是一堆亂碼,攻擊者監視着信道的通信,一旦截獲到亂碼,就可以利用已有的對各種密碼體制的攻擊方法進行破譯了。由此可見,信息加密所保護的是信息的內容。
信息隱藏:信息隱藏也被稱為“信息隱匿”或“信息隱形“。到目前為止,信息隱藏還沒有一個准確和公認的定義。一般認為,信息隱藏是信息安全研究領域與密碼技術緊密相關的一大分支。秘密信息被嵌人表面上看起來無害的宿主信息中,攻擊者無法直觀地判斷他所監視的信息中是否含有秘密信息。換句話說,含有隱匿信息的宿主信息不會引起別人的注意和懷疑。

2.2 密碼學基本概念
明文,密文,密鑰,加密,解密,加密算法,解密算法的定義
密碼體制語法定義:
保密系統模型:
密碼分析與密碼設計:共生且互逆,密碼設計利用數學構造密碼,密碼分析依靠屬性,工程北京,語言學,經驗,統計,眼力,測試,直覺判斷能力。密碼分析包括分析、假設、推斷、證實。
理論安全性:一次一密加密體制
實際安全性(計算安全性):DES、AES、RSA理論上都可破譯。
密碼攻擊類型:唯密文破譯(難度最大),已知明文破譯,選擇明文破譯,選擇密文攻擊
密碼分析方法:窮舉攻擊法,數學攻擊法①差分密碼分析,②分析破譯法,物理攻擊法①側信道攻擊(能夠直接獲取密碼算法運算過程中間值信息,能夠分段恢復較長的密鑰)
密碼學基本數學知識:整數分解,模運算,有限域,歐幾里得算法,中國剩余定理,橢圓曲線。
整數分解:任意大於一的自然數都可以寫成素數乘積的形式(按從小到大)
試除法,二次篩選,橢圓曲線方法,數域篩法
模運算:求余運算:a=qn+r(0≤r<n)q=[a/n]
歐幾里得算法:求兩個整數最大公因子的快速算法
中國剩余定理:
序列密碼:原理描述,實現算法
分組密碼:明文編碼表示后序列分為m組,分別在密鑰k控制下變換成登場的輸出數字序列。
要求:分組長度足夠大,密鑰量足夠大,算法足夠復雜,加密解密簡單,易於軟硬件實現
數據無擴展,差錯傳播盡可能小
shannon密碼設計思想:擴散,隱蔽明文數字的統計特性;混淆,使作用與明文的密鑰和密文之間的關系復雜化。
公鑰密碼:提出思想,體制原理,方案,特點,安全性
解決了密鑰的發布和管理問題
RSA算法:費爾馬小定理,特點,安全性(基於模n分解的困難性)
Rabin公鑰密碼算法(依賴於模合數平方根困難問題)
ElGamal公鑰密碼算法(離散對數問題)
ECC(橢圓曲線公鑰密碼算法)橢圓曲線上的離散對數問題
國產密碼:
分組對稱:SM1,SM4,SM7,ZUC
非對稱:SM2,SM9
雜湊函數算法:SM3
2.3 密碼學新進展
身份基公鑰密碼
有效簡化了公鑰基礎設施中證書權威對用戶證書管理帶來的復雜密鑰管理問題。
1.身份基公鑰密碼
用戶公鑰可以以任意的比特串,用戶私鑰可以通過可信的第三方,即私鑰生成中心生成。
2.身份基加密
它包含四種算法
①系統建立算法
②密鑰提取算法
③加密算法
④解密算法
身份基加密機制框架
3.身份基簽名
它包含四種算法:
①系統建立算法
②密鑰提取算法
③簽名算法
④驗證算法
4.身份基公鑰密碼的優缺點
①無需公鑰證書
②無需證書機構
密鑰托管是身份基公鑰密碼的一個缺點。
2.3.2屬性基公鑰密碼
密鑰和密文都與一組屬性相關聯,加密者根據將要加密的消息和接收者的屬性構成一個加密策略,當屬性滿足時候才能解密
2.3.3同態密碼
同態加密是密碼學里一種特殊的加密模式,同態加密使我們可以將加密后的密文發給任意的第三方進行計算,並且在計算前不需要解密,即:在密文上進行計算。
1.同態密碼技術的應用
同態技術在該方面的應用可以使得用戶在雲環境下,充分利用雲服務器的計算能力,實現對明文信息的運算,而不會有損私有數據的私密性。
2.同態密碼技術的優缺點
同態密碼技術可以實現無密鑰方對密文的計算處理,密文計算無需經過密鑰方,既可以減少通信代價,又可以避免每一個密文解密后再計算而花費高昂計算代價,同時,對密文計算后機密的結果與明文進行同樣運算的結果一致,保證了計算的准確性。
2.3.4抗量子密碼
抗量子密碼是能夠抵抗量子計算機對現有密碼算法攻擊的 新一代密碼算法。
2.3.5輕量級密碼
輕量級密碼是密碼學的一個分領域,其目標是針對資源受限設備,經過定制或裁剪產生的密碼解決方案。
資源受限設備的應用領域包括:汽車系統、傳感器網絡、醫療設備、分布式控制系統、物聯網、信息物理系統以及智能電網等。
2.4 密碼學主要研究方向
密碼學是一門交叉性學科,與數學、物理學、系統科學、電子科學與技術、信息與通信工程、控制科學與工程、計算機科學與技術、網絡空間安全、軟件工程、軍隊指揮學 管理科學等一級學科均有交叉。 致力於密碼算法設計、密碼算法分析、密碼工程、密碼應用、密碼管理與安全防護等。
2.4.1密碼理論
1密碼基礎理論
2對稱密碼設計與分析
3公鑰密碼設計與分析
4密碼協議設計與分析
5新型密碼設計與分析
2.4.2密碼工程與應用
1.密碼芯片設計
2.密碼模塊設計
3.密碼技術應用
2.4.3密碼安全防護
1.密碼系統安全防護
2.抗攻擊安全防護
3.密碼系統測評
量子密碼
量子密碼學是量子物理學和密碼學的融合的一門學科,許多國家的人員都在研究它,而且在一定的范圍內進行了試驗。 離實際應用只有一段不很長的距離。 量子密碼體系采用量子態作為信息載體,經由量子通道在合法的用戶之間傳送密鑰。 量子密碼的安全性由量子力學原理所保證,它是使用量子的選擇來阻止信息被截取的方式。