Libgcrypt

From Wikipedia, the free encyclopedia

Template:Short description

Script error: No such module "Infobox". Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters". Libgcrypt is a cryptography library developed as a separated module of GnuPG.[1] It can also be used independently of GnuPG, but depends on its error-reporting library Libgpg-error.[2]

It provides functions for all fundamental cryptographic building blocks:

Primitive or Operation Algorithms or Implementation[3]
symmetric ciphers:[4] 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 (Template:IETF RFC), Serpent (128, 192, 256 bits), Camellia (128, 192, 256 bits), Salsa20, Salsa20/12, ChaCha20, GOST 28147-89 (Template:IETF RFC) / GOST R 34.12-2015 (Magma: Template:IETF RFC & Kuznyechik: Template:IETF RFC), SM4, ARIA
cipher modes:[5] ECB, CFB, CBC, OFB, CTR, CCM, GCM, OCB, EAX, XTS, Stream, AES Key Wrap (Template:IETF RFC), AES Key Wrap with padding (Template:IETF RFC), SIV (Template:IETF RFC) and GCM-SIV (Template:IETF RFC)
public key algorithms:[6][7] RSA, ElGamal, DSA, ECDSA, EdDSA, Ed448, DH, EDH, ECDH
hash algorithms:[8] 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 Template:IETF RFC), CRC-32 (as in ISO 3309), CRC-32 (as in Template:IETF RFC), GOST R 34.11-94 / GOST 34.311-95, GOST R 34.11-2012 (Stribog) / Template:IETF RFC, BLAKE2b (128, 160, 224, 256 Bits), BLAKE2s (160, 256, 384, 512 Bits), SM3[9]
message authentication codes (MACs):[10] HMAC for all hash algorithms, CMAC for all cipher algorithms, GMAC for some cipher algorithms, Poly1305
key derivation functions (KDFs):[11] S2K (as in Template:IETF RFC: simple, salted, iterated+salted), PBKDF2, SCRYPT, Argon2d, Argon2i, Argon2id, Balloon
elliptic curves: NIST (P-256, P-384, P-521), SECG (secp256k1), ECC Brainpool / Template:IETF RFC (P256r1, P384r1, P512r1), Bernstein (Curve25519, Curve448), GOST R 34.10-2012 (Template:IETF RFC), SM2[12]

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[13] , 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

Script error: No such module "Portal".

References

Page Template:Reflist/styles.css has no content.

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. Script error: No such module "citation/CS1".
  8. Script error: No such module "citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. Script error: No such module "citation/CS1".
  12. Script error: No such module "citation/CS1".
  13. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

Script error: No such module "Navbox".