1

Would it be possible to find a correlation between the inputs of SHA 256 and it's outputs? More specifically, by using deep learning, would there exist a correlation between the inputs of an SHA 256 algorithm and it's expected output?

For example, given that A, B, C and D output a Has with certain characteristics, and given that we have a very big sample of data that has a combination of inputs and their outputs (labeled based on whether the output FITS into the characteristics or not), could a pattern be found so that in the future we could know which combination of inputs would give us an output that complies with said characteristics?

Thanks in advance!

1 Answers1

4

The output of hash functions is commonly indistinguishable from random (randomness of the output is not a direct requirement for secure hash functions); this is certainly the case for SHA-256. So trying to find any correlation between inputs should be impossible - if there is some kind of pattern on different inputs it was created by chance.

If you would find such a correlation then the hash function would be considered broken. Deep learning should therefore be considered another way of attacking the hash using machine learning, as the comment from SAI Peregrinus indicates.

An important note in this case is that Merkle Damgard constructions such as SHA-256 are susceptible to length extension attacks, which means that SHA-256 is not a random oracle. That won't help you finding a pattern in separate input messages so I don't think it should influence this answer.

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323