Aes

帶有 ESSIV 的 AES-256 CTR,這是正確的嗎?

  • June 16, 2020

我在 CTR 模式下使用 AES-256 加密磁碟時遇到了一些問題,使用 ESSIV iv 生成(我知道有幾個缺陷,儘管這種模式現在就足夠了)。我這裡有:

S = SHA256(K), result 32 bytes
K = original key, 32 bytes
SN = sector number, 16 bytes
E = AES-256 CTR
IV2 = generated iv, 16 bytes

我在做什麼:

IV2 = E(data=SN, key=S, iv=SN)
decrypted_data = E(data=encrypted_data, key=K, iv=IV2)

在幾個來源(例如這裡:https : //is.muni.cz/th/vesfr/final.pdf)中,我知道對於 ESSIV 生成,我應該使用與主解密/加密完全相同的分組密碼。但是,我得到了錯誤的結果。這是正確的方法嗎?

謝謝。

在我的情況下,IV 似乎應該在 ECB 模式下使用 AES-256 生成。

ESSIV_IV = E(data=SN, key=HMAC(KEY))

其中 E 是 AES-256 ECB,SN 是磁碟數據的扇區號,擴展為 16B(用零填充),KEY 是 32B 長的加密密鑰(HMAC = SHA-256)。

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