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.