This is gcrypt.info, produced by makeinfo version 6.8 from gcrypt.texi. This manual is for Libgcrypt version 1.10.3 and was last updated 19 October 2023. Libgcrypt is GNU's library of cryptographic building blocks. Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc. Copyright (C) 2012, 2013, 2016, 2017 g10 Code GmbH Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The text of the license can be found in the section entitled "GNU General Public License". INFO-DIR-SECTION GNU Libraries START-INFO-DIR-ENTRY * libgcrypt: (gcrypt). Cryptographic function library. END-INFO-DIR-ENTRY  File: gcrypt.info, Node: Figures and Tables, Next: Concept Index, Prev: Copying, Up: Top List of Figures and Tables ************************** * Menu: * Figure 17.1: fig:subsystems. Libgcrypt subsystems * Figure B.1: fig:fips-fsm. FIPS mode state diagram * Menu: * Table B.1: tbl:fips-states. FIPS mode states * Table B.2: tbl:fips-state-transitions. FIPS mode state transitions  File: gcrypt.info, Node: Concept Index, Next: Function and Data Index, Prev: Figures and Tables, Up: Top Concept Index ************* [index] * Menu: * /etc/gcrypt/fips_enabled: Configuration. (line 73) * /etc/gcrypt/hwf.deny: Configuration. (line 52) * /etc/gcrypt/random.conf: Configuration. (line 56) * /proc/cpuinfo: Configuration. (line 78) * /proc/self/auxv: Configuration. (line 78) * 3DES: Available ciphers. (line 14) * Advanced Encryption Standard: Available ciphers. (line 35) * AES: Available ciphers. (line 35) * AES-Wrap mode: Available cipher modes. (line 35) * Arcfour: Available ciphers. (line 52) * BLAKE2b-512, BLAKE2b-384, BLAKE2b-256, BLAKE2b-160: Available hash algorithms. (line 6) * BLAKE2s-256, BLAKE2s-224, BLAKE2s-160, BLAKE2s-128: Available hash algorithms. (line 6) * Blowfish: Available ciphers. (line 22) * bug emulation: Working with hash algorithms. (line 38) * Camellia: Available ciphers. (line 77) * CAST5: Available ciphers. (line 19) * CBC, Cipher Block Chaining mode: Available cipher modes. (line 23) * CBC-MAC: Working with cipher handles. (line 58) * CCM, Counter with CBC-MAC mode: Available cipher modes. (line 48) * CFB, Cipher Feedback mode: Available cipher modes. (line 17) * ChaCha20: Available ciphers. (line 98) * cipher text stealing: Working with cipher handles. (line 52) * comp: Cryptographic Functions. (line 13) * CRC32: Available hash algorithms. (line 6) * CTR, Counter mode: Available cipher modes. (line 32) * DES: Available ciphers. (line 57) * DES-EDE: Available ciphers. (line 14) * Digital Encryption Standard: Available ciphers. (line 14) * disable-jent: Configuration. (line 62) * EAX, EAX mode: Available cipher modes. (line 89) * ECB, Electronic Codebook mode: Available cipher modes. (line 13) * EdDSA: Cryptographic Functions. (line 33) * error codes: Error Values. (line 6) * error codes, list of: Error Sources. (line 6) * error codes, list of <1>: Error Codes. (line 6) * error codes, printing of: Error Strings. (line 6) * error sources: Error Values. (line 6) * error sources, printing of: Error Strings. (line 6) * error strings: Error Strings. (line 6) * error values: Error Values. (line 6) * error values, printing of: Error Strings. (line 6) * FIPS 140: Enabling FIPS mode. (line 6) * FIPS 140 <1>: Disabling FIPS mode. (line 6) * FIPS 186: Cryptographic Functions. (line 71) * FIPS 186 <1>: Public-Key Subsystem Architecture. (line 50) * FIPS 186-2: Cryptographic Functions. (line 79) * FIPS mode: Enabling FIPS mode. (line 6) * FIPS mode <1>: Disabling FIPS mode. (line 6) * fips_enabled: Configuration. (line 73) * GCM, Galois/Counter Mode: Available cipher modes. (line 53) * GCM-SIV, GCM-SIV mode, AES-GCM-SIV: Available cipher modes. (line 116) * GCRYPT_BARRETT: Configuration. (line 16) * GCRYPT_RNDUNIX_DBG: Configuration. (line 21) * GCRYPT_RNDUNIX_DBGALL: Configuration. (line 21) * GCRYPT_RNDW32_DBG: Configuration. (line 36) * GCRYPT_RNDW32_NOPERF: Configuration. (line 29) * GOST 28147-89: Available ciphers. (line 88) * GOST 28147-89 CryptoPro keymeshing: Available ciphers. (line 92) * GPL, GNU General Public License: Copying. (line 6) * hardware features: Hardware features. (line 6) * HAVAL: Available hash algorithms. (line 6) * HMAC: Working with hash algorithms. (line 28) * HMAC-BLAKE2s, HMAC-BLAKE2b: Available MAC algorithms. (line 6) * HMAC-GOSTR-3411-94: Available MAC algorithms. (line 6) * HMAC-MD2, HMAC-MD4, HMAC-MD5: Available MAC algorithms. (line 6) * HMAC-RIPE-MD-160: Available MAC algorithms. (line 6) * HMAC-SHA-1: Available MAC algorithms. (line 6) * HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512: Available MAC algorithms. (line 6) * HMAC-SHA-512/224, HMAC-SHA-512/256: Available MAC algorithms. (line 6) * HMAC-SHA3-224, HMAC-SHA3-256, HMAC-SHA3-384, HMAC-SHA3-512: Available MAC algorithms. (line 6) * HMAC-SM3: Available MAC algorithms. (line 6) * HMAC-Stribog-256, HMAC-Stribog-512: Available MAC algorithms. (line 6) * HMAC-TIGER1: Available MAC algorithms. (line 6) * HMAC-Whirlpool: Available MAC algorithms. (line 6) * HOME: Configuration. (line 41) * IDEA: Available ciphers. (line 11) * LGPL, GNU Lesser General Public License: Library Copying. (line 6) * LIBGCRYPT_FORCE_FIPS_MODE: Configuration. (line 12) * MD2, MD4, MD5: Available hash algorithms. (line 6) * no-blinding: Cryptographic Functions. (line 41) * no-keytest: Cryptographic Functions. (line 59) * nocomp: Cryptographic Functions. (line 13) * OAEP: Cryptographic Functions. (line 27) * OCB, OCB3: Available cipher modes. (line 63) * OFB, Output Feedback mode: Available cipher modes. (line 29) * only-urandom: Configuration. (line 65) * param: Cryptographic Functions. (line 47) * PKCS1: Cryptographic Functions. (line 23) * Poly1305 based AEAD mode with ChaCha20: Available cipher modes. (line 58) * PSS: Cryptographic Functions. (line 30) * RC2: Available ciphers. (line 69) * RC4: Available ciphers. (line 52) * rfc-2268: Available ciphers. (line 69) * RFC6979: Cryptographic Functions. (line 38) * Rijndael: Available ciphers. (line 35) * RIPE-MD-160: Available hash algorithms. (line 6) * Salsa20: Available ciphers. (line 81) * Salsa20/12: Available ciphers. (line 84) * Seed (cipher): Available ciphers. (line 72) * Serpent: Available ciphers. (line 65) * SHA-1: Available hash algorithms. (line 6) * SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256: Available hash algorithms. (line 6) * SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256: Available hash algorithms. (line 6) * SIV, SIV mode: Available cipher modes. (line 94) * SM3: Available hash algorithms. (line 6) * SM4 (cipher): Available ciphers. (line 101) * sync mode (OpenPGP): Working with cipher handles. (line 48) * TIGER, TIGER1, TIGER2: Available hash algorithms. (line 6) * transient-key: Cryptographic Functions. (line 52) * Triple-DES: Available ciphers. (line 14) * Twofish: Available ciphers. (line 46) * Whirlpool: Available hash algorithms. (line 6) * X9.31: Cryptographic Functions. (line 65) * X9.31 <1>: Public-Key Subsystem Architecture. (line 50) * XTS, XTS mode: Available cipher modes. (line 74)  File: gcrypt.info, Node: Function and Data Index, Prev: Concept Index, Up: Top Function and Data Index *********************** [index] * Menu: * AM_PATH_LIBGCRYPT: Building sources using Automake. (line 13) * gcry_buffer_t: Buffer description. (line 9) * gcry_calloc: Memory allocation. (line 15) * gcry_calloc_secure: Memory allocation. (line 22) * gcry_check_version: Initializing the library. (line 15) * gcry_cipher_algo_info: General cipher functions. (line 10) * gcry_cipher_algo_name: General cipher functions. (line 59) * gcry_cipher_authenticate: Working with cipher handles. (line 121) * gcry_cipher_checktag: Working with cipher handles. (line 138) * gcry_cipher_close: Working with cipher handles. (line 64) * gcry_cipher_ctl: Working with cipher handles. (line 235) * gcry_cipher_decrypt: Working with cipher handles. (line 179) * gcry_cipher_encrypt: Working with cipher handles. (line 156) * gcry_cipher_final: Working with cipher handles. (line 205) * gcry_cipher_gettag: Working with cipher handles. (line 127) * gcry_cipher_get_algo_blklen: General cipher functions. (line 51) * gcry_cipher_get_algo_keylen: General cipher functions. (line 41) * gcry_cipher_info: Working with cipher handles. (line 261) * gcry_cipher_map_name: General cipher functions. (line 66) * gcry_cipher_mode_from_oid: General cipher functions. (line 72) * gcry_cipher_open: Working with cipher handles. (line 9) * gcry_cipher_reset: Working with cipher handles. (line 109) * gcry_cipher_setctr: Working with cipher handles. (line 100) * gcry_cipher_setiv: Working with cipher handles. (line 88) * gcry_cipher_setkey: Working with cipher handles. (line 73) * gcry_cipher_set_decryption_tag: Working with cipher handles. (line 216) * gcry_cipher_sync: Working with cipher handles. (line 225) * gcry_control: Controlling the library. (line 6) * gcry_create_nonce: Retrieving random numbers. (line 27) * gcry_ctx_release: Context management. (line 13) * gcry_ctx_t: Context management. (line 10) * gcry_ecc_get_algo_keylen: Dedicated ECC Functions. (line 14) * gcry_ecc_mul_point: Dedicated ECC Functions. (line 19) * gcry_error: Error Values. (line 63) * gcry_error_from_errno: Error Values. (line 85) * gcry_error_t: Error Values. (line 24) * gcry_err_code: Error Values. (line 42) * gcry_err_code_from_errno: Error Values. (line 94) * gcry_err_code_t: Error Values. (line 6) * gcry_err_code_to_errno: Error Values. (line 99) * gcry_err_make: Error Values. (line 55) * gcry_err_make_from_errno: Error Values. (line 79) * gcry_err_source: Error Values. (line 48) * gcry_err_source_t: Error Values. (line 13) * gcry_fips_mode_active: Controlling the library. (line 262) * gcry_free: Memory allocation. (line 33) * gcry_get_config: Config reporting. (line 10) * gcry_handler_alloc_t: Allocation handler. (line 10) * gcry_handler_error_t: Error handler. (line 25) * gcry_handler_free_t: Allocation handler. (line 19) * gcry_handler_log_t: Logging handler. (line 6) * gcry_handler_no_mem_t: Error handler. (line 10) * gcry_handler_progress_t: Progress handler. (line 9) * gcry_handler_realloc_t: Allocation handler. (line 16) * gcry_handler_secure_check_t: Allocation handler. (line 13) * gcry_kdf_derive: Key Derivation. (line 9) * gcry_mac_algo_name: Working with MAC algorithms. (line 114) * gcry_mac_close: Working with MAC algorithms. (line 48) * gcry_mac_get_algo: Working with MAC algorithms. (line 105) * gcry_mac_get_algo_keylen: Working with MAC algorithms. (line 143) * gcry_mac_get_algo_maclen: Working with MAC algorithms. (line 137) * gcry_mac_map_name: Working with MAC algorithms. (line 121) * gcry_mac_open: Working with MAC algorithms. (line 9) * gcry_mac_read: Working with MAC algorithms. (line 82) * gcry_mac_reset: Working with MAC algorithms. (line 59) * gcry_mac_setiv: Working with MAC algorithms. (line 40) * gcry_mac_setkey: Working with MAC algorithms. (line 29) * gcry_mac_test_algo: Working with MAC algorithms. (line 130) * gcry_mac_verify: Working with MAC algorithms. (line 93) * gcry_mac_write: Working with MAC algorithms. (line 70) * gcry_malloc: Memory allocation. (line 6) * gcry_malloc_secure: Memory allocation. (line 12) * gcry_md_algo_name: Working with hash algorithms. (line 227) * gcry_md_close: Working with hash algorithms. (line 78) * gcry_md_copy: Working with hash algorithms. (line 101) * gcry_md_debug: Working with hash algorithms. (line 298) * gcry_md_enable: Working with hash algorithms. (line 57) * gcry_md_extract: Working with hash algorithms. (line 167) * gcry_md_final: Working with hash algorithms. (line 137) * gcry_md_get_algo: Working with hash algorithms. (line 275) * gcry_md_get_algo_dlen: Working with hash algorithms. (line 265) * gcry_md_get_asnoid: Working with hash algorithms. (line 244) * gcry_md_hash_buffer: Working with hash algorithms. (line 208) * gcry_md_hash_buffers: Working with hash algorithms. (line 182) * gcry_md_is_enabled: Working with hash algorithms. (line 288) * gcry_md_is_secure: Working with hash algorithms. (line 282) * gcry_md_map_name: Working with hash algorithms. (line 234) * gcry_md_open: Working with hash algorithms. (line 9) * gcry_md_putc: Working with hash algorithms. (line 126) * gcry_md_read: Working with hash algorithms. (line 151) * gcry_md_reset: Working with hash algorithms. (line 89) * gcry_md_setkey: Working with hash algorithms. (line 66) * gcry_md_test_algo: Working with hash algorithms. (line 258) * gcry_md_write: Working with hash algorithms. (line 115) * gcry_mpi_abs: Basic functions. (line 74) * gcry_mpi_add: Calculations. (line 8) * gcry_mpi_addm: Calculations. (line 18) * gcry_mpi_add_ui: Calculations. (line 13) * gcry_mpi_aprint: MPI formats. (line 60) * gcry_mpi_clear_bit: Bit manipulations. (line 21) * gcry_mpi_clear_flag: Miscellaneous. (line 75) * gcry_mpi_clear_highbit: Bit manipulations. (line 29) * gcry_mpi_cmp: Comparisons. (line 8) * gcry_mpi_cmp_ui: Comparisons. (line 17) * gcry_mpi_copy: Basic functions. (line 24) * gcry_mpi_div: Calculations. (line 58) * gcry_mpi_dump: MPI formats. (line 74) * gcry_mpi_ec_add: EC functions. (line 162) * gcry_mpi_ec_curve_point: EC functions. (line 181) * gcry_mpi_ec_decode_point: EC functions. (line 133) * gcry_mpi_ec_dup: EC functions. (line 156) * gcry_mpi_ec_get_affine: EC functions. (line 143) * gcry_mpi_ec_get_mpi: EC functions. (line 89) * gcry_mpi_ec_get_point: EC functions. (line 107) * gcry_mpi_ec_mul: EC functions. (line 175) * gcry_mpi_ec_new: EC functions. (line 67) * gcry_mpi_ec_set_mpi: EC functions. (line 119) * gcry_mpi_ec_set_point: EC functions. (line 126) * gcry_mpi_ec_sub: EC functions. (line 168) * gcry_mpi_gcd: Calculations. (line 76) * gcry_mpi_get_flag: Miscellaneous. (line 83) * gcry_mpi_get_nbits: Bit manipulations. (line 9) * gcry_mpi_get_opaque: Miscellaneous. (line 31) * gcry_mpi_get_ui: Basic functions. (line 50) * gcry_mpi_invm: Calculations. (line 82) * gcry_mpi_is_neg: Comparisons. (line 23) * gcry_mpi_lshift: Bit manipulations. (line 39) * gcry_mpi_mod: Calculations. (line 66) * gcry_mpi_mul: Calculations. (line 38) * gcry_mpi_mulm: Calculations. (line 48) * gcry_mpi_mul_2exp: Calculations. (line 53) * gcry_mpi_mul_ui: Calculations. (line 43) * gcry_mpi_neg: Basic functions. (line 70) * gcry_mpi_new: Basic functions. (line 9) * gcry_mpi_point_copy: EC functions. (line 23) * gcry_mpi_point_get: EC functions. (line 30) * gcry_mpi_point_new: EC functions. (line 10) * gcry_mpi_point_release: EC functions. (line 18) * gcry_mpi_point_set: EC functions. (line 46) * gcry_mpi_point_snatch_get: EC functions. (line 37) * gcry_mpi_point_snatch_set: EC functions. (line 55) * gcry_mpi_point_t: Data types. (line 9) * gcry_mpi_powm: Calculations. (line 71) * gcry_mpi_print: MPI formats. (line 50) * gcry_mpi_randomize: Miscellaneous. (line 91) * gcry_mpi_release: Basic functions. (line 29) * gcry_mpi_rshift: Bit manipulations. (line 33) * gcry_mpi_scan: MPI formats. (line 9) * gcry_mpi_set: Basic functions. (line 37) * gcry_mpi_set_bit: Bit manipulations. (line 17) * gcry_mpi_set_flag: Miscellaneous. (line 68) * gcry_mpi_set_highbit: Bit manipulations. (line 25) * gcry_mpi_set_opaque: Miscellaneous. (line 9) * gcry_mpi_set_opaque_copy: Miscellaneous. (line 25) * gcry_mpi_set_ui: Basic functions. (line 42) * gcry_mpi_snatch: Basic functions. (line 65) * gcry_mpi_snew: Basic functions. (line 17) * gcry_mpi_sub: Calculations. (line 23) * gcry_mpi_subm: Calculations. (line 33) * gcry_mpi_sub_ui: Calculations. (line 28) * gcry_mpi_swap: Basic functions. (line 61) * gcry_mpi_t: Data types. (line 6) * gcry_mpi_test_bit: Bit manipulations. (line 13) * gcry_pk_algo_info: General public-key related Functions. (line 49) * gcry_pk_algo_name: General public-key related Functions. (line 9) * gcry_pk_ctl: General public-key related Functions. (line 100) * gcry_pk_decrypt: Cryptographic Functions. (line 147) * gcry_pk_encrypt: Cryptographic Functions. (line 90) * gcry_pk_genkey: General public-key related Functions. (line 117) * gcry_pk_get_keygrip: General public-key related Functions. (line 31) * gcry_pk_get_nbits: General public-key related Functions. (line 26) * gcry_pk_hash_sign: Cryptographic Functions. (line 299) * gcry_pk_hash_verify: Cryptographic Functions. (line 319) * gcry_pk_map_name: General public-key related Functions. (line 16) * gcry_pk_random_override_new: Cryptographic Functions. (line 329) * gcry_pk_sign: Cryptographic Functions. (line 186) * gcry_pk_testkey: General public-key related Functions. (line 43) * gcry_pk_test_algo: General public-key related Functions. (line 21) * gcry_pk_verify: Cryptographic Functions. (line 280) * gcry_prime_check: Checking. (line 6) * gcry_prime_generate: Generation. (line 6) * gcry_prime_group_generator: Generation. (line 18) * gcry_prime_release_factors: Generation. (line 26) * gcry_pubkey_get_sexp: General public-key related Functions. (line 340) * gcry_randomize: Retrieving random numbers. (line 6) * gcry_random_bytes: Retrieving random numbers. (line 12) * gcry_random_bytes_secure: Retrieving random numbers. (line 19) * gcry_random_level_t: Quality of random numbers. (line 8) * gcry_realloc: Memory allocation. (line 25) * gcry_set_allocation_handler: Allocation handler. (line 25) * gcry_set_fatalerror_handler: Error handler. (line 29) * gcry_set_log_handler: Logging handler. (line 10) * gcry_set_outofcore_handler: Error handler. (line 13) * gcry_set_progress_handler: Progress handler. (line 19) * gcry_sexp_build: Working with S-expressions. (line 44) * gcry_sexp_canon_len: Working with S-expressions. (line 132) * gcry_sexp_car: Working with S-expressions. (line 165) * gcry_sexp_cdr: Working with S-expressions. (line 172) * gcry_sexp_create: Working with S-expressions. (line 24) * gcry_sexp_dump: Working with S-expressions. (line 123) * gcry_sexp_extract_param: Working with S-expressions. (line 240) * gcry_sexp_find_token: Working with S-expressions. (line 144) * gcry_sexp_length: Working with S-expressions. (line 153) * gcry_sexp_new: Working with S-expressions. (line 11) * gcry_sexp_nth: Working with S-expressions. (line 158) * gcry_sexp_nth_buffer: Working with S-expressions. (line 199) * gcry_sexp_nth_data: Working with S-expressions. (line 180) * gcry_sexp_nth_mpi: Working with S-expressions. (line 228) * gcry_sexp_nth_string: Working with S-expressions. (line 220) * gcry_sexp_release: Working with S-expressions. (line 87) * gcry_sexp_sprint: Working with S-expressions. (line 98) * gcry_sexp_sscan: Working with S-expressions. (line 37) * gcry_sexp_t: Data types for S-expressions. (line 6) * gcry_strerror: Error Strings. (line 6) * gcry_strsource: Error Strings. (line 12)