BeeCrypt
Encyclopedia
BeeCrypt is a open source
- LGPL
licensed implementation of the cryptographic algortims. The core library
(written in the C programming language
) implements the basic cryptographic
functions and provides various utility functions. It also has bindings to languages like C++/Java/Python/Assembly.
Pseudorandom generators
:
Block ciphers
Cryptographic hash function
s:
Keyed hash functions
Public-key cryptography
:
And some other cryptographic utility functions:
Multi-precision integer library, with assembler-optimized routines
Probabilistic primality testing, with optimized small prime trial division
Discrete logarithm parameter generation over a prime field
Diffie-Hellman key agreement
DHAES encryption scheme
ElGamal signature scheme (two variants)
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
- LGPL
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
licensed implementation of the cryptographic algortims. The core library
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
(written in the C programming language
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
) implements the basic cryptographic
Cryptography
Cryptography is the practice and study of techniques for secure communication in the presence of third parties...
functions and provides various utility functions. It also has bindings to languages like C++/Java/Python/Assembly.
Algorithms
BeeCrypt supports a number of different cryptographic algorithms and utility functions:Pseudorandom generators
Pseudorandom generator
In theoretical computer science, a pseudorandom generator is a deterministic procedure that produces a pseudorandom distribution from a short uniform input, known as a random seed.-Definition:...
:
- FIPS-186, Mersenne Twister
Block ciphers
- AESAdvanced Encryption StandardAdvanced Encryption Standard is a specification for the encryption of electronic data. It has been adopted by the U.S. government and is now used worldwide. It supersedes DES...
- BlowfishBlowfish (cipher)Blowfish is a keyed, symmetric block cipher, designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. Blowfish provides a good encryption rate in software and no effective cryptanalysis of it has been found to date...
Cryptographic hash function
Cryptographic hash function
A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...
s:
- MD5MD5The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit hash value. Specified in RFC 1321, MD5 has been employed in a wide variety of security applications, and is also commonly used to check data integrity...
, SHA-1, SHA-256
Keyed hash functions
- MD5/HMAC, SHA-1/HMAC, SHA-256/HMAC
Public-key cryptography
Public-key cryptography
Public-key cryptography refers to a cryptographic system requiring two separate keys, one to lock or encrypt the plaintext, and one to unlock or decrypt the cyphertext. Neither key will do both functions. One of these keys is published or public and the other is kept private...
:
- Basic RSA primitives and key pair generation
And some other cryptographic utility functions:
Multi-precision integer library, with assembler-optimized routines
Probabilistic primality testing, with optimized small prime trial division
Discrete logarithm parameter generation over a prime field
Diffie-Hellman key agreement
DHAES encryption scheme
ElGamal signature scheme (two variants)