Libgcrypt
Original authorWerner Koch
DeveloperGnuPG community[1]
Stable release(s) [±]
LTS1.12.2 / April 15, 2026; 2 months ago (2026-04-15)[2]
oldstable1.11.3 / April 21, 2026; 55 days ago (2026-04-21)[3]
old-LTS1.8.13 / April 15, 2026; 2 months ago (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 Implementation[8]
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:[11][12] 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), SM3[14]
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), SM2[17]

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-30[18] , 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

edit

References

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

📚 Artikel Terkait di Wikipedia

GNU Privacy Guard

cryptographic library, while the GnuPG 2.x series replaces this with Libgcrypt. GnuPG encrypts messages using asymmetric key pairs individually generated

C (programming language)

Libavfilter Libavformat Libpcap Libdca Libdvdcss libevent libffi Libgegl libgcrypt Libgimp Libhybris Libinput libjpeg libLAS Libmpcodecs Libmpdemux libpng

Comparison of cryptography libraries

other JCE/JCA third party providers which are FIPS 140-2 validated. While Libgcrypt is not FIPS 140-2 validated by g10code, validations exist for versions

The C Programming Language

Libavfilter Libavformat Libpcap Libdca Libdvdcss libevent libffi Libgegl libgcrypt Libgimp Libhybris Libinput libjpeg libLAS Libmpcodecs Libmpdemux libpng

SHA-2

Cryptography libraries that support SHA-2: Botan Bouncy Castle Cryptlib Crypto++ Libgcrypt Mbed TLS libsodium Nettle LibreSSL OpenSSL GnuTLS wolfSSL Hardware acceleration

Lattice-based cryptography

(ML-DSA). As of October 2023, ML-DSA was being implemented as a part of Libgcrypt, according to Falko Strenzke. In August 2024, NIST officially standardized

Curve25519

It recommends support for X25519, Ed25519, X448, and Ed448 algorithms. Libgcrypt libssh libssh2 (since version 1.9.0) NaCl GnuTLS mbed TLS (formerly PolarSSL)

RSA cryptosystem

provide support for RSA include: Botan Bouncy Castle cryptlib Crypto++ Libgcrypt Nettle OpenSSL wolfCrypt GnuTLS mbed TLS LibreSSL Mathematics portal Acoustic