A comprehensive, modular, and portable cryptographic toolkit providing block ciphers, hash functions, PRNGs, public key cryptography, and more.
LibTomCrypt is a comprehensive cryptographic toolkit written in C that provides developers with a vast array of well-known cryptographic algorithms including block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, and public key cryptography. It solves the problem of needing a portable, modular, and self-contained cryptographic library for applications ranging from embedded systems to desktop software.
C developers working on projects requiring cryptographic functionality, especially those targeting embedded systems, cross-platform applications, or environments where modularity and portability are critical.
Developers choose LibTomCrypt for its modular design that allows trimming down functionality, excellent portability across platforms, support for multiple math libraries, and a clean, well-documented codebase that's easier to audit and integrate than larger alternatives.
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.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows selective enabling or disabling of algorithms via tomcrypt_custom.h, enabling optimization for size or functionality as noted in the README's configuration options.
Provides dedicated makefiles for UNIX, Windows (MinGW/MSVC), and embedded systems, ensuring portability across diverse environments as highlighted in the build system section.
Supports multiple big integer libraries like GMP, libtommath, and tomsfastmath, selectable at runtime or compile-time for performance tuning, with examples in the building instructions.
Includes built-in test binaries for algorithm validation and timing measurements, aiding development and debugging, as mentioned in the make targets like 'test' and 'timing'.
Detailed documentation is only available as a PDF in release tarballs, not hosted online, making it less accessible for quick reference, as stated in the README's project status note.
Requires manual management of multiple makefiles and compiler flags, which can be error-prone and challenging, evidenced by the need for specific CFLAGS and EXTRALIBS in examples.
Binary utilities like hashsum and crypt are basic, and some like openssl-enc have broken builds in certain configurations, lacking robust command-line interfaces as noted in make targets.