Alice can retrieve asymmetric encrypted messages (let's call one of them C1 and the Message itself M) for her from an untrusted environment (let's call it Eve). She owns her private key K1 and has published her public key P1. Bob is just like Alice and uses Eve's platform. He owns his private key K2 and his published public key P2.
Alice now decides to share all her Messages with Bob. Normally she would retrieve each encrypted message C1, decrypt it to M using K1 and encrypt it again to C2 using P2.
However, Alice is in a rush today and doesn't have the time to 'translate' all that messages. She would rather like to create some form of re-encryption key R combining K1 and P2. It is important that you cannot calculate K1 (since it is private for Alice) even when you know R and maybe P2. She would then send Eve R and Eve has to translate all possible messages C1 directly to C2 without ever finding out M.
Does any asymmetric encryption method exist which provides such a 'rekeying' feature?