Encryption

AES 分組密碼操作模式

  • October 8, 2013

有一個項目,我必須使用 VHDL 中的 128 位標準 AES 塊來實現加密/解密結構,我想我有點困惑。所以我想問一些關於AES及其操作模式的問題。

  1. 當我們說我們使用 128 位密鑰時,是否意味著數據輸入的大小是 128 位?一般block size可以小於key嗎?
  2. 一個塊接收一個明文。同一個塊什麼時候可以接收到新的明文?
  3. 如何執行每種模式來製作一個加密資訊的系統(並行順序)?我認為在 NIST 出版物中清楚地說明了哪些模式可以流水線化或不流水線化。雖然,我被要求尋找新的表現方式。我能做些什麼?請幫忙。
  1. AES 有一個 128 位的塊大小,週期。有效的密鑰大小為 128、192 和 256 位。
  2. 我不確定你的意思是什麼,“塊”是一組 128 位的數據,作為密碼的輸入和輸出,它不接收任何內容。請修改問題的那部分,我會調整我的答案。
  3. CTR、OCB 和 ECB 是我所知道的唯一可以在彼此獨立的塊上執行加密的模式。CTR 是快速安全實施的明顯選擇,可將分組密碼轉換為流密碼。OCB 是基於 ECB 建構的更複雜的模式,其中輸入塊和密碼輸出都使用從 nonce 生成的遞增計數器進行修改,並提供 1-pass 身份驗證。
  1. AES的輸入大小僅為128 位。當我們為 AES 使用 192 位或 256 位密鑰時,輸入的塊大小為 128 位,並且不取決於密鑰的長度。
  2. 真正的問題尚不清楚。細化。
  3. 轉到我想補充的以前的答案,有 AES 的 CBC 模式。在 CBC 模式下,每個明文塊在加密之前都與前一個密文塊進行異或運算。這樣,每個密文塊都依賴於到該點處理的所有明文塊 That is why we can't use parallel computing。為了使每條消息唯一,必須在第一個塊中使用初始化向量。

引用自:https://crypto.stackexchange.com/questions/10858