An Identity Based Encryption Scheme Based on Quadratic Residues

An Identity Based Encryption Scheme Based on Quadratic Residues

2001 | Clifford Cocks
This paper introduces a novel public key cryptosystem based on quadratic residues, where the public key of a subscriber can be chosen to be a publicly known value, such as their identity. The system avoids the need for a separate public key directory by using a user's identity (e.g., email address) as their public key. The authority generates a universally available public modulus \( M \), which is a product of two primes \( P \) and \( Q \) both congruent to 3 mod 4. When a user like Alice registers, the authority applies a secure hash function to her identity to produce a value \( a \) modulo \( M \) such that the Jacobi symbol \( (\frac{a}{M}) \) is +1. The authority then calculates a square root \( r \) of \( a \) modulo \( M \) and provides it to Alice. For Bob to send encrypted data to Alice, he generates a transport key and uses it to encrypt the data. He sends each bit of the transport key by choosing a random value \( t \) modulo \( M \) and sending \( s = (t + a/t) \bmod M \) to Alice. Alice recovers the bit \( x \) by calculating the Jacobi symbol \( (\frac{s+2r}{M}) \). If Bob does not know whether \( a \) or \( -a \) is a square, he must send additional keying data, doubling the amount of data transmitted. The system is computationally efficient, with Bob's work dominated by the need to compute \( L \) Jacobi symbols for an \( L \)-bit transport key.This paper introduces a novel public key cryptosystem based on quadratic residues, where the public key of a subscriber can be chosen to be a publicly known value, such as their identity. The system avoids the need for a separate public key directory by using a user's identity (e.g., email address) as their public key. The authority generates a universally available public modulus \( M \), which is a product of two primes \( P \) and \( Q \) both congruent to 3 mod 4. When a user like Alice registers, the authority applies a secure hash function to her identity to produce a value \( a \) modulo \( M \) such that the Jacobi symbol \( (\frac{a}{M}) \) is +1. The authority then calculates a square root \( r \) of \( a \) modulo \( M \) and provides it to Alice. For Bob to send encrypted data to Alice, he generates a transport key and uses it to encrypt the data. He sends each bit of the transport key by choosing a random value \( t \) modulo \( M \) and sending \( s = (t + a/t) \bmod M \) to Alice. Alice recovers the bit \( x \) by calculating the Jacobi symbol \( (\frac{s+2r}{M}) \). If Bob does not know whether \( a \) or \( -a \) is a square, he must send additional keying data, doubling the amount of data transmitted. The system is computationally efficient, with Bob's work dominated by the need to compute \( L \) Jacobi symbols for an \( L \)-bit transport key.
Reach us at info@study.space
[slides and audio] An Identity Based Encryption Scheme Based on Quadratic Residues