Cryptography and Computer-Network Security

Up Title / URL Description Supported Algorithms as of 2008 Language / Platform License
1 Kryptos Project Educational Software Symetric Algorithms: DES, IDEA, MARS, RC5, RC6, Rijndael, Serpent, Triple DES, Twofish. Asymetric Algorithms: RSA. Signature Authentication: DSA, RSA, ECDSA Visual C++ 7.1 on Windows MIT
2 Crypto++ Library 5.5.2 Free C++ class library of cryptographic schemes. Contains implementations of various symetric, asymetric, and hashing algorithms. Most symetric block ciphers (with multiple modes of operation), stream ciphers, ECC, MACs, the most popular hashing functions C++ on Win32/64, UNIX, Mac OS X, Solaris, Linux, BeOS Open
3 Cryptix Supports OpenPGP, JCE, under maintenance now. OpenPGP , JCE OpenPGP , JCE Cryptix General
5 GMP GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers High-level signed integer arithmetic functions. High-level rational arithmetic functions. High-level floating-point arithmetic functions. Low-level positive-integer, hard-to-use, very low overhead functions. Berkeley MP compatible functions. High-level floating-point accurately rounding arithmetic functions. C++ on linux, unix, and other unix-like systems LGPL
6 NTL High-performance, portable C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields. Polynomial arithmetic, lattice reduction, vectors, matrices, and polynomials over the integers and over finite fields, and for arbitrary precision floating point arithmetic. C++ on UNIX and Windows Open
7 MIRACL Big Number Library which implements all of the primitives necessary to design Big Number Cryptography into your real-world application RSA public key cryptography, Diffie-Hellman Key exchange, DSA digital signature, Elliptic Curve Cryptography over GF(p) and GF(2m), AES Modes of Operation, SHA-1/256/384/512 Binaries only for Windows and Linux Free for non-commercial use, license required for commercial use
8 MatrixSSL Embedded SSL implementation designed for small footprint applications and devices SSL and TLS server and client support . Included crypto library - RSA, 3DES, AES, ARC4, SHA-1, MD5, RC4-MD5, RC4-SHA, DES-CBC3-SHA, AES128-SHA C++ on Window, Mac OS X, Linux, VxWorks, Pocket PC, eCos GPL
9 OpenSSL Collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library It offers support for SSL and TLS, as well as a wide variety of Certification Authority functions and a general purpose crypto library, ASN.1 (including X.509), Base64 & PEM, md2, md4, md5, sha, ripemd-160, AES, DES, 3DES, IDEA, all in ECB, CFB, OFB and CBC modes. RC2, RC4, RC5, Safer, DH, RSA, DSA C++ on Linux, BSD GPL
10 Java SSL Library Java implementation of a fast and scalable SSL library Supports Client and Server SSL protocol for SSL versions 2 and 3 and TLS version 1. Supports Mutual Authentication. Any machine that runs the JVM Apache Software License
11 EspreSSL A free, pure Java SSL library, (only source, no support) previously jSSL SSL versions 2 and 3 Any machine that runs the JVM Open
12 GNU Crypto Project Provides a free, versatile, high-quality, and provably correct implementations of cryptographic primitives and tools in the Java programming language for use by programmers and end-users A large number of algorithms are implemented in this solution. These include a large number of symmetric encryption algorithms and hashing functions. A limited number of asymetric algorithms are implemented as well, including RSA and Diffie-Hellman Any machine that runs the JVM GPL with the library exception which permits its use as a library in conjunction with non-free software
13 PyCrypto - Python Cryptography Toolkit Collection of cryptographic algorithms and protocols, implemented for use from Python AES / ARC32 / Blowfish /CAST/ DES /3DES/IDEA RC5 / Hashing - MD2 MD4 MD5 SHA / RIPEMD Windows, Linux, UNIX Open
14 Flexiprovider Builds off of the Java Cryptography Architecture to provide fast and secure implementations of cryptographic algorithms for developers not well versed in cryptography AES, Triple DES, password based encryption, MD5, SHA-1, RIPEMD, CBC-MAC, CMAC, HMAC, ECDSA, ECNR, ECDH, ECIES, and additional modules under research such as the use of number field cryptography in imaginary quadratic orders. Any machine that runs the JVM Core module is LGPL, additional modules are released under GPL
15 Perl Crypto CPAN repository Extensive support for multiple algorithms. Please use CPAN repository to look around which one you need. Perl 5.10.0 GPL
16 International Crypto API for GNU/Linux Kernel CryptoAPI adds a framework for cryptography to the GNU/Linux kernel Kernel cryptographic modules/ supported algorithms undocumented C/C++ on all OSes supporting POSIX None
17 Cryptlib Security toolkit that allows even inexperienced crypto programmers to easily add encryption and authentication services to their software cryptlib provides an extensive range of other capabilities including full X.509/PKIX certificate handling (all X.509 versions from X.509v1 to X.509v4) with additional support for SET, Microsoft AuthentiCode, Identrus, SigG, S/MIME, SSL, and Qualified certificates, PKCS #7 certificate chains, handling of certification requests and CRLs including automated checking of certificates against CRLs and online checking using RTCS and OCSP, and issuing and revoking certificates using CMP and SCEP. In addition cryptlib implements a full range of certification authority (CA) functions, as well as providing complete CMP, SCEP, RTCS, and OCSP server implementations to handle online certificate enrollment/issue/revocation and certificate status checking. Alongside the certificate handling, cryptlib provides a sophisticated key storage interface that allows the use of a wide range of key database types ranging from PKCS #11 devices, PKCS #15 key files, and PGP/OpenPGP key rings through to commercial-grade RDBMS' and LDAP directories with optional SSL protection. BeOS, DOS, IBM MVS, Macintosh/OS X, OS/2, Tandem, a variety of Unix versions (including AIX, Digital Unix, DGUX, FreeBSD/NetBSD/OpenBSD, HP-UX, IRIX, Linux, MP-RAS, OSF/1, QNX, SCO/UnixWare, Solaris, SunOS, Ultrix, and UTS4), VM/CMS, Windows 3.x, Windows 95/98/ME, Windows CE/PocketPC/SmartPhone and Windows NT/2000/XP. Language bindings are available for C / C++, C# / .NET, Delphi, Java, Python, and Visual Basic (VB). GPL-Compatible License
Botan Botan is a C++ library implementing a variety of cryptographic algorithms and formats PKCS , PKCS #3 Diffie-Hellman , PKCS #5 v1.5/v2.0 ,Parts of 1363 , X.509v3 certificates (RSA, DSA, and Diffie-Hellman) are supported, X.509 CRLs. Support also includes a number of symmetric ciphers including national block ciphers, telecom block ciphers, a number of deprecated/compatibility ciphers and various block cipher modes. Also includes support for a number of hashing and MAC functions. C++ with support for Linux, FreeBSD, NetBSD, Solaris, Mac OS X, and Windows Creative Commons
StrongHold32 Stand alone crypto program created for Win32 . It is based on the RC5 family (32/0..255/0..255). Easy to use and fast. Process any file types. Tool supports one click multiple files encryption and fast e-mail processing Variety of options based on RC5 encryption. Delphi/Kylix on Windows Apache Software License
20 Pidgin-Encryption Transparently encrypts instant message communications with RSA encryption RSA encryption with bit sizes from 512 - 4096 bits. C++ on Linux and Windows GPL
21 Stunnel - Universal SSL Wrapper Program that allows you to encrypt arbitrary TCP connections inside SSL Provides security to non-SSL aware daemons such as POP, IMAP, and LDAP. C++ on UNIX and Windows GPL
22 Crypto Kong This is a tool to manage digital signatures and encryption of documents Elliptical curves for signing and ARC-4 for encrypting the message C++ library which implements the libraries and VB front end which manages the UI. Runs only on Windows Open
23 Eric's Crypto Software This is cryptographic software which can be implemented on PIC Microcontrollers and Scenix-sx microcontrollers Implements DES and SKIPJACK algorithms Linux GPL
24 DES Encryption Javascript implementation of DES Supports DES and Triple DES with Electronic Codebook and Cipher Block Chaining Can be implemented in any webpage that supports javascript. Open
25 perl5-gpg Perl5 interface to GnuPG OpenPGP Perl with support for Windows, UNIX, and Linux. LGPL
26 Network Security Services (NSS) A set of libraries designed to support cross-platform development of security-enabled client and server applications SSL v2 and v3, TLS, PKCS #1, #3, #5, #7, #8, #9, #10, #11, #12, S/MIME, X.509 v3 certificates, OCSP, PKIK, and all the traditional symetric, asymetric, and hashing functions. C++ on UNIX, Linux, Windows, Mac OS X, Solaris, OS/2 and BeOS Mozilla Public License, GPL, LGPL
TurboPower LockBox LockBox is a cross-platform toolkit for data encryption It provides support for Blowfish, RSA, MD5, SHA-1, Triple DES, Rijndael, & digital signing of messages. Delphi/Kylix and Object Pascal on all 32 bit versions of Windows and all POSIX systems Mozilla Public License
BeeCrypt Ongoing project to provide a strong and fast cryptography toolkit Includes entropy sources, random generators, block ciphers, hash functions, message authentication codes, multiprecision integer routines, and public key primitives Assembly, C, C++, and Java on Windows (through Cygwin) and all BSD platforms LGPL
libecc Elliptic curve cryptography library that supports fixed-size keys for maximum speed. Its goal is to become the first free library to let users generate safe elliptic curves, and to provide an important source of information for anyone with general interest in ECC ECC cryptography with fixed size keys. C++ on UNIX and Linux GPL
30 OpenPGP Listing of PGP implementations available for use. Libraries available support PGP, S/MIME, SSL, etc. Resource Various licenses
31 BouncyCastle Lightweight java-based encryption library. There is also a C# version which implements most of the java one. Supports TLS, X.509 v1 and v3, CRL v2, PKCS #12, X.509 v2 attribute certificates, S/MIME, CMS, OCSP, TSP, OpenPGP, Java version runs on any machine with the JVM. C# version will run on any Windows machine with .NET 1.0 installed Open
32 OpenPGP SDK The OpenPGP SDK project provides an open source library which implements the OpenPGP specification OpenPGP, RSA Linux, UNIX, Solaris Open
33 CrypTool The application CrypTool is a free e-learning application for Windows Numerous classic and modern cryptographic algorithms (encryption and decryption, key generation, secure passwords, authentication, secure protocols, ...). Visualisation of several methods (e.g. Caesar, Enigma, RSA, Diffie-Hellman, digital signatures, AES). Cryptanalysis of certain algorithms (e.g. Vigenere, RSA, AES). Crypt-analytical measuring methods (e.g. entropy, n-grams, autocorrelation). Auxiliary methods (e.g. primality tests, factorization, base64 coding). CrypTool runs on Windows XP or greater with .NET 3.0 installed. JCrypTool is a Java implementation and is platform independent. Open
34 Haskell Application and Libraries Implementation of various cryptographic functions for the Haskell programming language. DES, Blowfish, AES, Cipher Block Chaining, PKCS #5, SHA-1, MD5, and RSA Can be compiled by the Haskell compiler GHC on Unix, Linux, Windows, and Mac OS X Different modules have different licenses, but all are either BSD or GPL
as3crypto Cryptography library written in Actionscript 3 which can be used by Flash that provides several common algorithms TLS 1.0 (partial), X.509, RSA, AES, DES, 3-DES, Blowfish, XTEA, RC4, MD2, MD5, SHA-1, SHA-224, SHA-256, PKCS #1 and #5, and modes: ECB, CBC, CFB, CFB8, OFB, CTR Flex 2 for the flash player. BSD
SharpPrivacy An open source implementation of the OpenPGP standard for the .NET Framework OpenPGP Built .NET Framework 1.0 so runs on Windows or Linux running Mono. Public domain
JavaScript MD5 JavaScript implementation of some hashing functions MD4, MD5, and SHA-1 JavaScript code so therefore can be run on any website with JavaScript support. Public domain
Extensions for Microsoft AJAX Framework Provides cryptographic services including secure encoding and decoding of data, as well as hashing and random number generation, and new methods for Javascript native objects. MD5, SHA-1, HMAC, AES Can be deployed on any website using the Microsoft AJAX framework Public domain
Chilkat Perl Encryption Library Perl encryption library for encrypting and decrypting both strings and binary data. AES, Blowfish, and Twofish. Hashing can be done with SHA-1, SHA-384, SHA-512, MD2, MD5, and HAVAL. Written in perl with support for Windows, UNIX, and Linux. Trial available but requires a purchased license
40 pgpenvelope Interface between Pine and the GNU Privacy Guard (GnuPG). It allows one to perform expected OpenPGP-related operations on messages. OpenPGP Written in perl for all OSes that support POSIX GPL
41 OpenKeys Cross-platform library for application-based password management, providing a common development interface to keyring/keychain solutions such as Gnome Keyring, KWallet, Apple Keychain and Keepass. Gnome Keyring, KWallet, Apple Keychain, and Keepass C and Python for UNIX, Linux, Windows, and Mac OS X LGPL