Aes
帶有 ESSIV 的 AES-256 CTR,這是正確的嗎?
我在 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)。