Annotation of pgp/doc/pgpdoc2.txt, revision 1.1.1.6

1.1.1.4   root        1: 
1.1.1.5   root        2: 
1.1.1.4   root        3:                     Phil's Pretty Good Software
                      4:                               Presents
                      5: 
                      6:                                =======
                      7:                                PGP(tm)
                      8:                               =======
                      9: 
                     10:                       Pretty Good(tm) Privacy
                     11:                 Public Key Encryption for the Masses
                     12: 
                     13: 
                     14:                      -------------------------
1.1.1.5   root       15:                          PGP(tm) User's Guide
                     16:                       Volume II: Special Topics
1.1.1.4   root       17:                      -------------------------
1.1.1.5   root       18:                          by Philip Zimmermann
1.1.1.6 ! root       19:                         Revised  11 October 94
1.1.1.4   root       20: 
                     21: 
1.1.1.6 ! root       22:                     PGP Version 2.6.2 - 11 Oct 94
1.1.1.5   root       23:                              Software by
                     24:                  Philip Zimmermann, and many others.
1.1.1.4   root       25: 
                     26: 
                     27: 
                     28: 
                     29: Synopsis:  PGP(tm) uses public-key encryption to protect E-mail and
                     30: data files.  Communicate securely with people you've never met, with
                     31: no secure channels needed for prior exchange of keys.  PGP is well
                     32: featured and fast, with sophisticated key management, digital
                     33: signatures, data compression, and good ergonomic design.
                     34: 
                     35: 
                     36: Software and documentation (c) Copyright 1990-1994 Philip Zimmermann.
                     37: All rights reserved.  For information on PGP licensing, distribution,
                     38: copyrights, patents, trademarks, liability limitations, and export
                     39: controls, see the "Legal Issues" section.  Distributed by the
                     40: Massachusetts Institute of Technology.
                     41: 
                     42: 
                     43: Contents
                     44: ========
                     45: 
                     46: Quick Overview
                     47: Special Topics
                     48:   Selecting Keys via Key ID
                     49:   Separating Signatures from Messages
                     50:   Decrypting the Message and Leaving the Signature on it
                     51:   Sending ASCII Text Files Across Different Machine Environments
1.1.1.6 ! root       52:   Using PGP as a Better Uuencode
1.1.1.4   root       53:   Leaving No Traces of Plaintext on the Disk
                     54:   Displaying Decrypted Plaintext on Your Screen
                     55:   Making a Message For Her Eyes Only
                     56:   Preserving the Original Plaintext Filename
                     57:   Editing Your User ID or Pass Phrase
                     58:   Editing the Trust Parameters for a Public Key
                     59:   Checking If Everything is OK on Your Public Key Ring
                     60:   Verifying a Public Key Over the Phone
                     61:   Handling Large Public Keyrings
                     62:   Using PGP as a Unix-style Filter
                     63:   Suppressing Unnecessary Questions:  BATCHMODE
                     64:   Force "Yes" Answer to Confirmation Questions:  FORCE
                     65:   PGP Returns Exit Status to the Shell
                     66:   Environmental Variable for Pass Phrase
1.1.1.6 ! root       67:   Setting Parameters in the PGP Configuration File
1.1.1.4   root       68:     TMP - Directory Pathname for Temporary Files
                     69:     LANGUAGE - Foreign Language Selector
                     70:     MYNAME - Default User ID for Making Signatures
                     71:     TEXTMODE - Assuming Plaintext is a Text File
                     72:     CHARSET - Specifies Local Character Set for Text Files
                     73:     ARMOR - Enable ASCII Armor Output
                     74:     ARMORLINES - Size of ASCII Armor Multipart Files
                     75:     KEEPBINARY - Keep Binary Ciphertext Files After Decrypting
                     76:     COMPRESS - Enable Compression
                     77:     COMPLETES_NEEDED - Number of Completely Trusted Introducers Needed
                     78:     MARGINALS_NEEDED - Number of Marginally Trusted Introducers Needed
                     79:     CERT_DEPTH - How Deep May Introducers Be Nested
                     80:     BAKRING - Filename for Backup Secret Keyring
                     81:     PUBRING - Filename for Your Public Keyring
                     82:     SECRING - Filename for Your Secret Keyring
                     83:     RANDSEED - Filename for Random Number Seed
                     84:     PAGER - Selects Shell Command to Display Plaintext Output
                     85:     SHOWPASS - Echo Pass Phrase to User
                     86:     TZFIX - Timezone Adjustment
                     87:     CLEARSIG - Enable Signed Messages to be Encapsulated as Clear Text
                     88:     VERBOSE - Quiet, Normal, or Verbose Messages
                     89:     INTERACTIVE - Ask for Confirmation for Key Adds
                     90:     NOMANUAL - Let PGP Generate Keys Without the Manual
                     91:   A Peek Under the Hood
                     92:     Random Numbers
                     93:     PGP's Conventional Encryption Algorithm
                     94:     Data Compression
                     95:     Message Digests and Digital Signatures
1.1.1.5   root       96:   Compatibility with Previous and Future Versions of PGP
1.1.1.4   root       97: Vulnerabilities
                     98:   Compromised Pass Phrase and Secret Key
                     99:   Public Key Tampering
                    100:   "Not Quite Deleted" Files
                    101:   Viruses and Trojan Horses
                    102:   Physical Security Breach
                    103:   Tempest Attacks
                    104:   Exposure on Multi-user Systems
                    105:   Traffic Analysis
1.1.1.5   root      106:   Protecting Against Bogus Timestamps
1.1.1.4   root      107:   Cryptanalysis
                    108: Legal Issues
                    109:   Trademarks, Copyrights, and Warranties
                    110:   Patent Rights on the Algorithms
1.1.1.5   root      111:   Freeware Status and Restrictions
                    112:   Restrictions on Commercial Use of PGP
                    113:   Other Licensing Restrictions
                    114:   Distribution
1.1.1.4   root      115:   Export Controls
                    116:   Philip Zimmermann's Legal Situation
1.1.1.5   root      117: Other Sources of Information on PGP
1.1.1.4   root      118:   Where to Get a Commercial Version of PGP
                    119:   Reporting PGP Bugs
1.1.1.5   root      120:   Fan Mail, Updates, and News
                    121:   Computer-Related Political Groups
                    122:   Recommended Readings
                    123:   To Contact the Author
1.1.1.4   root      124: Appendix A:  Where to Get PGP
                    125: 
                    126: 
                    127: Quick Overview
                    128: ==============
                    129: 
                    130: Pretty Good(tm) Privacy (PGP), from Phil's Pretty Good Software, is a
                    131: high security cryptographic software application for MSDOS, Unix,
                    132: VAX/VMS, and other computers.  PGP combines the convenience of the
                    133: Rivest-Shamir-Adleman (RSA) public key cryptosystem with the speed of
                    134: conventional cryptography, message digests for digital signatures,
                    135: data compression before encryption, good ergonomic design, and
                    136: sophisticated key management. 
                    137: 
                    138: This volume II of the PGP User's Guide covers advanced topics about
                    139: PGP that were not covered in the "PGP User's Guide, Volume I:
                    140: Essential Topics".  You should first read the Essential Topics
                    141: volume, or this manual won't make much sense to you.  Reading this
                    142: Special Topics volume is optional, except for the legal issues
                    143: section, which everyone should read.
                    144: 
                    145: 
                    146: 
                    147: Special Topics
                    148: ===============
                    149: 
                    150: 
                    151: Selecting Keys via Key ID
                    152: -------------------------
                    153: 
                    154: In all commands that let the user type a user ID or fragment of a
                    155: user ID to select a key, the hexadecimal key ID may be used instead. 
                    156: Just use the key ID, with a prefix of "0x", in place of the user ID. 
                    157: For example:
                    158: 
                    159:     pgp -kv 0x67F7
                    160: 
                    161: This would display all keys that had 67F7 as part of their key IDs.
                    162: 
                    163: This feature is particularly useful if you have two different keys
                    164: from the same person, with the same user ID.  You can unambiguously
                    165: pick which key you want by specifying the key ID.
                    166: 
                    167: 
                    168: Separating Signatures from Messages
                    169: -----------------------------------
                    170: 
                    171: Normally, signature certificates are physically attached to the text
                    172: they sign.  This makes it convenient in simple cases to check
                    173: signatures.  It is desirable in some circumstances to have signature
                    174: certificates stored separately from the messages they sign.  It is
                    175: possible to generate signature certificates that are detached from
                    176: the text they sign.  To do this, combine the 'b' (break) option with
                    177: the 's' (sign) option.  For example:
                    178: 
                    179:     pgp -sb letter.txt
                    180: 
                    181: This example produces an isolated signature certificate in a file
                    182: called "letter.sig".  The contents of letter.txt are not appended to
                    183: the signature certificate.
                    184: 
                    185: After creating the signature certificate file (letter.sig in the
                    186: above example), send it along with the original text file to the
                    187: recipient.  The recipient must have both files to check the signature
                    188: integrity.  When the recipient attempts to process the signature
                    189: file, PGP notices that there is no text in the same file with the
                    190: signature and prompts the user for the filename of the text. Only
                    191: then can PGP properly check the signature integrity.  If the
                    192: recipient knows in advance that the signature is detached from the
                    193: text file, she can specify both filenames on the command line:
                    194: 
                    195:     pgp letter.sig letter.txt
                    196: or: pgp letter letter.txt
                    197: 
                    198: PGP will not have to prompt for the text file name in this case.
                    199: 
                    200: A detached signature certificate is useful if you want to keep the
                    201: signature certificate in a separate certificate log.  A detached
                    202: signature of an executable program is also useful for detecting a
                    203: subsequent virus infection.  It is also useful if more than one party
                    204: must sign a document such as a legal contract, without nesting
                    205: signatures.  Each person's signature is independent.
                    206: 
                    207: If you receive a ciphertext file that has the signature certificate
                    208: glued to the message, you can still pry the signature certificate
                    209: away from the message during the decryption.  You can do this with
                    210: the -b option during decrypt, like so:
                    211: 
                    212:     pgp -b letter
                    213: 
                    214: This decrypts the letter.pgp file and if there is a signature in it,
                    215: PGP checks the signature and detaches it from the rest of the
                    216: message, storing it in the file letter.sig.
                    217: 
                    218: 
                    219: Decrypting the Message and Leaving the Signature on it
                    220: ------------------------------------------------------
                    221: 
                    222: Usually, you want PGP to completely unravel a ciphertext file,
                    223: decrypting it and checking the nested signature if there is one,
                    224: peeling away the layers until you are left with only the original
                    225: plaintext file.
                    226: 
                    227: But sometimes you want to decrypt an encrypted file, and leave the
                    228: inner signature still attached, so that you are left with a decrypted
                    229: signed message.  This may be useful if you want to send a copy of a
                    230: signed document to a third party, perhaps re-enciphering it.  For
                    231: example, suppose you get a message signed by Charlie, encrypted to
                    232: you.  You want to decrypt it, and, leaving Charlie's signature on it,
                    233: you want to send it to Alice, perhaps re-enciphering it with Alice's
                    234: public key.  No problem.  PGP can handle that.
                    235: 
                    236: To simply decrypt a message and leave the signature on it intact,
                    237: type:
                    238: 
                    239:     pgp -d letter
                    240: 
                    241: This decrypts letter.pgp, and if there is an inner signature, it is
                    242: left intact with the decrypted plaintext in the output file.
                    243: 
                    244: Now you can archive it, or maybe re-encrypt it and send it to someone
                    245: else.
                    246: 
                    247: 
                    248: 
                    249: Sending ASCII Text Files Across Different Machine Environments
                    250: --------------------------------------------------------------
                    251: 
                    252: You may use PGP to encrypt any kind of plaintext file, binary 8-bit
                    253: data or ASCII text.  Probably the most common usage of PGP will be for
                    254: E-mail, when the plaintext is ASCII text.  
                    255: 
                    256: ASCII text is sometimes represented differently on different
                    257: machines.  For example, on an MSDOS system, all lines of ASCII text
                    258: are terminated with a carriage return followed by a linefeed.  On a
                    259: Unix system, all lines end with just a linefeed.  On a Macintosh, all
                    260: lines end with just a carriage return.  This is a sad fact of life.
                    261: 
                    262: Normal unencrypted ASCII text messages are often automatically
                    263: translated to some common "canonical" form when they are transmitted
                    264: from one machine to another.  Canonical text has a carriage return
                    265: and a linefeed at the end of each line of text.  For example, the
                    266: popular KERMIT communication protocol can convert text to canonical
                    267: form when transmitting it to another system.  This gets converted
                    268: back to local text line terminators by the receiving KERMIT.  This
                    269: makes it easy to share text files across different systems.
                    270: 
                    271: But encrypted text cannot be automatically converted by a
                    272: communication protocol, because the plaintext is hidden by
                    273: encipherment.  To remedy this inconvenience, PGP lets you specify
                    274: that the plaintext should be treated as ASCII text (not binary data)
                    275: and should be converted to canonical text form before it gets
                    276: encrypted.  At the receiving end, the decrypted plaintext is
                    277: automatically converted back to whatever text form is appropriate for
                    278: the local environment.
                    279: 
                    280: To make PGP assume the plaintext is text that should be converted to
                    281: canonical text before encryption, just add the "t" option when
                    282: encrypting or signing a message, like so:
                    283: 
                    284:    pgp -et message.txt her_userid
                    285: 
                    286: This mode is automatically turned off if PGP detects that the
                    287: plaintext file contains what it thinks is non-text binary data.
                    288: 
1.1.1.6 ! root      289: If you need to use the -t option a lot, you can just turn on the
        !           290: TEXTMODE flag in the PGP configuration file.  That's what I do.
        !           291: 
1.1.1.4   root      292: For PGP users that use non-English 8-bit character sets, when PGP 
                    293: converts text to canonical form, it may convert data from the local
                    294: character set into the LATIN1 (ISO 8859-1 Latin Alphabet 1) character
                    295: set, depending on the setting of the CHARSET parameter in the PGP
                    296: configuration file.  LATIN1 is a superset of ASCII, with extra
                    297: characters added for many European languages.
                    298: 
                    299: 
                    300: 
1.1.1.6 ! root      301: Using PGP as a Better Uuencode
        !           302: ------------------------------
        !           303: 
        !           304: A lot of people in the Unix world send binary data files through
        !           305: E-mail channels by using the Unix "uuencode" utility to convert the
        !           306: file into printable ASCII characters that can be sent via email.  No
        !           307: encryption is involved, so neither the sender nor the recipient need
        !           308: any special keys.  The uuencode format was designed for a similar
        !           309: purpose as PGP's radix-64 ASCII transport armor format described in
        !           310: the "Sending Ciphertext Through E-mail Channels: Radix-64 Format"
        !           311: section, but not as good.  A different radix-64 character set is
        !           312: used.  Uuencode has its problems, such as 1) several slightly
        !           313: incompatible character sets for different versions of uuencode in the
        !           314: MSDOS and Unix worlds, and 2) the data can be corrupted by some
        !           315: E-mail gateways that strip trailing blanks or do other modifications
        !           316: to the character set used by uuencode.
        !           317: 
        !           318: PGP may be used in a manner that offers the same general features as
        !           319: uuencode, and then some.  You can get PGP to just convert a file into
        !           320: PGP's radix-64 ASCII transport armor format, but you don't have to
        !           321: encrypt the file or sign it, so no keys are needed by either party.
        !           322: Simply use the -a option alone.  For example:
        !           323: 
        !           324:     pgp -a filename
        !           325: 
        !           326: This would produce a radix-64 armored file called "filename.asc".
        !           327: 
        !           328: If you read the "Sending Ciphertext Through E-mail Channels: Radix-64
        !           329: Format" section, you will see that PGP's approach offers several
        !           330: important advantages over the uuencode approach:
        !           331: 
        !           332:  * PGP will break big files up into chunks small enough to E-mail.
        !           333:  * PGP will append a CRC error detection code to each chunk.
        !           334:  * PGP will attempt to compress the data before converting it to
        !           335:    radix-64 armor.
        !           336:  * PGP's radix-64 character set is more resilient to E-mail character
        !           337:    conversions than the one used by uuencode.
        !           338:  * Textfiles can be converted by the sender to canonical text 
        !           339:    format, as explained in the "Sending ASCII Text Files Across
        !           340:    Different Machine Environments" section.
        !           341: 
        !           342: The recipient can restore the sender's original filename by
        !           343: unwrapping the message with PGP's -p option.  You can use "pgp -a" in
        !           344: any situation in which you could have used uuencode, if the recipient
        !           345: also has PGP.  PGP is a better uuencode than uuencode.
        !           346: 
        !           347:  
        !           348: 
