The encryption scheme in §B-4.2 assumes that it is the secret key owner who encrypts each plaintext. In this section, we explain a public key encryption scheme where we create a public key counterpart of the secret key and anyone who knows the public key can encrypt the plaintext in such a way that only the secret key owner can decrypt it. The high-level idea is that a portion of the components to be used in the encryption stage is pre-computed at the setup stage and published as a public key. At the actual encryption stage, the public key is multiplied by an additional randomness () and added with additional noises () to create unpredictable randomness to each encrypted ciphertext. The actual scheme is as follows:
Summary B-4.2 GLWE Public Key Encryption
Initial Setup:
The public key pair is generated as follows:
,
Encryption Input: ,
# multiplies to each element of
Decryption Input:
For correct decryption, every noise coefficient of polynomial should be: .
The equation in the 1st step of the decryption process is derived as follows:
# where
Security: The GLWE encryption scheme’s encryption formula (Summary B-4.2 in §B-4.2) was as follows:
, where the hardness of the LWE and RLWE problems guarantees that guessing is difficult given and are randomly picked at each encryption. On the other hand, the public key encryption scheme is as follows:
, where , are fixed and , , are randomly picked at each encryption. Given the polynomial degree is large, both schemes provide the equivalent level of hardness to solve the problem.