What's the simplest algorithmWhat are some simple algorithms that …
- operatesoperate on a block of fixed size (or can be easily made to do so), i.e. the input block has a fixed size, e.g. 256 bit, and the output is a block of the same size
- isare reversible (so it can'tcan't be a hash function)
- satisfiessatisfy the strict avalanche criterion (SAC)
I'm not interested in any other cryptographic properties. It doesn't have to be a secure cipher. Name more than one
I use the word simple in a very general sense. I'm interested in anything that most engineers would call simple, easy to implement in software and/or hardware, although there is likely a correlation to well-defined measures like computational complexity.
I have considered AES or a hash function like SHA-256, which I believe exhibit a strong avalanche effect (not sure if they satisfy SAC), but a hash function is not reversible and AES seems unnecessarily complicated if you likedo not require the algorithm to be a secure cipher. I thought there must be something simpler. I could, of course, be mistaken.