def dec_enc_out

bend-osdev-aead@0.1.0.0 · PROOF.bend:276

import bend-osdev-aead@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-aead@0.1.0.0/aesround.bend as R
import bend-osdev-aead@0.1.0.0/aegis128.bend as G

276def dec_enc_out(xs: List<&2, U32>, +sb: R.AdSbox, +r: G.AdAegisRun) -> {B.mask(xs) == G.ad.ae.dout(G.ad.ae.eout(xs, sb, r), sb, r) : List<&2, U32>}:
277  match xs:
278    case Nil{}:
279      {==}
280    case Con{+x, t}:
281      %byte_xx(x, G.ad.ae.zhead(r)) : {Con{B.byte(x), B.mask(t)} == Con{_, G.ad.ae.dout(G.ad.ae.eout(t, sb, G.ad.ae.step(sb, r, B.byte(x))), sb, G.ad.ae.step(sb, r, _))} : List<&2, U32>}
282      %dec_enc_out(t, sb, G.ad.ae.step(sb, r, B.byte(x))) : {Con{B.byte(x), B.mask(t)} == Con{B.byte(x), _} : List<&2, U32>}
283      {==}

Uses (11)

Used by (1)