Suppose we have a secure trapdoor function defined on (G, F, F^-1) where G is a randomized algorithm outputs a key pair (pk, sk). Why would this trapdoor function become insecure if we apply F directly to plaintext message? E(pk,m) = c = F(pk, m)
Trapdoor functions only provide one-wayness. This means, that if one uses a trapdoor function to encrypt this may leak large parts of the plaintext. Suppose I have a trapdoor function $F(pk,m)$ for say n-bit messages $m$. I can now define an adapted trapdoor function working on $2n$ bit messages as
$F'(pk,m_1||m_2) = m_1 || F(pk,m_2)$
This is still a secure trapdoor function but, leaks half of the bits of the "plaintext".
An eavesdropper could easily test any candidate message to determine
whether or that candidate message was the plaintext message.
def test_candidate_message_(pk,c,candidate): if c == F(pk,candidate): return True else: return False