Aes.mix_column: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/src/crypto/aes/aes.bend as Aes Lines 26-32 of bend-collections@1.0.0.0/src/crypto/aes/aes.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/src/crypto/aes/aes.bend&start_line=26&end_line=32 import Base import bend-collections@1.0.0.0/src/crypto/aes/types.bend as T import bend-collections@1.0.0.0/src/crypto/aes/sbox.bend as B def mix_column(w: T.Quad) -> T.Quad: match w: case T.W{+a, +b, +c, +d}: T.W{U32.xor(U32.xor(U32.xor(B.xtime(a), B.mul3(b)), c), d), U32.xor(U32.xor(U32.xor(a, B.xtime(b)), B.mul3(c)), d), U32.xor(U32.xor(U32.xor(a, b), B.xtime(c)), B.mul3(d)), U32.xor(U32.xor(U32.xor(B.mul3(a), b), c), B.xtime(d))} Uses (4): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.xor https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/aes/sbox.bend&name=mul3 https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/aes/sbox.bend&name=xtime https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/crypto/aes/types.bend&name=Quad