/**
 * First compute CRC checksum 
 */

Divisor           : 10011
Dividend (message): 10101011
    10101011 / 10011  
101010110000 / 10011  // append n-1 zeros where n is the count of bits in the divisor
    10110110          // quotient
101010110000 / 10011
10011|||||||
-----|||||||
  11001|||||
  10011|||||
  -----|||||
   10101||||
   10011||||
   -----||||
     11000||
     10011||
     -----||
      10110|
      10011|
      -----|
        1010          // CRC checksum for 10101011 = 1010
        
/**
 * Find a collision by XORing the divisor with the dividend starting at some position.
 */

Divisor            : 10011
Dividend (before)  : 10101011
Dividend (after)   :  10011   
                     --------
                     11100111
    11100111 / 10011
111001110000 / 10011  // append n-1 zeros where n is the count of bits in the divisor
    1111011           // quotient
111001110000 / 10011   
10011|||||||
-----|||||||
 11111||||||
 10011||||||
 -----||||||
  11001|||||
  10011|||||
  -----|||||
   10101||||
   10011||||
   -----||||
     11000||
     10011||
     -----||
      10110|
      10011|
      -----|
        1010          // CRC checksum for 11100111 = 1010
                      // CRC checksum for 10101011 = 1010
                      //                             collision!