LAWS.michael_split: law of bend-osdev-hashes@0.1.0.0 Import: import bend-osdev-hashes@0.1.0.0/LAWS.bend as LAWS Lines 382-387 of bend-osdev-hashes@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-hashes@0.1.0.0/LAWS.bend&start_line=382&end_line=387 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 # Michael (IEEE 802.11i): the tag in two pieces is the one-call tag, for every key and split law michael_split: for +k: Hs.HsW2 for +a: B.Octets for +b: B.Octets {MI.HsMichael.final(MI.HsMichael.update(MI.HsMichael.update(MI.HsMichael.init(k), a), b)) == MI.HsMichael.mic(k, B.Octets.append(a, b)) : B.Octets} Uses (8): https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.append https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/LAWS.bend&name=michael_streaming https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=HsW2 https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/michael.bend&name=HsMichael.final https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/michael.bend&name=HsMichael.init https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/michael.bend&name=HsMichael.mic https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/michael.bend&name=HsMichael.update