zama-ai/concrete

Encryption using server keys

julen-bernabe opened this issue · 2 comments

What is the problem you want to solve and can not with the current version?
I'm not 100% sure this cannot be done, but I'd like a third party to encrypt values using the server keys. I've read in the documentation that the client key is supposed to do this job, but I wonder if this would be possible.

Describe the solution you'd like
I'd like to be able to use the server keys to encrypt new values (if possible). If this is not solvable, a good argument should be enough.

Describe alternatives you've considered
There are not many alternatives to consider here...

*Additional context

Hello @julen-bernabe !

What you describe is not achievable with server keys, however it is doable with what is known as a public key. We are currently repackaging some code in the new TFHE-rs project you can find here : https://github.com/zama-ai/tfhe-rs you can check for example the docs.rs page for the shortint public key https://docs.rs/tfhe/0.1.5/tfhe/shortint/public_key/struct.PublicKey.html and the user docs md from the repo : https://github.com/zama-ai/tfhe-rs/blob/main/tfhe/docs/shortint/tutorial.md#encrypting-values-using-a-public-key (and boolean: https://github.com/zama-ai/tfhe-rs/blob/main/tfhe/docs/Booleans/tutorial.md#encrypting-inputs-using-a-public-key). The server key requirement for shortint will be removed (it had to do with noise management).

Do note that we are aware of key size issues with the larger parameters sets for shortint and are currently working to resolve them.

If you have any other question feel free to ask them here 🙂

Hi @IceTDrinker !

I'll check that repo, didn't know about its existence. Thanks for the links and information!