As chaves sao geradas por funcoes (que utilizam numr primos… bla bla bla wikipedia bla bla) elas tem uma ligacao entre si. Em tese voce pode criptografar com qualquer uma das chaves.
Se vc criptografa com sua chave privada … o parceiro vai ter sua chave publica e vai descriptografar.
Pense num banco, quando vc acessa uma pagina que contem certificado digital (apesar de estar errado, e ser a soma de outras coisas) pense nesse certificado como a chave publica daquele banco… entao vc reconhece POOO EH O BANCO XYZ
O banco expoe a chave publica dele pra vc descriptografar (usando ela) os dados que ele te envia (que ele criptografou com a chave privada dele).
Entao quando vc descriptografa com a chave pub. do banco vc pode dizer… realmente a informacao e do banco.
Resumindo
Joao [privada, publica] [[color=darkred]Privada1[/color],[color=red]Publica1[/color]]
Maria [privada, publica] [[color=green]Privada2[/color],[color=olive]Publica2[/color]]
Mais ou menos - Autenticidade
Se Joao quer enviar algo pra maria e quer provar a ela que foi ele que enviou entao ele
criptografa com sua chave privada [color=darkred]Privada1[/color] porque assim ela vai poder descriptografar com a chave publica [color=red]Publica1[/color] do joao
Mais ou menos - Privacidade
Agora se o joao quer que so a maria veja os dados ele pega a chave publica da maria [color=olive]Publica2[/color], criptogafa os dados
e envia para maria, essa por sua vez usa sua chave privada [color=green]Privada2[/color] para descriptografar a msg (em tese so a chave privada dele eh capaz de descriptografar a msg do joao)
Ficou claro