Cocks IBE scheme

From testwiki
Jump to navigation Jump to search

Template:Short description Cocks IBE scheme is an identity based encryption system proposed by Clifford Cocks in 2001.[1] The security of the scheme is based on the hardness of the quadratic residuosity problem.

Protocol

Setup

The PKG chooses:

  1. a public RSA-modulus n=pq, where p,q,p≑q≑3mod4 are prime and kept secret,
  2. the message and the cipher space β„³={βˆ’1,1},π’ž=β„€n and
  3. a secure public hash function f:{0,1}βˆ—β†’β„€n.

Extract

When user ID wants to obtain his private key, he contacts the PKG through a secure channel. The PKG

  1. derives a with (an)=1 by a deterministic process from ID (e.g. multiple application of f),
  2. computes r=a(n+5βˆ’pβˆ’q)/8(modn) (which fulfils either r2=a(modn) or r2=βˆ’a(modn), see below) and
  3. transmits r to the user.

Encrypt

To encrypt a bit (coded as 1/βˆ’1) mβˆˆβ„³ for ID, the user

  1. chooses random t1 with m=(t1n),
  2. chooses random t2 with m=(t2n), different from t1,
  3. computes c1=t1+at1βˆ’1(modn) and c2=t2βˆ’at2βˆ’1(modn) and
  4. sends s=(c1,c2) to the user.

Decrypt

To decrypt a ciphertext s=(c1,c2) for user ID, he

  1. computes Ξ±=c1+2r if r2=a or Ξ±=c2+2r otherwise, and
  2. computes m=(Ξ±n).

Note that here we are assuming that the encrypting entity does not know whether ID has the square root 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 p≑q≑3(mod4) (i.e. (βˆ’1p)=(βˆ’1q)=βˆ’1) and (an)β‡’(ap)=(aq), either a or βˆ’a is a quadratic residue modulo n.

Therefore, r is a square root of a or βˆ’a:[2]

r2≑(a(n+5βˆ’pβˆ’q)/8)2modn≑(a(pβˆ—q+4+1βˆ’pβˆ’q)/8)2modn≑(a((pβˆ’1)(qβˆ’1)+4)/8)2modn≑(a0.5βˆ—a((pβˆ’1)(qβˆ’1))/8)2modn≑aβˆ—a(pβˆ’1)/2βˆ—a(qβˆ’1)/2modn≑{amodn|a is a quadratic residuemodnβˆ’amodn|βˆ’a is a quadratic residuemodn

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 is a quadratic residue, same idea holds for βˆ’a):

(s+2rn)=(t+atβˆ’1+2rn)=(t(1+atβˆ’2+2rtβˆ’1)n)=(t(1+r2tβˆ’2+2rtβˆ’1)n)=(t(1+rtβˆ’1)2n)=(tn)(1+rtβˆ’1n)2=(tn)(Β±1)2=(tn)


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 n, make the choice of t uniform and random and moreover include some authenticity checks for 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).

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

  1. ↑ Clifford Cocks, An Identity Based Encryption Scheme Based on Quadratic Residues Template:Webarchive, Proceedings of the 8th IMA International Conference on Cryptography and Coding, 2001
  2. ↑ 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