The PKG chooses:
When user I D {\displaystyle \textstyle ID} wants to obtain his private key, he contacts the PKG through a secure channel. The PKG
To encrypt a bit (coded as 1 {\displaystyle \textstyle 1} / − 1 {\displaystyle \textstyle -1} ) m ∈ M {\displaystyle \textstyle m\in {\mathcal {M}}} for I D {\displaystyle \textstyle ID} , the user
To decrypt a ciphertext s = ( c 1 , c 2 ) {\displaystyle s=(c_{1},c_{2})} for user I D {\displaystyle ID} , he
Note that here we are assuming that the encrypting entity does not know whether I D {\displaystyle ID} has the square root r {\displaystyle r} of a {\displaystyle a} or − a {\displaystyle -a} . In this case we have to send a ciphertext for both cases. As soon as this information is known to the encrypting entity, only one element needs to be sent.
First note that since p ≡ q ≡ 3 ( mod 4 ) {\displaystyle \textstyle p\equiv q\equiv 3{\pmod {4}}} (i.e. ( − 1 p ) = ( − 1 q ) = − 1 {\displaystyle \left({\frac {-1}{p}}\right)=\left({\frac {-1}{q}}\right)=-1} ) and ( a n ) ⇒ ( a p ) = ( a q ) {\displaystyle \textstyle \left({\frac {a}{n}}\right)\Rightarrow \left({\frac {a}{p}}\right)=\left({\frac {a}{q}}\right)} , either a {\displaystyle \textstyle a} or − a {\displaystyle \textstyle -a} is a quadratic residue modulo n {\displaystyle \textstyle n} .
Therefore, r {\displaystyle \textstyle r} is a square root of a {\displaystyle \textstyle a} or − a {\displaystyle \textstyle -a} :2
Where the last step is the result of a combination of Euler's Criterion and the Chinese remainder theorem.
Moreover, (for the case that a {\displaystyle \textstyle a} is a quadratic residue, same idea holds for − a {\displaystyle \textstyle -a} ):
It can be shown that breaking the scheme is equivalent to solving the quadratic residuosity problem, which is suspected to be very hard. The common rules for choosing a RSA modulus hold: Use a secure n {\displaystyle \textstyle n} , make the choice of t {\displaystyle \textstyle t} uniform and random and moreover include some authenticity checks for t {\displaystyle \textstyle t} (otherwise, an adaptive chosen ciphertext attack can be mounted by altering packets that transmit a single bit and using the oracle to observe the effect on the decrypted bit).
A major disadvantage of this scheme is that it can encrypt messages only bit per bit - therefore, it is only suitable for small data packets like a session key. To illustrate, consider a 128 bit key that is transmitted using a 1024 bit modulus. Then, one has to send 2 × 128 × 1024 bit = 32 KByte (when it is not known whether r {\displaystyle r} is the square of a or −a), which is only acceptable for environments in which session keys change infrequently.
This scheme does not preserve key-privacy, i.e. a passive adversary can recover meaningful information about the identity of the recipient observing the ciphertext.
Clifford Cocks, An Identity Based Encryption Scheme Based on Quadratic Residues Archived 2007-02-06 at the Wayback Machine, Proceedings of the 8th IMA International Conference on Cryptography and Coding, 2001 http://www.cesg.gov.uk/site/ast/idpkc/media/ciren.pdf ↩
Prager, S. (2011). The Cocks IBE Scheme: The Legendre Symbol and Quadratic Reciprocity (Undergraduate honors thesis, University of Redlands). Retrieved from https://inspire.redlands.edu/cas_honors/502 https://inspire.redlands.edu/cas_honors/502 ↩