law incremental512

bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/hash/incremental.bend:652

import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/hash/incremental.bend as Incremental
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/sha512/core.bend as C512
import bend-collections-laws-crypto@1.0.0.0/src/crypto/hash.bend as H

652# digest(update_all(new, chunks)) is the padded block loop over concat(chunks).
653law incremental512:
654  for +cs: List<&2, List<&2, U32>>
655  {H.digest(H.update_all(H.new_sha512(), cs)) == C512.digest_bytes(C512.blocks(C512.lanes(List.append(&2, U32, List.concat(&2, U32, cs), C512.suffix(List.length(&2, U32, List.concat(&2, U32, cs))))), 64n, C512.round_constants(), C512.initial())) : List<&2, U32>}

Uses (27)

Used by (1)