Verifying a Digital Signature
Presumably you are reading this because you received an e-mail from me with this signature:
This message was digitally signed. If you are curious, or worried about an "unknown attachment", see http://cromwell-intl.com/digsig/ ---___-_-_-_-___-______-_---_---___-_---___-_---_-_-___-_---_-_-___-_-_-_ All unencrypted communication by Internet, telephone, and fax is subject to interception and archiving. Corporate announcements of desire for deletion by unintended recipients accomplish nothing. ______-_-_-_-___-_---___-_-_-_---___-______-___-_---___-_---_-___-_-_-___ PGP key fingerprint: 6E6E 1DF0 C381 9172 55B4 AC00 8344 6EEA 41E1 A929
A digital signature is a security mechanism based on cryptography. It allows someone to verify two crucial aspects of information security:
Message integrity — The message received is identical to what was originally sent. Nothing, not a single character, has been changed, added, or deleted.
Sender authentication — The message was in fact sent by the person or other entity the message claims to be from.
If the digital signature can be verified, then you can have very high confidence in data integrity and sender identity. If it cannot, then either the data has been somehow modified or it is an attempt to spoof the identity of another sender. You cannot tell precisely how it was modified — what was changed, added, or deleted — just that something was done to it.
How Do You Verify A Digital Signature?
The simple answer is that you just need to import my public key into your PGP keyring and make sure that your mail tool uses it.
Unfortunately, despite the fact that my messages are signed using the OpenPGP standard, a standard dating from November 1998, many people seem to use mail tools that do not understand it. If you're reading this because you were puzzled or worried by mysterious "unknown attachments" reported by your mail tool, then you are one of those people using inadequate mail tools like Outlook Express.
If you're curious about the cryptography, about the mechanics (or really the mathematics) of how a digital signature is created and verified, see my "Just Enough Cryptography" page for an overview.
Digital Signatures Do Not Provide Confidentiality!
You must understand that digital signatures do not provide confidentiality.
While they are based on cryptography, digital signatures do not encrypt the message. Anyone can read a digitally signed message. The signature itself is just a distraction or is ignored if you or your mail software do not use it.
All communication on public telecommunication networks — Internet, telephone, facsimile, etc — is subject to interception and archiving. It is easy for governments to do this because Internet and telephone traffic must pass through a limited number of backbone interconnection points. The governments simply obligate the telecommunications companies to provide access, or even to do the data collection on behalf of the government.
Yes, this process was greatly expanded in the U.S. during the Cheney/Bush administration, but it had already been underway for many years. See, for example:
The only defense, potentially very powerful if done very carefully, is to encrypt the message. The encrypted message, the ciphertext, can still be intercepted and archived. However, the intercepting agency would have to decrypt the message to make any sense of it beyond the fact that at some time person A sent a message to person B.
Again, see my "Just Enough Crypto" page to see what would be involved to protect your communication, and what would be required to attack the encryption.
The Form of a Digitally-Signed Message
Below is an actual message.
Notice the in-line markup indicating the start of the
signed message, the end of the message and start of the
signature, and the end of the signature,
all of those highlighted in
Then the protected message body itself has a
Finally, the PGP digital signature itself has an
To: email@example.com From: Bob Cromwell <firstname.lastname@example.org> Subject: Here is an example of an OpenPGP message Message-ID: <579FEB4C.email@example.com> Date: Mon, 1 Aug 2016 20:37:32 -0400 User-Agent: Mozilla/5.0 (X11; OpenBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 This is the message body. All of the message body has been protected with cryptographic tamper protection" in the form of a digital signature. Bob - -- This message was digitally signed, see http://cromwell-intl.com/digsig/ - ---___-_-_-_-___-_____-_---_---___-_---___-_---_-_-___-_---_-_-___-_-_-_ All unencrypted communication by Internet, telephone, and fax is subject to interception and archiving. Corporate announcements of desire for deletion by unintended recipients accomplish nothing. ______-_-_-_-___-_---___-_-_-_---___-______-___-_---___-_---_-___-_-_-__ PGP key fingerprint: 6E6E 1DF0 C381 9172 55B4 AC00 8344 6EEA 41E1 A929 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXn+tCAAoJEINEbupB4akpz0wP/RfNBWhG9D+jav5ST/78K6pE ODC4r3OpTP1CBuF1ntP6JJ1oVjMA1q7lgWkCYNIxorQ84NUzhv0S214hPnf4SLJN dCHesLW9ox9miAWuKP4ZoQvXrRYDKAZuEgdONaG44NRsXeN2V3FEnMpNJgBOL9Ee n+f1zecuuTRHWfRWDbo3exmHeS52kuohDuP1lxaAbpK3HwuIwa40xUQ10e/YuvBb vbXbyQcYWvkOexvJGxk8gvDUSpZOSrjBpQvhNBxZN36CqlxhEiMbmuGgCsOJHMiO awmgDqqflUU1DoA8AXPpzEPdipcBwV0heKawVh0hBnMNl7BxA1XW0p5E0ESkysfp YipMAOeMeXelHby8ZGpBCVSVUI+r7COlonN8AT2Mfb7gHkBmOLIlKyykub00mFCX puudQAQMmMxshA54pBmGPRJ2ESDaAp5SYqMf7rlind5HSe0g2gSUKPz2+Z7yrdWP tjeuJOsBCmcbI+z/7UnLBFEYgPfVLNibHS0psdCXyHR0qDA9ingNd6MRwTrw6nMN 2O+iKuTpDkkuo14HDh8kGk6hRU2gzghFqmwJNGTZkrT0uYKM9hchRq7ndfWArkqn hJPjPgMTjJNIqtie2IMUDtnRcBQvrVvWCMIDaI9NAx7DhEv02ANmDjTmqEydtPoV tGldCwKB56vGuIjQ0V2u =gpq8 -----END PGP SIGNATURE-----
As you can see from the message header and the PGP signature block, this message was digitally signed with GNU Privacy Guard (GnuPG) which I use as a plugin with the Thunderbird mail tool, running on the OpenBSD operating system.
However, since the message uses the OpenPGP standard format (which has been around since November, 1998), modern mail tools should be able to handle it regardless of application, graphical environment, or operating system.
The digital signature was made with the SHA-2-256 hash function followed by encryption with my 4096-bit RSA private key.
You can get the correponding public key from any of:
My site MIT PGP key server SKS key servers