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!