liboqs icon indicating copy to clipboard operation
liboqs copied to clipboard

Adding FAEST

Open sebastinas opened this issue 9 months ago • 5 comments

I am looking into adding FAEST to liboqs. Since I have last worked with liboqs, the build setup has changed quite significantly. What is the recommended way to add a single implementation to liboqs that provides all variants? All signature schemes using copy_from_upstream have multiple copies of similar/same files. Also, can I get copy_from_upstream to perform pre-configuration steps before copying files?

sebastinas avatar Mar 14 '25 11:03 sebastinas

This is related to #2098.

I can add FAEST as it was done for Picnic. If that is still okay with the current setup, I have a PR almost ready to go.

sebastinas avatar Mar 14 '25 11:03 sebastinas

Hi Sebastian, thanks for offering to do this!

I think the FrodoKEM and stateful signature (LMS / XMSS) code offers examples of having a single implementation that provides all variants via different compile-time macros, using a code base that's directly added to liboqs.

But more recently we have been tending to using the copy_from_upstream scripting to copy an "upstream" implementation and use code generation to generate the relevant hooks into liboqs code. A side-effect of this approach is that we get multiple copies of similar/same files. Since we have been focused on providing a platform for testing/experimentation, we haven't been so worried about that duplication.

can I get copy_from_upstream to perform pre-configuration steps before copying files?

We have a mechanism for copy_from_upstream to patch files after copying, but we don't have anything for modifying things before copying. In principle the script can be extended to do that, though it's already grown into some rather messy, I think. What would you like to be able to do?

dstebila avatar Mar 15 '25 04:03 dstebila

Hi @sebastinas, is this still something you're looking to do?

SWilson4 avatar Jun 25 '25 19:06 SWilson4

It is still on my todo list but I was busy with other stuff.

sebastinas avatar Jul 03 '25 20:07 sebastinas

Hello @sebastinas

My name is Arpad Neale and I just finished my Master's degree where I studied applied cryptography. I'm new to liboqs and I'm looking to work on the integration of the NIST signature on-ramp round 2 candidates. I attended the OQS status meeting on Nov 18th and heard that there was interest in integrating FAEST. How is the integration going, and are there any to-dos that you would like some help with?

I wanted to reach out to introduce myself and offer my help. Unfortunately, I won't be consistently available until December 1st due to travel and the Thanksgiving holidays. In the meantime, I'll continue studying liboqs, its workflows, and the upstream FAEST project.

Best regards, Arpad Neale

aneale1 avatar Nov 19 '25 18:11 aneale1