Aes
XTS-AES 是 NIST 批准的防隨機誤用 AES 模式嗎?
如果我使用 XTS-AES 並將調整視為 nonce/IV,結果是否會被視為 nonce-misuse-resistant?
我正在考慮類似以下類似 AEAD 的方案:
enc(encKey, macKey, plaintext, aad): tweak = ... # 128 bits, generated like an IV or nonce # pad the plaintext to handle shorter-than-16-byte inputs # as well as determine the plaintext length after decryption a = AES-XTS(encKey, tweak, pad(plaintext)) b = tweak || a return b || MAC([aad, b], macKey)
調整衝突似乎只揭示了相同的明文是否使用相同的密鑰和相同的調整進行加密,這與我在這裡看到的 nonce-misuse-resistance 的定義相匹配,並且與Rogaway對 AES-SIV 屬性的描述不同,因為衝突是即使 AAD 不同,也很明顯。
我的動機是尋找 NIST 批准的抗隨機誤用方案。擁有許多現有的實現也是一個好處。
調整衝突似乎只揭示相同的明文是否使用相同的密鑰和相同的調整進行加密
實際上,XTS 會披露相關明文是否使用相同的密鑰/調整進行加密。具體來說,如果兩個明文對於塊 N 具有相同的值,那麼在加密之後(假設相同的密鑰/調整),密文對於塊 N 也將具有相同的值(從而洩露明文之間的關係)。即使明文的其他塊不同也是如此。這洩露的數據超出了“防止誤用”所允許的範圍