def checkpoint_ctr5_partial
qasim-bend-kit@0.1.0.2 · proof/AES_NistCtrProof.bend:78
import qasim-bend-kit@0.1.0.2/proof/AES_NistCtrProof.bend as AESNistCtrProof
import Base
import qasim-bend-kit@0.1.0.2/libs/AES256GCMCore.bend as Core
import qasim-bend-kit@0.1.0.2/proof/AES_NistKeyScheduleProof.bend as Key
import qasim-bend-kit@0.1.0.2/proof/AES_NistCtr5BlockProof.bend as B5
import qasim-bend-kit@0.1.0.2/proof/AES_NistCtr5ComposeProof.bend as P5
78def checkpoint_ctr5_partial() ->
79 {Core.gcm_ctr_stream_exact.go(12n, Key.words_60(), B5.block(), Nil{}) == List.take(&2, U32, B5.result(), 12n) : List<&2, U32>}:
80 Equal.trans(List<&2, U32>, Core.gcm_ctr_stream_exact.go(12n, Key.words_60(), B5.block(), Nil{}),
81 Core.aes_byte_at(B5.result(), 0n) <> Core.gcm_ctr_stream_exact.go(11n, Key.words_60(), Core.gcm_inc32(B5.block()), List.tail(&2, U32, B5.result())),
82 List.take(&2, U32, B5.result(), 12n), stream_step(12n, 11n, Key.words_60(), B5.block(), B5.result(), {==}, P5.expanded_block_matches()), {==})