[Hauptseite Server] [Hauptseite PGP] [Key Signing Sessions] [Session Februar 2006]
DE Flagge [Deutsche Version]

Explanation to the wordings used with PGP

Recently changed

Key properties

A PGP key has three important properties:

  1. fingerprint, for example AD 23 A1 90 B1 2B AF BA 44 49 16 7E 3D A0 F3 C3
  2. key length, for example 2020 Bits
  3. KeyID, for example DD934139

You get these properties with pgp –kvc <userID> (using PGP 2.6.x) or by clicking on on Key Properties in the menu point Keys (using PGP 5.x or 6.x)
If you identify a key, you need these three key properties together with the User ID. In the User ID you find the name of the person which generated this key.

With the old keyformat (RSA keys) you have to verify these three properties together with the userID. For keys in the new keyformat (DH/DSS keys) verifying the fingerprint and the userID is enough.

key fingerprint

This is a kind of a checksum. It is calculated from the key. The probability for two keys having the same checksum (e.g. fingerprint) is neglectable. With the old PGP keyformat it is possible to generate an (RSA-) key with the same fingerprint as another key. In this case the key length will differ. Therefor all key properties must be compared to ensure to have the right key.

Normally such a key which was generated having a defined fingerprint will not be usable for secure communication, because it is not a product of two primes and can easily be factorized. It will also be difficult to generate the appropriate secret key. Nevertheless the key can be put on the keyservers.

key ID

A 8 octal (byte) long Number in sedecimal (hex) writing, which should identify a key. PGP shows the lower 4 octals of these 8 octals. It would be possible for two keys to have the same keyID's. There are some keys with the same keyIDs on the keyservers.

To enable PGP to distinct between a username (userID) and the key ID, the keyID is prefixed with 0x, for example 0xDD934139.

Keyserver

The keyservers are servers with a database of the public keys and key signatures for these public keys. These keyservers (at the moment more then 50) exchange new keys and key signatures. Therefore every server has all keys and key signatures. You can use any keyserver to search a key.

UserID

The user name, which belongs to the key. This could be any string, but by convention the userID is formatted as follows:
Format Example
Name <email address> Patrick Feisthammel <pafei@rubin.ch>
A key can contain multiple userIDs. For example if someone has multiple email addresses.

Keyformat

Prior to PGP 5.0 all the keys have been stored in the keyformat version 3 (V3). In that version the fingerprint is generated without taking the keylength into account. This is the reason why you have to check also the keylength if you verify the key properties of a key.
Only RSA keys can be stored in that (V3) format. PGP 5.0 introduced a new keyformat with the version 4 (V4). This format takes the keylength also into account to calculate the fingerprint. So you have not to verify the keylength for keys with this new keyformat (most are DH/DSS keys). Verifying the fingerprint and the userID is enough for these keys.

You could also store RSA key in the new keyformat V4. But today (July 1999) I'm not aware of any software supporting that. It would be impossible to use such RSA keys with the old PGP version though.

More Information: The keyformats are defined in the RFC2440.

secret key

In a Public Crypto Keysystem you need a secret and a public key. The secret key is only known to the person generating that key. The public key is distributed to anyone who interested.

public key

In a Public Crypto Keysystem you need a secret and a public key. The public key is distributed to anyone who is interested. With a public key you can encrypt a message, which will only be readable by the key holder of the secret key.

key ring

Ever PGP user collects the public keys of other PGP users in a file which is called the key ring.

To be exact, there are two key rings. One for the public keys and one for the secret keys. The public keyring is stored in a file called pubring.pgp (PGP 2.x.x) or pubring.pkr (PGP 5.x). The secret keyring is stored in the file secring.pgp (PGP 2.6.x) or secring.skr (PGP 5.x).

Passphrase

The passphrase protects your secret key from access through unauthorized persons.

The passphrase should be unbreakable. A normal passwort is not sufficent. That is why it is called a passphrase.

key revocation Certificate

If you want declare a key as invalid, you have to generate a key revocation Certificate. Such a Certificate is similar to a signature for a key (a key signature). But with this certificate the key will become invalid.
This is necessary for example if

To create such a certificate, you need the secret key and the passphrase. If you have lost the secret key or you do not remember the passphrase you can not generate new certificates.
This is the reason why you should generate a key revocation certificate at the same time as you generate a new key.

electronic signature

An electronic signature can be compared with a handwritten signature:

She can only be from the person, which knows the handwriting (respective the secret key)

An electronic signature is toughly binded to a document. Much more then a handwritten signature which could be done on an empty paper.

An electronic signature only fits to the document for which it has been generated.

Every modification of the document makes the signature invalid.

You can also sign other keys. This is called a key signature.

key signature

This is an electronic signature to a public key. Such a signature is a confirmation, that this key belongs to the person named in the user-ID field of the key.

PGP signs a user-ID. This binds the user-ID to the key material. For Keys with multiple user-ID's every user-ID should be signed.

The key signatures build a web of trust.
See also: keyservers

selfsigned signature

This is a key signature issued by the same key as the signed key material. This binds the userID of the key owner to the key material.

Every key should have such a selfsigned signature. If a key does not have this signature, the userID can be manipulated. PGP has no chance to recognize such manipulated userID.

Example for a selfsigned key:

Type Bits/KeyID    Date       User ID
pub  2048/A094DA25 1999/07/24 Patrick Feisthammel CERTIFICATION ONLY, Key A
            Key fingerprint = 2C 03 41 8E 72 82 6D 91  6A ED 83 45 A5 AF 13 DB
sig       A094DA25             Patrick Feisthammel CERTIFICATION ONLY, Key A

The Public Crypto Keysystem (PKK)

This is a very short explanation. More information can be found in the manuals for PGP.

Every user of a PKK generates two keys (or a key pair): A secret key and a public key. The public key is distributed to everyone which is interested in the key. The secret key is kept secret.

Encrypting: If a message is encrypted with a public key, it will only be readable be someone who has the appropriate secret key.

Signing: It is calculated a hashcode from the message which has to be signed. (A hashcode is a kind of a checksum. But is very difficult to find a text which has a given hashcode.) This hashcode is encrypted with the secret key. The recipient decrypts the encrypted hashcode with the public key of the sender and compares the decrypted hashcode with the hashcode he calculates from the message test. If they are the same, then the signature is valid and belongs to this message.

PGP 2.6.x uses the RSA algorithm for the PKK. A good (mathematical) explanation about RSA can be found at PGP Attacks.


Hints, Errors and Comments by mail to Patrick Feisthammel <pafei@rubin.ch>
Last modification: 19 June 2002, Patrick Feisthammel