/usr/share/doc/libkcapi/html/API-kcapi-aead-stream-init-dec.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 | <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>kcapi_aead_stream_init_dec</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="API-kcapi-aead-stream-init-enc.html" title="kcapi_aead_stream_init_enc"><link rel="next" href="API-kcapi-aead-stream-update.html" title="kcapi_aead_stream_update"></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_dec</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-kcapi-aead-stream-init-enc.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-update.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-kcapi-aead-stream-init-dec"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>kcapi_aead_stream_init_dec —
start a decryption 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_dec </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="idm2683"></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="idm2706"></a><h2>Description</h2><p>
A stream decryption operation is started with this call. Multiple
successive <code class="function">kcapi_aead_stream_update</code> function calls can be invoked to
send more ciphertext data to be encrypted. The kernel buffers the input
until <code class="function">kcapi_aead_stream_op</code> picks up the decrypted data. Once ciphertext
is decrypted 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. For decryption, also (iii) the tag value must be sent.
</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="API-kcapi-aead-stream-init-enc.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-update.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">kcapi_aead_stream_init_enc</span> </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_update</span></td></tr></table></div></body></html>
|