根據 CWE-329,非隨機 IV 允許字典攻擊的可能性。但是,在 AES 加密示例中,golang 文檔使用非隨機 IV:ciphertext := make([]byte, aes.BlockSize+len(plaintext))iv := ciphertext[:aes.BlockSize]這個實現安全還是我應該使用隨機函數來獲取我的 IV?
1 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
它是安全的,因為 IV 是從/dev/urandom默認情況下由操作系統提供的密碼安全偽隨機數生成器 (CSPRNG) 填充的。從ExampleNewCBCEncrypter函數:
iv := ciphertext[:aes.BlockSize]
if _, err := io.ReadFull(rand.Reader, iv); err != nil {
panic(err)
}
- 1 回答
- 0 關注
- 316 瀏覽
添加回答
舉報
0/150
提交
取消