def aes.temp
import bend-osdev-cipher-modes@0.1.0.0/aes.bend as Aesimport Base
164# temp from w[i - 1], for word i
165def aes.temp(first: Bool, +i: Nat, +nk: Nat, +w: U32) -> U32:
166 match first:
167 case True{}:
168 U32.xor(aes.sub_word(aes.rot_word(w)), U32.shln(aes.rcon(Nat.div(i, nk)), 24n))
169 case False{}:
170 aes.temp.big(Bool.and(Nat.is_lt(6n, nk), Nat.is_eq(Nat.mod(i, nk), 4n)), w)