This is Punkroy's site and is primarily dedicated
to his primary work known as the Cypher Project. The Cypher Project
is a collection of source code setup to provide an example for using encryption
in a verity of applications. The basic libraries define a model
in which algorithms can be implemented and several are already included.
Each area of the project concentrates on how to apply encryption to that
area in a secure, yet simple manner.
The Cypher Project started out as a DOS program, Cypher,
written to demonstrate the use of strong encryption on files (back when
strong encryption had an export ban in the free contry
United States of America). It was distributed freely on the internet
to anyone wishing to download it, in defiance of US export laws regarding
the strong encryption algorithms used.
Over the years, Cypher grew increasingly more complex.
More options and more cypher-based programs were created. Initially,
Cypher only to used ARC4 and MD5. Future additions allowed Cypher
to use block ciphers in the streaming mode OFB (output feedback).
With blockciphers came some other variants of the Cypher project, such
as DataBase encryption. The project still exists as a hobby, although
not too much is done with it now.
What'cha got here?
The software and writings on these pages are those composed
by Punkroy (me!) who is a hobbyist cryptologist.
I am not a profession in this field, nor do I have the math background
necessary to fully understand all arias of cryptography. However,
I have read a great deal about this subject-- especially in the arena
of implementation. Found here is not the information necessary
for writting and testing algorithms, but methods and practices for using
encryption algorithms for different applications. They may not
be perfect, but much of what has been done here was learned from analyzing
at several similar implementations.
All the software on this site emphasis clarity of the idea,
which means it is not always the fastest. This software wasn't
intended for the end use it performs (although it does function) but
as a template to model similar applications.
Most of the algorithms were not written in Pascal, Cypher's
native code, and were translated by Punkroy. For easy of understanding,
the code was not optimized. Compiled with Turbo Pascal 7.0, there
is no support for 386 instructions (i.e. no 32-bit instruction use).
And for this reason, all the block ciphers are quite slow. With
some work, all the cipher code could be translated into optimized assembly
and performance greatly improved. This has not been done.
Punkroy collects algorithms, so this list of ciphers is
not anywhere new complete. For more ciphers not currently ported
into the cipher project, go to the algorithms page.