title: Explanation of Self-healing property of CBC (Cipher Block Chaining)
body: <p><strong>Wikipedia</strong>: </p>
  
  <blockquote>
    <p>CBC mode has the self-healing property:  if one block of the cipher is
    altered, the error propagates for at most two blocks.</p>
  </blockquote>
  
  <p><strong>Made up Example:</strong></p>
  
  <p>Let the block size be 64 bits. The original plaintext is:</p>
  
  <pre><code>3231343336353837  3231343336353837  3231343336353837  • • •
  </code></pre>
  
  <p>The correct cipher text is:</p>
  
  <pre><code>ef7c4bb2b4ce6f3b  f6266e3a97af0e2c  746ab9a6308f4256 • • •
  </code></pre>
  
  <p>If the ciphertext is corrupted, with the byte <code>'0x4b'</code> changed to <code>'0x4c'</code>: </p>
  
  <pre><code>ef7c4cb2b4ce6f3b  f6266e3a97af0e2c  746ab9a6308f4256  • • •
  </code></pre>
  
  <p>Then it is decrypted to:</p>
  
  <pre><code>efca61e19f4836f1  3231333336353837  3231343336353837  • • •
  </code></pre>
  
  <p><strong>Question:</strong></p>
  
  <p>I am having hard time understanding the self-healing property of CBC (Cipher Block Chaining), I thought that a made up example might help but I am now more confused. Any help would be great.</p>