The Cryptlib Hub
Here you'll find Cryptlib packages prepared to run on various modern Linux distributions.
The Cryptlib Source Code
Cryptlib is a comprehensive security toolbox, developed and maintained by Peter Gutmann.
You'll find the open-source page here and the commercial page here. Cryptlib is is licensed both under an open-source Sleepycat license and alternatively - if you don't want to comply with these terms - under a commercial license. In addition to this, parts of Cryptlib are licensed under OpenSSL.
The original Cryptlib source code version 3.4.3 is available from this website. which is a single zip file of 5703258 bytes with a sha256 fingerprint of
My Changes to the Source Code
To be honest, I hate to make any change to the original source code. But in order to compile a comprehensive package I needed to make some changes, all of them have been approved by Peter Gutmann.
- To avoid conflicts with the openssl library a number of internal symbols have to be renamed. See this bug report for details.
- I added a soname "libcl.so.3" to the shared library's build process.
- To strengthen the library I changed the compiler flag "stack-protector" to "stack-protector-strong"
- To enable JAVA bindings I switched "#define USE_JAVA" on and added jni.h and jni_md.h for compilation
- Building the Perl module required adding the files typeset and ppport.h to the bindings directory
Fedora and EPELCryptlib is part of the Fedora distribution since June 2016 and can be installed withdnf install cryptlib*
A mirror of the current packages for x86_64, i686, ppc64 and aarch64 is hosted here.
The All-inclusive Generic RPM PackageIt is my intention to produce an up-to-date RPM package that includes everything including the excellent Cryptlib manual as well as example code for various programming languages (C/C++, Python, Java, Perl). This is the result:
File Description Size Fingerprint cryptlib-3.4.3-1.src.rpm Source package for rpm-based Linux distributions 8415323 Bytes sha256 cryptlib-3.4.3-1.x86_64.rpm Binary package for rpm-based Linux distributions 4514554 Bytes sha256
This package has been tested on Fedora 23, 24, 25 and Centos 7.
If you find this package to work on other rpm-based Linux I'd like to hear from you.
DEB-based PackagesIt is also my intention to produce an up-to-date DEB package that includes everything including the excellent Cryptlib manual as well as example code for various programming languages (C/C++, Python, Java, Perl). This is the result:
File Description Size Fingerprint cryptlib_3.4.3.tar.gz Source archive for deb-based Linux distributions 8013782 Bytes sha256 cryptlib_3.4.3-1_amd64.deb Binary package for deb-based Linux distributions 4203474 Bytes sha256
This package has been tested on Ubuntu 16.04 and Mint 18.
If you find this package to work on other deb-based Linux I'd like to hear from you too.
On older debian-based Linux there are problems with the perl and java versions installed. So I built another package on Ubuntu 14.04 (Trusty):
File Description Size Fingerprint cryptlib_3.4.3_trusty.tar.gz Source archive for older deb-based Linux distributions built on Trusty 8008704 Bytes sha256 cryptlib_3.4.3-1_trusty_amd64.deb Binary package for older deb-based Linux distributions built on Trusty 4204292 Bytes sha256
This package has been tested on Ubuntu 14.04 and Debian 8.3.0. The Perl-binding still doesn't work on Debian.
Binaries for the Odd OS
The original source code archive (cl343.zip) includes pre-compiled binaries for a well-known proprietary OS.
Reporting BugsVirtually any project can be based on Cryptlib as it supports a number of programming languages, including C/C++, Java, Perl and Python. If you run into any problem using the packages above I'd like to hear from you.
Please also contact me, if you need a helping hand to base your project on Cryptlib.