I am trying to get my head around the circumstances under which a cipher is (or is not) semantically secure under a chosen-plaintext attack.
I can't seem to find a good reference explaining this.
I think I am missing a fundamental concept, so If I explain it as I see it perhaps someone can correct me.
Semantic security means that the adversary cannot learn anything about the plaintext from the ciphertext (except for the length of the message which is known beforehand).
I.e. the message is entirely indistinguishable from random bits.
So it seems to me that if a stream cipher is using a true PRG, it's output will always be indistinguishable from random, a chosen plaintext attack will not assist the adversary.
However if the encryption is deterministic then a chosen plaintext attack will reveal "information" about messages, as the ciphertexts can be compared to one another.
Am I missing something?