Laws.chacha20.invalid: law of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/proofs/crypto/chacha/laws.bend as Laws Lines 77-83 of bend-collections-laws-crypto@1.0.0.0/proofs/crypto/chacha/laws.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/proofs/crypto/chacha/laws.bend&start_line=77&end_line=83 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/chacha/chacha20.bend as I law chacha20.invalid: for +key: List<&2, U32> for +counter: U32 for +nonce: List<&2, U32> for +plaintext: List<&2, U32> for +h: {Bool.and(Nat.is_eq(List.length(&2, U32, key), 32n), Nat.is_eq(List.length(&2, U32, nonce), 12n)) == False{} : Bool} {I.chacha20(key, counter, nonce, plaintext) == None{} : Maybe<&2, List<&2, U32>>} Uses (11): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and 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_eq 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/chacha/proof.bend&name=when_false https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/chacha/chacha20.bend&name=chacha20 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/chacha/chacha20.bend&name=encrypt_rounds https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/chacha/chacha20.bend&name=valid