Hacker News new | ask | show | jobs
by mcpherrinm 21 days 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-... talks about FN-DSA and has a section about how it's require to hand-implement floats to get constant-time operations.

2 comments

It 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.
As 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.
> 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.