/usr/share/doc/libkcapi/html/API-kcapi-aead-stream-init-enc.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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>kcapi_aead_stream_init_enc</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="ch03s10.html" title="Synchronous AEAD Cipher API - Stream"><link rel="prev" href="ch03s10.html" title="Synchronous AEAD Cipher API - Stream"><link rel="next" href="API-kcapi-aead-stream-init-dec.html" title="kcapi_aead_stream_init_dec"></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"><span class="phrase">kcapi_aead_stream_init_enc</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s10.html">Prev</a> </td><th width="60%" align="center">Synchronous AEAD Cipher API - Stream</th><td width="20%" align="right"> <a accesskey="n" href="API-kcapi-aead-stream-init-dec.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-kcapi-aead-stream-init-enc"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>kcapi_aead_stream_init_enc —
start an encryption operation (stream)
</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int32_t <b class="fsfunc">kcapi_aead_stream_init_enc </b>(</code></td><td>struct kcapi_handle * <var class="pdparam">handle</var>, </td></tr><tr><td> </td><td>const uint8_t * <var class="pdparam">iv</var>, </td></tr><tr><td> </td><td>struct iovec * <var class="pdparam">iov</var>, </td></tr><tr><td> </td><td>uint32_t <var class="pdparam">iovlen</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm2617"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>handle</code></em></span></dt><dd><p>
[in] cipher handle
</p></dd><dt><span class="term"><em class="parameter"><code>iv</code></em></span></dt><dd><p>
[in] IV to be used for cipher operation
</p></dd><dt><span class="term"><em class="parameter"><code>iov</code></em></span></dt><dd><p>
[in] scatter/gather list with data to be encrypted. This is the
pointer to
the first iov entry if an array of iov entries is supplied. See
sendmsg(2) for details on how iov is to be used. This pointer may be
NULL if no data to be encrypted is available at the point of the call.
</p></dd><dt><span class="term"><em class="parameter"><code>iovlen</code></em></span></dt><dd><p>
[in] number of scatter/gather list elements. If iov is NULL,
this value must be zero.
</p></dd></dl></div></div><div class="refsect1"><a name="idm2640"></a><h2>Description</h2><p>
A stream encryption operation is started with this call. Multiple
successive <code class="function">kcapi_aead_stream_update</code> function calls can be invoked to
send more plaintext data to be encrypted. The kernel buffers the input
until <code class="function">kcapi_aead_stream_op</code> picks up the encrypted data. Once plaintext
is encrypted during the <code class="function">kcapi_aead_stream_op</code> it is removed from the
kernel buffer.
</p><p>
Note, unlike the corresponding symmetric cipher API, the function calls of
<code class="function">kcapi_aead_stream_update</code> and <code class="function">kcapi_aead_stream_op</code> cannot be mixed! This
due to the nature of AEAD where the cipher operation ensures the integrity
of the entire data (decryption) or calculates a message digest over the
entire data (encryption).
</p><p>
When using the stream API, the caller must ensure that data is sent
in the correct order (regardless whether data is sent in multiple chunks
using <code class="function">kcapi_aead_stream_init_enc</code> or <code class="function">kcapi_cipher_stream_update</code>): (i)
the complete associated data must be provided, followed by (ii) the
plaintext.
</p><p>
The IV buffer must be exactly <code class="function">kcapi_cipher_ivsize</code> bytes in size.
</p><p>
<em class="parameter"><code>return</code></em> number of bytes sent to the kernel upon success;
a negative errno-style error code if an error occurred
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s10.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03s10.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-kcapi-aead-stream-init-dec.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Synchronous AEAD Cipher API - Stream </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">kcapi_aead_stream_init_dec</span></td></tr></table></div></body></html>
|