Buzhash Table does not always have an equal distribution of ones and zeroes for each position
To prevent fingerprinting by a content size, the buzhash table uses a completely random values for the lookup table, which is a good approach. The problem with this approach is, that an equal amount of zeroes and ones for each bit position in the table is not guaranteed this way, but according to original Buzhash documentation it is needed. Borg also notes this and casync uses a static table that satisfies this condition . I can write a MR later this week that makes sure that the table is evenly distributed.
Another thing which could be a problem is that the random numbers are generated by a seeded SmallRng. The rust random books says that SmallRng should be avoided for reproducible results