Really Secure Awesome Cryptography is a protocol for sending messages based on public-key cryptography. Assume that messages are simple text strings of at most 500 characters. Users choose a private key, which is a whole number between $1$ and $10^{81}$. They apply the Wonky Doodle Algorithm (a generalisation of elliptic curves – the details are irrelevant to this problem) to map the private key to a public key. The public key is also a number between $1$ and $10^{81}$, and is known to everybody who also uses RSA Cryptography (duh!).
You can assume that:
- A whole number between $1$ and $10^{81}$ corresponds to a bijective function that maps strings to strings (i.e. possible input and output strings are in 1-1 correspondence).
- Any such function will map any sensible string (e.g. the title of this puzzle) to a different string that “looks completely random”.
- A private/public key pair corresponds to two functions that are inverses of each other
- It is not feasible to invert the WDA and find the private key. In particular $10^{81}$ is large enough to withstand a brute force attack
Alice, Bob and Eve have chosen the following private keys:

Joe Bloggs wants to send the message “HAPPYSTAR’S PUZZLES ARE AWESOME” that can be read by his friends Alice and Bob but not Eve. How can he achieve this? Joe wants to achieve this in a single message (i.e. he can't make two copies of the same message and apply Alice’s public key to the first and Bob’s public key to the second). Admittedly this isn't a realistic application of cryptography, but I intended this as a fun puzzle.
EDIT: This problem assumes some knowledge of public key cryptography in particular public key encryption.
DISCLAIMER: Not sure if my understanding of cryptography is 100% sound, and it’s been a while since I was at university. But if this problem gets a negative score … then it gets a negative score.