def aria_e20
bend-osdev-legacy-ciphers@0.1.0.0 · PROOF.bend:8156
import bend-osdev-legacy-ciphers@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-legacy-ciphers@0.1.0.0/aria.bend as A
8156def aria_e20(s: A.LcAriaSt) -> {s == A.aria.e20(A.aria.e20(s)) : A.LcAriaSt}:
8157 match s:
8158 case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
8159 %word_xx(8n, x14, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, Word.xor(8n, Word.xor(8n, x8, x0), x0), Word.xor(8n, Word.xor(8n, x9, x0), x0), x10, x11, x12, Word.xor(8n, Word.xor(8n, x13, x0), x0), _, x15} : A.LcAriaSt}
8160 %word_xx(8n, x13, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, Word.xor(8n, Word.xor(8n, x8, x0), x0), Word.xor(8n, Word.xor(8n, x9, x0), x0), x10, x11, x12, _, x14, x15} : A.LcAriaSt}
8161 %word_xx(8n, x9, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, Word.xor(8n, Word.xor(8n, x8, x0), x0), _, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
8162 %word_xx(8n, x8, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, Word.xor(8n, Word.xor(8n, x6, x0), x0), x7, _, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
8163 %word_xx(8n, x6, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), Word.xor(8n, Word.xor(8n, x4, x0), x0), x5, _, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
8164 %word_xx(8n, x4, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, Word.xor(8n, Word.xor(8n, x3, x0), x0), _, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
8165 %word_xx(8n, x3, x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, _, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} : A.LcAriaSt}
8166 {==}