Is there an encryption algorithm where it's possible to combine multiple encryption keys into one, so that:
$E_{AB}(Data) = E_A(E_B(Data))$
KeyAB should be computable from KeyA and KeyB, but it must not be possible to compute or guess KeyA or KeyB from KeyAB and/or Data.
The algorithm should be as secure as possible, ideally asymmetrical (but if that's not possible, a good symmetrical one will also do).
XOR meets the above criteria, like so:
$KeyAB = KeyA \oplus KeyB$
$Data \oplus KeyAB = (Data \oplus KeyA) \oplus KeyB$
But XOR is obviously not a good crypto scheme, let alone asymmetrical. Are there any good alternatives for this particular use case?