Article · Wikipedia archive · Last revised Jun 15, 2026

Libgcrypt

Libgcrypt is a cryptography library developed as a separated module of GnuPG. It can also be used independently of GnuPG, but depends on its error-reporting library Libgpg-error.

Last revised
Jun 15, 2026
Read time
≈ 3 min
Length
598 w
Citations
18
Source
Libgcrypt
Original authorWerner Koch
DeveloperGnuPG community1
Stable release(s) [±]
LTS1.12.2 / April 15, 2026 (2026-04-15)2
oldstable1.11.3 / April 21, 2026 (2026-04-21)3
old-LTS1.8.13 / April 15, 2026 (2026-04-15)4
Written inC
Operating systemCross-platform
TypeCryptographic library
LicenseGNU Lesser General Public License (LGPLv2.1+) / GNU General Public License (GPLv2+)5
Websitegnupg.org/software/libgcrypt/
Repository

Libgcrypt is a cryptography library developed as a separated module of GnuPG.6 It can also be used independently of GnuPG, but depends on its error-reporting library Libgpg-error.7

It provides functions for all fundamental cryptographic building blocks:

Primitive or Operation Algorithms or Implementation8
symmetric ciphers:9 AES (128, 192, 256 bits), DES, 3DES, IDEA, CAST5, Blowfish, Twofish (128, 256 bits), Ron's Cipher 2 / RC2 (40, 128 bits), ARCfour / RC4, SEED (RFC 4269), Serpent (128, 192, 256 bits), Camellia (128, 192, 256 bits), Salsa20, Salsa20/12, ChaCha20, GOST 28147-89 (RFC 5830) / GOST R 34.12-2015 (Magma: RFC 8891 & Kuznyechik: RFC 7801), SM4, ARIA
cipher modes:10 ECB, CFB, CBC, OFB, CTR, CCM, GCM, OCB, EAX, XTS, Stream, AES Key Wrap (RFC 3394), AES Key Wrap with padding (RFC 5649), SIV (RFC 5297) and GCM-SIV (RFC 8452)
public key algorithms:1112 RSA, ElGamal, DSA, ECDSA, EdDSA, Ed448, DH, EDH, ECDH
hash algorithms:13 MD2, MD4, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256, RIPEMD-160, TIGER/192, TIGER1, TIGER2, Whirlpool, CRC-24 (as in RFC 2440), CRC-32 (as in ISO 3309), CRC-32 (as in RFC 1510), GOST R 34.11-94 / GOST 34.311-95, GOST R 34.11-2012 (Stribog) / RFC 6986, BLAKE2b (128, 160, 224, 256 Bits), BLAKE2s (160, 256, 384, 512 Bits), SM314
message authentication codes (MACs):15 HMAC for all hash algorithms, CMAC for all cipher algorithms, GMAC for some cipher algorithms, Poly1305
key derivation functions (KDFs):16 S2K (as in RFC 4880: simple, salted, iterated+salted), PBKDF2, SCRYPT, Argon2d, Argon2i, Argon2id, Balloon
elliptic curves: NIST (P-256, P-384, P-521), SECG (secp256k1), ECC Brainpool / RFC 5639 (P256r1, P384r1, P512r1), Bernstein (Curve25519, Curve448), GOST R 34.10-2012 (RFC 7091), SM217

Libgcrypt features its own multiple precision arithmetic implementation, with assembler implementations for a variety of processors, including Alpha, AMD64, HP PA-RISC, i386, i586, M68K, MIPS 3, PowerPC, and SPARC. It also features an entropy gathering utility, coming in different versions for Unix-like and Windows machines.

Usually multiple, stable branches of Libgcrypt are maintained in parallel; as of May 2026 this is the Libgrypt 1.12 branch as LTS ("long-term support") branch, the 1.11 branch as previous stable branch, which will be maintained at least until 2028-06-3018 , and the 1.8 branch as "old-LTS" branch, which is still maintained as long a customer with an "extended Long Term Support contract" exists, despite its original end-of-life date being 2024-12-31.

See also

See also

References

References

  1. "AUTHORS". Retrieved 2021-02-09.
  2. "Libgcrypt 1.12.2 released". gnupg.org. 2026-04-15. Retrieved 2026-05-14.
  3. "Libgcrypt 1.11.3 released". dev.gnupg.org. 2026-04-21. Retrieved 2026-05-14.
  4. "Libgcrypt 1.8.13 released". dev.gnupg.org. 2026-04-15. Retrieved 2026-05-14.
  5. "Copying". Libgcrypt. 2021-02-04. Retrieved 2021-02-09.
  6. Koch, Werner (1998-12-04). "libgcrypt" (Mailing list). gnupg-devel. Retrieved 2017-08-30.
  7. "Libgpg-error". GnuPG software. 2017-03-22. Retrieved 2017-12-13.
  8. "src/cipher.h". 2017-06-16. Retrieved 2017-08-30.
  9. "Available ciphers". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  10. "Available cipher modes". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  11. "Available algorithms". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  12. "Cryptographic Functions". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  13. "Available hash algorithms". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  14. Shen, Sean; Lee, Xiaodong; Tse, Ronald Henry; Kit, Wong Wai; Yang, Paul (2018-01-08). "The SM3 Cryptographic Hash Function". Internet Engineering Task Force. Retrieved 2023-11-16.
  15. "Available MAC algorithms". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  16. "Key Derivation". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
  17. Shen, Sean; Lee, Xiaodong (2014-02-14). "SM2 Digital Signature Algorithm". Internet Engineering Task Force. Retrieved 2023-11-16.
  18. "End-of-life dates for GnuPG and Libgcrypt". GnuPG software. 2026-05-14. Retrieved 2026-05-14.