In the SHA-2 family, specifically SHA-256, there are functions called Sigma0 and Sigma1, which look like this:

Sigma0(b, c, d)
    Return (b & c) ^ (~b & d);

I don't really understand the logic or idea behind this. I looked on the internet a lot, but I couldn't find an answer to my question.

So does anybody know why they chose this specific function? Is it part of some secure block cipher or permutation algorithm? I couldn't find anything about the Ch and Maj online, nor what I'm asking now.

  • 1
    $\begingroup$ That is too deep. Check this question What makes SHA256 secure?. $\endgroup$ – kelalaka Dec 31 '19 at 16:53
  • $\begingroup$ Do you mean I have to find another place to ask? I don't really know any... $\endgroup$ – Ömer Enes Özmen Dec 31 '19 at 18:20
  • $\begingroup$ Not exactly, The functions are must be considered all together to achieve, the avalanche, confusion, and diffusion... $\endgroup$ – kelalaka Dec 31 '19 at 18:32
  • 2
    $\begingroup$ Analyze here $\endgroup$ – kelalaka Dec 31 '19 at 18:46
  • $\begingroup$ Thanks, so they are just build to be as random as possible and all of them together are "random enough", right? $\endgroup$ – Ömer Enes Özmen Jan 1 '20 at 9:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.