def CrKbkdf.counter_kdf

bend-osdev-crypto@0.1.0.0 · kbkdf.bend:113

import bend-osdev-crypto@0.1.0.0/kbkdf.bend as Kbkdf
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-crypto@0.1.0.0/crypto.bend as Cr

113# K_OUT of n bytes in counter mode over the MAC (~K, ~key, ~compute) with
114# hlen-byte tags, an r = 8 rlen bit counter and an llen-byte [L]_2
115def CrKbkdf.counter_kdf(~K: Data, ~key: B.Octets -> Result<&2, &2, Cr.CrError, K>, ~compute: K -> B.Octets -> B.Octets, ~hlen: Nat, ~rlen: Nat, ~llen: Nat, ki: B.Octets, label: B.Octets, context: B.Octets, +n: Nat) -> Result<&2, &2, Cr.CrError, B.Octets>:
116  +max = Nat.sub(Nat.pow(2n, Nat.mul(8n, rlen)), 1n)
117  cr.kb.checked(~K, ~compute, ~rlen, cr.kb.fits(hlen, llen, n, max), key(ki), CrKbkdf.fixed(~llen, label, context, n), n)

Uses (10)

Used by (4)