Does there exist a cipher that can be encrypted twice with two different keys and then decrypted twice using either key first?
For example:
Plaintext is "Lemons are great!"
Encode with Key #1
Encode with Key #2
Decode with Key #1
Decode with Key #2
Result is "Lemons are great!"
To my understanding TLS does something like this, but I'm not sure. I've also tried reading about elliptical curve cryptography to no avail (of useful understanding, that is). I've also tried my own tests with OpenSSL but I feel like it's salting things and therefore is making it not work.
I understand this is possible with a ROT(n), but that's of course not considered cryptographically secure.