網絡安全基礎(五)

1.AES算法與3DES算法的區別與聯繫?
正確答案:

區別:3DES算法軟件運行相對較慢。原始的DEA是20世紀70年代中期爲硬件實現設計的。沒有高效的軟件代碼。3DES
迭代輪數是DEA的3倍,因此更慢。DEA和3DES都使用64比特大小的分組。出於效率和安全原因,需要更大的分組。
AES和3DES等同或者更高的安全強度,並且效率有顯著提高。分組大小爲128比特的分組密碼。支持密鑰長度爲128、192
和256比特。所需存儲空間更少,軟硬件適配度更好,以及靈活性更高等。 聯繫:都是對稱加密算法。
預計3DES與高級加密標準(AES)將作爲FIPS批准的算法共存,並允許3DES逐步過渡到AES。最終AES將取代3DES,但是這個過程將花費很多年的時間。NIST預言在可預見的將來3DES仍將是允許政府的算法。

2.AES算法的加密算法基本步驟有哪些?爲什麼要從輪密鑰加開始?
正確答案:

AES對於加密和解密,密碼都是從輪密鑰加開始,接下來經過9輪迭代,每輪包含4個步驟,最後進行一輪包含3個步驟的第10輪迭代。
(1)只有輪密鑰加步驟使用了密鑰。因此,密碼在開始和結束的時候進行輪密鑰加步驟。對於任何其他步驟,如果在開始或者結束處應用,都可以在不知道密鑰的情況下進行反向操作,並且不會增強安全。相當於沒有作用。
(2)輪密鑰加步驟本身並不強大。另外3個步驟一起打亂了數據比特,但是因爲沒有使用密鑰,它們本身不提供安全。將這個密碼用於先對分組做異或加密(輪密鑰加)操作。再打亂這個分組(另外3個步驟),再做異或加密,依次類推。

3.隨機數列有哪些性質?應用中需要同時滿足這些性質嗎?
正確答案:

隨機數列有隨機性和不可預測性。
1).隨機性。隨機數列生成過程中要求這一系列數據在嚴格統計意義上來說是要隨機的。驗證一個序列數是否是隨機的標準:
均勻分佈:在一串比特序列中比特位的分佈要均勻。1和0出現的頻率必須大致相同。 獨立:在同一序列上,沒有一個數字能影響和干涉其他數字。
2).不可預測性:一些應用,例如相互認證和會話密鑰生成,並不要求數列是統計上隨機,但是這個數列上連續數位應該是不可預測的。在一個真正的隨機數列中,每一個數字在統計上將會獨立於其他數字,因此這個數字是不可預測的。

4.簡述真隨機數和僞隨機數區別與聯繫,並舉例說明它們的應用。
正確答案:

區別:僞隨機數:密碼應用程序通常利用了隨機數生成的算法技術,生成僞隨機數字。算法具有確定性的特點,因此產生的數列不具有統計上的隨機性,可再現。
真隨機數:真隨機數發生器將一個有效的隨機源作爲輸入端;這個源被稱爲熵源。一些源的結合,作爲一個算法的輸入端來產生隨機二進制數輸出。因此是不可再現的。
聯繫:它們產生出來的數列都可以通過很多合理的隨機性測試。

5.僞隨機數發生器PRNG和僞隨機函數( PRF)的區別與聯繫。
正確答案:

僞隨機數發生器:一種用來生產一個開路型(無需持續驅動)比特流的算法被稱爲PRNG。常見應用是作爲對稱流密碼的輸入。 僞隨機函數(
PRF):PRF被用來產生固定長度的僞隨機比特串。例如對稱的加密密鑰和隨機數。典型的PRF採用種子加上上下文中特定的值作爲輸入,如用戶名ID和應用程序ID,很多關於PRF的例子都貫穿全書。
除了產生的比特數不同,PRNG和PRF之間沒有區別。相同的算法能被雙方所應用。
兩者都需要一個種子,都必須呈現出隨機性和不可預測性,另外,一個PRNG應用程序也可以採用上下文特定的輸入。

6.密鑰流
正確答案:

密鑰輸入到一個僞隨機字節生成器,產生一個表面隨機的8比特數據流。如果不知道輸入密鑰,僞隨機流就不可預測的,而且它具有表面上隨機的性質。這個生成器的輸出稱爲密鑰流。
密鑰流應該儘可能地接近真隨機數流的性質。例如,1和0的數目應該近似相等。如果將密鑰流視作字節流,那麼字節的256種可能值出現的頻率應該近似相等。密鑰流表現得越隨機,密文就越隨機化,密碼破譯就越困難。

7.流密碼
正確答案:

流密碼連續處理輸入元素,在運行過程中,一次產生一個輸出元素。儘管分組密碼普遍得多,但對於一些特定的應用,使用流密碼更合適。典型的流密碼一次加密一個字節的明文,儘管流密碼可能設計成一次操作一個比特或者比字節大的單位。

8.什麼是一次一密?爲什麼流密碼只能一次一密?
正確答案:

兩個明文使用同一密鑰進行流密碼加密,密碼破譯會非常容易,因爲這兩個密文流進行異或,結果就是原始明文的異或值。如果明文是文本字符串、信用號或者其他已知其性質的字節流,密碼破解可能會成功。
在這裏插入圖片描述

A ⊕ B=C ⊕ D 若知道三個,第4個就可以算出來了。

9.3DES算法與RC4相比各有何優勢,在你開發的應用中,應該怎麼選擇它們之一。
正確答案:

分組密碼優點:可重複使用密鑰,但流密碼一次一密 如果僞隨機數生成器設計合理,對同樣的密鑰長度,流密碼和分組密碼一樣安全。
流密碼的主要優點:比分組密碼更快,且用更少的代碼。RC4能用僅僅幾行代碼實現。
選擇方法:對於需要加密/解密數據流的應用,比如在數據通信信道或瀏覽器/網絡鏈路上,流密碼也許是更好的選擇。
對於處理數據分組的應用,比如文件傳遞、電子郵件和數據庫,分組密碼可能更合適。

10.爲什麼一般的加密算法都可構造PRNG算法?請用DES算法構造一種PRNG算法,作圖描述。
正確答案:

加密算法加密一個數據可生成隨機數:如:計數器不同值加密可生成一些隨機數。 密碼算法起了一個隨機化輸入的作用,這也是密碼算法所需要的。
如:若一個對稱分組密碼產生了具有特定模式(非隨機化)的密文,那麼它能對密碼分析學有幫助。 因此,密碼算法能夠作爲PRNG的核心。
三種密碼算法經常被用來創造PRNG: 對稱的分組密碼;非對稱的密碼;散列函數和消息認證碼。

11.請用任意編程語言編程實現RC4算法。要求貼出程序源代碼,並展示加密解密實驗的截圖。
正確答案:

i,  j  =0while (true)
i = (i + 1) mod 256;
j = (j + S[i]) mod 256;
Swap  (S(i] ,  S[j]);
t = (S[i] + S[j]) mod 256;
k = S[t];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章