This is a small library and a command line program to encrypt/decrypt 
data using the Rijndael encryption algorythm in cbc mode.

The Utility runs at least under Linux, Windows, Tru64 Unix, HP-UX,
Irix and Solaris. Other Unices have not been tested,
reports are welcome.

Most of the code is taken from Brian Gladman's windows implementation
that can be found at

http://fp.gladman.plus.com/cryptography_technology/rijndael/index.htm

Markus Lagler added a wrapper library to encode/decode from/to memory
instead of files.

Tim Tassonis did some minor UNIX porting stuff and added the command
line program.

The getopts ist taken from Steve Merz:

http://www.dragon-ware.com/~steve/getopts

Usage:
------
Usage of the command line program:

Usage: aes [options]

  --help,       -h                      Displays this information
  --encrypt,    -e                      Encrypt the data
  --decrypt,    -d                      Decrypt the data
  --base64,     -b                      base64 encode/decode encrypted data
  --block,      -B                      Format base64 data as lines of 60 bytes
  --password,   -p <args>               Password (if omitted, will prompt)
  --string,     -s <args>               Input String (if omitted, stdin)
  --file,       -f <args>               Input File (if ommitted, stdin)
  --count,      -c <args>               Number of input bytes to read
  --out,        -o <args>               Outputfile instead of stdout
  --version,    -V                      Show version information


Either -d or -e always has to be specified, there is no default

With -e, -b will encode the resulting data in base64, when used with -d
it will treat the input as base64 encoded.



Build instructions:
-------------------


Unix:

On Unix, there is a small configure script available, which will simply
create the correct Makefile.

Usage: ./configure [platform]

Platforms:
linux
sun|sunos
osf|osf1|tru64
hpux|hp-ux
irix

When invoked without a platform name, the script tries to figure out the
right platform by calling uname -s.


For unsupported platforms, there is still a Makefile created, but
compile options may have to be adjusted.  Either -DHAVE_RANDOM_FUNC or
-DHAVE_DEV_URANDOM has to be added to the  CFLAGS, depending on the
availability of /dev/urandom or initstate()/random().

Windows:

The build is tested with Microsoft Visual C++ 6.0, just type
nmake -f Makefile.win to build the utility.



Bug reports/Comments: timtas@dplanet.ch

