This is /home/wk/s/libgcrypt/doc/gcrypt.info, produced by makeinfo
version 4.13 from /home/wk/s/libgcrypt/doc/gcrypt.texi.

This manual is for Libgcrypt (version 1.6.1, 29 January 2014), which 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 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: 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  10)
* gcry_calloc:                           Memory allocation.   (line  15)
* gcry_calloc_secure:                    Memory allocation.   (line  21)
* gcry_check_version:                    Initializing the library.
                                                              (line  17)
* gcry_cipher_algo_info:                 General cipher functions.
                                                              (line  12)
* gcry_cipher_algo_name:                 General cipher functions.
                                                              (line  59)
* gcry_cipher_authenticate:              Working with cipher handles.
                                                              (line 120)
* gcry_cipher_checktag:                  Working with cipher handles.
                                                              (line 133)
* gcry_cipher_close:                     Working with cipher handles.
                                                              (line  62)
* gcry_cipher_ctl:                       Working with cipher handles.
                                                              (line 197)
* gcry_cipher_decrypt:                   Working with cipher handles.
                                                              (line 167)
* gcry_cipher_encrypt:                   Working with cipher handles.
                                                              (line 148)
* gcry_cipher_get_algo_blklen:           General cipher functions.
                                                              (line  52)
* gcry_cipher_get_algo_keylen:           General cipher functions.
                                                              (line  43)
* gcry_cipher_gettag:                    Working with cipher handles.
                                                              (line 126)
* gcry_cipher_info:                      Working with cipher handles.
                                                              (line 206)
* gcry_cipher_map_name:                  General cipher functions.
                                                              (line  65)
* gcry_cipher_mode_from_oid:             General cipher functions.
                                                              (line  70)
* gcry_cipher_open:                      Working with cipher handles.
                                                              (line  11)
* gcry_cipher_reset:                     Working with cipher handles.
                                                              (line 108)
* gcry_cipher_setctr:                    Working with cipher handles.
                                                              (line 101)
* gcry_cipher_setiv:                     Working with cipher handles.
                                                              (line  86)
* gcry_cipher_setkey:                    Working with cipher handles.
                                                              (line  71)
* gcry_cipher_sync:                      Working with cipher handles.
                                                              (line 187)
* gcry_control:                          Controlling the library.
                                                              (line   7)
* gcry_create_nonce:                     Retrieving random numbers.
                                                              (line  26)
* gcry_ctx_release:                      Context management.  (line  14)
* gcry_ctx_t:                            Context management.  (line  11)
* gcry_err_code:                         Error Values.        (line  43)
* gcry_err_code_from_errno:              Error Values.        (line  95)
* gcry_err_code_t:                       Error Values.        (line   7)
* gcry_err_code_to_errno:                Error Values.        (line 100)
* gcry_err_make:                         Error Values.        (line  57)
* gcry_err_make_from_errno:              Error Values.        (line  81)
* gcry_err_source:                       Error Values.        (line  49)
* gcry_err_source_t:                     Error Values.        (line  14)
* gcry_error:                            Error Values.        (line  64)
* gcry_error_from_errno:                 Error Values.        (line  86)
* gcry_error_t:                          Error Values.        (line  25)
* gcry_fips_mode_active:                 Controlling the library.
                                                              (line 249)
* gcry_free:                             Memory allocation.   (line  31)
* gcry_handler_alloc_t:                  Allocation handler.  (line  12)
* gcry_handler_error_t:                  Error handler.       (line  27)
* gcry_handler_free_t:                   Allocation handler.  (line  24)
* gcry_handler_log_t:                    Logging handler.     (line   7)
* gcry_handler_no_mem_t:                 Error handler.       (line  11)
* gcry_handler_progress_t:               Progress handler.    (line  10)
* gcry_handler_realloc_t:                Allocation handler.  (line  20)
* gcry_handler_secure_check_t:           Allocation handler.  (line  16)
* gcry_kdf_derive:                       Key Derivation.      (line  13)
* gcry_mac_algo_name:                    Working with MAC algorithms.
                                                              (line  97)