1.1.1.4   root      349: Leaving No Traces of Plaintext on the Disk
                    350: ------------------------------------------
                    351: 
                    352: After PGP makes a ciphertext file for you, you can have PGP
                    353: automatically overwrite the plaintext file and delete it, leaving no
                    354: trace of plaintext on the disk so that no one can recover it later
                    355: using a disk block scanning utility.  This is useful if the plaintext
                    356: file contains sensitive information that you don't want to keep
                    357: around.
                    358: 
                    359: To wipe out the plaintext file after producing the ciphertext file,
                    360: just add the "w" (wipe) option when encrypting or signing a message,
                    361: like so:
                    362: 
                    363:     pgp -esw message.txt her_userid
                    364: 
                    365: This example creates the ciphertext file "message.pgp", and the 
                    366: plaintext file "message.txt" is destroyed beyond recovery.
                    367: 
                    368: Obviously, you should be careful with this option.  Also note that
                    369: this will not wipe out any fragments of plaintext that your word
                    370: processor might have created on the disk while you were editing the
                    371: message before running PGP.  Most word processors create backup
                    372: files, scratch files, or both.  Also, it overwrites the file only
                    373: once, which is enough to thwart conventional disk recovery efforts,
                    374: but not enough to withstand a determined and sophisticated effort to
                    375: recover the faint magnetic traces of the data using special disk
                    376: recovery hardware.
                    377: 
                    378: 
                    379: 
                    380: Displaying Decrypted Plaintext on Your Screen
                    381: ---------------------------------------------
                    382: 
                    383: To view the decrypted plaintext output on your screen (like the
                    384: Unix-style "more" command), without writing it to a file, use the -m
                    385: (more) option while decrypting:
                    386: 
                    387:      pgp -m ciphertextfile
                    388: 
                    389: This displays the decrypted plaintext display on your screen one
                    390: screenful at a time.
                    391: 
                    392: 
                    393: 
                    394: Making a Message For Her Eyes Only
                    395: ----------------------------------
                    396: 
                    397: To specify that the recipient's decrypted plaintext will be shown
                    398: ONLY on her screen and will not be saved to disk, add the -m option:
                    399: 
                    400:      pgp -sem message.txt her_userid
                    401: 
                    402: Later, when the recipient decrypts the ciphertext with her secret key
                    403: and pass phrase, the plaintext will be displayed on her screen but
                    404: will not be saved to disk.  The text will be displayed as it would if
                    405: she used the Unix "more" command, one screenful at a time.  If she
                    406: wants to read the message again, she will have to decrypt the
                    407: ciphertext again.
                    408: 
                    409: This feature is the safest way for you to prevent your sensitive
                    410: message from being inadvertently left on the recipient's disk.  This
                    411: feature was added at the request of a user who wanted to send
                    412: intimate messages to his lover, but was afraid she might accidentally
                    413: leave the decrypted messages on her husband's computer.
                    414: 
                    415: Note that this feature will not prevent a clever and determined
                    416: person from finding a way to save the decrypted plaintext to disk--
                    417: it's to help prevent a casual user from doing it inadvertently.
                    418: 
                    419: 
                    420: 
                    421: Preserving the Original Plaintext Filename
                    422: ------------------------------------------
                    423: 
                    424: Normally, PGP names the decrypted plaintext output file with a name
                    425: similar to the input ciphertext filename, but dropping the 
                    426: extension.  Or, you can override that convention by specifying an
                    427: output plaintext filename on the command line with the -o option.
                    428: For most E-mail, this is a reasonable way to name the plaintext file,
                    429: because you get to decide its name when you decipher it, and your
                    430: typical E-mail messages often come from useless original plaintext
                    431: filenames like "to_phil.txt".  
                    432: 
                    433: But when PGP encrypts a plaintext file, it always saves the original
                    434: filename and attaches it to the plaintext before it compresses and
                    435: encrypts the plaintext.  Normally, this hidden original filename is
                    436: discarded by PGP when it decrypts, but you can tell PGP you want to
                    437: preserve the original plaintext filename and use it as the name of
                    438: the decrypted plaintext output file.  This is useful if PGP is used
                    439: on files whose names are important to preserve.
                    440: 
                    441: To recover the original plaintext filename while decrypting, add 
                    442: the -p option, like so:
                    443: 
                    444:      pgp -p ciphertextfile
                    445: 
                    446: I usually don't use this option, because if I did, about half of my
                    447: incoming E-mail would decrypt to the same plaintext filenames of
                    448: "to_phil.txt" or "prz.txt".
                    449: 
                    450: 
                    451: 
                    452: Editing Your User ID or Pass Phrase
                    453: -----------------------------------
                    454: 
                    455: Sometimes you may need to change your pass phrase, perhaps because
                    456: someone looked over your shoulder while you typed it in.  
                    457: 
                    458: Or you may need to change your user ID, because you got married and
                    459: changed your name, or maybe you changed your E-mail address.  Or
                    460: maybe you want to add a second or third user ID to your key, because
                    461: you may be known by more than one name or E-mail address or job
                    462: title.  PGP lets you attach more than one user ID to your key, any
                    463: one of which may be used to look up your key on the key ring.
                    464: 
                    465: To edit your own userid or pass phrase for your secret key:
                    466: 
                    467:      pgp -ke userid [keyring]
                    468: 
                    469: PGP prompts you for a new user ID or a new pass phrase.
                    470: 
1.1.1.5   root      471: If you edit your user ID, PGP actually adds a new user ID, without
                    472: deleting the old one.  If you want to delete an old user ID, you will
                    473: have to do that in a separate operation.
                    474: 
1.1.1.4   root      475: The optional [keyring] parameter, if specified, must be a public
                    476: keyring, not a secret keyring.  The userid field must be your own
                    477: userid, which PGP knows is yours because it appears on both your
                    478: public keyring and your secret keyring.  Both keyrings will be
                    479: updated, even though you only specified the public keyring.
                    480: 
                    481: The -ke command works differently depending on whether you use it on
                    482: a public or secret key.  It can also be used to edit the trust
                    483: parameters for a public key.
                    484: 
                    485: 
                    486: Editing the Trust Parameters for a Public Key
                    487: ---------------------------------------------
                    488: 
                    489: Sometimes you need to alter the trust parameters for a public key on
                    490: your public key ring.  For a discussion on what these trust
                    491: parameters mean, see the section "How Does PGP Keep Track of Which
                    492: Keys are Valid?" in the Essential Topics volume of the PGP User's
                    493: Guide.
                    494: 
                    495: To edit the trust parameters for a public key:
                    496: 
                    497:      pgp -ke userid [keyring]
                    498: 
                    499: The optional [keyring] parameter, if specified, must be a public
                    500: keyring, not a secret keyring.
                    501: 
                    502: 
                    503: 
                    504: Checking If Everything is OK on Your Public Key Ring
                    505: ----------------------------------------------------
                    506: 
                    507: Normally, PGP automatically checks any new keys or signatures on your
                    508: public key ring and updates all the trust parameters and validity
                    509: scores.  In theory, it keeps all the key validity status information
                    510: up to date as material is added to or deleted from your public key
                    511: ring.  But perhaps you may want to explicitly force PGP to perform a
                    512: comprehensive analysis of your public key ring, checking all the
                    513: certifying signatures, checking the trust parameters, updating all
                    514: the validity scores, and checking your own ultimately-trusted key
                    515: against a backup copy on a write-protected floppy disk.  It may be a
                    516: good idea to do this hygienic maintenance periodically to make sure
                    517: nothing is wrong with your public key ring.  To force PGP to perform
                    518: a full analysis of your public key ring, use the -kc (key ring check)
                    519: command:
                    520: 
                    521:      pgp -kc
                    522: 
                    523: You can also make PGP check all the signatures for just a single
                    524: selected public key by:
                    525: 
                    526:      pgp -kc userid [keyring]
                    527: 
                    528: For further information on how the backup copy of your own key is
                    529: checked, see the description of the BAKRING parameter in the
                    530: configuration file section of this manual.
                    531: 
                    532: 
                    533: 
                    534: Verifying a Public Key Over the Phone
                    535: -------------------------------------
                    536: 
                    537: If you get a public key from someone that is not certified by anyone
                    538: you trust, how can you tell if it's really their key?  The best way
                    539: to verify an uncertified key is to verify it over some independent
                    540: channel other than the one you received the key through.  One
                    541: convenient way to tell, if you know this person and would recognize
                    542: them on the phone, is to call them and verify their key over the
                    543: telephone.  Rather than reading their whole tiresome (ASCII-armored)
                    544: key to them over the phone, you can just read their key's
                    545: "fingerprint" to them.  To see this fingerprint, use the -kvc
                    546: command:
                    547: 
                    548:      pgp -kvc userid [keyring]
                    549: 
                    550: This will display the key with the 16-byte digest of the public key
                    551: components.  Read this 16-byte fingerprint to the key's owner on the
                    552: phone, while she checks it against her own, using the same -kvc
                    553: command at her end.  
                    554: 
                    555: You can both verify each other's keys this way, and then you can sign
                    556: each other's keys with confidence.  This is a safe and convenient way
                    557: to get the key trust network started for your circle of friends.
                    558: 
                    559: Note that sending a key fingerprint via E-mail is not the best way to
                    560: verify the key, because E-mail can be intercepted and modified.  It's
                    561: best to use a different channel than the one that was used to send
                    562: the key itself.  A good combination is to send the key via E-mail,
                    563: and the key fingerprint via a voice telephone conversation.  Some
                    564: people distribute their key fingerprint on their business cards,
                    565: which looks really cool.
                    566: 
1.1.1.5   root      567: For current versions of PGP, the key fingerprint is computed using 
                    568: the MD5 hash function.  A future version of PGP will optionally use a
                    569: new and different hash function, SHA, instead of MD5.
                    570: 
1.1.1.4   root      571: If you don't know me, please don't call me to verify my key over the
                    572: phone-- I get too many calls like that.  Since every PGP user has a
                    573: copy of my public key, no one could tamper with all the copies that
                    574: are out there.  The discrepancy would soon be noticed by someone who
                    575: checked it from more than one source, and word would soon get out on
                    576: the Internet.
                    577: 
1.1.1.5   root      578: For those of you who want to verify my public key (included in the
                    579: standard PGP release package), here are the particulars:
                    580: 
                    581:   UserID: "Philip R. Zimmermann <[email protected]>"
                    582:   Key Size: 1024 bits;  Creation date: 21 May 1993;  KeyID: C7A966DD
                    583:   Key fingerprint:  9E 94 45 13 39 83 5F 70  7B E7 D8 ED C4 BE 5A A6
                    584: 
                    585: The information printed above conceivably could still be tampered
                    586: with in the electronic distribution of the PGP User's Guide.  But if
                    587: you read this in the printed version of the manual, available in
                    588: bookstores from MIT Press, it's a safe bet that it really is my own
                    589: key's fingerprint.
1.1.1.4   root      590: 
                    591: 
                    592: Handling Large Public Keyrings
                    593: ------------------------------
                    594: 
                    595: PGP was originally designed for handling small personal keyrings for
                    596: keeping all your friends on, like a personal rolodex.  A couple
                    597: hundred keys is a reasonable size for such a keyring.  But as PGP has
                    598: become more popular, people are now trying to add other large
                    599: keyrings to their own keyring.  Sometimes this involves adding
                    600: thousands of keys to your keyring.  PGP, in its present form, cannot
                    601: perform this operation in a reasonable period of time, while you wait
                    602: at your keyboard.  Not for huge keyrings.
                    603: 
                    604: You may want to add a huge "imported" keyring to your own keyring,
                    605: because you are only interested in a few dozen keys on the bigger
                    606: keyring you are bringing in.  If that's all you want from the other
                    607: keyring, it would be more efficient if you extract the few keys you
                    608: need from the big foreign keyring, and then add just these few keys
                    609: to your own keyring.  Use the -kx command to extract them from the
                    610: foreign keyring, specifying the keyring name on the command line. 
                    611: Then add these extracted keys to your own keyring.
                    612: 
                    613: The real solution is to improve PGP to use advanced database
1.1.1.5   root      614: techniques to manage large keyrings efficiently.  We are working on
                    615: this, and should have it done Real Soon Now.  Until this happens, you
                    616: will just have to use smaller keyrings, or be patient.
1.1.1.4   root      617: 
                    618: 
                    619: 
                    620: Using PGP as a Unix-style Filter
                    621: --------------------------------
                    622: 
                    623: Unix fans are accustomed to using Unix "pipes" to make two
                    624: applications work together.  The output of one application can be
                    625: directly fed through a pipe to be read as input to another
                    626: application.  For this to work, the applications must be capable of
                    627: reading the raw material from "standard input" and writing the
                    628: finished output to "standard output".  PGP can operate in this mode.
                    629: If you don't understand what this means, then you probably don't need
                    630: this feature.
                    631: 
                    632: To use a Unix-style filter mode, reading from standard input and
                    633: writing to standard output, add the -f option, like so:
                    634: 
                    635:      pgp -feast her_userid <inputfile >outputfile
                    636: 
                    637: This feature makes it easier to make PGP work with electronic mail
                    638: applications.
                    639: 
                    640: When using PGP in filter mode to decrypt a ciphertext file, you may
                    641: find it useful to use the PGPPASS environmental variable to hold the
                    642: pass phrase, so that you won't be prompted for it.  The PGPPASS
                    643: feature is explained below.
                    644: 
                    645: 
                    646: Suppressing Unnecessary Questions:  BATCHMODE
                    647: ----------------------------------------------
                    648: 
                    649: With the BATCHMODE flag enabled on the command line, PGP will not ask
                    650: any unnecessary questions or prompt for alternate filenames.  Here
                    651: is an example of how to set this flag:
                    652: 
                    653:     pgp +batchmode cipherfile 
                    654: 
                    655: This is useful for running PGP non-interactively from Unix shell
                    656: scripts or MSDOS batch files.  Some key management commands still
                    657: need user interaction even when BATCHMODE is on, so shell scripts may
                    658: need to avoid them.  
                    659: 
                    660: BATCHMODE may also be enabled to check the validity of a signature on
                    661: a file.  If there was no signature on the file, the exit code is 1. 
                    662: If it had a signature that was good, the exit code is 0.
                    663: 
                    664: 
                    665: Force "Yes" Answer to Confirmation Questions:  FORCE
                    666: ----------------------------------------------------
                    667: 
                    668: This command-line flag makes PGP assume "yes" for the user response
                    669: to the confirmation request to overwrite an existing file, or when
                    670: removing a key from the keyring via the -kr command.  Here is an
                    671: example of how to set this flag:
                    672: 
                    673:     pgp +force cipherfile 
                    674: or:
                    675:     pgp -kr +force Smith
                    676: 
                    677: This feature is useful for running PGP non-interactively from a Unix
                    678: shell script or MSDOS batch file.
                    679: 
                    680: 
                    681: 
                    682: PGP Returns Exit Status to the Shell
                    683: ------------------------------------
                    684: 
                    685: To facilitate running PGP in "batch" mode, such as from an MSDOS
                    686: ".bat" file or from a Unix shell script, PGP returns an error exit
                    687: status to the shell.  An exit status code of zero means normal exit,
                    688: while a nonzero exit status indicates some kind of error occurred.
                    689: Different error exit conditions return different exit status codes to
                    690: the shell.
                    691: 
                    692: 
                    693: 
                    694: Environmental Variable for Pass Phrase
                    695: --------------------------------------
                    696: 
                    697: Normally, PGP prompts the user to type a pass phrase whenever PGP 
                    698: needs a pass phrase to unlock a secret key.  But it is possible to
                    699: store the pass phrase in an environmental variable from your
                    700: operating system's command shell.  The environmental variable PGPPASS
                    701: can be used to hold the pass phrase that PGP will attempt to use
                    702: first.  If the pass phrase stored in PGPPASS is incorrect, PGP 
                    703: recovers by prompting the user for the correct pass phrase.
                    704: 
                    705: For example, on MSDOS, the shell command:
                    706: 
                    707:     SET PGPPASS=zaphod beeblebrox for president
                    708: 
                    709: would eliminate the prompt for the pass phrase if the pass phrase
                    710: were indeed "zaphod beeblebrox for president". 
                    711: 
                    712: This dangerous feature makes your life more convenient if you have to
                    713: regularly deal with a large number of incoming messages addressed to
                    714: your secret key, by eliminating the need for you to repeatedly type
                    715: in your pass phrase every time you run PGP.
                    716: 
                    717: I added this feature because of popular demand.  However, this is a
                    718: somewhat dangerous feature, because it keeps your precious pass
                    719: phrase stored somewhere other than just in your brain.  Even worse,
                    720: if you are particularly reckless, it may even be stored on a disk on
                    721: the same computer as your secret key.  It would be particularly
                    722: dangerous and stupid if you were to install this command in a batch
                    723: or script file, such as the MSDOS AUTOEXEC.BAT file.  Someone could
                    724: come along on your lunch hour and steal both your secret key ring and
                    725: the file containing your pass phrase.  
                    726: 
                    727: I can't emphasize the importance of this risk enough.  If you are
                    728: contemplating using this feature, be sure to read the sections
                    729: "Exposure on Multi-user Systems" and "How to Protect Secret Keys from
                    730: Disclosure" in this volume and in the Essential Topics volume of the 
                    731: PGP User's Guide.
                    732: 
                    733: If you must use this feature, the safest way to do it would be to
                    734: just manually type in the shell command to set PGPPASS every time you
                    735: boot your machine to start using PGP, and then erase it or turn off
                    736: your machine when you are done.  And you should definitely never do
                    737: it in an environment where someone else may have access to your
                    738: machine.  Someone could come along and simply ask your computer to
                    739: display the contents of PGPPASS.
                    740: 
1.1.1.5   root      741: Sometimes you want to pass the pass phrase into PGP from another
                    742: application, such as an E-mail package.  In some cases, it may not
                    743: always be desirable to use the PGPPASS variable for that purpose. 
                    744: There is another way to pass your pass phrase into PGP from another
                    745: application.  Use the "-z" command line option.  This option is
                    746: designed primarily for invoking PGP from inside an E-mail package. 
                    747: The pass phrase follows the -z option on the command line.  There are
                    748: risks associated with using this approach, similar to those risks
                    749: described above for using the PGPPASS variable.
1.1.1.4   root      750: 
                    751: 
1.1.1.6 ! root      752: Setting Parameters in the PGP Configuration File
        !           753: ================================================
1.1.1.4   root      754: 
                    755: PGP has a number of user-settable parameters that can be defined in a
1.1.1.6 ! root      756: special PGP configuration text file called "config.txt", in the
        !           757: directory pointed to by the shell environmental variable PGPPATH. 
        !           758: Having a configuration file enables the user to define various flags
        !           759: and parameters for PGP without the burden of having to always define
1.1.1.4   root      760: these parameters in the PGP command line.
                    761: 
1.1.1.6 ! root      762: The filename "config.txt" has been in use for a long time by PGP, but
        !           763: some folks have pointed out that it may be at odds with naming
        !           764: conventions for configuration files for specific operating systems. 
        !           765: Accordingly, PGP now tries to open this filename only after first
        !           766: trying to open the file ".pgprc" on Unix platforms, and "pgp.ini" on
        !           767: other platforms, in the same directory that PGP would look for
        !           768: "config.txt".
        !           769: 
