Aes.aes.rounds: def of bend-osdev-cipher-modes@0.1.0.0 Import: import bend-osdev-cipher-modes@0.1.0.0/aes.bend as Aes Lines 114-122 of bend-osdev-cipher-modes@0.1.0.0/aes.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&start_line=114&end_line=122 import Base # The inverse cipher over the round keys, last round key first: # AddRoundKey(Nr), then Nr - 1 rounds of InvShiftRows, InvSubBytes, # AddRoundKey, InvMixColumns, then InvShiftRows, InvSubBytes, AddRoundKey(0) def aes.rounds(rest: List<&2, CmAesState>, k: CmAesState, s: CmAesState) -> CmAesState: match rest: case Nil{}: aes.add(aes.inv_shift_sub(s), k) case Con{k2, rest2}: aes.rounds(rest2, k2, aes.inv_mix(aes.add(aes.inv_shift_sub(s), k))) Uses (5): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&name=CmAesState https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&name=aes.add https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&name=aes.inv_mix https://jend.leeeet.dev/definition.txt?path=bend-osdev-cipher-modes@0.1.0.0/aes.bend&name=aes.inv_shift_sub