Hi,
Sorry about the barge in and late reply....
E(key1, E(key2, Message)) = E(key2, E(key1, Message))
...that is (key1 XOR message) XOR key2 == (key2 XOR message) XOR key1,
so that the keys may be applied in either order for encryption or
decryption, but both keys are required to decrypt a message that is
thus encrypted.
These are not equivalent. Under the XOR proposal, it is possible to find a third key, key3, such that (key3 XOR message) == ((key1 XOR message) XOR key2). key3 would be (key1 XOR key2). I believe the property does not satisfy what the OP requires.
Going back to my cryptography class (and IIRC), it took mathematicians some time to prove that DES was not closed under its operation, so that there was not short cut into recovery of plain text using 2-key triple des and 3-key triple des. That is, E(key1, E(key2, Message)) != E(key3, message).
Jeff