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
    Commented Dec 31, 2019 at 16:53
  • $\begingroup$ Do you mean I have to find another place to ask? I don't really know any... $\endgroup$ Commented Dec 31, 2019 at 18:20
  • $\begingroup$ Not exactly, The functions are must be considered all together to achieve, the avalanche, confusion, and diffusion... $\endgroup$
    – kelalaka
    Commented Dec 31, 2019 at 18:32
  • 2
    $\begingroup$ Analyze here $\endgroup$
    – kelalaka
    Commented Dec 31, 2019 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$ Commented Jan 1, 2020 at 9:27


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.