README for ciphercopia 0.98

This is a collection of cryptography utilities, mainly to access PGP files
and to demonstrate certain techniques.

pgplib is a set of pgp2/pgp5 routines.  It includes one duplicate file
from pgp2 if RSA keys need to be handled.  Everything except edssl
requires this.

minipgp is a PGP 2.6 compatible set of routines and a sample application

xchequer is a digital cash system which uses minipgp

newpgp is a simple pgp5.0 implementation

athens is an anonymous conferencing system

edssl proxies plain to SSL to client and/or server, and can act like
safepassage.  Included are some simple command line browser/server
utilities and an awk HTML table renderer.

Everything works under Linux 2.0 and later (when Linux is properly
setup, e.g. athens requires multicast routing).  Free BSD compiles
might need to edit /usr/share/mk/sys.mk to have LDFLAGS as the last
thing in the .c rule in both posix and non posix sections, and the
shared lib isn't right on FreeBSD, so you have to copy the includes
and the libpgp.a manually.

I don't know why, but FreeBSD searches objects in the precise order,
so if -lpgp preceeds x.o, it won't work.  Athens also requires using
gmake under FreeBSD.  Patches are welcome.

Many of these are works in progress, and only one set of eyes has
looked at these programs, so there are probably lots of security
holes.  I am not scrupulous about cleaning memory beyond the library
free calls.  Anyone who can examine core dumps or access the kernel
image can also pick out passphrases from tty traffic, and until there
are ways of secureing that, I am not going to worry about wiping
memory.  Although I am not going to do it, I welcome any modifications
that will increase the security of these routines.

All of these programs are freely redistributable with the only condition is
that if you make modifications, you either have to indicate what changed
from the original, or clearly disassociate it with this package, and that
you use these at your own risk - there is no warranty of any kind.

You can freely use any of these in commercial or non-commercial products
(though they are dependent on libraries with different licensing terms),
and you can even integrate them into other libraries and place them under
new licensing terms (subject to the above provision), in fact the wider
they spread, the better.

For the unmungers out there, all the source has been run through indent
with the following parameters:

-i2 -ts0 -npro -br -ce -npcs -npsl -l80 -v

NOTE: the version of indent I have changes the #endif to # near line 42
of athens.c, so you if you use indent, you may have to repair this.