/*!\mainpage BeeCrypt API Documentation
 *
 * \section intro_sec Introduction
 *
 * BeeCrypt started its life when the need for a portable and fast cryptography
 * library arose at Virtual Unlimited in 1997. I'm still trying to make it
 * faster, easier to use and more portable, in addition to providing better
 * documentation.
 * 
 * \section license_sec License
 *
 * BeeCrypt is released under the following license:
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 * 
 * Legal disclaimer: note that depending on where you are, the use of
 * cryptography may be limited or forbidden by law. Before using this library,
 * make sure you are legally entitled to do so.
 * 
 * \section features_sec Features
 *
 * Included in the library are:
 * <ul>
 *  <li>entropy sources for initializing pseudo-random generators
 *  <li>pseudo-random generators
 *   <ul>
 *    <li>FIPS-186
 *   </ul>
 *  <li>block ciphers
 *   <ul>
 *    <li>AES
 *    <li>Blowfish
 *   </ul>
 *  <li>hash functions
 *   <ul>
 *    <li>MD5
 *    <li>RIPEMD-128
 *    <li>RIPEMD-160
 *    <li>RIPEMD-256
 *    <li>RIPEMD-320
 *    <li>SHA-1
 *    <li>SHA-224
 *    <li>SHA-256
 *    <li>SHA-384
 *    <li>SHA-512
 *   </ul>
 *  <li>keyed hash functions (a.k.a. message authentication codes)
 *   <ul>
 *    <li>HMAC-MD5
 *    <li>HMAC-SHA-1
 *    <li>HMAC-SHA-224
 *    <li>HMAC-SHA-256
 *    <li>HMAC-SHA-384
 *    <li>HMAC-SHA-512
 *   </ul>
 *  <li>multi-precision integer library, with assembler-optimized routines
 *      for a range of processors; optimized to perform well on both 32-bit
 *      and 64-bit machines; uses Barrett modular reduction instead of the
 *      more common usual Montgomery algorithm; also implements sliding
 *      windows
 *  <li>probabilistic primality testing, with optimized small prime trial
 *      division
 *  <li>discrete logarithm parameter generation over a prime field
 *  <li>Diffie-Hellman key agreement
 *  <li>DHAES encryption scheme
 *  <li>DSA signature scheme
 *  <li>ElGamal signature scheme (two variants)
 *  <li>RSA keypair generation with chinese remainder theorem variables
 *  <li>RSA public & private key operations
    <li>OpenMP support
 * </ul>
 * 
 * \section testing_sec Testing
 *
 * The library has been tested on the following platforms:
 * <ul>
 *  <li>Cygwin
 *  <li>Darwin/MacOS X
 *  <li>Linux glibc 2.x alpha
 *  <li>Linux glibc 2.x arm
 *  <li>Linux glibc 2.x ia64
 *  <li>Linux glibc 2.x m68k
 *  <li>Linux glibc 2.x ppc
 *  <li>Linux glibc 2.x s390
 *  <li>Linux glibc 2.x s390x
 *  <li>Linux glibc 2.x sparc
 *  <li>Linux glibc 2.x x86
 *  <li>Linux glibc 2.x x86_64/amd64
 *  <li>Solaris 2.[6789] sparc (with Forte or GNU compilers)
 *  <li>Solaris 2.[78] x86 (with Forte or GNU compilers)
 *  <li>Tru64 Unix alpha
 *  <li>Win32 (Windows 95, 98, NT 4.0, 2000, XP)
 * </ul>
 * 
 * \section porting_sec Porting
 *
 * The library is currently in the process of being ported to:
 * <ul>
 *  <li>MinGW
 *  <li>AIX (shared libraries don't seem to work in 64-bit mode)
 * </ul>
 * 
 * The structures in the library are geared towards exchange with Java
 * and its security and cryptography classes. This library can also be
 * accessed from Java by installing BeeCrypt for Java, a JCE 1.2 crypto
 * provider and the counterpart of this library.
 * 
 * \section future_sec The Future
 *
 * <ul>
 *  <li>compliance with and compliance statements for IEEE P1363
 *  <li>switch from OSS to ALSA for entropy gathering
 *  <li>experiments with CUDA (AES, MD6?)
 *  <li>more blockciphers (Twofish, ... )
 *  <li>more hash functions (SHA-3 candidates, MD2, MD4, Tiger)
 *  <li>more hash functions (MD2, MD4, Tiger, ...)
 *  <li>Elliptic Curves (ECDSA, ... )
 *  <li>RSA signatures as specified by RFC-2440.
 * </ul>
 *
 * Let us know which one you'd prefer to see added first.
 */

