I was reading a paper on the "elephant diffuser" used in BitLocker and it got me wondering how other systems (e.g. TrueCrypt before it shutdown) solved the problem the elephant diffuser was meant to solve; namely that there isn't enough space on a disk block to store an IV. Where is the IV stored in other systems or do they have alternative solutions?
2 Answers
The problem is not to store an IV but to store an authentication tag.
I don't know about any other products that solve this problem in a way similar to BitLocker. LUKS uses XTS by default, and TrueCrypt supported LRW and XTS, among other modes. Neither of these two modes provide any diffusion. Information about various modes for disk encryption is available here.
The IV is not stored in other systems. Apart from using XTS (which truecrypt uses), other disk encryption software typically use ESSIV to dynamically create a unique IV for each sector and this is what is used by bitlocker as well.. The initialization vector of the AES-CBC is determined by AES-ECB encrypting the sector offset with the FVEK. The sector offset is a 16-byte little-endian version of the offset of the sector relative from the start of the volume and this guarantees the uniqueness of the resulting iv. Diffuser targets a different problem..