* gcry_mac_close:                        Working with MAC algorithms.
                                                              (line  48)
* gcry_mac_get_algo_keylen:              Working with MAC algorithms.
                                                              (line 122)
* gcry_mac_get_algo_maclen:              Working with MAC algorithms.
                                                              (line 117)
* gcry_mac_map_name:                     Working with MAC algorithms.
                                                              (line 103)
* gcry_mac_open:                         Working with MAC algorithms.
                                                              (line  11)
* gcry_mac_read:                         Working with MAC algorithms.
                                                              (line  76)
* gcry_mac_reset:                        Working with MAC algorithms.
                                                              (line  58)
* gcry_mac_setiv:                        Working with MAC algorithms.
                                                              (line  42)
* gcry_mac_setkey:                       Working with MAC algorithms.
                                                              (line  32)
* gcry_mac_test_algo:                    Working with MAC algorithms.
                                                              (line 111)
* gcry_mac_verify:                       Working with MAC algorithms.
                                                              (line  86)
* gcry_mac_write:                        Working with MAC algorithms.
                                                              (line  69)
* gcry_malloc:                           Memory allocation.   (line   7)
* gcry_malloc_secure:                    Memory allocation.   (line  12)
* gcry_md_algo_name:                     Working with hash algorithms.
                                                              (line 194)
* gcry_md_close:                         Working with hash algorithms.
                                                              (line  76)
* gcry_md_copy:                          Working with hash algorithms.
                                                              (line  99)
* gcry_md_debug:                         Working with hash algorithms.
                                                              (line 258)
* gcry_md_enable:                        Working with hash algorithms.
                                                              (line  59)
* gcry_md_final:                         Working with hash algorithms.
                                                              (line 127)
* gcry_md_get_algo:                      Working with hash algorithms.
                                                              (line 238)
* gcry_md_get_algo_dlen:                 Working with hash algorithms.
                                                              (line 229)
* gcry_md_get_asnoid:                    Working with hash algorithms.
                                                              (line 210)
* gcry_md_hash_buffer:                   Working with hash algorithms.
                                                              (line 177)
* gcry_md_hash_buffers:                  Working with hash algorithms.
                                                              (line 153)
* gcry_md_is_enabled:                    Working with hash algorithms.
                                                              (line 249)
* gcry_md_is_secure:                     Working with hash algorithms.
                                                              (line 244)
* gcry_md_map_name:                      Working with hash algorithms.
                                                              (line 200)
* gcry_md_open:                          Working with hash algorithms.
                                                              (line  11)
* gcry_md_putc:                          Working with hash algorithms.
                                                              (line 117)
* gcry_md_read:                          Working with hash algorithms.
                                                              (line 137)
* gcry_md_reset:                         Working with hash algorithms.
                                                              (line  87)
* gcry_md_setkey:                        Working with hash algorithms.
                                                              (line  68)
* gcry_md_test_algo:                     Working with hash algorithms.
                                                              (line 223)
* gcry_md_write:                         Working with hash algorithms.
                                                              (line 112)