1.1.1.4   root      770: Configuration parameters may be assigned integer values, character
                    771: string values, or on/off values, depending on what kind of
                    772: configuration parameter it is.  A sample configuration file is
                    773: provided with PGP, so you can see some examples.
                    774: 
                    775: In the configuration file, blank lines are ignored, as is anything
                    776: following the '#' comment character.  Keywords are not
                    777: case-sensitive.  
                    778: 
                    779: Here is a short sample fragment of a typical configuration file:
                    780: 
                    781:    # TMP is the directory for PGP scratch files, such as a RAM disk.
                    782:    TMP = "e:\"    # Can be overridden by environment variable TMP.
                    783:    Armor = on     # Use -a flag for ASCII armor whenever applicable.
                    784:    # CERT_DEPTH is how deeply introducers may introduce introducers.
                    785:    cert_depth = 3
                    786: 
                    787: If some configuration parameters are not defined in the configuration
                    788: file, or if there is no configuration file, or if PGP can't find the
                    789: configuration file, the values for the configuration parameters
                    790: default to some reasonable value.
                    791: 
                    792: Note that it is also possible to set these same configuration
                    793: parameters directly from the PGP command line, by preceding the
                    794: parameter setting with a "+" character.  For example, the following
                    795: two PGP commands produce the same effect:
                    796: 
                    797:      pgp -e +armor=on message.txt smith
                    798: or:  pgp -ea message.txt smith
                    799: 
                    800: 
                    801: The following is a summary of the various parameters than may be
                    802: defined in the configuration file.
                    803: 
                    804: 
                    805: TMP - Directory Pathname for Temporary Files
                    806: --------------------------------------------
                    807: 
                    808: Default setting:  TMP = ""
                    809: 
                    810: The configuration parameter TMP specifies what directory to use for
                    811: PGP's temporary scratch files.  The best place to put them is on a
                    812: RAM disk, if you have one.  That speeds things up quite a bit, and
                    813: increases security somewhat.  If TMP is undefined, the temporary
                    814: files go in the current directory.  If the shell environmental
                    815: variable TMP is defined, PGP instead uses that to specify where the
                    816: temporary files should go.
                    817: 
                    818: 
                    819: LANGUAGE - Foreign Language Selector
                    820: ------------------------------------
                    821: 
                    822: Default setting:  LANGUAGE = "en"
                    823: 
                    824: PGP displays various prompts, warning messages, and advisories to the
                    825: user on the screen.  For example, messages such as "File not found.",
                    826: or "Please enter your pass phrase:".  These messages are normally in
                    827: English.  But it is possible to get PGP to display its messages to
                    828: the user in other languages, without having to modify the PGP
                    829: executable program.
                    830: 
                    831: A number of people in various countries have translated all of PGP's
                    832: display messages, warnings, and prompts into their native languages. 
                    833: These hundreds of translated message strings have been placed in a
                    834: special text file called "language.txt", distributed with the PGP
                    835: release.  The messages are stored in this file in English, Spanish,
                    836: Dutch, German, French, Italian, Russian, Latvian, and Lithuanian. 
                    837: Other languages may be added later.  
                    838: 
                    839: The configuration parameter LANGUAGE specifies what language to
                    840: display these messages in.  LANGUAGE may be set to "en" for English,
                    841: "es" for Spanish, "de" for German, "nl" for Dutch, "fr" for French,
                    842: "it" for Italian, "ru" for Russian, "lt3" for Lithuanian, "lv" for
                    843: Latvian, "esp" for Esperanto.  For example, if this line appeared in
                    844: the configuration file:
                    845: 
                    846:    LANGUAGE = "fr"
                    847: 
                    848: PGP would select French as the language for its display messages.
                    849: The default setting is English.
                    850: 
                    851: When PGP needs to display a message to the user, it looks in the
                    852: "language.txt" file for the equivalent message string in the selected
                    853: foreign language and displays that translated message to the user.
                    854: If PGP can't find the language string file, or if the selected
                    855: language is not in the file, or if that one phrase is not translated
                    856: into the selected language in the file, or if that phrase is missing
                    857: entirely from the file, PGP displays the message in English.
                    858: 
                    859: To conserve disk space, most foreign translations are not included 
                    860: in the standard PGP release package, but are available separately.
                    861: 
                    862: 
                    863: MYNAME - Default User ID for Making Signatures
                    864: ----------------------------------------------
                    865: 
                    866: Default setting:  MYNAME = ""
                    867: 
                    868: The configuration parameter MYNAME specifies the default user ID to
                    869: use to select the secret key for making signatures.  If MYNAME is not
                    870: defined, the most recent secret key you installed on your secret key
                    871: ring will be used.  The user may also override this setting by
                    872: specifying a user ID on the PGP command line with the -u option.
                    873: 
                    874: 
                    875: TEXTMODE - Assuming Plaintext is a Text File
                    876: --------------------------------------------
                    877: 
                    878: Default setting:  TEXTMODE = off
                    879: 
                    880: The configuration parameter TEXTMODE is equivalent to the -t command
                    881: line option.  If enabled, it causes PGP to assume the plaintext is a
                    882: text file, not a binary file, and converts it to "canonical text"
                    883: before encrypting it.  Canonical text has a carriage return and a
                    884: linefeed at the end of each line of text.
                    885: 
                    886: This mode will be automatically turned off if PGP detects that the
                    887: plaintext file contains what it thinks is non-text binary data.  If
                    888: you intend to use PGP primarily for E-mail purposes, you should turn
                    889: TEXTMODE=ON.
                    890: 
                    891: For VAX/VMS systems, the current version of PGP defaults TEXTMODE=ON.
                    892: 
                    893: For further details, see the section "Sending ASCII Text Files Across
                    894: Different Machine Environments".
                    895: 
                    896: 
                    897: CHARSET - Specifies Local Character Set for Text Files
                    898: ------------------------------------------------------
                    899: 
                    900: Default setting:  CHARSET = NOCONV
                    901: 
                    902: Because PGP must process messages in many non-English languages with
                    903: non-ASCII character sets, you may have a need to tell PGP what local
                    904: character set your machine uses.  This determines what character
                    905: conversions are performed when converting plaintext files to and from
                    906: canonical text format.  This is only a concern if you are in a
                    907: non-English non-ASCII environment.
                    908: 
                    909: The configuration parameter CHARSET selects the local character set. 
                    910: The choices are NOCONV (no conversion), LATIN1 (ISO 8859-1 Latin
                    911: Alphabet 1), KOI8 (used by most Russian Unix systems), ALT_CODES
                    912: (used by Russian MSDOS systems), ASCII, and CP850 (used by most
                    913: western European languages on standard MSDOS PCs).
                    914: 
                    915: LATIN1 is the internal representation used by PGP for canonical text,
                    916: so if you select LATIN1, no conversion is done.  Note also that PGP
                    917: treats KOI8 as LATIN1, even though it is a completely different
                    918: character set (Russian), because trying to convert KOI8 to either
                    919: LATIN1 or CP850 would be futile anyway.  This means that setting
                    920: CHARSET to NOCONV, LATIN1, or KOI8 are all equivalent to PGP.
                    921: 
                    922: If you use MSDOS and expect to send or receive traffic in western
                    923: European languages, set CHARSET = "CP850".  This will make PGP
                    924: convert incoming canonical text messages from LATIN1 to CP850 after
                    925: decryption.  If you use the -t (textmode) option to convert to
                    926: canonical text, PGP will convert your CP850 text to LATIN1 before
                    927: encrypting it.
                    928: 
                    929: For further details, see the section "Sending ASCII Text Files Across
                    930: Different Machine Environments".
                    931: 
                    932: 
                    933: ARMOR - Enable ASCII Armor Output
                    934: ---------------------------------
                    935: 
                    936: Default setting:  ARMOR = off
                    937: 
                    938: The configuration parameter ARMOR is equivalent to the -a command
                    939: line option.  If enabled, it causes PGP to emit ciphertext or keys in
                    940: ASCII Radix-64 format suitable for transporting through E-mail
                    941: channels.  Output files are named with the ".asc" extension.
                    942: 
                    943: If you intend to use PGP primarily for E-mail purposes, you should
                    944: turn ARMOR=ON.
                    945: 
                    946: For further details, see the section "Sending Ciphertext Through
                    947: E-mail Channels: Radix-64 Format" in the Essential Topics volume. 
                    948: 
                    949: 
                    950: ARMORLINES - Size of ASCII Armor Multipart Files
                    951: ------------------------------------------------
                    952: 
                    953: Default setting:  ARMORLINES = 720
                    954: 
                    955: When PGP creates a very large ".asc" radix-64 file for sending
                    956: ciphertext or keys through the E-mail, it breaks the file up into
                    957: separate chunks small enough to send through Internet mail
                    958: utilities.  Normally, Internet mailers prohibit files larger than
                    959: about 50000 bytes, which means that if we restrict the number of
                    960: lines to about 720, we'll be well within the limit.  The file chunks
                    961: are named with suffixes ".as1", ".as2", ".as3", ... 
                    962: 
                    963: The configuration parameter ARMORLINES specifies the maximum number
                    964: of lines to make each chunk in a multipart ".asc" file sequence.  If
                    965: you set it to zero, PGP will not break up the file into chunks.
                    966: 
1.1.1.5   root      967: Fidonet E-mail files usually have an upper limit of about 32K bytes,
1.1.1.4   root      968: so 450 lines would be appropriate for Fidonet environments.
                    969: 
                    970: For further details, see the section "Sending Ciphertext Through
                    971: E-mail Channels: Radix-64 Format" in the Essential Topics volume.
                    972: 
                    973: 
                    974: KEEPBINARY - Keep Binary Ciphertext Files After Decrypting
                    975: ----------------------------------------------------------
                    976: 
                    977: Default setting:  KEEPBINARY = off
                    978: 
                    979: When PGP reads a ".asc" file, it recognizes that the file is in
                    980: radix-64 format and will convert it back to binary before processing
                    981: as it normally does, producing as a by-product a ".pgp" ciphertext
                    982: file in binary form.  After further processing to decrypt the ".pgp"
                    983: file, the final output file will be in normal plaintext form.
                    984: 
                    985: You may want to delete the binary ".pgp" intermediate file, or you
                    986: may want PGP to delete it for you automatically.  You can still rerun
                    987: PGP on the original ".asc" file.
                    988: 
                    989: The configuration parameter KEEPBINARY enables or disables keeping
                    990: the intermediate ".pgp" file during decryption.
                    991: 
                    992: For further details, see the section "Sending Ciphertext Through
                    993: E-mail Channels: Radix-64 Format" in the Essential Topics volume.
                    994: 
                    995: 
                    996: COMPRESS - Enable Compression
                    997: -----------------------------
                    998: 
                    999: Default setting:  COMPRESS = on
                   1000: 
                   1001: The configuration parameter COMPRESS enables or disables data
                   1002: compression before encryption.  It is used mainly for debugging PGP. 
                   1003: Normally, PGP attempts to compress the plaintext before it encrypts
                   1004: it.  Generally, you should leave this alone and let PGP attempt to
                   1005: compress the plaintext.
                   1006: 
                   1007: 
                   1008: COMPLETES_NEEDED - Number of Completely Trusted Introducers Needed
                   1009: ------------------------------------------------------------------
                   1010: 
                   1011: Default setting:  COMPLETES_NEEDED = 1
                   1012: 
                   1013: The configuration parameter COMPLETES_NEEDED specifies the minimum
                   1014: number of completely trusted introducers required to fully certify a
                   1015: public key on your public key ring.  This gives you a way of tuning
                   1016: PGP's skepticism.
                   1017: 
                   1018: For further details, see the section "How Does PGP Keep Track of 
                   1019: Which Keys are Valid?" in the Essential Topics volume.
                   1020: 
                   1021: 
                   1022: MARGINALS_NEEDED - Number of Marginally Trusted Introducers Needed
                   1023: ------------------------------------------------------------------
                   1024: 
                   1025: Default setting:  MARGINALS_NEEDED = 2
                   1026: 
                   1027: The configuration parameter MARGINALS_NEEDED specifies the minimum
                   1028: number of marginally trusted introducers required to fully certify a
                   1029: public key on your public key ring.  This gives you a way of tuning
                   1030: PGP's skepticism.
                   1031: 
                   1032: For further details, see the section "How Does PGP Keep Track of 
                   1033: Which Keys are Valid?" in the Essential Topics volume.
                   1034: 
                   1035: 
                   1036: CERT_DEPTH - How Deep May Introducers Be Nested
                   1037: -----------------------------------------------
                   1038: 
                   1039: Default setting:  CERT_DEPTH = 4
                   1040: 
                   1041: The configuration parameter CERT_DEPTH specifies how many levels deep
                   1042: you may nest introducers to certify other introducers to certify
                   1043: public keys on your public key ring.  For example, If CERT_DEPTH is
                   1044: set to 1, there may only be one layer of introducers below your own
                   1045: ultimately-trusted key.  If that were the case, you would be required
                   1046: to directly certify the public keys of all trusted introducers on
                   1047: your key ring.  If you set CERT_DEPTH to 0, you could have no
                   1048: introducers at all, and you would have to directly certify each and
                   1049: every key on your public key ring in order to use it.  The minimum
                   1050: CERT_DEPTH is 0, the maximum is 8.
                   1051: 
                   1052: For further details, see the section "How Does PGP Keep Track of 
                   1053: Which Keys are Valid?" in the Essential Topics volume.
                   1054: 
                   1055: 
                   1056: BAKRING - Filename for Backup Secret Keyring
                   1057: --------------------------------------------
                   1058: 
                   1059: Default setting:  BAKRING = ""
                   1060: 
                   1061: All of the key certification that PGP does on your public key ring
                   1062: ultimately depends on your own ultimately-trusted public key (or
                   1063: keys).  To detect any tampering of your public key ring, PGP must
                   1064: check that your own key has not been tampered with.  To do this, PGP
                   1065: must compare your public key against a backup copy of your secret key
                   1066: on some tamper-resistant media, such as a write-protected floppy
                   1067: disk.  A secret key contains all the information that your public key
                   1068: has, plus some secret components.  This means PGP can check your
                   1069: public key against a backup copy of your secret key.
                   1070: 
                   1071: The configuration parameter BAKRING specifies what pathname to use
                   1072: for PGP's trusted backup copy of your secret key ring.  On MSDOS, you
                   1073: could set it to "a:\secring.pgp" to point it at a write-protected
                   1074: backup copy of your secret key ring on your floppy drive.  This check
                   1075: is performed only when you execute the PGP -kc option to check your
                   1076: whole public key ring.
                   1077: 
                   1078: If BAKRING is not defined, PGP will not check your own key against
                   1079: any backup copy.
                   1080: 
                   1081: For further details, see the sections "How to Protect Public Keys
                   1082: from Tampering" and "How Does PGP Keep Track of Which Keys are
                   1083: Valid?" in the Essential Topics volume.
                   1084: 
                   1085: 
                   1086: PUBRING - Filename for Your Public Keyring
                   1087: ------------------------------------------
                   1088: 
                   1089: Default setting:  PUBRING = "$PGPPATH/pubring.pgp"
                   1090: 
                   1091: You may want to keep your public keyring in a directory separate from
1.1.1.6 ! root     1092: your PGP configuration file in the directory specified by your
        !          1093: $PGPPATH environmental variable.  You may specify the full path and
        !          1094: filename for your public keyring by setting the PUBRING parameter. 
        !          1095: For example, on an MSDOS system, you might want to keep your public
1.1.1.4   root     1096: keyring on a floppy disk by:
                   1097: 
                   1098:    PUBRING = "a:pubring.pgp"
                   1099: 
                   1100: This feature is especially handy for specifying an alternative
                   1101: keyring on the command line.
                   1102: 
                   1103: 
                   1104: SECRING - Filename for Your Secret Keyring
                   1105: ------------------------------------------
                   1106: 
                   1107: Default setting:  SECRING = "$PGPPATH/secring.pgp"
                   1108: 
                   1109: You may want to keep your secret keyring in a directory separate from
1.1.1.6 ! root     1110: your PGP configuration file in the directory specified by your
        !          1111: $PGPPATH environmental variable.  This comes in handy for putting
        !          1112: your secret keyring in a directory or device that is more protected
        !          1113: than your public keyring.  You may specify the full path and filename
        !          1114: for your secret keyring by setting the SECRING parameter.  For
        !          1115: example, on an MSDOS system, you might want to keep your secret
        !          1116: keyring on a floppy disk by:
1.1.1.4   root     1117: 
                   1118:    SECRING = "a:secring.pgp"
                   1119: 
                   1120: 
                   1121: RANDSEED - Filename for Random Number Seed
                   1122: ------------------------------------------
                   1123: 
                   1124: Default setting:  RANDSEED = "$PGPPATH/randseed.bin"
                   1125: 
                   1126: You may want to keep your random number seed file (for generation of
1.1.1.6 ! root     1127: session keys) in a directory separate from your PGP configuration file
        !          1128: in the directory specified by your $PGPPATH environmental variable. 
