Symmetric encryption vulnerable when encrypting and decrypting are the same? 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?
The short answer to your question is yes, but the devil is in the details of "(i.e.  can be considered a cryptographically secure source of randomness)".  For one thing, the "entropy stream" or any portion of it must never be reused within the same (periodicity) or any &amp; all other input data streams.  For another, it is in principle impossible to prove randomness.  OTOH, "cryptographic security" is more tractable.

Interestingly (at least to me) there is another binary primitive that has the same reflexive property as XOR: complementation, or double subtraction.  Consider this C fragment:
    Output_byte = (512 - Input_byte - Key_byte) &amp; 0xff;

There are other (faster) ways of doing it using logical inverse &amp; the properties of two's complement representation, but it's still nowhere near as fast as XOR. It does, however, have the same self-inverse property that XOR does.