def mul_inv_aes.s01011

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

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

2505def mul_inv_aes.s01011(+b5: Bool, +b6: Bool, +b7: Bool) -> {G.Gf8.mul(G.Gf8.aes(), fixz(G.Gf8Bits.to(G.Gf8Bits{False{}, True{}, False{}, True{}, True{}, b5, b6, b7})), G.Gf8.inv(G.Gf8.aes(), fixz(G.Gf8Bits.to(G.Gf8Bits{False{}, True{}, False{}, True{}, True{}, b5, b6, b7})))) == 1 : U32}:
2506  match b5:
2507    case True{}:
2508      match b6:
2509        case True{}:
2510          match b7:
2511            case True{}:
2512              {==}
2513            case False{}:
2514              {==}
2515        case False{}:
2516          match b7:
2517            case True{}:
2518              {==}
2519            case False{}:
2520              {==}
2521    case False{}:
2522      match b6:
2523        case True{}:
2524          match b7:
2525            case True{}:
2526              {==}
2527            case False{}:
2528              {==}
2529        case False{}:
2530          match b7:
2531            case True{}:
2532              {==}
2533            case False{}:
2534              {==}

Uses (8)

Used by (1)