def chain

bend-collections-laws-crypto@1.0.0.0 · src/crypto/blake/blake2b/sized.bend:79

import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/sized.bend as Sized
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend as T
import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/blake2b.bend as B

79# The chaining value after every block: dd - 1 = (ll - 1) div 128 full blocks,
80# then the last one (RFC 7693 section 3.3).
81def chain(+nn: Nat, a: Array<U32>, +ll: Nat) -> T.Chain:
82  +n = Nat.div(Nat.sub(ll, 1n), 128n)
83  B.blocks(n, 0, Nat.sub(ll, Nat.mul(n, 128n)), T.C{0, 0, 0, 0}, (a, initial(U32.from_nat(nn))))

Uses (12)

Used by (3)