This file is indexed.

/usr/share/doc/libgcrypt11-doc/html/Symmetric-Encryption-Subsystem-Architecture.html is in libgcrypt11-doc 1.5.0-3ubuntu0.6.

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
<html lang="en">
<head>
<title>Symmetric Encryption Subsystem Architecture - The Libgcrypt Reference Manual</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The Libgcrypt Reference Manual">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Architecture.html#Architecture" title="Architecture">
<link rel="prev" href="Public_002dKey-Subsystem-Architecture.html#Public_002dKey-Subsystem-Architecture" title="Public-Key Subsystem Architecture">
<link rel="next" href="Hashing-and-MACing-Subsystem-Architecture.html#Hashing-and-MACing-Subsystem-Architecture" title="Hashing and MACing Subsystem Architecture">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This manual is for Libgcrypt
(version 1.5.0, 29 June 2011),
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''.
   -->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Symmetric-Encryption-Subsystem-Architecture"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Hashing-and-MACing-Subsystem-Architecture.html#Hashing-and-MACing-Subsystem-Architecture">Hashing and MACing Subsystem Architecture</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Public_002dKey-Subsystem-Architecture.html#Public_002dKey-Subsystem-Architecture">Public-Key Subsystem Architecture</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Architecture.html#Architecture">Architecture</a>
<hr>
</div>

<h3 class="section">14.2 Symmetric Encryption Subsystem Architecture</h3>

<p>The interface to work with symmetric encryption algorithms is made up
of functions from the <code>gcry_cipher_</code> name space.  The
implementation follows the open-use-close paradigm and uses registered
algorithm modules for the actual work.  Unless a module implements
optimized cipher mode implementations, the high level code
(<samp><span class="file">cipher/cipher.c</span></samp>) implements the modes and calls the core
algorithm functions to process each block.

   <p>The most important functions are:

     <dl>
<dt><code>gcry_cipher_open</code><dd>Create a new instance to encrypt or decrypt using a specified
algorithm and mode.

     <br><dt><code>gcry_cipher_close</code><dd>Release an instance.

     <br><dt><code>gcry_cipher_setkey</code><dd>Set a key to be used for encryption or decryption.

     <br><dt><code>gcry_cipher_setiv</code><dd>Set an initialization vector to be used for encryption or decryption.

     <br><dt><code>gcry_cipher_encrypt</code><dt><code>gcry_cipher_decrypt</code><dd>Encrypt or decrypt data.  These functions may be called with arbitrary
amounts of data and as often as needed to encrypt or decrypt all data.

   </dl>

   <p>There are also functions to query properties of algorithms or context,
like block length, key length, map names or to enable features like
padding methods.

   </body></html>