* gcry_mpi_abs:                          Basic functions.     (line  55)
* gcry_mpi_add:                          Calculations.        (line  10)
* gcry_mpi_add_ui:                       Calculations.        (line  14)
* gcry_mpi_addm:                         Calculations.        (line  18)
* gcry_mpi_aprint:                       MPI formats.         (line  58)
* gcry_mpi_clear_bit:                    Bit manipulations.   (line  19)
* gcry_mpi_clear_flag:                   Miscellaneous.       (line  77)
* gcry_mpi_clear_highbit:                Bit manipulations.   (line  25)
* gcry_mpi_cmp:                          Comparisons.         (line   9)
* gcry_mpi_cmp_ui:                       Comparisons.         (line  17)
* gcry_mpi_copy:                         Basic functions.     (line  23)
* gcry_mpi_div:                          Calculations.        (line  50)
* gcry_mpi_dump:                         MPI formats.         (line  71)
* gcry_mpi_ec_add:                       EC functions.        (line 135)
* gcry_mpi_ec_curve_point:               EC functions.        (line 145)
* gcry_mpi_ec_dup:                       EC functions.        (line 130)
* gcry_mpi_ec_get_affine:                EC functions.        (line 117)
* gcry_mpi_ec_get_mpi:                   EC functions.        (line  77)
* gcry_mpi_ec_get_point:                 EC functions.        (line  94)
* gcry_mpi_ec_mul:                       EC functions.        (line 140)
* gcry_mpi_ec_p_new:                     EC functions.        (line  56)
* gcry_mpi_ec_set_mpi:                   EC functions.        (line 105)
* gcry_mpi_ec_set_point:                 EC functions.        (line 111)
* gcry_mpi_gcd:                          Calculations.        (line  63)
* gcry_mpi_get_flag:                     Miscellaneous.       (line  85)
* gcry_mpi_get_nbits:                    Bit manipulations.   (line  10)
* gcry_mpi_get_opaque:                   Miscellaneous.       (line  31)
* gcry_mpi_invm:                         Calculations.        (line  68)
* gcry_mpi_is_neg:                       Comparisons.         (line  22)
* gcry_mpi_lshift:                       Bit manipulations.   (line  34)
* gcry_mpi_mod:                          Calculations.        (line  55)
* gcry_mpi_mul:                          Calculations.        (line  34)
* gcry_mpi_mul_2exp:                     Calculations.        (line  46)
* gcry_mpi_mul_ui:                       Calculations.        (line  38)
* gcry_mpi_mulm:                         Calculations.        (line  42)
* gcry_mpi_neg:                          Basic functions.     (line  52)
* gcry_mpi_new:                          Basic functions.     (line  10)
* gcry_mpi_point_get:                    EC functions.        (line  23)
* gcry_mpi_point_new:                    EC functions.        (line  11)
* gcry_mpi_point_release:                EC functions.        (line  18)
* gcry_mpi_point_set:                    EC functions.        (line  38)
* gcry_mpi_point_snatch_get:             EC functions.        (line  29)
* gcry_mpi_point_snatch_set:             EC functions.        (line  46)
* gcry_mpi_point_t:                      Data types.          (line  10)
* gcry_mpi_powm:                         Calculations.        (line  59)
* gcry_mpi_print:                        MPI formats.         (line  49)
* gcry_mpi_randomize:                    Miscellaneous.       (line  92)
* gcry_mpi_release:                      Basic functions.     (line  27)
* gcry_mpi_rshift:                       Bit manipulations.   (line  29)
* gcry_mpi_scan:                         MPI formats.         (line  12)
* gcry_mpi_set:                          Basic functions.     (line  34)
* gcry_mpi_set_bit:                      Bit manipulations.   (line  16)
* gcry_mpi_set_flag:                     Miscellaneous.       (line  71)
* gcry_mpi_set_highbit:                  Bit manipulations.   (line  22)
* gcry_mpi_set_opaque:                   Miscellaneous.       (line  11)
* gcry_mpi_set_opaque_copy:              Miscellaneous.       (line  26)
* gcry_mpi_set_ui:                       Basic functions.     (line  38)
* gcry_mpi_snatch:                       Basic functions.     (line  48)
* gcry_mpi_snew:                         Basic functions.     (line  17)
* gcry_mpi_sub:                          Calculations.        (line  22)
* gcry_mpi_sub_ui:                       Calculations.        (line  26)
* gcry_mpi_subm:                         Calculations.        (line  30)
* gcry_mpi_swap:                         Basic functions.     (line  45)
* gcry_mpi_t:                            Data types.          (line   7)
* gcry_mpi_test_bit:                     Bit manipulations.   (line  13)
* gcry_pk_algo_info:                     General public-key related Functions.
                                                              (line  47)
