home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / pgp-faq / part2 < prev    next >
Internet Message Format  |  1995-06-24  |  56KB

  1. Path: senator-bedfellow.mit.edu!faqserv
  2. From: jalicqui@prairienet.org
  3. Newsgroups: alt.security.pgp,alt.answers,news.answers
  4. Subject: PGP Frequently Asked Questions with Answers, Part 2/3
  5. Supersedes: <pgp-faq/part2_801484722@rtfm.mit.edu>
  6. Followup-To: alt.security.pgp
  7. Date: 23 Jun 1995 12:33:09 GMT
  8. Organization: none
  9. Lines: 1308
  10. Approved: news-answers-request@MIT.EDU
  11. Expires: 17 Jul 1995 12:32:08 GMT
  12. Message-ID: <pgp-faq/part2_803910728@rtfm.mit.edu>
  13. References: <pgp-faq/part1_803910728@rtfm.mit.edu>
  14. Reply-To: jalicqui@prairienet.org
  15. NNTP-Posting-Host: bloom-picayune.mit.edu
  16. Summary: This posting seeks to answer most of the common questions people
  17.          ask about the Pretty Good Privacy (PGP) encryption program.
  18. X-Last-Updated: 1995/06/23
  19. Originator: faqserv@bloom-picayune.MIT.EDU
  20. Xref: senator-bedfellow.mit.edu alt.security.pgp:36815 alt.answers:10167 news.answers:46905
  21.  
  22. Archive-name: pgp-faq/part2
  23. Posting-Frequency: monthly
  24. Last-modified: 22 June 1995
  25.  
  26. -----BEGIN PGP SIGNED MESSAGE-----
  27.  
  28. ========
  29.  
  30. 3. Security Questions
  31.  
  32. ========
  33.  
  34. 3.1. How secure is PGP?
  35.  
  36. The big unknown in any encryption scheme based on RSA is whether or
  37. not there is an efficient way to factor huge numbers, or if there is
  38. some backdoor algorithm that can break the code without solving the
  39. factoring problem. Even if no such algorithm exists, it is still
  40. believed that RSA is the weakest link in the PGP chain.
  41.  
  42. ========
  43.  
  44. 3.2. Can't you break PGP by trying all of the possible keys?
  45.  
  46. This is one of the first questions that people ask when they are first
  47. introduced to cryptography. They do not understand the size of the
  48. problem. For the IDEA encryption scheme, a 128 bit key is required.
  49. Any one of the 2^128 possible combinations would be legal as a key,
  50. and only that one key would successfully decrypt all message blocks.
  51. Let's say that you had developed a special purpose chip that could try
  52. a billion keys per second. This is FAR beyond anything that could
  53. really be developed today. Let's also say that you could afford to
  54. throw a billion such chips at the problem at the same time. It would
  55. still require over 10,000,000,000,000 years to try all of the possible
  56. 128 bit keys. That is something like a thousand times the age of the
  57. known universe! While the speed of computers continues to increase and
  58. their cost decrease at a very rapid pace, it will probably never get
  59. to the point that IDEA could be broken by the brute force attack.
  60.  
  61. The only type of attack that might succeed is one that tries to solve
  62. the problem from a mathematical standpoint by analyzing the
  63. transformations that take place between plain text blocks, and their
  64. cipher text equivalents. IDEA is still a fairly new algorithm, and
  65. work still needs to be done on it as it relates to complexity theory,
  66. but so far, it appears that there is no algorithm much better suited
  67. to solving an IDEA cipher than the brute force attack, which we have
  68. already shown is unworkable. The nonlinear transformation that takes
  69. place in IDEA puts it in a class of extremely difficult to solve
  70. mathmatical problems.
  71.  
  72. ========
  73.  
  74. 3.3. How secure is the conventional cryptography (-c) option?
  75.  
  76. Assuming that you are using a good strong random pass phrase, it is
  77. actually much stronger than the normal mode of encryption because you
  78. have removed RSA which is believed to be the weakest link in the
  79. chain.  Of course, in this mode, you will need to exchange secret keys
  80. ahead of time with each of the recipients using some other secure
  81. method of communication, such as an in- person meeting or trusted
  82. courier.
  83.  
  84. ========
  85.  
  86. 3.4. Can the NSA crack RSA?
  87.  
  88. This question has been asked many times. If the NSA were able to crack
  89. RSA, you would probably never hear about it from them. The best
  90. defense against this is the fact the algorithm for RSA is known
  91. worldwide. There are many competent mathematicians and cryptographers
  92. outside the NSA and there is much research being done in the field
  93. right now. If any of them were to discover a hole in RSA, I'm sure
  94. that we would hear about it from them. I think that it would be hard
  95. to hide such a discovery.  For this reason, when you read messages on
  96. USENET saying that "someone told them" that the NSA is able to break
  97. pgp, take it with a grain of salt and ask for some documentation on
  98. exactly where the information is coming from.
  99.  
  100. ========
  101.  
  102. 3.5. Has RSA ever been cracked publicly?  What is RSA-129?
  103.  
  104. One RSA-encrypted message has been cracked publicly.
  105.  
  106. When the inventors of RSA first published the algorithm, they
  107. encrypted a sample message with it and made it available along with
  108. the public key used to encrypt the message.  They offered $100 to the
  109. first person to provide the plaintext message.  This challenge is
  110. often called "RSA-129" because the public key used was 129 digits,
  111. which translates to approximately 430 bits.
  112.  
  113. Recently, an international team coordinated by Paul Leyland, Derek
  114. Atkins, Arjen Lenstra, and Michael Graff successfully factored the
  115. public key used to encrypt the RSA-129 message and recovered the
  116. plaintext.  The message read:
  117.  
  118.   THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
  119.  
  120. They headed a huge volunteer effort in which work was distributed via
  121. E-mail, fax, and regular mail to workers on the Internet, who
  122. processed their portion and sent the results back.  About 1600
  123. machines took part, with computing power ranging from a fax machine to
  124. Cray supercomputers.  They used the best known factoring algorithm of
  125. the time; better methods have been discovered since then, but the
  126. results are still instructive in the amount of work required to crack
  127. a RSA-encrypted message.
  128.  
  129. The coordinators have estimated that the project took about eight
  130. months of real time and used approximately 5000 MIPS-years of
  131. computing time.  (A MIPS-year is approximately the amount of computing
  132. done by a 1 MIPS [million instructions per second] computer in one
  133. year.)
  134.  
  135. What does all this have to do with PGP?  The RSA-129 key is
  136. approximately equal in security to a 426-bit PGP key.  This has been
  137. shown to be easily crackable by this project.  PGP used to recommend
  138. 384-bit keys as "casual grade" security; recent versions offer 512
  139. bits as a recommended minimum security level.
  140.  
  141. Note that this effort cracked only a single RSA key.  Nothing was
  142. discovered during the course of the experiment to cause any other keys
  143. to become less secure than they had been.
  144.  
  145. For more information on the RSA-129 project, see:
  146.  
  147.   ftp://ftp.ox.ac.uk/pub/math/rsa129/rsa129.ps.gz
  148.  
  149. ========
  150.  
  151. 3.6. How secure is the "for your eyes only" option (-m)?
  152.  
  153. It is not secure at all. There are many ways to defeat it. Probably
  154. the easiest way is to simply redirect your screen output to a file as
  155. follows:
  156.  
  157.     pgp [filename] > [diskfile]
  158.  
  159. The -m option was not intended as a fail-safe option to prevent plain
  160. text files from being generated, but to serve simply as a warning to
  161. the person decrypting the file that he probably shouldn't keep a copy
  162. of the plain text on his system.
  163.  
  164. ========
  165.  
  166. 3.7. What if I forget my pass phrase?
  167.  
  168. In a word: DON'T. If you forget your pass phrase, there is absolutely
  169. no way to recover any encrypted files. I use the following technique:
  170. I have a backup copy of my secret key ring on floppy, along with a
  171. sealed envelope containing the pass phrase. I keep these two items in
  172. separate safe locations, neither of which is my home or office. The
  173. pass phrase used on this backup copy is different from the one that I
  174. normally use on my computer. That way, even if some stumbles onto the
  175. hidden pass phrase and can figure out who it belongs to, it still
  176. doesn't do them any good, because it is not the one required to unlock
  177. the key on my computer.
  178.  
  179. ========
  180.  
  181. 3.8. Why do you use the term "pass phrase" instead of "password"?
  182.  
  183. This is because most people, when asked to choose a password, select
  184. some simple common word. This can be cracked by a program that uses a
  185. dictionary to try out passwords on a system. Since most people really
  186. don't want to select a truly random password, where the letters and
  187. digits are mixed in a nonsense pattern, the term pass phrase is used
  188. to urge people to at least use several unrelated words in sequence as
  189. the pass phrase.
  190.  
  191. ========
  192.  
  193. 3.9. What is the best way to crack PGP?
  194.  
  195. Currently, the best attack possible on PGP is a dictionary attack on
  196. the pass phrase.  This is an attack where a program picks words out of
  197. a dictionary and strings them together in different ways in an attempt
  198. to guess your pass phrase.
  199.  
  200. This is why picking a strong pass phrase is so important.  Many of
  201. these cracker programs are very sophisticated and can take advantage
  202. of language idioms, popular phrases, and rules of grammar in building
  203. their guesses.  Single-word "phrases", proper names (especially famous
  204. ones), or famous quotes are almost always crackable by a program with
  205. any "smarts" in it at all.
  206.  
  207. ========
  208.  
  209. 3.10. If my secret key ring is stolen, can my messages be read?
  210.  
  211. No, not unless they have also stolen your secret pass phrase, or if
  212. your pass phrase is susceptible to a brute-force attack. Neither part
  213. is useful without the other. You should, however, revoke that key and
  214. generate a fresh key pair using a different pass phrase. Before
  215. revoking your old key, you might want to add another user ID that
  216. states what your new key id is so that others can know of your new
  217. address.
  218.  
  219. ========
  220.  
  221. 3.11. How do I choose a pass phrase?
  222.  
  223. All of the security that is available in PGP can be made absolutely
  224. useless if you don't choose a good pass phrase to encrypt your secret
  225. key ring. Too many people use their birthday, their telephone number,
  226. the name of a loved one, or some easy to guess common word.  While
  227. there are a number of suggestions for generating good pass phrases,
  228. the ultimate in security is obtained when the characters of the pass
  229. phrase are chosen completely at random. It may be a little harder to
  230. remember, but the added security is worth it. As an absolute minimum
  231. pass phrase, I would suggest a random combination of at least 8
  232. letters and digits, with 12 being a better choice. With a 12 character
  233. pass phrase made up of the lower case letters a-z plus the digits 0-9,
  234. you have about 62 bits of key, which is 6 bits better than the 56 bit
  235. DES keys. If you wish, you can mix upper and lower case letters in
  236. your pass phrase to cut down the number of characters that are
  237. required to achieve the same level of security. I don't do this myself
  238. because I hate having to manipulate the shift key while entering a
  239. pass phrase.
  240.  
  241. A pass phrase which is composed of ordinary words without punctuation
  242. or special characters is susceptible to a dictionary attack.
  243. Transposing characters or mis-spelling words makes your pass phrase
  244. less vulnerable, but a professional dictionary attack will cater for
  245. this sort of thing.
  246.  
  247. A good treatise on the subject is available which discusses the use of
  248. "shocking nonsense" in pass phrases.  It is written by Grady Ward, and
  249. can be found on Fran Litterio's crypto page:
  250.  
  251.   http://draco.centerline.com:8080/~franl/pgp/pgp-passphrase-faq.html
  252.  
  253. ========
  254.  
  255. 3.12. How do I remember my pass phrase?
  256.  
  257. This can be quite a problem especially if you are like me and have
  258. about a dozen different pass phrases that are required in your
  259. everyday life. Writing them down someplace so that you can remember
  260. them would defeat the whole purpose of pass phrases in the first
  261. place. There is really no good way around this. Either remember it, or
  262. write it down someplace and risk having it compromised.
  263.  
  264. ========
  265.  
  266. 3.13. How do I verify that my copy of PGP has not been tampered with?
  267.  
  268. If you do not presently own any copy of PGP, use great care on where
  269. you obtain your first copy. What I would suggest is that you get two
  270. or more copies from different sources that you feel that you can
  271. trust. Compare the copies to see if they are absolutely identical.
  272. This won't eliminate the possibility of having a bad copy, but it will
  273. greatly reduce the chances.
  274.  
  275. If you already own a trusted version of PGP, it is easy to check the
  276. validity of any future version.  Newer binary versions of MIT PGP are
  277. distributed in popular archive formats; the archive file you receive
  278. will contain only another archive file, a file with the same name as
  279. the archive file with the extension .ASC, and a "setup.doc" file.  The
  280. .ASC file is a stand-alone signature file for the inner archive file
  281. that was created by the developer in charge of that particular PGP
  282. distribution.  Since nobody except the developer has access to his/her
  283. secret key, nobody can tamper with the archive file without it being
  284. detected.  Of course, the inner archive file contains the newer PGP
  285. distribution.
  286.  
  287. A quick note: If you upgrade to MIT PGP from an older copy (2.3a or
  288. before), you may have problems verifying the signature.  See question
  289. 3.14, below, for a more detailed treatment of this problem.
  290.  
  291. To check the signature, you must use your old version of PGP to check
  292. the archive file containing the new version.  If your old version of
  293. PGP is in a directory called C:\PGP and your new archive file and
  294. signature is in C:\NEW (and you have retrieved MIT PGP 2.6.2), you may
  295. execute the following command:
  296.  
  297.     C:\PGP\PGP C:\NEW\PGP262I.ASC C:\NEW\PGP262I.ZIP
  298.  
  299. If you retrieve the source distribution of MIT PGP, you will find two
  300. more files in your distribution: an archive file for the RSAREF
  301. library and a signature file for RSAREF.  You can verify the RSAREF
  302. library in the same way as you verify the main PGP source archive.
  303.  
  304. Non-MIT versions typically include a signature file for the PGP.EXE
  305. program file only.  This file will usually be called PGPSIG.ASC.  You
  306. can check the integrity of the program itself this way by running your
  307. older version of PGP on the new version's signature file and program
  308. file.
  309.  
  310. Phil Zimmermann himself signed all versions of PGP up to 2.3a.  Since
  311. then, the primary developers for each of the different versions of PGP
  312. have signed their distributions.  As of this writing, the developers
  313. whose signatures appear on the distributions are:
  314.  
  315. MIT PGP 2.6.2                Jeff Schiller <jis@mit.edu>
  316. ViaCrypt PGP 2.7.1           ViaCrypt
  317. PGP 2.6.2i                   Stale Schumacher <staalesc@ifi.uio.no>
  318. PGP 2.6ui                    mathew <mathew@mantis.co.uk>
  319.  
  320. ========
  321.  
  322. 3.14. I can't verify the signature on my new copy of MIT PGP with my
  323. old PGP 2.3a!
  324.  
  325. The reason for this, of course, is that the signatures generated by
  326. MIT PGP (which is what Jeff Schiller uses to sign his copy) are no
  327. longer readable with PGP 2.3a.
  328.  
  329. You may, first of all, not verify the signature and follow other
  330. methods for making sure you aren't getting a bad copy.  This isn't as
  331. secure, though; if you're not careful, you could get passed a bad copy
  332. of PGP.
  333.  
  334. If you're intent on checking the signature, you may do an intermediate
  335. upgrade to MIT PGP 2.6.  This older version was signed before the
  336. "time bomb" took effect, so its signature is readable by the older
  337. versions of PGP.  Once you have validated the signature on the
  338. intermediate version, you can then use that version to check the
  339. current version.
  340.  
  341. As another alternative, you may upgrade to PGP 2.6.2i or 2.6ui,
  342. checking their signatures with 2.3a, and use them to check the
  343. signature on the newer version.  People living in the USA who do this
  344. may be violating the RSA patent in doing so; then again, you may have
  345. been violating it anyway by using 2.3a, so you're not in much worse
  346. shape.
  347.  
  348. ========
  349.  
  350. 3.15. How do I know that there is no trap door in the program?
  351.  
  352. The fact that the entire source code for the free versions of PGP is
  353. available makes it just about impossible for there to be some hidden
  354. trap door. The source code has been examined by countless individuals
  355. and no such trap door has been found. To make sure that your
  356. executable file actually represents the given source code, all you
  357. need to do is to re-compile the entire program.
  358.  
  359. ========
  360.  
  361. 3.16. I heard that the NSA put a back door in MIT PGP, and that they
  362. only allowed it to be legal with the back door.
  363.  
  364. First of all, the NSA had nothing to do with PGP becoming "legal".
  365. The legality problems solved by MIT PGP had to do with the alleged
  366. patent on the RSA algorithm used in PGP.
  367.  
  368. Second, all the freeware versions of PGP are released with full source
  369. code to both PGP and to the RSAREF library they use (just as every
  370. other freeware version before them were).  Thus, it is subject to the
  371. same peer review mentioned in the question above.  If there were an
  372. intentional hole, it would probably be spotted.  If you're really
  373. paranoid, you can read the code yourself and look for holes!
  374.  
  375. ========
  376.  
  377. 3.17. Can I put PGP on a multi-user system like a network or a
  378. mainframe?
  379.  
  380. Yes.  PGP will compile for several high-end operating systems such as
  381. Unix and VMS.  Other versions may easily be used on machines connected
  382. to a network.
  383.  
  384. You should be very careful, however.  Your pass phrase may be passed
  385. over the network in the clear where it could be intercepted by network
  386. monitoring equipment, or the operator on a multi-user machine may
  387. install "keyboard sniffers" to record your pass phrase as you type it
  388. in. Also, while it is being used by PGP on the host system, it could
  389. be caught by some Trojan Horse program.  Also, even though your secret
  390. key ring is encrypted, it would not be good practice to leave it lying
  391. around for anyone else to look at.
  392.  
  393. So why distribute PGP with directions for making it on Unix and VMS
  394. machines at all?  The simple answer is that not all Unix and VMS
  395. machines are network servers or "mainframes."  If you use your machine
  396. only from the console (or if you use some network encryption package
  397. such as Kerberos), you are the only user, you take reasonable system
  398. security measures to prevent unauthorized access, and you are aware of
  399. the risks above, you can securely use PGP on one of these systems.  As
  400. an example of this, my own home computer runs Linux, a Unix clone.  As
  401. I (and my wife) are the only users of the computer, I feel that the
  402. risks of crackers invading my system and stealing my pass phrase are
  403. minimal.
  404.  
  405. You can still use PGP on multi-user systems or networks without a
  406. secret key for checking signatures and encrypting.  As long as you
  407. don't process a private key or type a pass phrase on the multiuser
  408. system, you can use PGP securely there.
  409.  
  410. ========
  411.  
  412. 3.18. Can I use PGP under a "swapping" operating system like Windows
  413. or OS/2?
  414.  
  415. Yes.  PGP for DOS runs OK in most "DOS windows" for these systems, and
  416. PGP can be built natively for many of them as well.
  417.  
  418. The problem with using PGP on a system that swaps is that the system
  419. will often swap PGP out to disk while it is processing your pass
  420. phrase.  If this happens at the right time, your pass phrase could end
  421. up in cleartext in your swap file.  How easy it is to swap "at the
  422. right time" depends on the operating system; Windows reportedly swaps
  423. the pass phrase to disk quite regularly, though it is also one of the
  424. most inefficient systems.  PGP does make every attempt to not keep the
  425. pass phrase in memory by "wiping" memory used to hold the pass phrase
  426. before freeing it, but this solution isn't perfect.
  427.  
  428. If you have reason to be concerned about this, you might consider
  429. getting a swapfile wiping utility to securely erase any trace of the
  430. pass phrase once you are done with the system.  Several such utilities
  431. exist for Windows and Linux at least.
  432.  
  433. ========
  434.  
  435. 3.19. Why not use RSA alone rather than a hybrid mix of IDEA, MD5, &
  436. RSA?
  437.  
  438. Two reasons: First, the IDEA encryption algorithm used in PGP is
  439. actually MUCH stronger than RSA given the same key length.  Even with
  440. a 1024 bit RSA key, it is believed that IDEA encryption is still
  441. stronger, and, since a chain is no stronger than its weakest link, it
  442. is believed that RSA is actually the weakest part of the RSA - IDEA
  443. approach. Second, RSA encryption is MUCH slower than IDEA. The only
  444. purpose of RSA in most public key schemes is for the transfer of
  445. session keys to be used in the conventional secret key algorithm, or
  446. to encode signatures.
  447.  
  448. ========
  449.  
  450. 3.20. Aren't all of these security procedures a little paranoid?
  451.  
  452. That all depends on how much your privacy means to you! Even apart
  453. from the government, there are many people out there who would just
  454. love to read your private mail. And many of these individuals would be
  455. willing to go to great lengths to compromise your mail. Look at the
  456. amount of work that has been put into some of the virus programs that
  457. have found their way into various computer systems. Even when it
  458. doesn't involve money, some people are obsessed with breaking into
  459. systems.
  460.  
  461. In addition, don't forget that private keys are useful for more than
  462. decrypting.  Someone with your private key can also sign items that
  463. could later prove to be difficult to deny.  Keeping your private key
  464. secure can prevent, at the least, a bit of embarassment, and at most
  465. could prevent charges of fraud or breach of contract.
  466.  
  467. Besides, many of the above procedures are also effective against some
  468. common indirect attacks.  As an example, the digital signature also
  469. serves as an effective integrity check of the file signed; thus,
  470. checking the signature on new copies of PGP ensures that your computer
  471. will not get a virus through PGP (unless, of course, the PGP version
  472. developer contracts a virus and infects PGP before signing).
  473.  
  474. ========
  475.  
  476. 3.21. Can I be forced to reveal my pass phrase in any legal
  477. proceedings?
  478.  
  479. Gary Edstrom reported the following in earlier versions of this FAQ:
  480.  
  481. - -----
  482. The following information applies only to citizens of the United
  483. States in U.S. Courts.  The laws in other countries may vary.  Please
  484. see the disclaimer at the top of part 1.
  485.  
  486. There have been several threads on Internet concerning the question of
  487. whether or not the fifth amendment right about not being forced to
  488. give testimony against yourself can be applied to the subject of being
  489. forced to reveal your pass phrase.  Not wanting to settle for the many
  490. conflicting opinions of armchair lawyers on usenet, I asked for input
  491. from individuals who were more qualified in the area.  The results
  492. were somewhat mixed.  There apparently has NOT been much case history
  493. to set precedence in this area.  So if you find yourself in this
  494. situation, you should be prepared for a long and costly legal fight on
  495. the matter.  Do you have the time and money for such a fight?  Also
  496. remember that judges have great freedom in the use of "Contempt of
  497. Court".  They might choose to lock you up until you decide to reveal
  498. the pass phrase and it could take your lawyer some time to get you
  499. out.  (If only you just had a poor memory!)
  500. - -----
  501.  
  502. ========
  503.  
  504. 4. Keys
  505.  
  506. ========
  507.  
  508. 4.1.  Which key size should I use?
  509.  
  510. PGP gives you three choices for key size: 512, 768, or 1024 bits.  You
  511. can also specify the number of bits your key should have if you don't
  512. like any of those numbers.  The larger the key, the more secure the
  513. RSA portion of the encryption is. The only place where the key size
  514. makes a large change in the running time of the program is during key
  515. generation. A 1024 bit key can take 8 times longer to generate than a
  516. 384 bit key. Fortunately, this is a one time process that doesn't need
  517. to be repeated unless you wish to generate another key pair. During
  518. encryption, only the RSA portion of the encryption process is affected
  519. by key size. The RSA portion is only used for encrypting the session
  520. key used by the IDEA. The main body of the message is totally
  521. unaffected by the choice of RSA key size. So unless you have a very
  522. good reason for doing otherwise, select the 1024 bit key size.  Using
  523. currently available algorithms for factoring, the 384 and 512 bit keys
  524. are just not far enough out of reach to be good choices.
  525.  
  526. If you are using MIT PGP 2.6.2, ViaCrypt PGP 2.7.1, or PGP 2.6.2i, you
  527. can specify key sizes greater than 1024 bits; the upper limit for
  528. these programs is 2048 bits.  Remember that you have to tell PGP how
  529. big you want your key if you want it to be bigger than 1024 bits.
  530. Generating a key this long will take you quite a while; however, this
  531. is, as noted above, a one-time process.  Remember that other people
  532. running other versions of PGP may not be able to handle your large
  533. key!
  534.  
  535. ========
  536.  
  537. 4.2. Why does PGP take so long to add new keys to my key ring?
  538.  
  539. The time required to check signatures and add keys to your public key
  540. ring tends to grow as the square of the size of your existing public
  541. key ring. This can reach extreme proportions. 
  542.  
  543. Gary Edstrom remarked (a long time ago):
  544.  
  545. I just recently added the entire 850KB public key ring form one of the
  546. key servers to my local public key ring. Even on my 66MHz 486 system,
  547. the process took over 10 hours.
  548.  
  549. ========
  550.  
  551. 4.3. How can I extract multiple keys into a single armored file?
  552.  
  553. A number of people have more than one public key that they would like
  554. to make available. One way of doing this is executing the "-kxa"
  555. command for each key you wish to extract from the key ring into
  556. separate armored files, then appending all the individual files into a
  557. single long file with multiple armored blocks. This is not as
  558. convenient as having all of your keys in a single armored block.
  559.  
  560. Unfortunately, the present version of PGP does not allow you to do
  561. this directly. Fortunately, there is an indirect way to do it.
  562.  
  563. I would like to thank Robert Joop <rj@rainbow.in-berlin.de> for
  564. supplying the following method which is simpler than the method that I
  565. had previously given.
  566.  
  567. solution 1:
  568.  
  569. pgp -kxaf uid1 >  extract
  570. pgp -kxaf uid2 >> extract
  571. pgp -kxaf uid3 >> extract
  572.  
  573. Someone who does a `pgp extract` processes the individual keys, one by
  574. one. that's inconvinient.
  575.  
  576. solution 2:
  577.  
  578. pgp -kx uid1 extract
  579. pgp -kx uid2 extract
  580. pgp -kx uid3 extract
  581.  
  582. This puts all three keys into extract.pgp. To get an ascii amored
  583. file, call:
  584.  
  585. pgp -a extract.pgp
  586.  
  587. You get an extract.asc. Someone who does a `pgp extract` and has
  588. either file processes all three keys simultaneously.
  589.  
  590. A Unix script to perform the extraction with a single command would be
  591. as follows:
  592.  
  593.   #!/bin/csh
  594.   foreach name (name1 name2 name3 ...)
  595.   pgp -kx $name /tmp/keys.pgp <keyring>
  596.   end
  597.  
  598. or:
  599.  
  600.   #!/bin/sh
  601.   for name in name1 name2 name3 ... ; do
  602.   pgp -kx $name /tmp/keys.pgp <keyring>
  603.   end
  604.  
  605. An equivalent DOS command would be:
  606.  
  607.   for %a in (name1 name2 name3 ...) do pgp -kx %a keys.pgp <keyring>
  608.  
  609. ========
  610.  
  611. 4.4. I tried encrypting the same message to the same address two
  612. different times and got completely different outputs. Why is this?
  613.  
  614. Every time you run PGP, a different session key is generated. This
  615. session key is used as the key for IDEA. As a result, the entire
  616. header and body of the message changes. You will never see the same
  617. output twice, no matter how many times you encrypt the same message to
  618. the same address.  This adds to the overall security of PGP.
  619.  
  620. ========
  621.  
  622. 4.5.  How do I specify which key to use when an individual has 2 or
  623. more public keys and the very same user ID on each, or when 2
  624. different users have the same name?
  625.  
  626. Instead of specifying the user's name in the ID field of the PGP
  627. command, you can use the key ID number. The format is 0xNNNNNNNN where
  628. NNNNNNNN is the user's 8 character key ID number. It should be noted
  629. that you don't need to enter the entire ID number, a few consecutive
  630. digits from anywhere in the ID should do the trick.  Be careful: If
  631. you enter "0x123", you will be matching key IDs 0x12393764,
  632. 0x64931237, or 0x96412373.  Any key ID that contains "123" anywhere in
  633. it will produce a match.  They don't need to be the starting
  634. characters of the key ID.  You will recognize that this is the format
  635. for entering hex numbers in the C programming language. For example,
  636. any of the following commands could be used to encrypt a file to my
  637. work key:
  638.  
  639.     pgp -e <filename> "Jeff Licquia"
  640.     pgp -e <filename> licquia@cei.com
  641.     pgp -e <filename> 0xCF45DD0D
  642.  
  643. This same method of key identification can be used in the config.txt
  644. file in the "MyName" variable to specify exactly which of the keys in
  645. the secret key ring should be used for encrypting a message.
  646.  
  647. ========
  648.  
  649. 4.6. What does the message "Unknown signator, can't be checked" mean?
  650.  
  651. It means that the key used to create that signature does not exist in
  652. your database. If at sometime in the future, you happen to add that
  653. key to your database, then the signature line will read normally. It
  654. is completely harmless to leave these non-checkable signatures in your
  655. database. They neither add to nor take away from the validity of the
  656. key in question.
  657.  
  658. ========
  659.  
  660. 4.7.  How do I get PGP to display the trust parameters on a key?
  661.  
  662. You can only do this when you run the -kc option by itself on the
  663. entire database. The parameters will NOT be shown if you give a
  664. specific ID on the command line. The correct command is: "pgp -kc".
  665. The command "pgp -kc smith" will NOT show the trust parameters for
  666. smith.
  667.  
  668. ========
  669.  
  670. 4.8.  How can I make my key available via finger?
  671.  
  672. The first step is always to extract the key to an ASCII-armored text
  673. file with "pgp -kxa".  After that, it depends on what type of computer
  674. you want your key to be available on.  Check the documentation for
  675. that computer and/or its networking software.
  676.  
  677. Many computers running a Unix flavor will read information to be
  678. displayed via finger from a file in each user's home directory called
  679. ".plan".  If your computer supports this, you can put your public key
  680. in this file.  Ask your system administrator is you have problems with
  681. this.
  682.  
  683. ========
  684.  
  685. 5.   Message Signatures
  686.  
  687. ========
  688.  
  689. 5.1. What is message signing?
  690.  
  691. Let's imagine that you received a letter in the mail from someone you know
  692. named John Smith. How do you know that John was really the person who sent
  693. you the letter and that someone else simply forged his name? With PGP, it is
  694. possible to apply a digital signature to a message that is impossible to
  695. forge. If you already have a trusted copy of John's public encryption key,
  696. you can use it  to check the signature on the message. It would be impossible
  697. for anybody but John to have created the signature, since he is the only
  698. person with access to the secret key necessary to create the signature. In
  699. addition, if anybody has tampered with an otherwise valid message, the
  700. digital signature will detect the fact. It protects the entire message.
  701.  
  702. ========
  703.  
  704. 5.2. How do I sign a message while still leaving it readable?
  705.  
  706. Sometimes you are not interested in keeping the contents of a message
  707. secret, you only want to make sure that nobody tampers with it, and to
  708. allow others to verify that the message is really from you. For this,
  709. you can use clear signing. Clear signing only works on text files, it
  710. will NOT work on binary files. The command format is:
  711.  
  712.     pgp -sat +clearsig=on <filename>
  713.  
  714. The output file will contain your original unmodified text, along with
  715. section headers and an armored PGP signature. In this case, PGP is not
  716. required to read the file, only to verify the signature.
  717.  
  718. ========
  719.  
  720. 5.3.  Can't you just forge a signature by copying the signature block
  721.       to another message?
  722.  
  723. No.  The reason for this is that the signature contains information
  724. (called a "message digest" or a "one-way hash") about the message it's
  725. signing.  When the signature check is made, the message digest from
  726. the message is calculated and compared with the one stored in the
  727. encrypted signature block.  If they don't match, PGP reports that the
  728. signature is bad.
  729.  
  730. ========
  731.  
  732. 5.4. Are PGP signatures legally binding?
  733.  
  734. It's still too early to tell.  At least one company is using PGP
  735. digital signatures on contracts to provide "quick agreement" via
  736. E-mail, allowing work to proceed without having to wait for the paper
  737. signature.  Two USA states (Utah and Wyoming) have passed laws
  738. recently giving digital signatures binding force for certain kinds of
  739. transactions.  The Wyoming law is available from:
  740.  
  741. gopher://ferret.state.wy.us/00/wgov/lb/1995session/BILLS/1995/1995enr/
  742.   House_Bills/HEA0072
  743.  
  744. (whew!)
  745.  
  746. This non-lawyerly mind sees two questions which need to be considered.
  747. First, a "signature" is nothing more than an agreement to a contract;
  748. verbal "signatures" have been upheld before in court.  It would seem
  749. that, if such a dispute were to arise, that a valid digital signature
  750. could be seen as evidence that such an agreement was made.  Second,
  751. PGP keys are much easier to compromise than a person's handwritten
  752. signature, so their evidential value will by necessity be less.
  753.  
  754. ========
  755.  
  756. 6.   Key Signatures
  757.  
  758. ========
  759.  
  760. 6.1. What is key signing?
  761.  
  762. OK, you just got a copy of John Smith's public encryption key. How do
  763. you know that the key really belongs to John Smith and not to some
  764. impostor? The answer to this is key signatures. They are similar to
  765. message signatures in that they can't be forged. Let's say that you
  766. don't know that you have John Smith's real key. But let's say that you
  767. DO have a trusted key from Joe Blow. Let's say that you trust Joe Blow
  768. and that he has added his signature to John Smith's key. By inference,
  769. you can now trust that you have a valid copy of John Smith's key. That
  770. is what key signing is all about. This chain of trust can be carried
  771. to several levels, such as A trusts B who trusts C who trusts D,
  772. therefore A can trust D. You have control in the PGP configuration
  773. file over exactly how many levels this chain of trust is allowed to
  774. proceed. Be careful about keys that are several levels removed from
  775. your immediate trust.
  776.  
  777. ========
  778.  
  779. 6.2. How do I sign a key?
  780.  
  781. Execute the following command from the command prompt:
  782.  
  783.     PGP -ks [-u yourid] <keyid>
  784.  
  785. This adds your signature (signed with the private key for yourid, if
  786. you specify it) to the key identified with keyid.  If keyid is a user
  787. ID, you will sign that particular user ID; otherwise, you will sign
  788. the default user ID on that key (the first one you see when you list
  789. the key with "pgp -kv <keyid>").
  790.  
  791. Next, you should extract a copy of this updated key along with its
  792. signatures using the "-kxa" option. An armored text file will be
  793. created. Give this file to the owner of the key so that he may
  794. propagate the new signature to whomever he chooses.
  795.  
  796. Be very careful with your secret keyring.  Never be tempted to put a
  797. copy in somebody else's machine so you can sign their public key -
  798. they could have modified PGP to copy your secret key and grab your
  799. pass phrase.
  800.  
  801. It is not considered proper to send his updated key to a key server
  802. yourself unless he has given you explicit permission to do so. After
  803. all, he may not wish to have his key appear on a public server.  By
  804. the same token, you should expect that any key that you give out will
  805. probably find its way onto the public key servers, even if you really
  806. didn't want it there, since anyone having your public key can upload
  807. it.
  808.  
  809. ========
  810.  
  811. 6.3. Should I sign my own key?
  812.  
  813. Yes, you should sign each personal ID on your key. This will help to
  814. prevent anyone from placing a phony address in the ID field of the key
  815. and possibly having your mail diverted to them.  Anyone adding or
  816. changing a user id on your key will be unable to sign the entry,
  817. making it stand out like a sore thumb since all of the other entries
  818. are signed.  Do this even if you are the only person signing your key.
  819. For example, my entry in the public key ring now appears as follows if
  820. you use the "-kvv" command:
  821.  
  822. Type bits/keyID    Date       User ID
  823. pub  1024/0353E385 1994/06/17 Jeff Licquia <jalicqui@prairienet.org>
  824. sig       0353E385             Jeff Licquia <jalicqui@prairienet.org>
  825.  
  826. ========
  827.  
  828. 6.4.  Should I sign X's key?
  829.  
  830. Signing someone's key is your indication to the world that you believe
  831. that key to rightfully belong to that person, and that person is who
  832. he purports to be.  Other people may rely on your signature to decide
  833. whether or not a key is valid, so you should not sign capriciously.
  834.  
  835. Some countries require respected professionals such as doctors or
  836. engineers to endorse passport photographs as proof of identity for a
  837. passport application - you should consider signing someone's key in
  838. the same light. Alternatively, when you come to sign someone's key,
  839. ask yourself if you would be prepared to swear in a court of law as to
  840. that person's identity.
  841.  
  842. Remember that signing a person's key says nothing about whether you
  843. actually like or trust that person or approve of his/her actions.
  844. It's just like someone pointing to someone else at a party and saying,
  845. "Yeah, that's Joe Blow over there."  Joe Blow may be an ax murderer;
  846. you don't become tainted with his crime just because you can pick him
  847. out of a crowd.
  848.  
  849. ========
  850.  
  851. 6.5. How do I verify someone's identity?
  852.  
  853. It all depends on how well you know them.  Relatives, friends and
  854. colleagues are easy.  People you meet at conventions or key-signing
  855. sessions require some proof like a driver's license or credit card.
  856.  
  857. ========
  858.  
  859. 6.6. How do I know someone hasn't sent me a bogus key to sign?
  860.  
  861. It is very easy for someone to generate a key with a false ID and send
  862. e-mail with fraudulent headers, or for a node which routes the e-mail
  863. to you to substitute a different key.  Finger servers are harder to
  864. tamper with, but not impossible.  The problem is that while public key
  865. exchange does not require a secure channel (eavesdropping is not a
  866. problem) it does require a tamper-proof channel (key-substitution is a
  867. problem).
  868.  
  869. If it is a key from someone you know well and whose voice you
  870. recognize then it is sufficient to give them a phone call and have
  871. them read their key's fingerprint (obtained with PGP -kvc <userid>).
  872.  
  873. If you don't know the person very well then the only recourse is to
  874. exchange keys face-to-face and ask for some proof of identity.  Don't
  875. be tempted to put your public key disk in their machine so they can
  876. add their key - they could maliciously replace your key at the same
  877. time.  If the user ID includes an e-mail address, verify that address
  878. by exchanging an agreed encrypted message before signing.  Don't sign
  879. any user IDs on that key except those you have verified.
  880.  
  881. ========
  882.  
  883. 6.7. What's a key signing party?
  884.  
  885. A key signing party is a get-together with various other users of PGP
  886. for the purpose of meeting and signing keys.  This helps to extend the
  887. "web of trust" to a great degree.
  888.  
  889. ========
  890.  
  891. 6.8. How do I organize a key signing party?
  892.  
  893. Though the idea is simple, actually doing it is a bit complex, because
  894. you don't want to compromise other people's private keys or spread
  895. viruses (which is a risk whenever floppies are swapped willy-nilly).
  896. Usually, these parties involve meeting everyone at the party,
  897. verifying their identity and getting key fingerprints from them, and
  898. signing their key at home.
  899.  
  900. Derek Atkins <warlord@mit.edu> has recommended this method:
  901.  
  902. - -----
  903.    There are many ways to hold a key-signing session. Many viable
  904.    suggestions have been given. And, just to add more signal to this
  905.    newsgroup, I will suggest another one which seems to work very well
  906.    and also solves the N-squared problem of distributing and signing
  907.    keys. Here is the process:
  908.    
  909.     1. You announce the keysinging session, and ask everyone who plans to
  910.        come to send you (or some single person who *will* be there) their
  911.        public key. The RSVP also allows for a count of the number of
  912.        people for step 3.
  913.        
  914.     2. You compile the public keys into a single keyring, run "pgp -kvc"
  915.        on that keyring, and save the output to a file.
  916.        
  917.     3. Print out N copies of the "pgp -kvc" file onto hardcopy, and bring
  918.        this and the keyring on media to the meeting.
  919.        
  920.     4. At the meeting, distribute the printouts, and provide a site to
  921.        retreive the keyring (an ftp site works, or you can make floppy
  922.        copies, or whatever -- it doesn't matter).
  923.        
  924.     5. When you are all in the room, each person stands up, and people
  925.        vouch for this person (e.g., "Yes, this really is Derek Atkins --
  926.        I went to school with him for 6 years, and lived with him for 2").
  927.        
  928.     6. Each person securely obtains their own fingerprint, and after
  929.        being vouched for, they then read out their fingerprint out loud
  930.        so everyone can verify it on the printout they have.
  931.        
  932.     7. After everyone finishes this protocol, they can go home, obtain
  933.        the keyring, run "pgp -kvc" on it themselves, and re-verify the
  934.        bits, and sign the keys at their own leisure.
  935.        
  936.     8. To save load on the keyservers, you can optionally send all
  937.        signatures to the original person, who can coalate them again into
  938.        a single keyring and propagate that single keyring to the
  939.        keyservers and to each individual.
  940.        
  941.    This seems to work well -- it worked well at the IETF meeting last
  942.    month in Toronto, and I plan to try it at future dates.
  943. - -----
  944.  
  945. ========
  946.  
  947. 7.   Revoking a key
  948.  
  949. ========
  950.  
  951. 7.1. My secret key ring has been stolen or lost, what do I do?
  952.  
  953. Assuming that you selected a good solid random pass phrase to encrypt
  954. your secret key ring, you are probably still safe. It takes two parts
  955. to decrypt a message, the secret key ring, and its pass phrase.
  956. Assuming you have a backup copy of your secret key ring, you should
  957. generate a key revocation certificate and upload the revocation to one
  958. of the public key servers. Prior to uploading the revocation
  959. certificate, you might add a new ID to the old key that tells what
  960. your new key ID will be. If you don't have a backup copy of your
  961. secret key ring, then it will be impossible to create a revocation
  962. certificate under the present version of PGP. This is another good
  963. reason for keeping a backup copy of your secret key ring.
  964.  
  965. ========
  966.  
  967. 7.2. I forgot my pass phrase. Can I create a key revocation certificate?
  968.  
  969. YOU CAN'T, since the pass phrase is required to create the
  970. certificate!
  971.  
  972. The way to avoid this dilemma is to create a key revocation
  973. certificate at the same time that you generate your key pair.  Put the
  974. revocation certificate away in a safe place and you will have it
  975. available should the need arise. You need to be careful how you do
  976. this, however, or you will end up revoking the key pair that you just
  977. generated, and a revocation can't be reversed.
  978.  
  979. To do this, extract your public key to an ASCII file (using the "-kxa"
  980. option) after you have generated your key pair. Next, create a key
  981. revocation certificate and extract the revoked key to another ASCII
  982. file using the -kxa option again. Finally, delete the revoked key from
  983. your public key ring using the - kr option and put your non-revoked
  984. version back in the ring using the -ka option. Save the revocation
  985. certificate on a floppy so that you don't lose it if you crash your
  986. hard disk sometime.
  987.  
  988. ========
  989.  
  990. 8.   Public Key Servers
  991.  
  992. ========
  993.  
  994. 8.1. What are the Public Key Servers?
  995.  
  996. Public Key Servers exist for the purpose of making your public key
  997. available in a common database where everybody can have access to it
  998. for the purpose of encrypting messages to you. While a number of key
  999. servers exist, it is only necessary to send your key to one of them.
  1000. The key server will take care of the job of sending your key to all
  1001. other known servers.
  1002.  
  1003. Very recently, the number of keys reported on the key servers passed
  1004. 10,000.
  1005.  
  1006. ========
  1007.  
  1008. 8.2. What public key servers are available?
  1009.  
  1010. The following is a list of all of the known public key servers active
  1011. as of the publication date of this FAQ.  Any changes to this list
  1012. should be posted to alt.security.pgp and a copy forwarded to me for
  1013. inclusion in future releases of the alt.security.pgp FAQ.
  1014.  
  1015. Sites accessible via mail:
  1016.  
  1017.     pgp-public-keys@pgp.mit.edu
  1018.     Derek Atkins <warlord@mit.edu>
  1019.  
  1020.     pgp-public-keys@pgp.iastate.edu
  1021.     Michael Graff <explorer@iastate.edu>
  1022.  
  1023.     pgp-public-keys@burn.ucsd.edu
  1024.     Andy Howard <ahoward@ucsd.edu>
  1025.  
  1026.     pgp-public-keys@fbihh.informatik.uni-hamburg.de
  1027.     Vesselin V. Bontchev <bontchev@fbihh.informatik.uni-hamburg.de>
  1028.  
  1029.     public-key-server@martigny.ai.mit.edu
  1030.     Brian A. LaMacchia <public-key-server-request@martigny.ai.mit.edu>
  1031.  
  1032.     pgp-public-keys@pgp.ox.ac.uk
  1033.     Paul Leyland <pcl@ox.ac.uk>
  1034.  
  1035.     pgp-public-keys@dsi.unimi.it
  1036.     David Vincenzetti <vince@dsi.unimi.it>
  1037.  
  1038.     pgp-public-keys@kub.nl
  1039.     Teun Nijssen <teun@kub.nl>
  1040.  
  1041.     pgp-public-keys@ext221.sra.co.jp
  1042.     Hironobu Suzuki <hironobu@sra.co.jp>
  1043.  
  1044.     pgp-public-keys@sw.oz.au
  1045.     Jeremy Fitzhardinge <jeremy@sw.oz.au>
  1046.  
  1047.     pgp-public-keys@kiae.su
  1048.     <blaster@rd.relcom.msk.su>
  1049.  
  1050.     pgp-public-keys@srce.hr
  1051.     Cedomir Igaly <cigaly@srce.hr>
  1052.  
  1053.     pgp-public-keys@pgp.pipex.net
  1054.     Mark Turner <markt@pipex.net>
  1055.  
  1056.     pgp-public-keys@goliat.upc.es
  1057.     Alvar Vinacua <alvar@turing.upc.es>
  1058.  
  1059.     pgp-public-keys@gondolin.org
  1060.     <pgp-admin@gondolin.org>
  1061.  
  1062. Sites accessible via WWW:
  1063.  
  1064.     http://martigny.ai.mit.edu/~bal/pks-toplev.html
  1065.     http://ibd.ar.com/PublicKeys.html
  1066.  
  1067. Key server keyrings accessible via FTP:
  1068.  
  1069.     ftp://pgp.iastate.edu/pub/pgp/public-keys.pgp
  1070.     ftp://pgp.mit.edu/pub/keys/public-keys.pgp
  1071.     ftp://burn.ucsd.edu/Crypto/public-keys.pgp
  1072.     ftp://alex.sp.cs.cmu.edu/links/security/pubring.pgp
  1073.     ftp://ftp.informatik.uni-hamburg.de/pub/virus/misc/pubkring.pgp
  1074.     ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/public-keys.pgp
  1075.     ftp://jpunix.com/pub/PGP/
  1076.  
  1077. The following key servers are no longer in operation:
  1078.  
  1079.     pgp-public-keys@phil.utmb.edu
  1080.     pgp-public-keys@proxima.alt.za
  1081.     pgp-public-keys@demon.co.uk
  1082.  
  1083. In addition to the "traditional" keyservers, there is a commercial key
  1084. registry in operation at four11.com.  Four11 Directory Services is set
  1085. up primarily as a directory service to assist in searching for people
  1086. or groups.  Members of the service may have their key certified by
  1087. Four11 and placed on their server; a key signature from Four11
  1088. indicates that you have met their signing requirements.  At the time
  1089. of this writing, they offer "SLED Silver Signatures", which require
  1090. identification of the key holder through one of the following:
  1091.  
  1092.  - a mailed or faxed driver's license
  1093.  - a mailed or faxed copy of a passport
  1094.  - payment for services with a preprinted personal check which cleared
  1095.  
  1096. Send mail to info@four11.com or connect to http://www.four11.com/ for
  1097. more information on SLED/Four11 or to search their server.  You can
  1098. request keys from their key server by sending E-mail to key@four11.com
  1099. or by fingering <email-addr>@publickey.com.  Their current
  1100. certification keys may be retrieved by sending mail to
  1101. key-pgp-silver@sled.com or by looking up "SLED" on the other
  1102. keyservers.
  1103.  
  1104. ===============
  1105.  
  1106. 8.3. What is the syntax of the key server commands?
  1107.  
  1108. The key server expects to see one of the following commands placed in
  1109. the subject field. Note that only the ADD command uses the body of the
  1110. message.
  1111.  
  1112. - -------------------------------------------------------------
  1113. ADD           Your PGP public key (key to add is body of msg) (-ka)
  1114. INDEX         List all PGP keys the server knows about (-kv)
  1115. VERBOSE INDEX List all PGP keys, verbose format (-kvv)
  1116. GET           Get the whole public key ring (-kxa *)
  1117. GET <userid>  Get just that one key (-kxa <userid>)
  1118. MGET <userid> Get all keys which match <userid>
  1119. LAST <n>      Get all keys uploaded during last <n> days
  1120. - -------------------------------------------------------------
  1121.  
  1122. If you wish to get the entire key ring and have access to FTP, it
  1123. would be a lot more efficient to use FTP rather than e-mail. Using
  1124. e-mail, the entire key ring can generate a many part message, which
  1125. you will have to reconstruct into a single file before adding it to
  1126. your key ring.
  1127.  
  1128. ========
  1129.  
  1130. 9.  Bugs
  1131.  
  1132. ========
  1133.  
  1134. 9.1 Where should I send bug reports?
  1135.  
  1136. Bugs related to MIT PGP should be sent to pgp-bugs@mit.edu.  You will
  1137. want to check http://www.mit.edu:8001/people/warlord/pgp-faq.html
  1138. before reporting a bug to make sure that the bug hasn't been reported
  1139. already.  If it is a serious bug, you should also post it to
  1140. alt.security.pgp.  Serious bugs are bugs that affect the security of
  1141. the program, not compile errors or small logic errors.
  1142.  
  1143. Post all of your bug reports concerning non-MIT versions of PGP to
  1144. alt.security.pgp, and forward a copy to me for possible inclusion in
  1145. future releases of the FAQ.  Please be aware that the authors of PGP
  1146. might not acknowledge bug reports sent directly to them.  Posting them
  1147. on USENET will give them the widest possible distribution in the
  1148. shortest amount of time.
  1149.  
  1150. The following list of bugs is limited to version 2.4 and later, and is
  1151. limited to the most commonly seen and serious bugs. For bugs in
  1152. earlier versions, refer to the documentation included with the
  1153. program.  If you find a bug not on this list, follow the procedure
  1154. above for reporting it.
  1155.  
  1156. ========
  1157.  
  1158. MIT PGP 2.6 had a bug in the key generation process which made keys
  1159. generated by it much less random.  Fixed in 2.6.1.
  1160.  
  1161. All versions of PGP except MIT PGP 2.6.2 are susceptible to a "buglet"
  1162. in clearsigned messages, making it possible to add text to the
  1163. beginning of a clearsigned message.  The added text does not appear in
  1164. the PGP output after the signature is checked.  MIT PGP 2.6.2 now does
  1165. not allow header lines before the text of a clearsigned message and
  1166. enforces RFC 822 syntax on header lines before the signature.  Since
  1167. this bug appears at checking time, however, you should be aware of
  1168. this bug even if you use MIT PGP 2.6.2 - the reader may check your
  1169. signed message with a different version and not read the output.
  1170.  
  1171. MIT PGP 2.6.1 was supposed to handle keys between 1024 and 2048 bits
  1172. in length, but could not.  Fixed in 2.6.2.
  1173.  
  1174. MIT PGP 2.6.2 was supposed to enable the generation of keys up to 2048
  1175. bits after December 25, 1994; a one-off bug puts that upper limit at
  1176. 2047 bits instead.  It has been reported that this problem does not
  1177. appear when MIT PGP is compiled under certain implementations of Unix.
  1178. The problem is fixed in versions 2.7.1 and 2.6.2i.
  1179.  
  1180. PGP 2.6ui continues to exhibit the bug in 2.3a where conventionally
  1181. encrypted messages, when encrypted twice with the same pass phrase,
  1182. produce the same ciphertext.
  1183.  
  1184. Many of the versions of MacPGP (especially beta versions of MIT
  1185. MacPGP) have been reported to not handle text files and ASCII-armored
  1186. files correctly, causing some signatures not to validate.
  1187.  
  1188. ViaCrypt has reported a bug in freeware PGP affecting at least PGP
  1189. 2.3a and MIT PGP 2.6, 2.6.1, and 2.6.2.  This bug affects signatures
  1190. made with keys between 2034 and 2048 bits in length, causing them to
  1191. be corrupted.  Practically speaking, this bug only affects versions of
  1192. PGP that support the longer key lengths.  ViaCrypt reports that this
  1193. only seems to be a problem when running PGP on a Sun SPARC-based
  1194. workstation.  ViaCrypt PGP 2.7.1 and PGP 2.6.2i do not suffer from
  1195. this bug.  The following patch will fix the problem in MIT PGP 2.6.2:
  1196.  
  1197. <===== begin patch (cut here)
  1198. - --- crypto.c.orig    Mon Mar 20 22:30:29 1995
  1199. +++ crypto.c    Mon Mar 20 22:55:32 1995
  1200. @@ -685,7 +685,7 @@
  1201.     byte class, unitptr e, unitptr d, unitptr p, unitptr q, unitptr u,
  1202.                     unitptr n)
  1203.  {
  1204. - -    byte inbuf[MAX_BYTE_PRECISION], outbuf[MAX_BYTE_PRECISION];
  1205. +    byte inbuf[MAX_BYTE_PRECISION], outbuf[MAX_BYTE_PRECISION+2];
  1206.      int i, j, certificate_length, blocksize,bytecount;
  1207.      word16 ske_length;
  1208.      word32 tstamp; byte *timestamp = (byte *) &tstamp;
  1209. <===== end patch (cut here)
  1210.  
  1211. The initial release of PGP 2.6.2i contained a bug related to
  1212. clearsigned messages; signed messages containing international
  1213. characters would always fail.  For that reason, it was immediately
  1214. pulled from distribution and re-released later, minus the bug.  If you
  1215. have problems with 2.6.2i, make sure you downloaded your copy after 7
  1216. May 1995.
  1217.  
  1218. ========
  1219.  
  1220. 10.   Recommended Reading
  1221.  
  1222. ========
  1223.  
  1224. Stallings, William, "Protect Your Privacy: A Guide for PGP Users",
  1225. Prentice Hall, 1995, ISBN 0-13-185596-4.
  1226. (Current errata at ftp://ftp.shore.net/members/ws/Errata-PGP-mmyy.txt)
  1227.  
  1228. Garfinkel, Simson, "PGP: Pretty Good Privacy", O'Reilly & Associates,
  1229. 1994, ISBN 1-56592-098-8.
  1230.  
  1231. Schneier, Bruce, "E-Mail Security with PGP and PEM: How To Keep Your
  1232. Electronic Messages Private", John Wiley & Sons, 1995, ISBN
  1233. 0-471-05318-X.
  1234.  
  1235. > The Code Breakers
  1236.       The Story of Secret Writing
  1237.       By David Kahn
  1238.       The MacMillan Publishing Company (1968)
  1239.       866 Third Avenue, New York, NY 10022
  1240.       Library of Congress Catalog Card Number: 63-16109
  1241.  
  1242.     ISBN: 0-02-560460-0
  1243.  
  1244.     This has been the unofficial standard reference book on the history of
  1245.     cryptography for the last 25 years. It covers the development of
  1246.     cryptography from ancient times, up to 1967. It is interesting to read
  1247.     about the cat and mouse games that governments have been playing with
  1248.     each other even to this day. I have been informed by Mats Lofkvist <d87-
  1249.     mal@nada.kth.se> that the book has been reissued since its original
  1250.     printing.  He found out about it from the 'Baker & Taylor Books'
  1251.     database.  I obtained my original edition from a used book store.  It is
  1252.     quite exhaustive in its coverage with 1164 pages.  When I was serving in
  1253.     the United States Navy in the early 1970's as a cryptographic repair
  1254.     technician, this book was considered contraband and not welcome around my
  1255.     work place, even though it was freely available at the local public
  1256.     library.  This was apparently because it mentioned several of the pieces
  1257.     of secret cryptographic equipment that were then in use in the military.
  1258.  
  1259.   > The following list was taken from the PGP documentation:
  1260.  
  1261. Dorothy Denning, "Cryptography and Data Security", Addison-Wesley,
  1262. Reading, MA 1982
  1263.  
  1264. Dorothy Denning, "Protecting Public Keys and Signature Keys", IEEE Computer,
  1265. Feb 1983
  1266.  
  1267. Martin E. Hellman, "The Mathematics of Public-Key Cryptography," Scientific
  1268. American, Aug 1979
  1269.  
  1270. Steven Levy, "Crypto Rebels", WIRED, May/Jun 1993, page 54. (This is a "must-
  1271. read" article on PGP and other related topics.)
  1272.  
  1273. Ronald Rivest, "The MD5 Message Digest Algorithm", MIT Laboratory for
  1274. Computer Science, 1991.  Available from the net as RFC1321.  
  1275.  
  1276. Also available at ftp.dsi.unimi.it and its mirror at nic.funet.fi is:
  1277. IDEA_chapter.3.ZIP, a postscript text from the IDEA designer about
  1278. IDEA.
  1279.  
  1280. Xuejia Lai, "On the Design and Security of Block Ciphers", Institute for
  1281. Signal and Information Processing, ETH-Zentrum, Zurich, Switzerland, 1992
  1282.  
  1283. Xuejia Lai, James L. Massey, Sean Murphy, "Markov Ciphers and Differential
  1284. Cryptanalysis", Advances in Cryptology- EUROCRYPT'91
  1285.  
  1286. Philip Zimmermann, "A Proposed Standard Format for RSA Cryptosystems",
  1287. Advances in Computer Security, Vol III, edited by Rein Turn, Artech House,
  1288. 1988
  1289.  
  1290. Bruce Schneier, "Applied Cryptography: Protocols, Algorithms, and Source Code
  1291. in C", John Wiley & Sons, 1993
  1292.  
  1293. Paul Wallich, "Electronic Envelopes", Scientific American, Feb 1993, page 30.
  1294. (This is an article on PGP)
  1295.  
  1296. ========
  1297.  
  1298. 11.   General Tips
  1299.  
  1300.   > Some BBS sysops may not permit you to place encrypted mail or files on
  1301.     their boards.  Just because they have PGP in their file area, that
  1302.     doesn't necessarily mean they tolerate you uploading encrypted mail or
  1303.     files - so *do* check first.
  1304.  
  1305.   > Fido net mail is even more sensitive.  You should only send encrypted net
  1306.     mail after checking that:
  1307.  
  1308.       a) Your sysop permits it.
  1309.       b) Your recipient's sysop permits it.
  1310.       c) The mail is routed through nodes whose sysops also permit it.
  1311.  
  1312.   > Get your public key signed by as many individuals as possible.  It
  1313.     increases the chances of another person finding a path of trust from
  1314.     himself to you.
  1315.  
  1316.   > Don't sign someone's key just because someone else that you know has
  1317.     signed it.  Confirm the identity of the individual yourself.  Remember,
  1318.     you are putting your reputation on the line when you sign a key.
  1319.  
  1320.  
  1321. -----BEGIN PGP SIGNATURE-----
  1322. Version: 2.6.2
  1323.  
  1324. iQCVAwUBL+kBB7nwkw8DU+OFAQHbYAP8DJpJi+Th6cV/YTxsTYJ+FOcxsd5pRAph
  1325. y6lygvQQX+dpGpipgmc79yBfQ9x7bLYw8qzJJhJQ156/dahLzBa6mo9UclphHXbe
  1326. 1PJNgABAkLnJ9od4pFIrzrjAx5588fm0ipwGlmnL9rAd+F2FkeVc439lRcbxc49i
  1327. aV8I4tw6lJY=
  1328. =kHjJ
  1329. -----END PGP SIGNATURE-----
  1330.