Just for what it's worth, we're talking about the amd64 assembly version of the SHA3 code in the x/crypto/sha3 library; I didn't look carefully at how it's called, so if it's used incrementally the way this Go code shows, then yeah, it's fine regardless.
A second later
Oh, wait, yeah, this is just the Keccak permutation in assembly, not the entire hash. That was dumb of me. Yeah, this code looks ok?
Re:SHA-3 Buffer Overflow
by halffullbrain on Thursday October 20, 2022 @07:26PM
(#33282183)
Indeed, the two assembly variants are just of the 1600 byte block bit fiddling (keccakF1600).
The outer loop of the Write method (function?) is the same for all architectures.
https://github.com/golang/crypto/blob/642fcc37f5043eadb2509c...
Possibly not as fast as C, but easier to reason about, I'd say.