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?
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.
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?
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.