Aes

AES CTR 模式是否將標頭資訊儲存在加密文件中?

  • October 6, 2014

根據movable-type.co.uk網站,

在此實現中使用的“計數器模式”中,首先加密隨每個塊變化的計數器,然後將結果與明文塊按位異或以獲得密文塊(因此明文實際上並未直接加密)。計數器中包含一個唯一的“隨機數”,以確保每次加密時始終從相同的明文生成不同的密文;這個數字儲存在密文的頭部以啟用解密。自 1970 年 1 月 1 日以來的秒數、毫秒時間戳和亞毫秒隨機數的組合給出了非常有效的隨機數。(為了抵抗密碼攻擊,nonce 不需要是秘密的或不可預測的,但它必須是唯一的)。在這個實現中,初始塊在前 8 個字節中保存隨機數,

因此,它說*“隨機數儲存在密文中以啟用解密”*。每個 AES CTR 模式實現都是這樣嗎?如果我們想從中間解密某個塊,我們是否首先必須從前 8 個字節中提取 nonce,然後從後面的 8 個字節中提取塊計數?

我想問一下對於每個 AES CTR 模式實現是否都是這樣?

不必如此。您可以將 nonce 儲存在任何地方。您甚至可以通過不同的渠道將其發送給收件人(例如,通過電子郵件發送密文並使用 SMS 傳輸隨機數)。一開始就儲存它有它的優點。例如,如果流式傳輸數據,您可以立即開始解密。

如果我們想從中間解密某個塊,我們首先必須從前 8 個字節中提取隨機數,然後在後 8 個字節中提取塊數?

是的,如果你想解密中間的一個特定塊,你必須先提取隨機數,然後找出正確的計數器值應該是多少。然後就可以解密了。

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