我正在使用这个参数设置:
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 必须成立,对吗?
使用上面的poly_modulus、coeff_modulis和plain_modulus设置决定A和B的大小时,一般规则是什么?由于选择较小的值并没有充分利用明文大小的潜力。我的猜测是A应该增加,因为B仅用于小数部分的精度。