<!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"/> <title>BeeCrypt: blockCipher Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">BeeCrypt <span id="projectnumber">4.2.1</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</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> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <h1>blockCipher Struct Reference<div class="ingroups"><a class="el" href="group__BC__m.html">Block ciphers</a></div></h1> </div> </div> <div class="contents"> <!-- doxytag: class="blockCipher" --> <p>Holds information and pointers to code specific to each cipher. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="beecrypt_8h_source.html">beecrypt.h</a>></code></p> <div class="dynheader"> Collaboration diagram for blockCipher:</div> <div class="dyncontent"> <div class="center"><img src="structblockCipher__coll__graph.png" border="0" usemap="#blockCipher_coll__map" alt="Collaboration graph"/></div> <map name="blockCipher_coll__map" id="blockCipher_coll__map"> <area shape="rect" id="node2" href="structblockCipherRaw.html" title="blockCipherRaw" alt="" coords="5,6,123,39"/><area shape="rect" id="node4" href="structblockCipherMode.html" title="blockCipherMode" alt="" coords="147,6,269,39"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a6c9f539d9632b00c9b98228539254833">name</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The blockcipher's name. <a href="#a6c9f539d9632b00c9b98228539254833"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#ae9acc23b1b4742e15acf95c44675fe42">paramsize</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The size of the parameters required by this cipher, in bytes. <a href="#ae9acc23b1b4742e15acf95c44675fe42"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a8d6c03e6f997f3ad8e8a5e2b315ca805">blocksize</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The size of one block of data, in bytes. <a href="#a8d6c03e6f997f3ad8e8a5e2b315ca805"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a3500d157e1433ee5cbf9e9dfbe7b10f1">keybitsmin</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The minimum number of key bits. <a href="#a3500d157e1433ee5cbf9e9dfbe7b10f1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#ad42cb478c58af64dd55ba34bea672aea">keybitsmax</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The maximum number of key bits. <a href="#ad42cb478c58af64dd55ba34bea672aea"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#ad4251f30dce3bb56c6d6d4af5effce21">keybitsinc</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The allowed increment in key bits between min and max. <a href="#ad4251f30dce3bb56c6d6d4af5effce21"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__BC__m.html#ga4bb0a804ab2c38ac56120f1cd35600b3">blockCipherSetup</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a103ff53ae70c8b181770b5605d23ab80">setup</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the cipher's setup function. <a href="#a103ff53ae70c8b181770b5605d23ab80"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__BC__m.html#ga40aeffa20f977393fbf10378ef466c25">blockCipherSetIV</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#aada7de9cfffbc798465d99a63b4981c6">setiv</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the cipher's initialization vector setup function. <a href="#aada7de9cfffbc798465d99a63b4981c6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__BC__m.html#gae6164c8a42013a0b3aadba1bccd416af">blockCipherSetCTR</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#aedabefbac9018470145c344b463669de">setctr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the cipher's ctr setup function. <a href="#aedabefbac9018470145c344b463669de"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="beecrypt_8h.html#a94e1fe0182e49b4fb388d08c93fc1a2c">blockCipherFeedback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#acd180c9ad40ef38241a66607ecdb19c7">getfb</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Pointer to the cipher's feedback-returning function. <a href="#acd180c9ad40ef38241a66607ecdb19c7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structblockCipherRaw.html">blockCipherRaw</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a66034965bc9ae136e6dc224c10b84e71">raw</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The cipher's raw functions. <a href="#a66034965bc9ae136e6dc224c10b84e71"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structblockCipherMode.html">blockCipherMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#ac1f9c47f7b594006a4d66955dc81bfd9">ecb</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The cipher's ECB functions. <a href="#ac1f9c47f7b594006a4d66955dc81bfd9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structblockCipherMode.html">blockCipherMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a6fdc2e832bdc281af527640ddb2cb639">cbc</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The cipher's CBC functions. <a href="#a6fdc2e832bdc281af527640ddb2cb639"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structblockCipherMode.html">blockCipherMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structblockCipher.html#a26c65493883b6ae3437d31c5ce433245">ctr</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The cipher's CTR functions. <a href="#a26c65493883b6ae3437d31c5ce433245"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Holds information and pointers to code specific to each cipher. </p> <p>Specific block ciphers <em>may</em> be written to be multithread-safe. </p> </div><hr/><h2>Field Documentation</h2> <a class="anchor" id="a8d6c03e6f997f3ad8e8a5e2b315ca805"></a><!-- doxytag: member="blockCipher::blocksize" ref="a8d6c03e6f997f3ad8e8a5e2b315ca805" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a8d6c03e6f997f3ad8e8a5e2b315ca805">blockCipher::blocksize</a></td> </tr> </table> </div> <div class="memdoc"> <p>The size of one block of data, in bytes. </p> </div> </div> <a class="anchor" id="a6fdc2e832bdc281af527640ddb2cb639"></a><!-- doxytag: member="blockCipher::cbc" ref="a6fdc2e832bdc281af527640ddb2cb639" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a6fdc2e832bdc281af527640ddb2cb639">blockCipher::cbc</a></td> </tr> </table> </div> <div class="memdoc"> <p>The cipher's CBC functions. </p> </div> </div> <a class="anchor" id="a26c65493883b6ae3437d31c5ce433245"></a><!-- doxytag: member="blockCipher::ctr" ref="a26c65493883b6ae3437d31c5ce433245" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a26c65493883b6ae3437d31c5ce433245">blockCipher::ctr</a></td> </tr> </table> </div> <div class="memdoc"> <p>The cipher's CTR functions. </p> </div> </div> <a class="anchor" id="ac1f9c47f7b594006a4d66955dc81bfd9"></a><!-- doxytag: member="blockCipher::ecb" ref="ac1f9c47f7b594006a4d66955dc81bfd9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#ac1f9c47f7b594006a4d66955dc81bfd9">blockCipher::ecb</a></td> </tr> </table> </div> <div class="memdoc"> <p>The cipher's ECB functions. </p> </div> </div> <a class="anchor" id="acd180c9ad40ef38241a66607ecdb19c7"></a><!-- doxytag: member="blockCipher::getfb" ref="acd180c9ad40ef38241a66607ecdb19c7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#acd180c9ad40ef38241a66607ecdb19c7">blockCipher::getfb</a></td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to the cipher's feedback-returning function. </p> </div> </div> <a class="anchor" id="ad4251f30dce3bb56c6d6d4af5effce21"></a><!-- doxytag: member="blockCipher::keybitsinc" ref="ad4251f30dce3bb56c6d6d4af5effce21" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#ad4251f30dce3bb56c6d6d4af5effce21">blockCipher::keybitsinc</a></td> </tr> </table> </div> <div class="memdoc"> <p>The allowed increment in key bits between min and max. </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structblockCipher.html#a3500d157e1433ee5cbf9e9dfbe7b10f1" title="The minimum number of key bits.">keybitsmin</a> and <a class="el" href="structblockCipher.html#ad42cb478c58af64dd55ba34bea672aea" title="The maximum number of key bits.">keybitsmax</a>. </dd></dl> </div> </div> <a class="anchor" id="ad42cb478c58af64dd55ba34bea672aea"></a><!-- doxytag: member="blockCipher::keybitsmax" ref="ad42cb478c58af64dd55ba34bea672aea" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#ad42cb478c58af64dd55ba34bea672aea">blockCipher::keybitsmax</a></td> </tr> </table> </div> <div class="memdoc"> <p>The maximum number of key bits. </p> </div> </div> <a class="anchor" id="a3500d157e1433ee5cbf9e9dfbe7b10f1"></a><!-- doxytag: member="blockCipher::keybitsmin" ref="a3500d157e1433ee5cbf9e9dfbe7b10f1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a3500d157e1433ee5cbf9e9dfbe7b10f1">blockCipher::keybitsmin</a></td> </tr> </table> </div> <div class="memdoc"> <p>The minimum number of key bits. </p> </div> </div> <a class="anchor" id="a6c9f539d9632b00c9b98228539254833"></a><!-- doxytag: member="blockCipher::name" ref="a6c9f539d9632b00c9b98228539254833" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a6c9f539d9632b00c9b98228539254833">blockCipher::name</a></td> </tr> </table> </div> <div class="memdoc"> <p>The blockcipher's name. </p> </div> </div> <a class="anchor" id="ae9acc23b1b4742e15acf95c44675fe42"></a><!-- doxytag: member="blockCipher::paramsize" ref="ae9acc23b1b4742e15acf95c44675fe42" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#ae9acc23b1b4742e15acf95c44675fe42">blockCipher::paramsize</a></td> </tr> </table> </div> <div class="memdoc"> <p>The size of the parameters required by this cipher, in bytes. </p> </div> </div> <a class="anchor" id="a66034965bc9ae136e6dc224c10b84e71"></a><!-- doxytag: member="blockCipher::raw" ref="a66034965bc9ae136e6dc224c10b84e71" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a66034965bc9ae136e6dc224c10b84e71">blockCipher::raw</a></td> </tr> </table> </div> <div class="memdoc"> <p>The cipher's raw functions. </p> </div> </div> <a class="anchor" id="aedabefbac9018470145c344b463669de"></a><!-- doxytag: member="blockCipher::setctr" ref="aedabefbac9018470145c344b463669de" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#aedabefbac9018470145c344b463669de">blockCipher::setctr</a></td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to the cipher's ctr setup function. </p> </div> </div> <a class="anchor" id="aada7de9cfffbc798465d99a63b4981c6"></a><!-- doxytag: member="blockCipher::setiv" ref="aada7de9cfffbc798465d99a63b4981c6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#aada7de9cfffbc798465d99a63b4981c6">blockCipher::setiv</a></td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to the cipher's initialization vector setup function. </p> </div> </div> <a class="anchor" id="a103ff53ae70c8b181770b5605d23ab80"></a><!-- doxytag: member="blockCipher::setup" ref="a103ff53ae70c8b181770b5605d23ab80" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structblockCipher.html#a103ff53ae70c8b181770b5605d23ab80">blockCipher::setup</a></td> </tr> </table> </div> <div class="memdoc"> <p>Pointer to the cipher's setup function. </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>include/beecrypt/<a class="el" href="beecrypt_8h_source.html">beecrypt.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Sun Apr 10 2011 20:49:30 for BeeCrypt by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>