The Benaloh Cryptosystem is an extension of the Goldwasser-Micali cryptosystem (GM) created in 1994 by Josh (Cohen) Benaloh. The main improvement of the Benaloh Cryptosystem over GM is that longer blocks of data can be encrypted at once, whereas in GM each bit is encrypted individually.
Contents
Scheme Definition
Like many public key cryptosystems, this scheme works in the group
Key Generation
Given block size r, a public/private key pair is generated as follows:
- Choose large primes p and q such that
r | ( p − 1 ) , gcd ( r , ( p − 1 ) / r ) = 1 , andgcd ( r , ( q − 1 ) ) = 1 - Set
n = p q , ϕ = ( p − 1 ) ( q − 1 ) - Choose
y ∈ Z n ∗ y ϕ / r ≢ 1 mod n .
- Set
x = y ϕ / r mod n
The public key is then
Message Encryption
To encrypt message
- Choose a random
u ∈ Z n ∗ - Set
E r ( m ) = y m u r mod n
Message Decryption
To decrypt a ciphertext
- Compute
a = c ϕ / r mod n - Output
m = log x ( a ) , i.e., find m such thatx m ≡ a mod n
To understand decryption, first notice that for any
To recover m from a, we take the discrete log of a base x. If r is small, we can recover m by an exhaustive search, i.e. checking if
Security
The security of this scheme rests on the Higher residuosity problem, specifically, given z,r and n where the factorization of n is unknown, it is computationally infeasible to determine whether z is an rth residue mod n, i.e. if there exists an x such that