pull down to refresh

Nice!

Your security requirements could be nice intros to attack models. For example, you're almost describing IND-CPA here:

Anyone who has your public key can now encrypt a message and send it to you in the form of a ciphertext.

An important requirement here is that an attacker cannot figure out m, even if they have access to c and pk. That is, they cannot decipher the message with just the ciphertext and the public key. They need the secret key to do so.