Compress.g: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/compress.bend as Compress Lines 6-16 of bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/compress.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/compress.bend&start_line=6&end_line=16 import Base import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend as T import bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend as L # G (RFC 7693 section 3.1) on four words and two message words. def g(a: T.Lane, +b: T.Lane, c: T.Lane, d: T.Lane, x: T.Lane, y: T.Lane) -> T.Quad: +a1 = L.add(L.add(a,b),x) +d1 = L.rot32(L.xor(d,a1)) +c1 = L.add(c,d1) +b1 = L.rot24(L.xor(b,c1)) +a2 = L.add(L.add(a1,b1),y) +d2 = L.rot16(L.xor(d1,a2)) +c2 = L.add(c1,d2) +b2 = L.rot63(L.xor(b1,c2)) T.Q{a2,b2,c2,d2} Uses (8): https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=add https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=rot16 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=rot24 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=rot32 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=rot63 https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/lane.bend&name=xor https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend&name=Lane https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/src/crypto/blake/blake2b/types.bend&name=Quad