Shubham Mishra
Note that all the elements of the public key set, as well as any ciphertext is a valid LWE sample under the secret key \(\mathbf{s}\).
Also, the public key is just a collection of encryption of \(0\) message bit.
This technique is used in other places also to convert symmetric key cryptosystems to public key cryptosystems. For example, here we converted the vanilla LWE system (which is symmetric key) to Regev’s system.
In a \(t\)-out-of-\(n\) setting, we want to split our secret key among \(n\) parties, such that, we shall be able to decrypt iff \(\ge t\) secret key shares or partial decryptions are present.
Generic \(t\)-out-of-\(n\) secret sharing can be done using Shamir Secret Sharing.
However, here is a simple scheme for \(2\)-out-of-\(2\) sharing:
Let \(s\) be the secret key (in some group \((G, +)\)). Let \(s_1\) be a random element \(\in G\). Calculate \(s_2\) such that \(s_1 + s_2 = s\)
In this setting, no party wants to reveal his share of the secret key.
Instead, during decryption, each party reveals a partial decryption, which is a function of the the message they receive after decrypting with their share of the secret key.
Every party then gathers these partial decryptions and combines them to get the final decrypted message.
Given enough number of \(b^j = a^j \cdot s_1\) samples, we have a complete set of equations in the components of \(s_1\).
Thus by solving, holder of \(s_2\) will reveal what \(s_1\) is.
Why does it still work?: Because the decryption scheme in Regev is itself noisy and not deterministic. So an addition of error bounded by a small number, should not cause any problem with decryption.
Why is it more secure: By adding the noise, we are essentially creating LWE sample with secret key \(s_1\). So, by the security guarantee given by LWE problem, it is impossible to reveal \(s_1\) in polytime.