Original Post
I've been designing a general-purpose archive format that supports encryption, and am at the stage of implementing Block Cipher Modes of Operation. My question is, is it safe to use a data checksum (or part of it) as an Initialisation Vector? I ask because I am trying to avoid having fields that are not always used; for example, a separate "Initialisation Vector" field will become redundant for files that are not encrypted, or are encrypted but employ a Mode of Operation that does not require an Initialisation Vector, such as ECB (which I know is not recommended). [Edited by - WaterCrane on October 9, 2008 7:17:47 AM]