Api.aes256_forgery: law of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/api.bend as Api Lines 224-258 of bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/api.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/api.bend&start_line=224&end_line=258 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/aesgcm.bend as GCM import bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/gcm.bend as G law aes256_forgery: for +key: List<&2, U32> for +h: {List.length(&2, U32, key) == 32n : Nat} for +n0: U32 for +n1: U32 for +n2: U32 for +n3: U32 for +n4: U32 for +n5: U32 for +n6: U32 for +n7: U32 for +n8: U32 for +n9: U32 for +n10: U32 for +n11: U32 for +aad: List<&2, U32> for +c: List<&2, U32> for +t0: U32 for +t1: U32 for +t2: U32 for +t3: U32 for +t4: U32 for +t5: U32 for +t6: U32 for +t7: U32 for +t8: U32 for +t9: U32 for +t10: U32 for +t11: U32 for +t12: U32 for +t13: U32 for +t14: U32 for +t15: U32 for ne: {[t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15] != G.aes_tag(key, [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11], aad, c) : List<&2, U32>} {GCM.aes256_gcm_decrypt(key, [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11], aad, List.append(&2, U32, c, [t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15])) == None{} : Maybe<&2, List<&2, U32>>} Uses (15): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Empty https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.length https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/aead.bend&name=forgery https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aes/api.bend&name=aes256_decrypt https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/aes.bend&name=nk https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/aes.bend&name=nr https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/gcm.bend&name=aes_open https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/aes/gcm.bend&name=aes_tag https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/aesgcm.bend&name=aes256_gcm_decrypt