Cocks IBE Scheme
   HOME

TheInfoList



OR:

Cocks IBE scheme is an identity based encryption system proposed by
Clifford Cocks Clifford Christopher Cocks (born 28 December 1950) is a British mathematician and cryptographer. In the early 1970s, while working at the United Kingdom Government Communications Headquarters (GCHQ), he developed an early public-key cryptogra ...
in 2001. The security of the scheme is based on the hardness of the
quadratic residuosity problem The quadratic residuosity problem (QRP) in computational number theory is to decide, given integers a and N, whether a is a quadratic residue modulo N or not. Here N = p_1 p_2 for two unknown primes p_1 and p_2, and a is among the numbers which a ...
.


Protocol


Setup

The PKG chooses: # a public RSA-modulus \textstyle n = pq, where \textstyle p,q,\,p \equiv q \equiv 3 \bmod 4 are prime and kept secret, # the message and the cipher space \textstyle \mathcal = \left\, \mathcal = \mathbb_n and # a secure public hash function \textstyle f: \left\^* \rightarrow \mathbb_n.


Extract

When user \textstyle ID wants to obtain his private key, he contacts the PKG through a secure channel. The PKG # derives \textstyle a with \textstyle \left(\frac\right) = 1 by a deterministic process from \textstyle ID (e.g. multiple application of \textstyle f), # computes \textstyle r = a^ \pmod n (which fulfils either \textstyle r^2 = a \pmod n or \textstyle r^2 = -a \pmod n, see below) and # transmits \textstyle r to the user.


Encrypt

To encrypt a bit (coded as \textstyle 1/\textstyle -1) \textstyle m \in \mathcal for \textstyle ID, the user # chooses random \textstyle t_1 with \textstyle m = \left(\frac\right), # chooses random \textstyle t_2 with \textstyle m = \left(\frac\right), different from \textstyle t_1, # computes \textstyle c_1 = t_1 + at_1^ \pmod n and c_2= t_2 - at_2^ \pmod n and # sends \textstyle s=(c_1, c_2) to the user.


Decrypt

To decrypt a ciphertext s=(c_1, c_2) for user ID, he # computes \alpha = c_1 + 2r if r^2=a or \alpha = c_2 + 2r otherwise, and # computes m = \left(\frac\right). Note that here we are assuming that the encrypting entity does not know whether ID has the
square root In mathematics, a square root of a number is a number such that y^2 = x; in other words, a number whose ''square'' (the result of multiplying the number by itself, or y \cdot y) is . For example, 4 and −4 are square roots of 16 because 4 ...
r of a or -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.


Correctness

First note that since \textstyle p \equiv q \equiv 3 \pmod 4 (i.e. \left(\frac\right) = \left(\frac\right) = -1) and \textstyle \left(\frac\right) \Rightarrow \left(\frac\right) = \left(\frac\right), either \textstyle a or \textstyle -a is a
quadratic residue In number theory, an integer ''q'' is a quadratic residue modulo operation, modulo ''n'' if it is Congruence relation, congruent to a Square number, perfect square modulo ''n''; that is, if there exists an integer ''x'' such that :x^2\equiv q \pm ...
modulo \textstyle n. Therefore, \textstyle r is a square root of \textstyle a or \textstyle -a: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 r^2 &\equiv \left(a^\right)^2 \mod\\ &\equiv \left(a^\right)^2 \mod\\ &\equiv \left(a^\right)^2 \mod\\ &\equiv \left(a^*a^\right)^2 \mod\\ &\equiv a*a^*a^ \mod\\ &\equiv \begin a\mod & , a\text\mod \\ -a\mod & , -a\text\mod \end \end Where the last step is the result of a combination of
Euler's Criterion In number theory, Euler's criterion is a formula for determining whether an integer is a quadratic residue modulo a prime. Precisely, Let ''p'' be an odd prime and ''a'' be an integer coprime to ''p''. Then : a^ \equiv \begin \;\;\,1\pmod& \text ...
and the
Chinese remainder theorem In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of thes ...
. Moreover, (for the case that \textstyle a is a quadratic residue, same idea holds for \textstyle -a): : \begin \left(\frac\right) &= \left(\frac\right) = \left(\frac\right) \\ &= \left(\frac\right) = \left(\frac\right) \\ &= \left(\frac\right) \left(\frac\right)^2 = \left(\frac\right)(\pm 1)^2 = \left(\frac\right) \end{align}


Security

It can be shown that breaking the scheme is equivalent to solving the
quadratic residuosity problem The quadratic residuosity problem (QRP) in computational number theory is to decide, given integers a and N, whether a is a quadratic residue modulo N or not. Here N = p_1 p_2 for two unknown primes p_1 and p_2, and a is among the numbers which a ...
, which is suspected to be very hard. The common rules for choosing a RSA modulus hold: Use a secure \textstyle n, make the choice of \textstyle t uniform and random and moreover include some authenticity checks for \textstyle t (otherwise, an
adaptive chosen ciphertext attack An adaptive chosen-ciphertext attack (abbreviated as CCA2) is an interactive form of chosen-ciphertext attack in which an attacker first sends a number of ciphertexts to be decrypted chosen adaptively, and then uses the results to distinguish a ta ...
can be mounted by altering packets that transmit a single bit and using the
oracle An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination. Descript ...
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 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.


References

Identity-based cryptography