Encryption
具有輪班登記員的密碼回饋模式
有人可以向我解釋一下密碼回饋模式是如何工作的嗎?從我讀到的一些例子中,它的解釋中有一個移位寄存器,但有些例子沒有。是否有兩個版本的 CFB,有什麼區別?什麼是移位寄存器以及如何工作?
第一張圖片顯示了沒有移位寄存器的過程,第二張圖片使用了移位寄存器。
相關影片截圖:
此外,在 Wikipedia 上對 AES 的解釋中,它說四個步驟子字節、移位行、混合列和輪密鑰添加是在 14 個週期內完成的,對於 256 位密鑰。CFB 模式也是這種情況,還是僅適用於不同的操作模式?
首先解決最後一點:CFB 和 AES 並不是一回事。AES 是一種塊加密算法(加密單個數據塊,在 AES 的情況下為 128 位)。CFB 是一種操作模式,它定義瞭如何加密多個塊,並且與算法無關。無論中間的“加密”功能是什麼,CFB 的使用方式都是一樣的。
對於您的第一個問題..我首先要說我不知道第二張照片中發生了什麼;在手寫和縮寫符號之間,更不用說字面上的手了,我看不懂。
但是第一個要清楚得多。
對於每個塊…
- 使用 AES 算法(或正在使用的任何算法)對 IV 或先前的密文進行加密,以生成有效的密鑰流(如流加密算法)
- 目前的明文塊與密鑰流進行異或運算以生成密文
它基本上使用塊加密算法(AES)作為流加密算法。
很酷的一點是(使用密鑰)您可以輕鬆地從流中間解密任意數據 - 您所需要的只是前一個塊(或 IV)的密文,您可以對其進行加密和異或運算重新解密。但是你不能在中間加密新數據——改變一個塊會改變整個密碼的其餘部分。因此,它針對按順序加密和按任何順序解密進行了優化。
針對流密碼的典型攻擊也可能有效;例如,您沒有得到任何真正的完整性保護。有人可以對塊中的一個字節進行異或,以將其更改為他們控制的東西(儘管我懷疑這只能在最後一個塊中完成,否則它將改變密文的其餘部分)。
但是,是的,我認為第一個圖表非常簡單。不知道第二個在說什麼。。