Blamka.GB: def of bend-collections-laws-crypto@1.0.0.0 Import: import bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/blamka.bend as Blamka Lines 29-39 of bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/blamka.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/blamka.bend&start_line=29&end_line=39 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/spec/crypto/blake/blake2b.bend as B # GB(a, b, c, d) (RFC 9106 section 3.6). def GB(+a: T.Lane, +b: T.Lane, +c: T.Lane, +d: T.Lane) -> T.Quad: +a1 = fBlaMka(a, b) +d1 = B.rotr(B.xor(d, a1), 32n) +c1 = fBlaMka(c, d1) +b1 = B.rotr(B.xor(b, c1), 24n) +a2 = fBlaMka(a1, b1) +d2 = B.rotr(B.xor(d1, a2), 16n) +c2 = fBlaMka(c1, d2) +b2 = B.rotr(B.xor(b1, c2), 63n) T.Q{a2, b2, c2, d2} Uses (5): https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/argon2/blamka.bend&name=fBlaMka https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/blake/blake2b.bend&name=rotr https://jend.leeeet.dev/definition.txt?path=bend-collections-laws-crypto@1.0.0.0/spec/crypto/blake/blake2b.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