Sound.chacha_sound: law of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aead/sound.bend as Sound Lines 117-125 of bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aead/sound.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/aead/sound.bend&start_line=117&end_line=125 import Base import bend-collections-laws-crypto@1.0.0.0/spec/crypto/chacha20poly1305.bend as R # Whatever opens to p is the sealing of p. law chacha_sound: for +key: List<&2, U32> for +nonce: List<&2, U32> for +aad: List<&2, U32> for +data: List<&2, U32> for +p: List<&2, U32> for +h: {R.open(key, nonce, aad, data) == Some{p} : Maybe<&2, List<&2, U32>>} {R.seal(key, nonce, aad, p) == data : List<&2, U32>} Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List 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.is_lt 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/aead/sound.bend&name=c_len https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/chacha20poly1305.bend&name=open https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/chacha20poly1305.bend&name=seal