/*!\defgroup	ES_m	Entropy sources
 */
/*!\defgroup	ES_audio_m	Entropy sources: /dev/audio
 */
/*!\defgroup	ES_dsp_m	Entropy sources: /dev/dsp
 */
/*!\defgroup	ES_random_m	Entropy sources: /dev/random
 */
/*!\defgroup	ES_urandom_m	Entropy sources: /dev/urandom
 */
/*!\defgroup	ES_tty_m	Entropy sources: /dev/tty
 */
/*!\defgroup	PRNG_m	Pseudo-Random Number Generators
 */
/*!\defgroup	PRNG_fips186_m	Pseudo-Random Number Generators: FIPS-186
 */
/*!\defgroup	PRNG_mt_m	Pseudo-Random Number Generators: Mersenne Twister
 */
/*!\defgroup	HASH_m	Hash Functions
 */
/*!\defgroup	HASH_md5_m	Hash Functions: MD5
 */
/*!\defgroup	HASH_rmd128_m	Hash Functions: RIPEMD-128
 */
/*!\defgroup	HASH_rmd160_m	Hash Functions: RIPEMD-160
 */
/*!\defgroup	HASH_rmd256_m	Hash Functions: RIPEMD-256
 */
/*!\defgroup	HASH_rmd320_m	Hash Functions: RIPEMD-320
 */
/*!\defgroup	HASH_sha1_m	Hash Functions: SHA-1
 */
/*!\defgroup	HASH_sha224_m	Hash Functions: SHA-224
 */
/*!\defgroup	HASH_sha256_m	Hash Functions: SHA-256
 */
/*!\defgroup	HASH_sha384_m	Hash Functions: SHA-384
 */
/*!\defgroup	HASH_sha512_m	Hash Functions: SHA-512
 */
/*!\defgroup	HMAC_m	Keyed Hash Functions, a.k.a. Message Authentication Codes
 */
/*!\defgroup	HMAC_md5_m	Keyed Hash Functions: HMAC-MD5
 */
/*!\defgroup	HMAC_sha1_m	Keyed Hash Functions: HMAC-SHA-1
 */
/*!\defgroup	HMAC_sha256_m	Keyed Hash Functions: HMAC-SHA-256
 */
/*!\defgroup	HMAC_sha384_m	Keyed Hash Functions: HMAC-SHA-384
 */
/*!\defgroup	HMAC_sha512_m	Keyed Hash Functions: HMAC-SHA-512
 */
/*!\defgroup	BC_m	Block ciphers
 */
/*!\defgroup	BC_aes_m	Block ciphers: AES
 */
/*!\defgroup	BC_blowfish_m	Block ciphers: Blowfish
 */
/*!\defgroup	MP_m	Multiple Precision Integer Arithmetic
 */
/*!\defgroup	DL_m	Discrete Logarithm Primitives
 */
/*!\defgroup	DL_dh_m	Discrete Logarithm Primitives: Diffie-Hellman
 */
/*!\defgroup	DL_dsa_m	Discrete Logarithm Primitives: DSA
 */
/*!\defgroup	DL_elgamal_m	Discrete Logarithm Primitives: ElGamal
 */
/*!\defgroup	IF_m	Integer Factorization Primitives
 */
/*!\defgroup	IF_rsa_m	Integer Factorization Primitives: RSA
 */
/*!\defgroup	PKCS1_m		PKCS#1
 */
/*!\defgroup	PKCS12_m	PKCS#12
 */
