Core Concepts
This paper introduces a new single-sum modular checksum algorithm that provides better fault detection properties than traditional single-sum and dual-sum modular addition checksums, while being simpler to compute efficiently than a cyclic redundancy check (CRC).
Abstract
The paper presents a novel checksum algorithm called the Koopman checksum that offers improved fault detection capabilities compared to existing modular addition checksums. The key idea is to compute a single running sum, but introduce a left shift by the size (in bits) of the modulus before performing the modular reduction after each addition step. This approach provides a Hamming Distance (HD) of 3 for longer data word lengths than dual-sum approaches such as the Fletcher checksum, while only requiring a single running sum that is twice the size of the final computed check value.
The paper analyzes the algorithm in detail, explaining how it mitigates the HD=2 vulnerability of large-block single-sum checksums by avoiding the use of the lowest bits of the block in the modular reduction. It also introduces an efficient iterative approach to performing the modular reduction operation on an unbounded length data word, requiring only a 2*k bit unsigned division producing a k-bit remainder for each k-bit block processed.
The paper identifies good moduli choices for 8-bit, 16-bit, and 32-bit Koopman checksums, providing HD=3 capabilities up to 13 bytes, 4092 bytes, and 134 million bytes, respectively. It also presents a hybrid Koopman+parity variant that achieves HD=4 for approximately half the length of the HD=3 Koopman checksum.
The Koopman checksum offers a new point in the checksum tradeoff space, providing better fault detection than traditional checksums with moderate computational cost and complexity, making it suitable for applications where a CRC is too complex or slow.
Stats
The paper does not contain any explicit data or statistics. It focuses on describing the Koopman checksum algorithm and analyzing its fault detection capabilities.