LibTomCrypt 1.00 review
DownloadLibTomCrypt is a comprehensive, modular, and portable cryptographic toolkit that provides developers with a vast array of well known
|
|
LibTomCrypt is a comprehensive, modular, and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo- random number generators, public key cryptography, and a plethora of other routines. It has been designed from the ground up to be very simple to use. It has a modular and standard API that allows new ciphers, hashes, and PRNGs to be added or removed without change to the overall end application. It features functions for easy handling and a complete user manual which has many source snippet examples.
LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.
LibTomCrypt has been designed from the ground up to be very simple to use. It has a modular and standard API that allows new ciphers, hashes and PRNGs to be added or removed without change to the overall end application. It features easy to use functions and a complete user manual which has many source snippet examples.
LibTomCrypt is free for all purposes under the public domain. This includes commercial use, redistribution and even branching.
Here are some key features of "LibTomCrypt":
Public domain and open source.
Written entirely in portable ISO C source (except for things like RNGs for natural reasons)
Builds out of the box on virtually every box. All that is required is GCC for the source to build.
Includes a 90+ page user manual in PDF format (with working examples in it)
Block Ciphers
Ciphers come with an ECB encrypt/decrypt, setkey and self-test interfaces.
All ciphers have the same prototype which facilitates using multiple ciphers at runtime.
Some of the ciphers are flexible in terms of code size and memory usage.
Ciphers Supported.
Blowfish
XTEA
RC5
RC6
SAFER+
Rijndael (aka AES)
Twofish
SAFER (K64, SK64, K128, SK128)
RC2
DES, 3DES
CAST5
Noekeon
Skipjack
Anubis (with optional tweak as proposed by the developers)
Khazad
Changing Modes
Modes come with a start, encrypt/decrypt and set/get IV interfaces.
Mode supported.
ECB
CBC
OFB
CFB
CTR
One-Way Hash Functions
Hashes come with init, process, done and self-test interfaces.
All hashes use the same prototypes for the interfaces.
Hashes supported.
MD2
MD4
MD5
SHA-1
SHA-224/256/384/512
TIGER-192
RIPE-MD 128/160
WHIRLPOOL
Message Authentication
FIPS-198 HMAC (supports all hashes)
FIPS pending OMAC1 (supports all ciphers)
PMAC Authentication
Message Encrypt+Authenticate Modes
EAX Mode
OCB Mode
Pseudo-Random Number Generators
Yarrow (based algorithm)
RC4
Support for /dev/random, /dev/urandom and the Win32 CSP RNG
Fortuna
SOBER-128
Public Key Algorithms
RSA (using PKCS #1 v2.1 and PKCS #1 v1.5)
DH (using ElGamal signatures and simple DH encryption)
ECC (over Z/pZ, ElGamal Signatures, simple DH style encryption)
DSA (Users make their own groups)
Other standards
PKCS #1 (both v1.5 and v2.0 padding)
PKCS #5
ASN.1 DER for INTEGER types.
What's New in This Release:
A couple of bug fixes (notably the prime generation function p_prime_random_prime_ex())
Added cool "multi" functions (see demos/multi.c)
LibTomCrypt 1.00 search tags