Pentru o schemă de semnătură, funcția $P$ trebuie să fie surjectiv, adică pentru fiecare element al spațiului de ieșire există cel puțin o intrare care produce acea ieșire. Acest lucru este astfel încât semnatarul să poată semna date care corespund oricărei valori de ieșire, adică pentru orice valoare țintă dată. $h$, semnatarul poate găsi $x$ astfel încât$P(x)=h$. Dacă funcția nu ar fi surjectivă, ar exista unele valori pentru care semnatarul nu poate produce semnături valide, de exemplu. $h$ pentru care nr $x$ există. Un simplu argument de numărare arată că din acest motiv $n\ge m$ pentru o schemă de semnătură.
Pentru o schemă de criptare, funcția $P$ trebuie să fie injectiv, adică pentru fiecare ieșire posibilă, există cel mult o intrare care o produce. Acest lucru este astfel încât un decriptor să poată recupera fără ambiguitate un mesaj, adică dat $m$ găsi unicul $x$ astfel încât $f(x)=m$. Dacă funcția nu ar fi injectivă, ar fi posibil să se producă mesaje pe care decriptarea nu le poate decripta în mod unic, adică există unele mesaje. $m$ pentru care $f(x_1)=f(x_2)=m$ iar decriptorul nu are cum să spună dacă mesajul dorit este $x_1$ sau $x_2$. Din nou, un simplu argument de numărare arată că $m\ge n$ pentru o schemă de criptare cu cheie publică.
Vedem și asta de folosit $P$ atât pentru semnare, cât și pentru criptare, $P$ trebuie să fie bijectiv (există $P$ cu $m=n$ care nu sunt bijective și atât de potrivite nici pentru semnare, nici pentru criptare). Deși există hărți bijective cu mai multe variante, este foarte greu să găsim una pentru care să putem ascunde harta inversă în mod eficient și sigur. Din acest motiv, funcțiile de semnare și de criptare sunt de obicei separate.