That's correct. If you look at the workflow (http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29) you'll realize that you can't skip intermediate blocks when decrypting.
Regards, Torsten Am 18.01.2013 16:02, schrieb Chris Hacking:
I believe this depends on the mode of operation… some modes, like CTR, should be able to skip ahead, while I believe that others (like CBC) cannot. In effect, each previous block acts an initialization vector for the next one. Incidentally, if you’re using hardware that supports crypto in silicon (the latest generation of CPUs, for example), you’ll get much better speed than any software implementation can give you, especially in a managed language (a C/C++ implementation might use inline assembly to call the hardware-accelerated functionality, but C# can’t do that). *From:*Ray Kelly [mailto:vbisb...@yahoo.com] *Sent:* Friday, 18 Jan 2013 5:39 AM *To:* dev-crypto-csharp@bouncycastle.org *Subject:* [dev-crypto-csharp] Help with CFB8, Skipping Bytes I am working on a project using bouncycastle in c#. Speed is crucial to what I am doing (every millisecond counts). I have a CFB8 stream using AesFastEngine/No Padding. I have specific chunks that I do not care about decrypting. I would like to know if there is any way to not decrypt a chunk of data in the middle of my stream. So for instance: 100 bytes comes in, decrypt it 20,000 bytes comes in, do NOT decrypt it 100 bytes comes in, decrypt it In this scenario now, the 3rd chunk does not decode properly unless I decode the 2nd chunk. I am pretty sure this is proper behavior, but I am wondering if there is any way to code around this or get the cipher back on track again. Thanks for your help! Ray