For security against Chosen Plaintext Attack (CPA), we need randomized algorithms for encryption. But in some schemes (maybe almost all of them) take decryption algorithm deterministic. This procedure occurs in functional encryption, that its security definitions are more complicated than ordinary public encryption, too. This is a little confusing.
- Is using a deterministic algorithm for decryption equivalent to using a randomized algorithm? How?
- Which one give us more security?
- Why do we use deterministic algorithms for decryption when randomized algorithms have more merits? Are deterministic algorithms more efficient for decryption in the trade-off between security and efficiency?
- Are these situations for functional encryption too? i.e., in functional encryption, like ordinary public key encryption, we tend to use deterministic algorithms for decryption?