Я использую этот параметр:
parms.set_poly_modulus("1x^2048 + 1"); // n = 2048
parms.set_coeff_modulus(coeff_modulus_128(2048)); // q = 54-bit prime
parms.set_plain_modulus(1 << 8); // t = 256
С этим кодером FractionalEncoder encoder(context.plain_modulus(), context.poly_modulus(), A, B, C);
, используя A=512, B=128
и C=2
Если я правильно понял, тогда значение A и B зависят от размера n , что означает, что A + B <= 2048 должно выполняться, верно? </p>
Какое общее правилопри определении размера A и B с использованием вышеуказанных настроек poly_modulus , coeff_modulis и plain_modulus ?Так как при выборе небольших значений не используйте весь потенциал размера открытого текста.Я предполагаю, что A следует увеличить, потому что B только для точности дробной части.