This file is indexed.

/usr/share/doc/libgcrypt11-doc/html/Hashing-and-MACing-Subsystem-Architecture.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
<!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: Hashing and MACing Subsystem Architecture</title>

<meta name="description" content="The Libgcrypt Reference Manual: Hashing and MACing Subsystem Architecture">
<meta name="keywords" content="The Libgcrypt Reference Manual: Hashing and MACing Subsystem Architecture">
<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="Architecture.html#Architecture" rel="up" title="Architecture">
<link href="Multi_002dPrecision_002dInteger-Subsystem-Architecture.html#Multi_002dPrecision_002dInteger-Subsystem-Architecture" rel="next" title="Multi-Precision-Integer Subsystem Architecture">
<link href="Symmetric-Encryption-Subsystem-Architecture.html#Symmetric-Encryption-Subsystem-Architecture" rel="prev" title="Symmetric Encryption Subsystem Architecture">
<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="Hashing-and-MACing-Subsystem-Architecture"></a>
<div class="header">
<p>
Next: <a href="Multi_002dPrecision_002dInteger-Subsystem-Architecture.html#Multi_002dPrecision_002dInteger-Subsystem-Architecture" accesskey="n" rel="next">Multi-Precision-Integer Subsystem Architecture</a>, Previous: <a href="Symmetric-Encryption-Subsystem-Architecture.html#Symmetric-Encryption-Subsystem-Architecture" accesskey="p" rel="prev">Symmetric Encryption Subsystem Architecture</a>, Up: <a href="Architecture.html#Architecture" accesskey="u" rel="up">Architecture</a> &nbsp; [<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="Hashing-and-MACing-Subsystem-Architecture-1"></a>
<h3 class="section">14.3 Hashing and MACing Subsystem Architecture</h3>

<p>The interface to work with message digests and CRC algorithms is made
up of functions from the <code>gcry_md_</code> name space.  The
implementation follows the open-use-close paradigm and uses registered
algorithm modules for the actual work.  Although CRC algorithms are
not considered cryptographic hash algorithms, they share enough
properties so that it makes sense to handle them in the same way.
It is possible to use several algorithms at once with one context and
thus compute them all on the same data.
</p>
<p>The most important functions are:
</p>
<dl compact="compact">
<dt><code>gcry_md_open</code></dt>
<dd><p>Create a new message digest instance and optionally enable one
algorithm.  A flag may be used to turn the message digest algorithm
into a HMAC algorithm.
</p>
</dd>
<dt><code>gcry_md_enable</code></dt>
<dd><p>Enable an additional algorithm for the instance.
</p>
</dd>
<dt><code>gcry_md_setkey</code></dt>
<dd><p>Set the key for the MAC.
</p>
</dd>
<dt><code>gcry_md_write</code></dt>
<dd><p>Pass more data for computing the message digest to an instance.
</p>
</dd>
<dt><code>gcry_md_putc</code></dt>
<dd><p>Buffered version of <code>gcry_md_write</code> implemented as a macro.
</p>
</dd>
<dt><code>gcry_md_read</code></dt>
<dd><p>Finalize the computation of the message digest or HMAC and return the
result.
</p>
</dd>
<dt><code>gcry_md_close</code></dt>
<dd><p>Release an instance
</p>
</dd>
<dt><code>gcry_md_hash_buffer</code></dt>
<dd><p>Convenience function to directly compute a message digest over a
memory buffer without the need to create an instance first.
</p>
</dd>
</dl>

<p>There are also functions to query properties of algorithms or the
instance, like enabled algorithms, digest length, map algorithm names.
it is also possible to reset an instance or to copy the current state
of an instance at any time.  Debug functions to write the hashed data
to files are available as well.
</p>


<hr>
<div class="header">
<p>
Next: <a href="Multi_002dPrecision_002dInteger-Subsystem-Architecture.html#Multi_002dPrecision_002dInteger-Subsystem-Architecture" accesskey="n" rel="next">Multi-Precision-Integer Subsystem Architecture</a>, Previous: <a href="Symmetric-Encryption-Subsystem-Architecture.html#Symmetric-Encryption-Subsystem-Architecture" accesskey="p" rel="prev">Symmetric Encryption Subsystem Architecture</a>, Up: <a href="Architecture.html#Architecture" accesskey="u" rel="up">Architecture</a> &nbsp; [<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>