Libgcrypt

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Libgcrypt
Developer(s) Werner Koch
Stable release 1.7.0 (April 15, 2016; 8 years ago (2016-04-15)[1]) [±]

1.6.5 (February 9, 2016; 8 years ago (2016-02-09)[2]) [±]

1.5.4 (August 7, 2014; 9 years ago (2014-08-07)[3]) [±]
Written in C
Operating system Cross-platform
Type Cryptographic library
License GNU Lesser General Public License GNU General Public License
Website 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 Implementations
symmetric ciphers:[5] IDEA, 3DES, CAST5, Blowfish, AES (128, 192, 256 bits), Twofish (128, 256 bits), ARCfour / RC4, DES, Serpent (128, 192, 256 bits), Ron's Cipher 2 / RC2 (40, 128 bits), SEED, Camellia (128, 192, 256 bits), Salsa20, Salsa20/12, ChaCha20, GOST 28147-89
cipher modes:[6] ECB, CFB, CBC, OFB, CTR, AES-Wrap (RFC 3394), CCM, GCM, Stream, OCB
public key algorithms:[7][8] RSA, DSA, ElGamal, ECDSA, EdDSA
hash algorithms:[9] 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, RFC 1510), GOST R 34.11-94, GOST R 34.11-2012 (256, 512 bits)
message authentication codes (MACs):[10] HMAC, CMAC, GMAC, Poly1305
key derivation functions (KDFs):[11] 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

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.