<!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_base_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_base_t Struct Reference</div> </div> </div><!--header--> <div class="contents"> <p>Base cipher information. <a href="structcipher__base__t.html#details">More...</a></p> <p><code>#include <<a class="el" href="cipher_8h_source.html">cipher.h</a>></code></p> <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:a539b9bf80fc122393affcc4cf8e1d3cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">cipher_id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a539b9bf80fc122393affcc4cf8e1d3cc">cipher</a></td></tr> <tr class="memdesc:a539b9bf80fc122393affcc4cf8e1d3cc"><td class="mdescLeft"> </td><td class="mdescRight">Base Cipher type (e.g. <a href="#a539b9bf80fc122393affcc4cf8e1d3cc">More...</a><br/></td></tr> <tr class="separator:a539b9bf80fc122393affcc4cf8e1d3cc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af6992411c58361334758dfa5caeac2c1"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#af6992411c58361334758dfa5caeac2c1">ecb_func</a> )(void *ctx, <a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, const unsigned char *input, unsigned char *output)</td></tr> <tr class="memdesc:af6992411c58361334758dfa5caeac2c1"><td class="mdescLeft"> </td><td class="mdescRight">Encrypt using ECB. <a href="#af6992411c58361334758dfa5caeac2c1">More...</a><br/></td></tr> <tr class="separator:af6992411c58361334758dfa5caeac2c1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a72fe8be6c0c358fa81953db9251d482e"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a72fe8be6c0c358fa81953db9251d482e">cbc_func</a> )(void *ctx, <a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, size_t length, unsigned char *iv, const unsigned char *input, unsigned char *output)</td></tr> <tr class="memdesc:a72fe8be6c0c358fa81953db9251d482e"><td class="mdescLeft"> </td><td class="mdescRight">Encrypt using CBC. <a href="#a72fe8be6c0c358fa81953db9251d482e">More...</a><br/></td></tr> <tr class="separator:a72fe8be6c0c358fa81953db9251d482e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af6c613d58788fe5a9b52268a63f8b7fc"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#af6c613d58788fe5a9b52268a63f8b7fc">cfb_func</a> )(void *ctx, <a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, size_t length, size_t *iv_off, unsigned char *iv, const unsigned char *input, unsigned char *output)</td></tr> <tr class="memdesc:af6c613d58788fe5a9b52268a63f8b7fc"><td class="mdescLeft"> </td><td class="mdescRight">Encrypt using CFB (Full length) <a href="#af6c613d58788fe5a9b52268a63f8b7fc">More...</a><br/></td></tr> <tr class="separator:af6c613d58788fe5a9b52268a63f8b7fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a52cf7e0f45be977a86dce9df04a38efa"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a52cf7e0f45be977a86dce9df04a38efa">ctr_func</a> )(void *ctx, size_t length, size_t *nc_off, unsigned char *nonce_counter, unsigned char *stream_block, const unsigned char *input, unsigned char *output)</td></tr> <tr class="memdesc:a52cf7e0f45be977a86dce9df04a38efa"><td class="mdescLeft"> </td><td class="mdescRight">Encrypt using CTR. <a href="#a52cf7e0f45be977a86dce9df04a38efa">More...</a><br/></td></tr> <tr class="separator:a52cf7e0f45be977a86dce9df04a38efa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2f751a12e583a0c1bdf4e35376e1a79b"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a2f751a12e583a0c1bdf4e35376e1a79b">stream_func</a> )(void *ctx, size_t length, const unsigned char *input, unsigned char *output)</td></tr> <tr class="memdesc:a2f751a12e583a0c1bdf4e35376e1a79b"><td class="mdescLeft"> </td><td class="mdescRight">Encrypt using STREAM. <a href="#a2f751a12e583a0c1bdf4e35376e1a79b">More...</a><br/></td></tr> <tr class="separator:a2f751a12e583a0c1bdf4e35376e1a79b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a408d1cfbdf0e392052223e32dec2be3a"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a408d1cfbdf0e392052223e32dec2be3a">setkey_enc_func</a> )(void *ctx, const unsigned char *key, unsigned int key_length)</td></tr> <tr class="memdesc:a408d1cfbdf0e392052223e32dec2be3a"><td class="mdescLeft"> </td><td class="mdescRight">Set key for encryption purposes. <a href="#a408d1cfbdf0e392052223e32dec2be3a">More...</a><br/></td></tr> <tr class="separator:a408d1cfbdf0e392052223e32dec2be3a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6e8bdd1fe87bc2fc1d83d5b84900d1f"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#ad6e8bdd1fe87bc2fc1d83d5b84900d1f">setkey_dec_func</a> )(void *ctx, const unsigned char *key, unsigned int key_length)</td></tr> <tr class="memdesc:ad6e8bdd1fe87bc2fc1d83d5b84900d1f"><td class="mdescLeft"> </td><td class="mdescRight">Set key for decryption purposes. <a href="#ad6e8bdd1fe87bc2fc1d83d5b84900d1f">More...</a><br/></td></tr> <tr class="separator:ad6e8bdd1fe87bc2fc1d83d5b84900d1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a91741724a7a4e396e4a946d6d4f713c1"><td class="memItemLeft" align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a91741724a7a4e396e4a946d6d4f713c1">ctx_alloc_func</a> )(void)</td></tr> <tr class="memdesc:a91741724a7a4e396e4a946d6d4f713c1"><td class="mdescLeft"> </td><td class="mdescRight">Allocate a new context. <a href="#a91741724a7a4e396e4a946d6d4f713c1">More...</a><br/></td></tr> <tr class="separator:a91741724a7a4e396e4a946d6d4f713c1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8066218dfde7c5207d9b50458ee81ca6"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structcipher__base__t.html#a8066218dfde7c5207d9b50458ee81ca6">ctx_free_func</a> )(void *ctx)</td></tr> <tr class="memdesc:a8066218dfde7c5207d9b50458ee81ca6"><td class="mdescLeft"> </td><td class="mdescRight">Free the given context. <a href="#a8066218dfde7c5207d9b50458ee81ca6">More...</a><br/></td></tr> <tr class="separator:a8066218dfde7c5207d9b50458ee81ca6"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Base cipher information. </p> <p>The non-mode specific functions and values. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00179">179</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="a72fe8be6c0c358fa81953db9251d482e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::cbc_func)(void *ctx, <a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, size_t length, unsigned char *iv, const unsigned char *input, unsigned char *output)</td> </tr> </table> </div><div class="memdoc"> <p>Encrypt using CBC. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00189">189</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="af6c613d58788fe5a9b52268a63f8b7fc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::cfb_func)(void *ctx, <a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, size_t length, size_t *iv_off, unsigned char *iv, const unsigned char *input, unsigned char *output)</td> </tr> </table> </div><div class="memdoc"> <p>Encrypt using CFB (Full length) </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00194">194</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a539b9bf80fc122393affcc4cf8e1d3cc"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="cipher_8h.html#a373f5d3a0a42c77ff4f5fe4fe7da0560">cipher_id_t</a> cipher_base_t::cipher</td> </tr> </table> </div><div class="memdoc"> <p>Base Cipher type (e.g. </p> <p>POLARSSL_CIPHER_ID_AES) </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00182">182</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a52cf7e0f45be977a86dce9df04a38efa"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::ctr_func)(void *ctx, size_t length, size_t *nc_off, unsigned char *nonce_counter, unsigned char *stream_block, const unsigned char *input, unsigned char *output)</td> </tr> </table> </div><div class="memdoc"> <p>Encrypt using CTR. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00199">199</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a91741724a7a4e396e4a946d6d4f713c1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void*(* cipher_base_t::ctx_alloc_func)(void)</td> </tr> </table> </div><div class="memdoc"> <p>Allocate a new context. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00216">216</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a8066218dfde7c5207d9b50458ee81ca6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* cipher_base_t::ctx_free_func)(void *ctx)</td> </tr> </table> </div><div class="memdoc"> <p>Free the given context. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00219">219</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="af6992411c58361334758dfa5caeac2c1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::ecb_func)(void *ctx, <a class="el" href="cipher_8h.html#a76a810650461f2062938ee9b82666b36">operation_t</a> mode, const unsigned char *input, unsigned char *output)</td> </tr> </table> </div><div class="memdoc"> <p>Encrypt using ECB. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00185">185</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="ad6e8bdd1fe87bc2fc1d83d5b84900d1f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::setkey_dec_func)(void *ctx, const unsigned char *key, unsigned int key_length)</td> </tr> </table> </div><div class="memdoc"> <p>Set key for decryption purposes. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00212">212</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a408d1cfbdf0e392052223e32dec2be3a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::setkey_enc_func)(void *ctx, const unsigned char *key, unsigned int key_length)</td> </tr> </table> </div><div class="memdoc"> <p>Set key for encryption purposes. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00208">208</a> of file <a class="el" href="cipher_8h_source.html">cipher.h</a>.</p> </div> </div> <a class="anchor" id="a2f751a12e583a0c1bdf4e35376e1a79b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* cipher_base_t::stream_func)(void *ctx, size_t length, const unsigned char *input, unsigned char *output)</td> </tr> </table> </div><div class="memdoc"> <p>Encrypt using STREAM. </p> <p>Definition at line <a class="el" href="cipher_8h_source.html#l00204">204</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>