def aes_ctr

bend-osdev-crypto@0.1.0.0 · check.bend:206

import bend-osdev-crypto@0.1.0.0/check.bend as Check
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
import bend-osdev-cipher-modes@0.1.0.0/aes.bend as X
import bend-osdev-crypto@0.1.0.0/crypto.bend as Cr
import bend-osdev-crypto@0.1.0.0/stream.bend as St
import bend-osdev-crypto@0.1.0.0/modes.bend as Md
import bend-osdev-crypto@0.1.0.0/inst_cm.bend as CM
import bend-osdev-crypto@0.1.0.0/inst_aes.bend as A

206# CTR-AES as a stream cipher through the stream interface
207def aes_ctr(+k: B.Octets, +iv: B.Octets, m: B.Octets) -> Result<&2, &2, Cr.CrError, B.Octets>:
208  St.CrStream.crypt(~Md.CrCtrState<X.CmAesKey>, ~St.CrXorOut<Md.CrCtrState<X.CmAesKey>>, ~Md.CrCtr.start(~X.CmAesKey, ~16n, ~A.CrAes.key_enc), ~Md.CrCtr.update(~X.CmAesKey, ~M.CmBlock, ~X.CmAes.encrypt, ~CM.CrBlk128.of_octets, ~CM.CrBlk128.to_octets), ~St.CrXor.out_data(~Md.CrCtrState<X.CmAesKey>), k, iv, m)

Uses (15)

Used by (2)