Still need to test that the code results in correct values.
Note that this is not the completely optimal implementation, which splits the
data into 3 independent checksum which are then combined at the end. Still, it
is probably better than software and provides a framework where such an
optimization could be added later.
Running tinderbox now.