README for PGP 5.0

INSTALLATION:

./pgpinst

You will be prompted for binary and man page locations.  Beware!  This
does not check for previous PGP installs.  If you wish to keep your
previous version of PGP, you must back it up, first.

CHANGES:

There are a number of large changes from the 2.6.2 distribution.  Most
notable is that the command line has changed substantially.  See
the pgp(1) man page for a discussion of how to use the new command
line.

Also, to allow easy interoperation with older versions on the same
system, a number of filename changes have been made:

~/.pgp/pubring.pgp is now ~/.pgp/pubring.pkr
~/.pgp/secring.pgp is now ~/.pgp/secring.skr
~/.pgp/config.txt is now ~/.pgp/pgp.cfg
~/.pgp/language.txt is now ~/.pgp/language50.txt

The application will NOT automatically migrate these files for you; if
you wish to retain your existing keyrings and configuration files, you
should copy them yourself.  Note that copying language.txt to
language50.txt is a decidedly bad idea.  Also note that language50.txt
is entirely optional; US English is the only language it contains at
this time.

We do not anticipate changing these filenames in future releases.

NEW FEATURES:

PGP 5.0 contains support for new encryption methods (most notably
DSS/Diffie-Hellman), and built-in keyserver support.  Also, the
command line has been redesigned to be more Unix and scripting
friendly.

QUESTIONS:

--Why has the command line interface changed so much from 2.6.2?

The initial 5.0 development attempted to follow the 2.6.2 command-line
as much as possible.  It was acknowledged that a direct clone was not
possible (the new features of 5.0 made this impossible), but the
original hope was to make it as much like 2.6.2 as possible.  However,
as development proceeded, it became apparent that there were a number
of Unix-related problems with the 2.6.2 command line.  When the
original software was written, the primary command line OS was MS-DOS,
and the basic form of the command line to encrypt was:

  pgp -e file1 -e file2 recipient1 recipient2 recipient3

The earliest versions of 5.0 attempted to fix this:

  pgp -e recipient1 -e recipient2 file1 file2 file3

(which allows for commands such as "pgp -e quark@baz.com *", which
were impossible under 2.6.2).

The problem was that this opened up a security problem, inasmuch as
old command line arguments didn't do what was expected, namely:

  pgp -sea foo quark@baz.com 

would attempt to encrypt the files "foo" and "quark@baz.com"
(generating a warning if quark@baz.com didn't exist, which is likely)
to everyone on your keyring that has an "a" in their User ID!

As most people use PGP from within other programs, we had a high
degree of concern that the warnings generated from such an operation
would go unnoticed, and users would be happily encrypting their
confidential documents to unexpected people.

This finally left us with a simple choice - either keep the command
line exactly like 2.6.2 (difficult to integrate with and broken from a
Unix perspective) or deliberately break it from 2.6.2 so that no one
would be bitten by scripts doing wildly unexpected things.

--What exactly is the "Horowitz Key Protocol?"

The Horowitz Key Protocol was designed by Marc Horowitz at MIT.  It is
used by the keyserver there, as well as PGP, Inc's keyserver.  The
basis of this protocol is HTTP; when it was originally written, the
interface method was a web browser.  To the best of my knowledge it
has never been documented _per se_; 5.0 simply pretends to be a web
browser when connecting to Horowitz's server, which is in turn
pretending to be a web server.  More information, and the source to
Horowitz's server, can be found at:

  http://www.mit.edu/people/marc/pks/


EPILOGUE:

We've had a lot of fun, writing this, and hope you enjoy using it.
PGP has gotten faster, and has new features.  Happy encrypting!

Brett A. Thomas
bat@pgp.com, quark@baz.com
