> The paper on braided CRCs is in the zlib distribution: doc/crc-doc.1.0.pdf Thanks for a tip, I read that and now it's bit clearer to me. Maybe it is slightly faster, but I wouldn't bet dollars against nuts it's exact in my case as 7zip-crc also uses slice-by-8 algorithm and is actually faster. Despite that the question is how do I use zlib crc32()? It doesn't give me correct result. My 'rig' is this: ~~~ crc = -1 while (buffer, length = read_data()):     {     crc = crcfunc(crc, buffer, length)     } crc = ~crc ~~~ This doesn't work with `crc32_z();'