<!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: include/beecrypt/dhies.h File 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><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>include/beecrypt/dhies.h File Reference<div class="ingroups"><a class="el" href="group__DL__m.html">Discrete Logarithm Primitives</a> | <a class="el" href="group__DL__dh__m.html">Discrete Logarithm Primitives: Diffie-Hellman</a></div></h1> </div> </div> <div class="contents"> <p>DHIES (formerly known as DHAES or DHES) encryption scheme. <a href="#_details">More...</a></p> <div class="textblock"><code>#include "beecrypt/beecrypt.h"</code><br/> <code>#include "beecrypt/dldp.h"</code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for dhies.h:</div> <div class="dyncontent"> <div class="center"><img src="dhies_8h__incl.png" border="0" usemap="#include_2beecrypt_2dhies_8h" alt=""/></div> <map name="include_2beecrypt_2dhies_8h" id="include_2beecrypt_2dhies_8h"> </map> </div> </div> <p><a href="dhies_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdhies__pParameters.html">dhies_pParameters</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdhies__pContext.html">dhies_pContext</a></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#a28cc2c3cfccc99fee986772f189a4aaf">dhies_pUsable</a> (const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#a80c7fc4283f3f3c9d9315deec3a6e3af">dhies_pContextInit</a> (<a class="el" href="structdhies__pContext.html">dhies_pContext</a> *, const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#a67d0f4f538fc04834ee5ed36b699d2df">dhies_pContextInitDecrypt</a> (<a class="el" href="structdhies__pContext.html">dhies_pContext</a> *, const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> *, const <a class="el" href="structmpnumber.html">mpnumber</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#a897bef73ab35ca2aa56e1b168fdadded">dhies_pContextInitEncrypt</a> (<a class="el" href="structdhies__pContext.html">dhies_pContext</a> *, const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> *, const <a class="el" href="structmpnumber.html">mpnumber</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#a812329806f62ee9c8d1ae3a4d77a62cd">dhies_pContextFree</a> (<a class="el" href="structdhies__pContext.html">dhies_pContext</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmemchunk.html">memchunk</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#ae4c99c0674cffed68b9ae304a60f3e36">dhies_pContextEncrypt</a> (<a class="el" href="structdhies__pContext.html">dhies_pContext</a> *, <a class="el" href="structmpnumber.html">mpnumber</a> *, <a class="el" href="structmpnumber.html">mpnumber</a> *, const <a class="el" href="structmemchunk.html">memchunk</a> *, <a class="el" href="structrandomGeneratorContext.html">randomGeneratorContext</a> *)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmemchunk.html">memchunk</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="dhies_8h.html#a7c56de01d62afa426ed65216e52e4f95">dhies_pContextDecrypt</a> (<a class="el" href="structdhies__pContext.html">dhies_pContext</a> *, const <a class="el" href="structmpnumber.html">mpnumber</a> *, const <a class="el" href="structmpnumber.html">mpnumber</a> *, const <a class="el" href="structmemchunk.html">memchunk</a> *)</td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>DHIES (formerly known as DHAES or DHES) encryption scheme. </p> <p>This code implements the encryption scheme from the paper:</p> <p>"DHIES: An Encryption Scheme Based on the Diffie-Hellman Problem" Michel Abdalla, Mihir Bellare, Phillip Rogaway September 18, 2001</p> <dl class="author"><dt><b>Author:</b></dt><dd>Bob Deblier <<a href="mailto:bob.deblier@telenet.be">bob.deblier@telenet.be</a>> </dd></dl> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="a7c56de01d62afa426ed65216e52e4f95"></a><!-- doxytag: member="dhies.h::dhies_pContextDecrypt" ref="a7c56de01d62afa426ed65216e52e4f95" args="(dhies_pContext *, const mpnumber *, const mpnumber *, const memchunk *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmemchunk.html">memchunk</a>* dhies_pContextDecrypt </td> <td>(</td> <td class="paramtype"><a class="el" href="structdhies__pContext.html">dhies_pContext</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmpnumber.html">mpnumber</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmpnumber.html">mpnumber</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmemchunk.html">memchunk</a> * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ae4c99c0674cffed68b9ae304a60f3e36"></a><!-- doxytag: member="dhies.h::dhies_pContextEncrypt" ref="ae4c99c0674cffed68b9ae304a60f3e36" args="(dhies_pContext *, mpnumber *, mpnumber *, const memchunk *, randomGeneratorContext *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmemchunk.html">memchunk</a>* dhies_pContextEncrypt </td> <td>(</td> <td class="paramtype"><a class="el" href="structdhies__pContext.html">dhies_pContext</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structmpnumber.html">mpnumber</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structmpnumber.html">mpnumber</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmemchunk.html">memchunk</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structrandomGeneratorContext.html">randomGeneratorContext</a> * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a812329806f62ee9c8d1ae3a4d77a62cd"></a><!-- doxytag: member="dhies.h::dhies_pContextFree" ref="a812329806f62ee9c8d1ae3a4d77a62cd" args="(dhies_pContext *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dhies_pContextFree </td> <td>(</td> <td class="paramtype"><a class="el" href="structdhies__pContext.html">dhies_pContext</a> * </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a80c7fc4283f3f3c9d9315deec3a6e3af"></a><!-- doxytag: member="dhies.h::dhies_pContextInit" ref="a80c7fc4283f3f3c9d9315deec3a6e3af" args="(dhies_pContext *, const dhies_pParameters *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dhies_pContextInit </td> <td>(</td> <td class="paramtype"><a class="el" href="structdhies__pContext.html">dhies_pContext</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a67d0f4f538fc04834ee5ed36b699d2df"></a><!-- doxytag: member="dhies.h::dhies_pContextInitDecrypt" ref="a67d0f4f538fc04834ee5ed36b699d2df" args="(dhies_pContext *, const dhies_pParameters *, const mpnumber *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dhies_pContextInitDecrypt </td> <td>(</td> <td class="paramtype"><a class="el" href="structdhies__pContext.html">dhies_pContext</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmpnumber.html">mpnumber</a> * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a897bef73ab35ca2aa56e1b168fdadded"></a><!-- doxytag: member="dhies.h::dhies_pContextInitEncrypt" ref="a897bef73ab35ca2aa56e1b168fdadded" args="(dhies_pContext *, const dhies_pParameters *, const mpnumber *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dhies_pContextInitEncrypt </td> <td>(</td> <td class="paramtype"><a class="el" href="structdhies__pContext.html">dhies_pContext</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmpnumber.html">mpnumber</a> * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="a28cc2c3cfccc99fee986772f189a4aaf"></a><!-- doxytag: member="dhies.h::dhies_pUsable" ref="a28cc2c3cfccc99fee986772f189a4aaf" args="(const dhies_pParameters *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dhies_pUsable </td> <td>(</td> <td class="paramtype">const <a class="el" href="structdhies__pParameters.html">dhies_pParameters</a> * </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> </div> </div> </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>