Re:Maybe Skip SHA-3
by baby on Wednesday May 31, 2017 @07:18PM
(#14456678)
Indeed, the whole permutation is invertible and I'm not sure why either.
[ Parent
| on HN ]
Permutations are always invertible. Otherwise several different inputs will be mapped to the same output, which needlessly reduces your state space.
The inverse is also required for decryption: If you encrypt as ciphertext = permutation(plaintext + key), decryption is plaintext = inverse(ciphertext) - key.
My question is why does Keccak not use a one-way function instead of a permutation.
> The inverse is also required for decryption: If you encrypt as ciphertext = permutation(plaintext + key), decryption is plaintext = inverse(ciphertext) - key.
This is not how encryption/decryption works with Keccak. Keccak is used to create a stream (it is then XORed with the plaintext or ciphertext).