The Cryptlib Hub

Welcome!

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
08b104442bb5c7281a3299853d5585cc63bd928454dff3150569c02b957427ad.

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

RPM-based Packages

Fedora and EPEL

Cryptlib is part of the Fedora distribution since June 2016 and can be installed with

dnf install cryptlib*

A mirror of the current packages for x86_64, i686, ppc64 and aarch64 is hosted here.

The All-inclusive Generic RPM Package

It 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 Packages

It 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 Bugs

Virtually 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.