Libgcrypt

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Libgcrypt
Developer(s) Werner Koch
Stable release

1.7.6 (January 18, 2017; 3 months ago (2017-01-18)[1]) [±]
1.6.6 (August 17, 2016; 8 months ago (2016-08-17)[2]) [±]

1.5.6 (August 17, 2016; 8 months ago (2016-08-17)[3]) [±]
Written in C
Operating system Cross-platform
Type Cryptographic library
License GNU Lesser General Public License GNU General Public License
Website

gnupg.org/related_software/libgcrypt/

directory.fsf.org/project/libgcrypt/

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

It provides functions for all cryptographic building blocks:

Primitive or Operation Algorithms or Implementation[5]
symmetric ciphers:[6] 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, Serpent (128, 192, 256 bits), Camellia (128, 192, 256 bits), Salsa20, Salsa20/12, ChaCha20, GOST 28147-89
cipher modes:[7] ECB, CFB, CBC, OFB, CTR, AES-Wrap (RFC 3394), CCM, GCM, Stream, OCB, XTS
public key algorithms:[8][9] RSA, ElGamal, DSA, ECDSA, EdDSA, DH, EDH, ECDH
hash algorithms:[10] 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 R 34.11-2012 (Stribog), BLAKE2b (128, 160, 224, 256 Bits), BLAKE2s (160, 256, 384, 512 Bits)
message authentication codes (MACs):[11] HMAC for all hash algorithms, CMAC for all cipher algorithms, GMAC for some cipher algorithms, Poly1305
key derivation functions (KDFs):[12] S2K (as in RFC 4880: simple, salted, iterated+salted), PBKDF2, SCRYPT
elliptic curves: NIST (P-256, P-384, P-521), SECG (secp256k1), ECC Brainpool / RFC 5639 (P256r1, P384r1, P512r1), Bernstein (Curve25519), GOST R (34.10-2001, 34.10-2012)

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.

See also[edit]

References[edit]

  1. ^ Koch, Werner (2017-01-18). "Libgcrypt". gnupg.org. Retrieved 2017-01-24. 
  2. ^ Koch, Werner (2016-08-17). "[Announce] Security fixes for Libgcrypt and GnuPG 1.4" (Mailing list). gnupg-announce. Retrieved 2016-08-18. 
  3. ^ Koch, Werner (2016-08-17). "[Announce] Security fixes for Libgcrypt and GnuPG 1.4" (Mailing list). gnupg-announce. Retrieved 2016-08-18. 
  4. ^ Werner Koch (4 December 1998). "libgcrypt". Retrieved 3 December 2010. 
  5. ^ "cipher.h - libgcypt.git". Retrieved 2017-05-12. 
  6. ^ "Available ciphers - The Libgcrypt Reference Manual". Retrieved 2014-08-08. 
  7. ^ "Available cipher modes - The Libgcrypt Reference Manual". Retrieved 2014-08-08. 
  8. ^ "Available algorithms - The Libgcrypt Reference Manual". Retrieved 2014-08-08. 
  9. ^ "Cryptographic Functions - The Libgcrypt Reference Manual". Retrieved 2014-08-08. 
  10. ^ "Available hash algorithms - The Libgcrypt Reference Manual". Retrieved 2014-08-08. 
  11. ^ "Available MAC algorithms - The Libgcrypt Reference Manual". Retrieved 2014-08-08. 
  12. ^ "Key Derivation - The Libgcrypt Reference Manual". Retrieved 2014-08-08.