law michael_streaming

bend-osdev-hashes@0.1.0.0 · LAWS.bend:375

import bend-osdev-hashes@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-hashes@0.1.0.0/hashes.bend as Hs
import bend-osdev-hashes@0.1.0.0/michael.bend as MI

375# Michael (IEEE 802.11i): update over a ++ b is update over a, then b, from every state
376law michael_streaming:
377  for s: Hs.HsMdState<Hs.HsW2>
378  for +a: B.Octets
379  for +b: B.Octets
380  {MI.HsMichael.update(s, B.Octets.append(a, b)) == MI.HsMichael.update(MI.HsMichael.update(s, a), b) : Hs.HsMdState<Hs.HsW2>}

Uses (7)

Used by (1)