
On Fri, 5 Sept 2025 at 10:22, Vasilenko Eduard via NANOG <nanog@lists.nanog.org> wrote:
Any hash MUST be slow (by design) to withstand brute force. In the network device case, it is about 5ms for SHA-2 (of course, dependent on the control plane processor).
Out of curiosity, how did you arrive at 5ms? I don't think it is important, but it is interesting to me. I'm more arriving at around 1us on core from <10years ago (w/ SHA instruction set) or 10us on older core per ISIS LSA. But we can't still include even this 1us or 10us to the convergence budget, because NOS almost always has most of the cores doing nothing, due to poor design and no commercial pressure to improve. So if this would actually matter, you could at the first point when receiving LSA call sha_validate on another core with access to a shared pointer to boolean sha_valid=false, which this other core sets to true, upon validating SHA. Then the original core which is guaranteed to do work exceeding 1us or 10us for that LSA will continue its work, and finally check that sha_valid is true, if not reject the work it did, making the integrity validation free provided it takes less time to validate the integrity than it takes to calculate the topology. -- ++ytti