<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>PolarSSL v1.3.8: cipher_context_t Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">PolarSSL v1.3.8 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <div class="title">cipher_context_t Struct Reference</div> </div> </div><!--header--> <div class="contents"> <p>Generic cipher context. <a href="structcipher__context__t.html#details">More...</a></p> <p><code>#include <<a class="el" href="cipher_8h_source.html">cipher.h</a>></code></p> <div class="dynheader"> Collaboration diagram for cipher_context_t:</div> <div class="dyncontent"> <div class="center"><img src="structcipher__context__t__coll__graph.png" border="0" usemap="#cipher__context__t_coll__map" alt="Collaboration graph"/></div> <map name="cipher__context__t_coll__map" id="cipher__context__t_coll__map"> </map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr class="memitem:a93c2ded51eb87ba78aa9ee10d8f476fb"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structcipher__info__t.html">cipher_info_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a93c2ded51eb87ba78aa9ee10d8f476fb">cipher_info</a></td></tr> <tr class="memdesc:a93c2ded51eb87ba78aa9ee10d8f476fb"><td class="mdescLeft"> </td><td class="mdescRight">Information about the associated cipher. <a href="#a93c2ded51eb87ba78aa9ee10d8f476fb">More...</a><br/></td></tr> <tr class="separator:a93c2ded51eb87ba78aa9ee10d8f476fb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab101b4f205022bb29b5aa3e46ba9c79f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#ab101b4f205022bb29b5aa3e46ba9c79f">key_length</a></td></tr> <tr class="memdesc:ab101b4f205022bb29b5aa3e46ba9c79f"><td class="mdescLeft"> </td><td class="mdescRight">Key length to use. <a href="#ab101b4f205022bb29b5aa3e46ba9c79f">More...</a><br/></td></tr> <tr class="separator:ab101b4f205022bb29b5aa3e46ba9c79f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a621cd7faaf726b227e2ad58e8b7b755d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a621cd7faaf726b227e2ad58e8b7b755d">operation</a></td></tr> <tr class="memdesc:a621cd7faaf726b227e2ad58e8b7b755d"><td class="mdescLeft"> </td><td class="mdescRight">Operation that the context's key has been initialised for. <a href="#a621cd7faaf726b227e2ad58e8b7b755d">More...</a><br/></td></tr> <tr class="separator:a621cd7faaf726b227e2ad58e8b7b755d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a74f805b3f876cb363903b874e8f753d4"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a74f805b3f876cb363903b874e8f753d4">add_padding</a> )(unsigned char *output, size_t olen, size_t data_len)</td></tr> <tr class="memdesc:a74f805b3f876cb363903b874e8f753d4"><td class="mdescLeft"> </td><td class="mdescRight">Padding functions to use, if relevant for cipher mode. <a href="#a74f805b3f876cb363903b874e8f753d4">More...</a><br/></td></tr> <tr class="separator:a74f805b3f876cb363903b874e8f753d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43140706e02a4b53d0bd3e048221f3e0"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a43140706e02a4b53d0bd3e048221f3e0">get_padding</a> )(unsigned char *input, size_t ilen, size_t *data_len)</td></tr> <tr class="separator:a43140706e02a4b53d0bd3e048221f3e0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a972bc531a9d9b7779d42c433157ac908"><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a972bc531a9d9b7779d42c433157ac908">unprocessed_data</a> [<a class="el" href="cipher_8h.html#aa2488bd674e8deee5938b1926f4868f0">POLARSSL_MAX_BLOCK_LENGTH</a>]</td></tr> <tr class="memdesc:a972bc531a9d9b7779d42c433157ac908"><td class="mdescLeft"> </td><td class="mdescRight">Buffer for data that hasn't been encrypted yet. <a href="#a972bc531a9d9b7779d42c433157ac908">More...</a><br/></td></tr> <tr class="separator:a972bc531a9d9b7779d42c433157ac908"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a777d4a1f4f3951a475ec9ebbf2527a28"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a777d4a1f4f3951a475ec9ebbf2527a28">unprocessed_len</a></td></tr> <tr class="memdesc:a777d4a1f4f3951a475ec9ebbf2527a28"><td class="mdescLeft"> </td><td class="mdescRight">Number of bytes that still need processing. <a href="#a777d4a1f4f3951a475ec9ebbf2527a28">More...</a><br/></td></tr> <tr class="separator:a777d4a1f4f3951a475ec9ebbf2527a28"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ade41d48b148134eebae1e5801b0cf426"><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#ade41d48b148134eebae1e5801b0cf426">iv</a> [<a class="el" href="cipher_8h.html#aded691b9d905920d9675e7b9828a237c">POLARSSL_MAX_IV_LENGTH</a>]</td></tr> <tr class="memdesc:ade41d48b148134eebae1e5801b0cf426"><td class="mdescLeft"> </td><td class="mdescRight">Current IV or NONCE_COUNTER for CTR-mode. <a href="#ade41d48b148134eebae1e5801b0cf426">More...</a><br/></td></tr> <tr class="separator:ade41d48b148134eebae1e5801b0cf426"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a124f269c0d3b1ce1a74f5dcacf69b688"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#a124f269c0d3b1ce1a74f5dcacf69b688">iv_size</a></td></tr> <tr class="memdesc:a124f269c0d3b1ce1a74f5dcacf69b688"><td class="mdescLeft"> </td><td class="mdescRight">IV size in bytes (for ciphers with variable-length IVs) <a href="#a124f269c0d3b1ce1a74f5dcacf69b688">More...</a><br/></td></tr> <tr class="separator:a124f269c0d3b1ce1a74f5dcacf69b688"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aef2bf9abf15fb851faf69c1591790f29"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__context__t.html#aef2bf9abf15fb851faf69c1591790f29">cipher_ctx</a></td></tr> <tr class="memdesc:aef2bf9abf15fb851faf69c1591790f29"><td class="mdescLeft"> </td><td class="mdescRight">Cipher-specific context. <a href="#aef2bf9abf15fb851faf69c1591790f29">More...</a><br/></td></tr> <tr class="separator:aef2bf9abf15fb851faf69c1591790f29"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Generic cipher context. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00258">258</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div><h2 class="groupheader">Field Documentation</h2> <a class="anchor" id="a74f805b3f876cb363903b874e8f753d4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* cipher_context_t::add_padding)(unsigned char *output, size_t olen, size_t data_len)</td> </tr> </table> </div><div class="memdoc"> <p>Padding functions to use, if relevant for cipher mode. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00269">269</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="aef2bf9abf15fb851faf69c1591790f29"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* cipher_context_t::cipher_ctx</td> </tr> </table> </div><div class="memdoc"> <p>Cipher-specific context. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00285">285</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a93c2ded51eb87ba78aa9ee10d8f476fb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structcipher__info__t.html">cipher_info_t</a>* cipher_context_t::cipher_info</td> </tr> </table> </div><div class="memdoc"> <p>Information about the associated cipher. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00260">260</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> <p>Referenced by <a class="el" href="cipher_8h_source.html#l00384">cipher_get_block_size()</a>, <a class="el" href="cipher_8h_source.html#l00401">cipher_get_cipher_mode()</a>, <a class="el" href="cipher_8h_source.html#l00418">cipher_get_iv_size()</a>, <a class="el" href="cipher_8h_source.html#l00469">cipher_get_key_size()</a>, <a class="el" href="cipher_8h_source.html#l00452">cipher_get_name()</a>, <a class="el" href="cipher_8h_source.html#l00486">cipher_get_operation()</a>, and <a class="el" href="cipher_8h_source.html#l00437">cipher_get_type()</a>.</p> </div> </div> <a class="anchor" id="a43140706e02a4b53d0bd3e048221f3e0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_context_t::get_padding)(unsigned char *input, size_t ilen, size_t *data_len)</td> </tr> </table> </div><div class="memdoc"> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00270">270</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="ade41d48b148134eebae1e5801b0cf426"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char cipher_context_t::iv[<a class="el" href="cipher_8h.html#aded691b9d905920d9675e7b9828a237c">POLARSSL_MAX_IV_LENGTH</a>]</td> </tr> </table> </div><div class="memdoc"> <p>Current IV or NONCE_COUNTER for CTR-mode. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00279">279</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a124f269c0d3b1ce1a74f5dcacf69b688"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t cipher_context_t::iv_size</td> </tr> </table> </div><div class="memdoc"> <p>IV size in bytes (for ciphers with variable-length IVs) </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00282">282</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> <p>Referenced by <a class="el" href="cipher_8h_source.html#l00418">cipher_get_iv_size()</a>.</p> </div> </div> <a class="anchor" id="ab101b4f205022bb29b5aa3e46ba9c79f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int cipher_context_t::key_length</td> </tr> </table> </div><div class="memdoc"> <p>Key length to use. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00263">263</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a621cd7faaf726b227e2ad58e8b7b755d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> cipher_context_t::operation</td> </tr> </table> </div><div class="memdoc"> <p>Operation that the context's key has been initialised for. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00266">266</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> <p>Referenced by <a class="el" href="cipher_8h_source.html#l00486">cipher_get_operation()</a>.</p> </div> </div> <a class="anchor" id="a972bc531a9d9b7779d42c433157ac908"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char cipher_context_t::unprocessed_data[<a class="el" href="cipher_8h.html#aa2488bd674e8deee5938b1926f4868f0">POLARSSL_MAX_BLOCK_LENGTH</a>]</td> </tr> </table> </div><div class="memdoc"> <p>Buffer for data that hasn't been encrypted yet. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00273">273</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a777d4a1f4f3951a475ec9ebbf2527a28"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t cipher_context_t::unprocessed_len</td> </tr> </table> </div><div class="memdoc"> <p>Number of bytes that still need processing. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00276">276</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="cipher_8h_source.html">cipher.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Thu Jul 31 2014 11:35:56 for PolarSSL v1.3.8 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>