Check.echainiv: def of bend-osdev-aead@0.1.0.0 Import: import bend-osdev-aead@0.1.0.0/check.bend as Check Lines 182-185 of bend-osdev-aead@0.1.0.0/check.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-aead@0.1.0.0/check.bend&start_line=182&end_line=185 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/inst_cm.bend as CM import bend-osdev-crypto@0.1.0.0/hmac.bend as Hm import bend-osdev-aead@0.1.0.0/authenc.bend as Au import bend-osdev-aead@0.1.0.0/echainiv.bend as Ec def echainiv(+ak: B.Octets, +ck: B.Octets, +salt: B.Octets, +seq: B.Octets, +a: B.Octets, +p: B.Octets) -> String: +r = ec.key(ak, ck, salt) +c = Result.bind(&2, &2, Cr.CrError, Ec.AdEchainivKey, X.CmAesKey>, B.Octets, r, kk => Ec.AdEchainiv.seal(~Au.AdAuthencKey, ~X.CmAesKey, ~M.CmBlock, ~X.CmAes.encrypt, ~CM.CrBlk128.of_octets, ~CM.CrBlk128.to_octets, ~au.seal_k, kk, seq, a, p)) both(c, Result.bind(&2, &2, Cr.CrError, Ec.AdEchainivKey, X.CmAesKey>, B.Octets, r, kk => Result.bind(&2, &2, Cr.CrError, B.Octets, B.Octets, c, x => Ec.AdEchainiv.open(~Au.AdAuthencKey, ~X.CmAesKey, ~au.open_k, ~16n, kk, seq, a, x)))) Uses (18): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Result.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/authenc.bend&name=AdAuthencKey https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/check.bend&name=au.open_k https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/check.bend&name=au.seal_k https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/check.bend&name=both https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/check.bend&name=ec.key https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/echainiv.bend&name=AdEchainiv.open https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/echainiv.bend&name=AdEchainiv.seal https://jend.leeeet.dev/definition.txt?path=bend-osdev-aead@0.1.0.0/echainiv.bend&name=AdEchainivKey https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&name=CmAes.encrypt https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&name=CmAesKey https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend&name=CmBlock https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/crypto.bend&name=CrError https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/hmac.bend&name=CrHmacKey https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/inst_cm.bend&name=CrBlk128.of_octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-crypto@0.1.0.0/inst_cm.bend&name=CrBlk128.to_octets