Which bitwise operations are used in SHA-256? From the wikipedia entry on SHA-256 I'm a bit confused about which operations actually go into the algorithm. From the pseudo code it appears the operations are $\texttt{xor}$, $\texttt{and}$, rotate, shift, and addition. But further down it says that $\texttt{or}$ also goes into the algorithm. This description (p 5-6) makes no mention of $\texttt{or}$.

So, which is it?
The functions used by SHA-2, called $Ch$ and $Maj$ are defined like this in the standard:

$$Ch(x, y, z)  = (x \land y) \oplus (\lnot x \land z)$$
$$Maj(x, y, z)  = (x \land y) \oplus (x \land z) \oplus (y \land z)$$

However, an equivalent way to define them replaces the XOR with OR, as the standard (pdf) states:


  Each of the algorithms include $Ch(x, y, z)$ and $Maj(x, y, z)$ functions; the exclusive-OR operation ($\oplus$) in these functions may be replaced by a bitwise OR operation ($\lor$) and produce identical results.


Of course, any functionally complete set of operators is sufficient to implement the functions, but at least some implementations (e.g. PyPy) do elect to use OR here.