def checkpoint_partial_block_authenticated
qasim-bend-kit@0.1.0.2 · proof/AES_NistVectorProof.bend:315
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
315def checkpoint_partial_block_authenticated() ->
316 {Obs.decrypt_expanded(Key.words_60(), partial_block_aad(), L.aes256gcm_nist_partial_block()) == Done{partial_block_plaintext()} : Result<&2, &2, AES.Error, List<&2, U32>>}:
317 Obs.finish_auth(Key.words_60(), partial_block_aad(), L.aes256gcm_nist_partial_block(),
318 partial_block_tag(), True{}, Done{partial_block_plaintext()},
319 Obs.tag_parameters(Key.words_60(), partial_block_aad(), L.aes256gcm_nist_partial_block(),
320 AES.raw_nonce_bytes(L.aes256gcm_nist_nonce()), partial_block_ciphertext(), partial_block_tag(),
321 {==}, {==}, checkpoint_partial_block_tag()), {==},
322 Obs.payload_parameters(Key.words_60(), L.aes256gcm_nist_partial_block(),
323 AES.raw_nonce_bytes(L.aes256gcm_nist_nonce()), partial_block_ciphertext(), partial_block_plaintext(),
324 {==}, {==}, checkpoint_partial_block_plaintext()))