This paper presents an identity-based encryption scheme based on quadratic residues. The system allows a user's public key to be their identity, eliminating the need for a separate public key directory. The security of the scheme is based on the difficulty of solving the quadratic residuosity problem.
The system involves an authority that generates a public modulus M, which is the product of two primes P and Q, both congruent to 3 mod 4. A secure hash function is also used. When a user, such as Alice, registers, she provides her identity to the authority, which then generates a private key for her. This private key is derived from the hash of her identity, ensuring that the resulting value a is a quadratic residue modulo M.
To encrypt a message for Alice, Bob uses a transport key, which is encrypted using symmetric encryption. He then sends each bit of the transport key to Alice. For each bit, Bob selects a random value t such that the Jacobi symbol of t equals the bit value. He then sends s = (t + a/t) mod M to Alice. Alice can recover the bit by calculating the Jacobi symbol of s + 2r mod M, where r is the square root of a modulo M.
If Bob is unsure whether a or -a is the square for which Alice holds the root, he must send two sets of values to ensure the correct bit is recovered. This doubles the amount of keying data sent. The system is computationally efficient, with the main cost being the computation of Jacobi symbols. The scheme is secure because the difficulty of determining whether a is a quadratic residue modulo M is related to the difficulty of factoring M.This paper presents an identity-based encryption scheme based on quadratic residues. The system allows a user's public key to be their identity, eliminating the need for a separate public key directory. The security of the scheme is based on the difficulty of solving the quadratic residuosity problem.
The system involves an authority that generates a public modulus M, which is the product of two primes P and Q, both congruent to 3 mod 4. A secure hash function is also used. When a user, such as Alice, registers, she provides her identity to the authority, which then generates a private key for her. This private key is derived from the hash of her identity, ensuring that the resulting value a is a quadratic residue modulo M.
To encrypt a message for Alice, Bob uses a transport key, which is encrypted using symmetric encryption. He then sends each bit of the transport key to Alice. For each bit, Bob selects a random value t such that the Jacobi symbol of t equals the bit value. He then sends s = (t + a/t) mod M to Alice. Alice can recover the bit by calculating the Jacobi symbol of s + 2r mod M, where r is the square root of a modulo M.
If Bob is unsure whether a or -a is the square for which Alice holds the root, he must send two sets of values to ensure the correct bit is recovered. This doubles the amount of keying data sent. The system is computationally efficient, with the main cost being the computation of Jacobi symbols. The scheme is secure because the difficulty of determining whether a is a quadratic residue modulo M is related to the difficulty of factoring M.