* gcry_pk_algo_name:                     General public-key related Functions.
                                                              (line  10)
* gcry_pk_ctl:                           General public-key related Functions.
                                                              (line 100)
* gcry_pk_decrypt:                       Cryptographic Functions.
                                                              (line 142)
* gcry_pk_encrypt:                       Cryptographic Functions.
                                                              (line  86)
* gcry_pk_genkey:                        General public-key related Functions.
                                                              (line 117)
* gcry_pk_get_keygrip:                   General public-key related Functions.
                                                              (line  29)
* gcry_pk_get_nbits:                     General public-key related Functions.
                                                              (line  24)
* gcry_pk_map_name:                      General public-key related Functions.
                                                              (line  16)
* gcry_pk_sign:                          Cryptographic Functions.
                                                              (line 180)
* gcry_pk_test_algo:                     General public-key related Functions.
                                                              (line  20)
* gcry_pk_testkey:                       General public-key related Functions.
                                                              (line  40)
* gcry_pk_verify:                        Cryptographic Functions.
                                                              (line 271)
* gcry_prime_check:                      Checking.            (line   8)
* gcry_prime_generate:                   Generation.          (line  10)
* gcry_prime_group_generator:            Generation.          (line  19)
* gcry_prime_release_factors:            Generation.          (line  25)
* gcry_pubkey_get_sexp:                  General public-key related Functions.
                                                              (line 316)
* gcry_random_bytes:                     Retrieving random numbers.
                                                              (line  13)
* gcry_random_bytes_secure:              Retrieving random numbers.
                                                              (line  19)
* gcry_random_level_t:                   Quality of random numbers.
                                                              (line   9)
* gcry_randomize:                        Retrieving random numbers.
                                                              (line   8)
* gcry_realloc:                          Memory allocation.   (line  24)
* gcry_set_allocation_handler:           Allocation handler.  (line  34)
* gcry_set_fatalerror_handler:           Error handler.       (line  32)
* gcry_set_log_handler:                  Logging handler.     (line  12)
* gcry_set_outofcore_handler:            Error handler.       (line  16)
* gcry_set_progress_handler:             Progress handler.    (line  21)
* gcry_sexp_build:                       Working with S-expressions.
                                                              (line  43)
* gcry_sexp_canon_len:                   Working with S-expressions.
                                                              (line 135)
* gcry_sexp_car:                         Working with S-expressions.
                                                              (line 164)
* gcry_sexp_cdr:                         Working with S-expressions.
                                                              (line 170)
* gcry_sexp_create:                      Working with S-expressions.
                                                              (line  26)
* gcry_sexp_dump:                        Working with S-expressions.
                                                              (line 126)
* gcry_sexp_extract_param:               Working with S-expressions.
                                                              (line 234)
* gcry_sexp_find_token:                  Working with S-expressions.
                                                              (line 147)
* gcry_sexp_length:                      Working with S-expressions.
                                                              (line 154)
* gcry_sexp_new:                         Working with S-expressions.
                                                              (line  13)
* gcry_sexp_nth:                         Working with S-expressions.
                                                              (line 159)
* gcry_sexp_nth_buffer:                  Working with S-expressions.
                                                              (line 196)
* gcry_sexp_nth_data:                    Working with S-expressions.
                                                              (line 178)
* gcry_sexp_nth_mpi:                     Working with S-expressions.
                                                              (line 223)
* gcry_sexp_nth_string:                  Working with S-expressions.
                                                              (line 215)
* gcry_sexp_release:                     Working with S-expressions.
                                                              (line  92)
* gcry_sexp_sprint:                      Working with S-expressions.
                                                              (line 103)
* gcry_sexp_sscan:                       Working with S-expressions.
                                                              (line  37)
* gcry_sexp_t:                           Data types for S-expressions.
                                                              (line   7)
* gcry_strerror:                         Error Strings.       (line   7)
* gcry_strsource:                        Error Strings.       (line  13)


