To my understanding, symmetric encryption is where encrypting and decrypting data can occur with the same key.
It's possible for symmetric encryption that the encrypting and decrypting algorithms are the same, but this is not always the case. If I'm not mistaken, with AES this could be the case for some block modes, not for others, but I'm not 100% certain about this. (?)
A dummy example which has this property is ROT13 encryption (which therefore also happens to be ROT13 decryption).
An encryption scheme can work as follows:
- Based on some password or key, define a deterministic stream of pseudorandom noise or garbage ("entropy stream").
- Output data = input data XOR'ed with the entropy stream from step 1.
In this case, encrypting and decrypting are the same.
Assuming that the entropy generator in step 1 is safe (i.e. can be considered a cryptographically secure source of randomness), is the above encryption scheme sound and safe? Or are their still downsides to it compared to other symmetric encryptions, that may not have the poperty of encrypting and decrypting being the exact same algorithm?