1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 5. Programming Interface</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Kernel Crypto API"><link rel="up" href="index.html" title="Linux Kernel Crypto API"><link rel="prev" href="ch04s10.html" title="User space API example"><link rel="next" href="API-struct-aead-request.html" title="struct aead_request"></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 5. Programming Interface</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s10.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="API-struct-aead-request.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="API"></a>Chapter 5. Programming Interface</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="API.html#id-1.7.3">Block Cipher Context Data Structures</a></span></dt><dt><span class="sect1"><a href="ch05s02.html">Block Cipher Algorithm Definitions</a></span></dt><dt><span class="sect1"><a href="ch05s03.html">Asynchronous Block Cipher API</a></span></dt><dt><span class="sect1"><a href="ch05s04.html">Asynchronous Cipher Request Handle</a></span></dt><dt><span class="sect1"><a href="ch05s05.html">Authenticated Encryption With Associated Data (AEAD) Cipher API</a></span></dt><dt><span class="sect1"><a href="ch05s06.html">Asynchronous AEAD Request Handle</a></span></dt><dt><span class="sect1"><a href="ch05s07.html">Synchronous Block Cipher API</a></span></dt><dt><span class="sect1"><a href="ch05s08.html">Single Block Cipher API</a></span></dt><dt><span class="sect1"><a href="ch05s09.html">Synchronous Message Digest API</a></span></dt><dt><span class="sect1"><a href="ch05s10.html">Message Digest Algorithm Definitions</a></span></dt><dt><span class="sect1"><a href="ch05s11.html">Asynchronous Message Digest API</a></span></dt><dt><span class="sect1"><a href="ch05s12.html">Asynchronous Hash Request Handle</a></span></dt><dt><span class="sect1"><a href="ch05s13.html">Synchronous Message Digest API</a></span></dt><dt><span class="sect1"><a href="ch05s14.html">Crypto API Random Number API</a></span></dt></dl></div><p> 2 Please note that the kernel crypto API contains the AEAD givcrypt 3 API (crypto_aead_giv* and aead_givcrypt_* function calls in 4 include/crypto/aead.h). This API is obsolete and will be removed 5 in the future. To obtain the functionality of an AEAD cipher with 6 internal IV generation, use the IV generator as a regular cipher. 7 For example, rfc4106(gcm(aes)) is the AEAD cipher with external 8 IV generation and seqniv(rfc4106(gcm(aes))) implies that the kernel 9 crypto API generates the IV. Different IV generators are available. 10 </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id-1.7.3"></a>Block Cipher Context Data Structures</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-struct-aead-request.html"><span class="phrase">struct aead_request</span></a></span><span class="refpurpose"> — 11 AEAD request 12 </span></dt></dl></div><p> 13 </p><p> 14 These data structures define the operating context for each block cipher 15 type. 16</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s10.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="API-struct-aead-request.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">User space API example </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">struct aead_request</span></td></tr></table></div></body></html> 17