Skip to content

Back to the catalog

Flying, Not Floating: Precise Fixed-Point Falcon on Embedded Processors
eprint.iacr.orgpaper

Flying, Not Floating: Precise Fixed-Point Falcon on Embedded Processors

Presents the first fixed-point FN-DSA (Falcon) signer for microcontrollers, using 32.64 arithmetic in constant-time Cortex-M4 assembly for Falcon-512 and Falcon-1024. Techniques that keep reciprocals, inverse square roots and small constants wide and round once at the consumer restore the precision lost by naive fixed-point. Measured precision supports about 2^99.7 (Falcon-512) and 2^96.7 (Falcon-1024) signing queries per key, against about 2^61.5 and 2^58.7 for double precision and the 2^64 target. The signer needs about 45% fewer cycles than double-precision emulation, at the cost of signing RAM rising from 59n to 83n bytes. The paper also shows which implementation choices lift double-precision c-fn-dsa above 2^64, derives Falcon-1024 key-generation bounds (72.3% of keys accepted vs 8.5% with the Falcon-512 values), and gives recommendations for the fixed-point FN-DSA NIST plans.

TL;DR Constant-time 32.64 fixed-point Falcon/FN-DSA signer for Cortex-M4 that is faster than emulated doubles and meets the 2^64 signing-query bound where double precision falls short.

Organisations named here

  • De Almeida Braga

Technologies named here

  • First fixed-point FN-DSA signer for microcontrollers
  • c-fn-dsa
  • ARM Cortex-M4 microcontrollers
  • FALCON
  • FN-DSA
  • Arm Cortex-M4
  • NIST

Techniques named here

  • Fixed-point arithmetic for Falcon/FN-DSA signing
  • Constant-time Cortex-M4 assembly implementation