1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
/*! \mainpage BeeCrypt API Documentation.
Included in the library are:
- entropy sources for initializing pseudo-random generators
- pseudo-random generators: FIPS-186, Mersenne Twister
- block ciphers: AES, Blowfish
- hash functions: MD5, SHA-1, SHA-256
- keyed hash functions: HMAC-MD5, HMAC-SHA-1, HMAC-SHA-256
- 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
- DSA signature scheme
- 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:
- mp64 library for operation on 64-bit computers (and possibly also
on certain 32-bit platforms)
- compliance with and compliance statements for IEEE P1363
- more blockciphers (Twofish, ... )
- more hash functions (RIPEMD-160, SHA-384, SHA-512, HAVAL, Tiger)
- RSA signatures as specified by RFC-2440.
- Elliptic Curves (ECDSA, ... )
- more blockcipher modes (OFB, ... )
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 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:
- Darwin (apparently Apple has decided to change the PPC assembler format;
this will need a fix)
- Cygwin (Can't seem to get the DLL to build properly with the current version of the autotools)
*/
/*! \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 HASH_m Hash Functions
*/
/*! \defgroup HASH_md5_m Hash Functions: MD5
*/
/*! \defgroup HASH_sha1_m Hash Functions: SHA-1
*/
/*! \defgroup HASH_sha256_m Hash Functions: SHA-256
*/
/*! \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 BC_m Block ciphers
*/
/*! \defgroup BC_aes_m Block ciphers: AES
*/
/*! \defgroup BC_blowfish_m Block ciphers: Blowfish
*/
/*! \defgroup DL_m Discrete Logarithm Primitives
*/
/*! \defgroup DH_m Diffie-Hellman Primitives
*/
/*! \defgroup DSA_m DSA Encryption/Signature Primitives
*/
/*! \defgroup RSA_m RSA Encryption/Signature Primitives
*/
/*! \defgroup ELGAMAL_m ElGamal Signature Primitives
*/
/*! \defgroup MP32_m Multiple Precision Integer Arithmetic (32 bit)
*/
/*! \defgroup MP64_m Multiple Precision Integer Arithmetic (64 bit)
*/
/*! \defgroup JAVA_m Java API
*/
|