def c6_sa2

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

import bend-osdev-legacy-ciphers@0.1.0.0/PROOF.bend as PROOF
import Base
import bend-osdev-cipher-modes@0.1.0.0/cipher_modes.bend as M
import bend-osdev-legacy-ciphers@0.1.0.0/cast6.bend as C6
import bend-osdev-legacy-ciphers@0.1.0.0/cast5.bend as C5

1655def c6_sa2(k: C6.LcCast6Ks, s: M.CmBlock) -> {s == C6.c6.sa(k, C6.c6.sa(k, s)) : M.CmBlock}:
1656  match k:
1657    case C6.LcCast6Ks{+m0, +m1, +m2, +m3, +r0, +r1, +r2, +r3, +t}:
1658      match s:
1659        case M.CmBlock{a, +b, c, d}:
1660          %u32_xx(a, C5.cast.f(C5.LcCastF3{}, t, b, m2, r2)) : {M.CmBlock{a, b, c, d} == M.CmBlock{_, b, c, d} : M.CmBlock}
1661          {==}

Uses (6)

Used by (2)