I’m trying to find parameters for which I can do exact computations. For the lookup table to have an one-to-one relationship (so all possible values are encoded), I must have 2N approximate q so q/2N rounds to 1. But also, I must be able to do N cmuxes so I can bootstrap one LWE slot of the RLWE.

The problem is that for a 3 bit message and for a worst case error e, according to my estimates, N cmuxes will make the error go from e to N((k+1)le+e), so we need log_2(N( (k+1)le+e)) bits for the error, and since we need 3 for message and 1 for padding, I set q=log_2(N( 2le+e))+3+1, then

q/2N = 2^{log_2(N(2le+e))+3+1}/2N = N(2le+e)*2^{3+1}/2N = \\ (2le+e)*2^{3}

It seems that I can never make q/2N be close to 1 so I can never do a one-to-one lookup table for exact computations. But looks like you guys did it. I was wondering how.

by the way k=1 in this case, it’s the GLWE k parameter