Cryptlib

Open source software security toolkit library


title: "Cryptlib" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["cryptographic-software", "c-(programming-language)-libraries", "free-security-software", "cross-platform-software", "openpgp", "transport-layer-security-implementation", "1995-software"] description: "Open source software security toolkit library" topic_path: "sports" source: "https://en.wikipedia.org/wiki/Cryptlib" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Open source software security toolkit library ::

::data[format=table title="Infobox software"]

FieldValue
namecryptlib
developerPeter Gutmann
released
programming languageC
genreSecurity library
licenseSleepycat (Berkeley Database) License
website
::

| name = cryptlib | developer = Peter Gutmann | released = | programming language = C | genre = Security library | license = Sleepycat (Berkeley Database) License | website = cryptlib is an open-source cross-platform software security toolkit library. It is distributed under the Sleepycat License, a free software license compatible with the GNU General Public License. Alternatively, cryptlib is available under a proprietary license for those preferring to use it under proprietary terms.

Features

cryptlib is a security toolkit library that allows programmers to incorporate encryption and authentication services to software. It provides a high-level interface, so that strong security capabilities can be added to an application without needing to know many of the low-level details of encryption or authentication algorithms. Extensive documentation in the form of a 400+ page programming manual is available.

At the highest level, cryptlib provides implementations of complete security services such as S/MIME and PGP/OpenPGP secure enveloping, SSL/TLS and SSH secure sessions, CA services such as CMP, SCEP, SCVP, RTCS, OCSP, and other security operations such as secure timestamping. Since cryptlib uses industry-standard X.509, S/MIME, PGP/OpenPGP, and SSH/SSL/TLS data formats, the resulting encrypted or signed data can be easily transported to other systems and processed there, and cryptlib itself runs on many operating systems—all Windows versions and most Unix/Linux systems. This allows email, files, and EDI transactions to be authenticated with digital signatures and encrypted in an industry-standard format.

cryptlib provides other capabilities including full X.509/PKIX certificate handling (all X.509 versions from X.509v1 to X.509v4) with support for SET, Microsoft AuthentiCode, Identrus, SigG, S/MIME, SSL, and Qualified certificates, PKCS #7 certificate chains, handling of certification requests and CRLs (certificate revocation lists) including automated checking of certificates against CRLs and online checking using RTCS and OCSP, and issuing and revoking certificates using CMP and SCEP. It also implements a full range of certification authority (CA) functions provides complete CMP, SCEP, RTCS, and OCSP server implementations to handle online certificate enrolment/issue/revocation and certificate status checking. Alongside the certificate handling, it 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 to commercial-grade RDBMS and LDAP directories with optional SSL protection.

cryptlib can make use of the cryptographic capabilities of a variety of external cryptographic devices such as hardware cryptographic accelerators, Fortezza cards, PKCS #11 devices, hardware security modules (HSMs), and cryptographic smart cards. It can be used with a variety of cryptography devices that have received FIPS 140 or ITSEC/Common Criteria certification. The cryptographic device interface also provides a general-purpose plug-in capability for adding new functionality that can be used by cryptlib.

cryptlib is written in C and supports BeOS, DOS, IBM MVS, Mac 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/Vista. It is designed to be portable to other embedded system environments. It is available as a standard DLL. Language bindings are available for C / C++, C# / .NET, Delphi, Java, Python, and Visual Basic (VB).

Algorithm support

::data[format=table title="[[Block cipher|Cipher]]s"]

AlgorithmKey sizeBlock size
AES128/192/256128
Blowfish44864
CAST-12812864
ChaCha20128 / 2568
DES5664
Triple DES112 / 16864
IDEA12864
RC2102464
RC420488
::

::data[format=table title="[[Cryptographic hash function|Hashes]]"]

AlgorithmDigest size
MD5128
SHA-1160
SHA-2256 / 384 / 512
::

::data[format=table title="[[Message authentication code|MAC]]s"]

AlgorithmKey sizeDigest size
HMAC-MD5128128
HMAC-SHA-1160160
HMAC-SHA-2256256 / 384 / 512
Poly1305128128
::

::data[format=table title="[[Public-key cryptography|Public-key]]"]

