I'm looking for a file encryption library under .NET. It needs to be able to seek so CryptoStream is out of question. (I know it inherits a Seek method but it's not implemented.)
I need to seek because my application deals with large files in a non-sequential order. I also need to read and write the files at the same time.
I know that most of the time CBC is used for file encryption but seeking (and writing) is impossible using it. But somehow full disk encryption softwares like TrueCrypt and BitLocker manage to use it like that. (Edit: TrueCrypt doesn't use CBC any more, they moved to LRW then to XTS. My point is that it's possible.)
This is a hobby project so I'm interested in free libraries. Also it doesn't matter if it only supports .NET 4.
Edit: Bouncy Castle isn't good because it's CipherStream can't seek just like .NET's CryptoStream.