A Boolean Circuit for SHA-256

As part of the implementation of our zero-knowledge contingent service payment protocol, we produced an efficient boolean circuit for SHA-256. The format of our circuit is the same as the one used in the Bristol circuits. The Bristol page does contain a SHA-256 circuit. However, our circuit was optimized to have far fewer AND gates. We share it here as we think it may be useful in general.

 

 

  File No. ANDs No. XORs No. INVs
Our circuit sha256Final.txt 22,272  91,780 2,194
Bristol circuit sha-256.txt 90,825 42,029 103,258