1.1.1.4   root     1129: This comes in handy for putting your random number seed file in a
                   1130: directory or device that is more protected than your public keyring. 
                   1131: You may specify the full path and filename for your random seed file
                   1132: by setting the RANDSEED parameter.  For example, on an MSDOS system,
                   1133: you might want to keep it on a floppy disk by:
                   1134: 
                   1135:    RANDSEED = "a:randseed.bin"
                   1136: 
                   1137: 
                   1138: PAGER - Selects Shell Command to Display Plaintext Output
                   1139: ---------------------------------------------------------
                   1140: 
                   1141: Default setting:  PAGER = ""
                   1142: 
                   1143: PGP lets you view the decrypted plaintext output on your screen (like
                   1144: the Unix-style "more" command), without writing it to a file, if you
                   1145: use the -m (more) option while decrypting.  This displays the
                   1146: decrypted plaintext display on your screen one screenful at a time.
                   1147: 
                   1148: If you prefer to use a fancier page display utility, rather than
                   1149: PGP's built-in one, you can specify the name of a shell command that
                   1150: PGP will invoke to display your plaintext output file.  The
                   1151: configuration parameter PAGER specifies the shell command to invoke
                   1152: to display the file.  For example, on MSDOS systems, you might want
                   1153: to use the popular shareware program "list.com" to display your
                   1154: plaintext message.  Assuming you have a copy of "list.com", you may 
                   1155: set PAGER accordingly:
                   1156: 
                   1157:    PAGER = "list"
                   1158: 
                   1159: However, if the sender specified that this file is for your eyes
                   1160: only, and may not be written to disk, PGP always uses its own
                   1161: built-in display function.
                   1162: 
                   1163: For further details, see the section "Displaying Decrypted Plaintext 
                   1164: on Your Screen".
                   1165: 
                   1166: 
                   1167: SHOWPASS - Echo Pass Phrase to User
                   1168: -----------------------------------
                   1169: 
                   1170: Default setting:  SHOWPASS = off
                   1171: 
                   1172: Normally, PGP does not let you see your pass phrase as you type it
                   1173: in.  This makes it harder for someone to look over your shoulder
                   1174: while you type and learn your pass phrase.  But some typing-impaired
                   1175: people have problems typing their pass phrase without seeing what
                   1176: they are typing, and they may be typing in the privacy of their own
                   1177: homes.  So they asked if PGP can be configured to let them see what
                   1178: they type when they type in their pass phrase.
                   1179: 
                   1180: The configuration parameter SHOWPASS enables PGP to echo your typing 
                   1181: during pass phrase entry.
                   1182: 
                   1183: 
                   1184: TZFIX - Timezone Adjustment
                   1185: ---------------------------
                   1186: 
                   1187: Default setting:  TZFIX = 0
                   1188: 
                   1189: PGP provides timestamps for keys and signature certificates in
                   1190: Greenwich Mean Time (GMT), or Coordinated Universal Time (UTC), which
                   1191: means the same thing for our purposes.  When PGP asks the system for
                   1192: the time of day, the system is supposed to provide it in GMT.  
                   1193: 
                   1194: But sometimes, because of improperly configured MSDOS systems, the
                   1195: system time is returned in US Pacific Standard Time time plus 8
                   1196: hours.  Sounds weird, doesn't it?  Perhaps because of some sort of US
                   1197: west-coast jingoism, MSDOS presumes local time is US Pacific time,
                   1198: and pre-corrects Pacific time to GMT.  This adversely affects the
                   1199: behavior of the internal MSDOS GMT time function that PGP calls. 
                   1200: However, if your MSDOS environmental variable TZ is already properly
                   1201: defined for your timezone, this corrects the misconception MSDOS has
                   1202: that the whole world lives on the US west coast.  
                   1203: 
                   1204: The configuration parameter TZFIX specifies the number of hours to
                   1205: add to the system time function to get GMT, for GMT timestamps on
                   1206: keys and signatures.  If the MSDOS environmental variable TZ is
                   1207: defined properly, you can leave TZFIX=0.  Unix systems usually
                   1208: shouldn't need to worry about setting TZFIX at all.  But if you are
                   1209: using some other obscure operating system that doesn't know about
                   1210: GMT, you may have to use TZFIX to adjust the system time to GMT. 
                   1211: 
                   1212: On MSDOS systems that do not have TZ defined in the environment, you
                   1213: should make TZFIX=0 for California, -1 for Colorado, -2 for Chicago,
                   1214: -3 for New York, -8 for London, -9 for Amsterdam.  In the summer,
                   1215: TZFIX should be manually decremented from these values.  What a mess.
                   1216: 
                   1217: It would be much cleaner to set your MSDOS environmental variable TZ
                   1218: in your AUTOEXEC.BAT file, and not use the TZFIX correction.  Then
                   1219: MSDOS gives you good GMT timestamps, and will handle daylight savings
                   1220: time adjustments for you.  Here are some sample lines to insert into
                   1221: AUTOEXEC.BAT, depending on your time zone:
                   1222: 
                   1223: For Los Angeles:  SET TZ=PST8PDT
                   1224: For Denver:       SET TZ=MST7MDT
                   1225: For Arizona:      SET TZ=MST7
                   1226:    (Arizona never uses daylight savings time)
                   1227: For Chicago:      SET TZ=CST6CDT
                   1228: For New York:     SET TZ=EST5EDT
                   1229: For London:       SET TZ=GMT0BST
                   1230: For Amsterdam:    SET TZ=MET-1DST
                   1231: For Moscow:       SET TZ=MSK-3MSD
                   1232: For Aukland:      SET TZ=NZT-13
                   1233: 
                   1234: 
                   1235: CLEARSIG - Enable Signed Messages to be Encapsulated as Clear Text
                   1236: ------------------------------------------------------------------
                   1237: 
                   1238: Default setting:  CLEARSIG = on
                   1239: 
                   1240: Normally, unencrypted PGP signed messages have a signature
                   1241: certificate prepended in binary form.  Also, the signed message is
                   1242: compressed, rendering the message unreadable to casual human eyes,
                   1243: even though the message is not actually encrypted.  To send this
                   1244: binary data through a 7-bit E-mail channel, radix-64 ASCII armor is
                   1245: applied (see the ARMOR parameter).  Even if PGP didn't compress the
                   1246: message, the ASCII armor would still render the message unreadable to
                   1247: human eyes.  The recipient must use PGP to strip the armor off and
                   1248: decompress it before reading the message.
                   1249: 
                   1250: If the original plaintext message is in text (not binary) form, there
                   1251: is a way to send a signed message through an E-mail channel in such a
                   1252: way that the signed message is not compressed and the ASCII armor is
                   1253: applied only to the binary signature certificate, but not to the
                   1254: plaintext message.  The CLEARSIG flag provides this useful feature,
                   1255: making it possible to generate a signed message that can be read with
                   1256: human eyes, without the aid of PGP.  Of course, you still need PGP to
                   1257: actually check the signature.
                   1258: 
                   1259: The CLEARSIG flag is preset to "on" beginning with PGP version 2.5. 
                   1260: To enable the full CLEARSIG behavior, the ARMOR and TEXTMODE flags
                   1261: must also be turned on.  Set ARMOR=ON (or use the -a option), and set
                   1262: TEXTMODE=ON (or use the -t option).  If your config file has CLEARSIG
                   1263: turned off, you can turn it back on again directly on the command
                   1264: line, like so:
                   1265: 
                   1266:      pgp -sta +clearsig=on message.txt
                   1267: 
                   1268: This message representation is analogous to the MIC-CLEAR message type
                   1269: used in Internet Privacy Enhanced Mail (PEM).  It is important to
                   1270: note that since this method only applies ASCII armor to the binary
                   1271: signature certificate, and not to the message text itself, there is
                   1272: some risk that the unarmored message may suffer some accidental
                   1273: molestation while en route.  This can happen if it passes through
                   1274: some E-mail gateway that performs character set conversions, or in
                   1275: some cases extra spaces may be added to or stripped from the ends of
                   1276: lines.  If this occurs, the signature will fail to verify, which may
                   1277: give a false indication of intentional tampering.  But since PEM
                   1278: lives under a similar vulnerability, it seems worth having this
                   1279: feature despite the risks.
                   1280: 
                   1281: Beginning with PGP version 2.2, trailing blanks are ignored on each
                   1282: line in calculating the signature for text in CLEARSIG mode.
                   1283: 
                   1284: 
                   1285: VERBOSE - Quiet, Normal, or Verbose Messages
                   1286: --------------------------------------------
                   1287: 
                   1288: Default setting:  VERBOSE = 1
                   1289: 
                   1290: VERBOSE may be set to 0, 1, or 2, depending on how much detail you
                   1291: want to see from PGP diagnostic messages.  The settings are:
                   1292: 
                   1293: 0 - Display messages only if there is a problem.  Unix fans wanted
                   1294: this "quiet mode" setting.
                   1295: 
                   1296: 1 - Normal default setting.  Displays a reasonable amount of detail
                   1297: in diagnostic or advisory messages.
                   1298: 
                   1299: 2 - Displays maximum information, usually to help diagnose problems
                   1300: in PGP.  Not recommended for normal use.  Besides, PGP doesn't have
                   1301: any problems, right?
                   1302:  
                   1303: 
                   1304: INTERACTIVE - Ask for Confirmation for Key Adds
                   1305: -----------------------------------------------
                   1306: 
                   1307: Default Setting:  INTERACTIVE = off
                   1308: 
                   1309: Enabling this mode will mean that if you add a key file containing
                   1310: multiple keys to your key ring, PGP will ask for confirmation for
                   1311: each key before adding it to your key ring.
                   1312: 
                   1313: 
                   1314: NOMANUAL - Let PGP Generate Keys Without the Manual
                   1315: ---------------------------------------------------
                   1316: 
                   1317: Default Setting:  NOMANUAL = off
                   1318: 
                   1319: It is important that the freeware version of PGP not be distributed
                   1320: without the user documentation, which normally comes with it in the
                   1321: standard release package.  This manual contains important information
                   1322: for using PGP, as well as important legal notices.  But some people
                   1323: have distributed previous versions of PGP without the manual, causing
                   1324: a lot of problems for a lot of people who get it.  To discourage the
                   1325: distribution of PGP without the required documentation, PGP has been
                   1326: changed to require the PGP User's Guide to be found somewhere on your
                   1327: computer (like in your PGP directory) before PGP will let you generate
                   1328: a key pair.  However, some users like to use PGP on tiny palmtop
                   1329: computers with limited storage capacity, so they like to run PGP
                   1330: without the documentation present on their systems.  To satisfy these
                   1331: users, PGP can be made to relax its requirement that the manual be
                   1332: present, by enabling the NOMANUAL flag on the command line during key
                   1333: generation, like so:
                   1334: 
                   1335:     pgp -kg +nomanual
                   1336: 
                   1337: The NOMANUAL flag can only be set on the command line, not in the
1.1.1.5   root     1338: config file.  Since you must read this manual to learn how to enable
1.1.1.6 ! root     1339: this simple override feature, I hope this will still be effective in
1.1.1.4   root     1340: discouraging the distribution of PGP without the manual.
                   1341: 
1.1.1.6 ! root     1342: Some people may object to PGP insisting on finding the manual
        !          1343: somewhere in the neighborhood to generate a key.  They bristle
        !          1344: against this seemingly authoritarian attitude.  Some people have even
        !          1345: modified PGP to defeat this feature, and redistributed their hotwired
        !          1346: version to others.  That creates problems for me.  Before I added
        !          1347: this feature, there were maimed versions of the PGP distribution
        !          1348: package floating around that lacked the manual.  One of them was
        !          1349: uploaded to Compuserve, and was distributed to countless users who
        !          1350: called me on the phone to ask me why such a complicated program had
        !          1351: no manual.  It spread out to BBS systems around the country.  And a
        !          1352: freeware distributor got hold of the package from Compuserve and
        !          1353: enshrined it on CD-ROM, distributing thousands of copies without the
        !          1354: manual.  What a mess.
1.1.1.4   root     1355: 
                   1356: 
                   1357: A Peek Under the Hood
                   1358: =====================
                   1359: 
                   1360: Let's take a look at a few internal features of PGP.
                   1361: 
                   1362: 
                   1363: Random Numbers
                   1364: --------------
                   1365: 
                   1366: PGP uses a cryptographically strong pseudorandom number generator for
                   1367: creating temporary conventional session keys.  The seed file for this
                   1368: is called  "randseed.bin".  It too can be kept in whatever directory
                   1369: is indicated by the PGPPATH environmental variable.  If this random
                   1370: seed file does not exist, it is automatically created and seeded with
                   1371: truly random numbers derived from timing your keystroke latencies.  
                   1372: 
                   1373: This generator reseeds the disk file each time it is used by mixing
                   1374: in new key material partially derived with the time of day and other
                   1375: truly random sources.  It uses the conventional encryption algorithm
                   1376: as an engine for the random number generator.  The seed file contains
                   1377: both random seed material and random key material to key the
                   1378: conventional encryption engine for the random generator.
                   1379: 
                   1380: This random seed file should be at least slightly protected from
                   1381: disclosure, to reduce the risk of an attacker deriving your next or
                   1382: previous session keys.  The attacker would have a very hard time
                   1383: getting anything useful from capturing this random seed file, because
                   1384: the file is cryptographically laundered before and after each use. 
                   1385: Nonetheless, it seems prudent to at least try to keep it from falling
                   1386: into the wrong hands.
                   1387: 
                   1388: If you feel uneasy about trusting any algorithmically derived random
                   1389: number source however strong, keep in mind that you already trust the
                   1390: strength of the same conventional cipher to protect your messages. 
                   1391: If it's strong enough for that, then it should be strong enough to
                   1392: use as a source of random numbers for temporary session keys.  Note
                   1393: that PGP still uses truly random numbers from physical sources
                   1394: (mainly keyboard timings) to generate long-term public/secret key
                   1395: pairs.
                   1396: 
                   1397: 
                   1398: 
                   1399: PGP's Conventional Encryption Algorithm
                   1400: ---------------------------------------
                   1401: 
                   1402: As described earlier, PGP "bootstraps" into a conventional single-key
                   1403: encryption algorithm by using a public key algorithm to encipher the
                   1404: conventional session key and then switching to fast conventional
                   1405: cryptography.  So let's talk about this conventional encryption
                   1406: algorithm.  It isn't the DES.
                   1407: 
                   1408: The Federal Data Encryption Standard (DES) used to be a good
                   1409: algorithm for most commercial applications.  But the Government never
                   1410: did trust the DES to protect its own classified data, because the DES
                   1411: key length is only 56 bits, short enough for a brute force attack. 
                   1412: Also, the full 16-round DES has been attacked with some success by
                   1413: Biham and Shamir using differential cryptanalysis, and by Matsui
                   1414: using linear cryptanalysis.
                   1415: 
                   1416: The most devastating practical attack on the DES was described at the
                   1417: Crypto '93 conference, where Michael Wiener of Bell Northern Research
                   1418: presented a paper on how to crack the DES with a special machine.  He
                   1419: has fully designed and tested a chip that guesses 50 million DES keys
                   1420: per second until it finds the right one.  Although he has refrained
                   1421: from building the real chips so far, he can get these chips
                   1422: manufactured for $10.50 each, and can build 57000 of them into a
                   1423: special machine for $1 million that can try every DES key in 7 hours,
                   1424: averaging a solution in 3.5 hours.  $1 million can be hidden in the
                   1425: budget of many companies.  For $10 million, it takes 21 minutes to
                   1426: crack, and for $100 million, just two minutes.  With any major
                   1427: government's budget for examining DES traffic, it can be cracked in
                   1428: seconds.  This means that straight 56-bit DES is now effectively dead
                   1429: for purposes of serious data security applications.  
                   1430: 
                   1431: A possible successor to DES may be a variation known as "triple DES",
                   1432: which uses two DES keys to encrypt three times, achieving an
                   1433: effective key space of 112 bits.  But this approach is three times
                   1434: slower than normal DES.  A future version of PGP may support triple
                   1435: DES as an option.
                   1436: 
                   1437: PGP does not use the DES as its conventional single-key algorithm to
                   1438: encrypt messages.  Instead, PGP uses a different conventional
                   1439: single-key block encryption algorithm, called IDEA(tm).
                   1440: 
                   1441: For the cryptographically curious, the IDEA cipher has a 64-bit block
                   1442: size for the plaintext and the ciphertext.  It uses a key size of 128
                   1443: bits.  It is based on the design concept of "mixing operations from
                   1444: different algebraic groups".  It runs much faster in software than
                   1445: the DES.  Like the DES, it can be used in cipher feedback (CFB) and
                   1446: cipher block chaining (CBC) modes.  PGP uses it in 64-bit CFB mode.
                   1447: 
                   1448: The IPES/IDEA block cipher was developed at ETH in Zurich by James L.
                   1449: Massey and Xuejia Lai, and published in 1990.  This is not a 
                   1450: "home-grown" algorithm.  Its designers have a distinguished
                   1451: reputation in the cryptologic community.  Early published papers on
                   1452: the algorithm called it IPES (Improved Proposed Encryption Standard),
                   1453: but they later changed the name to IDEA (International Data
                   1454: Encryption Algorithm).  So far, IDEA has resisted attack much better
                   1455: than other ciphers such as FEAL, REDOC-II, LOKI, Snefru and Khafre. 
                   1456: And recent evidence suggests that IDEA is more resistant than the DES
                   1457: to Biham & Shamir's highly successful differential cryptanalysis
                   1458: attack.  Biham and Shamir have been examining the IDEA cipher for
                   1459: weaknesses, without success.  Academic cryptanalyst groups in
                   1460: Belgium, England, and Germany are also attempting to attack it, as
                   1461: well as the military services from several European countries.  As
                   1462: this new cipher continues to attract attack efforts from the most
                   1463: formidable quarters of the cryptanalytic world, confidence in IDEA is
                   1464: growing with the passage of time.
                   1465: 
                   1466: Every once in a while, I get a letter from someone who has just
                   1467: learned the awful truth that PGP does not use pure RSA to encrypt
                   1468: bulk data.  They are concerned that the whole package is weakened if
                   1469: we use a hybrid public-key and conventional scheme just to speed
                   1470: things up.  After all, a chain is only as strong as its weakest
                   1471: link.  They demand an explanation for this apparent "compromise" in
                   1472: the strength of PGP.  This may be because they have been caught up in
                   1473: the public's reverence and awe for the strength and mystique of RSA,
                   1474: mistakenly believing that RSA is intrinsically stronger than any
                   1475: conventional cipher.  Well, it's not.  
                   1476: 
                   1477: People who work in factoring research say that the workload to
1.1.1.5   root     1478: exhaust all the possible 128-bit keys in the IDEA cipher would
                   1479: roughly equal the factoring workload to crack a 3100-bit RSA key,
                   1480: which is quite a bit bigger than the 1024-bit RSA key size that most
                   1481: people use for high security applications.  Given this range of key
                   1482: sizes, and assuming there are no hidden weaknesses in the
                   1483: conventional cipher, the weak link in this hybrid approach is in the
                   1484: public key algorithm, not the conventional cipher.
1.1.1.4   root     1485: 
                   1486: It is not ergonomically practical to use pure RSA with large keys to
                   1487: encrypt and decrypt long messages.  A 1024-bit RSA key would decrypt
                   1488: messages about 4000 times slower than the IDEA cipher.  Absolutely no
                   1489: one does it that way in the real world.  Many people less experienced
                   1490: in cryptography do not realize that the attraction of public key
                   1491: cryptography is not because it is intrinsically stronger than a
                   1492: conventional cipher-- its appeal is because it helps you manage keys
                   1493: more conveniently.
                   1494: 
                   1495: Not only is RSA too slow to use on bulk data, but it even has certain
                   1496: weaknesses that can be exploited in some special cases of particular
1.1.1.5   root     1497: kinds of messages that are fed to the RSA cipher, even for large
                   1498: keys.  These special cases can be avoided by using the hybrid
                   1499: approach of using RSA to encrypt random session keys for a
                   1500: conventional cipher, like PGP does.  So the bottom line is this: 
                   1501: Using pure RSA on bulk data is the wrong approach, period.  It's too
                   1502: slow, it's not stronger, and may even be weaker.  If you find a
                   1503: software application that uses pure RSA on bulk data, it probably
                   1504: means the implementor does not understand these issues, which could
                   1505: imply he doesn't understand other important concepts of cryptography.
