Photo by Markus Spiske on Unsplash

SHAKE Stirs-up Crypto

--

When I teach cryptography, I normally define the hashing methods (MD5, SHA-1, SHA-256, and so on), the symmetric key methods (AES, 3DES, ChaCha20, and so on), and asymmetric key methods (ECC, RSA, ElGamal, and so on). And so I include SHA-3 as a hashing method, in the same old way I talk about MD5, SHA-1 and SHA-256. We feed in some data, and out pops a fixed-length hash signature.

But if you break SHA-3 away from its fixed-length output you get an Extendable Output Function (XOF). This now has the potential of producing an almost infinite set of outputs, and where we could thus take a single byte and produce an output of a billion bytes, or even take a billion bytes of input and produce a single byte output. In essence, it is a state generator, and with given inputs, we can reach a well-defined state. We can expose the state to anyone, as they will not know the secrets that allow us to take us to the previous and the next state.

A Hash Function: SHA-3

NIST held a competition for a hashing function to replace SHA-1 and SHA-2, and select Keccak as the winner. It has since been defined as SHA-3. The following are test vectors for “abc” [Test vectors][Sample]:

SHA-3-224	e642824c3f8cf24a d09234ee7d3c766f c9a3a5168d0c94ad 73b46fdf
SHA-3-256 3a985da74fe225b2 045c172d6bd390bd 855f086e3e9d525b 46bfe24511431532
SHA-3-384…

--

--

Prof Bill Buchanan OBE FRSE
ASecuritySite: When Bob Met Alice

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.