pqc/ntru__poly__ascii_8c.html

441 lines
23 KiB
HTML
Raw Normal View History

<!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"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_poly_ascii.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">post quantum cryptography
</div>
<div id="projectbrief">Highly optimized implementation of the NTRUEncrypt algorithm</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/src/ntru_poly_ascii.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>polynomials to acii
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru__poly__ascii_8h_source.html">ntru_poly_ascii.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ntru__common_8h_source.html">ntru_common.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ntru__mem_8h_source.html">ntru_mem.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ntru__params_8h_source.html">ntru_params.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ntru__poly_8h_source.html">ntru_poly.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ntru__string_8h_source.html">ntru_string.h</a>&quot;</code><br/>
<code>#include &lt;glib.h&gt;</code><br/>
<code>#include &lt;stdint.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ntru_poly_ascii.c:</div>
<div class="dyncontent">
<div class="center"><img src="ntru__poly__ascii_8c__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__poly__ascii_8c" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__poly__ascii_8c" id="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__poly__ascii_8c">
</map>
</div>
</div>
<p><a href="ntru__poly__ascii_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#afd3f036287b4f62846c1a236426d73e1">get_bin_arr_to_ascii</a> (const char *binary_rep)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#a0d86ab2dede39b332d4149e16b2046b8">bin_poly_to_ascii</a> (const fmpz_poly_t poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii</a> (const fmpz_poly_t **bin_poly_arr, const uint32_t poly_c, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#aa4d233591b7e51d6cf787edd3bfa91e2">poly_to_ascii</a> (const fmpz_poly_t poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#afa141976b665b94c0db9912bc50de4a1">poly_arr_to_ascii</a> (const fmpz_poly_t **poly_array, const uint32_t poly_c, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#a4ba0179e3ae0d5e721ff8429a8265e80">poly_to_base64</a> (const fmpz_poly_t poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structstring.html">string</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html#a0dc14698073df2e46e6540cbff870fc7">poly_arr_to_base64</a> (const fmpz_poly_t **poly_array, const uint32_t poly_c, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>polynomials to acii </p>
<p>This file allows to convert polynomials to ascii strings, including base64 encoded. </p>
<p>Definition in file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="ab9464c96c3ebec6ee716c604fdc4ad21"></a><!-- doxytag: member="ntru_poly_ascii.c::bin_poly_arr_to_ascii" ref="ab9464c96c3ebec6ee716c604fdc4ad21" args="(const fmpz_poly_t **bin_poly_arr, const uint32_t poly_c, const ntru_params *params)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structstring.html">string</a>* <a class="el" href="ntru__poly__ascii_8h.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii</a> </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t **&#160;</td>
<td class="paramname"><em>bin_poly_arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>poly_c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structntru__params.html">ntru_params</a> *&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert an array of binary polynomials back to a real string. The polynomial coefficients represent a binary format of the ascii string with the following mapping:</p>
<p>1 =&gt; 1</p>
<p>-1 =&gt; 0</p>
<p>2 =&gt; 0</p>
<p>The 2's are only used for filling up the last polynomial, so they will just end up as '\0's at the end of the string and will not confuse the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">bin_poly_arr</td><td>the array of polynomials </td></tr>
<tr><td class="paramname">poly_c</td><td>the amount of polynomials in bin_poly_arr </td></tr>
<tr><td class="paramname">params</td><td>the NTRU parameters </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the real string, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00143">143</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
<a class="anchor" id="a0d86ab2dede39b332d4149e16b2046b8"></a><!-- doxytag: member="ntru_poly_ascii.c::bin_poly_to_ascii" ref="a0d86ab2dede39b332d4149e16b2046b8" args="(const fmpz_poly_t poly, const ntru_params *params)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structstring.html">string</a>* <a class="el" href="ntru__poly__ascii_8h.html#a0d86ab2dede39b332d4149e16b2046b8">bin_poly_to_ascii</a> </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structntru__params.html">ntru_params</a> *&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert a single binary polynomial back to a real string. The polynomial coefficients represent a binary format of the ascii string with the following mapping:</p>
<p>1 =&gt; 1</p>
<p>-1 =&gt; 0</p>
<p>2 =&gt; 0</p>
<p>The 2's are only used for filling up the rest of the polynomial, so they will just end up as '\0's at the end of the string and will not confuse the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>the binary polynomial to convert </td></tr>
<tr><td class="paramname">params</td><td>the NTRU parameters </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the real string, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00114">114</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
<a class="anchor" id="afd3f036287b4f62846c1a236426d73e1"></a><!-- doxytag: member="ntru_poly_ascii.c::get_bin_arr_to_ascii" ref="afd3f036287b4f62846c1a236426d73e1" args="(const char *binary_rep)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="structstring.html">string</a> * <a class="el" href="ntru__poly__ascii_8c.html#afd3f036287b4f62846c1a236426d73e1">get_bin_arr_to_ascii</a> </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>binary_rep</em></td><td>)</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Converts a binary representation of multiple concatenated integers to the corresponding array of ascii chars, which is NULL-terminated.</p>
<p>It reads in 8bit chunks, as in:</p>
<p>10110101|00111100|01011001 =&gt; 90|60|89 =&gt; "Z&lt;Y"</p>
<p>Chunks that are 00000000 are stripped from the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">binary_rep</td><td>the binary representation of multiple integers concatenated </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>string of corresponding ascii-chars, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00069">69</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
<a class="anchor" id="afa141976b665b94c0db9912bc50de4a1"></a><!-- doxytag: member="ntru_poly_ascii.c::poly_arr_to_ascii" ref="afa141976b665b94c0db9912bc50de4a1" args="(const fmpz_poly_t **poly_array, const uint32_t poly_c, const ntru_params *params)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structstring.html">string</a>* <a class="el" href="ntru__poly__ascii_8h.html#afa141976b665b94c0db9912bc50de4a1">poly_arr_to_ascii</a> </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t **&#160;</td>
<td class="paramname"><em>poly_array</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>poly_c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structntru__params.html">ntru_params</a> *&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert an array of polynomials back to a real string. The polynomial coefficients are expected to be in the range [0, q-1] and will be casted back to chars without any mapping.</p>
<p>Trailing q coefficients are only used for filling up the rest of a polynomial with '\0', so they will not confuse the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">poly_array</td><td>the array of polynomials </td></tr>
<tr><td class="paramname">poly_c</td><td>the amount of polynomials in poly_arr </td></tr>
<tr><td class="paramname">params</td><td>the NTRU parameters </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the real string, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00203">203</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
<a class="anchor" id="a0dc14698073df2e46e6540cbff870fc7"></a><!-- doxytag: member="ntru_poly_ascii.c::poly_arr_to_base64" ref="a0dc14698073df2e46e6540cbff870fc7" args="(const fmpz_poly_t **poly_array, const uint32_t poly_c, const ntru_params *params)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structstring.html">string</a>* <a class="el" href="ntru__poly__ascii_8h.html#a16163cc57631a0965577cb0f89365ca0">poly_arr_to_base64</a> </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t **&#160;</td>
<td class="paramname"><em>poly_arr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t&#160;</td>
<td class="paramname"><em>poly_c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structntru__params.html">ntru_params</a> *&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert an array of polynomials back to a real string which is base64 encoded. The polynomial coefficients are expected to be in the range [0, q-1] and will be casted back to chars without any mapping.</p>
<p>Trailing q coefficients are only used for filling up the rest of a polynomial with '\0', so they will not confuse the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">poly_arr</td><td>the array of polynomials </td></tr>
<tr><td class="paramname">poly_c</td><td>the amount of polynomials in poly_arr </td></tr>
<tr><td class="paramname">params</td><td>the NTRU parameters </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the real string, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00264">264</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
<a class="anchor" id="aa4d233591b7e51d6cf787edd3bfa91e2"></a><!-- doxytag: member="ntru_poly_ascii.c::poly_to_ascii" ref="aa4d233591b7e51d6cf787edd3bfa91e2" args="(const fmpz_poly_t poly, const ntru_params *params)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structstring.html">string</a>* <a class="el" href="ntru__poly__ascii_8h.html#aa4d233591b7e51d6cf787edd3bfa91e2">poly_to_ascii</a> </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structntru__params.html">ntru_params</a> *&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert a single polynom back to a real string which is ascii encoded (full 256 C char spectrum). The polynomial coefficients are expected to be in the range [0, q-1] and will be casted back to chars without any mapping.</p>
<p>Trailing q coefficients are only used for filling up the rest of a polynomial with '\0', so they will not confuse the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>the polynomial to convert </td></tr>
<tr><td class="paramname">params</td><td>the NTRU parameters </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the real string, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00180">180</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
<a class="anchor" id="a4ba0179e3ae0d5e721ff8429a8265e80"></a><!-- doxytag: member="ntru_poly_ascii.c::poly_to_base64" ref="a4ba0179e3ae0d5e721ff8429a8265e80" args="(const fmpz_poly_t poly, const ntru_params *params)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structstring.html">string</a>* <a class="el" href="ntru__poly__ascii_8h.html#a4ba0179e3ae0d5e721ff8429a8265e80">poly_to_base64</a> </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structntru__params.html">ntru_params</a> *&#160;</td>
<td class="paramname"><em>params</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Convert a single polynom back to a real string which is base64 encoded. The polynomial coefficients are expected to be in the range [0, q-1] and will be casted back to chars without any mapping.</p>
<p>Trailing q coefficients are only used for filling up the rest of a polynomial with '\0', so they will not confuse the result.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>the polynomial to convert </td></tr>
<tr><td class="paramname">params</td><td>the NTRU parameters </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the real string, newly allocated </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly__ascii_8c_source.html#l00237">237</a> of file <a class="el" href="ntru__poly__ascii_8c_source.html">ntru_poly_ascii.c</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:12 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>