# Symmetric key in homomorphic encryption over the integers

Much like this question: Public key in fully homomorphic encryption over the integers

I am also reading I'm reading Fully Homomorphic Encryption over the Integers, but I'm working on implementing the symmetric key implementation.

It says on the first page:

The key is an odd integer, chosen from some interval $p ∈ [2^{η−1},2^η)$.

Where $η$ is the number of bits in the key and $p$ is the secret key.

Why is it that the high and low bit must be set to 1?

I've read the answer to the other question in regards to the low bit (the key being odd), but I don't see how it applies in this case so am a bit stumped.

• I have a guess about why the high bit has to be set... is it to prevent the key from ever being a small number, which is more easily figured out? Aug 26 '15 at 15:47
• You asked, you commented, you answered... XD But in wich part of the paper it is said that the high bit must be one? If we chose $p$ inside this interval, we don't need to care about it, because $p$ will already be big enough. In fact, saying that $p$ has $η$ bits and saying $p$ is a integer inside $[2^{η−1},2^η)$ means the samething... Aug 28 '15 at 0:10
• Why not say that the key needs to be between 0 and 2^n then? Why have a lower bound at all? Aug 28 '15 at 0:24
• Because the scheme is not secure if we use a small $p$ as the key. Also, the maximum "supported noise" is bounded by $\frac{p}{2}$ and it impacts on the number of homomorphic operations we can do... Aug 28 '15 at 1:04
• Interesting points! Do you happen to know what size of p is considered secure? I can ask a new question if you prefer. Aug 28 '15 at 1:08