1

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
codedust
  • 11
  • 1
  • SEAL 3.4 supports symmetric-key encryption for both BFV and CKKS, and implements the size reduction technique for ciphertexts and keyswitching (relinearization and rotation) keys. – Kim Laine Oct 21 '19 at 17:34

0 Answers0