[Enigmail] use of openPGP
Bo Berglund
bo.berglund at telia.com
Thu Sep 27 14:25:22 PDT 2007
On Thu, 27 Sep 2007 16:04:53 -0400, James Kosin
<jkosin at beta.intcomgrp.com> wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>
>This makes a bit more sence; so,
>(1) When enigmail sends an encrypted message; it creates a session
>key to encrypt the message. Kind of like the password to send.
>(2) Then encrypts the session key with the destination's public key
>(so the recipient can decrypt the message using their private key.
>(3) I'm guessing enigmail creates another copy of the session key
>encrypted for each destination. You state this above; so I guess it
>has to be true.
The session key is separately encrypted to *each* recipient's public
key, the section of the message is marked so it can be found by GPG on
decryption. So each recipient has his own encrypted section holding
the session key encrypted with his own public key. So he can decrypt
using his private key.
>(4) I'm also taking a stab by saying "The fewer people you send an
>encrypted message to the better." Since with multiple copies of the
>encrypted session key are embedded in the message the more of a chance
>a hacker can actually guess (not easily done) the session key and
>decrypt the message themselves. (with a LOT OF TIME)... Not that
>anyone would actually want to do such a thing.
Since the session key is encrypted using the public half of the key
pair and because these keys normally are 2-4 k in size, breaking the
cipher is basically impossible my many orders of magnitude even if you
know that the same text (the session key) has been encrypted by
different public keys.
The session key is much smaller, often "only" 128 bits. But this is
considered plenty safe by itself, compare to the DES keys that are
half or less in length and are still rather good. Decryption time
increases *very fast* with length of the session key....
>
>The public and secret keys used by enigmail and PGP are examples of
>Asymmetric keys. One doesn't have to have the secret key to verify
>the signature that is what the public key is for. But to create a
>message, they need the secret key. The public key won't work for
>creating a message.
Wrong thinking...
Signing a message means that a signature is created of the message
contents and then encrypted by the sender using his *private* key.
The recipients of the message can verify the signature by decrypting
it with the senders *public* key (since it was encrypted using the
secret private key it can be decrypted using the public key).
Then the signature is compared against a signature calculated on the
actual received text.
Two things come out of this:
1) The signature is verifiable created by the original sender if it
can be successfully decrypted with his public key.
2) If the encrypted signature matches the signature of the received
text that the text has not been changed en route.
So here is an example of using someones public key to decrypt
something that he encrypted using the secret key.
Next claim is that one needs someone's secret key to create messages
to him. Completely wrong!
What is done is the opposite of the above where we used the public key
to decrypt something the holder of the private key has encrypted with
his private key.
Here we *encrypt* using the private key and the resulting data cannot
be decrypted except with the secret key held by the recipient.
So it is very well possible to *create* the message to him and he will
be the only one able to decrypt it.
Is this really so hard to understand???
Bo Berglund
More information about the Enigmail
mailing list