Manipulate individual residues in residue representation (CRT)

Hi!

If I understand correctly, Concrete leverages a CRT representation if the circuit bit-width exceeds 8 bits. Is it possible to access and manipulate individual residues in this CRT representation using Concrete?

Thank you for your help!
Best Jonas

Hello @hallojs ,

Indeed concrete can use CRT encoding for representing integers, this is a optimization choice and often the choice is relevant above 8 bits but can change according the dag to compile.
But at high level this is totally abstracted, you just manipulate n-bits integers and the underlying representation is not accessible, however you can introspect client parameter if you want to known what was the encoding for inputs and outputs.

Best Quentin.

1 Like

Hi @yundsi,

thanks for the fast reply! That makes sense, so if I want to manipulate the residues I can convert my plaintext input into CRT and use Concrete with below 8bit bit-width on these residues. Is there anything against this?

Best Jonas

Yes as well you can implement your own CRT encoding on top of concrete, encoding your encrypted into a tensor of residues and manipulate those at your convenience.

1 Like