In an answer to a question about RSA and PGP, PulpSpy noted this:


  It is possible to generate an RSA key pair using GPG (for both encryption and signing -- you should not use the same key for both). 


What is the reasoning behind this?

Perhaps my understanding of public key encryption is flawed, but I thought the operations went something akin to this:


When Bob wants to encrypt a message to Alice, he uses Alice's public key for the encryption.  Alice then uses her private key to decrypt the message.
When Alice wants to digitally sign a message to Bob, she uses her private key to sign it.  Bob then uses Alice's public key to verify the signature.


Why is it important to use different keys for encryption and signing?  Would this not also mean you need to distribute two public keys to everyone with whom you wish to communicate?  I imagine this could easily lead to some amount of confusion and misuse of keys.

It is mostly that the management approaches and timeframes differ for the use of signing and encryption keys.

For non-repudiation, you never want someone else to get control to your signing key since they could impersonate you.  But your workplace may want to escrow your encryption key so that others who need to can get to the information you've encrypted.

You also may want a signing key to be valid for a long time so people around the world can check signatures from the past, but with an encryption key, you often want to roll it over sooner, and be able to revoke old ones without as many hassles.
