I'm trying to implement BFV symmetric encryption using the secret key in SEAL, as described here. (I'm aiming for the reduction of the initial message size by 50%.)
However, I'm not able to produce ciphertexts with a noise budget > 0. After switching from encrypt_zero_asymmetric
to encrypt_zero_symmetric
, the initial noise budget of a freshly encrypted ciphertext is 0 bits.
Here is what I've tried so far: https://github.com/codedust/SEAL/commit/4a59e6fe73cdbd27feb4503cdc1393b4d46f9700
Is there any step I am missing in order to create a ciphertext with a noise budget > 0 bits?
I'm testing with the "1_bfv_basics.cpp" example for now:
~~~~~~ A naive way to calculate 2(x^2+1)(x+1)^2. ~~~~~~
Line 201 --> Express x = 6 as a plaintext polynomial 0x6.
Line 210 --> Encrypt x_plain to x_encrypted.
+ size of freshly encrypted x: 2
+ noise budget in freshly encrypted x: 0 bits