220 likes | 554 Views
5.2 現代串流加密法. 在現代串流加密法( modern stream cipher ) 中,加密和解密一次完成 r 個位元,我們有一個明文位元串流 P = p n … p 2 p 1 、一個密文位元 串流 C = c n … c 2 c 1 和一個金鑰位元串流 K = k n … k 2 k 1 ,其中 p i 、 c i 和 k i 是 r 位元的字組。. 注意. 5.2 現代串流加密法 ( 續 ). 本節討論主題 同步串流加密法 非同步串流加密法.
E N D
5.2 現代串流加密法 • 在現代串流加密法(modern stream cipher) 中,加密和解密一次完成 r 個位元,我們有一個明文位元串流 P = pn…p2p1、一個密文位元 串流 C = cn…c2c1和一個金鑰位元串流 K = kn…k2k1,其中 pi、ci 和 ki 是 r 位元的字組。
注意 5.2 現代串流加密法 (續) • 本節討論主題 • 同步串流加密法 • 非同步串流加密法 在現代串流加密法中,明文串流中的每個 r位元字組使用金鑰串流中的一個 r位元字組來加密,以產生密文串流中相對應的 r位元字組。
注意 5.2.1 同步串流加密法 在同步串流加密法中金鑰是和明文或密文獨立的。
範例5.17 • 在下列每個情況,單次密碼本的密文有什麼樣式? a. 明文是由 n 個 0 所組成。 b. 明文是由 n 個 1 所組成。 c. 明文是由交替的 0 和 1 所組成。 d. 明文是隨機的位元串。
範例5.17 (續) • 解法 a. 因為 0 ⊕ ki = ki,因此密文串流會與金鑰串流相同。如果金鑰串流是隨機的,密文也會是隨機的,密文不會保有明文的樣式。 b. 因為 1 ⊕ ki = ki , ki 是 ki 的補數,密文串流是金鑰串流的補數。如果金鑰串流是隨機的,密文也會是隨機的。同樣地,密文不會保有明文的樣式。
範例5.17 (續) c. 在這個情況下,密文串流的每個位元不是與金鑰串流的相對應位元相同就是其補數。因此,如果金鑰串流是隨機的,其密文也是隨機的。 d. 在這個情況下,密文必定是隨機的,因為兩個隨機位元的互斥或運算結果也是隨機位元。
範例5.18 • 建立一個具備五個記憶單元的線性回饋位移暫存器,其中 b5 = b4 ⊕ b2 ⊕ b0。 • 解法:如果 ci= 0,則 bi 在 bm的計算上是沒有作用的,這意味著 bi 沒有連接到回饋函數。如果 ci= 1,則 bi將參與 bm的計算。在這個範例中,c1和 c3是 0,因此我們只有三個連線,圖 5.24 顯示其設計。
範例5.19 • 建立一個具備四個記憶單元的線性回饋位移暫存器,其中 b4 = b1 ⊕ b0。假設種子是(0001)2,求出在 20 次轉變(位移)之後的輸出值。 • 解法:圖 5.25 顯示此設計並且使用該 LFSR 來加密。
範例5.19 (續) • 注意這個金鑰串流是 100010011010111 10001…,乍看之下像是一個隨機序列,但是如果經過 更多次轉變,可看出此序列是有週期的,如下所示,每 15 位元即重複一次︰ 從 LFSR 產生的金鑰串流是一個每 N 位元重複一次的虛擬亂數序列。
注意 5.2.1 同步串流加密法 (續) 一個LFSR的最大週期是2m − 1。
範例 5.20 • 範例 5.19 的 LFSR 其特徵多項式是 (x4 + x + 1),這是一個原根多項式。表 4.4(第四 章)顯示它是一個不可分解多項式,此多項式也整除 (x7 + 1) = (x4 + x + 1) (x3 + 1),表示 e = 23 − 1 =7。
注意 5.2.2 非同步串流加密法 • 在非同步串流加密法(nonsynchronous stream cipher)中,金鑰串流中的每個金鑰取 決於之前的明文或密文。 在非同步串流加密法中,金鑰取決於明文或密文。