def cr.ctr.next

bend-osdev-crypto@0.1.0.0 · modes.bend:266

import bend-osdev-crypto@0.1.0.0/modes.bend as Modes
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-crypto@0.1.0.0/stream.bend as St

266def cr.ctr.next(~K: Data, ~Blk: Data, ~enc: K -> Blk -> Blk, ~blk_of: B.Octets -> Maybe<&2, Blk>, ~blk_to: Blk -> B.Octets, buf: List<&2, U32>, +k: K, +ctr: List<&2, U32>) -> St.CrKsStep<CrCtrState<K>>:
267  match buf:
268    case Con{b, t}:
269      St.CrKsStep{b, CrCtrState{k, ctr, t}}
270    case Nil{}:
271      +ks = cr.ctr.block(~K, ~Blk, ~enc, ~blk_to, blk_of(B.Octets.of_list(ctr)), k)
272      St.CrKsStep{cr.head(ks), CrCtrState{k, cr.ctr.inc(ctr), cr.tail(ks)}}

Uses (11)

Used by (1)