1.1.1.4   root     1506: 
                   1507: 
                   1508: 
                   1509: Data Compression
                   1510: ----------------
                   1511: 
                   1512: PGP normally compresses the plaintext before encrypting it.  It's too
                   1513: late to compress it after it has been encrypted; encrypted data is
                   1514: incompressible.  Data compression saves modem transmission time and
                   1515: disk space and more importantly strengthens cryptographic security.  
                   1516: Most cryptanalysis techniques exploit redundancies found in the
                   1517: plaintext to crack the cipher.  Data compression reduces this
                   1518: redundancy in the plaintext, thereby greatly enhancing resistance to 
                   1519: cryptanalysis.  It takes extra time to compress the plaintext, but 
                   1520: from a security point of view it seems worth it, at least in my 
                   1521: cautious opinion. 
                   1522: 
                   1523: Files that are too short to compress or just don't compress well are
                   1524: not compressed by PGP.  
                   1525: 
                   1526: If you prefer, you can use PKZIP to compress the plaintext before
                   1527: encrypting it.  PKZIP is a widely-available and effective MSDOS
                   1528: shareware compression utility from PKWare, Inc.  Or you can use ZIP,
                   1529: a PKZIP-compatible freeware compression utility on Unix and other
                   1530: systems, available from Jean-Loup Gailly.  There is some advantage in
                   1531: using PKZIP or ZIP in certain cases, because unlike PGP's built-in
                   1532: compression algorithm, PKZIP and ZIP have the nice feature of
                   1533: compressing multiple files into a single compressed file, which is
                   1534: reconstituted again into separate files when decompressed.  PGP will
                   1535: not try to compress a plaintext file that has already been
                   1536: compressed.  After decrypting, the recipient can decompress the
                   1537: plaintext with PKUNZIP.  If the decrypted plaintext is a PKZIP
                   1538: compressed file, PGP automatically recognizes this and advises the 
                   1539: recipient that the decrypted plaintext appears to be a PKZIP file.
                   1540: 
                   1541: For the technically curious readers, the current version of PGP uses
                   1542: the freeware ZIP compression routines written by Jean-loup Gailly,
                   1543: Mark Adler, and Richard B. Wales.  This ZIP software uses
                   1544: functionally-equivalent compression algorithms as those used by
                   1545: PKWare's new PKZIP 2.0.  This ZIP compression software was selected
                   1546: for PGP mainly because of its free portable C source code
                   1547: availability, and because it has a really good compression ratio, and
                   1548: because it's fast.  
                   1549: 
                   1550: Peter Gutmann has also written a nice compression utility called
                   1551: HPACK, available for free from many Internet FTP sites.  It encrypts
                   1552: the compressed archives, using PGP data formats and key rings.  He
                   1553: wanted me to mention that here.
                   1554: 
                   1555: 
                   1556: 
                   1557: Message Digests and Digital Signatures
                   1558: --------------------------------------
                   1559: 
                   1560: To create a digital signature, PGP encrypts with your secret key. 
                   1561: But PGP doesn't actually encrypt your entire message with your secret
                   1562: key-- that would take too long.  Instead, PGP encrypts a "message
                   1563: digest".  
                   1564: 
                   1565: The message digest is a compact (128 bit) "distillate" of your
                   1566: message, similar in concept to a checksum.  You can also think of it
                   1567: as a "fingerprint" of the message.  The message digest "represents"
                   1568: your message, such that if the message were altered in any way, a
                   1569: different message digest would be computed from it.  This makes it
                   1570: possible to detect any changes made to the message by a forger.  A
                   1571: message digest is computed using a cryptographically strong one-way
                   1572: hash function of the message.  It would be computationally infeasible
                   1573: for an attacker to devise a substitute message that would produce an
                   1574: identical message digest.  In that respect, a message digest is much
                   1575: better than a checksum, because it is easy to devise a different
                   1576: message that would produce the same checksum.  But like a checksum,
                   1577: you can't derive the original message from its message digest.  
                   1578: 
                   1579: A message digest alone is not enough to authenticate a message.  The
                   1580: message digest algorithm is publicly known, and does not require
                   1581: knowledge of any secret keys to calculate.  If all we did was attach
                   1582: a message digest to a message, then a forger could alter a message
                   1583: and simply attach a new message digest calculated from the new
                   1584: altered message.  To provide real authentication, the sender has to
                   1585: encrypt (sign) the message digest with his secret key.  
                   1586: 
                   1587: A message digest is calculated from the message by the sender.  The
                   1588: sender's secret key is used to encrypt the message digest and an
                   1589: electronic timestamp, forming a digital signature, or signature
                   1590: certificate.  The sender sends the digital signature along with the
                   1591: message.  The receiver receives the message and the digital
                   1592: signature, and recovers the original message digest from the digital
                   1593: signature by decrypting it with the sender's public key.  The
                   1594: receiver computes a new message digest from the message, and checks
                   1595: to see if it matches the one recovered from the digital signature.  If
                   1596: it matches, then that proves the message was not altered, and it came
                   1597: from the sender who owns the public key used to check the signature.
                   1598: 
                   1599: A potential forger would have to either produce an altered message
                   1600: that produces an identical message digest (which is infeasible), or
                   1601: he would have to create a new digital signature from a different
                   1602: message digest (also infeasible, without knowing the true sender's
                   1603: secret key).
                   1604: 
                   1605: Digital signatures prove who sent the message, and that the message
                   1606: was not altered either by error or design.  It also provides
                   1607: non-repudiation, which means the sender cannot easily disavow his
                   1608: signature on the message.
                   1609: 
                   1610: Using message digests to form digital signatures has other advantages
                   1611: besides being faster than directly signing the entire actual message
                   1612: with the secret key.  Using message digests allows signatures to be
                   1613: of a standard small fixed size, regardless of the size of the actual
                   1614: message.  It also allows the software to check the message integrity
                   1615: automatically, in a manner similar to using checksums.  And it allows
                   1616: signatures to be stored separately from messages, perhaps even in a
                   1617: public archive, without revealing sensitive information about the
                   1618: actual messages, because no one can derive any message content from a
                   1619: message digest.
                   1620: 
                   1621: The message digest algorithm used here is the MD5 Message Digest
                   1622: Algorithm, placed in the public domain by RSA Data Security, Inc.
                   1623: MD5's designer, Ronald Rivest, writes this about MD5:
                   1624: 
                   1625: "It is conjectured that the difficulty of coming up with two messages
                   1626: having the same message digest is on the order of 2^64 operations,
                   1627: and that the difficulty of coming up with any message having a given
                   1628: message digest is on the order of 2^128 operations.  The MD5
                   1629: algorithm has been carefully scrutinized for weaknesses.  It is,
                   1630: however, a relatively new algorithm and further security analysis is
                   1631: of course justified, as is the case with any new proposal of this
                   1632: sort.  The level of security provided by MD5 should be sufficient for
                   1633: implementing very high security hybrid digital signature schemes
                   1634: based on MD5 and the RSA public-key cryptosystem."
                   1635: 
                   1636: 
                   1637: 
1.1.1.5   root     1638: Compatibility with Previous and Future Versions of PGP
                   1639: ======================================================
1.1.1.4   root     1640: 
1.1.1.5   root     1641: PGP version 2.6 can read anything produced by versions 2.3 through
                   1642: 2.7.  However, because of a negotiated agreement between MIT and RSA
1.1.1.6 ! root     1643: Data Security, PGP 2.6 was programmed to change its behavior slightly
        !          1644: on 1 September 1994, triggered by a built-in software timer.  On that
        !          1645: date, version 2.6 started producing a new and slightly different data
        !          1646: format for messages, signatures and keys.  PGP 2.6 will still be able
        !          1647: to read and process messages, signatures, and keys produced under the
        !          1648: old format, but it will generate the new format.  This change is
        !          1649: intended to discourage people from continuing to use the older (2.3a
        !          1650: and earlier) versions of PGP, which Public Key Partners contends
        !          1651: infringes its RSA patent (see the section on Legal Issues).  ViaCrypt
        !          1652: PGP (see the section Where to Get a Commercial Version of PGP),
        !          1653: versions 2.4 and 2.7, avoids questions of infringement through
1.1.1.5   root     1654: Viacrypt's license arrangement with Public Key Partners.  PGP 2.5 and
                   1655: 2.6 avoid questions of infringement by using the RSAREF(TM)
                   1656: Cryptographic Toolkit, under license from RSA Data Security, Inc.
1.1.1.4   root     1657: 
                   1658: Outside the United States, the RSA patent is not in force, so PGP
1.1.1.5   root     1659: users there are free to use implementations of PGP that do not rely
                   1660: on RSAREF and its restrictions.  See the notes on foreign versions in
                   1661: the Legal Issues section later in this manual.  It seems likely that
1.1.1.6 ! root     1662: any versions of PGP prepared outside the US will accept the new
1.1.1.5   root     1663: format, whose detailed description is available from MIT.  If
                   1664: everyone upgrades before September 1994, or soon thereafter, there
                   1665: will be little interoperability problems.
1.1.1.4   root     1666: 
                   1667: This format change beginning with 2.6 is similar to the process that
                   1668: naturally happens when new features are added, causing older versions
                   1669: of PGP to be unable to read stuff from the newer PGP, while the newer
                   1670: version can still read the old stuff.  The only difference is that
                   1671: this is a "legal upgrade", instead of a technical one.  It's a
                   1672: worthwhile change, if it can achieve peace in our time.
                   1673: 
                   1674: According to ViaCrypt, which sells a commercial version of PGP,
                   1675: ViaCrypt PGP will evolve to maintain interoperability with new
                   1676: freeware versions of PGP.
                   1677: 
                   1678: There is a another change that effects interoperability with earlier
                   1679: versions of PGP.  Unfortunately, due to data format limitations
                   1680: imposed by RSAREF, PGP 2.5 and 2.6 cannot interpret any messages or
                   1681: signatures made with PGP version 2.2 or earlier.  Since we had no
1.1.1.5   root     1682: choice but to use the new data formats, because of the need to switch
                   1683: to RSAREF, we can't do anything about this problem.
