S / MIME e PGP são incompatíveis, mas usam conceitos semelhantes (criptografia assimétrica e certificados de chave pública ).
A maior diferença é que o S / MIME é baseado na infraestrutura de chave pública e tem os mesmos problemas que com SSL: se você quiser um certificado que será mostrado como" válido "para outros usuários, obter um de uma CA que todos "confiam", e isso custa dinheiro. A autoridade de certificação nem sempre pode ser confiável também; veja recente Comodo pwnage . A página "X.509" na Wikipedia tem uma boa lista de problemas .
Por outro lado, no OpenPGP você cria seu próprio certificado e valida os certificados de outros usuários usando "web of trust" . Não há autoridades, além de você e seus amigos de confiança imediata, que determinam se a chave de alguém corresponde à sua identidade no mundo real. (Isso, no entanto, às vezes pode ser difícil se você não conhece a pessoa.) O WoT é sem problemas também, mas (IMHO) são menores que os da PKI.
PGP / GPG Usado principalmente em sistemas operacionais * Nix (Linux; Unix), onde os clientes de e-mail, por exemplo, possuem esse recurso integrado.
O S / MIME é usado principalmente nos sistemas operacionais Windows, onde é incorporado nos produtos de software de cliente de e-mail da Microsoft.
Além disso, de outra perspectiva de "propósito de assinar e / ou criptografar e-mail", há informações interessantes neste livro: "Por Dentro do Windows Server 2003. Autori: William Boswell. Página # 975"