def aria_sl21

bend-osdev-legacy-ciphers@0.1.0.0 · PROOF.bend:7872

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

7872# SL2 undoes SL1, and SL1 undoes SL2, a byte at a time
7873def aria_sl21(s: A.LcAriaSt) -> {s == A.aria.sl2(A.aria.sl1(s)) : A.LcAriaSt}:
7874  match s:
7875    case A.LcAriaSt{+x0, +x1, +x2, +x3, +x4, +x5, +x6, +x7, +x8, +x9, +x10, +x11, +x12, +x13, +x14, +x15}:
7876      %aria_sb31(x0) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{_, A.aria.sb4(A.aria.sb2(x1)), A.aria.sb1(A.aria.sb3(x2)), A.aria.sb2(A.aria.sb4(x3)), A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7877      %aria_sb42(x1) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, _, A.aria.sb1(A.aria.sb3(x2)), A.aria.sb2(A.aria.sb4(x3)), A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7878      %aria_sb13(x2) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, _, A.aria.sb2(A.aria.sb4(x3)), A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7879      %aria_sb24(x3) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, _, A.aria.sb3(A.aria.sb1(x4)), A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7880      %aria_sb31(x4) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, _, A.aria.sb4(A.aria.sb2(x5)), A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7881      %aria_sb42(x5) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, _, A.aria.sb1(A.aria.sb3(x6)), A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7882      %aria_sb13(x6) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, _, A.aria.sb2(A.aria.sb4(x7)), A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7883      %aria_sb24(x7) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, _, A.aria.sb3(A.aria.sb1(x8)), A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7884      %aria_sb31(x8) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, _, A.aria.sb4(A.aria.sb2(x9)), A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7885      %aria_sb42(x9) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, _, A.aria.sb1(A.aria.sb3(x10)), A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7886      %aria_sb13(x10) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, _, A.aria.sb2(A.aria.sb4(x11)), A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7887      %aria_sb24(x11) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, _, A.aria.sb3(A.aria.sb1(x12)), A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7888      %aria_sb31(x12) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, _, A.aria.sb4(A.aria.sb2(x13)), A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7889      %aria_sb42(x13) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, _, A.aria.sb1(A.aria.sb3(x14)), A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7890      %aria_sb13(x14) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, _, A.aria.sb2(A.aria.sb4(x15))} : A.LcAriaSt}
7891      %aria_sb24(x15) : {A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15} == A.LcAriaSt{x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, _} : A.LcAriaSt}
7892      {==}

Uses (11)

Used by (2)