def cr.vm.kdf
import bend-osdev-crypto@0.1.0.0/vmac.bend as Vmacimport Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
141# the first n bytes of the KDF for index
142def cr.vm.kdf(~K: Data, ~Blk: Data, ~bsize: Nat, ~enc: K -> Blk -> Blk, ~blk_of: B.Octets -> Maybe<&2, Blk>, ~blk_to: Blk -> B.Octets, +k: K, +index: U32, +n: Nat) -> List<&2, U32>:
143 B.take(n, cr.vm.kdf.go(~K, ~Blk, ~bsize, ~enc, ~blk_of, ~blk_to, Nat.add(Nat.div(n, bsize), 1n), k, index, 0))