Cocks IBE scheme

From testwiki
Revision as of 09:54, 19 February 2025 by imported>WikiCleanerBot (v2.05b - Bot T20 CW#61 - Fix errors for CW project (Reference before punctuation))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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,pq3mod4 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+5pq)/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+at11(modn) and c2=t2at21(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 pq3(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+5pq)/8)2modn(a(p*q+4+1pq)/8)2modn(a((p1)(q1)+4)/8)2modn(a0.5*a((p1)(q1))/8)2modna*a(p1)/2*a(q1)/2modn{amodn|a is a quadratic residuemodnamodn|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+at1+2rn)=(t(1+at2+2rt1)n)=(t(1+r2t2+2rt1)n)=(t(1+rt1)2n)=(tn)(1+rt1n)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