rpm/beecrypt/Doxyheader

110 lines
3.8 KiB
Plaintext

/*! \mainpage beecrypt API Documentation.
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.
Included in the library are:
- entropy sources for initializing pseudo-random generators
- pseudo-random generators: FIPS-186, Mersenne Twister
- block ciphers: Blowfish
- hash functions: MD5, SHA-1, SHA-256
- keyed hash functions: MD5/HMAC, SHA-1/HMAC, SHA-256/HMAC
- multi-precision integer library, with assembler-optimized routines
for several processors
- probabilistic primality testing, with optimized small prime trial
division
- discrete logarithm parameter generation over a prime field
- Diffie-Hellman key agreement
- ElGamal signature scheme (two variants)
- RSA keypair generation with chinese remainder theorem variables
- RSA public & private key operations
- DHAES encryption scheme
Planned for the near future are:
- compliance with and compliance statements for IEEE P1363
- DSA (i.e. the rest of FIPS-186)
- more blockciphers (Rijndael a.k.a AES, Twofish, ... )
- more hash functions (RIPEMD-160, SHA-384, SHA-512, HAVAL, Tiger)
- Elliptic Curves (ECDSA, ... )
The library has been tested on the following platforms:
- FreeBSD 4.0 alpha
- FreeBSD 4.0, 4.2 x86
- includes assembler optimization (tuned for Pentium and higher)
- Linux glibc 2.x alpha
- Linux glibc 2.x arm
- includes assembler optimization
- Linux glibc 2.x ppc
- includes assembler optimization (for generic 32-bit PowerPC)
- Linux glibc 2.x sparc
- includes assembler optimization for sparc v8
- Linux glibc 2.x x86
- includes assembler optimization (tuned for Pentium and higher)
- Solaris 2.6/2.7/2.8 sparc (with Forte or gnu compilers)
- includes assembler optimization for sparc v8, v8plus and v9
- Solaris 2.7/2.8 x86 (with Forte or gnu compilers)
- includes assembler optimization (tuned for Pentium and higher)
- Tru64 Unix alpha
- Win32 (Windows 95, 98, NT 4.0, 2000)
- includes assembler optimization (tuned for Pentium and higher)
The library is currently in the process of being ported to:
- Cygwin (the DLL builds now, but needs to be tested)
- Darwin (Darwin 1.2 doesn't seem to run on our PowerMac 7300/166,
and 1.0.2 was flaky, so any volunteer effort would be appreciated)
- QNX (I currently don't have a testing system anymore)
*/
/** \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 Generator: FIPS-186
*/
/** \defgroup HASH_m Hash Functions
*/
/** \defgroup HASH_md5_m Hash Functions: md5
*/
/** \defgroup HASH_sha1_m Hash Functions: sha1
*/
/** \defgroup HASH_sha256_m Hash Functions: sha256
*/
/** \defgroup HMAC_m Keyed Hash Functions, a.k.a. Message Authentication Codes
*/
/** \defgroup HMAC_md5_m Keyed Hash Functions: md5
*/
/** \defgroup HMAC_sha1_m Keyed Hash Functions: sha1
*/
/** \defgroup HMAC_sha256_m Keyed Hash Functions: sha256
*/
/** \defgroup BC_m Block ciphers
*/
/** \defgroup BC_blowfish_m Block ciphers: Blowfish
*/
/** \defgroup RSA_m RSA Encryption/Signature Primitives
*/
/** \defgroup DSA_m DSA Encryption/Signature Primitives
*/
/** \defgroup ELGAMAL_m ElGamal Signature Primitives
*/
/** \defgroup DH_m Diffie-Hellman Encryption
*/
/** \defgroup DL_m Discrete Logartithms
*/
/** \defgroup MP_m Multiple Precision Integer Arithmetic
*/
/** \defgroup JAVA_m Java API
*/