1.1.1.4   root     1684: 
                   1685: Beginning with version 2.4 (which was ViaCrypt's first version)
                   1686: through at least 2.6, PGP does not allow you to generate RSA keys
                   1687: bigger than 1024 bits.  The upper limit was always intended to be
1.1.1.5   root     1688: 1024 bits -- there had to be some kind of upper limit, for
                   1689: performance and interoperability reasons.  But because of a bug in
                   1690: earlier versions of PGP, it was possible to generate keys larger than
                   1691: 1024 bits.  These larger keys caused interoperability problems
                   1692: between different older versions of PGP that used different
                   1693: arithmetic algorithms with different native word sizes.  On some
                   1694: platforms, PGP choked on the larger keys.  In addition to these older
                   1695: key size problems, the 1024-bit limit is now enforced by RSAREF.  A
                   1696: 1024-bit key is very likely to be well out of reach of attacks by
                   1697: major governments.  In a future version, PGP will support bigger keys.
1.1.1.4   root     1698: 
                   1699: In general, there is compatibility from version 2.0 upwards through
                   1700: 2.4.  Because new features are added, older versions may not always be
                   1701: able to handle some files created with newer versions.  Because of
                   1702: massive changes to all the algorithms and data structures, PGP version
                   1703: 2.0 (and later) is not even slightly compatible with PGP version 1.0,
                   1704: which no one uses anymore anyway.
                   1705: 
1.1.1.5   root     1706: Future versions of PGP may have to change the data formats for
                   1707: messages, signatures, keys and key rings, in order to provide
                   1708: important new features.  We will endeavor to make future versions
                   1709: handle keys, signatures, and messages from this version, but this is
                   1710: not guaranteed.  Future releases may provide conversion utilities to
                   1711: convert old keys, but you may have to dispose of old messages created
                   1712: with the old PGP.  Also, this current version may not be able to read
                   1713: stuff produced from all future versions.  
                   1714: 
1.1.1.4   root     1715: 
                   1716: Vulnerabilities
                   1717: ===============
                   1718: 
                   1719: No data security system is impenetrable.  PGP can be circumvented in
                   1720: a variety of ways.  In any data security system, you have to ask
                   1721: yourself if the information you are trying to protect is more
                   1722: valuable to your attacker than the cost of the attack.  This should
                   1723: lead you to protecting yourself from the cheapest attacks, while not
                   1724: worrying about the more expensive attacks.  
                   1725: 
                   1726: Some of the discussion that follows may seem unduly paranoid, but
                   1727: such an attitude is appropriate for a reasonable discussion of
                   1728: vulnerability issues. 
                   1729: 
                   1730: 
                   1731: Compromised Pass Phrase and Secret Key
                   1732: --------------------------------------
                   1733: 
                   1734: Probably the simplest attack is if you leave your pass phrase for
                   1735: your secret key written down somewhere.  If someone gets it and also
                   1736: gets your secret key file, they can read your messages and make
                   1737: signatures in your name.  
                   1738: 
                   1739: Don't use obvious passwords that can be easily guessed, such as the
                   1740: names of your kids or spouse.  If you make your pass phrase a single
                   1741: word, it can be easily guessed by having a computer try all the words
                   1742: in the dictionary until it finds your password.  That's why a pass
                   1743: phrase is so much better than a password.  A more sophisticated
                   1744: attacker may have his computer scan a book of famous quotations to
                   1745: find your pass phrase.  An easy to remember but hard to guess pass
                   1746: phrase can be easily constructed by some creatively nonsensical
                   1747: sayings or very obscure literary quotes.  
                   1748: 
                   1749: For further details, see the section "How to Protect Secret Keys from
                   1750: Disclosure" in the Essential Topics volume of the PGP User's Guide.
                   1751: 
                   1752: 
                   1753: Public Key Tampering
                   1754: --------------------
                   1755: 
                   1756: A major vulnerability exists if public keys are tampered with.  This
                   1757: may be the most crucially important vulnerability of a public key
                   1758: cryptosystem, in part because most novices don't immediately
                   1759: recognize it.  The importance of this vulnerability, and appropriate
                   1760: hygienic countermeasures, are detailed in the section "How to Protect
                   1761: Public Keys from Tampering" in the Essential Topics volume.    
                   1762: 
                   1763: To summarize:  When you use someone's public key, make certain it has
                   1764: not been tampered with.  A new public key from someone else should be
                   1765: trusted only if you got it directly from its owner, or if it has been
                   1766: signed by someone you trust.  Make sure no one else can tamper with
                   1767: your own public key ring.  Maintain physical control of both your
                   1768: public key ring and your secret key ring, preferably on your own
                   1769: personal computer rather than on a remote timesharing system.  Keep a
                   1770: backup copy of both key rings.
                   1771: 
                   1772: 
                   1773: "Not Quite Deleted" Files
                   1774: -------------------------
                   1775: 
                   1776: Another potential security problem is caused by how most operating
                   1777: systems delete files.  When you encrypt a file and then delete the
                   1778: original plaintext file, the operating system doesn't actually
                   1779: physically erase the data.  It merely marks those disk blocks as
                   1780: deleted, allowing the space to be reused later.  It's sort of like
                   1781: discarding sensitive paper documents in the paper recycling bin
                   1782: instead of the paper shredder.  The disk blocks still contain the
                   1783: original sensitive data you wanted to erase, and will probably
                   1784: eventually be overwritten by new data at some point in the future. 
                   1785: If an attacker reads these deleted disk blocks soon after they have
                   1786: been deallocated, he could recover your plaintext. 
                   1787: 
                   1788: In fact this could even happen accidentally, if for some reason
                   1789: something went wrong with the disk and some files were accidentally
                   1790: deleted or corrupted.  A disk recovery program may be run to recover
                   1791: the damaged files, but this often means some previously deleted files
                   1792: are resurrected along with everything else.  Your confidential files
                   1793: that you thought were gone forever could then reappear and be
                   1794: inspected by whomever is attempting to recover your damaged disk.  
                   1795: Even while you are creating the original message with a word
                   1796: processor or text editor, the editor may be creating multiple
                   1797: temporary copies of your text on the disk, just because of its
                   1798: internal workings.  These temporary copies of your text are deleted
                   1799: by the word processor when it's done, but these sensitive fragments
                   1800: are still on your disk somewhere.  
                   1801: 
                   1802: Let me tell you a true horror story.  I had a friend, married with
                   1803: young children, who once had a brief and not very serious affair. 
                   1804: She wrote a letter to her lover on her word processor, and deleted
                   1805: the letter after she sent it.  Later, after the affair was over, the
                   1806: floppy disk got damaged somehow and she had to recover it because it
                   1807: contained other important documents.  She asked her husband to
                   1808: salvage the disk, which seemed perfectly safe because she knew she
                   1809: had deleted the incriminating letter.  Her husband ran a commercial
                   1810: disk recovery software package to salvage the files.  It recovered
                   1811: the files alright, including the deleted letter.  He read it, which 
                   1812: set off a tragic chain of events.  
                   1813: 
                   1814: The only way to prevent the plaintext from reappearing is to somehow
                   1815: cause the deleted plaintext files to be overwritten.  Unless you know
                   1816: for sure that all the deleted disk blocks will soon be reused, you
                   1817: must take positive steps to overwrite the plaintext file, and also
                   1818: any fragments of it on the disk left by your word processor.  You can
                   1819: overwrite the original plaintext file after encryption by using the
                   1820: PGP -w (wipe) option.  You can take care of any fragments of the
                   1821: plaintext left on the disk by using any of the disk utilities
                   1822: available that can overwrite all of the unused blocks on a disk.  For
                   1823: example, the Norton Utilities for MSDOS can do this.
                   1824: 
                   1825: Even if you overwrite the plaintext data on the disk, it may still be
                   1826: possible for a resourceful and determined attacker to recover the
                   1827: data.  Faint magnetic traces of the original data remain on the disk
                   1828: after it has been overwritten.  Special sophisticated disk recovery
                   1829: hardware can sometimes be used to recover the data.
                   1830: 
                   1831: 
                   1832: Viruses and Trojan Horses
                   1833: -------------------------
                   1834: 
                   1835: Another attack could involve a specially-tailored hostile computer
                   1836: virus or worm that might infect PGP or your operating system.  This
                   1837: hypothetical virus could be designed to capture your pass phrase or
                   1838: secret key or deciphered messages, and covertly write the captured
                   1839: information to a file or send it through a network to the virus's
                   1840: owner.  Or it might alter PGP's behavior so that signatures are not
                   1841: properly checked.  This attack is cheaper than cryptanalytic attacks.
                   1842: 
                   1843: Defending against this falls under the category of defending against
                   1844: viral infection generally.  There are some moderately capable
                   1845: anti-viral products commercially available, and there are hygienic
                   1846: procedures to follow that can greatly reduce the chances of viral
                   1847: infection.  A complete treatment of anti-viral and anti-worm
                   1848: countermeasures is beyond the scope of this document.  PGP has no
                   1849: defenses against viruses, and assumes your own personal computer is a
                   1850: trustworthy execution environment.  If such a virus or worm actually
                   1851: appeared, hopefully word would soon get around warning everyone.  
                   1852: 
                   1853: Another similar attack involves someone creating a clever imitation
                   1854: of PGP that behaves like PGP in most respects, but doesn't work the
                   1855: way it's supposed to.  For example, it might be deliberately crippled
                   1856: to not check signatures properly, allowing bogus key certificates to
                   1857: be accepted.  This "Trojan horse" version of PGP is not hard for an
                   1858: attacker to create, because PGP source code is widely available, so
                   1859: anyone could modify the source code and produce a lobotomized zombie
                   1860: imitation PGP that looks real but does the bidding of its diabolical
                   1861: master.  This Trojan horse version of PGP could then be widely
                   1862: circulated, claiming to be from me.  How insidious.
                   1863: 
                   1864: You should make an effort to get your copy of PGP from a reliable
                   1865: source, whatever that means.  Or perhaps from more than one
                   1866: independent source, and compare them with a file comparison utility.
                   1867: 
                   1868: There are other ways to check PGP for tampering, using digital
                   1869: signatures.  If someone you trust signs the executable version of
                   1870: PGP, vouching for the fact that it has not been infected or tampered
                   1871: with, you can be reasonably sure that you have a good copy.  You
                   1872: could use an earlier trusted version of PGP to check the signature on
                   1873: a later suspect version of PGP.  But this will not help at all if
                   1874: your operating system is infected, nor will it detect if your
                   1875: original copy of PGP.EXE has been maliciously altered in such a way
                   1876: as to compromise its own ability to check signatures.  This test also
                   1877: assumes that you have a good trusted copy of the public key that you
                   1878: use to check the signature on the PGP executable.
                   1879: 
1.1.1.5   root     1880: I recommend you not trust your copy of PGP unless it was originally
                   1881: distributed by MIT or ViaCrypt, or unless it comes with a digitally
                   1882: signed endorsement from me.  Every new version comes with one or more
                   1883: digital signatures in the distribution package, signed by the
                   1884: originator of that release package.  This is usually someone
                   1885: representing MIT or ViaCrypt, or whoever released that version. 
                   1886: Check the signatures on the version that you get.  I have actually
                   1887: seen several bogus versions of PGP distribution packages, even from
                   1888: apparantly reliable freeware distribution channels such as CD-ROM
                   1889: distributors and Compuserve.  Always check the signature when you get
                   1890: a new version.
                   1891: 
1.1.1.4   root     1892: 
                   1893: Physical Security Breach
                   1894: ------------------------
                   1895: 
                   1896: A physical security breach may allow someone to physically acquire
                   1897: your plaintext files or printed messages.  A determined opponent
                   1898: might accomplish this through burglary, trash-picking, unreasonable
                   1899: search and seizure, or bribery, blackmail or infiltration of your
                   1900: staff.  Some of these attacks may be especially feasible against
                   1901: grassroots political organizations that depend on a largely volunteer
                   1902: staff.  It has been widely reported in the press that the FBI's
                   1903: COINTELPRO program used burglary, infiltration, and illegal bugging
                   1904: against antiwar and civil rights groups.  And look what happened at
                   1905: the Watergate Hotel.  
                   1906: 
                   1907: Don't be lulled into a false sense of security just because you have
                   1908: a cryptographic tool.  Cryptographic techniques protect data only
                   1909: while it's encrypted-- direct physical security violations can still
                   1910: compromise plaintext data or written or spoken information.  
                   1911: 
                   1912: This kind of attack is cheaper than cryptanalytic attacks on PGP.
                   1913: 
                   1914: 
                   1915: Tempest Attacks
                   1916: ---------------
                   1917: 
                   1918: Another kind of attack that has been used by well-equipped opponents
                   1919: involves the remote detection of the electromagnetic signals from
                   1920: your computer.  This expensive and somewhat labor-intensive attack is
                   1921: probably still cheaper than direct cryptanalytic attacks.  An
                   1922: appropriately instrumented van can park near your office and remotely
                   1923: pick up all of your keystrokes and messages displayed on your
                   1924: computer video screen.  This would compromise all of your passwords,
                   1925: messages, etc.  This attack can be thwarted by properly shielding all
                   1926: of your computer equipment and network cabling so that it does not
                   1927: emit these signals.  This shielding technology is known as "Tempest",
                   1928: and is used by some Government agencies and defense contractors.  
                   1929: There are hardware vendors who supply Tempest shielding commercially,
                   1930: although it may be subject to some kind of Government licensing.  Now
                   1931: why do you suppose the Government would restrict access to Tempest
                   1932: shielding?
                   1933: 
                   1934: 
                   1935: Exposure on Multi-user Systems
                   1936: ------------------------------
                   1937: 
                   1938: PGP was originally designed for a single-user MSDOS machine under
                   1939: your direct physical control.  I run PGP at home on my own PC, and
                   1940: unless someone breaks into my house or monitors my electromagnetic
                   1941: emissions, they probably can't see my plaintext files or secret keys. 
                   1942: 
                   1943: But now PGP also runs on multi-user systems such as Unix and VAX/VMS.
                   1944: On multi-user systems, there are much greater risks of your plaintext
                   1945: or keys or passwords being exposed.  The Unix system administrator or
                   1946: a clever intruder can read your plaintext files, or perhaps even use
                   1947: special software to covertly monitor your keystrokes or read what's
                   1948: on your screen.  On a Unix system, any other user can read your
                   1949: environment information remotely by simply using the Unix "ps"
                   1950: command.  Similar problems exist for MSDOS machines connected on a
                   1951: local area network.  The actual security risk is dependent on your
                   1952: particular situation.  Some multi-user systems may be safe because
                   1953: all the users are trusted, or because they have system security
                   1954: measures that are safe enough to withstand the attacks available to
                   1955: the intruders, or because there just aren't any sufficiently
                   1956: interested intruders.  Some Unix systems are safe because they are
                   1957: only used by one user-- there are even some notebook computers
                   1958: running Unix.  It would be unreasonable to simply exclude PGP from
                   1959: running on all Unix systems.
                   1960: 
                   1961: PGP is not designed to protect your data while it is in plaintext
                   1962: form on a compromised system.  Nor can it prevent an intruder from
                   1963: using sophisticated measures to read your secret key while it is
                   1964: being used.  You will just have to recognize these risks on
                   1965: multi-user systems, and adjust your expectations and behavior
                   1966: accordingly.  Perhaps your situation is such that you should consider
                   1967: running PGP only on an isolated single-user system under your direct
                   1968: physical control.  That's what I do, and that's what I recommend.
                   1969: 
                   1970: 
                   1971: Traffic Analysis
                   1972: ----------------
                   1973: 
                   1974: Even if the attacker cannot read the contents of your encrypted
                   1975: messages, he may be able to infer at least some useful information by
                   1976: observing where the messages come from and where they are going, the
                   1977: size of the messages, and the time of day the messages are sent. 
                   1978: This is analogous to the attacker looking at your long distance phone
                   1979: bill to see who you called and when and for how long, even though the
                   1980: actual content of your calls is unknown to the attacker.  This is
                   1981: called traffic analysis.  PGP alone does not protect against traffic
                   1982: analysis.  Solving this problem would require specialized 
                   1983: communication protocols designed to reduce exposure to traffic
                   1984: analysis in your communication environment, possibly with some
                   1985: cryptographic assistance.
                   1986: 
                   1987: 
1.1.1.5   root     1988: Protecting Against Bogus Timestamps
                   1989: -----------------------------------
                   1990: 
                   1991: A somewhat obscure vulnerability of PGP involves dishonest users
                   1992: creating bogus timestamps on their own public key certificates and
                   1993: signatures.  You can skip over this section if you are a casual user
                   1994: and aren't deeply into obscure public key protocols.
                   1995: 
                   1996: There's nothing to stop a dishonest user from altering the date and
                   1997: time setting of his own system's clock, and generating his own public
                   1998: key certificates and signatures that appear to have been created at a
                   1999: different time.  He can make it appear that he signed something
                   2000: earlier or later than he actually did, or that his public/secret key
                   2001: pair was created earlier or later.  This may have some legal or
                   2002: financial benefit to him, for example by creating some kind of 
                   2003: loophole that might allow him to repudiate a signature.
                   2004: 
                   2005: I think this problem of falsified timestamps in digital signatures is
                   2006: no worse than it is already in handwritten signatures.  Anyone may
                   2007: write a date next to their handwritten signature on a contract with
                   2008: any date they choose, yet no one seems to be alarmed over this state
                   2009: of affairs.  In some cases, an "incorrect" date on a handwritten
                   2010: signature might not be associated with actual fraud.  The timestamp
                   2011: might be when the signator asserts that he signed a document, or
                   2012: maybe when he wants the signature to go into effect.
                   2013: 
                   2014: In situations where it is critical that a signature be trusted to
                   2015: have the actual correct date, people can simply use notaries to
                   2016: witness and date a handwritten signature.  The analog to this in
                   2017: digital signatures is to get a trusted third party to sign a
                   2018: signature certificate, applying a trusted timestamp.  No exotic or
                   2019: overly formal protocols are needed for this.  Witnessed signatures
                   2020: have long been recognized as a legitimate way of determining when a
                   2021: document was signed.
                   2022: 
                   2023: A trustworthy Certifying Authority or notary could create notarized
                   2024: signatures with a trustworthy timestamp.  This would not necessarily
                   2025: require a centralized authority.  Perhaps any trusted introducer or
                   2026: disinterested party could serve this function, the same way real
                   2027: notary publics do now.  When a notary signs other people's
                   2028: signatures, it creates a signature certificate of a signature
                   2029: certificate.  This would serve as a witness to the signature the same
                   2030: way real notaries now witness handwritten signatures.  The notary
                   2031: could enter the detached signature certificate (without the actual
                   2032: whole document that was signed) into a special log controlled by the
                   2033: notary.  Anyone can read this log.  The notary's signature would have
                   2034: a trusted timestamp, which might have greater credibility or more
                   2035: legal significance than the timestamp in the original signature.
                   2036: 
                   2037: There is a good treatment of this topic in Denning's 1983 article in
                   2038: IEEE Computer (see references).  Future enhancements to PGP might
                   2039: have features to easily manage notarized signatures of signatures,
                   2040: with trusted timestamps.
                   2041: 
                   2042: 
1.1.1.4   root     2043: Cryptanalysis
                   2044: -------------
                   2045: 
                   2046: An expensive and formidable cryptanalytic attack could possibly be
                   2047: mounted by someone with vast supercomputer resources, such as a
                   2048: Government intelligence agency.  They might crack your RSA key by
                   2049: using some new secret factoring breakthrough.  Perhaps so, but it is
                   2050: noteworthy that the US Government trusts the RSA algorithm enough in
                   2051: some cases to use it to protect its own nuclear weapons, according to
                   2052: Ron Rivest.  And civilian academia has been intensively attacking it
                   2053: without success since 1978. 
                   2054: 
                   2055: Perhaps the Government has some classified methods of cracking the
                   2056: IDEA(tm) conventional encryption algorithm used in PGP.  This is
                   2057: every cryptographer's worst nightmare.  There can be no absolute
                   2058: security guarantees in practical cryptographic implementations.  
                   2059: 
                   2060: Still, some optimism seems justified.  The IDEA algorithm's designers
                   2061: are among the best cryptographers in Europe.  It has had extensive
                   2062: security analysis and peer review from some of the best cryptanalysts
                   2063: in the unclassified world.  It appears to have some design advantages
1.1.1.5   root     2064: over the DES in withstanding differential and linear cryptanalysis,
                   2065: which have both been used to crack the DES.  
1.1.1.4   root     2066: 
                   2067: Besides, even if this algorithm has some subtle unknown weaknesses,
                   2068: PGP compresses the plaintext before encryption, which should greatly
                   2069: reduce those weaknesses.  The computational workload to crack it is
                   2070: likely to be much more expensive than the value of the message.
                   2071: 
                   2072: If your situation justifies worrying about very formidable attacks of
                   2073: this caliber, then perhaps you should contact a data security
                   2074: consultant for some customized data security approaches tailored to
                   2075: your special needs.  Boulder Software Engineering, whose address and
                   2076: phone are given at the end of this document, can provide such
                   2077: services.
                   2078: 
                   2079: 
                   2080: In summary, without good cryptographic protection of your data
                   2081: communications, it may have been practically effortless and perhaps
                   2082: even routine for an opponent to intercept your messages, especially
                   2083: those sent through a modem or E-mail system.  If you use PGP and
                   2084: follow reasonable precautions, the attacker will have to expend far
                   2085: more effort and expense to violate your privacy. 
                   2086: 
                   2087: If you protect yourself against the simplest attacks, and you feel
                   2088: confident that your privacy is not going to be violated by a
                   2089: determined and highly resourceful attacker, then you'll probably be
                   2090: safe using PGP.  PGP gives you Pretty Good Privacy.
                   2091: 
                   2092: 
                   2093: Legal Issues
                   2094: ============
                   2095: 
                   2096: 
                   2097: Trademarks, Copyrights, and Warranties
                   2098: --------------------------------------
                   2099: 
1.1.1.5   root     2100: "PGP", "Pretty Good Privacy", "Phil's Pretty Good Software", and the
                   2101: "Pretty Good" label for computer software and hardware products are
                   2102: all trademarks of Philip R. Zimmermann.
                   2103: 
                   2104: PGP is (c) Copyright Philip R. Zimmermann, 1990-1994.  All rights
                   2105: reserved.  The PGP User's Guide is also copyright Philip Zimmermann,
                   2106: 1990-1994.  All rights reserved.  These rights include but are not
                   2107: limited to any foreign language translations of the manual or the
                   2108: software, and all derivative works of both.
1.1.1.4   root     2109: 
                   2110: MIT may have a copyright on the particular software distribution
                   2111: package that they distribute from the MIT FTP site.  This copyright
                   2112: on the "compilation" of the distribution package in no way implies
                   2113: that MIT has a copyright on PGP itself, or its user documentation. 
                   2114: 
                   2115: The author assumes no liability for damages resulting from the use of
                   2116: this software, even if the damage results from defects in this
                   2117: software, and makes no representations concerning the merchantability
                   2118: of this software or its suitability for any specific purpose.  It is
                   2119: provided "as is" without express or implied warranty of any kind. 
                   2120: Because certain actions may delete files or render them
                   2121: unrecoverable, the author assumes no responsibility for the loss or
                   2122: modification of any data.
                   2123: 
                   2124: 
1.1.1.5   root     2125: 
1.1.1.4   root     2126: Patent Rights on the Algorithms
                   2127: -------------------------------
                   2128: 
                   2129: The RSA public key cryptosystem was developed at MIT, which holds a
                   2130: patent on it (U.S. patent #4,405,829, issued 20 Sep 1983).  A company
                   2131: in California called Public Key Partners (PKP) holds the exclusive
                   2132: commercial license to sell and sub-license the RSA public key
                   2133: cryptosystem.  MIT distributes a freeware version of PGP under the
                   2134: terms of the RSAREF license from RSA Data Security, Inc. (RSADSI).
                   2135: 
1.1.1.6 ! root     2136: At the time of this writing (September 1994), it appears that PKP may
        !          2137: be breaking up soon, in which case the patents they hold may fall
        !          2138: into other hands.  The RSA patent may end up with RSADSI.
        !          2139: 
1.1.1.4   root     2140: Non-US users of earlier versions of PGP should note that the RSA
                   2141: patent does not apply outside the US, and at least at the time of
                   2142: this writing, the author is not aware of any RSA patent in any other
                   2143: country.  Federal agencies may use the RSA algorithm, because the
                   2144: Government paid for the development of RSA with grants from the
                   2145: National Science Foundation and the Navy.  But despite the fact of
                   2146: Government users having free access to the RSA algorithm, Government
                   2147: use of PGP has additional restrictions imposed by the agreement I
                   2148: have with ViaCrypt, as explained later.
                   2149: 
                   2150: I wrote my PGP software from scratch, with my own independently
1.1.1.5   root     2151: developed implementation of the RSA algorithm.  Before publishing PGP
                   2152: in 1991, I got a formal written legal opinion from a patent attorney
                   2153: with extensive experience in software patents.  I'm convinced that
1.1.1.4   root     2154: publishing PGP the way I did does not violate patent law.
                   2155: 
                   2156: Not only did PKP acquire the exclusive patent rights for the RSA
                   2157: cryptosystem, but they also acquired the exclusive rights to three
                   2158: other patents covering other public key schemes invented by others at
                   2159: Stanford University, also developed with federal funding.  This
1.1.1.5   root     2160: one company claims to have a legal lock in the USA on nearly all
1.1.1.4   root     2161: practical public key cryptosystems.  They even appear to be claiming
                   2162: patent rights on the very concept of public key cryptography,
                   2163: regardless of what clever new original algorithms are independently
                   2164: invented by others.  I find such a comprehensive monopoly troubling,
                   2165: because I think public key cryptography is destined to become a
                   2166: crucial technology in the protection of our civil liberties and
                   2167: privacy in our increasingly connected society.  At the very least,
                   2168: it places these vital tools at risk by affording to the Government
                   2169: a single pressure point of influence.
                   2170: 
                   2171: Beginning with PGP version 2.5 (distributed by MIT, the holders of
                   2172: the original RSA patent), the freeware version of PGP uses the RSAREF
                   2173: subroutine library to perform its RSA calculations, under the RSAREF
                   2174: license, which allows noncommercial use in the USA.  RSAREF is a
                   2175: subroutine package from RSA Data Security Inc, that implements the
                   2176: RSA algorithm.  The RSAREF subroutines are used instead of PGP's
                   2177: original subroutines to implement the RSA functions in PGP.  See the
1.1.1.5   root     2178: RSAREF license for terms and conditions of use of RSAREF
                   2179: applications.
1.1.1.4   root     2180: 
                   2181: PGP 2.5 was released by MIT for a brief test period in May, 1994
1.1.1.5   root     2182: before releasing 2.6.  PGP 2.5 was released under the 16 March, 1994
                   2183: RSAREF license, which is a perpetual license, so it may legally be
                   2184: used forever in the US.  But it would be better for PGP's legal and
                   2185: political future for users in the United States to upgrade to version
                   2186: 2.6 or later to facilitate the demise of PGP 2.3a and earlier
                   2187: versions.  Also, PGP 2.5 has bugs that are corrected in 2.6, and 2.5
                   2188: will not read the new data format after September 1, 1994.  (See the
                   2189: section on Compatibility with Previous and Future Versions of PGP.)
1.1.1.4   root     2190: 
                   2191: The PGP 2.0 release was a joint effort of an international team of
                   2192: software engineers, implementing enhancements to the original PGP
                   2193: with design guidance from me.  It was released by Branko Lankester in
                   2194: The Netherlands and Peter Gutmann in New Zealand, out of reach of US
                   2195: patent law.  Although released only in Europe and New Zealand, it
                   2196: spontaneously spread to the USA without help from me or the PGP
                   2197: development team.
                   2198: 
                   2199: The IDEA(tm) conventional block cipher used by PGP is covered by a
                   2200: patent in Europe, held by ETH and a Swiss company called Ascom-Tech
1.1.1.5   root     2201: AG.  The US Patent number is 5,214,703, and the European patent
1.1.1.4   root     2202: number is EP 0 482 154 B1.  IDEA(tm) is a trademark of Ascom-Tech AG.
                   2203: There is no license fee required for noncommercial use of IDEA.
                   2204: Commercial users of IDEA may obtain licensing details from Dieter
                   2205: Profos, Ascom Tech AG, Teleservices Section, Postfach 151, 4502
                   2206: Solothurn, Switzerland, Tel +41 65 242885, Fax +41 65 235761.   
                   2207: 
                   2208: Ascom-Tech AG has granted permission for the freeware version PGP to
                   2209: use the IDEA cipher in non-commercial uses, everywhere.  In the US
                   2210: and Canada, all commercial or Government users must obtain a licensed
                   2211: version from ViaCrypt, who has a license from Ascom-Tech for the IDEA
1.1.1.5   root     2212: cipher.  
                   2213: 
                   2214: Ascom-Tech has recently been changing its policies regarding the use
                   2215: of IDEA in PGP for commercial use outside the US, and that policy
                   2216: still seems to be in flux.  They tell me that their current thinking
                   2217: is as follows:  They will allow commercial users of PGP outside the
                   2218: US or Canada to use IDEA in PGP without paying royalties to
                   2219: Ascom-Tech, because it is not currently possible for commercial users
                   2220: to buy a licensed version of PGP outside the US or Canada.  If the
                   2221: legal situation in the USA changes in the future, so that users
                   2222: outside the US or Canada can buy a licensed version of PGP (either
                   2223: from ViaCrypt, or from me, or from a foreign enterprise licensed by
                   2224: me), then Ascom-Tech will begin enforcing its patent licensing
                   2225: policies on commercial users who are in a position to buy a licensed
                   2226: version of PGP.  To get a more up-to-date report on this, contact
                   2227: Ascom-Tech AG.
1.1.1.4   root     2228: 
                   2229: The ZIP compression routines in PGP come from freeware source code,
                   2230: with the author's permission.  I'm not aware of any patents on the
1.1.1.5   root     2231: compression algorithms used in the ZIP routines.
1.1.1.4   root     2232: 
                   2233: 
1.1.1.5   root     2234: Freeware Status and Restrictions
                   2235: --------------------------------
                   2236: 
                   2237: PGP is not shareware, it's freeware.  Published as a community
                   2238: service.  Giving PGP away for free will encourage far more people to
                   2239: use it, which will have a greater social impact.  Feel free to
                   2240: disseminate the complete unmodified PGP release package as widely as
                   2241: possible, but be careful not to violate U.S. export controls if you
                   2242: live in the USA.  Give it to all your friends.  If you have access to
                   2243: any electronic Bulletin Board Systems, please upload the complete PGP
                   2244: executable object release package to as many BBS's as possible.
                   2245: 
                   2246: You may also disseminate the source code release package.  PGP's
                   2247: source code is published to assist public scrutiny of PGP to show that
                   2248: it has no hidden weaknesses or back doors, and to help people to find
                   2249: bugs and report them.  Recompile it and port it to new target
                   2250: machines.  Experiment with the code and learn from it.
                   2251: 
                   2252: I place no restraints on your modifying the source code for your own
                   2253: use.  However, do not distribute a modified version of PGP under the
                   2254: name "PGP" without first getting permission from me.  Please respect
                   2255: this restriction.  PGP's reputation for cryptographic integrity
                   2256: depends on maintaining strict quality control on PGP's cryptographic
                   2257: algorithms and protocols.  Beyond that, ad hoc "improvements" to PGP
                   2258: can affect interoperability, which creates user confusion and
                   2259: compatability problems that could damage PGP's (and my own)
                   2260: reputation and undermine the good will earned by the PGP trademark.
                   2261: 
                   2262: This has already started to happen, which is why I'm making a point
                   2263: of it here.  This creates technical support headaches, and I get
                   2264: phone calls from confused users who run into problems either because
                   2265: they have a mutant strain of PGP, or are trying to process a key,
                   2266: signature, or message that came from an incompatible mutant strain of
                   2267: PGP.  The source code to PGP was not published to help spawn these
                   2268: mutant strains.
                   2269: 
                   2270: If you want to distribute a modified version of PGP, or use a modified
                   2271: version to send messages to other people, you should name the program
                   2272: in such a way that no one could mistake it for PGP.  The messages,
                   2273: signatures, and keys it produces must also be labeled in such a way
                   2274: that no one could mistake them for material produced by PGP.  If you
                   2275: feel you must modify your copy of PGP, and there is any chance that
                   2276: the modified version could escape into the environment, please contact
                   2277: me first to discuss some easy methods for how to prevent people from
                   2278: confusing your version with the standard PGP.  Perhaps we'll even
                   2279: decide that your changes are appropriate for incorporating into the
                   2280: standard PGP release.
                   2281: 
                   2282: Also, you should note that official executable versions of PGP are
                   2283: always released signed by the PGP developers, so you can verify their
                   2284: authenticity.  If you find a corrupted copy of PGP, or notice one
                   2285: being distributed, please contact the people doing the distribution
                   2286: and suggest that they replace this with an authentic version.
                   2287: 
                   2288: Some older versions of PGP were published under the terms of the
                   2289: General Public License (GPL), a license designed by the Free Software
                   2290: Foundation to protect the status of free software.  Newer freeware
                   2291: versions of PGP are no longer published under the GPL.  The RSAREF
                   2292: licensing terms are more stringent than those of the GPL.  But even
                   2293: if a version of PGP is published without RSAREF, in a situation or
                   2294: place where the RSA patent does not apply, I still do not want the
                   2295: GPL to apply to PGP, for a variety of reasons, not the least of which
                   2296: is because the GPL is not optimal for protecting PGP from being
                   2297: republished with ad-hoc "improvements".
                   2298: 
                   2299: Outside the United States, the RSA patent is not in force, so PGP
                   2300: users there are free to use implementations of PGP that do not rely
                   2301: on RSAREF and its restrictions.  Canadians may use PGP without using
                   2302: RSAREF, and there are legal ways to export PGP to Canada.  In Canada,
                   2303: where RSAREF is not needed, it is easy to modify and recompile the
                   2304: current PGP source code to perform the RSA calculations without using
                   2305: the RSAREF library, just as it was done in PGP 2.3a.  In such a case,
                   2306: this modified PGP may be re-released under the identical licensing
                   2307: terms as the current official freeware PGP release, but without the
                   2308: RSAREF-specific restrictions.  It may not be re-released under the
                   2309: GPL, as certain older versions were.  And this manual must accompany
                   2310: it.  That modified version of PGP may not be used in environments
                   2311: where RSAREF would be needed.
                   2312: 
                   2313: 
                   2314: Restrictions on Commercial Use of PGP
                   2315: -------------------------------------
1.1.1.4   root     2316: 
1.1.1.5   root     2317: The freeware version of PGP is for personal, non-commercial use.  For
                   2318: commercial use in the USA or Canada, contact ViaCrypt in Phoenix,
                   2319: Arizona (phone 602 944-0773, or email [email protected]).
                   2320: 
                   2321: I made an agreement with ViaCrypt in the summer of 1993 to license the
                   2322: exclusive commercial rights to PGP, so that there would be a way for
                   2323: corporations to use PGP without risk of a patent infringement lawsuit
                   2324: from PKP.  For PGP to succeed in the long term as a viable industry
                   2325: standard, the legal stigma associated with the RSA patent rights had
                   2326: to be resolved.  ViaCrypt had already obtained a patent license from
                   2327: PKP to make, use, and sell products that practice the RSA patents.
                   2328: ViaCrypt offered a way out of the patent quagmire for PGP to penetrate
                   2329: the corporate environment.  They could sell a fully-licensed version
                   2330: of PGP, but only if I licensed it to them under these terms.  So we
                   2331: entered into an agreement to do that, opening the door for PGP's
                   2332: future in the commercial sector, which was necessary for PGP's
                   2333: long-term political future.
1.1.1.4   root     2334: 
1.1.1.5   root     2335: Therefore, regardless of the complexities and partially overlapping
1.1.1.4   root     2336: restrictions from all the other terms and conditions imposed by the
                   2337: various patent and copyright licenses (RSA, RSAREF, and IDEA) from
                   2338: various third parties, an additional overriding restriction on PGP
1.1.1.5   root     2339: usage is imposed by my own agreement with ViaCrypt: The freeware
                   2340: version of PGP is only for personal, non-commercial use -- all other
1.1.1.4   root     2341: users in the USA and Canada must obtain a fully licensed version of
1.1.1.5   root     2342: PGP from ViaCrypt.  The restrictions imposed by my agreement with
                   2343: ViaCrypt do not apply outside the USA or Canada.
1.1.1.4   root     2344: 
1.1.1.5   root     2345: Finally, if you want to turn PGP into a commercial product and make
                   2346: money selling it, then we must agree on a way for me to also make
                   2347: money on it.  If you use PGP in such a manner that you must pay
                   2348: patent royalties or any other software licensing fees to the patent
                   2349: holders for any cryptographic algorithms used by PGP, then we must
                   2350: agree on a way for me to also be paid in some manner.  Buying PGP
                   2351: from ViaCrypt is one way to meet this requirement.
                   2352: 
                   2353: 
                   2354: Other Licensing Restrictions
                   2355: ----------------------------
                   2356: 
                   2357: Under no circumstances may PGP be distributed without the PGP
                   2358: documentation, including this PGP User's Guide.  And, assuming this is
                   2359: an RSAREF version of PGP, the RSAREF license agreement must be kept
                   2360: with it.  You must also keep the copyright, patent, and trademark
                   2361: notices on PGP and its documentation.
                   2362: 
                   2363: The standard freeware PGP release is primarily distributed in
                   2364: electronic form, as a single compressed archive file, containing a
                   2365: collection of files in a "shrink-wrapped" package.  This package
                   2366: should not be broken up and the components separately distributed --
                   2367: in the interests of quality control, we want to make it difficult for
                   2368: users to obtain PGP without getting the full release package.
                   2369: 
                   2370: 
                   2371: Distribution
                   2372: ------------
                   2373: 
                   2374: In the USA, PGP is available for free from the Massachusetts Institute
                   2375: of Technology, under the restrictions described above.
1.1.1.4   root     2376: 
                   2377: The primary release site for PGP is the Massachusetts Institute of
1.1.1.5   root     2378: Technology, at their FTP site "net-dist.mit.edu", in the /pub/PGP
1.1.1.4   root     2379: directory.  You may obtain free copies or updates to PGP from this
                   2380: site, or any other Internet FTP site or BBS that PGP has spread to.
                   2381: Don't ask me for a copy directly from me, especially if you live
1.1.1.5   root     2382: outside the US or Canada.  I recommend that you not use any modified
                   2383: version of PGP that comes from any other source, other than MIT,
                   2384: ViaCrypt, or me, unless it is accompanied by a signed endorsement
                   2385: from me personally.  You can get the official release software from
                   2386: many other distribution sites "downstream" from MIT.  Hopefully, all
                   2387: these other sites are adhering to US export controls.
                   2388: 
1.1.1.6 ! root     2389: The PGP version 2.6.2 executable object release package for MSDOS
1.1.1.5   root     2390: contains the PGP executable software, documentation, RSAREF license,
                   2391: sample key rings including my own public key, and signatures for the
                   2392: software and this manual, all in one PKZIP compressed file called
1.1.1.6 ! root     2393: pgp262.zip.  The PGP source release package for MSDOS contains all
        !          2394: the C source files in one PKZIP compressed file called pgp262s.zip. 
1.1.1.5   root     2395: The filename for the release package is derived from the version
                   2396: number of the release.
1.1.1.4   root     2397: 
                   2398: 
                   2399: Export Controls
                   2400: ---------------
                   2401: 
                   2402: The U.S. Government has made it illegal in most cases to export good
                   2403: cryptographic technology, and that may include PGP.  They regard this
                   2404: kind of software just like they regard munitions.  This is determined
1.1.1.5   root     2405: not by legislation, but by administrative policies of the State
                   2406: Department, Defense Department and Commerce Department.
                   2407: 
                   2408: The U.S. Government is using export restrictions as a means of
                   2409: suppressing both domestic and foreign availability of cryptographic
                   2410: technology.  In particular, it is trying to suppress the emergence of
                   2411: an international standard for cryptographic protocols, until it can
                   2412: establish the Escrowed Encryption Standard (the Clipper chip) as the
                   2413: dominant standard.
                   2414: 
                   2415: Any export restrictions on PGP are imposed by the US Government. 
                   2416: This does not imply that I or MIT agree with these restrictions.  We
                   2417: just comply with them.  We do not impose additional licensing
                   2418: restrictions of our own on the use of PGP outside of the US, other
                   2419: than those restrictions that already apply inside the US.  PGP may be
                   2420: subject to export controls.  Anyone wishing to export it should first
                   2421: consult the State Department's Office of Defense Trade Controls.
                   2422: 
                   2423: I will not export this software out of the US or Canada in cases when
                   2424: it is illegal to do so under US controls, and I urge other people not
                   2425: to export it on their own.  If you live outside the US or Canada, I
                   2426: urge you not to violate US export laws by getting any version of PGP
                   2427: in a way that violates those laws.  Since thousands of domestic users
                   2428: got the first version after its initial publication, it somehow
                   2429: leaked out of the US and spread itself widely abroad, like dandelion
                   2430: seeds blowing in the wind.
1.1.1.4   root     2431: 
                   2432: Starting with PGP version 2.0 through version 2.3a, the release point
                   2433: of the software has been outside the US, on publicly-accessible
                   2434: computers in Europe.  Each release was electronically sent back into
                   2435: the US and posted on publicly-accessible computers in the US by PGP
                   2436: privacy activists in foreign countries.  There are some restrictions
                   2437: in the US regarding the import of munitions, but I'm not aware of any
                   2438: cases where this was ever enforced for importing cryptographic
                   2439: software into the US.  I imagine that a legal action of that type
                   2440: would be quite a spectacle of controversy.
                   2441: 
1.1.1.5   root     2442: ViaCrypt PGP is sold in the United States and Canada and is not for
                   2443: export.  The following language was supplied by the US Government to
                   2444: ViaCrypt for inclusion in the ViaCrypt PGP documentation:  "PGP is
                   2445: export restricted by the Office of Export Administration, United
                   2446: States Department of Commerce and the Offices of Defense Trade
                   2447: Controls and Munitions Control, United States Department of State. 
                   2448: PGP cannot be exported or reexported, directly or indirectly, (a)
                   2449: without all export or reexport licenses and governmental approvals
                   2450: required by any applicable laws, or (b) in violation of any
                   2451: prohibition against the export or reexport of any part of PGP."  The
                   2452: Government may take the position that the freeware PGP versions are
                   2453: also subject to those controls.
1.1.1.4   root     2454: 
                   2455: The freeware PGP versions 2.5 and 2.6 were released through a posting
                   2456: on a controlled FTP site maintained by MIT.  This site has
                   2457: restrictions and limitations which have been used on other FTP sites
                   2458: to comply with export control requirements with respect to other
                   2459: encryption software such as Kerberos and software from RSA Data
1.1.1.5   root     2460: Security, Inc.  I urge you not to do anything which would weaken
                   2461: those controls or facilitate any improper export of PGP.
                   2462: 
                   2463: Although PGP has become a worldwide de facto standard for E-mail
                   2464: encryption, and is widely available overseas, I still get calls from
                   2465: people outside the US who ask me if it is legal to use it in their
                   2466: own country, for versions that are already available there.  Please
                   2467: don't contact me to ask me if it is legal to use PGP in your country
                   2468: if you live outside the US.  That question is not up to me.  I've got
                   2469: enough legal problems of my own with export control issues, without
                   2470: getting involved in giving you legal advice over my phone.  It might
                   2471: even put me at some legal risk to simply answer a question like that
                   2472: for a foreigner.  If this question concerns you, ask someone else,
                   2473: like a lawyer.
                   2474: 
                   2475: You may have a need to use PGP in a commercial application outside
                   2476: the US or Canada.  Unfortunately, at the time of this writing, there
                   2477: is no current commercial source for PGP outside the US or Canada.  I
                   2478: am trying to find a US-legal way to make a commercially licensed
                   2479: version available abroad, but right now the US export restrictions
                   2480: make that difficult without putting me at legal risk.  This situation
                   2481: may change.
1.1.1.4   root     2482: 
                   2483: Some foreign governments impose serious penalties on anyone inside
                   2484: their country for merely using encrypted communications.  In some
                   2485: countries they might even shoot you for that.  But if you live in
                   2486: that kind of country, perhaps you need PGP even more.
                   2487: 
                   2488: 
                   2489: 
                   2490: Philip Zimmermann's Legal Situation
                   2491: -----------------------------------
                   2492: 
                   2493: At the time of this writing, I am the target of a US Customs criminal
1.1.1.5   root     2494: investigation in the Northern District of California.  A criminal
                   2495: investigation is not a civil lawsuit.  Civil lawsuits do not involve
                   2496: prison terms.  My defense attorney has been told by the Assistant US
                   2497: Attorney that the area of law of interest to the investigation has to
                   2498: do with the export controls on encryption software.  The federal
                   2499: mandatory sentencing guidelines for this offense are 41 to 51 months
                   2500: in a federal prison.  US Customs appears to be taking the position
                   2501: that electronic domestic publication of encryption software is the
                   2502: same as exporting it.  The prosecutor has issued a number of federal
                   2503: grand jury subpoenas.  It may be months before a decision is reached
                   2504: on whether to seek indictment.  This situation may change at any
                   2505: time, so this description may be out of date by the time you read
                   2506: it.  Watch the news for further developments.  If I am indicted and
                   2507: this goes to trial, it will be a major test case.
1.1.1.4   root     2508: 
                   2509: I have a legal defense fund set up for this case.  So far, no other
                   2510: organization is doing the fundraising for me, so I am depending on
1.1.1.5   root     2511: people like you to contribute directly to this cause.  If you care
                   2512: about the future of your civil liberties in the information age, then
                   2513: perhaps you will care about this case.  The legal fees are expensive,
                   2514: the meter is running, and I need your help.  The fund is run by my
                   2515: lead defense attorney, Phil Dubois, here in Boulder.  Please send
                   2516: your contributions to:
1.1.1.4   root     2517: 
1.1.1.5   root     2518:    Philip L. Dubois, Lawyer
1.1.1.4   root     2519:    2305 Broadway
                   2520:    Boulder, Colorado 80304 USA
1.1.1.5   root     2521:    Phone (303) 444-3885
1.1.1.4   root     2522:    E-mail:  [email protected]
                   2523: 
                   2524: You can also phone in your donation and put it on Mastercard or Visa.
                   2525: If you want to be really cool, you can use Internet E-mail to send in
                   2526: your contribution, encrypting your message with PGP so that no one
                   2527: can intercept your credit card number.  Include in your E-mail
                   2528: message your Mastercard or Visa number, expiration date, name on the
                   2529: card, and amount of donation.  Then sign it with your own key and
                   2530: encrypt it with Phil Dubois's public key (his key is included in the
                   2531: standard PGP distribution package, in the "keys.asc" file).  Put a
                   2532: note on the subject line that this is a donation to my legal defense
                   2533: fund, so that Mr. Dubois will decrypt it promptly.  Please don't send
1.1.1.5   root     2534: a lot of casual encrypted E-mail to him -- I'd rather he use his
1.1.1.4   root     2535: valuable time to work on my case.
                   2536: 
1.1.1.5   root     2537: If you want to read some press stories to find out why this is an
                   2538: important case, see the following references:
1.1.1.4   root     2539: 
                   2540:   1)  William Bulkeley, "Cipher Probe", Wall Street Journal, Thursday
