 Public keys are used for encryption or signature verification; private ones decrypt and sign.The design is such that finding out the private key is extremely difficult, even if the corresponding public key is known.As that design involves lengthy computations, a keypair is often used to exchange an on-the-fly symmetric key, which will only be used for the current session.