Multiplying kernels

For this demo If you could kindly point out are we convolving unencrypted filters(kernels) with encrypted images?

Hello @Laser_beam ,
Just to make sure, you are asking where the FHE computations are executed, right ? If so, you can find the FHE run in the server.py file (L80). A post request is done when running the run_fhe function from app.py (L253) (executed when clicking on this button), which sends the encrypted images to the server.

Hope that helps !

where are definitions of for example transpose operations on ciphertext(used for rotating images)

The torch definitions (with kernels and operators) are defined in filters.py. They are “converted” to equivalent FHE-compliant operators thanks to the Concrete compiler, which we call through the compile method.

Thankyou @RomanBredehoft Sorry for the late reply,All of these is done in secret key scenerio , Is encryption with public key possible in concrete ML ( like applications as above) or its in the roadmap

Encryption with public key is possible with TFHE and it’s implemented in TFHE-rs. It will also be implemented in the Concrete Compiler and Concrete ML in the future. So I think your description “it’s on the roadmap” is a good one!

2 Likes