Characteristics of an Initialization Vector
- by Jamie Chapman
I'm by no means a cryptography expert, I have been reading a few questions around Stack Overflow and on Wikipedia but nothing is really 'clear cut' in terms of defining an IV and it's usage.
Points I have discovered:
An IV is pre-pended to a plaintext message in order to strengthen the encryption
The IV is truely random
Each message has it's own unique IV
Timestamps and cryptographic hashes are sometimes used instead of random values, but these are considered to be insecure as timestamps can be predicted
One of the weaknesses of WEP (in 802.11) is the fact that the IV will reset after a specific amount of encryptions, thus repeating the IV
I'm sure there are many other points to be made, what have I missed? (or misread!)