By definition of self-synchronising cipher, if part of the ciphertext is lost (e.g. due to transmission errors), then the receiver will lose only some part of the original message (garbled content), and should be able to continue to correctly decrypt the rest of the blocks after processing some amount of input data. Only if a whole blocksize of ciphertext is lost, both CBC and CFB will synchronize, but losing only a single byte or bit will permanently throw off decryption. [Wikipedia]

I dont understand the last sentence. Isnt it the same, if there is a hole block wrong(or lost) or just a bit ? After 2 decryptions its not important if there was a error or not ?!

  • 2
    $\begingroup$ My guess: Single bit = Single bit unrelieable. Byte error = byte missing = block boundary miss-alignment. $\endgroup$
    – SEJPM
    Commented Feb 21, 2017 at 23:45

1 Answer 1


SEJPM seems to guess right. If you'd loose a bit or byte then the ciphertext after that won't be aligned correctly and you would not be able to decrypt to the original plaintext.

You could of course try and guess the value and contents of the bits and try again - if that's not too hard to brute force. But that would even be tricky with CFB as CFB doesn't output precisely x times the block size as output. In other words, you would need to know the size of the ciphertext in advance to detect that a bit or byte is missing.

Note that most communication protocols have checksums so that you would normally not lose a single bit or byte. Furthermore, ciphertext is often protected by an authentication tag so that integrity and authenticity of the ciphertext is assured.

You could use advanced methods such as PAR2 over the ciphertext if you're afraid of loosing data.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.