I've got a question about an assignment . The question is "Why a Public-Key Deterministic Encryption Algorithm does not provide perfect security ?" . I suppose it means according to Shannon .
Any help could be awesome!
Deterministic encryption means that if the same plaintext is encrypted twice, it results in the same ciphertext. This is intrinsically a breach of security.
“Absolute security” is not a technical term — but deterministic encryption breaks many definitions of security, including perfect security. If two ciphertexts are identical, it reveals the fact that the plaintexts are identical — and identical plaintexts lead to identical ciphertexts.
This is particularly bad in the presence of an encryption oracle: if the attacker can submit plaintexts for encryption, then the attacker can verify guesses about the plaintext corresponding to a ciphertext.
This is why most encryption algorithms (for example RSA PKCS1 v1.5 with salt, RSA OAEP, block cipher modes for encryption or authenticated encryption such as CBC, CTR, OCB, CCM, EAX, GCM, …) include some form of unique input to the encryption of each message (typically random, though whether more than unicity is important depends on the mode): salt, counter or IV.