AlgorithmKey size
Diffie–Hellman4096
DSA4096
ECDSA256 / 384 521
ECDH256 / 384 / 521
Elgamal4096
RSA4096
::

Release History

  • cryptlib 3.4.8 was released on .{{cite web |title = cryptlib 3.4.8 |url = https://github.com/cryptlib/cryptlib/releases/tag/v3.4.8 |date = 2025-05-01 |access-date = 2025-08-02}}

  • cryptlib 3.4.5 was released on .

  • cryptlib 3.4.4.1 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2018-08-21 |df=mdy |title=cryptlib 3.4.4 update 1 released |url=https://narkive.com/NjO38Oe6.1 |accessdate=2019-08-07

  • cryptlib 3.4.4 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2018-01-10 |df=mdy |title=cryptlib 3.4.4 released |url=https://narkive.com/oyAZHoMw.1 |accessdate=2019-08-07

  • cryptlib 3.4.3 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2016-03-25 |df=mdy |title=cryptlib 3.4.3 released |url=https://narkive.com/oz7rq8C3.1 |accessdate=2019-08-07

  • cryptlib 3.4.2 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2012-12-17 |df=mdy |title=cryptlib 3.4.2 released |url=https://narkive.com/aLyIocvb.1 |accessdate=2019-08-07

  • cryptlib 3.4.1 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2011-07-27 |df=mdy |title=cryptlib 3.4.1 released |url=https://narkive.com/O4pMz9t5.1 |accessdate=2019-08-07

  • cryptlib 3.4.0 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2010-10-06 |df=mdy |title=cryptlib 3.4.0 released |url=https://narkive.com/SdZw5o3z.1 |accessdate=2019-08-07

  • cryptlib 3.3.2 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2008-07-03 |df=mdy |title=cryptlib 3.3.2 released |url=https://narkive.com/kI4MXlXn.1 |accessdate=2019-08-07

  • cryptlib 3.3.1 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2007-02-01 |df=mdy |title=cryptlib 3.3.1 released |url=https://narkive.com/ojFT0mCU.1 |accessdate=2019-08-07

  • cryptlib 3.3 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2006-09-13 |df=mdy |title=cryptlib 3.3 released |url=https://narkive.com/nVz78ysa.1 |accessdate=2019-08-07

  • cryptlib 3.2.3a was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2006-08-29 |df=mdy |title=cryptlib 3.2.3a released |url=https://narkive.com/tFN5y3h9.1 |accessdate=2019-08-07

  • cryptlib 3.2.3 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2006-07-10 |df=mdy |title=cryptlib 3.2.3 released |url=https://narkive.com/54ID6NYI.1 |accessdate=2019-08-07

  • cryptlib 3.2.2 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2005-09-06 |df=mdy |title=cryptlib 3.2.2 released |url=https://narkive.com/hFnYYRvs.1 |accessdate=2019-08-07

  • cryptlib 3.2.1 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2005-08-09 |df=mdy |title=cryptlib 3.2.1 released |url=https://narkive.com/qDfQGIui.1 |accessdate=2019-08-07

  • cryptlib 3.2 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2005-04-18 |df=mdy |title=cryptlib 3.2 released |url=https://narkive.com/2pjeuJwH.1 |accessdate=2019-08-07

  • cryptlib 3.1 was released on .{{cite mailing list |last=Gutmann |first=Peter |authorlink=Peter Gutmann (computer scientist) |date=2003-12-13 |df=mdy |title=cryptlib 3.1 released |url=https://narkive.com/YxvaYuSa.1 |accessdate=2019-08-07

References

References

  1. "Security FAQ".
  2. "License list".
  3. "Enterprise cryptlib".
  4. [https://www.cryptlib.com/downloads/manual.pdf cryptlib user manual]
  5. "Cryptlib AddOn's for Delphi programmers".
  6. Disabled by default due to its insecurity
  7. Disabled by default due to it being patented
  8. Disabled by default due to it being obsolete

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

cryptographic-softwarec-(programming-language)-librariesfree-security-softwarecross-platform-softwareopenpgptransport-layer-security-implementation1995-software