4 ms·
So, in this case it wasn't correct to do so, but there is actually a current algorithm which uses floating point: Falcon (aka FN-DSA). https://keymaterial.net/
by mcpherrinm 2mo ago
So, in this case it wasn't correct to do so, but there is actually a current algorithm which uses floating point: Falcon (aka FN-DSA).
https://keymaterial.net/2026/05/13/so-you-want-to-deploy-fn-dsa/ https://keymaterial.net/2026/05/13/so-you-want-to-deploy-fn-... talks about FN-DSA and has a section about how it's require to hand-implement floats to get constant-time operations.
- ur-whale 2mo ago> how it's require to hand-implement floats to get constant-time operations. That and not be at the mercy of someone changing the current rounding mode behind your back. Also hand-implement floats ... not likely to be particularly efficient, no ? I took a quick glance at the section "About those floating points". Whomever designed that algorithm used the biggest footgun ever. I mean floating point numbers? For crypto? Even if he can mathematically prove is algorithm is solid, he's going to lose 99% of his intended audience the moment he's going to use the words crypto and floating point in the same sentence.
- AlotOfReading 2mo agoIt really should have been defined in terms of fixed point like HAWK was. Supposedly you'd need a large number of bits for it, but I'm not sure I find that argument particularly convincing given that floats are a kind of fixed point in log space, with a bunch of asterisks that don't help falcon much.
- AlotOfReading 2mo agoAs a follow-up to this comment, I sat down and implemented a better method myself, then looked at the specification code to discover they did exactly the same thing.