Probabilistic encryption

Probabilistic encryption is the use of randomness in an encryption algorithm, so that when encrypting the same message several times it will, in general, yield different ciphertexts. The term "probabilistic encryption" is typically used in reference to public key encryption algorithms; however various symmetric key encryption algorithms achieve a similar property (e.g., block ciphers when used in a chaining mode such as CBC), and stream ciphers such as Freestyle[1] which are inherently random. To be semantically secure, that is, to hide even partial information about the plaintext, an encryption algorithm must be probabilistic.

  1. ^ Puthuparambil, Arun Babu; Thomas, Jithin Jose (2019-12-01). "Freestyle, a randomized version of ChaCha for resisting offline brute-force and dictionary attacks". Journal of Information Security and Applications. 49: 102396. arXiv:1802.03201. doi:10.1016/j.jisa.2019.102396. ISSN 2214-2126.