Book: Understanding Checksums and Cyclic Redundancy Checks


Amazon e-book:   (Also available from country-specific Amazon web sites for:  UK, DE, FR, ES, IT, NL, JP, BR, CA, MX, AU, IN).   See below for country-specific pointers. 

Paperback: (357 pages; color interior)
Hard Cover: (357 pages; premium color interior)


Description: This book gives practical, comprehensive answers to common questions about checksums and CRCs. Descriptions are based mainly on intuitive rather than mathematical explanations for both algorithmic operation and limitations, improving accessibility to non-specialists. Coverage includes single-sum checksums, dual-sum checksums (e.g., Fletcher checksum, DualX, DualXP), the new Koopman checksum, Cyclic Redundancy Checks (CRCs), and system-level usage considerations.

For decades much of the practical use of checksums and CRCs was based, at least in part, on folklore. This book provides a solid, comprehensive foundation for addressing core issues such as the comparative fault detection effectiveness of each technique, insight into speed differences, intuitive explanations for how speed-up techniques work, which CRC polynomial you should use for any particular situation, and source code examples for each approach.

This is the most comprehensive treatment of checksums and CRCs to date. The emphasis is on intuitive explanations and empirical validation of insights for practical application of these


  1. Introduction
  2. Decimal checksum examples
  3. Checksum operation and terminology
  4. Checksum fault model
  5. Single-sum checksums
  6. Dual-sum checksums (Fletcher, Adler, DualX)
  7. Koopman checksum
  8. Checksum plus parity for HD=4 (KoopmanP, DualXP)
  9. Cyclic Redundancy Check (CRC)
  10. CRC effectiveness
  11. Other checksum considerations
  12. System-level considerations
  13. Resources
  14. Conclusions
  15. Appendix: Good CRC Polynomials
  16. Glossary
Note: This is not intended to be a "cut-and-paste-the-code" book. Rather, it is an explanation for the what, how, and why of checksums. Generic source code in C is included as an educational resource. But if you are looking for a specific checksum code for a specific communication protocol, this book does not attempt to be a master dictionary of that essentially infinite topic.

Country-specific pointers:

E-book hints:
  • The e-book should view fine on a monochrome display. However, the book makes extensive use of color, so a color display will provide a better experience.
  • If images seem small or text spacing looks weird, consider switching to landscape orientation for that portion of the book.  (We have converted most space-sensitive text to images to avoid issues, but on small screens there can still be some sections where landscape just works better.)
  • On some e-book readers pop-up footnotes do not have URL links active. If you go to the "all footnotes" view the link will be there and will be active. This is a reader issue and not something that can be fixed in the e-book itself.
1st Edition Published 2024:
ISBN:   9798876380579            Trade Paperback
ISBN:   9798877107601            Hardcover
ISBN:   9798224117970             e-Book

Some links in this post are Amazon affiliate links. This means that, at zero cost to you, I will earn an affiliate commission if you click through the link and finalize a purchase.

No comments:

Post a Comment

Why To Avoid Hash Algorithms If What You Really Need Is A Checksum

Sometimes we hear that someone plans to use a hash function for fault detection instead of a checksum. This is probably not the best idea, b...