天天看點

網絡資訊安全原理、密碼學相關知識點第三章與第四章 

目錄

目錄

第三章與第四章 

    1.  系統架構圖如下圖1:

    2.  對框圖的解釋

    3.  DES

    4.  AES

    5.  雜七雜八的

第三章與第四章 

    1.  系統架構圖如下圖1:

網絡資訊安全原理、密碼學相關知識點第三章與第四章 

圖1

    2.  對框圖的解釋

      ①對稱密碼也稱傳統密碼,它的特點是發送方和接收方共享一個密鑰,加密密鑰和解密密鑰相同。對稱密碼分為兩類:分組密碼(Block Ciphers)和流密碼(Stream Ciphers)。分組密碼也稱為塊密碼,它是将資訊分成一塊(組),每次操作(如加密和解密)是針對一組而言。流密碼也稱序列密碼,它每次加密(或者解密)一位或者一個位元組。但如果從發展階段來看,我們把計算機技術出現以前的對稱密碼稱為古典加密技術,把之後的對稱密碼稱為現代對稱加密技術。

      ②對稱密碼技術主要使用兩種技巧:代換和置換。

代換是将明文中的每個元素映射成另一個元素。置換是将明文中的元素重新排列。在20世紀70年代以前的加密技術都是對稱加密技術,并且隻使用了代換或者置換技巧(如最簡單的凱撒密碼)。這個時期的加密技術也稱為古典加密技術;在20世紀70年代以後出現的對稱加密技術(如DES、AES等)則同時使用了代換和置換兩種技巧。這兩個階段的加密技術還有一個典型差別:古典加密技術一般将加密算法保密,而現代的對稱加密技術則公開加密算法,加密算法的安全性隻取決于密鑰,不依賴于算法。非對稱密碼技術則産生于20世紀70年代。

      ③古典加密技術分為兩類:一類是單字母代換密碼,它将明文的一個字元用相應的一個密文字元代替。單字母代換密碼又分為單表代換密碼和多表代換密碼。單表代換密碼隻使用一個密文字母表,并且用密文字母表中的一個字母來代替一個明文字母表中的一個字母;另一類是多字母代換密碼(常見的有Playfair密碼和hill密碼),它是同時對多于一個字母進行代換,有利于隐藏字母的自然出現頻率。多表代換密碼是将明文消息中出現的同一個字母,在加密時不完全被同一個固定的字母代換,而是根據其出現的位置次序,用不同的字母代換。

      ④對密碼的攻擊方法有基于密碼算法性質的密碼分析和窮舉搜尋攻擊,而密碼分析方法有線性分析和差分密碼分析。線性分析是一種已知明文攻擊,是一種統計攻擊,它以求線性近似為基礎。通過尋找現代密碼算法變換的線性近似來攻擊。差分密碼分析在許多方面與線性密碼分析相似,它與線性密碼分析的主要差別在于差分密碼分析包含了将兩個輸入的異或與其相對應的兩個輸出的異或相比較。差分密碼分析也是一個選擇明文攻擊。差分密碼分析被公認為近年來密碼分析的最大成就。它的基本思想是:通過分析明文對的內插補點與密文對的內插補點的影響來恢複某些密鑰位。

      ⑤DES是第一個加密标準,它與古典加密技術不一樣,DES同時使用了代換和置換兩種技巧。用56位密鑰加密64位明文;

