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()))

Uses (19)

Used by (1)