LDS → SignedAttrs
This step needs to do/check the following:
DG1SHA-digest is indeed inside the correct place inLDSLDSis SHA-digested and is propogated to the next step.
Since LDS can be large enough to SHA-digest in a single circuit, we are making use of our multi-circuit digest to SHA-digest it.
We prepare:
- 0 or more update circuits with full blocks
- 1 finalize circuit with a dynamically-sized block
- The actual
LDSvalidation circuit described below.
The carry of the digest is the Poseidon-digest of SHA-digest of DG1, which is checked against previous step's out.right, by Poseidon-digesting the input SHA-digest or DG1.
Implicit Variance
There needs to be a separate circuit for each SHA variant.
| sha-224 | |
| sha-256 | ✔️ |
| sha-384 | |
| sha-512 | ✔️ |
Private Inputs
| Input | Type |
|---|---|
DG1 SHA-digest | Bytes |
DigestState | DigestState |
LDS | DynamicBytes |
Public Output
| Left | Right |
|---|---|
Poseidon-digest of the last DigestState | Poseidon-digest of SHA-digest of LDS |