Randy Kramer wrote:
> I'm not sure if you're talking about a specific type of encryption, but most 
> such codes can encrypt with either key and decrypt with either key.

Correct.

> If I want to send a (secret) message to you, I can encrypt it with your public 
> key and you will be able to decrypt it with your private key.

Correct in principle. In practice, I encrypt the message using a 
symmetric cipher, encrypt that key using your public key, and send both 
ciphertexts. That way I can send a private message to multiple 
recipients without having to encrypt the entire message multiple times.

> If I want to send a message to everyone and "guarantee my signature" (i.e., 
> sign it), I can encrypt it with my private key.  If it can be decrypted with 
> my public key, it is (almost) a guarantee that I did originate the message.

Correct in principle. In practice, I encrypt a hash of the message in my 
private key. You hash the message and check that your result matches the 
one I sent. That way, a message can have multiple signers in any order.

Steve