Basicamente firmar (en gpg/pgp) consiste en generar un texto o fichero anexo al texto firmado, generado a partir del mensaje y de tu llave privada. Los demás, al recibirlo, y combinandolo con tu llave pública, podemos comprobar que el texto sólo lo has podido generar tu y que no ha sido manipulado.
El encriptar consiste en combinar el texto con la llave pública del destinatario (no la tuya). Sólo el destinatario tiene la llave privada necesaria para deshacerlo y leerlo. Se puede encriptar con varias llaves de varios destinatarios; es costumbre que uno de esos sea el propio remitente, porque si no, ni el remitente puede leer su propio texto una vez codificado.
Un texto puede estar cifrado y firmado simultaneamente.
Y se me ocurre, qué hay que hacer primero, firmar y luego cifrar, o primero cifrar y luego firmar? O esta es una operación conmutativa? -- Saludos, miguel