Cocks IBE scheme
{{Short description|Identity based encryption system}}
Cocks IBE scheme is an identity based encryption system proposed by Clifford Cocks in 2001.Clifford Cocks, [http://www.cesg.gov.uk/site/ast/idpkc/media/ciren.pdf An Identity Based Encryption Scheme Based on Quadratic Residues] {{webarchive|url=https://web.archive.org/web/20070206084247/http://www.cesg.gov.uk/site/ast/idpkc/media/ciren.pdf |date=2007-02-06 }}, Proceedings of the 8th IMA International Conference on Cryptography and Coding, 2001 The security of the scheme is based on the hardness of the quadratic residuosity problem.
Protocol
=Setup=
The PKG chooses:
- a public RSA-modulus , where are prime and kept secret,
- the message and the cipher space and
- a secure public hash function .
=Extract=
When user wants to obtain his private key, he contacts the PKG through a secure channel. The PKG
- derives with by a deterministic process from (e.g. multiple application of ),
- computes (which fulfils either or , see below) and
- transmits to the user.
=Encrypt=
To encrypt a bit (coded as /) for , the user
- chooses random with ,
- chooses random with , different from ,
- computes and and
- sends to the user.
=Decrypt=
To decrypt a ciphertext for user , he
- computes if or otherwise, and
- computes .
Note that here we are assuming that the encrypting entity does not know whether has the square root of or . 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.
=Correctness=
First note that since (i.e. ) and , either or is a quadratic residue modulo .
Therefore, is a square root of or :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
:
\begin{align}
r^2 &\equiv \left(a^{(n+5-p-q)/8}\right)^2 \mod{n}\\
&\equiv \left(a^{(p*q+4+1-p-q)/8}\right)^2 \mod{n}\\
&\equiv \left(a^{((p-1)(q-1)+4)/8}\right)^2 \mod{n}\\
&\equiv \left(a^{0.5}*a^{((p-1)(q-1))/8}\right)^2 \mod{n}\\
&\equiv a*a^{(p-1)/2}*a^{(q-1)/2} \mod{n}\\
&\equiv \begin{cases}
a\mod{n} & |a\text{ is a quadratic residue}\mod{n} \\
-a\mod{n} & |-a\text{ is a quadratic residue}\mod{n}
\end{cases}
\end{align}
Where the last step is the result of a combination of Euler's Criterion and the Chinese remainder theorem.
Moreover, (for the case that is a quadratic residue, same idea holds for ):
:
\begin{align}
\left(\frac{s+2r}{n}\right) &= \left(\frac{t + at^{-1} +2r}{n}\right) = \left(\frac{t\left(1+at^{-2} +2rt^{-1}\right)}{n}\right) \\
&= \left(\frac{t\left(1+r^2t^{-2} +2rt^{-1}\right)}{n}\right) = \left(\frac{t\left(1+rt^{-1}\right)^2}{n}\right) \\
&= \left(\frac{t}{n}\right) \left(\frac{1+rt^{-1}}{n}\right)^2 = \left(\frac{t}{n}\right)(\pm 1)^2 = \left(\frac{t}{n}\right)
\end{align}
Security
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 , make the choice of uniform and random and moreover include some authenticity checks for (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).
Problems
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 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.