def mul_inv_aes.s10011

bend-osdev-gf@0.1.1.0 · PROOF.bend:2257

import bend-osdev-gf@0.1.1.0/PROOF.bend as PROOF
import Base
import bend-osdev-gf@0.1.1.0/gf.bend as G

2257def mul_inv_aes.s10011(+b5: Bool, +b6: Bool, +b7: Bool) -> {G.Gf8.mul(G.Gf8.aes(), fixz(G.Gf8Bits.to(G.Gf8Bits{True{}, False{}, False{}, True{}, True{}, b5, b6, b7})), G.Gf8.inv(G.Gf8.aes(), fixz(G.Gf8Bits.to(G.Gf8Bits{True{}, False{}, False{}, True{}, True{}, b5, b6, b7})))) == 1 : U32}:
2258  match b5:
2259    case True{}:
2260      match b6:
2261        case True{}:
2262          match b7:
2263            case True{}:
2264              {==}
2265            case False{}:
2266              {==}
2267        case False{}:
2268          match b7:
2269            case True{}:
2270              {==}
2271            case False{}:
2272              {==}
2273    case False{}:
2274      match b6:
2275        case True{}:
2276          match b7:
2277            case True{}:
2278              {==}
2279            case False{}:
2280              {==}
2281        case False{}:
2282          match b7:
2283            case True{}:
2284              {==}
2285            case False{}:
2286              {==}

Uses (8)

Used by (1)