def aes_block_input_matches

qasim-bend-kit@0.1.0.2 · proof/AES_NistTagProof.bend:37

import qasim-bend-kit@0.1.0.2/proof/AES_NistTagProof.bend as AESNistTagProof
import Base
import qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend as Core

37def aes_block_input_matches(+words: List<&2, U32>, +input: List<&2, U32>, +block: List<&2, U32>, +result: List<&2, U32>,
38    input_matches: {input == block : List<&2, U32>},
39    block_matches: {Core.aes256_encrypt_expanded(words, block) == result : List<&2, U32>}) ->
40    {Core.aes256_encrypt_expanded(words, input) == result : List<&2, U32>}:
41    Equal.trans(List<&2, U32>, Core.aes256_encrypt_expanded(words, input),
42        Core.aes256_encrypt_expanded(words, block), result,
43        Equal.cong(List<&2, U32>, List<&2, U32>, value => Core.aes256_encrypt_expanded(words, value),
44            input, block, input_matches), block_matches)

Uses (5)

Used by (1)