def done_okm
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/kdf/proof.bend:75
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/proof.bend as Proof
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/kdf.bend as KDF
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/hkdf.bend as Spec
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/kdf/okm.bend as O
75
76def done_okm(+prk: List<&2, U32>, +info: List<&2, U32>, +len: Nat, +out: List<&2, U32>, +h: {KDF.expand(prk, info, len) == Done{out} : Result<&2, &2, KDF.KdfError, List<&2, U32>>}) -> {Spec.okm(prk, info, len) == out : List<&2, U32>}:
77 Equal.trans(List<&2, U32>, Spec.okm(prk, info, len), KDF.blocks(len, prk, info, Nil{}, 1), out,
78 Equal.sym(List<&2, U32>, KDF.blocks(len, prk, info, Nil{}, 1), Spec.okm(prk, info, len), O.okm_correct(prk, info, len)),
79 done_value(prk, info, len, out, Nat.is_le(len, 8160n), h))