In the current OpenFHE examples for the threshold FHE, all parties attend to the decryption phase. Is there any t-out-of N threshold FHE example? Or Does the OpenFHE support the t-out-of N threshold?
I believe you should be able to easily achieve it with standard share transformation before any operation.
As high level idea, you start with generating (t,n) shares with a linear SS scheme (e.g., Shamir), and before any operation that requires the secret key (e.g., decryption) any t parties convert their (t,n) shares into (t,t) additive shares and then just use the OpenFHE functionalities with those shares
(for Shamir, such conversion is just a multiplication by the proper Lagrangian coefficient).
Probably you need one extra round of communication to generate the (t,n) shares.
We will be posting an updated version of serialization examples with threshold encryption that supports either 1 of N aborts, or n/2-1 aborts (you need a majority) based on Shamir (as @FMazzone mentioned) it is in final review before release.
The functions for share generation and recovery (that @dcousins and @FMazzone mentioned above) are available in the dev branch of Openfhe. A small 2-out-of-3 example to use the functions can be found in the unit test function âUnitTestMultipartyAbortsâ in src/pke/unittest/UnitTestMultiparty.cpp
@ypolyakov will be able to tell you when that feature will be released into the main release branch.
Tentatively, this feature will become available in the main branch at the end of July.
@ypolyakov Any update on if t-out-of-N functionality made it into release? Is this available out of the box?
It is available since last year. An example is available at openfhe-network-examples/src/threshold_fhe_aborts/threshold_fhe_aborts.cpp at main ¡ openfheorg/openfhe-network-examples ¡ GitHub Please see GitHub - openfheorg/openfhe-network-examples: OpenFHE Experiments in Encrypted Network Control and Secure Data Distribution with Proxy Re-Encryption for more detailed information.