Hello, I’m playing around with concrete-numpy, trying to implement left_shift operation.
Inability to perform “clear computations” in circuit (getting one of the operands must be encrypted
) greatly reduces options to implement it.
One can’t substitute enc << clear
→ enc * (2 ** clear)
.
Assuming that MLIR/Sever execution limitation is hard to overcome. It can be handled in concrete-numpy code by splitting circuit graph into “clear” and “encrypted” subgraphs, execute “clear” ones on client side while MLIR-compile and send to server “encrypted” subgraph.
It’s fairly large change, I would like to probe in advance if this kind of contribution is of interest, have a chance to be accepted into the trunk.