1.1.1.5   root     2541:       28 April 1994, front page.
1.1.1.4   root     2542:   2)  John Cary, "Spy vs. Computer Nerd:  The Fight Over Data
                   2543:       Security", Business Week, 4 Oct 1993, page 43.
                   2544:   3)  Jon Erickson, "Cryptography Fires Up the Feds", Dr. Dobb's
                   2545:       Journal, December 1993, page 6.
                   2546:   4)  John Markoff, "Federal Inquiry on Software Examines Privacy
                   2547:       Programs", New York Times, Tuesday 21 Sep 1993, page C1.
                   2548:   5)  Kurt Kleiner, "Punks and Privacy", Mother Jones Magazine, 
                   2549:       Jan/Feb 1994, page 17.
1.1.1.5   root     2550:   6)  Steven Levy, "Battle of the Clipper Chip", New York Times
                   2551:       Magazine, Sunday 12 Jun 1994, page 44.
                   2552:   7)  Steven Levy, "Crypto Rebels", WIRED, May/Jun 1993, page 54.
                   2553:   8)  John Markoff, "Cyberspace Under Lock and Key", New York Times,
1.1.1.4   root     2554:       Sunday 13 Feb 1994.
1.1.1.5   root     2555:   9)  Philip Elmer-DeWitt, "Who Should Keep the Keys", Time, 14 Mar
1.1.1.4   root     2556:       1994, page 90.
                   2557: 
