In practice, public-key crypto used to secure and distribute session keys, which are then used with private-key crypto to secure message traffic.