def checkpoint_multiblock_authenticated
qasim-bend-kit@0.1.0.2 · proof/AES_NistVectorProof.bend:123
import qasim-bend-kit@0.1.0.2/proof/AES_NistVectorProof.bend as AESNistVectorProof
import Base
import qasim-bend-kit@0.1.0.2/LAWS.bend as L
import qasim-bend-kit@0.1.0.2/libs/AES256GCM.bend as AES
import qasim-bend-kit@0.1.0.2/proof/AES_NistKeyScheduleProof.bend as Key
import qasim-bend-kit@0.1.0.2/proof/AES_NistObservationProof.bend as Obs
123def checkpoint_multiblock_authenticated() ->
124 {Obs.decrypt_expanded(Key.words_60(), multiblock_aad(), L.aes256gcm_nist_multiblock()) == Done{multiblock_plaintext()} : Result<&2, &2, AES.Error, List<&2, U32>>}:
125 Obs.finish_auth(Key.words_60(), multiblock_aad(), L.aes256gcm_nist_multiblock(),
126 multiblock_tag(), True{}, Done{multiblock_plaintext()},
127 Obs.tag_parameters(Key.words_60(), multiblock_aad(), L.aes256gcm_nist_multiblock(),
128 AES.raw_nonce_bytes(L.aes256gcm_nist_nonce()), multiblock_ciphertext(), multiblock_tag(),
129 {==}, {==}, checkpoint_multiblock_tag()), {==},
130 Obs.payload_parameters(Key.words_60(), L.aes256gcm_nist_multiblock(),
131 AES.raw_nonce_bytes(L.aes256gcm_nist_nonce()), multiblock_ciphertext(), multiblock_plaintext(),
132 {==}, {==}, checkpoint_multiblock_plaintext()))