law xor_streaming_state
bend-osdev-crypto@0.1.0.0 · LAWS.bend:99
import bend-osdev-crypto@0.1.0.0/LAWS.bend as LAWS
import Base
import bend-osdev-bytes@0.1.0.0/bytes.bend as B
import bend-osdev-crypto@0.1.0.0/stream.bend as St
99law xor_streaming_state:
100 for ~S: Data
101 for ~next: S -> St.CrKsStep<S>
102 for +s: S
103 for +a: B.Octets
104 for +b: B.Octets
105 {St.CrXor.out_state(~S, St.CrXor.update(~S, ~next, s, B.Octets.append(a, b))) == St.CrXor.out_state(~S, St.CrXor.update(~S, ~next, St.CrXor.out_state(~S, St.CrXor.update(~S, ~next, s, a)), b)) : S}