The new goal now is to utterly maximise the Hamming distance, that is: amplify the avalanche of an error.
A typical crypto hash requires that one flipped bit at the input will avalanche to half of the output bits, and I hope to reach at least 18/2 = H9. But ideally it should be "most bits", which is theoretically difficult though (pigeonhole principle, etc.)
The other difference with a hash is that it must be trivially reversible.
We already have one suitable structure with the "Gray Parity" (GrayPar) circuits but this is not enough.
Playing with the transition minimisation (TMDS) circuit (see 26. Bidir PEAC+ParPop) provides another"high avalanche" structure, which is its own inverse:

However the properties are different (the mixing is controlled by only one input) and this must be mixed with the GrayPar structure for better avalanche of all the bits.
I have chosen to keep the 5+5+5+3 configuration as a compromise between fanout and avalanche, at least 3 layers are then required. Ideally the "flip bit" input would be controlled by the "tip of the V" of a preceding GrayPar...
So I'm working on that circuit now.
The "trick" is to start from the end, at the decoder, maximising avalanche and then mirroring the circuits for the encoder.
Yann Guidon / YGDES
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.