[Univ of Cambridge] [Dept of Engineering]

PGP

[Introduction] [Setting Yourself Up at CUED to read/write messages] [Signing and Verifying Documents] [Maintaining Keyrings] [Authentifying Public Keys] [More Information]

Introduction

PGP (Pretty Good Privacy) provides a way to Many code systems require that both parties know a secret codeword, but that requires transmitting the secret codeword and trusting others. With PGP each person has a private "key" which only they need to know. They also have a public "key" which others need to know in order to communicate with that person using PGP. A user's private "key" is stored in a file in their space but it can't be used until the user types in a pass phrase, so even if the machine is stolen, messages are still safe.

So how does all this work in practise? Suppose sender A wants to send a secure message to B. Sender A encrypts the message using B's public "key" before sending it. This encryption might be done transparently by the mailer, or by preparing the message beforehand using pgp from the command line. Then B decrypts it using their own private "key". Even if the message is intercepted it's very hard to decode.

Setting Yourself Up at CUED

Signing and Verifying Documents

Sometimes you may need to deal with a file (a contract maybe, or a program) whose authenticity you want to verify. If the file has been "signed" you can use pgpv to verify it.

To sign a file yourself, use pgps -ta textfile, which produces a signed file called textfile.asc (the -ta means that a human-readable file is produced, rather than a compressed one). The signature appended to the end of the file depends on the contents of the document and on your private key, so any change to the file will make the signature "bad".

To check the signature integrity of a signed file use pgpv signedfile. As a test, try creating a signed file, then check its integrity, change it and check its integrity again. There are options to encrypt the file as well as sign it.

Maintaining Keyrings

Authentifying Public Keys

How can you know whether to trust a public key? Public keys can be "certified" by someone else, just as signed documents can, so if you're sure about A's public key and A has certified B's public key then you can trust B's public key. In this way a chain of trust can be built up, ending perhaps, at a Certifying Authority.

You can set validity and trust setting for the keys on your public key ring. Typing pgpk -c will show the keys' current settings.

More Information


[Mail] [Security] [Help]

Updated December, 1999
tpl@eng.cam.ac.uk and mgj17@eng.cam.ac.uk