1Welcome to the BeeCrypt crypto library!
2
3Copyright (c) 1997, 1998, 1999, 2000, 2001, 2004, 2005 X-Way Rights BV
4Copyright (c) 2002, 2003, 2005, 2006, 2009 Bob Deblier (for certain parts)
5
6Author: Bob Deblier <bob.deblier@telenet.be>
7
8This library is free software; you can redistribute it and/or
9modify it under the terms of the GNU Lesser General Public
10License as published by the Free Software Foundation; either
11version 2.1 of the License, or (at your option) any later version.
12
13This library is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16Lesser General Public License for more details.
17
18You should have received a copy of the GNU Lesser General Public
19License along with this library; if not, write to the Free Software
20Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21
22For the specifics of this license, see file 'COPYING.LIB', included in
23this distribution.
24
25
26
27Welcome to version 4.2.0 of BeeCrypt:
28
29The C++ API has received a major overhaul and has been expanded to deal
30properly with multi-threading on the major platforms.
31
32About BeeCrypt:
33
34BeeCrypt started its life when the need for a portable and fast cryptography
35library arose at Virtual Unlimited in 1997. I'm still trying to make it
36faster, easier to use and more portable, in addition to providing better
37documentation.
38
39Note that depending on where you are, the use of cryptography may be
40limited or forbidden by law. Before using this library, make sure you
41are legally entitled to do so.
42
43<plug>
44Most of the algorithms are implemented from reliable sources such as:
45
46"Handbook of Applied Cryptography"
47 Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone
48 CRC Press
49
50"Applied Cryptography", second edition
51 Bruce Schneier
52 Wiley
53
54
55For crypto enthusiasts these books are invaluable background material.
56
57IEEE P1363 "Standard Specifications for Public Key Cryptography" is a
58very interesting draft standard, which we will try to comply with.
59</plug>
60
61The structures in the library are geared towards exchange with Java
62and its security and cryptography classes. This library can also be
63accessed from Java by installing BeeCrypt for Java, a JCE 1.2 crypto
64provider and the counterpart of this library.
65
66
67Included in the library are:
68    - entropy sources for initializing pseudo-random generators
69    - pseudo-random generators: FIPS-186, Mersenne Twister
70    - block ciphers: AES, Blowfish
71    - hash functions: MD5, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
72    - keyed hash functions: HMAC-MD5, HMAC-SHA-1, HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512
73    - multi-precision integer library, with assembler-optimized routines
74      for several processors
75    - probabilistic primality testing, with optimized small prime trial
76      division
77    - discrete logarithm parameter generation over a prime field
78    - Diffie-Hellman key agreement
79    - DSA signature scheme
80    - ElGamal signature scheme (two variants)
81    - RSA keypair generation with chinese remainder theorem variables
82    - RSA public & private key operations
83    - DHAES encryption scheme
84
85Planned for the near future are:
86    - compliance with and compliance statements for IEEE P1363
87    - switch from OSS to ALSA for entropy gathering
88    - experiments with CUDA (AES, MD6?)
89    - more blockciphers (Twofish, ... )
90    - more blockcipher modes (OFB, ... )
91    - more hash functions (SHA-3 candidates, HAVAL, Tiger)
92    - Elliptic Curves (ECDSA, ... )
93    - RSA signatures as specified by RFC-2440.
94
95The library has been tested on the following platforms:
96    - Cygwin
97    - Darwin/MacOS X
98    - Linux glibc 2.x alpha
99    - Linux glibc 2.x arm
100    - Linux glibc 2.x ia64
101    - Linux glibc 2.x m68k
102    - Linux glibc 2.x ppc
103    - Linux glibc 2.x ppc64
104    - Linux glibc 2.x s390
105    - Linux glibc 2.x s390x
106    - Linux glibc 2.x sparc
107    - Linux glibc 2.x x86
108    - Linux glibc 2.x x86_64/amd64
109    - Solaris 2.[6789] sparc (with Forte or gnu compilers)
110    - Solaris 2.[78] x86 (with Forte or GNU compilers)
111    - Tru64 Unix alpha
112    - Win32 (Windows 95, 98, NT 4.0, 2000, XP)
113
114The library is currently in the process of being ported to:
115    - MinGW
116    - AIX (shared libraries don't seem to work in 64-bit mode)
117
118For more information, refer to the HTML documentation, which can be generated
119with Doxygen, in the docs directory.
120
121If you want to report bugs, make suggestions, contribute fixes or
122enhancements, please see the beecrypt-specific website:
123
124http://sourceforge.net/projects/beecrypt
125
126or contact me at mailto:bob.deblier@telenet.be
127
128Sincerely,
129
130Bob Deblier
131