Benaloh cryptosystem
The Benaloh Cryptosystem is an extension of the Goldwasser-Micali cryptosystem created in 1985 by Josh 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.
Scheme Definition
Like many Public [key cryptography|public key cryptosystems], this scheme works in the group where n is a product of two large primes. This scheme is homomorphic and hence malleable.Key Generation
Given block size r, a public/private key pair is generated as follows:- Choose large primes p and q such that and
- Set
- Choose such that.
- Set
Message Encryption
To encrypt message :- Choose a random
- Set
Message Decryption
To decrypt a ciphertext :- Compute
- Output, i.e., find m such that
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 for all. For larger values of r, the Baby-step giant-step algorithm can be used to recover m in time and space.