As a follow-up to #179, things that we can improve in the SHA-512 implementation:
- The
Add operation does not need to range check the inputs since we can assume they are bytes (either as an XOR result or because they come from the ZKVM) (comment)
- Use an
Add4 gadget that accepts 64-bit words (comment)
- Use a garbage-in/garbage-out approach for the
i iteration counter. Technically, the circuit does not need to range-check the i values since the sha-512 lib will set up the right values and we can assume they are correct. If they are incorrect, you get a garbage result, but we don't need to explicitly check it. (comment)
As a follow-up to #179, things that we can improve in the SHA-512 implementation:
Addoperation does not need to range check the inputs since we can assume they are bytes (either as an XOR result or because they come from the ZKVM) (comment)Add4gadget that accepts 64-bit words (comment)iiteration counter. Technically, the circuit does not need to range-check theivalues since the sha-512 lib will set up the right values and we can assume they are correct. If they are incorrect, you get a garbage result, but we don't need to explicitly check it. (comment)