Libgcrypt
GnuPG community[1] | |||||
---|---|---|---|---|---|
Stable release(s) [±] | |||||
| |||||
Repository | |||||
Written in | Cross-platform | ||||
Type | Cryptographic library | ||||
License | GNU Lesser General Public License (LGPLv2.1+) / GNU General Public License (GPLv2+)[4] | ||||
Website | gnupg |
Libgcrypt is a cryptography library developed as a separated module of
GnuPG.[5]
It can also be used independently of GnuPG, but depends on its error-reporting library Libgpg-error.[6]
It provides functions for all fundamental cryptographic building blocks:
Primitive or Operation | Algorithms or Implementation[7] |
---|---|
symmetric ciphers:[8] | 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 |
cipher modes:[9] | XTS, Stream, AES Key Wrap (RFC 3394), SIV and GCM-SIV (RFC 5297), AES Key Wrap with padding (RFC 5649 )
|
public key algorithms:[10][11] | ECDH
|
hash algorithms:[12] | |
message authentication codes (MACs):[14] | |
key derivation functions (KDFs):[15] | S2K (as in RFC 4880: simple, salted, iterated+salted), PBKDF2, SCRYPT, Argon2d, Argon2i, Argon2id, Balloon |
elliptic curves :
|
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; since 2022-03-28 this is the Libgrypt 1.10 branch as stable branch, plus the 1.8 branch as LTS ("long-term support") branch, which will be maintained at least until 2024-12-31.[17]
See also
References
- ^ "AUTHORS". Retrieved 2021-02-09.
- ^ "Libgcrypt 1.10.3 released". dev.gnupg.org. 2023-11-14. Retrieved 2023-11-16.
- ^ "Libgcrypt 1.8.11 released". dev.gnupg.org. 2023-11-16. Retrieved 2023-11-16.
- ^ "Copying". Libgcrypt. 2021-02-04. Retrieved 2021-02-09.
- ^ Koch, Werner (1998-12-04). "libgcrypt" (Mailing list). gnupg-devel. Retrieved 2017-08-30.
- ^ "Libgpg-error". GnuPG software. 2017-03-22. Retrieved 2017-12-13.
- ^ "src/cipher.h". 2017-06-16. Retrieved 2017-08-30.
- ^ "Available ciphers". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ "Available cipher modes". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ "Available algorithms". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ "Cryptographic Functions". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ "Available hash algorithms". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ 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.
- ^ "Available MAC algorithms". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ "Key Derivation". The Libgcrypt Reference Manual. 2017-08-27. Retrieved 2017-08-30.
- ^ Shen, Sean; Lee, Xiaodong (2014-02-14). "SM2 Digital Signature Algorithm". Internet Engineering Task Force. Retrieved 2023-11-16.
- ^ "End-of-life dates for GnuPG and Libgcrypt". GnuPG software. 2021-02-04. Retrieved 2021-02-07.