/usr/share/doc/libgcrypt11-doc/html/General-cipher-functions.html is in libgcrypt11-doc 1.5.3-2ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for Libgcrypt
(version 1.5.3, 17 December 2013),
which is GNU's library of cryptographic building blocks.
Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
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". -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>The Libgcrypt Reference Manual: General cipher functions</title>
<meta name="description" content="The Libgcrypt Reference Manual: General cipher functions">
<meta name="keywords" content="The Libgcrypt Reference Manual: General cipher functions">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Symmetric-cryptography.html#Symmetric-cryptography" rel="up" title="Symmetric cryptography">
<link href="Public-Key-cryptography.html#Public-Key-cryptography" rel="next" title="Public Key cryptography">
<link href="Working-with-cipher-handles.html#Working-with-cipher-handles" rel="prev" title="Working with cipher handles">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="General-cipher-functions"></a>
<div class="header">
<p>
Previous: <a href="Working-with-cipher-handles.html#Working-with-cipher-handles" accesskey="p" rel="prev">Working with cipher handles</a>, Up: <a href="Symmetric-cryptography.html#Symmetric-cryptography" accesskey="u" rel="up">Symmetric cryptography</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="General-cipher-functions-1"></a>
<h3 class="section">5.5 General cipher functions</h3>
<p>To work with the algorithms, several functions are available to map
algorithm names to the internal identifiers, as well as ways to
retrieve information about an algorithm or the current cipher context.
</p>
<dl>
<dt><a name="index-gcry_005fcipher_005falgo_005finfo"></a>Function: <em>gcry_error_t</em> <strong>gcry_cipher_algo_info</strong> <em>(int <var>algo</var>, int <var>what</var>, void *<var>buffer</var>, size_t *<var>nbytes</var>)</em></dt>
<dd>
<p>This function is used to retrieve information on a specific algorithm.
You pass the cipher algorithm ID as <var>algo</var> and the type of
information requested as <var>what</var>. The result is either returned as
the return code of the function or copied to the provided <var>buffer</var>
whose allocated length must be available in an integer variable with the
address passed in <var>nbytes</var>. This variable will also receive the
actual used length of the buffer.
</p>
<p>Here is a list of supported codes for <var>what</var>:
</p>
<dl compact="compact">
<dt><code>GCRYCTL_GET_KEYLEN:</code></dt>
<dd><p>Return the length of the key. If the algorithm supports multiple key
lengths, the maximum supported value is returned. The length is
returned as number of octets (bytes) and not as number of bits in
<var>nbytes</var>; <var>buffer</var> must be zero. Note that it is usually
better to use the convenience function
<code>gcry_cipher_get_algo_keylen</code>.
</p>
</dd>
<dt><code>GCRYCTL_GET_BLKLEN:</code></dt>
<dd><p>Return the block length of the algorithm. The length is returned as a
number of octets in <var>nbytes</var>; <var>buffer</var> must be zero. Note
that it is usually better to use the convenience function
<code>gcry_cipher_get_algo_blklen</code>.
</p>
</dd>
<dt><code>GCRYCTL_TEST_ALGO:</code></dt>
<dd><p>Returns <code>0</code> when the specified algorithm is available for use.
<var>buffer</var> and <var>nbytes</var> must be zero.
</p>
</dd>
</dl>
</dd></dl>
<dl>
<dt><a name="index-gcry_005fcipher_005fget_005falgo_005fkeylen"></a>Function: <em>size_t</em> <strong>gcry_cipher_get_algo_keylen</strong> <em>(<var>algo</var>)</em></dt>
<dd>
<p>This function returns length of the key for algorithm <var>algo</var>. If
the algorithm supports multiple key lengths, the maximum supported key
length is returned. On error <code>0</code> is returned. The key length is
returned as number of octets.
</p>
<p>This is a convenience functions which should be preferred over
<code>gcry_cipher_algo_info</code> because it allows for proper type
checking.
</p></dd></dl>
<dl>
<dt><a name="index-gcry_005fcipher_005fget_005falgo_005fblklen"></a>Function: <em>size_t</em> <strong>gcry_cipher_get_algo_blklen</strong> <em>(int <var>algo</var>)</em></dt>
<dd>
<p>This functions returns the blocklength of the algorithm <var>algo</var>
counted in octets. On error <code>0</code> is returned.
</p>
<p>This is a convenience functions which should be preferred over
<code>gcry_cipher_algo_info</code> because it allows for proper type
checking.
</p></dd></dl>
<dl>
<dt><a name="index-gcry_005fcipher_005falgo_005fname"></a>Function: <em>const char *</em> <strong>gcry_cipher_algo_name</strong> <em>(int <var>algo</var>)</em></dt>
<dd>
<p><code>gcry_cipher_algo_name</code> returns a string with the name of the
cipher algorithm <var>algo</var>. If the algorithm is not known or another
error occurred, the string <code>"?"</code> is returned. This function should
not be used to test for the availability of an algorithm.
</p></dd></dl>
<dl>
<dt><a name="index-gcry_005fcipher_005fmap_005fname"></a>Function: <em>int</em> <strong>gcry_cipher_map_name</strong> <em>(const char *<var>name</var>)</em></dt>
<dd>
<p><code>gcry_cipher_map_name</code> returns the algorithm identifier for the
cipher algorithm described by the string <var>name</var>. If this algorithm
is not available <code>0</code> is returned.
</p></dd></dl>
<dl>
<dt><a name="index-gcry_005fcipher_005fmode_005ffrom_005foid"></a>Function: <em>int</em> <strong>gcry_cipher_mode_from_oid</strong> <em>(const char *<var>string</var>)</em></dt>
<dd>
<p>Return the cipher mode associated with an <acronym>ASN.1</acronym> object
identifier. The object identifier is expected to be in the
<acronym>IETF</acronym>-style dotted decimal notation. The function returns
<code>0</code> for an unknown object identifier or when no mode is associated
with it.
</p></dd></dl>
<hr>
<div class="header">
<p>
Previous: <a href="Working-with-cipher-handles.html#Working-with-cipher-handles" accesskey="p" rel="prev">Working with cipher handles</a>, Up: <a href="Symmetric-cryptography.html#Symmetric-cryptography" accesskey="u" rel="up">Symmetric cryptography</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|