law g_tag

bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/aead/sound.bend:135

import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aead/sound.bend as Sound
import Base
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/subtle.bend as RS
import bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/gcm.bend as G

135law g_tag:
136  for +ok: Bool
137  for +nk: Nat
138  for +nr: Nat
139  for +key: List<&2, U32>
140  for +iv: List<&2, U32>
141  for +aad: List<&2, U32>
142  for +c: List<&2, U32>
143  for +t: List<&2, U32>
144  for +p: List<&2, U32>
145  for +hok: {RS.equal(t, G.tag(nk, nr, key, iv, aad, c)) == ok : Bool}
146  for +h: {G.accept(ok, G.gctr(nk, nr, key, c, G.inc32(G.j0(iv)))) == Some{p} : Maybe<&2, List<&2, U32>>}
147  {G.seal(nk, nr, key, iv, aad, p) == List.append(&2, U32, c, t) : List<&2, U32>}

Uses (22)

Used by (1)