In asymmetric key encryption, we have 2 functions, encrypt(m,k)
and decrypt(m,k)
, and 2 keys, public_key
and private_key
.
Well, if we dig down to the next level, we see that this is not quite true.
encrypt(m,k)
is never a function, that is, is determanistic. If it were, then someone with a ciphertext $c$, the public key $k$ could verify if it corresponded to a guess $m'$ by simply checking if $\text{encrypt}(m', k) = c$
Because we want public key encryption to be secure even if we encrypt low entropy plaintexts (that is, ones that could be guessed), we always make the encryption function nondeterministic; that is, it can generate a large number of ciphertexts corresponding to a specific plaintext, key; this prevents the above attack.
If we were to express this in function notation, we have $c = \text{encrypt}(m,k,r)$ (where $r$ is a random value that changes what $c$ is, but not what it decrypts to).
Because public key decryption has no such security requirements, it doesn't take such a random input.
Given that fuller explination of how public key encryption works in practice, I believe that it should be easy to deduce answers to the two questions you asked.