def xts.steal_c.go
bend-osdev-cipher-modes@0.1.0.0 · xts.bend:111
import bend-osdev-cipher-modes@0.1.0.0/xts.bend as Xts
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M
111def xts.steal_c.go(~K: Data, ~enc: K -> M.CmBlock -> M.CmBlock, partial: Bool, +k: K, p: M.CmBlock, +tail: List<&2, U32>, +t: M.CmBlock) -> M.CmBlock:
112 match partial:
113 case False{}:
114 xts.benc(~K, ~enc, k, p, t)
115 case True{}:
116 +cc = M.cm.bytes_of(xts.benc(~K, ~enc, k, p, t))
117 xts.benc(~K, ~enc, k, M.cm.block_of(B.append(tail, B.drop(B.len(tail), cc))), Xts.mul_alpha(t))