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 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.8 is available from this website. which is a single zip file of 7170491 bytes with a sha256 fingerprint of
ba34d50be7061b59d3cd49ff36c6c12603c3e23b9354b61d818ff8fd8843893a.

If you're looking for an older version of Cryptlib you may find it on this download page for Linux distributions (Ubuntu 22.04, 20.04, Fedora 34 to Fedora 38, Centos 8.5 and Centos 9) .

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 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
  • Compiling the objects with -O2 instead of -O3 to mitigate a compiler bug in fc39 and ubuntu

RPM-based Packages

Fedora and CentOS

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 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.8-1.centos85.src.rpm Source package for rpm-based Linux distributions 9575233 Bytes sha256
cryptlib-3.4.8-1.centos85.x86_64.rpm Binary package for rpm-based Linux distributions 4483460 Bytes sha256
cryptlib-3.4.8-1.centos9.src.rpm Source package for rpm-based Linux distributions 9575114 Bytes sha256
cryptlib-3.4.8-1.centos9.x86_64.rpm Binary package for rpm-based Linux distributions 4592471 Bytes sha256

This package has been tested on Centos 8.5 and Centos 9

File Description Size Fingerprint
All inclusive Fedora 35 package Fedora 35 SRC and RPM package sha256
All inclusive Fedora 37 package Fedora 37 SRC and RPM package sha256
All inclusive Fedora 39 package Fedora 39 SRC and RPM package sha256
All inclusive Fedora 40 package Fedora 40 SRC and RPM package sha256
All inclusive Fedora 41 package Fedora 41 SRC and RPM package sha256
All inclusive Fedora 42 package Fedora 42 SRC and RPM package sha256

These packages have been tested on Fedora 35 to 42
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.8.orig.2404.tar.gz Source archive for deb-based Linux distributions 9116017 Bytes sha256
cryptlib_3.4.8.orig.2204.tar.gz Source archive for deb-based Linux distributions 9116004 Bytes sha256
cryptlib_3.4.8.orig.2004.tar.gz Source archive for deb-based Linux distributions 9115997 Bytes sha256
cryptlib_3.4.8-1_amd64-2404.deb Binary package for deb-based Linux distributions 7296348 Bytes sha256
cryptlib_3.4.8-1_amd64-2204.deb Binary package for deb-based Linux distributions 7346324 Bytes sha256
cryptlib_3.4.8-1_amd64-2004.deb Binary package for deb-based Linux distributions 7188744 Bytes sha256

These packages have been tested on Ubuntu 22.04 and 20.04.

Binaries for the Odd OS

The original source code archive (cryptlib348.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.