def seal_nonce_bad
bend-collections-laws-crypto@1.0.0.0 · proofs/crypto/aes/proof.bend:30
import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/proof.bend as Proof
import Base
import bend-collections-laws-crypto@1.0.0.0/proofs/lib/logic.bend as L
import bend-collections-laws-crypto@1.0.0.0/src/crypto/aes/aes.bend as A
import bend-collections-laws-crypto@1.0.0.0/src/crypto/aes/gcm.bend as GI
30
31def seal_nonce_bad(+sched: A.Schedule, +nonce: List<&2, U32>, +h: {Nat.is_eq(List.length(&2, U32, nonce), 12n) == False{} : Bool}, +aad: List<&2, U32>, +pt: List<&2, U32>) -> {GI.seal_nonce(sched, nonce, aad, pt) == None{} : Maybe<&2, List<&2, U32>>}:
32 match nonce:
33 case Nil{}:
34 {==}
35 case n0 <> Nil{}:
36 {==}
37 case n0 <> n1 <> Nil{}:
38 {==}
39 case n0 <> n1 <> n2 <> Nil{}:
40 {==}
41 case n0 <> n1 <> n2 <> n3 <> Nil{}:
42 {==}
43 case n0 <> n1 <> n2 <> n3 <> n4 <> Nil{}:
44 {==}
45 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> Nil{}:
46 {==}
47 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> Nil{}:
48 {==}
49 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> Nil{}:
50 {==}
51 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> Nil{}:
52 {==}
53 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> Nil{}:
54 {==}
55 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> n10 <> Nil{}:
56 {==}
57 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> n10 <> n11 <> Nil{}:
58 Empty.absurd({GI.seal_nonce(sched, [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11], aad, pt) == None{} : Maybe<&2, List<&2, U32>>}, L.true_false(h))
59 case n0 <> n1 <> n2 <> n3 <> n4 <> n5 <> n6 <> n7 <> n8 <> n9 <> n10 <> n11 <> n12 <> rest:
60 {==}