AES是用來取代DES的進階加密标準,其結構與DES不同,它是用128、192或者256位密鑰加密128位的分組;SM4是我國官方公布的第一個商用密碼算法,它是一種分組對稱密碼算法,用128位密鑰加密128位的分組;RC6是RSA公司送出給NIST的一個候選進階加密标準算法,其效率非常高;RC4是被廣泛使用的一種同步流密碼;在密碼學中的很多場合下都要使用随機數,安全的随機數應該滿足随機性和不可預測性;密鑰配置設定為通信的雙方發送會話密鑰。

    3.  DES

      1949年Shannon的論文《保密系統的通信理論》,标志着密碼學作為一門獨立的學科的形成。Shannon建議采用擴散(Diffusion)混淆Confusion)和乘積疊代的方法設計密碼。所謂擴散就是将每一位明文和密鑰的影響擴散到盡可能多的密文數字中。産生擴散的最簡單的方法是置換。混淆用于掩蓋明文和密文之間的關系。使得密鑰的每一個位影響密文的許多位,以防止對密鑰進行逐段破譯,并且明文的每一個位也應影響密文的許多位,以便隐蔽明文的統計特性。用代換方法可以實作混淆。混淆就是使密文和密鑰之間的關系複雜化。密文和密鑰之間的關系越複雜,則密文和明文之間、密文和密鑰之間的統計相關性就越小,進而使統計分析不能奏效。設計一個複雜的密碼一般比較困難,而設計一個簡單的密碼相對比較容易,是以利用乘積疊代的方法對簡單密碼進行組合選代,可以得到理想的擴散和混淆,進而得到安全的密碼。近代各種成功的分組密碼(如DES、AES等),都在一定程度上采用和展現了Shannon的這些設計思想。

      ①DES(Data Encryption Standard)是分組密碼的典型代表,也是第一個被公布出來的加密标準算法。現代大多數對稱分組密碼也是基于Feistel密碼結構的。

      ②DES的加密過程

      DES同時使用了代換和置換兩種技巧。它用56位密鑰加密64位明文,最後輸出64位密文。整個過程由兩大部分組成:一個是加密過程;另一個是子密鑰産生過程。

      加密過程如下:

      可分為如下的三部分。

      (1)64位明文經過初始置換被重新排列,然後分左右兩半,每半各32位。注意第一步隻是進行了位置變換,不涉及代換。

      (2)左右兩半經過16輪置換和代換疊代,即16次實施相同的變換,然後再左右兩半互換。在這裡要求熟悉每一輪的結構,如圖2。加密函數F是由每一輪的右半部分(即32位),與每一輪的子密鑰(48位)的異或,但是因為位數不同,是以要先進行處理,如圖3。先使用擴充置換E,将右半部分擴充為48位,然後與子密鑰異或輸出48位,然後再使用8個s盒壓縮成32位,再經過置換函數p,輸出32位的加密函數F。在加密函數計算過程中使用了8個S盒,S盒是DES保密性的關鍵所在,它是一種非線性變換,也是DES中唯一的非線性運算。S盒有6位輸入,4位輸出,是以48位即對應32位輸出。

網絡資訊安全原理、密碼學相關知識點第三章與第四章 

圖2

網絡資訊安全原理、密碼學相關知識點第三章與第四章 

圖3

      (3)互換後的左右兩半合并,再經過逆初始置換輸出64位密文。

      子密鑰産生過程如下:

      DES總共要16輪加密,,每輪加密密鑰都不同,是以需要産生16個48位的子密鑰,這些子密鑰由算法的56位密鑰産生。

主要包括置換選擇和循環左移。

    4.  AES

      美國國家标準技術研究所(NIST)(DES也是它公開征集)在1997年公開征集新的進階加密标準(Advanced Encryption Standards,AES),要求AES比3DES快而且至少和3DES一樣安全,并特别提出進階加密标準的分組長度為128位的對稱分組密碼,密鑰長度支援128位、192位和256位。

    5.  雜七雜八的

      ①一次一密是絕對安全的密碼,人們嘗試用流密碼來仿效一次一密密碼.

      ②一般情況下,密碼分析者可以得到密文,知道明文的統計特性、加密體制、密鑰空間其統計特性,但不知道加密截獲的密文所用的特定密鑰。這個假設稱為Kerckhoff假設。

      ③密碼攻擊類型

      ·唯密文攻擊(Ciphertext-Only Attack)。密碼分析者有一些消息的密文,密碼分析者知道的東西隻有兩樣:加密算法和待破譯的密文。

      ·已知明文攻擊(Known-Plaintext Attack)。密碼分析者除知道加密算法和待破譯的密文外,即還知道一定數量的明文和對應的密文。

      ·選擇明文攻擊(Chosen-Plaintext Attack)。密碼分析者知道加密算法和待破譯的密文,并且可以得到所需要的任何明文所對應的密文,這些明文和待破譯的密文是用同一密鑰加密得來的。

      ·選擇密文攻擊(Chosen-Ciphertext Attack)。密碼分析者知道加密算法和待破譯的密文,密碼分析者能選擇不同的被加密的密文,并可得到對應的解密的明文,即知道選擇的密文和對應的明文。解密這些密文所使用的密鑰與解密待破解的密文的密鑰是一樣的。這種攻擊主要用于公鑰密碼算法。

      ·選擇文本攻擊(Chosen Text Attack)。選擇文本攻擊是選擇明文攻擊和選擇密文攻擊的結合。密碼分析者知道加密算法和待破譯的密文,并且知道任意選擇的明文和它對應的密文,和任意的密文對應的明文。

繼續閱讀