1.1.1.5   root     2558: There are a great many other articles on PGP from around the world. 
                   2559: I'm keeping a scrapbook.
                   2560: 
                   2561: 
                   2562: Other Sources of Information on PGP
                   2563: ===================================
                   2564: 
1.1.1.4   root     2565: 
                   2566: Where to Get a Commercial Version of PGP
                   2567: ----------------------------------------
                   2568: 
                   2569: To get a fully licensed version of PGP for use in the USA or Canada,
                   2570: contact:
                   2571: 
                   2572:    ViaCrypt
1.1.1.5   root     2573:    9033 North 24th Avenue, Suite 7
                   2574:    Phoenix, Arizona 85021  USA
                   2575:    Phone: (602) 944-0773, or (800) 536-2664 
                   2576:    Fax: (602) 943-2601
1.1.1.4   root     2577:    E-mail: [email protected]
                   2578: 
                   2579: ViaCrypt has a version of PGP for MSDOS, and a number of Unix
1.1.1.5   root     2580: platforms.  They also have a Windows shell version, and other 
                   2581: versions are under development, including Macintosh.  If you have a
                   2582: need to use PGP in a commercial or Government setting, and ViaCrypt
                   2583: has a version of PGP for your hardware platform, you should get
                   2584: ViaCrypt PGP.
1.1.1.4   root     2585: 
                   2586: ViaCrypt has obtained all the necessary licenses from PKP, Ascom-Tech
                   2587: AG, and Philip Zimmermann to sell PGP for use in commercial or
1.1.1.5   root     2588: government environments.  ViaCrypt PGP is every bit as secure as the
1.1.1.4   root     2589: freeware PGP, and is entirely compatible in both directions with the
                   2590: freeware version of PGP.  ViaCrypt PGP is the perfect way to get a
                   2591: fully licensed version of PGP into your corporate environment.
                   2592: 
1.1.1.5   root     2593: If you work in a large company and you are a fan of PGP, I urge you
                   2594: to try to persuade your company to buy lots of copies of PGP from
                   2595: ViaCrypt.  Not just because that will earn royalties for me.  If
                   2596: ViaCrypt can make PGP a commercial success, it will go a long way
                   2597: toward cementing PGP's political future as an unstoppable standard
                   2598: for E-mail encryption in the corporate world.  The corporate world is
                   2599: where the money is, and that affects public policy like nothing
                   2600: else.  And that includes Government policy to suppress strong
                   2601: cryptography.
                   2602: 
                   2603: 
1.1.1.4   root     2604: 
                   2605: Reporting PGP Bugs
                   2606: ------------------
                   2607: 
                   2608: Bugs in PGP should be reported via E-mail to MIT, the official
                   2609: distribution site of PGP.  The E-mail address for bug reports is
1.1.1.5   root     2610: [email protected].  MIT will forward a copy of your bug report to me. 
                   2611: When you report bugs, be sure to specify what machine and operating
                   2612: system you are using and what version of PGP you have, and provide
                   2613: enough detail to reproduce the problem.  It would also be a good idea
                   2614: to find out if you have the latest version of PGP, in case the bug
                   2615: has already been fixed.  Also, it's a good idea to make sure it
                   2616: really is a bug before you report it.  RTFM.
                   2617: 
                   2618: 
                   2619: 
                   2620: Fan Mail, Updates, and News
                   2621: ---------------------------
                   2622: 
                   2623: After all this work I have to admit I wouldn't mind getting some fan
                   2624: mail for PGP, to gauge its popularity.  Let me know what you think
                   2625: about it and how many of your friends use it.  Bug reports and
                   2626: suggestions for enhancing PGP are welcome, too.  Perhaps a future PGP
                   2627: release will reflect your suggestions.  
                   2628: 
                   2629: This project has not been funded and the project has nearly eaten me
                   2630: alive.  This means you usually won't get a reply to your mail, unless
                   2631: you only need a short written reply and you include a stamped
                   2632: self-addressed envelope.  But I often do reply to E-mail.  Please
                   2633: keep it in English, as my foreign language skills are weak.  If you
                   2634: call and I'm not in, it's best to just try again later.  I usually
                   2635: don't return long distance phone calls, unless you leave a message
                   2636: that I can call you collect, and even then I might not return your
                   2637: call.  If you need any significant amount of my time, I am available
                   2638: on a paid consulting basis, and I always return those calls.
                   2639: 
                   2640: The most inconvenient mail I get is for some well-intentioned person
                   2641: to send me a few dollars asking me for a copy of PGP.  I don't send 
                   2642: it to them because I'd rather avoid any legal problems with PKP.  Or
                   2643: worse, sometimes these requests are from foreign countries, and I
                   2644: would be risking a violation of US cryptographic export control
                   2645: laws.  Even if there were no legal hassles involved in sending PGP to
                   2646: them, they usually don't send enough money to make it worth my time.
                   2647: I'm just not set up as a low cost low volume mail order business.  I
                   2648: can't just ignore the request and keep the money, because they
                   2649: probably regard the money as a fee for me to fulfill their request.
                   2650: If I return the money, I might have to get in my car and drive down
                   2651: to the post office and buy some postage stamps, because these
                   2652: requests rarely include a stamped self-addressed envelope.  And I
                   2653: have to take the time to write a polite reply that I can't do it.  If
                   2654: I postpone the reply and set the letter down on my desk, it might be
                   2655: buried within minutes and won't see the light of day again for
                   2656: months.  Multiply these minor inconveniences by the number of
                   2657: requests I get, and you can see the problem.  Isn't it enough that
                   2658: the software is free?  It would be nicer if people could try to get
                   2659: PGP from any of the myriad other sources.  If you don't have a modem,
                   2660: ask a friend to get it for you.  If you can't find it yourself, I
                   2661: don't mind answering a quick phone call.
                   2662: 
                   2663: If anyone wants to volunteer to improve PGP, please let me know.  It
                   2664: could certainly use some more work.  Some features were deferred to
                   2665: get it out the door.  A number of PGP users have since donated their
                   2666: time to port PGP to Unix on Sun SPARCstations, to Ultrix, to VAX/VMS,
                   2667: to OS/2, to the Amiga, and to the Atari ST.  Perhaps you can help
                   2668: port it to some new environments.  But please let me know if you plan
                   2669: to port or add enhancements to PGP, to avoid duplication of effort,
                   2670: and to avoid starting with an obsolete version of the source code.  
                   2671: 
                   2672: Because so many foreign language translations of PGP have been
                   2673: produced, most of them are not distributed with the regular PGP
                   2674: release package because it would require too much disk space. 
                   2675: Separate language translation "kits" are available from a number of
                   2676: independent sources, and are sometimes available separately from the
                   2677: same distribution centers that carry the regular PGP release
                   2678: software.  These kits include translated versions of the file 
                   2679: LANGUAGE.TXT, PGP.HLP, and the PGP User's Guide.  If you want to
                   2680: produce a translation for your own native language, contact me first
                   2681: to get the latest information and standard guidelines, and to find
                   2682: out if it's been translated to your language already.  To find out
                   2683: where to get a foreign language kit for your language, you might
                   2684: check on the Internet newsgroups, or get it from Mike Johnson
                   2685: ([email protected]).
                   2686: 
                   2687: If you have access to the Internet, watch for announcements of new
                   2688: releases of PGP on the Internet newsgroups "sci.crypt" and PGP's own
                   2689: newsgroup, "alt.security.pgp".  If you want to know where to get PGP,
                   2690: MIT is the primary FTP distribution site (net-dist.mit.edu).  Or ask
                   2691: Mike Johnson ([email protected]) for a list of Internet FTP sites and BBS
                   2692: phone numbers.
1.1.1.4   root     2693: 
                   2694: 
                   2695: 
                   2696: Computer-Related Political Groups
1.1.1.5   root     2697: ---------------------------------
1.1.1.4   root     2698: 
                   2699: PGP is a very political piece of software.  It seems appropriate to
                   2700: mention here some computer-related activist groups.  Full details on
                   2701: these groups, and how to join them, is provided in a separate
                   2702: document file in the PGP release package.
                   2703: 
1.1.1.5   root     2704: The Electronic Privacy Information Center (EPIC) is a public interest
                   2705: research center in Washington, DC.  It was established in 1994 to
                   2706: focus public attention on emerging privacy issues relating to the
                   2707: National Information Infrastructure, such as the Clipper Chip, the
                   2708: Digital Telephony proposal, medical record privacy, and the sale of
                   2709: consumer data.  EPIC is sponsored by the Fund for Constitutional
                   2710: Government and Computer Professionals for Social Responsibility. 
                   2711: EPIC publishes the EPIC Alert and EPIC Reports, pursues Freedom of
                   2712: Information Act litigation, and conducts policy research on emerging
                   2713: privacy issues.  For more information email [email protected], or write
                   2714: EPIC, 666 Pennsylvania Ave., SE, Suite 301, Washington, DC 20003.
                   2715: +1 202 544 9240 (tel), +1 202 547 5482 (fax).
                   2716: 
1.1.1.4   root     2717: The Electronic Frontier Foundation (EFF) was founded in 1990 to
                   2718: assure freedom of expression in digital media, with a particular
                   2719: emphasis on applying the principles embodied in the US Constitution
                   2720: and the Bill of Rights to computer-based communication.  They can be
                   2721: reached in Washington DC, at (202) 347-5400.  Internet E-mail address:
                   2722: [email protected].
                   2723: 
                   2724: Computer Professionals For Social Responsibility (CPSR) empowers
                   2725: computer professionals and computer users to advocate for the
                   2726: responsible use of information technology and empowers all who use
                   2727: computer technology to participate in public policy debates on the
                   2728: impacts of computers on society.  They can be reached at:
1.1.1.5   root     2729: (415) 322-3778 in Palo Alto, E-mail address [email protected].
1.1.1.4   root     2730: 
1.1.1.5   root     2731: The League for Programming Freedom (LPF) is a grass-roots
                   2732: organization of professors, students, businessmen, programmers and
                   2733: users dedicated to bringing back the freedom to write programs.  They
                   2734: regard patents on computer algorithms as harmful to the US software
                   2735: industry (and so do I!).  They can be reached at (617) 433-7071. 
                   2736: E-mail address: [email protected].
1.1.1.4   root     2737: 
                   2738: For more details on these groups, see the accompanying document in
                   2739: the PGP release package.
                   2740: 
1.1.1.5   root     2741: 
                   2742: 
                   2743: Recommended Readings
                   2744: --------------------
                   2745: 
                   2746: 
                   2747: Introductory Readings
1.1.1.4   root     2748: 
                   2749: 1)  Bruce Schneier, "Applied Cryptography: Protocols, Algorithms, and
                   2750:     Source Code in C", John Wiley & Sons, 1993
                   2751:     (This book is a watershed work on the subject.)
                   2752: 2)  Dorothy Denning, "Cryptography and Data Security", Addison-Wesley,
                   2753:     Reading, MA 1982
                   2754: 3)  Dorothy Denning, "Protecting Public Keys and Signature Keys",
                   2755:     IEEE Computer, Feb 1983
                   2756: 4)  Martin E. Hellman, "The Mathematics of Public-Key Cryptography," 
                   2757:     Scientific American, Aug 1979
                   2758: 5)  Steven Levy, "Crypto Rebels", WIRED, May/Jun 1993, page 54.
1.1.1.5   root     2759:     (A "must-read" article on PGP and other related topics.)
                   2760: 6)  Steven Levy, "Battle of the Clipper Chip", New York Times
                   2761:     Magazine, Sunday 12 Jun 1994, page 44. (Great article, great
                   2762:     photos.)
                   2763: 7)  William Bulkeley, "Cipher Probe", Wall Street Journal, 28 April
                   2764:     1994, front page.  (An article on PGP and Zimmermann.)
                   2765: 
1.1.1.4   root     2766: 
                   2767: Other Readings
                   2768: 
1.1.1.5   root     2769: 8)  Ronald Rivest, "The MD5 Message Digest Algorithm", MIT Laboratory
1.1.1.4   root     2770:     for Computer Science, 1991
1.1.1.5   root     2771: 9)  Xuejia Lai, "On the Design and Security of Block Ciphers", 
1.1.1.4   root     2772:     ETH Series on Information Processing (Ed. J. L. Massey),
                   2773:     Vol. 1, Hartung-Gorre Verlag, Konstanz, Switzerland, 1992
1.1.1.5   root     2774: 10) Philip Zimmermann, "A Proposed Standard Format for RSA 
1.1.1.4   root     2775:     Cryptosystems", Advances in Computer Security, Vol III, edited by
                   2776:     Rein Turn, Artech House, 1988
1.1.1.5   root     2777: 11) Paul Wallich, "Electronic Envelopes", Scientific American, Feb
                   2778:     1993, page 30.  (An article on PGP)
                   2779: 12) William Stallings, "Pretty Good Privacy", BYTE, July 1994, page
                   2780:     193
                   2781: 13) Philip Zimmermann, "The Official PGP User's Guide", MIT Press,
                   2782:     1994 (in press)
                   2783: 14) Philip Zimmermann, "PGP Source Code and Internals", MIT Press,
                   2784:     1994 (in press)
                   2785: 
1.1.1.4   root     2786: 
                   2787: 
                   2788: To Contact the Author
1.1.1.5   root     2789: ---------------------
1.1.1.4   root     2790: 
                   2791: Philip Zimmermann may be reached at:
                   2792: 
                   2793: Boulder Software Engineering
                   2794: 3021 Eleventh Street
                   2795: Boulder, Colorado 80304  USA
                   2796: Internet:  [email protected]
1.1.1.5   root     2797: Phone (303) 541-0140 (voice)  (10:00am - 7:00pm Mountain Time)
                   2798: Fax available, if you arrange it via voice line.
1.1.1.4   root     2799: 
                   2800: 
                   2801: Appendix A:  Where to Get PGP
                   2802: =============================
                   2803: 
                   2804: The following describes how to get the freeware public key
                   2805: cryptographic software PGP (Pretty Good Privacy) from an anonymous
                   2806: FTP site on Internet, or from other sources.  
                   2807: 
1.1.1.5   root     2808: PGP has become a worldwide de facto standard for E-mail encryption.
1.1.1.4   root     2809: PGP has sophisticated key management, an RSA/conventional hybrid 
                   2810: encryption scheme, message digests for digital signatures, data
                   2811: compression before encryption, and good ergonomic design.  PGP is
                   2812: well featured and fast, and has excellent user documentation.  Source
                   2813: code is free.
                   2814: 
                   2815: The Massachusetts Institute of Technology is the distributor of PGP
                   2816: version 2.6, for distribution in the USA only.  It is available from
                   2817: "net-dist.mit.edu," a controlled FTP site that has restrictions and
                   2818: limitations, similar to those used by RSA Data Security, Inc., to comply
                   2819: with export control requirements.  The software resides in the directory
                   2820: /pub/PGP.
                   2821: 
                   2822: A reminder:  Set mode to binary or image when doing an FTP transfer.
                   2823: And when doing a kermit download to your PC, specify 8-bit binary
                   2824: mode at both ends.
                   2825: 
                   2826: There are two compressed archive files in the standard release, with
                   2827: the file name derived from the release version number.  For PGP
1.1.1.6 ! root     2828: version 2.6.2, you must get pgp262.zip which contains the MSDOS
1.1.1.5   root     2829: binary executable and the PGP User's Guide, and you can optionally
1.1.1.6 ! root     2830: get pgp262s.zip which contains all the source code.  These files can
1.1.1.5   root     2831: be decompressed with the MSDOS shareware archive decompression
                   2832: utility PKUNZIP.EXE, version 1.10 or later.  For Unix users who lack
                   2833: an implementation of UNZIP, the source code can also be found in the
1.1.1.6 ! root     2834: compressed tar file pgp262s.tar.Z.
1.1.1.4   root     2835: 
                   2836: If you don't have any local BBS phone numbers handy, here is a BBS
                   2837: you might try.  The Catacombs BBS, operated by Mike Johnson in
                   2838: Longmont, Colorado, has PGP available for download by people in the US
                   2839: or Canada only.  The BBS phone number is 303-772-1062.  Mike
1.1.1.5   root     2840: Johnson's voice phone number is 303 772-1773, and his E-mail address
1.1.1.4   root     2841: is [email protected].  Mike also has PGP available on an Internet FTP site
                   2842: for users in the US or Canada only; the site name is csn.org, in
                   2843: directory /mpj/, and you must read the README.MPJ file to get it.
                   2844: 
                   2845: To get a fully licensed version of PGP for use in the USA or Canada,
                   2846: contact ViaCrypt in Phoenix, Arizona.  Their phone number is
                   2847: 602-944-0773.  ViaCrypt has obtained all the necessary licenses from
                   2848: PKP, Ascom-Tech AG, and Philip Zimmermann to sell PGP for use in
                   2849: commercial or Government environments.  ViaCrypt PGP is every bit as
                   2850: secure as the freeware PGP, and is entirely compatible in both
                   2851: directions with the freeware version of PGP.  ViaCrypt PGP is the
                   2852: perfect way to get a fully licensed version of PGP into your
                   2853: corporate or Government environment.
                   2854: 
1.1.1.5   root     2855: Here are a few people and their E-mail addresses or phone numbers you
1.1.1.4   root     2856: can contact in some countries to get information on local PGP 
                   2857: availability for versions earlier than 2.5:
                   2858: 
                   2859: Peter Gutmann                 Hugh Kennedy
                   2860: [email protected]         [email protected]
                   2861: New Zealand                   Germany
                   2862: 
                   2863: Branko Lankester              Miguel Angel Gallardo
                   2864: [email protected]             [email protected]
                   2865: +31 2159 42242                (341) 474 38 09
                   2866: The Netherlands               Spain
                   2867: 
                   2868: Hugh Miller                   Colin Plumb
                   2869: [email protected]     [email protected]
                   2870: (312) 508-2727                Toronto, Ontario, Canada
                   2871: USA
                   2872: 
                   2873: Jean-loup Gailly
                   2874: [email protected]
                   2875: France
                   2876: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.