/usr/share/doc/libkcapi/html/Usage.html is in libkcapi-doc 1.0.3-2.
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 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2. Programming Guidelines</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="index.html" title="Linux Kernel Crypto API User Space Interface Library"><link rel="up" href="index.html" title="Linux Kernel Crypto API User Space Interface Library"><link rel="prev" href="ch01s02.html" title="Purpose Of AF_ALG"><link rel="next" href="ch02s02.html" title="Synchronous Symmetric Cipher API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Programming Guidelines</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="Usage"></a>Chapter 2. Programming Guidelines</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="Usage.html#idm50">Convenience Functions</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">Synchronous Symmetric Cipher API</a></span></dt><dt><span class="sect1"><a href="ch02s03.html">Asynchronous Symmetric Cipher API</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">AEAD Cipher API</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#idm79">Aynchronous AEAD Cipher API</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#idm82">AEAD Memory Structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">Message Digest API</a></span></dt><dt><span class="sect1"><a href="ch02s06.html">Asymmetric Cipher API</a></span></dt><dt><span class="sect1"><a href="ch02s07.html">Zero Copy</a></span></dt><dt><span class="sect1"><a href="ch02s08.html">Memory Allocation</a></span></dt><dt><span class="sect1"><a href="ch02s09.html">Kernel Interfaces</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#idm152">Kernel Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">Example Code</a></span></dt></dl></div><p>
A consumer has to use the kcapi.h header file to link with libkcapi. The
linking has to be performed using -lkcapi.
</p><p>
In case a consumer does not want a shared library, the libkcapi C file and
header file can also just copied to the consumer code and compiled along
with it.
</p><p>
A general requirement must be observed: setting of keys must be performed
before any operation. Re-setting of keys is only permissible once
all data in flight (sent to the kernel but the kernel's result is not yet
obtained) is processed, i.e. no data is in flight any more.
</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm50"></a>Convenience Functions</h2></div></div></div><p>
To support various use cases, the API provided with libkcapi is extensive.
Though, some developers want to simply use a given cipher without any
specific details. To accommodate such users, libkcapi provides convenience
functions or convenience wrappers.
</p><p>
The convenience functions provide exactly one function call to perform one
complete cipher operation, such as an AES CBC encryption operation or a
SHA-256 hashing. The caller only needs to provide the input and
output buffers of his data. The entire intrinsic operation of libkcapi
is hidden from the user.
</p><p>
Convenience functions are provided for the different cipher types. They are
clearly marked in the API specification below.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Purpose Of AF_ALG </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Synchronous Symmetric Cipher API</td></tr></table></div></body></html>
|