This is gcrypt.info, produced by makeinfo version 6.5 from gcrypt.texi. This manual is for Libgcrypt version 1.10.1 and was last updated 28 March 2022. 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 72) * FIPS 186 <1>: Public-Key Subsystem Architecture. (line 50) * FIPS 186-2: Cryptographic Functions. (line 80) * 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 11) * 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 245) * 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 86) * gcry_error_t: Error Values. (line 24) * gcry_err_code: Error Values. (line 42) * gcry_err_code_from_errno: Error Values. (line 95) * gcry_err_code_t: Error Values. (line 6) * gcry_err_code_to_errno: Error Values. (line 100) * 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 75) * gcry_mpi_add: Calculations. (line 8) * gcry_mpi_addm: Calculations. (line 19) * gcry_mpi_add_ui: Calculations. (line 14) * gcry_mpi_aprint: MPI formats. (line 59) * gcry_mpi_clear_bit: Bit manipulations. (line 21) * gcry_mpi_clear_flag: Miscellaneous. (line 77) * 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 61) * gcry_mpi_dump: MPI formats. (line 74) * gcry_mpi_ec_add: EC functions. (line 166) * gcry_mpi_ec_curve_point: EC functions. (line 185) * gcry_mpi_ec_decode_point: EC functions. (line 136) * gcry_mpi_ec_dup: EC functions. (line 160) * gcry_mpi_ec_get_affine: EC functions. (line 147) * gcry_mpi_ec_get_mpi: EC functions. (line 91) * gcry_mpi_ec_get_point: EC functions. (line 109) * gcry_mpi_ec_mul: EC functions. (line 179) * gcry_mpi_ec_new: EC functions. (line 69) * gcry_mpi_ec_set_mpi: EC functions. (line 122) * gcry_mpi_ec_set_point: EC functions. (line 129) * gcry_mpi_ec_sub: EC functions. (line 172) * gcry_mpi_gcd: Calculations. (line 80) * gcry_mpi_get_flag: Miscellaneous. (line 85) * 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 86) * gcry_mpi_is_neg: Comparisons. (line 23) * gcry_mpi_lshift: Bit manipulations. (line 39) * gcry_mpi_mod: Calculations. (line 70) * gcry_mpi_mul: Calculations. (line 40) * gcry_mpi_mulm: Calculations. (line 51) * gcry_mpi_mul_2exp: Calculations. (line 56) * gcry_mpi_mul_ui: Calculations. (line 46) * gcry_mpi_neg: Basic functions. (line 71) * gcry_mpi_new: Basic functions. (line 9) * gcry_mpi_point_copy: EC functions. (line 23) * gcry_mpi_point_get: EC functions. (line 31) * gcry_mpi_point_new: EC functions. (line 10) * gcry_mpi_point_release: EC functions. (line 18) * gcry_mpi_point_set: EC functions. (line 47) * gcry_mpi_point_snatch_get: EC functions. (line 38) * gcry_mpi_point_snatch_set: EC functions. (line 57) * gcry_mpi_point_t: Data types. (line 9) * gcry_mpi_powm: Calculations. (line 75) * gcry_mpi_print: MPI formats. (line 49) * gcry_mpi_randomize: Miscellaneous. (line 94) * 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 69) * 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 66) * gcry_mpi_snew: Basic functions. (line 17) * gcry_mpi_sub: Calculations. (line 24) * gcry_mpi_subm: Calculations. (line 35) * gcry_mpi_sub_ui: Calculations. (line 30) * gcry_mpi_swap: Basic functions. (line 62) * 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 101) * gcry_pk_decrypt: Cryptographic Functions. (line 148) * gcry_pk_encrypt: Cryptographic Functions. (line 91) * gcry_pk_genkey: General public-key related Functions. (line 119) * 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 301) * gcry_pk_hash_verify: Cryptographic Functions. (line 321) * gcry_pk_map_name: General public-key related Functions. (line 16) * gcry_pk_random_override_new: Cryptographic Functions. (line 331) * gcry_pk_sign: Cryptographic Functions. (line 187) * 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 281) * 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 313) * 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 46) * gcry_sexp_canon_len: Working with S-expressions. (line 134) * gcry_sexp_car: Working with S-expressions. (line 168) * gcry_sexp_cdr: Working with S-expressions. (line 175) * gcry_sexp_create: Working with S-expressions. (line 24) * gcry_sexp_dump: Working with S-expressions. (line 125) * gcry_sexp_extract_param: Working with S-expressions. (line 244) * gcry_sexp_find_token: Working with S-expressions. (line 146) * gcry_sexp_length: Working with S-expressions. (line 155) * gcry_sexp_new: Working with S-expressions. (line 11) * gcry_sexp_nth: Working with S-expressions. (line 160) * gcry_sexp_nth_buffer: Working with S-expressions. (line 202) * gcry_sexp_nth_data: Working with S-expressions. (line 183) * gcry_sexp_nth_mpi: Working with S-expressions. (line 232) * gcry_sexp_nth_string: Working with S-expressions. (line 224) * gcry_sexp_release: Working with S-expressions. (line 89) * gcry_sexp_sprint: Working with S-expressions. (line 100) * gcry_sexp_sscan: Working with S-expressions. (line 39) * gcry_sexp_t: Data types for S-expressions. (line 6) * gcry_strerror: Error Strings. (line 6) * gcry_strsource: Error Strings. (line 12)