def next_word
qasim-bend-kit@0.1.0.2 · proof/AES_TraceProof.bend:7
import qasim-bend-kit@0.1.0.2/proof/AES_TraceProof.bend as AESTraceProof
import Base
import qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend as Core
7def next_word(+i: U32, rcon: U32, +words: List<&2, U32>) -> U32:
8 previous = Core.aes_word_at(words, U32.to_nat(U32.sub(i, 1)))
9 back8 = Core.aes_word_at(words, U32.to_nat(U32.sub(i, 8)))
10 part = Core.aes_key_word_kind(previous, rcon, U32.is_eq(U32.mod(i, 8), 0), U32.is_eq(U32.mod(i, 8), 4))
11 U32.xor(back8, part)