2010-08-04 308 views
1

我正在編寫使用AES加密/解密文件的小程序。我正在使用Cryptopp庫。使用AES加密/解密

我需要幫助來了解一些事情。

當我正在加密文件時,我應該在文件的開頭寫入IV來稍後解密它?

我不想檢查密碼給出的解密文件是否正確。我應該:

  • 在加密之前在文件的開頭放置一些字符串(例如TRUE)。解密後檢查它。

  • 在加密前檢查文件的MD5。把它放在加密文件的開頭。在解密之前閱讀MD5,解密文件,檢查解密文件的MD5並比較它們。

回答

1

在文件開頭寫入IV是好的。追加到另一個選項是結束。

不要把一個靜態字符串放入明文:ENIGMA由於非常類似的原因,成績單更容易被打破,並且zip format使得暴力強制密碼very easy出現這個相同的錯誤。

md5方法聽起來可以忍受;但hmac-sha256將提供更強大的完整性聲明。 (我認爲你甚至可以重複使用AES密鑰或hmac-sha256的IV,但我對它的安全性不積極。)