Instruction sequence expressions for the secure hash algorithm SHA-256
This work provides a formal algebraic representation of SHA-256 for cryptographic or theoretical analysis, but it is incremental as it applies an existing method to a specific function.
The authors tackled the problem of representing SHA-256 as finite instruction sequences for bit strings of any length, using uniform terms from an algebraic theory to describe these sequences.
The secure hash function SHA-256 is a function on bit strings. This means that its restriction to the bit strings of any given length can be computed by a finite instruction sequence that contains only instructions to set and get the content of Boolean registers, forward jump instructions, and a termination instruction. We describe such instruction sequences for the restrictions to bit strings of the different possible lengths by means of uniform terms from an algebraic theory.