def ad.ae.dgo

bend-osdev-aead@0.1.0.0 · aegis128.bend:181

import bend-osdev-aead@0.1.0.0/aegis128.bend as Aegis128
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

181def ad.ae.dgo(ys: List<&2, U32>, +sb: R.AdSbox, +r: AdAegisRun, acc: List<&2, U32>) -> AdAegisOut:
182  match ys:
183    case Nil{}:
184      AdAegisOut{r, ad.ae.rev(acc, Nil{})}
185    case Con{+y, t}:
186      +p = B.byte(U32.xor(y, ad.ae.zhead(r)))
187      ad.ae.dgo(t, sb, ad.ae.step(sb, r, p), Con{p, acc})

Uses (10)

Used by (5)