law open_forged
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/aead/proof.bend:225
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aead/proof.bend as Proof
import Base
import bend-collections-laws-crypto@1.0.0.0/src/crypto/aead.bend as A
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aead/laws.bend as Laws
225law open_forged:
226 for +alg: A.Alg
227 for +key: List<&2, U32>
228 for +nonce: List<&2, U32>
229 for +aad: List<&2, U32>
230 for +ct: List<&2, U32>
231 for +t: List<&2, U32>
232 for +hk: {List.length(&2, U32, key) == A.key_size(alg) : Nat}
233 for +hn: {List.length(&2, U32, nonce) == A.nonce_size(alg) : Nat}
234 for +ht: {List.length(&2, U32, t) == 16n : Nat}
235 for ne: {t != Laws.expected_tag(alg, key, nonce, aad, ct) : List<&2, U32>}
236 {A.open(alg, key, nonce, aad, List.append(&2, U32, ct, t)) == None{} : Maybe<&2, List<&2, U32>>}