title: How to improve accuracy of Rabin Fingerprint
body: <p>The following contains a very fast and elegant Java implementation of Rabin's Fingerprint 
  <a href="https://github.com/themadcreator/rabinfingerprint" rel="nofollow">https://github.com/themadcreator/rabinfingerprint</a></p>
  
  <p>However, the largest polynomial that may be used in the optimized implementation is 54 bit.</p>
  
  <p>I want to reduce the probability of error.</p>
  
  <p>Rabin [1] suggests two ways to lower the probability of error:
  • The probability of a wrong output will be lowered by increasing the value of k. This
  will require a larger word-length.
  • The probability can also be lowered by using two different irreducible polynomials
  P1(t) and P2(t) of the same degree k. The algorithm is then run twice by interleaving
  steps, one time with P1(t) and another time with P2(t). Since the error probabilities
  are independent ....
  (from CMPUT690 Term Project)</p>
  
  <p>If I run the algorithm twice, how do I combine the 2 fingerprints without undermining my objective to reduce the probability of error?</p>
  
  <ul>
  <li>simply add or multiple the 2 fingerprints?</li>
  <li>use the output of the first run as the base fingerprint of the second run?</li>
  </ul>
  
  <p>It is not clear to me what "interleaving steps are".  I need to save the fingerprint as a 64 bit long number.</p>
  
  <p>Thanks.</p>