home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 May / CHIPCD5_98.iso / offline / security / pgpfaq / pgpfaq.txt < prev   
Text File  |  1998-03-25  |  121KB  |  2,486 lines

  1.  
  2. Archive-name: pgp-faq/index
  3. Version: 1.4
  4.  
  5.                          The comp.security.pgp FAQ
  6.                                       
  7.    This is the list of Frequently Asked Questions for the Pretty Good
  8.    Privacy (PGP) encryption program written by Phillip Zimmermann. It is
  9.    posted to all comp.security.pgp newsgroups once a month, and is also
  10.    available on the World-Wide Web at http://www.pgp.net/pgpnet/pgp-faq/.
  11.    
  12.    See "About this document" for more information. The What's new section
  13.    tells you what has been added, modified or removed in this version of
  14.    the FAQ.
  15.      _________________________________________________________________
  16.    
  17.                              Table of Contents
  18.                                       
  19. 1. Introductory Questions
  20.  
  21.      1.1 What is PGP?
  22.      1.2 Why should I encrypt my mail? I'm not doing anything illegal!
  23.      1.3 What are public keys and private keys?
  24.      1.4 How much does PGP cost?
  25.      1.5 Is encryption legal?
  26.      1.6 Is PGP legal?
  27.      1.7 What's the current version of PGP?
  28.      1.8 Is there an archive site for the comp.security.pgp groups?
  29.      1.9 Is there a commercial version of PGP available?
  30.      1.10 Is PGP available as a programming library, so I can write
  31.        programs that use it?
  32.      1.11 What platforms has PGP been ported to?
  33.      1.12 Where can I obtain PGP?
  34.      1.13 I want to find out more!
  35.        
  36. 2. Very Common Questions and Problems
  37.  
  38.      2.1 Why can't a person using version 2.3 read my version 2.6
  39.        message?
  40.      2.2 Why does PGP complain about checking signatures every so often?
  41.      2.3 Why does it take so long to encrypt/decrypt messages?
  42.      2.4 How do I create a secondary key file?
  43.      2.5 How does PGP handle multiple addresses?
  44.      2.6 Where can I obtain scripts to integrate pgp with my email or
  45.        news reading system?
  46.      2.7 How can I decrypt messages I've encrypted to others?
  47.      2.8 Why can't I generate a key with PGP for Unix?
  48.      2.9 When I clearsign a document in PGP, it adds a "dash-space" to
  49.        several of my lines. What gives?
  50.      2.10 How do I encrypt more than one file at a time?
  51.      2.11 How can I give my passphrase to PGP automatically?
  52.      2.12 How come 'randseed.bin' got infected by a virus?
  53.      2.13 Why can't MacPGP find my secret key?
  54.      2.14 How do I set the TZ variable?
  55.      2.15 How do I determine if the PGP command worked?
  56.      2.16 Why does PGP 5.0 no longer ask for random keystrokes?
  57.      2.17 Are PGP 5.0/5.5 and PGP 2.6.x interoperable?
  58.        
  59. 3. Security Questions
  60.  
  61.      3.1 How secure is PGP?
  62.      3.2 Can't you break PGP by trying all of the possible keys?
  63.      3.3 How secure is the conventional cryptography (-c) option?
  64.      3.4 Can the NSA crack RSA?
  65.      3.5 Has RSA ever been cracked publicly? What is RSA-129?
  66.      3.6 How secure is the "for your eyes only" option (-m)?
  67.      3.7 What if I forget my pass phrase?
  68.      3.8 Why do you use the term "pass phrase" instead of "password"?
  69.      3.9 What is the best way to crack PGP?
  70.      3.10 If my secret key ring is stolen, can my messages be read?
  71.      3.11 How do I choose a pass phrase?
  72.      3.12 How do I remember my pass phrase?
  73.      3.13 How do I verify that my copy of PGP has not been tampered with?
  74.      3.14 I can't verify the signature on my new copy of MIT PGP with my
  75.        old PGP 2.3a!
  76.      3.15 How do I know that there is no trap door in the program?
  77.      3.16 I heard that the NSA put a back door in MIT PGP, and that they
  78.        only allowed it to be legal with the back door.
  79.      3.17 Is there a back door in the international version?
  80.      3.18 Can I put PGP on a multi-user system like a network or a
  81.        mainframe?
  82.      3.19 Can I use PGP under a "swapping" operating system like Windows
  83.        or OS/2?
  84.      3.20 Why not use RSA alone rather than a hybrid mix of IDEA, MD5, &
  85.        RSA?
  86.      3.21 Aren't all of these security procedures a little paranoid?
  87.      3.22 Can I be forced to reveal my pass phrase in any legal
  88.        proceedings?
  89.        
  90. 4. Keys
  91.  
  92.      4.1 Which key size should I use?
  93.      4.2 Why does PGP take so long to add new keys to my key ring?
  94.      4.3 How can I extract multiple keys into a single armored file?
  95.      4.4 I tried encrypting the same message to the same address two
  96.        times and got completely different outputs. Why is this?
  97.      4.5 How do I specify which key to use when an individual has 2 or
  98.        public keys and the very same user ID on each, or when 2 different
  99.        users have the same name?
  100.      4.6 What does the message "Unknown signator, can't be checked" mean?
  101.      4.7 How do I get PGP to display the trust parameters on a key?
  102.      4.8 How can I make my key available via finger?
  103.      4.9 Should I put my key in my .signature?
  104.      4.10 Can a public key be forged?
  105.      4.11 How do I detect a forged key?
  106.        
  107. 5. Message Signatures
  108.  
  109.      5.1 What is message signing?
  110.      5.2 How do I sign a message and keep it readable?
  111.      5.3 Can't you just forge a signature by copying the signature block
  112.        to another message?
  113.      5.4 Are PGP signatures legally binding?
  114.      5.5 Is the date on a PGP signature reliable?
  115.        
  116. 6. Key Signatures
  117.  
  118.      6.1 What is key signing?
  119.      6.2 How do I sign a key?
  120.      6.3 Should I sign my own key?
  121.      6.4 Should I sign X's key?
  122.      6.5 How do I verify someone's identity?
  123.      6.6 How do I know someone hasn't sent me a bogus key to sign?
  124.      6.7 What's a key signing party?
  125.      6.8 How do I organize a key signing party?
  126.        
  127. 7. Revoking a key
  128.  
  129.      7.1 My secret key ring has been stolen or lost, what do I do?
  130.      7.2 I forgot my pass phrase. Can I create a key revocation
  131.        certificate?
  132.      7.3 How do I create a key revocation certificate?
  133.      7.4 How do I indicate that my key is invalid when I don't have the
  134.        secret key anymore?
  135.        
  136. 8. Public Key Servers
  137.  
  138.      8.1 What are the Public Key Servers?
  139.      8.2 What public key servers are available?
  140.      8.3 What is the syntax for the key server commands?
  141.        
  142. 9. Bugs
  143.  
  144.      9.1 Where do I send bug reports?
  145.      9.2 What bugs have been found in PGP?
  146.        
  147. 10. Recommended Reading
  148.  
  149. 11. General Tips
  150.      _________________________________________________________________
  151.    
  152. 1. Introductory Questions
  153.  
  154.      1.1 What is PGP?
  155.      1.2 Why should I encrypt my mail? I'm not doing anything illegal!
  156.      1.3 What are public keys and private keys?
  157.      1.4 How much does PGP cost?
  158.      1.5 Is encryption legal?
  159.      1.6 Is PGP legal?
  160.      1.7 What's the current version of PGP?
  161.      1.8 Is there an archive site for the comp.security.pgp groups?
  162.      1.9 Is there a commercial version of PGP available?
  163.      1.10 Is PGP available as a programming library, so I can write
  164.        programs that use it?
  165.      1.11 What platforms has PGP been ported to?
  166.      1.12 Where can I obtain PGP?
  167.      1.13 I want to find out more!
  168.      _________________________________________________________________
  169.    
  170.   1.1 What is PGP?
  171.   
  172.    PGP is a program that gives your electronic mail something that it
  173.    otherwise doesn't have: Privacy. It does this by encrypting your mail
  174.    so that nobody but the intended person can read it. When encrypted,
  175.    the message looks like a meaningless jumble of random characters. PGP
  176.    has proven itself quite capable of resisting even the most
  177.    sophisticated forms of analysis aimed at reading the encrypted text.
  178.    
  179.    PGP can also be used to apply a digital signature to a message without
  180.    encrypting it. This is normally used in public postings where you
  181.    don't want to hide what you are saying, but rather want to allow
  182.    others to confirm that the message actually came from you. Once a
  183.    digital signature is created, it is impossible for anyone to modify
  184.    either the message or the signature without the modification being
  185.    detected by PGP.
  186.    
  187.    While PGP is easy to use, it does give you enough rope so that you can
  188.    hang yourself. You should become thoroughly familiar with the various
  189.    options in PGP before using it to send serious messages. For example,
  190.    giving the command "pgp -sat <filename>" will only sign a message, it
  191.    will not encrypt it. Even though the output looks like it is
  192.    encrypted, it really isn't. Anybody in the world would be able to
  193.    recover the original text.
  194.    
  195.   1.2 Why should I encrypt my mail? I'm not doing anything illegal!
  196.   
  197.    You should encrypt your e-mail for the same reason that you don't
  198.    write all of your correspondence on the back of a post card. E-mail is
  199.    actually far less secure than the postal system. With the post office,
  200.    you at least put your letter inside an envelope to hide it from casual
  201.    snooping. Take a look at the header area of any e-mail message that
  202.    you receive and you will see that it has passed through a number of
  203.    nodes on its way to you. Every one of these nodes presents the
  204.    opportunity for snooping. Encryption in no way should imply illegal
  205.    activity. It is simply intended to keep personal thoughts personal.
  206.    
  207.    Xenon <an48138@anon.penet.fi> puts it like this:
  208.    
  209.      Crime? If you are not a politician, research scientist, investor,
  210.      CEO, lawyer, celebrity, libertarian in a repressive society,
  211.      investor, or person having too much fun, and you do not send e-mail
  212.      about your private sex life, financial/political/legal/scientific
  213.      plans, or gossip then maybe you don't need PGP, but at least
  214.      realize that privacy has nothing to do with crime and is in fact
  215.      what keeps the world from falling apart. Besides, PGP is FUN. You
  216.      never had a secret decoder ring? Boo!
  217.      
  218.      CREDIT: -Xenon (Copyright 1993, Xenon)
  219.      
  220.   1.3 What are public keys and private keys?
  221.   
  222.    With conventional encryption schemes, keys must be exchanged with
  223.    everyone you wish to talk to by some other secure method such as face
  224.    to face meetings, or via a trusted courier. The problem is that you
  225.    need a secure channel before you can establish a secure channel! With
  226.    conventional encryption, either the same key is used for both
  227.    encryption and decryption or it is easy to convert either key to the
  228.    other. With public key encryption, the encryption and decryption keys
  229.    are different and it is impossible for anyone to convert one to the
  230.    other. Therefore, the encryption key can be made public knowledge, and
  231.    posted in a database somewhere. Anyone wanting to send you a message
  232.    would obtain your encryption key from this database or some other
  233.    source and encrypt his message to you. This message can't be decrypted
  234.    with the encryption key. Therefore nobody other than the intended
  235.    receiver can decrypt the message. Even the person who encrypted it can
  236.    not reverse the process. When you receive a message, you use your
  237.    secret decryption key to decrypt the message. This secret key never
  238.    leaves your computer. In fact, your secret key is itself encrypted to
  239.    protect it from anyone snooping around your computer.
  240.    
  241.   1.4 How much does PGP cost?
  242.   
  243.    Nothing!
  244.    
  245.    It should be noted, however, that in the United States, some freeware
  246.    versions of PGP *may* be a violation of a patent held by Public Key
  247.    Partners (PKP). The MIT and PGP, Inc. versions specifically are not in
  248.    violation; if you use anything else, it's your risk. See below
  249.    (question 1.6) for more information on the patent situation.
  250.    
  251.    Also, the free versions of PGP are free only for noncommercial use. If
  252.    you need to use PGP in a commercial setting (and you live in the
  253.    United States or Canada), you should buy a copy of PGP from PGP, Inc.
  254.    This version of PGP has other advantages as well, most notably a
  255.    limited license to export it to foreign branch offices. See below,
  256.    under question 1.9, for information on how to contact them.
  257.    
  258.    If you need to use PGP for commercial use outside the United States or
  259.    Canada, you should contact Ascom Systec AG, the patent holders for
  260.    IDEA. They have sold individual licenses for using the IDEA encryption
  261.    in PGP. Contact:
  262.    
  263.    
  264.     Erhard Widmer
  265.     Ascom Systec AG
  266.     Dep't. CMVV
  267.     Gewerbepark
  268.     CH-5506 Maegenwil
  269.     Switzerland
  270.     IDEA@ascom.ch
  271.     Tel ++41 64 56 59 83
  272.     Fax ++41 64 56 59 90
  273.     
  274.   1.5 Is encryption legal?
  275.   
  276.    In much of the civilized world, encryption is either legal, or at
  277.    least tolerated. However, there are a some countries where such
  278.    activities could put you in front of a firing squad! Check with the
  279.    laws in your own country before using PGP or any other encryption
  280.    product. A couple of the countries where encryption is illegal are
  281.    France, Iran, Russia and Iraq.
  282.    
  283.    The legal status of encryption in many countries has been placed on
  284.    the World Wide Web. See
  285.    http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm for a complete
  286.    overview.
  287.    
  288.   1.6 Is PGP legal?
  289.   
  290.    In addition to the comments about encryption listed above, there are a
  291.    couple of additional issues of importance to those individuals
  292.    residing in the United States or Canada.
  293.    
  294.    First, there is a question as to whether or not PGP falls under ITAR
  295.    regulations which govern the exporting of cryptographic technology
  296.    from the United States. This despite the fact that technical articles
  297.    on the subject of public key encryption have been available legally
  298.    worldwide for a number of years. Any competent programmer would have
  299.    been able to translate those articles into a workable encryption
  300.    program. A lawsuit has been filed by the EFF challenging the ITAR
  301.    regulations; thus, they may be relaxed to allow encryption technology
  302.    to be exported.
  303.    
  304.    The situation in Canada is somewhat special; although ITAR does not
  305.    apply here, Canada honors the US export restrictions, which makes it
  306.    illegal to export PGP from Canada if it were imported there from the
  307.    USA.
  308.    
  309.    Second, older versions of PGP (up to 2.3a) were thought to be
  310.    violating the patent on the RSA encryption algorithm held by Public
  311.    Key Partners (PKP), a patent that is only valid in the United States.
  312.    This was never tested in court, however, and recent versions of PGP
  313.    have been made with various agreements and licenses in force which
  314.    effectively settle the patent issue. So-called "international"
  315.    versions and older versions (previous to ViaCrypt PGP 2.4), however,
  316.    are still considered in violation by PKP; if you're in the USA, use
  317.    them at your own risk!
  318.    
  319.   1.7 What's the current version of PGP?
  320.   
  321.    At the moment, there are five different "current" versions of PGP. All
  322.    of these are derived, more or less, from a common source base: PGP
  323.    2.3a, the last "guerillaware" version of PGP. Negotiations to make PGP
  324.    legal and "legitimate" have resulted in the differing versions
  325.    available; all of them, for the most part, are approximately
  326.    equivalent in functionality, and they can all work with each other in
  327.    most respects.
  328.    
  329.    All versions of PGP after 2.3 produce messages that cannot be read by
  330.    2.3 or earlier, although the "international" versions have a switch to
  331.    enable the creation of messages in a compatible format. This is the
  332.    "legal_kludge=on" option in the configuration file.
  333.    
  334.    MIT has released the freeware version of PGP 5.0 for Windows '95 and
  335.    the Macintosh. This version has some limitations over the previous
  336.    "official" freeware version 2.6.2 (for example, no conventional
  337.    encryption and no wiping option). The source for PGP 5.0 is only
  338.    available in book form. An international effort is underway to scan in
  339.    this source to produce the electronic form. US export regulations
  340.    forbid the export of PGP source in electronic form, but not of export
  341.    in book form.
  342.    
  343.    Note: there now is a beta version of PGP 5.0 for Linux available at
  344.    http://www.pgp.com/products/50-linux-beta.cgi. Thanks to Lou Rinaldi
  345.    for pointing this out.
  346.    
  347.    PGP, Inc sells two versions of PGP: PGPmail 4.5 for business use
  348.    (formerly Viacrypt PGP Business Edition) and PGP 5.0 for personal use.
  349.    See question 1.9 for more details on these versions.
  350.    
  351.    PGP 2.6.3i ("international") is a version of PGP developed from the
  352.    source code of MIT PGP, which was exported illegally from the United
  353.    States at some point. Basically, it is MIT PGP 2.6.2, but it uses the
  354.    old encryption routines from PGP 2.3a; these routines perform better
  355.    than RSAREF and in addition do not have the usage restrictions in the
  356.    RSAREF copyright license. It also contains some fixes for bugs
  357.    discovered since the release of MIT PGP 2.6.2, as well as several
  358.    small enhancements. For more information, see the International PGP
  359.    homepage at http://www.ifi.uio.no/pgp/.
  360.    
  361.    PGP 2.6ui ("unofficial international") is PGP 2.3a with minor
  362.    modifications made so it can decrypt files encrypted with MIT PGP. It
  363.    does not contain any of the MIT fixes and improvements; it does,
  364.    however, have other improvements, most notably in the Macintosh
  365.    version.
  366.    
  367.    The 2.6.3(i)n version was developed to fullfill the policy of the
  368.    Individual Network e.V. Certification Hierarchy. It supports the
  369.    features described in the pgformat.doc:
  370.      * expire of keys
  371.      * support of certificate revokation certificates. You can revoke
  372.        your ID without loosing your key.
  373.      * While certifying a key the certifier can specify how he checked
  374.        the users real identity. This question is quite different to the
  375.        question if the key was presented by this person or not!
  376.        
  377.    It fixed announing bugs of PGP:
  378.      * certificates of compromised keys are invalid now
  379.        
  380.    Furthermore it adds:
  381.      * support SIGN/ENCR keys
  382.      * support of a seperate encrypt to self id
  383.        
  384.    References:
  385.      * http://www.in-ca.individual.net/
  386.      * ftp://ftp.iks-jena.de/pub/mitarb/lutz/crypt/software/pgp/
  387.        
  388.   1.8 Is there an archive site for the comp.security.pgp groups?
  389.   
  390.    Not really.
  391.    
  392.    Of course, you can try using Dejanews (http://www.dejanews.com/) or
  393.    Alta Vista (http://altavista.digital.com/) if you are looking for
  394.    articles about specific topics.
  395.    
  396.   1.9 Is there a commercial version of PGP available?
  397.   
  398.    Yes. Until recently, Viacrypt was marketing the only commercially
  399.    licensed version of PGP. The company was bought by PGP Inc., a company
  400.    founded by Phil Zimmerman. This company offers two versions of PGP:
  401.    PGPmail 4.5 for corporate use, and PGP 5.0 for personal use. It is not
  402.    entirely clear if the license for RSA that Viacrypt had is still
  403.    valid.
  404.    
  405.    The PGP 5.0 FAQ (http://www.pgp.com/products/PGP50-faq.cgi) discusses
  406.    this version in more detail.
  407.    
  408.    PGPmail 4.5 is the successor of Viacrypt PGP Business Edition. In
  409.    addition to the features found in normal versions of PGP, it also has
  410.    a "Corporate Message Recovery" feature, which enables a site admin to
  411.    recover messages encrypted by employees using PGPmail 4.5 in case
  412.    their secret key is lost. It also has the Enclyptor, which adds a
  413.    toolbar for email programs and word processors. For more information,
  414.    see http://www.pgp.com/products/PGPmail-faq.cgi.
  415.    
  416.    (Note: the Corporate Message Recovery feature is not a backdoor in PGP
  417.    in the traditional sense. The freeware versions of PGP do not have
  418.    this feature, and PGPmail 4.5's encryption has not been weakened in
  419.    any way. Its only function is a backup so that the company can recover
  420.    company data if the employee who encrypted it has left or has lost his
  421.    secret key.)
  422.    
  423.   1.10 Is PGP available as a programming library, so I can write programs that
  424.   use it?
  425.   
  426.    There is a PGP library that can be used in programs:
  427.    ftp://dslab1.cs.uit.no/pub/PGPlib.tar.gz.
  428.    
  429.    Alternatively, you can write your programs to call the PGP program
  430.    when necessary. In C, for example, you would use the "system()" or
  431.    "spawn...()" functions to do this.
  432.    
  433.    There are several people working on DLL versions (most often for
  434.    Windows 3.1 or NT) of PGP, but I have no information on the status of
  435.    these versions. PGP Inc. (formerly Viacrypt, see question 1.9) sells
  436.    an MS Windows DLL which can be used for this purpose.
  437.    
  438.   1.11 What platforms has PGP been ported to?
  439.   
  440.    PGP has been ported successfully to many different platforms,
  441.    including DOS, the Macintosh, OS/2, Unix (just about all flavors),
  442.    VMS, the Atari ST, Acorn RISC OS (Archimedes), and the Commodore
  443.    Amiga. A Windows NT port is reportably in the works as well.
  444.    
  445.    If you don't see your favorite platform above, don't despair! It's
  446.    likely that porting PGP to your platform won't be too terribly
  447.    difficult, considering all the platforms it has been ported to. Just
  448.    ask around to see if there might in fact be a port to your system, and
  449.    if not, try it!
  450.    
  451.    PGP's VMS port, by the way, has its own Web page
  452.    (http://www.tditx.com/~d_north/pgp.html).
  453.    
  454.   1.12 Where can I obtain PGP?
  455.   
  456.    PGP is very widely available, so much so that a separate FAQ has been
  457.    written for answering this question. It is called, "WHERE TO GET THE
  458.    PRETTY GOOD PRIVACY PROGRAM (PGP)"; it is posted in alt.security.pgp
  459.    regularly, is in the various FAQ archive sites, and is also available
  460.    from ftp://ftp.csn.net/mpj/getpgp.asc
  461.    
  462.    However, I will describe below the ways to get the differing versions
  463.    of PGP from their source sites. Please refer to the above document for
  464.    more information.
  465.    
  466. MIT PGP:
  467.  
  468.    Due to the ITAR regulations, MIT has found it necessary to place PGP
  469.    in an export-controlled directory to prevent people outside the United
  470.    States from downloading it. If you are in the USA, you may follow
  471.    these directions:
  472.    
  473.    Telnet to net-dist.mit.edu and log in as "getpgp". You will then be
  474.    given a short statement about the regulations concerning the export of
  475.    cryptographic software, and be given a series of yes/no questions to
  476.    answer. If you answer correctly to the questions (they consist mostly
  477.    of agreements to the RSADSI and MIT licenses and questions about
  478.    whether you intend to export PGP), you will be given a special
  479.    directory name in which to find the PGP code. At that point, you can
  480.    FTP to net-dist.mit.edu, change to that directory, and access the
  481.    software. You may be denied access to the directories even if you
  482.    answer the questions correctly if the MIT site cannot verify that your
  483.    site does in fact reside in the USA.
  484.    
  485.    Further directions, copies of the MIT and RSAREF licenses, notes, and
  486.    the full documentation are freely available from:
  487.    
  488.    ftp://net-dist.mit.edu/pub/PGP/
  489.    
  490.    An easier method of getting to the PGP software is now available on
  491.    the World Wide Web at the following location:
  492.    
  493.    http://bs.mit.edu:8001/pgp-form.html
  494.    
  495. PGPmail and PGP 5.0:
  496.  
  497.    The freeware version of PGP 5.0 is available from MIT (see above).
  498.    Other versions are commercial software and must be bought from PGP,
  499.    Inc. They are, furthermore, not available outside the United States or
  500.    Canada except under special circumstances. See above (question 1.9)
  501.    for contact information.
  502.    
  503. PGP 2.6.3i:
  504.  
  505.    As Norway is not limited by ITAR, no hoops are needed to get this
  506.    version: http://www.ifi.uio.no/pgp/
  507.    
  508.    You may also get it via mail by sending a message to
  509.    hypnotech-request@ifi.uio.no with your request in the subject:
  510.    GET pgp262i[s].[zip | tar.gz]
  511.    
  512.    Specify the "s" if you want the source code. Putting ".zip" at the end
  513.    gets you the files in the PKZIP/Info-ZIP archive format, while putting
  514.    "tar.gz" at the end gets the files in a gzipped tar file.
  515.    
  516.    A US-compiled version of 2.6.3i (which means it does not use the
  517.    MPILIB RSA library that violates a patent in the USA) can be
  518.    downloaded from http://www.isc.rit.edu/~pdw5973/crypto/pgpdown.html.
  519.    
  520. PGP 2.6ui:
  521.  
  522.      * ftp://ftp.mantis.co.uk/pub/cryptography/
  523.      * http://thegate.gamers.org/~tony/pgp.html
  524.        
  525.    This link is also an excellent resource for other information about
  526.    PGP.
  527.    
  528.    A note on ftpmail:
  529.    
  530.      For those individuals who do not have access to FTP, but do have
  531.      access to e-mail, you can get FTP files mailed to you. For
  532.      information on this service, send a message saying "Help" to
  533.      ftpmail@ftpmail.ramona.vix.com. You will be sent an instruction
  534.      sheet on how to use the ftpmail service.
  535.      
  536.   1.13 I want to find out more!
  537.   
  538.    If this FAQ doesn't answer your question, there are several places for
  539.    finding out information about PGP.
  540.    
  541. World Wide Web
  542.  
  543.    http://sun1.bham.ac.uk/N.M.Queen/pgp/pgp.html
  544.           A good place to start, includes pointers on where to download
  545.           PGP.
  546.           
  547.    http://www.stack.nl/~galactus/remailers/bg2pgp.txt
  548.           Although the documentation that comes with PGP is very
  549.           complete, you might also want to read this guide. It covers all
  550.           the basic steps needed to install and use PGP, and also gives
  551.           you tips on how to use it more effectively.
  552.           
  553.    http://www.hkn.de/user/raven/pgp5kurs.html
  554.           This is a German manual for PGP 5.0 for beginners, written by
  555.           Kai Raven.
  556.           
  557.    http://www.stack.nl/~galactus/remailers/passphrase-faq.html
  558.           Your pass phrase is used to protect your PGP secret key. Here's
  559.           how to generate and manage strong pass phrases. This may also
  560.           be useful for creating passwords for other purposes.
  561.           
  562.    PGP-related resources
  563.           A large collection of PGP-related Web sites, links to
  564.           front-ends, and more.
  565.           
  566.    http://www.stack.nl/~galactus/remailers/attack-faq.html
  567.           A very detailed analysis on the security of PGP and possible
  568.           attacks.
  569.           
  570. FTP Sites:
  571.  
  572.      * ftp://ftp.pgp.net/pub/pgp/
  573.      * ftp://ftp.ox.ac.uk/pub/crypto/
  574.      * ftp://ripem.msu.edu/pub/crypt/
  575.      * ftp://ftp.csua.berkeley.edu/pub/cypherpunks/
  576.        
  577.    Also see part 10, "Recommended Reading".
  578.      _________________________________________________________________
  579.    
  580. 2. Very Common Questions and Problems
  581.  
  582.      2.1 Why can't a person using version 2.3 read my version 2.6
  583.        message?
  584.      2.2 Why does PGP complain about checking signatures every so often?
  585.      2.3 Why does it take so long to encrypt/decrypt messages?
  586.      2.4 How do I create a secondary key file?
  587.      2.5 How does PGP handle multiple addresses?
  588.      2.6 Where can I obtain scripts to integrate pgp with my email or
  589.        news reading system?
  590.      2.7 How can I decrypt messages I've encrypted to others?
  591.      2.8 Why can't I generate a key with PGP for Unix?
  592.      2.9 When I clearsign a document in PGP, it adds a "dash-space" to
  593.        several of my lines. What gives?
  594.      2.10 How do I encrypt more than one file at a time?
  595.      2.11 How can I give my passphrase to PGP automatically?
  596.      2.12 How come 'randseed.bin' got infected by a virus?
  597.      2.13 Why can't MacPGP find my secret key?
  598.      2.14 How do I set the TZ variable?
  599.      2.15 How do I determine if the PGP command worked?
  600.      2.16 Why does PGP 5.0 no longer ask for random keystrokes?
  601.      2.17 Are PGP 5.0/5.5 and PGP 2.6.x interoperable?
  602.      _________________________________________________________________
  603.    
  604.   2.1 Why can't a person using version 2.3 read my version 2.6 message?
  605.   
  606.    You are probably using MIT PGP, or possibly some other version of PGP
  607.    with the "legal_kludge" option turned off.
  608.    
  609.    As part of the agreement made to settle PGP's patent problems, MIT PGP
  610.    changed its format slightly to prevent PGP 2.4 and older versions from
  611.    decrypting its messages. This format change was written into MIT PGP
  612.    to happen on September 1, 1994. Thus, all messages encrypted with MIT
  613.    PGP after that date are unreadable by 2.4 (and earlier). The idea was
  614.    that people using 2.4 and earlier would be forced to upgrade, and so
  615.    the patent violating version would no longer be used.
  616.    
  617.    The best route here is for your friend to upgrade to a newer version
  618.    of PGP. Alternatively, if you are using a non-MIT version, look up the
  619.    "legal_kludge" option in your documentation; you should be able to
  620.    configure your copy of PGP to generate old-style messages. In 2.6.2i
  621.    and 2.6.3i, this is done by putting "Legal_Kludge=off" in your
  622.    config.txt file for PGP.
  623.    
  624.    Note that the "old" output can be read perfectly well by newer
  625.    versions, so if you are corresponding with MIT and 2.3 users, you will
  626.    be best off with the "Legal_Kludge=off" statement in your config.txt.
  627.    
  628.   2.2 Why does PGP complain about checking signatures every so often?
  629.   
  630.    Version 2.3a introduced the "pkcs_compat" option, allowing the format
  631.    of signatures to change slightly to make them more compatible with
  632.    industry standards. MIT PGP, because it uses the RSAREF library, is
  633.    unable to understand the old signature format, so it therefore ignores
  634.    the signature and warns you that it is doing so.
  635.    
  636.    This problem comes up mostly with old key signatures. If your key
  637.    contains such old signatures, try to get those people who signed your
  638.    key to resign it with a newer version of PGP.
  639.    
  640.    If an old signature is still vitally important to check, get a non-MIT
  641.    version of PGP to check it with, such as ViaCrypt's.
  642.    
  643.   2.3 Why does it take so long to encrypt/decrypt messages?
  644.   
  645.    This problem can arise when you have placed the entire public key ring
  646.    from one of the servers into the pubring.pgp file. PGP may have to
  647.    search through several thousand keys to find the one that it is after.
  648.    The solution to this dilemma is to maintain 2 public key rings (See
  649.    question 4.2). The first ring, the normal pubring.pgp file, should
  650.    contain only those individuals that you send messages to quite often.
  651.    The second key ring can contain ALL of the keys for those occasions
  652.    when the key you need isn't in your short ring. You will, of course,
  653.    need to specify the key file name whenever encrypting messages using
  654.    keys in your secondary key ring. Now, when encrypting or decrypting
  655.    messages to individuals in your short key ring, the process will be a
  656.    LOT faster.
  657.    
  658.    Encryption and decryption time also increases with the key size. A
  659.    2048 bits key will take much longer to work with than, for example, a
  660.    512 bits key.
  661.    
  662.   2.4 How do I create a secondary key file?
  663.   
  664.    First, let's assume that you have all of the mammoth public key ring
  665.    in your default pubring.pgp file. First, you will need to extract all
  666.    of your commonly used keys into separate key files using the -kx
  667.    option. Next, rename pubring.pgp to some other name. For this example,
  668.    I will use the name "pubring.big". Next, add each of the individual
  669.    key files that you previously created to a new pubring.pgp using the
  670.    -ka option. To encrypt a message to someone in the short default file,
  671.    use the command "pgp -e <file> <userid>". To encrypt a message to
  672.    someone in the long ring, use the command "pgp -e
  673.    +pubring=c:\pgp\pubring.big <file> <userid>". Note that you need to
  674.    specify the complete path and file name for the secondary key ring. It
  675.    will not be found if you only specify the file name.
  676.    
  677.   2.5 How does PGP handle multiple addresses?
  678.   
  679.    When encrypting a message to multiple addresses, you will notice that
  680.    the length of the encrypted file only increases by a small amount for
  681.    each additional address. The reason that the message only grows by a
  682.    small amount for each additional key is that the body of the message
  683.    is only encrypted once using a random session key and IDEA. It is only
  684.    necessary then to encrypt this session key once for each address and
  685.    place it in the header of the message. Therefore, the total length of
  686.    a message only increases by the size of a header segment for each
  687.    additional address. (To avoid a known weakness in RSA when encrypting
  688.    the same message to multiple recipients, the IDEA session key is
  689.    padded with different random data each time it is RSA-encrypted.)
  690.    
  691.   2.6 Where can I obtain scripts to integrate pgp with my email or news reading
  692.   system?
  693.   
  694.    There are many scripts and programs available for making PGP easier to
  695.    use. There is an index to all of these at
  696.    http://www.primenet.com/~shauert/.
  697.    
  698.    If you know of a shell, script or front-end which is not mentioned at
  699.    this site, submit the URL (or other useful information) to the owner
  700.    of this site (Scott Hauert, <shauert@primenet.com>), not to me.
  701.    
  702.   2.7 How can I decrypt messages I've encrypted to others?
  703.   
  704.    With conventional encryption, you can read the message by running PGP
  705.    on the encrypted file and giving the pass phrase you used to encrypt.
  706.    
  707.    With PGP's public key encryption, it's impossible unless you encrypted
  708.    to yourself as well.
  709.    
  710.    There is an undocumented setting, EncryptToSelf, which you can set in
  711.    your CONFIG.TXT or on the command line to "on" if you want PGP to
  712.    always encrypt your messages to yourself. Be warned, though; if your
  713.    key is compromised, this means that the "cracker" will be able to read
  714.    all the message you sent as well as the ones you've received.
  715.    
  716.   2.8 Why can't I generate a key with PGP for Unix?
  717.   
  718.    Most likely this is caused because PGP can't create the public and
  719.    private key ring files. If the environment variable PGPPATH isn't
  720.    defined, PGP will try to put those files in the subdirectory ".pgp"
  721.    off your home directory. It will not create the directory if needed,
  722.    so if the directory's not there already, PGP will crash after
  723.    generating the key. This also happens if PGPPATH points to a directory
  724.    for which you don't have write permission.
  725.    
  726.    There are two solutions: set the PGPPATH environment variable to point
  727.    to the location of your key rings, or run "mkdir $HOME/.pgp; chmod 700
  728.    $HOME/.pgp" before generating your key.
  729.    
  730.   2.9 When I clearsign a document in PGP, it adds a "dash-space" to several of
  731.   my lines. What gives?
  732.   
  733.    PGP does this because of the "-----BEGIN PGP MESSAGE-----" (and
  734.    related) headers it uses to mark the beginning of PGP messages. To
  735.    keep it from getting confused, it tacks a "- " to the beginning of
  736.    every line in the regular text which has a dash at the start. It
  737.    strips the extra dash and space when you check the message's
  738.    signature, and writes the original text to the output.
  739.    
  740.    This also happens with several lines that start with "special"
  741.    phrases, such as "From ", because those lines are otherwise "escaped"
  742.    by mail programs, as required by the mail standard. This would
  743.    invalidate the signature.
  744.    
  745.   2.10 How do I encrypt more than one file at a time?
  746.   
  747.    PGP will normally only accept one file to encrypt on the command line.
  748.    Many platforms allow you to call a program in a "batch" sequence. You
  749.    can use this to call PGP on multiple files automatically.
  750.    
  751.    Under MS-DOS and OS/2, this works as follows:
  752.  
  753. for %a in (*.*) do pgp -ea %a userid
  754.  
  755.    You can also do conventional encryption this way, using the
  756.    undocumented "-z" option to specify the passphrase to encrypt all
  757.    these files with:
  758.  
  759. for %a in (*.*) do pgp -c %a -z"the passphrase"
  760.  
  761.    Under UNIX, this would be done like this:
  762.  
  763. for a in *
  764. do
  765.   pgp -ea $a userid
  766. done
  767.  
  768.    Several shells and front-ends will also let you encrypt multiple files
  769.    at once, usually.
  770.    
  771.   2.11 How can I give my passphrase to PGP automatically?
  772.   
  773.    There are three ways to do this. The easiest way is probably to set
  774.    the environment variable PGPPASS to contain your pass phrase. Under
  775.    DOS, you can just type "set PGPPASS=My secret pass phrase" to do this.
  776.    
  777.    This is very insecure, as anyone who has access to your environment
  778.    can see what your passphrase is. This includes people who come along
  779.    during your lunch break and type "set" at a DOS prompt on your
  780.    computer. Under several variations of UNIX, it is possible to examine
  781.    someone else's environment as well.
  782.    
  783.    Another option, especially useful for shells, is to use the "-z"
  784.    option. You just add the option "-z"My secret passphrase"" to the PGP
  785.    command line. Include the passphrase in quotes if there are any spaces
  786.    or "special" characters in it, such as a < or > character which may
  787.    confuse the command shell.
  788.    
  789.    This is even more insecure on a multi-user system. Everyone else can
  790.    see what programs you are running, including all the options passed to
  791.    it.
  792.    
  793.    The best, but also the most complicated way is using the PGPPASSFD
  794.    environment variable. This variable should contain a "file descriptor
  795.    number" pointing to a file which contains the passphrase. This will
  796.    protect the passphrase from anyone but the superuser, if you properly
  797.    set the file's permissions.
  798.    
  799.    Thanks to Jack Gostl <gostl@argos.argoscomp.com> for the following.
  800.    
  801.      You can find something on this in the appnotes file in the pgp262
  802.      distribution. If you set PGPPASSFD to 0, pgp will read the
  803.      passphrase from stdin as soon it starts.
  804.  
  805. PGPPASSFD=0; export PGPPASSFD
  806. echo "PassPhraseHere" | pgp -east file recipient1 recipient2..
  807.  
  808.    Patrick J. LoPresti <patl@lcs.mit.edu> added:
  809.    
  810.      You could also use funky shell redirection to make PGP get the
  811.      passphrase from an arbitrary file. The exact command to define a
  812.      variable depends on the shell; ksh and the likes use "export
  813.      PGPPASSFD=3", and csh and derivates use "setenv PGPPASSFD 3".
  814.  
  815. setenv PGPPASSFD 3; pgp -eat file recipient 3 < /my/passphrase/file
  816.  
  817.    This last example has the added advantage that standard input is still
  818.    available to the user, for example to answer Yes or No to certain
  819.    questions.
  820.    
  821.   2.12 How come 'randseed.bin' got infected by a virus?
  822.   
  823.    The file 'randseed.bin' is used by PGP to generate a new random
  824.    session key every time you encrypt something. Afterwards, it is filled
  825.    with new random data. A virus checker will then of course detect that
  826.    the file has changed. Since the file has a "bin" extension, most
  827.    checkers think that it is an executable, and so will inform you they
  828.    have detected a possible virus.
  829.    
  830.    However, this file is only used by PGP to read some random data, and
  831.    will never be executed. It is therefore safe to put it in the
  832.    "exclusion" list of your virus scanner, so it will be skipped in
  833.    future. An alternative for the 2.6 versions is to put
  834.    "Randseed=C:\PGP\RANDOM.SRC" in your config.txt file. This will tell
  835.    PGP to use that file, rather than the default 'randseed.bin', to store
  836.    the random bits.
  837.    
  838.    Deleting 'randseed.bin' will not do any harm; PGP will just ask you
  839.    for some random keystrokes and generate the file again next time you
  840.    encrypt something.
  841.    
  842.   2.13 Why can't MacPGP find my secret key?
  843.   
  844.    Zbigniew Fiedorowicz <fiedorow@math.ohio-state.edu> explains:
  845.    
  846.      This is a genuine bug in MIT MacPGP 2.6.2 which is certainly a FAQ
  847.      on the pgp newsgroups. MIT MacPGP 2.6.2 mysteriously claims it
  848.      can't find your secret key, even though it can find your secret
  849.      keyring. This may occur sporadically. The reason for this is an
  850.      uninitialized pointer which is supposed to point to your userid if
  851.      you have set one set, or to the empty string otherwise.
  852.      Unfortunately in the latter case it is not initialized and points
  853.      to some random area of RAM. If this area starts with a NULL byte,
  854.      all will be well and MacPGP will use the first secret key in your
  855.      secring.pgp. But otherwise MIT MacPGP will assume your userid is
  856.      some random garbage and consequently won't be able to find your
  857.      secret key. The workaround is to edit your config.txt and add the
  858.      string "MyName = "name as in secret key"".
  859.      
  860.   2.14 How do I set the TZ variable?
  861.   
  862.    The TZ environment variable is used to indicate the timezone your
  863.    computer is in. This allows PGP to generate timestamps for GMT time,
  864.    so there won't be any conflicts when someone in another timezone
  865.    verifies the signature and finds that it was signed in the future, or
  866.    at another incorrect moment. It is specified in your AUTOEXEC.BAT file
  867.    (in DOS) or your CONFIG.SYS file (in OS/2). For other operating
  868.    systems, consult the manual.
  869.    
  870.    In most cases, you can use the setting from the following list:
  871.    
  872.    For Los Angeles:SET TZ=PST8PDT
  873.    For Denver: SET TZ=MST7MDT
  874.    For Arizona: SET TZ=MST7 (Arizona never uses daylight savings time)
  875.    For Chicago: SET TZ=CST6CDT
  876.    For New York: SET TZ=EST5EDT
  877.    For London: SET TZ=GMT0BST
  878.    For Amsterdam: SET TZ=MET-1DST
  879.    For Moscow: SET TZ=MSK-3MSD
  880.    For Auckland: SET TZ=NZT-12DST
  881.    
  882.    For other countries, the full form of the TZ value has to be used.
  883.    More formally, this is:
  884.    SET TZ=SSS[+|-]nDDD,sm,sw,sd,st,em,ew,ed,et,shift
  885.    Where 'SSS', 'n', and 'DDD' are the values as in the simple form. In
  886.    the long form, all the other values must be specified, as follows:
  887.    
  888.    'sm' is the starting month (1 to 12)
  889.    
  890.    'sw' is the starting week (1 to 4 counting from the beginning, or - 1
  891.    to -4 counting from the end). 0 indicates that a particular day of the
  892.    month is to be specified.
  893.    
  894.    'sd' is the starting day (0 to 6 [where 0 is Sunday] if 'sw' is
  895.    non-zero, or 1 to 31 if 'sw' is 0)
  896.    
  897.    'st' is the starting time in seconds from midnight (e.g., 3600 for
  898.    01:00)
  899.    
  900.    'em', 'ew', 'ed', and 'et' define the end time for daylight savings,
  901.    and take the same values.
  902.    
  903.    'shift' is the shift in daylight time change, in seconds (e.g., 3600
  904.    if one hour is to be added during daylight savings time).
  905.    
  906.    For example, for the UK in 1995, the setting is expected to be:
  907.    
  908.    SET TZ=GMT0BST,3,0,26,3600,10,0,22,3600,3600
  909.    
  910.   2.15 How do I determine if the PGP command worked?
  911.   
  912.    Normally, PGP runs in "interactive" mode, and so you can always read
  913.    on the screen what went wrong, where and hopefully why. But if you
  914.    want to use PGP in a batch file, or in the background, you need to
  915.    find out if the operation was successful in another way. The usual
  916.    approach for this is to use the "exit code" returned by PGP.
  917.    
  918.    To be able to detect if PGP could do what you asked, you need to add
  919.    the "+batchmode" option to the command line. (To avoid getting "stuck"
  920.    at prompts asking you to choose "yes" or "no", add the "+force"
  921.    option). PGP will then return 0 if everything went ok, and 1 if
  922.    something went wrong.
  923.    
  924.    The PGP source contains a list of exit codes that are supposed to be
  925.    returned when the associated events occur. It seems that this does not
  926.    always work as expected. For example, PGP returns exit code 31 when no
  927.    passphrase was specified to decrypt the file, but if you try to check
  928.    a signature, exit code 1 is used to indicate any error, including "No
  929.    key to check signature" and "Bad signature".
  930.    
  931.   2.16 Why does PGP 5.0 no longer ask for random keystrokes?
  932.   
  933.    The random keystrokes were necessary to generate random events, but
  934.    PGP 5.0 uses system events that go on all the time to constantly
  935.    update the "randseed.bin" file. These events include disk access,
  936.    keystrokes, mouse movements and other things that are reasonably
  937.    random. If you check, you will see that the "randseed.bin"'s last
  938.    modified date often changes, even if you are not using PGP.
  939.    
  940.   2.17 Are PGP 5.0/5.5 and PGP 2.6.x interoperable?
  941.   
  942.    PGP 5.x is backward compatible to PGP 2.6.x. It implies, that PGP 5.x
  943.    can work with everything generated by PGP 2.6.x. Only if RSA keys are
  944.    used with MD5 hashes and IDEA encryption, PGP 2.6.x can work with a
  945.    PGP 5.x output. There is a small problem with DSS or ElGamal
  946.    certificates of RSA keys: The PGP 2.6.x check of keyring ("-kc")
  947.    reports some strange errors. PGP 2.6.3in fixes this (negligible) bug.
  948.    
  949.    PGP 2.6.x and PGP 5.x are perfectly interoperable, if and only if the
  950.    algorithms are restricted to MD5, RSA and IDEA only.
  951.      _________________________________________________________________
  952.    
  953. 3. Security Questions
  954.  
  955.      3.1 How secure is PGP?
  956.      3.2 Can't you break PGP by trying all of the possible keys?
  957.      3.3 How secure is the conventional cryptography (-c) option?
  958.      3.4 Can the NSA crack RSA?
  959.      3.5 Has RSA ever been cracked publicly? What is RSA-129?
  960.      3.6 How secure is the "for your eyes only" option (-m)?
  961.      3.7 What if I forget my pass phrase?
  962.      3.8 Why do you use the term "pass phrase" instead of "password"?
  963.      3.9 What is the best way to crack PGP?
  964.      3.10 If my secret key ring is stolen, can my messages be read?
  965.      3.11 How do I choose a pass phrase?
  966.      3.12 How do I remember my pass phrase?
  967.      3.13 How do I verify that my copy of PGP has not been tampered with?
  968.      3.14 I can't verify the signature on my new copy of MIT PGP with my
  969.        old PGP 2.3a!
  970.      3.15 How do I know that there is no trap door in the program?
  971.      3.16 I heard that the NSA put a back door in MIT PGP, and that they
  972.        only allowed it to be legal with the back door.
  973.      3.17 Is there a back door in the international version?
  974.      3.18 Can I put PGP on a multi-user system like a network or a
  975.        mainframe?
  976.      3.19 Can I use PGP under a "swapping" operating system like Windows
  977.        or OS/2?
  978.      3.20 Why not use RSA alone rather than a hybrid mix of IDEA, MD5, &
  979.        RSA?
  980.      3.21 Aren't all of these security procedures a little paranoid?
  981.      3.22 Can I be forced to reveal my pass phrase in any legal
  982.        proceedings?
  983.      _________________________________________________________________
  984.    
  985.   3.1 How secure is PGP?
  986.   
  987.    The big unknown in any encryption scheme based on RSA is whether or
  988.    not there is an efficient way to factor huge numbers, or if there is
  989.    some backdoor algorithm that can break the code without solving the
  990.    factoring problem. Even if no such algorithm exists, it is still
  991.    believed that RSA is the weakest link in the PGP chain.
  992.    
  993.    It would be beyond the goal of this FAQ to discuss all possible
  994.    attacks against or possible flaws in PGP. If you want to know more
  995.    than what is available in here, see infiNity's PGP Attack FAQ at
  996.    http://www.stack.nl/~galactus/remailers/attack-faq.html.
  997.    
  998.   3.2 Can't you break PGP by trying all of the possible keys?
  999.   
  1000.    This is one of the first questions that people ask when they are first
  1001.    introduced to cryptography. They do not understand the size of the
  1002.    problem. For the IDEA encryption scheme, a 128 bit key is required.
  1003.    Any one of the 2^128 possible combinations would be legal as a key,
  1004.    and only that one key would successfully decrypt all message blocks.
  1005.    Let's say that you had developed a special purpose chip that could try
  1006.    a billion keys per second. This is FAR beyond anything that could
  1007.    really be developed today. Let's also say that you could afford to
  1008.    throw a billion such chips at the problem at the same time. It would
  1009.    still require over 10,000,000,000,000 years to try all of the possible
  1010.    128 bit keys. That is something like a thousand times the age of the
  1011.    known universe! While the speed of computers continues to increase and
  1012.    their cost decrease at a very rapid pace, it will probably never get
  1013.    to the point that IDEA could be broken by the brute force attack.
  1014.    
  1015.    The only type of attack that might succeed is one that tries to solve
  1016.    the problem from a mathematical standpoint by analyzing the
  1017.    transformations that take place between plain text blocks, and their
  1018.    cipher text equivalents. IDEA is still a fairly new algorithm, and
  1019.    work still needs to be done on it as it relates to complexity theory,
  1020.    but so far, it appears that there is no algorithm much better suited
  1021.    to solving an IDEA cipher than the brute force attack, which we have
  1022.    already shown is unworkable. The nonlinear transformation that takes
  1023.    place in IDEA puts it in a class of extremely difficult to solve
  1024.    mathmatical problems.
  1025.    
  1026.   3.3 How secure is the conventional cryptography (-c) option?
  1027.   
  1028.    Assuming that you are using a good strong random pass phrase, it is
  1029.    actually much stronger than the normal mode of encryption because you
  1030.    have removed RSA which is believed to be the weakest link in the
  1031.    chain. Of course, in this mode, you will need to exchange secret keys
  1032.    ahead of time with each of the recipients using some other secure
  1033.    method of communication, such as an in- person meeting or trusted
  1034.    courier.
  1035.    
  1036.    This option is especially useful if you want to back up sensitive
  1037.    files, or want to take an encrypted file to another system where you
  1038.    will decrypt it. Now you don't have to take your secret key with you.
  1039.    It will also be useful when you lose your secret key. And you can even
  1040.    pick a different passphrase for each file you encrypt, so that an
  1041.    attacker who manages to get one file decrypted can't decrypt all the
  1042.    other files as well now.
  1043.    
  1044.   3.4 Can the NSA crack RSA?
  1045.   
  1046.    This question has been asked many times. If the NSA were able to crack
  1047.    RSA, you would probably never hear about it from them. Now that RSA is
  1048.    getting more and more popular, it would be a very closely guarded
  1049.    secret. The best defense against this is the fact the algorithm for
  1050.    RSA is known worldwide. There are many competent mathematicians and
  1051.    cryptographers outside the NSA and there is much research being done
  1052.    in the field right now. If any of them were to discover a hole in RSA,
  1053.    I'm sure that we would hear about it from them. I think that it would
  1054.    be hard to hide such a discovery.
  1055.    
  1056.    For this reason, when you read messages on USENET saying that "someone
  1057.    told them" that the NSA is able to break pgp, take it with a grain of
  1058.    salt and ask for some documentation on exactly where the information
  1059.    is coming from. In particular, the message at
  1060.    http://www.quadralay.com/www/Crypt/NSA/break-pgp.html is a joke.
  1061.    
  1062.   3.5 Has RSA ever been cracked publicly? What is RSA-129?
  1063.   
  1064.    Two RSA-encrypted messages have been cracked publicly.
  1065.    
  1066.    First, there is the RSA-129 key. The inventors of RSA published a
  1067.    message encrypted with a 129-digits (430 bits) RSA public key, and
  1068.    offered $100 to the first person who could decrypt the message. In
  1069.    1994, an international team coordinated by Paul Leyland, Derek Atkins,
  1070.    Arjen Lenstra, and Michael Graff successfully factored this public key
  1071.    and recovered the plaintext. The message read:
  1072.    
  1073.      THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
  1074.      
  1075.    They headed a huge volunteer effort in which work was distributed via
  1076.    E-mail, fax, and regular mail to workers on the Internet, who
  1077.    processed their portion and sent the results back. About 1600 machines
  1078.    took part, with computing power ranging from a fax machine to Cray
  1079.    supercomputers. They used the best known factoring algorithm of the
  1080.    time; better methods have been discovered since then, but the results
  1081.    are still instructive in the amount of work required to crack a
  1082.    RSA-encrypted message.
  1083.    
  1084.    The coordinators have estimated that the project took about eight
  1085.    months of real time and used approximately 5000 MIPS-years of
  1086.    computing time.
  1087.    
  1088.    What does all this have to do with PGP? The RSA-129 key is
  1089.    approximately equal in security to a 426-bit PGP key. This has been
  1090.    shown to be easily crackable by this project. PGP used to recommend
  1091.    384-bit keys as "casual grade" security; recent versions offer 512
  1092.    bits as a recommended minimum security level.
  1093.    
  1094.    Note that this effort cracked only a single RSA key. Nothing was
  1095.    discovered during the course of the experiment to cause any other keys
  1096.    to become less secure than they had been.
  1097.    
  1098.    For more information on the RSA-129 project, see:
  1099.    ftp://ftp.ox.ac.uk/pub/math/rsa129/rsa129.ps.gz
  1100.    
  1101.    A year later, the first real PGP key was cracked. It was the infamous
  1102.    Blacknet key, a 384-bits key for the anonymous entity known as
  1103.    "Blacknet". A team consisting of Alec Muffett, Paul Leyland, Arjen
  1104.    Lenstra and Jim Gillogly managed to use enough computation power
  1105.    (approximately 1300 MIPS) to factor the key in three months. It was
  1106.    then used to decrypt a publicly-available message encrypted with that
  1107.    key.
  1108.    
  1109.    The most important thing in this attack is that it was done in almost
  1110.    complete secrecy. Unlike with the RSA-129 attack, there was no
  1111.    publicity on the crack until it was complete. Most of the computers
  1112.    only worked on it in spare time, and the total power is well within
  1113.    reach of a large, perhaps even a medium sized organization.
  1114.    
  1115.   3.6 How secure is the "for your eyes only" option (-m)?
  1116.   
  1117.    It is not secure at all. There are many ways to defeat it. Probably
  1118.    the easiest way is to simply redirect your screen output to a file as
  1119.    follows:
  1120.    "pgp [filename] > [diskfile]"
  1121.    
  1122.    The -m option was not intended as a fail-safe option to prevent plain
  1123.    text files from being generated, but to serve simply as a warning to
  1124.    the person decrypting the file that he probably shouldn't keep a copy
  1125.    of the plain text on his system.
  1126.    
  1127.   3.7 What if I forget my pass phrase?
  1128.   
  1129.    In a word: don't. If you forget your pass phrase, there is absolutely
  1130.    no way to recover any encrypted files. If you're concerned about
  1131.    forgetting your passphrase, you could make a copy of your secret
  1132.    keyring, then change the passphrase to something else, and then store
  1133.    the secret keyring with the changed passphrase in a safe location.
  1134.    
  1135.   3.8 Why do you use the term "pass phrase" instead of "password"?
  1136.   
  1137.    This is because most people, when asked to choose a password, select
  1138.    some simple common word. This can be cracked by a program that uses a
  1139.    dictionary to try out passwords on a system. Since most people really
  1140.    don't want to select a truly random password, where the letters and
  1141.    digits are mixed in a nonsense pattern, the term pass phrase is used
  1142.    to urge people to at least use several unrelated words in sequence as
  1143.    the pass phrase.
  1144.    
  1145.   3.9 What is the best way to crack PGP?
  1146.   
  1147.    Currently, the best attack possible on PGP itself is a dictionary
  1148.    attack on the pass phrase. This is an attack where a program picks
  1149.    words out of a dictionary and strings them together in different ways
  1150.    in an attempt to guess your pass phrase.
  1151.    
  1152.    This is why picking a strong pass phrase is so important. Many of
  1153.    these cracker programs are very sophisticated and can take advantage
  1154.    of language idioms, popular phrases, and rules of grammar in building
  1155.    their guesses. Single-word "phrases", proper names (especially famous
  1156.    ones), or famous quotes are almost always crackable by a program with
  1157.    any "smarts" in it at all.
  1158.    
  1159.    There is a program available which can "crack" conventionally
  1160.    encrypted files by guessing the passphrase. It does not do any
  1161.    cryptanalysis, so if you pick a strong passphrase your files will
  1162.    still be safe. See http://www.voicenet.com/~markm/pgpcrack.html for
  1163.    more information and the program itself.
  1164.    
  1165.    There are also other methods to get at the contents of an encrypted
  1166.    message, such as bribery, snooping of electronic emanation from the
  1167.    computers processing the message (often called a TEMPEST attack),
  1168.    blackmail, or "rubber-hose cryptography" - beating you on the head
  1169.    with a rubber hose until you give the passphrase.
  1170.    
  1171.   3.10 If my secret key ring is stolen, can my messages be read?
  1172.   
  1173.    No, not unless they have also stolen your secret pass phrase, or if
  1174.    your pass phrase is susceptible to a brute-force attack. Neither part
  1175.    is useful without the other. You should, however, revoke that key and
  1176.    generate a fresh key pair using a different pass phrase. Before
  1177.    revoking your old key, you might want to add another user ID that
  1178.    states what your new key id is so that others can know of your new
  1179.    address.
  1180.    
  1181.   3.11 How do I choose a pass phrase?
  1182.   
  1183.    All of the security that is available in PGP can be made absolutely
  1184.    useless if you don't choose a good pass phrase to encrypt your secret
  1185.    key ring. Too many people use their birthday, their telephone number,
  1186.    the name of a loved one, or some easy to guess common word. While
  1187.    there are a number of suggestions for generating good pass phrases,
  1188.    the ultimate in security is obtained when the characters of the pass
  1189.    phrase are chosen completely at random. It may be a little harder to
  1190.    remember, but the added security is worth it. As an absolute minimum
  1191.    pass phrase, I would suggest a random combination of at least 8
  1192.    letters and digits, with 12 being a better choice. With a 12 character
  1193.    pass phrase made up of the lower case letters a-z plus the digits 0-9,
  1194.    you have about 62 bits of key, which is 6 bits better than the 56 bit
  1195.    DES keys. If you wish, you can mix upper and lower case letters in
  1196.    your pass phrase to cut down the number of characters that are
  1197.    required to achieve the same level of security.
  1198.    
  1199.    A pass phrase which is composed of ordinary words without punctuation
  1200.    or special characters is susceptible to a dictionary attack.
  1201.    Transposing characters or mis-spelling words makes your pass phrase
  1202.    less vulnerable, but a professional dictionary attack will cater for
  1203.    this sort of thing.
  1204.    
  1205.    See Randall T. Williams' Passphrase FAQ at
  1206.    http://www.stack.nl/~galactus/remailers/passphrase-faq.html for a more
  1207.    detailed analysis.
  1208.    
  1209.   3.12 How do I remember my pass phrase?
  1210.   
  1211.    This can be quite a problem especially if you are like me and have
  1212.    about a dozen different pass phrases that are required in your
  1213.    everyday life. Writing them down someplace so that you can remember
  1214.    them would defeat the whole purpose of pass phrases in the first
  1215.    place. There is really no good way around this. Either remember it, or
  1216.    write it down someplace and risk having it compromised.
  1217.    
  1218.    It may be a good idea to periodically try out all the passphrases, or
  1219.    to iterate them in your mind. Repeating them often enough will help
  1220.    keep them from being completely blanked out when the time comes that
  1221.    you need them.
  1222.    
  1223.    If you use long passphrases, it may be possible to write down the
  1224.    initial portion without risking compromising it, so that you can read
  1225.    the "hint" and remember the rest of the passphrase. For a simple way
  1226.    to pick provably strong passphrases that are easy to remember, please
  1227.    see Arnold Reinhold's "Diceware" website at
  1228.    http://world.std.com/~reinhold/diceware.html.
  1229.    
  1230.   3.13 How do I verify that my copy of PGP has not been tampered with?
  1231.   
  1232.    If you do not presently own any copy of PGP, use great care on where
  1233.    you obtain your first copy. What I would suggest is that you get two
  1234.    or more copies from different sources that you feel that you can
  1235.    trust. Compare the copies to see if they are absolutely identical.
  1236.    This won't eliminate the possibility of having a bad copy, but it will
  1237.    greatly reduce the chances.
  1238.    
  1239.    If you already own a trusted version of PGP, it is easy to check the
  1240.    validity of any future version. Newer binary versions of MIT PGP are
  1241.    distributed in popular archive formats; the archive file you receive
  1242.    will contain only another archive file, a file with the same name as
  1243.    the archive file with the extension .ASC, and a "setup.doc" file. The
  1244.    .ASC file is a stand-alone signature file for the inner archive file
  1245.    that was created by the developer in charge of that particular PGP
  1246.    distribution. Since nobody except the developer has access to his/her
  1247.    secret key, nobody can tamper with the archive file without it being
  1248.    detected. Of course, the inner archive file contains the newer PGP
  1249.    distribution.
  1250.    
  1251.    A quick note: If you upgrade to MIT PGP from an older copy (2.3a or
  1252.    before), you may have problems verifying the signature. See question
  1253.    3.14 for a more detailed treatment of this problem.
  1254.    
  1255.    To check the signature, you must use your old version of PGP to check
  1256.    the archive file containing the new version. If your old version of
  1257.    PGP is in a directory called C:\PGP and your new archive file and
  1258.    signature is in C:\NEW (and you have retrieved MIT PGP 2.6.2), you may
  1259.    execute the following command:
  1260.    "c:\pgp\pgp c:\new\pgp262i.asc c:\new\pgp262i.zip"
  1261.    
  1262.    If you retrieve the source distribution of MIT PGP, you will find two
  1263.    more files in your distribution: an archive file for the RSAREF
  1264.    library and a signature file for RSAREF. You can verify the RSAREF
  1265.    library in the same way as you verify the main PGP source archive.
  1266.    
  1267.    Non-MIT versions typically include a signature file for the PGP.EXE
  1268.    program file only. This file will usually be called PGPSIG.ASC. You
  1269.    can check the integrity of the program itself this way by running your
  1270.    older version of PGP on the new version's signature file and program
  1271.    file.
  1272.    
  1273.    Phil Zimmermann himself signed all versions of PGP up to 2.3a. Since
  1274.    then, the primary developers for each of the different versions of PGP
  1275.    have signed their distributions. As of this writing, the developers
  1276.    whose signatures appear on the distributions are:
  1277.  
  1278. MIT PGP 2.6.2                Jeff Schiller <jis@mit.edu>
  1279. ViaCrypt PGP 2.7.1           ViaCrypt
  1280. PGP 2.6.2i                   Stale Schumacher <staalesc@ifi.uio.no>
  1281. PGP 2.6ui                    mathew <mathew@mantis.co.uk>
  1282.  
  1283.   3.14 I can't verify the signature on my new copy of MIT PGP with my old PGP
  1284.   2.3a!
  1285.   
  1286.    The reason for this, of course, is that the signatures generated by
  1287.    MIT PGP (which is what Jeff Schiller uses to sign his copy) are no
  1288.    longer readable with PGP 2.3a.
  1289.    
  1290.    You may, first of all, not verify the signature and follow other
  1291.    methods for making sure you aren't getting a bad copy. This isn't as
  1292.    secure, though; if you're not careful, you could get passed a bad copy
  1293.    of PGP.
  1294.    
  1295.    If you're intent on checking the signature, you may do an intermediate
  1296.    upgrade to MIT PGP 2.6. This older version was signed before the "time
  1297.    bomb" took effect, so its signature is readable by the older versions
  1298.    of PGP. Once you have validated the signature on the intermediate
  1299.    version, you can then use that version to check the current version.
  1300.    
  1301.    As another alternative, you may upgrade to PGP 2.6.2i or 2.6ui,
  1302.    checking their signatures with 2.3a, and use them to check the
  1303.    signature on the newer version. People living in the USA who do this
  1304.    may be violating the RSA patent in doing so; then again, you may have
  1305.    been violating it anyway by using 2.3a, so you're not in much worse
  1306.    shape.
  1307.    
  1308.   3.15 How do I know that there is no trap door in the program?
  1309.   
  1310.    The fact that the entire source code for the free versions of PGP is
  1311.    available makes it just about impossible for there to be some hidden
  1312.    trap door. The source code has been examined by countless individuals
  1313.    and no such trap door has been found. To make sure that your
  1314.    executable file actually represents the given source code, all you
  1315.    need to do is to re-compile the entire program.
  1316.    
  1317.   3.16 I heard that the NSA put a back door in MIT PGP, and that they only
  1318.   allowed it to be legal with the back door.
  1319.   
  1320.    First of all, the NSA had nothing to do with PGP becoming "legal". The
  1321.    legality problems solved by MIT PGP had to do with the alleged patent
  1322.    on the RSA algorithm used in PGP.
  1323.    
  1324.    Second, all the freeware versions of PGP are released with full source
  1325.    code to both PGP and to the RSAREF library they use (just as every
  1326.    other freeware version before them were). Thus, it is subject to the
  1327.    same peer review mentioned in the question above. If there were an
  1328.    intentional hole, it would probably be spotted. If you're really
  1329.    paranoid, you can read the code yourself and look for holes!
  1330.    
  1331.   3.17 Is there a back door in the international version?
  1332.   
  1333.    No. The international version of PGP is based on an illegally exported
  1334.    version of PGP, and uses an RSA encryption/decryption library (MPILIB)
  1335.    which may violate a patent which is only valid in the USA.
  1336.    
  1337.    There are no intentional backdoors of any kind in the international
  1338.    version, nor is the encryption strength reduced in any way.
  1339.    
  1340.   3.18 Can I put PGP on a multi-user system like a network or a mainframe?
  1341.   
  1342.    Yes. PGP will compile for several high-end operating systems such as
  1343.    Unix and VMS. Other versions may easily be used on machines connected
  1344.    to a network.
  1345.    
  1346.    You should be very careful, however. Your pass phrase may be passed
  1347.    over the network in the clear where it could be intercepted by network
  1348.    monitoring equipment, or the operator on a multi-user machine may
  1349.    install "keyboard sniffers" to record your pass phrase as you type it
  1350.    in. Also, while it is being used by PGP on the host system, it could
  1351.    be caught by some Trojan Horse program. Also, even though your secret
  1352.    key ring is encrypted, it would not be good practice to leave it lying
  1353.    around for anyone else to look at.
  1354.    
  1355.    So why distribute PGP with directions for making it on Unix and VMS
  1356.    machines at all? The simple answer is that not all Unix and VMS
  1357.    machines are network servers or "mainframes." If you use your machine
  1358.    only from the console (or if you use some network encryption package
  1359.    such as Kerberos), you are the only user, you take reasonable system
  1360.    security measures to prevent unauthorized access, and you are aware of
  1361.    the risks above, you can securely use PGP on one of these systems.
  1362.    
  1363.    You can still use PGP on multi-user systems or networks without a
  1364.    secret key for checking signatures and encrypting. As long as you
  1365.    don't process a private key or type a pass phrase on the multiuser
  1366.    system, you can use PGP securely there.
  1367.    
  1368.    Of course, it all comes down to how important you consider your secret
  1369.    key. If it's only used to sign posts to Usenet, and not for important
  1370.    private correspondence, you don't have to be as paranoid about
  1371.    guarding it. If you trust your system administrators, then you can
  1372.    protect yourself against malicious users by making the directory in
  1373.    which the keyrings are only accessible by you.
  1374.    
  1375.   3.19 Can I use PGP under a "swapping" operating system like Windows or OS/2?
  1376.   
  1377.    Yes. PGP for DOS runs OK in most "DOS windows" for these systems, and
  1378.    PGP can be built natively for many of them as well.
  1379.    
  1380.    The problem with using PGP on a system that swaps is that the system
  1381.    will often swap PGP out to disk while it is processing your pass
  1382.    phrase. If this happens at the right time, your pass phrase could end
  1383.    up in cleartext in your swap file. How easy it is to swap "at the
  1384.    right time" depends on the operating system; Windows reportedly swaps
  1385.    the pass phrase to disk quite regularly, though it is also one of the
  1386.    most inefficient systems. PGP does make every attempt to not keep the
  1387.    pass phrase in memory by "wiping" memory used to hold the pass phrase
  1388.    before freeing it, but this solution isn't perfect.
  1389.    
  1390.    If you have reason to be concerned about this, you might consider
  1391.    getting a swapfile wiping utility to securely erase any trace of the
  1392.    pass phrase once you are done with the system. Several such utilities
  1393.    exist for Windows and Linux at least.
  1394.    
  1395.   3.20 Why not use RSA alone rather than a hybrid mix of IDEA, MD5, & RSA?
  1396.   
  1397.    Two reasons: First, the IDEA encryption algorithm used in PGP is
  1398.    actually much stronger than RSA given the same key length. Even with a
  1399.    1024 bit RSA key, it is believed that IDEA encryption is still
  1400.    stronger, and, since a chain is no stronger than its weakest link, it
  1401.    is believed that RSA is actually the weakest part of the RSA - IDEA
  1402.    approach. Second, RSA encryption is much slower than IDEA. The only
  1403.    purpose of RSA in most public key schemes is for the transfer of
  1404.    session keys to be used in the conventional secret key algorithm, and
  1405.    to encode signatures.
  1406.    
  1407.   3.21 Aren't all of these security procedures a little paranoid?
  1408.   
  1409.    That all depends on how much your privacy means to you! Even apart
  1410.    from the government, there are many people out there who would just
  1411.    love to read your private mail. And many of these individuals would be
  1412.    willing to go to great lengths to compromise your mail. Look at the
  1413.    amount of work that has been put into some of the virus programs that
  1414.    have found their way into various computer systems. Even when it
  1415.    doesn't involve money, some people are obsessed with breaking into
  1416.    systems.
  1417.    
  1418.    In addition, don't forget that private keys are useful for more than
  1419.    decrypting. Someone with your private key can also sign items that
  1420.    could later prove to be difficult to deny. Keeping your private key
  1421.    secure can prevent, at the least, a bit of embarassment, and at most
  1422.    could prevent charges of fraud or breach of contract.
  1423.    
  1424.    Besides, many of the above procedures are also effective against some
  1425.    common indirect attacks. As an example, the digital signature also
  1426.    serves as an effective integrity check of the file signed; thus,
  1427.    checking the signature on new copies of PGP ensures that your computer
  1428.    will not get a virus through PGP (unless, of course, the PGP version
  1429.    developer contracts a virus and infects PGP before signing).
  1430.    
  1431.   3.22 Can I be forced to reveal my pass phrase in any legal proceedings?
  1432.   
  1433.    Gary Edstrom reported the following in earlier versions of this FAQ:
  1434.    
  1435.      The following information applies only to citizens of the United
  1436.      States in U.S. Courts. The laws in other countries may vary.
  1437.      
  1438.      There have been several threads on Internet concerning the question
  1439.      of whether or not the fifth amendment right about not being forced
  1440.      to give testimony against yourself can be applied to the subject of
  1441.      being forced to reveal your pass phrase. Not wanting to settle for
  1442.      the many conflicting opinions of armchair lawyers on usenet, I
  1443.      asked for input from individuals who were more qualified in the
  1444.      area. The results were somewhat mixed. There apparently has NOT
  1445.      been much case history to set precedents in this area. So if you
  1446.      find yourself in this situation, you should be prepared for a long
  1447.      and costly legal fight on the matter. Do you have the time and
  1448.      money for such a fight? Also remember that judges have great
  1449.      freedom in the use of "Contempt of Court". They might choose to
  1450.      lock you up until you decide to reveal the pass phrase and it could
  1451.      take your lawyer some time to get you out. (If only you just had a
  1452.      poor memory!)
  1453.      _________________________________________________________________
  1454.    
  1455. 4. Keys
  1456.  
  1457.      4.1 Which key size should I use?
  1458.      4.2 Why does PGP take so long to add new keys to my key ring?
  1459.      4.3 How can I extract multiple keys into a single armored file?
  1460.      4.4 I tried encrypting the same message to the same address two
  1461.        times and got completely different outputs. Why is this?
  1462.      4.5 How do I specify which key to use when an individual has 2 or
  1463.        public keys and the very same user ID on each, or when 2 different
  1464.        users have the same name?
  1465.      4.6 What does the message "Unknown signator, can't be checked" mean?
  1466.      4.7 How do I get PGP to display the trust parameters on a key?
  1467.      4.8 How can I make my key available via finger?
  1468.      4.9 Should I put my key in my .signature?
  1469.      4.10 Can a public key be forged?
  1470.      4.11 How do I detect a forged key?
  1471.      _________________________________________________________________
  1472.    
  1473.   4.1 Which key size should I use?
  1474.   
  1475.    PGP gives you three choices for key size: 512, 768, or 1024 bits. You
  1476.    can also specify the number of bits your key should have if you don't
  1477.    like any of those numbers. The larger the key, the more secure the RSA
  1478.    portion of the encryption is. The only place where the key size makes
  1479.    a large change in the running time of the program is during key
  1480.    generation. A 1024 bit key can take 8 times longer to generate than a
  1481.    384 bit key. Fortunately, this is a one time process that doesn't need
  1482.    to be repeated unless you wish to generate another key pair.
  1483.    
  1484.    During encryption, only the RSA portion of the encryption process is
  1485.    affected by key size. The RSA portion is only used for encrypting the
  1486.    session key used by the IDEA. The main body of the message is totally
  1487.    unaffected by the choice of RSA key size. So unless you have a very
  1488.    good reason for doing otherwise, select the 1024 bit key size. Using
  1489.    currently available algorithms for factoring, the 384 and 512 bit keys
  1490.    are just not far enough out of reach to be good choices.
  1491.    
  1492.    If you are using MIT PGP 2.6.2, ViaCrypt PGP 2.7.1, or PGP 2.6.3i, you
  1493.    can specify key sizes greater than 1024 bits; the upper limit for
  1494.    these programs is 2048 bits. Remember that you have to tell PGP how
  1495.    big you want your key if you want it to be bigger than 1024 bits.
  1496.    Generating a key this long will take you quite a while; however, this
  1497.    is, as noted above, a one-time process. Remember that other people
  1498.    running other versions of PGP may not be able to handle your large
  1499.    key.
  1500.    
  1501.    There is a small bug in some versions of MIT PGP 2.6.2, which will
  1502.    actually create a 2047 bits key when you ask for a 2048 bits one.
  1503.    
  1504.   4.2 Why does PGP take so long to add new keys to my key ring?
  1505.   
  1506.    The time required to check signatures and add keys to your public key
  1507.    ring tends to grow as the square of the size of your existing public
  1508.    key ring. This can reach extreme proportions, especially if you are
  1509.    trying to add the entire public keyring you retrieved from a keyserver
  1510.    (see question 8.1) to your own keyring.
  1511.    
  1512.    In this case, it might be faster to rename your public keyring to
  1513.    something else, then name the keyserver's keyring "pubring.pgp" and
  1514.    add your own keyring to the big one. There is a danger to this,
  1515.    though; the trust parameters to your old keys will be lost, and you
  1516.    will be using the trust parameters from this big keyring.
  1517.    
  1518.   4.3 How can I extract multiple keys into a single armored file?
  1519.   
  1520.    A number of people have more than one public key that they would like
  1521.    to make available. One way of doing this is executing the "-kxa"
  1522.    command for each key you wish to extract from the key ring into
  1523.    separate armored files, then appending all the individual files into a
  1524.    single long file with multiple armored blocks. This is not as
  1525.    convenient as having all of your keys in a single armored block.
  1526.    
  1527.    Unfortunately, the present version of PGP does not allow you to do
  1528.    this directly. Fortunately, there is an indirect way to do it.
  1529.  
  1530. pgp -kx uid1 extract
  1531. pgp -kx uid2 extract
  1532. pgp -kx uid3 extract
  1533.  
  1534.    This puts all three keys into extract.pgp. To get an ascii amored
  1535.    file, call: "pgp -a extract.pgp"
  1536.    
  1537.    You get an extract.asc. Someone who does a "pgp extract" and has
  1538.    either file processes all three keys simultaneously.
  1539.    
  1540.    A Unix script to perform the extraction with a single command would be
  1541.    as follows:
  1542.  
  1543.   #!/bin/sh
  1544.   for name in name1 name2 name3 ... ; do
  1545.   pgp -kx $name /tmp/keys.pgp <keyring>
  1546.   end
  1547.  
  1548.    An equivalent DOS command would be:
  1549.    " for %a in (name1 name2 name3 ...) do pgp -kx %a keys.pgp <keyring> "
  1550.    
  1551.   4.4 I tried encrypting the same message to the same address two times and got
  1552.   completely different outputs. Why is this?
  1553.   
  1554.    Every time you run PGP, a different session key is generated. This
  1555.    session key is used as the key for IDEA. As a result, the entire
  1556.    header and body of the message changes. You will never see the same
  1557.    output twice, no matter how many times you encrypt the same message to
  1558.    the same address. This adds to the overall security of PGP.
  1559.    
  1560.    To generate this random session key, PGP will try to use information
  1561.    from a file called 'randseed.bin'. If this file does not exist, or for
  1562.    some reason isn't random enough, you are asked to type in some random
  1563.    keystrokes which will then be used as a "seed" for the random number
  1564.    generator.
  1565.    
  1566.   4.5 How do I specify which key to use when an individual has 2 or public keys
  1567.   and the very same user ID on each, or when 2 different users have the same
  1568.   name?
  1569.   
  1570.    Instead of specifying the user's name in the ID field of the PGP
  1571.    command, you can use the key ID number. The format is 0xNNNNNNNN where
  1572.    NNNNNNNN is the user's 8 character key ID number. It should be noted
  1573.    that you don't need to enter the entire ID number, a few consecutive
  1574.    digits from anywhere in the ID should do the trick. The key ID shows
  1575.    up directly after the key size when you do "pgp -kv userid".
  1576.    
  1577.    Be careful: If you enter "0x123", you will be matching key IDs
  1578.    0x12393764, 0x64931237, or 0x96412373. Any key ID that contains "123"
  1579.    anywhere in it will produce a match. They don't need to be the
  1580.    starting characters of the key ID. You will recognize that this is the
  1581.    format for entering hex numbers in the C programming language. For
  1582.    example, any of the following commands could be used to encrypt a file
  1583.    to my public key:
  1584.  
  1585.     pgp -e <filename> "Arnoud Engelfriet"
  1586.     pgp -e <filename> galactus@stack.nl
  1587.     pgp -e <filename> 0x416A1A35
  1588.  
  1589.    This same method of key identification can be used in the config.txt
  1590.    file in the "MyName" variable to specify exactly which of the keys in
  1591.    the secret key ring should be used for encrypting a message.
  1592.    
  1593.   4.6 What does the message "Unknown signator, can't be checked" mean?
  1594.   
  1595.    It means that the key used to create that signature does not exist in
  1596.    your public keyring. If at sometime in the future, you happen to add
  1597.    that key to your public keyring, then the signature line will read
  1598.    normally. It is completely harmless to leave these non-checkable
  1599.    signatures in your public keyring. They neither add to nor take away
  1600.    from the validity of the key in question.
  1601.    
  1602.   4.7 How do I get PGP to display the trust parameters on a key?
  1603.   
  1604.    You can only do this when you run the -kc option by itself on the
  1605.    entire database. The parameters will not be shown if you give a
  1606.    specific ID on the command line. The correct command is: "pgp -kc".
  1607.    The command "pgp -kc smith" will not show the trust parameters for
  1608.    smith.
  1609.    
  1610.   4.8 How can I make my key available via finger?
  1611.   
  1612.    The first step is always to extract the key to an ASCII-armored text
  1613.    file with "pgp -kxa". After that, it depends on what type of computer
  1614.    you want your key to be available on. Check the documentation for that
  1615.    computer and/or its networking software.
  1616.    
  1617.    Many computers running a Unix flavor will read information to be
  1618.    displayed via finger from a file in each user's home directory called
  1619.    ".plan". If your computer supports this, you can put your public key
  1620.    in this file. Make sure the file is world-readable, use "chmod 644
  1621.    .plan" if other people can't get at your plan. The home directory also
  1622.    has to be accessible. Use "chmod +x ." in your home directory to do
  1623.    this. Contact your system administrator if you have further problems
  1624.    with this.
  1625.    
  1626.   4.9 Should I put my key in my .signature?
  1627.   
  1628.    No. Although it is important to spread your key as far as possible, it
  1629.    is a lot better to send it to a keyserver (see 8.1) or to make it
  1630.    available via finger (see 4.8), or perhaps as a link off your WWW
  1631.    homepage. This way, people who need your key will be able to get it,
  1632.    and you don't send it out to a lot of uninterested people every time
  1633.    you mail or post something.
  1634.    
  1635.    Additionally, keep in mind a snooper reading your outgoing mail can
  1636.    easily change the public key in there with his own fake key. Then he
  1637.    can still read the messages sent to you. If the other party gets your
  1638.    key from a different location with a different method, it is a lot
  1639.    harder for that snooper to change the keys. (Note that signing the
  1640.    message containing the key will not help; the snooper can easily
  1641.    re-sign the message with his key).
  1642.    
  1643.   4.10 Can a public key be forged?
  1644.   
  1645.    There are four components in a public key, each of which has its own
  1646.    weaknesses. The four components are user IDs, key IDs, signatures and
  1647.    the key fingerprint.
  1648.    
  1649. The user ID
  1650.  
  1651.    It is quite easy to create a fake user ID. If a user ID on a key is
  1652.    changed, and the key is then added to another keyring, the changed
  1653.    user ID will be seen as a new user ID and so it gets added to the ones
  1654.    already present. This implies that an unsigned user ID should never be
  1655.    trusted. Question 6.3 discusses this in more detail.
  1656.    
  1657. The key ID
  1658.  
  1659.    It is possible to create a key with a chosen key ID. Paul Leyland
  1660.    <pcl@sable.ox.ac.uk> explains:
  1661.    
  1662.      A PGP key ID is just the bottom 64 bits of the public modulus (but
  1663.      only the bottom 32 bits are displayed with "pgp -kv"). It is easy
  1664.      to select two primes which when multiplied together have a specific
  1665.      set of low-order bits.
  1666.      
  1667.    This makes it possible to create a fake key with the same key ID as an
  1668.    existing one. The fingerprint will still be different, though.
  1669.    
  1670.    By the way, this attack is sometimes referred to as a DEADBEEF attack.
  1671.    This term originates from an example key with key ID 0xDEADBEEF which
  1672.    was created to demonstrate that this was possible.
  1673.    
  1674. Signatures
  1675.  
  1676.    There are currently no methods to create a fake signature for a user
  1677.    ID on someone's key. To create a signature for a user ID, you need the
  1678.    signatory's secret key. A signature actually signs a hash of the user
  1679.    ID it applies to, so you can't copy a signature from one user ID to
  1680.    another or modify a signed user ID without invalidating the signature.
  1681.    
  1682. The key fingerprint
  1683.  
  1684.    Yes, it is possible to create a public key with the same fingerprint
  1685.    as an existing one, thanks to a design misfeature in PGP. The fake key
  1686.    will not be of the same length, so it should be easy to detect.
  1687.    Usually such keys have odd key lengths.
  1688.    
  1689.    Paul Leyland provided the following technical explanation:
  1690.    
  1691.      Inside a PGP key, the public modulus and encryption exponent are
  1692.      each represented as the size of the quantity in bits, followed by
  1693.      the bits of the quantity itself. The key fingerprint, displayed by
  1694.      "pgp -kvc", is the MD5 hash of the bits, but NOT of the lengths. By
  1695.      transferring low-order bits from the modulus to the high-order
  1696.      portion of the exponent and altering the two lengths accordingly,
  1697.      it is possible to create a new key with exactly the same
  1698.      fingerprint.
  1699.      
  1700.   4.11 How do I detect a forged key?
  1701.   
  1702.    As explained in question 4.10, each component of the public key can be
  1703.    faked. It is, however, not possible to create a fake key for which all
  1704.    the components match.
  1705.    
  1706.    For this reason, you should always verify that key ID, fingerprint,
  1707.    and key size correspond when you are about to use someone's key. And
  1708.    when you sign a user ID, make sure it is signed by the key's owner!
  1709.    
  1710.    Similarly, if you want to provide information about your key, include
  1711.    key ID, fingerprint and key size.
  1712.      _________________________________________________________________
  1713.    
  1714. 5. Message Signatures
  1715.  
  1716.      5.1 What is message signing?
  1717.      5.2 How do I sign a message and keep it readable?
  1718.      5.3 Can't you just forge a signature by copying the signature block
  1719.        to another message?
  1720.      5.4 Are PGP signatures legally binding?
  1721.      5.5 Is the date on a PGP signature reliable?
  1722.      _________________________________________________________________
  1723.    
  1724.   5.1 What is message signing?
  1725.   
  1726.    Let's imagine that you received a letter in the mail from someone you
  1727.    know named John Smith. How do you know that it was really John who
  1728.    sent you the letter and not someone else who simply forged his name?
  1729.    With PGP, it is possible to apply a digital signature to a message
  1730.    that is impossible to forge. If you already have a trusted copy of
  1731.    John's public encryption key, you can use it to check the signature on
  1732.    the message. It would be impossible for anybody but John to have
  1733.    created the signature, since he is the only person with access to the
  1734.    secret key necessary to create the signature. In addition, if anybody
  1735.    has tampered with an otherwise valid message, the digital signature
  1736.    will detect the fact. It protects the entire message.
  1737.    
  1738.   5.2 How do I sign a message and keep it readable?
  1739.   
  1740.    Sometimes you are not interested in keeping the contents of a message
  1741.    secret, you only want to make sure that nobody tampers with it, and to
  1742.    allow others to verify that the message is really from you. For this,
  1743.    you can use clear signing. Clear signing only works on text files, it
  1744.    will not work on binary files. The command format is:
  1745.    " pgp -sat +clearsig=on <filename> "
  1746.    
  1747.    The output file will contain your original unmodified text, along with
  1748.    section headers and an armored PGP signature. In this case, PGP is not
  1749.    required to read the file, only to verify the signature.
  1750.    
  1751.    You should be careful when you "clearsign" a text file like this. Some
  1752.    mail programs might alter your message when it is being sent, for
  1753.    example because there are very long lines in the message. This will
  1754.    invalidate the signature on the message. Also, using 8-bit characters
  1755.    in your message can cause problems; some versions of PGP will think
  1756.    the file is actually a binary file, and refuse to clearsign it.
  1757.    
  1758.    For this reason, PGP 2.6.3i will automatically ASCII armor messages
  1759.    with very long lines in it.
  1760.    
  1761.   5.3 Can't you just forge a signature by copying the signature block to
  1762.   another message?
  1763.   
  1764.    No. The reason for this is that the signature contains information
  1765.    (called a "message digest" or a "one-way hash") about the message it's
  1766.    signing. When the signature check is made, the message digest from the
  1767.    message is calculated and compared with the one stored in the
  1768.    encrypted signature block. If they don't match, PGP reports that the
  1769.    signature is bad.
  1770.    
  1771.   5.4 Are PGP signatures legally binding?
  1772.   
  1773.    It has become legal in many places now. At least one company is using
  1774.    PGP digital signatures on contracts to provide "quick agreement" via
  1775.    E-mail, allowing work to proceed without having to wait for the paper
  1776.    signature.
  1777.    
  1778.    In the USA, the state of Utah adopted its Digital Signature Act (the
  1779.    "1995 Utah Act") on February 27, 1995. It was signed by Michael
  1780.    Leavitt, Governor of Utah, on March 9, 1995, and took effect on May
  1781.    1,1995. Utah was the first legal system in the world to adopt a
  1782.    comprehensive statute enabling electronic commerce through digital
  1783.    signatures. Thereafter, the 1996 amendment became effective on April
  1784.    29, 1996.
  1785.    
  1786.    The Utah law is available from
  1787.    <URL:http://www.commerce.state.ut.us/web/commerce/digsig/dsmain.htm>.
  1788.    
  1789.    Other USA states are also working on implementing this technology for
  1790.    commerce, like Georgia, Washington and Illinois, ect. Apart from Utah,
  1791.    currently California and Virgina have bills or laws enabling this
  1792.    technology.
  1793.    
  1794.    The Georgia law is available from:
  1795.    http://www.cc.emory.edu/BUSINESS/gds.html
  1796.    
  1797.    The Washington is available from:
  1798.    http://access.wa.net/sb6423_info/index.html
  1799.    
  1800.    In many jurisdictions, a prior agreement in writing to accept valid
  1801.    digital signatures as binding is itself binding. If you are going to
  1802.    be swapping many digitally-signed agreements with another party, this
  1803.    approach may be useful. You might want to check with a lawyer in your
  1804.    country if the digital signatures will be used for important or
  1805.    valuable contracts.
  1806.    
  1807.   5.5 Is the date on a PGP signature reliable?
  1808.   
  1809.    No. The date and time you see when you verify a PGP signature on a
  1810.    file (often called a timestamp) is the time and date the computer was
  1811.    set to when the signature was created. On most computers, it is
  1812.    extremely easy to reset the date and time to any time you want, so you
  1813.    can generate documents with a forged timestamp.
  1814.    
  1815.    For this reason, you can use a so-called digital notary or
  1816.    time-stamping service. This is a system that does nothing but sign
  1817.    documents you send to it, after inserting a date and time somewhere in
  1818.    the text. The service uses a numbering scheme which makes it
  1819.    impossible to insert timestamps at a later time. One such service is
  1820.    run by Matthew Richardson. For more information about it, please see
  1821.    http://www.itconsult.co.uk/stamper.htm.
  1822.      _________________________________________________________________
  1823.    
  1824. 6. Key Signatures
  1825.  
  1826.      6.1 What is key signing?
  1827.      6.2 How do I sign a key?
  1828.      6.3 Should I sign my own key?
  1829.      6.4 Should I sign X's key?
  1830.      6.5 How do I verify someone's identity?
  1831.      6.6 How do I know someone hasn't sent me a bogus key to sign?
  1832.      6.7 What's a key signing party?
  1833.      6.8 How do I organize a key signing party?
  1834.      _________________________________________________________________
  1835.    
  1836.   6.1 What is key signing?
  1837.   
  1838.    OK, you just got a copy of John Smith's public encryption key. How do
  1839.    you know that the key really belongs to John Smith and not to some
  1840.    impostor? The answer to this is key signatures. They are similar to
  1841.    message signatures in that they can't be forged. Let's say that you
  1842.    don't know that you have John Smith's real key. But let's say that you
  1843.    DO have a trusted key from Joe Blow. Let's say that you trust Joe Blow
  1844.    and that he has added his signature to John Smith's key. By inference,
  1845.    you can now trust that you have a valid copy of John Smith's key. That
  1846.    is what key signing is all about. This chain of trust can be carried
  1847.    to several levels, such as A trusts B who trusts C who trusts D,
  1848.    therefore A can trust D. You have control in the PGP configuration
  1849.    file over exactly how many levels this chain of trust is allowed to
  1850.    proceed.
  1851.    
  1852.    The options (which can be set in PGP's configuration file, CONFIG.TXT)
  1853.    to control this are
  1854.    
  1855.    "Cert_Dept = n"
  1856.           This indicates the maximum depth of your "web of trust". A key
  1857.           which is n keys "away" from your own key will not be used to
  1858.           introduce other keys.
  1859.           
  1860.    "Completes_Needed = n"
  1861.           This indicates the number of completely trusted keys required
  1862.           to make a key valid. A key is completely trusted if it is
  1863.           valid, and you choose option "4. Yes, always" when PGP asked
  1864.           you if you trust this person to introduce others.
  1865.           
  1866.    "Marginals_Needed = n"
  1867.           This indicates the number of marginally trusted keys required
  1868.           to make a key valid. A key is marginally trusted if you
  1869.           answered "3. Sometimes" to the question above. In all other
  1870.           cases, the key is not trusted at all.
  1871.           
  1872.    You can display the trust parameters for a key with "pgp -kc". See
  1873.    also question 4.7. Be careful about keys that are several levels
  1874.    removed from your immediate trust.
  1875.    
  1876.    The PGP trust model is discussed in more detail by Alfarez
  1877.    Abdul-Rahman at http://www.cs.ucl.ac.uk/staff/F.AbdulRahman/docs/.
  1878.    
  1879.   6.2 How do I sign a key?
  1880.   
  1881.    Execute the following command from the command prompt:
  1882.    "PGP -ks [-u yourid] <keyid>"
  1883.    
  1884.    This adds your signature (signed with the private key for yourid, if
  1885.    you specify it) to the key identified with keyid. If keyid is a user
  1886.    ID, you will sign that particular user ID; otherwise, you will sign
  1887.    the default user ID on that key (the first one you see when you list
  1888.    the key with "pgp -kv <keyid>").
  1889.    
  1890.    Next, you should extract a copy of this updated key along with its
  1891.    signatures using the "-kxa" option. An armored text file will be
  1892.    created. Give this file to the owner of the key so that he may
  1893.    propagate the new signature to whomever he chooses.
  1894.    
  1895.    Be very careful with your secret keyring. Never be tempted to put a
  1896.    copy in somebody else's machine so you can sign their public key -
  1897.    they could have modified PGP to copy your secret key and grab your
  1898.    pass phrase.
  1899.    
  1900.   6.3 Should I sign my own key?
  1901.   
  1902.    Yes, you should sign each personal ID on your key. This will help to
  1903.    prevent anyone from placing a phony address in the ID field of the key
  1904.    and possibly having your mail diverted to them. Of course they can't
  1905.    read the encrypted mail, but you won't see it at all. And even worse,
  1906.    adding a fake user ID reading "Please use key 0x416A1A35 from now on"
  1907.    can mean someone else will use the imposter's key with your name on
  1908.    it, rather than your own.
  1909.    
  1910.    It is very easy to add user IDs to someone else's key. All it takes is
  1911.    a binary editor or some knowledge of the PGP public key format. But
  1912.    since you are the only person who can sign your own user IDs, the fake
  1913.    ones will not be signed, and so anyone who gets the key can
  1914.    immediately spot the fake ones. For example, my entry in the public
  1915.    key ring now appears as follows if you use the "-kvv" command:
  1916.  
  1917. Type Bits/KeyID    Date       User ID
  1918. pub  1024/416A1A35 1994/10/01 Arnoud Engelfriet <galactus@stack.nl>
  1919. sig       416A1A35             Arnoud Engelfriet <galactus@stack.nl>
  1920.                               *** <galactus@stack.urc.tue.nl> now INVALID!
  1921. sig       416A1A35             Arnoud Engelfriet <galactus@stack.nl>
  1922.                               Galactus <galactus@stack.urc.tue.nl>
  1923. sig       3602A619             Stephen Hopkins <shopkins@coventry.ac.uk>
  1924. sig       DD63EF3D             Frank Castle <Frank_Castle@panther.pphost.nl>
  1925. sig       416A1A35             Arnoud Engelfriet <galactus@stack.nl>
  1926.                               Arnoud Engelfriet <galactus@stack.urc.tue.nl>
  1927. sig       390E3FB1             Martijn Heemels <M.A.L.Heemels@stud.tue.nl>
  1928. sig       DA87C0C7             Edgar W. Swank   <EdgarSwank@Juno.com>
  1929. sig       416A1A35             Arnoud Engelfriet <galactus@stack.nl>
  1930.  
  1931.    For a more detailed discussion of why you should sign your own key,
  1932.    see "Why you should sign your own key" by Walther Soldierer at
  1933.    http://www.stack.nl/~galactus/remailers/selfsign.html.
  1934.    
  1935.    Note that PGP 2.6.3[i] automatically signs each user ID you add to
  1936.    your own key.
  1937.    
  1938.   6.4 Should I sign X's key?
  1939.   
  1940.    Signing someone's key is your indication to the world that you believe
  1941.    that key to rightfully belong to that person, and that person is who
  1942.    he purports to be. Other people may rely on your signature to decide
  1943.    whether or not a key is valid, so you should not sign capriciously.
  1944.    
  1945.    Some countries require respected professionals such as doctors or
  1946.    engineers to endorse passport photographs as proof of identity for a
  1947.    passport application - you should consider signing someone's key in
  1948.    the same light. Alternatively, when you come to sign someone's key,
  1949.    ask yourself if you would be prepared to swear in a court of law as to
  1950.    that person's identity.
  1951.    
  1952.    Remember that signing a person's key says nothing about whether you
  1953.    actually like or trust that person or approve of his/her actions. It's
  1954.    just like someone pointing to someone else at a party and saying,
  1955.    "Yeah, that's Joe Blow over there." Joe Blow may be an ax murderer;
  1956.    you don't become tainted with his crime just because you can pick him
  1957.    out of a crowd.
  1958.    
  1959.   6.5 How do I verify someone's identity?
  1960.   
  1961.    It all depends on how well you know them. Relatives, friends and
  1962.    colleagues are easy. People you meet at conventions or key-signing
  1963.    sessions require some proof like a driver's license or credit card.
  1964.    
  1965.   6.6 How do I know someone hasn't sent me a bogus key to sign?
  1966.   
  1967.    It is very easy for someone to generate a key with a false ID and send
  1968.    e-mail with fraudulent headers, or for a node which routes the e-mail
  1969.    to you to substitute a different key. Finger servers are harder to
  1970.    tamper with, but not impossible. The problem is that while public key
  1971.    exchange does not require a secure channel (eavesdropping is not a
  1972.    problem) it does require a tamper-proof channel (key-substitution is a
  1973.    problem).
  1974.    
  1975.    If it is a key from someone you know well and whose voice you
  1976.    recognize then it is sufficient to give them a phone call and have
  1977.    them read their key's fingerprint (obtained with "pgp -kvc <userid>").
  1978.    To be sure, also ask them for the key size and its key ID. There are
  1979.    ways to create a forged key with an identical fingerprint (see
  1980.    question 4.10 for details). You can of course also check these details
  1981.    in another way, for example if he has printed it on his business card.
  1982.    
  1983.    If you don't know the person very well then the only recourse is to
  1984.    exchange keys face-to-face and ask for some proof of identity. Don't
  1985.    be tempted to put your public key disk in their machine so they can
  1986.    add their key - they could maliciously replace your key at the same
  1987.    time. If the user ID includes an e-mail address, verify that address
  1988.    by exchanging an agreed encrypted message before signing. Don't sign
  1989.    any user IDs on that key except those you have verified.
  1990.    
  1991.   6.7 What's a key signing party?
  1992.   
  1993.    A key signing party is a get-together with various other users of PGP
  1994.    for the purpose of meeting and signing keys. This helps to extend the
  1995.    "web of trust" to a great degree.
  1996.    
  1997.   6.8 How do I organize a key signing party?
  1998.   
  1999.    Though the idea is simple, actually doing it is a bit complex, because
  2000.    you don't want to compromise other people's private keys or spread
  2001.    viruses (which is a risk whenever floppies are swapped willy-nilly).
  2002.    Usually, these parties involve meeting everyone at the party,
  2003.    verifying their identity and getting key fingerprints from them, and
  2004.    signing their key at home.
  2005.    
  2006.    Derek Atkins <warlord@mit.edu> has recommended this method:
  2007.    
  2008.    There are many ways to hold a key-signing session. Many viable
  2009.    suggestions have been given. And, just to add more signal to this
  2010.    newsgroup, I will suggest another one which seems to work very well
  2011.    and also solves the N-squared problem of distributing and signing
  2012.    keys. Here is the process:
  2013.     1. You announce the keysigning session, and ask everyone who plans to
  2014.        come to send you (or some single person who will be there) their
  2015.        public key. The RSVP also allows for a count of the number of
  2016.        people for step 3.
  2017.     2. You compile the public keys into a single keyring, run "pgp -kvc"
  2018.        on that keyring, and save the output to a file.
  2019.     3. Print out N copies of the "pgp -kvc" file onto hardcopy, and bring
  2020.        this and the keyring on media to the meeting.
  2021.     4. At the meeting, distribute the printouts, and provide a site to
  2022.        retreive the keyring (an ftp site works, or you can make floppy
  2023.        copies, or whatever -- it doesn't matter).
  2024.     5. When you are all in the room, each person stands up, and people
  2025.        vouch for this person (e.g., "Yes, this really is Derek Atkins --
  2026.        I went to school with him for 6 years, and lived with him for 2").
  2027.     6. Each person securely obtains their own fingerprint, and after
  2028.        being vouched for, they then read out their fingerprint out loud
  2029.        so everyone can verify it on the printout they have.
  2030.     7. After everyone finishes this protocol, they can go home, obtain
  2031.        the keyring, run "pgp -kvc" on it themselves, and re-verify the
  2032.        bits, and sign the keys at their own leisure.
  2033.     8. To save load on the keyservers, you can optionally send all
  2034.        signatures to the original person, who can coalate them again into
  2035.        a single keyring and propagate that single keyring to the
  2036.        keyservers and to each individual.
  2037.      _________________________________________________________________
  2038.    
  2039. 7. Revoking a key
  2040.  
  2041.      7.1 My secret key ring has been stolen or lost, what do I do?
  2042.      7.2 I forgot my pass phrase. Can I create a key revocation
  2043.        certificate?
  2044.      7.3 How do I create a key revocation certificate?
  2045.      7.4 How do I indicate that my key is invalid when I don't have the
  2046.        secret key anymore?
  2047.      _________________________________________________________________
  2048.    
  2049.   7.1 My secret key ring has been stolen or lost, what do I do?
  2050.   
  2051.    Assuming that you selected a good solid random pass phrase to encrypt
  2052.    your secret key ring, you are probably still safe. It takes two parts
  2053.    to decrypt a message, the secret key ring, and its pass phrase. The
  2054.    secret key is encrypted with the passphrase before it is stored in the
  2055.    secret keyring.
  2056.    
  2057.    Assuming you have a backup copy of your secret key ring, you should
  2058.    generate a key revocation certificate and upload the revocation to one
  2059.    of the public key servers. Prior to uploading the revocation
  2060.    certificate, you might add a new ID to the old key that tells what
  2061.    your new key ID will be. If you don't have a backup copy of your
  2062.    secret key ring, then it will be impossible to create a revocation
  2063.    certificate under the present version of PGP. This is another good
  2064.    reason for keeping a backup copy of your secret key ring.
  2065.    
  2066.   7.2 I forgot my pass phrase. Can I create a key revocation certificate?
  2067.   
  2068.    As Phil Zimmermann put it: "I'm sorry, you're hosed."
  2069.    You can't, since the pass phrase is required to create the
  2070.    certificate. You must decrypt the secret key to sign the revocation
  2071.    statement, and for that you need your pass phrase.
  2072.    
  2073.    The way to avoid this dilemma is to create a key revocation
  2074.    certificate at the same time that you generate your key pair. Put the
  2075.    revocation certificate away in a safe place and you will have it
  2076.    available should the need arise.
  2077.    
  2078.   7.3 How do I create a key revocation certificate?
  2079.   
  2080.    The easiest way to do this is:
  2081.     1. Make a backup of your public and secret keyrings.
  2082.     2. Revoke your key with "pgp -kd youruserid".
  2083.     3. Extract the revoked key to a file with "pgp -kxa youruserid". This
  2084.        file is what the manual calls the "revocation certificate."
  2085.     4. Store the certificate in a safe location, for example on a floppy
  2086.        which you keep someplace else.
  2087.     5. Restore the backed-up keyrings.
  2088.        
  2089.   7.4 How do I indicate that my key is invalid when I don't have the secret key
  2090.   anymore?
  2091.   
  2092.    This is a very tricky situation, and should be avoided at all costs.
  2093.    The easiest way is to prepare a key revocation certificate (See 7.3
  2094.    for details on how to do this) before you need it, so you can always
  2095.    revoke the key, even without the secret key.
  2096.    
  2097.    Alternatively, you can use a binary editor to change one of the user
  2098.    IDs on your public key to read "Key invalid; use key 0x12345678" or
  2099.    something to that effect. Keep in mind that the new user ID can't be
  2100.    longer than the old one, unless you know what you are doing. Then
  2101.    extract the key, and send it to the keyserver. It will think this is
  2102.    actually a new user ID, and add it to your key there.
  2103.    
  2104.    However, since anyone can do the above, many people will not trust
  2105.    unsigned user IDs with such statements. As explained in question 6.3,
  2106.    all user IDs on your key should be self-signed. So again, make a key
  2107.    revocation certificate in advance and use that when necessary.
  2108.      _________________________________________________________________
  2109.    
  2110. 8. Public Key Servers
  2111.  
  2112.      8.1 What are the Public Key Servers?
  2113.      8.2 What public key servers are available?
  2114.      8.3 What is the syntax for the key server commands?
  2115.      _________________________________________________________________
  2116.    
  2117.   8.1 What are the Public Key Servers?
  2118.   
  2119.    Public Key Servers exist for the purpose of making your public key
  2120.    available in a common database where everybody can have access to it
  2121.    for the purpose of encrypting messages to you. Anyone who wants to
  2122.    write you a message, or to check a signature on a message from you,
  2123.    can get your key from the keyserver, so he doesn't have to bother you
  2124.    with it.
  2125.    
  2126.    While a number of key servers exist, it is only necessary to send your
  2127.    key to one of them. The key server will take care of the job of
  2128.    sending your key to all other known servers.
  2129.    
  2130.   8.2 What public key servers are available?
  2131.   
  2132.    There is now a clean interface to key servers. The pgp.net domain was
  2133.    founded for this purpose, and offers an easy and fast way to obtain
  2134.    people's public keys.
  2135.    
  2136.    You can access the keyserver in e-mail, by sending mail to
  2137.    pgp-public-keys@keys.pgp.net with the command (see 8.3 below) in the
  2138.    Subject line of your message. This message will be sent to one of the
  2139.    keyservers at random, which ensures that an individual server will not
  2140.    be overloaded.
  2141.    
  2142.    If you have WWW access, you can also use the WWW interface at
  2143.    http://www.uk.pgp.net/pgpnet/pks-commands.html.
  2144.    
  2145.    FOUR11 no longer certifies keys. Version 1.3 of the FAQ incorrectly
  2146.    claimed that pobox.com certified keys, but Pobox customer service says
  2147.    they don't.
  2148.    
  2149.   8.3 What is the syntax for the key server commands?
  2150.   
  2151.    The key server expects to see one of the following commands placed in
  2152.    the subject field. Note that only the ADD command uses the body of the
  2153.    message.
  2154.  
  2155. ADD           Your PGP public key (key to add is body of msg) (-ka)
  2156. INDEX         List all PGP keys the server knows about (-kv)
  2157. VERBOSE INDEX List all PGP keys, verbose format (-kvv)
  2158. GET           Get the whole public key ring (-kxa *), in multiple messages
  2159. GET <userid>  Get just that one key (-kxa <userid>)
  2160. MGET <userid> Get all keys which match regular expression <userid>
  2161. LAST <n>      Get all keys uploaded during last <n> days
  2162.  
  2163.    Note that instead of a user ID, you can also use a key ID. In this
  2164.    case, you should put "0x" in front of it. By using a key ID rather
  2165.    than a user ID, name or e-mail address, you ensure that you get
  2166.    exactly the key you want. Please see question 4.5 for more information
  2167.    on how to use key IDs. Examples for the MGET command:
  2168.  
  2169. MGET michael            Gets all keys which have "michael" in them
  2170. MGET iastate            All keys which contain "iastate"
  2171. MGET bill.*@msn.com     All keys from MSN with usernames starting with "bill"
  2172. MGET E8F605A5|5F3E38F5  Those two keyid's
  2173.  
  2174.    Note that in the MGET command, you don't have to use the "0x" prefix
  2175.    if you want specific keys.
  2176.    
  2177.    One word about regexps: These are not the same as the wildcards Unix
  2178.    shells and MSDOS uses. a * isn't ``match anything'' it means ``match
  2179.    zero or more of the previous character'' like:
  2180.  
  2181.         a.*  matches anything beginning with an a
  2182.         ab*c matches ac, abc, abbc, etc.
  2183.  
  2184.    If you wish to get the entire key ring and have access to FTP, it
  2185.    would be a lot more efficient to use FTP rather than e-mail. Download
  2186.    an entire keyring from ftp://ftp.pgp.net/pub/pgp/keys/README.html
  2187.      _________________________________________________________________
  2188.    
  2189. 9. Bugs
  2190.  
  2191.      9.1 Where do I send bug reports?
  2192.      9.2 What bugs have been found in PGP?
  2193.        
  2194.   9.1 Where do I send bug reports?
  2195.   
  2196.    Bugs related to MIT PGP should be sent to pgp-bugs@mit.edu. You will
  2197.    want to check http://www.mit.edu:8001/people/warlord/pgp-faq.html
  2198.    before reporting a bug to make sure that the bug hasn't been reported
  2199.    already. If it is a serious bug, you should also post it to
  2200.    comp.security.pgp.announce or .tech. Serious bugs are bugs that affect
  2201.    the security of the program, not compile errors or small logic errors.
  2202.    
  2203.    Post all of your bug reports concerning non-MIT versions of PGP to
  2204.    comp.security.pgp.tech, and forward a copy to me for possible
  2205.    inclusion in future releases of the FAQ. Please be aware that the
  2206.    authors of PGP might not acknowledge bug reports sent directly to
  2207.    them. Posting them on USENET will give them the widest possible
  2208.    distribution in the shortest amount of time.
  2209.    
  2210.   9.2 What bugs have been found in PGP?
  2211.   
  2212.    The following list of bugs is limited to version 2.4 and later, and is
  2213.    limited to the most commonly seen and serious bugs. For bugs in
  2214.    earlier versions, refer to the documentation included with the
  2215.    program. If you find a bug not on this list, follow the procedure
  2216.    above for reporting it.
  2217.      * The PGP 2.6.2 sources do not build under Linux/ELF. To build an
  2218.        ELF binary for PGP 2.6.2, two changes to source files 80386.S and
  2219.        zmatch.S are necessary. Both files contain an #ifdef directive
  2220.        that needs to be changed. Change "#ifndef SYSV" to
  2221.        "#if !defined(SYSV) && !defined(__ELF__)" and change "#ifdef SYSV"
  2222.        to
  2223.        "if defined(SYSV) || defined(__ELF__)".
  2224.      * MIT PGP 2.6 had a bug in the key generation process which made
  2225.        keys generated by it much less random. Fixed in 2.6.1.
  2226.      * All versions of PGP except MIT PGP 2.6.2 are susceptible to a
  2227.        "buglet" in clearsigned messages, making it possible to add text
  2228.        to the beginning of a clearsigned message. The added text does not
  2229.        appear in the PGP output after the signature is checked. MIT PGP
  2230.        2.6.2 now does not allow header lines before the text of a
  2231.        clearsigned message and enforces RFC 822 syntax on header lines
  2232.        before the signature. Since this bug appears at checking time,
  2233.        however, you should be aware of this bug even if you use MIT PGP
  2234.        2.6.2 - the reader may check your signed message with a different
  2235.        version and not read the output.
  2236.      * MIT PGP 2.6.1 was supposed to handle keys between 1024 and 2048
  2237.        bits in length, but could not. Fixed in 2.6.2.
  2238.      * MIT PGP 2.6.2 was supposed to enable the generation of keys up to
  2239.        2048 bits after December 25, 1994; a one-off bug puts that upper
  2240.        limit at 2047 bits instead. It has been reported that this problem
  2241.        does not appear when MIT PGP is compiled under certain
  2242.        implementations of Unix. The problem is fixed in versions 2.7.1
  2243.        and 2.6.2i, as well as the Mac versions.
  2244.      * PGP 2.6ui continues to exhibit the bug in 2.3a where
  2245.        conventionally encrypted messages, when encrypted twice with the
  2246.        same pass phrase, produce the same ciphertext.
  2247.      * MIT MacPGP cannot find your secret key when your user ID is not
  2248.        specified, even though it can find the secret keyring. This is due
  2249.        to an uninitialized pointer, which is supposed to point to your
  2250.        user ID. The workaround is simple: edit the configuration file so
  2251.        it has "Myname = "your userid"", and MacPGP will be able to find
  2252.        your secret key. This has been fixed in FatMacPGP 2.6.2 and 2.6.3.
  2253.        See also question 2.13.
  2254.      * ViaCrypt has reported a bug in freeware PGP affecting at least PGP
  2255.        2.3a and MIT PGP 2.6, 2.6.1, and 2.6.2. This bug affects
  2256.        signatures made with keys between 2034 and 2048 bits in length,
  2257.        causing them to be corrupted. Practically speaking, this bug only
  2258.        affects versions of PGP that support the longer key lengths.
  2259.        ViaCrypt reports that this only seems to be a problem when running
  2260.        PGP on a Sun SPARC-based workstation. ViaCrypt PGP 2.7.1 and PGP
  2261.        2.6.2i do not suffer from this bug. The following patch will fix
  2262.        the problem in MIT PGP 2.6.2:
  2263.  
  2264. <===== begin patch (cut here)
  2265. - --- crypto.c.orig     Mon Mar 20 22:30:29 1995
  2266. +++ crypto.c    Mon Mar 20 22:55:32 1995
  2267. @@ -685,7 +685,7 @@
  2268.     byte class, unitptr e, unitptr d, unitptr p, unitptr q, unitptr u,
  2269.                                unitptr n)
  2270.  {
  2271. - -     byte inbuf[MAX_BYTE_PRECISION], outbuf[MAX_BYTE_PRECISION];
  2272. +       byte inbuf[MAX_BYTE_PRECISION], outbuf[MAX_BYTE_PRECISION+2];
  2273.         int i, j, certificate_length, blocksize,bytecount;
  2274.         word16 ske_length;
  2275.         word32 tstamp; byte *timestamp = (byte *) &tstamp;
  2276. <===== end patch (cut here)
  2277.      * The initial release of PGP 2.6.2i contained a bug related to
  2278.        clearsigned messages; signed messages containing international
  2279.        characters would always fail. For that reason, it was immediately
  2280.        pulled from distribution and re-released later, minus the bug. If
  2281.        you have problems with 2.6.2i, make sure you downloaded your copy
  2282.        after 7 May 1995.
  2283.      * As reported by Steven Markowitz <Steven-Markowitz@deshaw.com>, the
  2284.        following bugs exist in PGP 4.0 Business Edition (the commercial
  2285.        version):
  2286.          1. Signature retirement does not work. When I retire a key
  2287.             signature, PGP still treats the key as signed. If I remove
  2288.             the signature from pubring.pgp, but leave the retirement
  2289.             certificate in the keyring, PGP still treats the key as
  2290.             signed.
  2291.          2. Although encrypt-only keys cannot be used to sign documents,
  2292.             PGP allows them to be used to make key signatures.
  2293.      * The international version of PGP has the undocumented
  2294.        "+makerandom" command, which can generate a file full of random
  2295.        data. Unfortunately, it does not work as intended, because the
  2296.        random number generator is not initialized properly. This does not
  2297.        affect normal PGP operation; the bug is only present when
  2298.        "+makerandom" is used.
  2299.      _________________________________________________________________
  2300.    
  2301. 10. Recommended Reading
  2302.  
  2303.   Books on PGP
  2304.   
  2305.    Stallings, William, Protect Your Privacy: A Guide for PGP Users,
  2306.    Prentice Hall, 1995, ISBN 0-13-185596-4. (Current errata at
  2307.    ftp://ftp.shore.net/members/ws/Errata-PGP-mmyy.txt)
  2308.    
  2309.    Garfinkel, Simson, PGP: Pretty Good Privacy, O'Reilly & Associates,
  2310.    1994, ISBN 1-56592-098-8.
  2311.    
  2312.    Schneier, Bruce, E-Mail Security with PGP and PEM: How To Keep Your
  2313.    Electronic Messages Private, John Wiley & Sons, 1995, ISBN
  2314.    0-471-05318-X.
  2315.    
  2316.    Kahn, David, The Code Breakers, The Story of Secret Writing, The
  2317.    MacMillan Publishing Company (1968), ISBN: 0-02-560460-0.
  2318.    
  2319.   Books on cryptography in general
  2320.   
  2321.    Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and
  2322.    Source Code in C, John Wiley & Sons, 1993
  2323.    
  2324.    Dorothy Denning, Cryptography and Data Security, Addison-Wesley,
  2325.    Reading, MA 1982
  2326.    
  2327.    Dorothy Denning, Protecting Public Keys and Signature Keys, IEEE
  2328.    Computer, Feb 1983
  2329.    
  2330.    Martin E. Hellman, The Mathematics of Public-Key Cryptography,
  2331.    Scientific American, Aug 1979
  2332.    
  2333.   PGP- or cryptograph-related articles
  2334.   
  2335.    Steven Levy, Crypto Rebels, WIRED, May/Jun 1993, page 54. (This is a
  2336.    "must-read" article on PGP and other related topics.)
  2337.    
  2338.    Ronald Rivest, The MD5 Message Digest Algorithm, MIT Laboratory for
  2339.    Computer Science, 1991. Available from the net as RFC1321.
  2340.    
  2341.    Xuejia Lai, On the Design and Security of Block Ciphers, Institute for
  2342.    Signal and Information Processing, ETH-Zentrum, Zurich, Switzerland,
  2343.    1992
  2344.    
  2345.    Xuejia Lai, James L. Massey, Sean Murphy, Markov Ciphers and
  2346.    Differential Cryptanalysis, Advances in Cryptology- EUROCRYPT'91
  2347.    
  2348.    Philip Zimmermann, A Proposed Standard Format for RSA Cryptosystems,
  2349.    Advances in Computer Security, Vol III, edited by Rein Turn, Artech
  2350.    House, 1988
  2351.    
  2352.    Paul Wallich, Electronic Envelopes, Scientific American, Feb 1993,
  2353.    page 30. (This is an article on PGP)
  2354.    
  2355.   Usenet newsgroups
  2356.   
  2357.    alt.anonymous
  2358.    alt.privacy.anon-server
  2359.           Discussion of anonymity and anon remailers
  2360.    alt.anonymous.messages
  2361.           For anonymous encrypted message transfer
  2362.    alt.privacy.clipper
  2363.           Clipper, Capstone, Skipjack, Key Escrow
  2364.    alt.security
  2365.           General security discussions
  2366.    comp.security.pgp.announce
  2367.           New PGP versions, utilities, bug reports and such. (Moderated)
  2368.    comp.security.pgp.discuss
  2369.           PGP and its implications.
  2370.    comp.security.pgp.tech
  2371.           Use of PGP, bug reports and help.
  2372.    comp.security.pgp.resources
  2373.           PGP related resources, information and more.
  2374.    alt.security.pgp
  2375.           General discussion of PGP
  2376.    alt.security.ripem
  2377.           Discussion of RIPEM
  2378.    alt.security.keydist
  2379.           Key distribution via Usenet
  2380.    alt.society.civil-liberty
  2381.           General civil liberties, including privacy
  2382.    comp.org.eff.news
  2383.           News reports from the Electronic Frontier Foundation
  2384.    comp.org.eff.talk
  2385.           Discussion of EFF related issues
  2386.    comp.patents
  2387.           Discussion of S/W patents, including RSA
  2388.    comp.risks
  2389.           Some mention of crypto and wiretapping
  2390.    comp.society.privacy
  2391.           General privacy issues
  2392.    comp.security.announce
  2393.           Announcements of security holes
  2394.    misc.legal.computing
  2395.           Software patents, copyrights, computer laws
  2396.    sci.crypt
  2397.           Methods of data encryption/decryption
  2398.    sci.math
  2399.           General math discussion
  2400.    talk.politics.crypto
  2401.           General talk on crypto politics
  2402.      _________________________________________________________________
  2403.    
  2404. 11. General Tips
  2405.  
  2406.   11.1 Are there undocumented features in PGP?
  2407.   
  2408.    Several undocumented command-line switches exist. Peter Simons
  2409.    <simons@petium.rhein.de> has provided a comprehensive list:
  2410.      * The "-i" option will cause PGP to include more information about
  2411.        the file in the encrypted message. With the "-p" option, PGP
  2412.        restores the original filename when you decrypt the message, but
  2413.        if this option is also used, and both sender and recipient are
  2414.        using the same platform, then the original file permissions and
  2415.        timestamp will also be restored.
  2416.      * With the "-l" option PGP gives lots more information about what it
  2417.        is doing. During key generation, for example, you get to see the
  2418.        actual numbers used in your public and secret key.
  2419.      * The "-km" option will display the "web of trust" (see question
  2420.        4.7) in a nested list. This way you can see which key introduces
  2421.        which.
  2422.      * By putting "encrypttoself=on" in your configuration file, all
  2423.        messages that you encrypt will always be encrypted with your own
  2424.        public key as well. This way you will be able to decrypt and read
  2425.        every message you send. This can be useful if you have PGP set up
  2426.        to encrypt every outgoing message, and your "outbox" will keep the
  2427.        encrypted versions. Note: if someone else ever manages to obtain
  2428.        your secret key, he will be able to read every encrypted message
  2429.        you ever sent out, if this option was enabled.
  2430.      * To create a file containing n random bytes, use the "pgp filename
  2431.        +makerandom=n". There is a bug in the international versions of
  2432.        PGP, which results in this random data being a lot less random
  2433.        than normal.
  2434.        
  2435.   11.2 Can I use PGP on a BBS?
  2436.   
  2437.    Some BBS sysops may not permit you to place encrypted mail or files on
  2438.    their boards. Just because they have PGP in their file area, that
  2439.    doesn't necessarily mean they tolerate you uploading encrypted mail or
  2440.    files - so do check first.
  2441.    
  2442.    Fido net mail is even more sensitive. You should only send encrypted
  2443.    net mail after checking that:
  2444.     1. Your sysop permits it.
  2445.     2. Your recipient's sysop permits it.
  2446.     3. The mail is routed through nodes whose sysops also permit it.
  2447.        
  2448.    Get your public key signed by as many individuals as possible. It
  2449.    increases the chances of another person finding a path of trust from
  2450.    himself to you.
  2451.    
  2452.    Don't sign someone's key just because someone else that you know has
  2453.    signed it. Confirm the identity of the individual yourself. Remember,
  2454.    you are putting your reputation on the line when you sign a key.
  2455.    
  2456.    If you have a UNIX shell account, put a copy of your public key in a
  2457.    file called ".plan", so that other people can finger that account and
  2458.    get your public key in the process. See also question 4.8.
  2459.    
  2460.    Also, send your public key to a keyserver. See question 8.1 for
  2461.    details.
  2462.    
  2463.    Whatever method you choose to make your key available, make sure that
  2464.    it's clear for others how to get it. Usually, you just put
  2465.    instructions in your mail and news .signature file (something like
  2466.    "PGP public key available from keyservers" or "Finger me for public
  2467.    key"), or reference to it from your homepage.
  2468.    
  2469.    It's also good practice to include key ID and fingerprint in your
  2470.    .signature. That way, people who want to have your key can be more
  2471.    certain they are actually getting yours, and not some other key with
  2472.    your name on it. And the fingerprint will be an even greater help in
  2473.    this.
  2474.    
  2475.    But this is not proof that the key actually is yours. Remember, the
  2476.    message or post with this .signature can be a forgery.
  2477.    
  2478.    If you have any other tips, please let me know.
  2479.      _________________________________________________________________
  2480.    
  2481.    Last updated: 17 Dec 1997.
  2482.    Copyright (C) 1996 by Arnoud Engelfriet. Comments, additions and
  2483.    suggestions can be sent to <faq-admin@mail.pgp.net>.
  2484.    Generated by Orb v1.3 for OS/2
  2485.    (http://www.cinenet.net/users/cberry/orbinfo.html).
  2486.