Lastest doxygen docs updated

travis build: 29
	commit: 03f3b4b230
	auto-pushed to gh-pages
This commit is contained in:
travis-ci 2014-06-08 23:33:25 +00:00
parent ca575303bf
commit b333b7d765
363 changed files with 8665 additions and 8573 deletions

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Data Structures</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -74,24 +65,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Data Structures</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><table>
<tr><td class="indexkey"><a class="el" href="structkeypair.html">keypair</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structntru__params.html">ntru_params</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="structstring.html">string</a></td><td class="indexvalue"></td></tr>
</table>
</div><!-- contents -->
</div><!-- top -->
<!-- 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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -100,13 +80,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Data Structures</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structkeypair.html" target="_self">keypair</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structntru__params.html" target="_self">ntru_params</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structstring.html" target="_self">string</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

BIN
bc_s.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 676 B

BIN
bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Data Structure Index</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -74,30 +65,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Data Structure Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_K"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;K&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_N"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;N&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td></td></tr>
<tr><td valign="top"><a class="el" href="structkeypair.html">keypair</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structntru__params.html">ntru_params</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstring.html">string</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
</div><!-- contents -->
</div><!-- top -->
<!-- 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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -106,13 +80,28 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Data Structure Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_k"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;k&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td></td></tr>
<tr><td valign="top"><a class="el" href="structkeypair.html">keypair</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structntru__params.html">ntru_params</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structstring.html">string</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 B

After

Width:  |  Height:  |  Size: 132 B

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/decrypt.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,46 +64,65 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/decrypt.h File Reference</div> </div>
<div class="title">decrypt.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>public API, decryption
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru_8h_source.html">ntru.h</a>&quot;</code><br/>
<code>#include &lt;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru_8h_source.html">ntru.h</a>&quot;</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 decrypt.h:</div>
<div class="dyncontent">
<div class="center"><img src="decrypt_8h__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2include_2decrypt_8h" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2include_2decrypt_8h" id="_2home_2travis_2build_2hasufell_2pqc_2include_2decrypt_8h">
</map>
<area shape="rect" id="node3" href="ntru_8h.html" title="public API, basic data types " alt="" coords="128,117,181,147"/></map>
</div>
</div>
<p><a href="decrypt_8h_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></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="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> (const <a class="el" href="structstring.html">string</a> *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="memitem:aa9cc61eec0c119e48762f6078a14527b"><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="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> (const <a class="el" href="structstring.html">string</a> *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:aa9cc61eec0c119e48762f6078a14527b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>public API, decryption </p>
<p>This file holds the public API of decryption of the pqc NTRU implementation and is meant to be installed on the client system. </p>
<p>Definition in file <a class="el" href="decrypt_8h_source.html">decrypt.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="aa9cc61eec0c119e48762f6078a14527b"></a><!-- doxytag: member="decrypt.h::ntru_decrypt_string" ref="aa9cc61eec0c119e48762f6078a14527b" args="(const string *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const ntru_params *params)" -->
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aa9cc61eec0c119e48762f6078a14527b"></a>
<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="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> </td>
<td class="memname"><a class="el" href="structstring.html">string</a>* ntru_decrypt_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>encr_msg</em>, </td>
@ -141,10 +151,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Decryption of a given encrypted string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encr_msg</td><td>the encrypted message in the form of a string </td></tr>
<tr><td class="paramname">priv_key</td><td>the polynom containing the private key to decrypt the message </td></tr>
@ -153,9 +162,9 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the decrypted string or NULL on failure</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted string or NULL on failure</dd></dl>
<p>Decryption of a given encrypted string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encr_msg</td><td>the encrypted message in the form of a string </td></tr>
<tr><td class="paramname">priv_key</td><td>the polynom containing the private key to decrypt the message </td></tr>
@ -164,34 +173,18 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the decrypted string </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted string </dd></dl>
<p>Definition at line <a class="el" href="ntru__decrypt_8c_source.html#l00092">92</a> of file <a class="el" href="ntru__decrypt_8c_source.html">ntru_decrypt.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,16 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/include/decrypt.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru_8h.html",tooltip="public API, basic data types"];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

3
decrypt_8h__incl.map Normal file
View File

@ -0,0 +1,3 @@
<map id="/home/travis/build/hasufell/pqc/include/decrypt.h" name="/home/travis/build/hasufell/pqc/include/decrypt.h">
<area shape="rect" id="node3" href="$ntru_8h.html" title="public API, basic data types " alt="" coords="128,117,181,147"/>
</map>

View File

@ -1 +1 @@
ec7cb992a1c085002004ee39f7a320d8
fb24b66731f4f649376520135129d066

BIN
decrypt_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/decrypt.h Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,59 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/decrypt.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="decrypt_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef PUBLIC_NTRU_DECRYPT_H_</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PUBLIC_NTRU_DECRYPT_H_</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="ntru_8h.html" title="public API, basic data types">ntru.h</a>&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00050"></a>00050 <span class="keywordtype">string</span> *
<a name="l00051"></a>00051 <a class="code" href="ntru__decrypt_8c.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a>(
<a name="l00052"></a>00052 <span class="keyword">const</span> <span class="keywordtype">string</span> *encr_msg,
<a name="l00053"></a>00053 <span class="keyword">const</span> fmpz_poly_t priv_key,
<a name="l00054"></a>00054 <span class="keyword">const</span> fmpz_poly_t priv_key_inv,
<a name="l00055"></a>00055 <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00056"></a>00056
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="preprocessor">#endif </span><span class="comment">/* PUBLIC_NTRU_DECRYPT_H_ */</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -134,13 +78,65 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">decrypt.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="decrypt_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef PUBLIC_NTRU_DECRYPT_H_</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define PUBLIC_NTRU_DECRYPT_H_</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru_8h.html">ntru.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keywordtype">string</span> *</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<a class="code" href="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a>(</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keyword">const</span> <span class="keywordtype">string</span> *encr_msg,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">const</span> fmpz_poly_t priv_key,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">const</span> fmpz_poly_t priv_key_inv,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* PUBLIC_NTRU_DECRYPT_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="ntru_8h_html"><div class="ttname"><a href="ntru_8h.html">ntru.h</a></div><div class="ttdoc">public API, basic data types </div></div>
<div class="ttc" id="decrypt_8h_html_aa9cc61eec0c119e48762f6078a14527b"><div class="ttname"><a href="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a></div><div class="ttdeci">string * ntru_decrypt_string(const string *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__decrypt_8c_source.html#l00092">ntru_decrypt.c:92</a></div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,173 @@
<!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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src Directory 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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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">post quantum cryptography
</div>
<div id="projectbrief">Highly optimized implementation of the NTRUEncrypt algorithm</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<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><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>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">src Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Directory dependency graph for src:</div>
<div class="dyncontent">
<div class="center"><img src="dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png" border="0" usemap="#dir__68267d1309a1af8e8297ef4c3efbcdba__dep" alt="/home/travis/build/hasufell/pqc/src"/></div>
<map name="dir__68267d1309a1af8e8297ef4c3efbcdba__dep" id="dir__68267d1309a1af8e8297ef4c3efbcdba__dep">
<area shape="rect" id="node1" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" title="src" alt="" coords="5,5,77,53"/></map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:ntru__ascii__poly_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html">ntru_ascii_poly.c</a> <a href="ntru__ascii__poly_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__ascii__poly_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">ascii to polynomials <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__ascii__poly_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html">ntru_ascii_poly.h</a> <a href="ntru__ascii__poly_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__ascii__poly_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials ">ntru_ascii_poly.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__common_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__common_8h.html">ntru_common.h</a> <a href="ntru__common_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__common_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">common macros/functions <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__decrypt_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__decrypt_8c.html">ntru_decrypt.c</a> <a href="ntru__decrypt_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__decrypt_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">NTRU decryption. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__decrypt_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__decrypt_8h.html">ntru_decrypt.h</a> <a href="ntru__decrypt_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__decrypt_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption. ">ntru_decrypt.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__encrypt_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__encrypt_8c.html">ntru_encrypt.c</a> <a href="ntru__encrypt_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__encrypt_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">NTRU encryption. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__encrypt_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__encrypt_8h.html">ntru_encrypt.h</a> <a href="ntru__encrypt_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__encrypt_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for encrypt.c <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__err_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__err_8h.html">ntru_err.h</a> <a href="ntru__err_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__err_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">error handling <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__file_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__file_8c.html">ntru_file.c</a> <a href="ntru__file_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__file_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">file operations <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__file_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__file_8h.html">ntru_file.h</a> <a href="ntru__file_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__file_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__file_8c.html" title="file operations ">ntru_file.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__keypair_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__keypair_8c.html">ntru_keypair.c</a> <a href="ntru__keypair_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__keypair_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">key creation and operations <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__keypair_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__keypair_8h.html">ntru_keypair.h</a> <a href="ntru__keypair_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__keypair_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__keypair_8c.html" title="key creation and operations ">ntru_keypair.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__mem_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__mem_8c.html">ntru_mem.c</a> <a href="ntru__mem_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__mem_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">memory management <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__mem_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__mem_8h.html">ntru_mem.h</a> <a href="ntru__mem_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__mem_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__mem_8c.html" title="memory management ">ntru_mem.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__params_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__params_8h.html">ntru_params.h</a> <a href="ntru__params_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__params_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">NTRU parameters. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__poly_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly_8c.html">ntru_poly.c</a> <a href="ntru__poly_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__poly_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">operations on polynomials <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__poly_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly_8h.html">ntru_poly.h</a> <a href="ntru__poly_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__poly_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__poly_8c.html" title="operations on polynomials ">ntru_poly.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__poly__ascii_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8c.html">ntru_poly_ascii.c</a> <a href="ntru__poly__ascii_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__poly__ascii_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">polynomials to acii <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__poly__ascii_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__poly__ascii_8h.html">ntru_poly_ascii.h</a> <a href="ntru__poly__ascii_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__poly__ascii_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__poly__ascii_8c.html" title="polynomials to acii ">ntru_poly_ascii.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__rnd_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__rnd_8c.html">ntru_rnd.c</a> <a href="ntru__rnd_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__rnd_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">random polynomials <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__rnd_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__rnd_8h.html">ntru_rnd.h</a> <a href="ntru__rnd_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__rnd_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__rnd_8c.html" title="random polynomials ">ntru_rnd.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__string_8c"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__string_8c.html">ntru_string.c</a> <a href="ntru__string_8c_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__string_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">string type and operations <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru__string_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__string_8h.html">ntru_string.h</a> <a href="ntru__string_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru__string_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">header for <a class="el" href="ntru__string_8c.html" title="string type and operations ">ntru_string.c</a> <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 23:33:23 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="/home/travis/build/hasufell/pqc/src" name="/home/travis/build/hasufell/pqc/src">
<area shape="rect" id="node1" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" title="src" alt="" coords="5,5,77,53"/>
</map>

View File

@ -0,0 +1 @@
ecc0aab54f5ba6a2126063459d871bbe

Binary file not shown.

After

Width:  |  Height:  |  Size: 660 B

View File

@ -0,0 +1,119 @@
<!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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include Directory 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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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">post quantum cryptography
</div>
<div id="projectbrief">Highly optimized implementation of the NTRUEncrypt algorithm</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<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><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>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">include Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Directory dependency graph for include:</div>
<div class="dyncontent">
<div class="center"><img src="dir_d44c64559bbebec7f509842c48db8b23_dep.png" border="0" usemap="#dir__d44c64559bbebec7f509842c48db8b23__dep" alt="/home/travis/build/hasufell/pqc/include"/></div>
<map name="dir__d44c64559bbebec7f509842c48db8b23__dep" id="dir__d44c64559bbebec7f509842c48db8b23__dep">
<area shape="rect" id="node1" href="dir_d44c64559bbebec7f509842c48db8b23.html" title="include" alt="" coords="5,5,77,53"/></map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:decrypt_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decrypt_8h.html">decrypt.h</a> <a href="decrypt_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:decrypt_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">public API, decryption <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:encrypt_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encrypt_8h.html">encrypt.h</a> <a href="encrypt_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:encrypt_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">public API, encryption <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:keypair_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html">keypair.h</a> <a href="keypair_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:keypair_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">public API, key handling <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ntru_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html">ntru.h</a> <a href="ntru_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:ntru_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">public API, basic data types <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:rnd_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rnd_8h.html">rnd.h</a> <a href="rnd_8h_source.html">[code]</a></td></tr>
<tr class="memdesc:rnd_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">public API, random polynomials <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 23:33:23 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -0,0 +1,3 @@
<map id="/home/travis/build/hasufell/pqc/include" name="/home/travis/build/hasufell/pqc/include">
<area shape="rect" id="node1" href="dir_d44c64559bbebec7f509842c48db8b23.html" title="include" alt="" coords="5,5,77,53"/>
</map>

View File

@ -0,0 +1 @@
0949ded2bc36ea9f7de2d964cd6cf98d

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: doxygen.dox 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,19 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">doxygen.dox File Reference</div> </div>
</div><!--header-->
<div class="contents">
</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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -94,13 +78,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">doxygen.dox File Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

104
dynsections.js Normal file
View File

@ -0,0 +1,104 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
$(document).ready(function() {
$('.code,.codeRef').each(function() {
$(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
});
});

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/encrypt.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,46 +64,65 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/encrypt.h File Reference</div> </div>
<div class="title">encrypt.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>public API, encryption
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru_8h_source.html">ntru.h</a>&quot;</code><br/>
<code>#include &lt;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru_8h_source.html">ntru.h</a>&quot;</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 encrypt.h:</div>
<div class="dyncontent">
<div class="center"><img src="encrypt_8h__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2include_2encrypt_8h" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2include_2encrypt_8h" id="_2home_2travis_2build_2hasufell_2pqc_2include_2encrypt_8h">
</map>
<area shape="rect" id="node3" href="ntru_8h.html" title="public API, basic data types " alt="" coords="128,117,181,147"/></map>
</div>
</div>
<p><a href="encrypt_8h_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></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="encrypt_8h.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt_string</a> (const <a class="el" href="structstring.html">string</a> *msg, const fmpz_poly_t pub_key, const fmpz_poly_t rnd, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="memitem:a0bb47c0fa0dd4a4cfa0c0f7a722fd554"><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="encrypt_8h.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt_string</a> (const <a class="el" href="structstring.html">string</a> *msg, const fmpz_poly_t pub_key, const fmpz_poly_t rnd, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a0bb47c0fa0dd4a4cfa0c0f7a722fd554"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>public API, encryption </p>
<p>This file holds the public API of encryption of the pqc NTRU implementation and is meant to be installed on the client system. </p>
<p>Definition in file <a class="el" href="encrypt_8h_source.html">encrypt.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a0bb47c0fa0dd4a4cfa0c0f7a722fd554"></a><!-- doxytag: member="encrypt.h::ntru_encrypt_string" ref="a0bb47c0fa0dd4a4cfa0c0f7a722fd554" args="(const string *msg, const fmpz_poly_t pub_key, const fmpz_poly_t rnd, const ntru_params *params)" -->
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0bb47c0fa0dd4a4cfa0c0f7a722fd554"></a>
<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="encrypt_8h.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt_string</a> </td>
<td class="memname"><a class="el" href="structstring.html">string</a>* ntru_encrypt_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>msg</em>, </td>
@ -141,10 +151,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Encrypt a message in the form of a null-terminated char array and return a string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>the message </td></tr>
<tr><td class="paramname">pub_key</td><td>the public key </td></tr>
@ -153,9 +162,9 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly allocated encrypted string, NULL on failure</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the newly allocated encrypted string, NULL on failure</dd></dl>
<p>Encrypt a message in the form of a null-terminated char array and return a string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>the message </td></tr>
<tr><td class="paramname">pub_key</td><td>the public key </td></tr>
@ -164,34 +173,18 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly allocated encrypted string </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the newly allocated encrypted string </dd></dl>
<p>Definition at line <a class="el" href="ntru__encrypt_8c_source.html#l00074">74</a> of file <a class="el" href="ntru__encrypt_8c_source.html">ntru_encrypt.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,16 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/include/encrypt.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru_8h.html",tooltip="public API, basic data types"];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

3
encrypt_8h__incl.map Normal file
View File

@ -0,0 +1,3 @@
<map id="/home/travis/build/hasufell/pqc/include/encrypt.h" name="/home/travis/build/hasufell/pqc/include/encrypt.h">
<area shape="rect" id="node3" href="$ntru_8h.html" title="public API, basic data types " alt="" coords="128,117,181,147"/>
</map>

View File

@ -1 +1 @@
f9fe215186c65b1a48490e4808f402c4
6aad9be46b94806b9b3f39bcf0b88dd9

BIN
encrypt_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/encrypt.h Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,59 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/encrypt.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="encrypt_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef PUBLIC_NTRU_ENCRYPT_H_</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PUBLIC_NTRU_ENCRYPT_H_</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="ntru_8h.html" title="public API, basic data types">ntru.h</a>&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00051"></a>00051 <span class="keywordtype">string</span> *
<a name="l00052"></a>00052 <a class="code" href="ntru__encrypt_8c.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt_string</a>(
<a name="l00053"></a>00053 <span class="keyword">const</span> <span class="keywordtype">string</span> *msg,
<a name="l00054"></a>00054 <span class="keyword">const</span> fmpz_poly_t pub_key,
<a name="l00055"></a>00055 <span class="keyword">const</span> fmpz_poly_t rnd,
<a name="l00056"></a>00056 <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00057"></a>00057
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="preprocessor">#endif </span><span class="comment">/* PUBLIC_NTRU_ENCRYPT_H_ */</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -134,13 +78,65 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">encrypt.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="encrypt_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef PUBLIC_NTRU_ENCRYPT_H_</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define PUBLIC_NTRU_ENCRYPT_H_</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru_8h.html">ntru.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keywordtype">string</span> *</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<a class="code" href="encrypt_8h.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt_string</a>(</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">const</span> <span class="keywordtype">string</span> *msg,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">const</span> fmpz_poly_t pub_key,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> fmpz_poly_t rnd,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* PUBLIC_NTRU_ENCRYPT_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="encrypt_8h_html_a0bb47c0fa0dd4a4cfa0c0f7a722fd554"><div class="ttname"><a href="encrypt_8h.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt_string</a></div><div class="ttdeci">string * ntru_encrypt_string(const string *msg, const fmpz_poly_t pub_key, const fmpz_poly_t rnd, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__encrypt_8c_source.html#l00074">ntru_encrypt.c:74</a></div></div>
<div class="ttc" id="ntru_8h_html"><div class="ttname"><a href="ntru_8h.html">ntru.h</a></div><div class="ttdoc">public API, basic data types </div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: File List</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,49 +64,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><table>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/include/<a class="el" href="decrypt_8h.html">decrypt.h</a> <a href="decrypt_8h_source.html">[code]</a></td><td class="indexvalue">Public API, decryption </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/include/<a class="el" href="encrypt_8h.html">encrypt.h</a> <a href="encrypt_8h_source.html">[code]</a></td><td class="indexvalue">Public API, encryption </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/include/<a class="el" href="keypair_8h.html">keypair.h</a> <a href="keypair_8h_source.html">[code]</a></td><td class="indexvalue">Public API, key handling </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/include/<a class="el" href="ntru_8h.html">ntru.h</a> <a href="ntru_8h_source.html">[code]</a></td><td class="indexvalue">Public API, basic data types </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/include/<a class="el" href="rnd_8h.html">rnd.h</a> <a href="rnd_8h_source.html">[code]</a></td><td class="indexvalue">Public API, random polynomials </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__ascii__poly_8c.html">ntru_ascii_poly.c</a> <a href="ntru__ascii__poly_8c_source.html">[code]</a></td><td class="indexvalue">Ascii to polynomials </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__ascii__poly_8h.html">ntru_ascii_poly.h</a> <a href="ntru__ascii__poly_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials">ntru_ascii_poly.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__common_8h.html">ntru_common.h</a> <a href="ntru__common_8h_source.html">[code]</a></td><td class="indexvalue">Common macros/functions </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__decrypt_8c.html">ntru_decrypt.c</a> <a href="ntru__decrypt_8c_source.html">[code]</a></td><td class="indexvalue">NTRU decryption </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__decrypt_8h.html">ntru_decrypt.h</a> <a href="ntru__decrypt_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption.">ntru_decrypt.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__encrypt_8c.html">ntru_encrypt.c</a> <a href="ntru__encrypt_8c_source.html">[code]</a></td><td class="indexvalue">NTRU encryption </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__encrypt_8h.html">ntru_encrypt.h</a> <a href="ntru__encrypt_8h_source.html">[code]</a></td><td class="indexvalue">Header for encrypt.c </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__err_8h.html">ntru_err.h</a> <a href="ntru__err_8h_source.html">[code]</a></td><td class="indexvalue">Error handling </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__file_8c.html">ntru_file.c</a> <a href="ntru__file_8c_source.html">[code]</a></td><td class="indexvalue">File operations </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__file_8h.html">ntru_file.h</a> <a href="ntru__file_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__file_8c.html" title="file operations">ntru_file.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__keypair_8c.html">ntru_keypair.c</a> <a href="ntru__keypair_8c_source.html">[code]</a></td><td class="indexvalue">Key creation and operations </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__keypair_8h.html">ntru_keypair.h</a> <a href="ntru__keypair_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__keypair_8c.html" title="key creation and operations">ntru_keypair.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__mem_8c.html">ntru_mem.c</a> <a href="ntru__mem_8c_source.html">[code]</a></td><td class="indexvalue">Memory management </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__mem_8h.html">ntru_mem.h</a> <a href="ntru__mem_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__mem_8c.html" title="memory management">ntru_mem.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__params_8h.html">ntru_params.h</a> <a href="ntru__params_8h_source.html">[code]</a></td><td class="indexvalue">NTRU parameters </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__poly_8c.html">ntru_poly.c</a> <a href="ntru__poly_8c_source.html">[code]</a></td><td class="indexvalue">Operations on polynomials </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__poly_8h.html">ntru_poly.h</a> <a href="ntru__poly_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__poly_8c.html" title="operations on polynomials">ntru_poly.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__poly__ascii_8c.html">ntru_poly_ascii.c</a> <a href="ntru__poly__ascii_8c_source.html">[code]</a></td><td class="indexvalue">Polynomials to acii </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__poly__ascii_8h.html">ntru_poly_ascii.h</a> <a href="ntru__poly__ascii_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__poly__ascii_8c.html" title="polynomials to acii">ntru_poly_ascii.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__rnd_8c.html">ntru_rnd.c</a> <a href="ntru__rnd_8c_source.html">[code]</a></td><td class="indexvalue">Random polynomials </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__rnd_8h.html">ntru_rnd.h</a> <a href="ntru__rnd_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__rnd_8c.html" title="random polynomials">ntru_rnd.c</a> </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__string_8c.html">ntru_string.c</a> <a href="ntru__string_8c_source.html">[code]</a></td><td class="indexvalue">String type and operations </td></tr>
<tr><td class="indexkey">/home/travis/build/hasufell/pqc/src/<a class="el" href="ntru__string_8h.html">ntru_string.h</a> <a href="ntru__string_8h_source.html">[code]</a></td><td class="indexvalue">Header for <a class="el" href="ntru__string_8c.html" title="string type and operations">ntru_string.c</a> </td></tr>
</table>
</div><!-- contents -->
</div><!-- top -->
<!-- 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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -124,13 +79,51 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html" target="_self">include</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="decrypt_8h_source.html"><span class="icondoc"></span></a><a class="el" href="decrypt_8h.html" target="_self">decrypt.h</a></td><td class="desc">Public API, decryption </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="encrypt_8h_source.html"><span class="icondoc"></span></a><a class="el" href="encrypt_8h.html" target="_self">encrypt.h</a></td><td class="desc">Public API, encryption </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="keypair_8h_source.html"><span class="icondoc"></span></a><a class="el" href="keypair_8h.html" target="_self">keypair.h</a></td><td class="desc">Public API, key handling </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru_8h.html" target="_self">ntru.h</a></td><td class="desc">Public API, basic data types </td></tr>
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="rnd_8h_source.html"><span class="icondoc"></span></a><a class="el" href="rnd_8h.html" target="_self">rnd.h</a></td><td class="desc">Public API, random polynomials </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__ascii__poly_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__ascii__poly_8c.html" target="_self">ntru_ascii_poly.c</a></td><td class="desc">Ascii to polynomials </td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__ascii__poly_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__ascii__poly_8h.html" target="_self">ntru_ascii_poly.h</a></td><td class="desc">Header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials ">ntru_ascii_poly.c</a> </td></tr>
<tr id="row_1_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__common_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__common_8h.html" target="_self">ntru_common.h</a></td><td class="desc">Common macros/functions </td></tr>
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__decrypt_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__decrypt_8c.html" target="_self">ntru_decrypt.c</a></td><td class="desc">NTRU decryption </td></tr>
<tr id="row_1_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__decrypt_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__decrypt_8h.html" target="_self">ntru_decrypt.h</a></td><td class="desc">Header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption. ">ntru_decrypt.c</a> </td></tr>
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__encrypt_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__encrypt_8c.html" target="_self">ntru_encrypt.c</a></td><td class="desc">NTRU encryption </td></tr>
<tr id="row_1_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__encrypt_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__encrypt_8h.html" target="_self">ntru_encrypt.h</a></td><td class="desc">Header for encrypt.c </td></tr>
<tr id="row_1_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__err_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__err_8h.html" target="_self">ntru_err.h</a></td><td class="desc">Error handling </td></tr>
<tr id="row_1_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__file_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__file_8c.html" target="_self">ntru_file.c</a></td><td class="desc">File operations </td></tr>
<tr id="row_1_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__file_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__file_8h.html" target="_self">ntru_file.h</a></td><td class="desc">Header for <a class="el" href="ntru__file_8c.html" title="file operations ">ntru_file.c</a> </td></tr>
<tr id="row_1_10_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__keypair_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__keypair_8c.html" target="_self">ntru_keypair.c</a></td><td class="desc">Key creation and operations </td></tr>
<tr id="row_1_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__keypair_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__keypair_8h.html" target="_self">ntru_keypair.h</a></td><td class="desc">Header for <a class="el" href="ntru__keypair_8c.html" title="key creation and operations ">ntru_keypair.c</a> </td></tr>
<tr id="row_1_12_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__mem_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__mem_8c.html" target="_self">ntru_mem.c</a></td><td class="desc">Memory management </td></tr>
<tr id="row_1_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__mem_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__mem_8h.html" target="_self">ntru_mem.h</a></td><td class="desc">Header for <a class="el" href="ntru__mem_8c.html" title="memory management ">ntru_mem.c</a> </td></tr>
<tr id="row_1_14_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__params_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__params_8h.html" target="_self">ntru_params.h</a></td><td class="desc">NTRU parameters </td></tr>
<tr id="row_1_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__poly_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__poly_8c.html" target="_self">ntru_poly.c</a></td><td class="desc">Operations on polynomials </td></tr>
<tr id="row_1_16_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__poly_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__poly_8h.html" target="_self">ntru_poly.h</a></td><td class="desc">Header for <a class="el" href="ntru__poly_8c.html" title="operations on polynomials ">ntru_poly.c</a> </td></tr>
<tr id="row_1_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__poly__ascii_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__poly__ascii_8c.html" target="_self">ntru_poly_ascii.c</a></td><td class="desc">Polynomials to acii </td></tr>
<tr id="row_1_18_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__poly__ascii_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__poly__ascii_8h.html" target="_self">ntru_poly_ascii.h</a></td><td class="desc">Header for <a class="el" href="ntru__poly__ascii_8c.html" title="polynomials to acii ">ntru_poly_ascii.c</a> </td></tr>
<tr id="row_1_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__rnd_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__rnd_8c.html" target="_self">ntru_rnd.c</a></td><td class="desc">Random polynomials </td></tr>
<tr id="row_1_20_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__rnd_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__rnd_8h.html" target="_self">ntru_rnd.h</a></td><td class="desc">Header for <a class="el" href="ntru__rnd_8c.html" title="random polynomials ">ntru_rnd.c</a> </td></tr>
<tr id="row_1_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__string_8c_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__string_8c.html" target="_self">ntru_string.c</a></td><td class="desc">String type and operations </td></tr>
<tr id="row_1_22_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="ntru__string_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ntru__string_8h.html" target="_self">ntru_string.h</a></td><td class="desc">Header for <a class="el" href="ntru__string_8c.html" title="string type and operations ">ntru_string.c</a> </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

BIN
ftv2blank.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
ftv2doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

BIN
ftv2folderclosed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

BIN
ftv2folderopen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

BIN
ftv2lastnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
ftv2link.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

BIN
ftv2mlastnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

BIN
ftv2mnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

BIN
ftv2node.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
ftv2plastnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

BIN
ftv2pnode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

BIN
ftv2splitbar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

BIN
ftv2vertline.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Data Fields</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -80,7 +71,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="contents">
<div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div><ul>
<li>len
@ -109,27 +114,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Data Fields - Variables</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -80,7 +71,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="contents">
&#160;<ul>
<li>len
@ -109,27 +114,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Globals</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -78,7 +69,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
@ -95,10 +86,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
<li class="current"><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="contents">
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
@ -391,27 +396,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Globals</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -78,10 +69,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Macros</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="contents">
&#160;<ul>
<li>ASCII_BITS
@ -110,27 +115,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Globals</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -78,7 +69,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
@ -93,10 +84,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_w"><span>w</span></a></li>
<li class="current"><a href="#index_w"><span>w</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="contents">
&#160;
@ -178,9 +183,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">ntru_ascii_poly.c</a>
</li>
<li>get_rnd_int()
: <a class="el" href="ntru__rnd_8h.html#ad85ebfb1cb4b4942942213b750812cf0">ntru_rnd.h</a>
, <a class="el" href="rnd_8h.html#ad85ebfb1cb4b4942942213b750812cf0">rnd.h</a>
: <a class="el" href="rnd_8h.html#ad85ebfb1cb4b4942942213b750812cf0">rnd.h</a>
, <a class="el" href="ntru__rnd_8c.html#ad85ebfb1cb4b4942942213b750812cf0">ntru_rnd.c</a>
, <a class="el" href="ntru__rnd_8h.html#ad85ebfb1cb4b4942942213b750812cf0">ntru_rnd.h</a>
</li>
<li>get_urnd_int()
: <a class="el" href="rnd_8h.html#a99e4820cab7157eb1e16109e21dac81f">rnd.h</a>
@ -210,9 +215,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, <a class="el" href="ntru__mem_8h.html#a37e0be4fd8d0b677a41c8287ef47885c">ntru_mem.h</a>
</li>
<li>ntru_create_keypair()
: <a class="el" href="ntru__keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_keypair.h</a>
, <a class="el" href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">keypair.h</a>
: <a class="el" href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">keypair.h</a>
, <a class="el" href="ntru__keypair_8c.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_keypair.c</a>
, <a class="el" href="ntru__keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_keypair.h</a>
</li>
<li>ntru_decrypt_poly()
: <a class="el" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt.c</a>
@ -238,9 +243,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, <a class="el" href="ntru__encrypt_8c.html#a0bb47c0fa0dd4a4cfa0c0f7a722fd554">ntru_encrypt.c</a>
</li>
<li>ntru_get_rnd_tern_poly_num()
: <a class="el" href="rnd_8h.html#a916a55c609c172ae4e48896032b36e47">rnd.h</a>
: <a class="el" href="ntru__rnd_8h.html#a916a55c609c172ae4e48896032b36e47">ntru_rnd.h</a>
, <a class="el" href="rnd_8h.html#a916a55c609c172ae4e48896032b36e47">rnd.h</a>
, <a class="el" href="ntru__rnd_8c.html#a916a55c609c172ae4e48896032b36e47">ntru_rnd.c</a>
, <a class="el" href="ntru__rnd_8h.html#a916a55c609c172ae4e48896032b36e47">ntru_rnd.h</a>
</li>
<li>ntru_malloc()
: <a class="el" href="ntru__mem_8h.html#a020790bf8b201fde92395cf975c0c691">ntru_mem.h</a>
@ -274,9 +279,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
, <a class="el" href="ntru_8h.html#a3f53c63383ff301b20dcede0783869a7">ntru.h</a>
</li>
<li>poly_draw()
: <a class="el" href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">ntru.h</a>
: <a class="el" href="ntru__poly_8h.html#a80a8ce0f2944bc3df94291ef2f781498">ntru_poly.h</a>
, <a class="el" href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">ntru.h</a>
, <a class="el" href="ntru__poly_8c.html#a80a8ce0f2944bc3df94291ef2f781498">ntru_poly.c</a>
, <a class="el" href="ntru__poly_8h.html#a80a8ce0f2944bc3df94291ef2f781498">ntru_poly.h</a>
</li>
<li>poly_draw_pretty()
: <a class="el" href="ntru__poly_8c.html#aec098d00160d2d502eb1f8a7c3fa5453">ntru_poly.c</a>
@ -295,9 +300,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
: <a class="el" href="ntru__poly_8c.html#a891af13dc4355c9fab9ca3fafcac8054">ntru_poly.c</a>
</li>
<li>poly_new()
: <a class="el" href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">ntru.h</a>
: <a class="el" href="ntru__poly_8h.html#a20f86085d5eb5372fd25dc270069d38c">ntru_poly.h</a>
, <a class="el" href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">ntru.h</a>
, <a class="el" href="ntru__poly_8c.html#a20f86085d5eb5372fd25dc270069d38c">ntru_poly.c</a>
, <a class="el" href="ntru__poly_8h.html#a20f86085d5eb5372fd25dc270069d38c">ntru_poly.h</a>
</li>
<li>poly_starmultiply()
: <a class="el" href="ntru__poly_8c.html#ae96f479ddd97af709a0ed50817fd3fb3">ntru_poly.c</a>
@ -345,27 +350,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Globals</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -78,10 +69,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
<li><a href="globals_defs.html"><span>Macros</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="contents">
&#160;<ul>
<li>keypair
@ -98,27 +103,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,22 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node9 [shape="box",label="Inherited",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",fillcolor="grey75",style="filled" fontcolor="black"];
Node10 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [shape="box",label="PublicBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"];
Node11 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [shape="box",label="Truncated",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"];
Node13 -> Node9 [dir="back",color="darkgreen",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [shape="box",label="ProtectedBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"];
Node14 -> Node9 [dir="back",color="firebrick4",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [shape="box",label="PrivateBase",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"];
Node15 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [shape="box",label="Undocumented",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="grey75"];
Node16 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [shape="box",label="Templ< int >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"];
Node17 -> Node16 [dir="back",color="orange",fontsize="10",style="dashed",label="< int >",fontname="Helvetica"];
Node17 [shape="box",label="Templ< T >",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"];
Node18 -> Node9 [dir="back",color="darkorchid3",fontsize="10",style="dashed",label="m_usedClass",fontname="Helvetica"];
Node18 [shape="box",label="Used",fontsize="10",height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"];
}

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Graph Legend</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -67,53 +58,66 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</div>
</div><!-- top -->
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div class="header">
<div class="headertitle">
<div class="title">Graph Legend</div> </div>
</div><!--header-->
<div class="contents">
<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
<p>Consider the following example: </p>
<div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
<span class="keyword">class </span>Invisible { };
<span class="comment"></span>
<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
<span class="comment">/* Class not documented with doxygen comments */</span>
<span class="keyword">class </span>Undocumented { };
<span class="comment"></span>
<span class="comment">/*! Class that is inherited using public inheritance */</span>
<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
<span class="comment"></span>
<span class="comment">/*! A template class */</span>
<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
<span class="comment"></span>
<span class="comment">/*! Class that is inherited using protected inheritance */</span>
<span class="keyword">class </span>ProtectedBase { };
<span class="comment"></span>
<span class="comment">/*! Class that is inherited using private inheritance */</span>
<span class="keyword">class </span>PrivateBase { };
<span class="comment"></span>
<span class="comment">/*! Class that is used by the Inherited class */</span>
<span class="keyword">class </span>Used { };
<span class="comment"></span>
<span class="comment">/*! Super class that inherits a number of other classes */</span>
<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
<span class="keyword">protected</span> ProtectedBase,
<span class="keyword">private</span> PrivateBase,
<span class="keyword">public</span> Undocumented,
<span class="keyword">public</span> Templ&lt;int&gt;
{
<span class="keyword">private</span>:
Used *m_usedClass;
};
</pre></div><p> This will result in the following graph:</p>
<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
<div class="line"><span class="keyword">class </span>Invisible { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
<div class="line"></div>
<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
<div class="line"><span class="keyword">class </span>Undocumented { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! A template class */</span></div>
<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
<div class="line"><span class="keyword">class </span>Used { };</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div>
<div class="line"> <span class="keyword">private</span> PrivateBase,</div>
<div class="line"> <span class="keyword">public</span> Undocumented,</div>
<div class="line"> <span class="keyword">public</span> Templ&lt;int&gt;</div>
<div class="line">{</div>
<div class="line"> <span class="keyword">private</span>:</div>
<div class="line"> Used *m_usedClass;</div>
<div class="line">};</div>
</div><!-- fragment --><p> This will result in the following graph:</p>
<center><div class="image">
<img src="graph_legend.png" />
</div>
</center> <p>The boxes in the above graph have the following meaning: </p>
</center><p>The boxes in the above graph have the following meaning: </p>
<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
@ -124,7 +128,7 @@ A box with a grey border denotes an undocumented struct or class. </li>
<li>
A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
</ul>
<p>The arrows have the following meaning: </p>
<p>The arrows have the following meaning: </p>
<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
@ -138,27 +142,11 @@ A purple dashed arrow is used if a class is contained or used by another class.
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
</ul>
</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>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1 +1 @@
70d597617e34367275a35eeb8fb7ea07
387ff8eb65306fa251338d3c9bd7bfff

BIN
graph_legend.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: Index Page</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -67,53 +58,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Index Page </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="author"><dt><b>Author:</b></dt><dd>hasufell</dd></dl>
<h2><a class="anchor" id="intro_sec"></a>
Introduction</h2>
<p>Highly optimized C implementation of the NTRUEncrypt algorithm, using the FLINT library.</p>
<h2><a class="anchor" id="mot"></a>
Motivation</h2>
<p>Modern quantum computers will enable us to ride extremely effective attacks on crypto algorithms like rsa. One known attack is the quantum algorithm called <a href="http://en.wikipedia.org/wiki/Shor%27s_algorithm">Shor's algorithm</a>. In the light of fast paced computer hardware development and known quantum algorithms, it is of importance to find and implement alternatives which are not vulnerable to these attacks.</p>
<p>One known alternative is called <a href="http://en.wikipedia.org/wiki/NTRUEncrypt">NTRU</a> and will be our main focus. It is lattice-based (shortest vector problem in a lattice). In fact, NTRU is a parametrised family of cryptosystems. As such it is represented by the triple (N, p, q), where N is prime, q is always larger than p and p and q are coprime. As well as four sets of polynomials: a polynomial part of the private key, a polynomial for generation of the public key, the message and a blinding value, respectively, all of degree at most N - 1. It is, in theory, very efficient, since encryption and decryption only use simple polynomial multiplication which are very fast compared to asymmetric encryption schemes.</p>
<h2><a class="anchor" id="goals"></a>
Goals</h2>
<p>Our main goal is to implement an alternative library of the NTRU algorithm in C and gather experience in cryptographic programming. Further, it may help to raise awareness of the need of quantum-secure encryption and enable us to contribute to already present implementations. It may even reveal problems of other implementations and help advancing them. It may as well help with diversity in crypto implementations, which is always a good thing. On top of that we will provide a command-line interface to our library and allow basic operations like key creation and encryption from stdin.</p>
<p>Optimizing the algorithm itself is not within our scope. However, the library may undergo heavy changes on the mathematical implementation of polynomial arithmetic, in order to optimize run-time behaviour.</p>
<h2><a class="anchor" id="algos"></a>
Algorithms</h2>
<p>Most of the algorithms in <a class="el" href="ntru__poly_8c.html" title="operations on polynomials">ntru_poly.c</a>, <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption.">ntru_decrypt.c</a>, <a class="el" href="ntru__encrypt_8c.html" title="NTRU encryption.">ntru_encrypt.c</a> and <a class="el" href="ntru__keypair_8c.html" title="key creation and operations">ntru_keypair.c</a> are based on the pseudo-code from <a href="http://www.crypto.wpi.edu/Publications/Documents/ms_corourke.pdf">Efficient NTRU Implementations by Colleen Marie O'Rourke</a>.</p>
<p>Further work is based on <a href="http://www.math.uni-hamburg.de/home/kuehn/moldenhauer-bsc-NTRUKryptosystem-final.pdf">Das NTRU-Kryptosystem von Anja Moldenhauer</a> and the official <a href="https://www.securityinnovation.com/uploads/Crypto/NTRUTech014.pdf">NTRU Cryptosystems Technical Report #14</a>.</p>
<h2><a class="anchor" id="license"></a>
License</h2>
<p><a href="https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">LGPL-2.1</a></p>
<h2><a class="anchor" id="deps"></a>
Dependencies</h2>
<p>This library was written for Linux systems. Support for windows will not be added. \* <a href="http://www.flintlib.org">FLINT-2.4.3 or later</a> (compiled with gmp and mpfr) \* <a href="https://developer.gnome.org/glib/stable/">glib-2.0</a> \* <a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> (for the build only)</p>
<h2><a class="anchor" id="install_sec"></a>
Installation</h2>
<p>\* make \* make install</p>
<h2><a class="anchor" id="usage"></a>
Usage</h2>
<p>See this API doc, the public headers are in the include/ subfolder.</p>
<h2><a class="anchor" id="perf"></a>
Performance</h2>
<p>See <a href="https://github.com/hasufell/pqc/wiki/Performance-analysis">Performance Analysis on github</a>.</p>
<h2><a class="anchor" id="ref"></a>
References</h2>
<p>\* <a href="https://github.com/hasufell/pqc">This library on github</a> \* <a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.8422&amp;rep=rep1&amp;type=pdf">Original NTRUEncrypt paper</a> \* <a href="http://www.crypto.wpi.edu/Publications/Documents/ms_corourke.pdf">Efficient NTRU Implementations by Colleen Marie O'Rourke</a> \* <a href="http://www.math.uni-hamburg.de/home/kuehn/moldenhauer-bsc-NTRUKryptosystem-final.pdf">Das NTRU-Kryptosystem von Anja Moldenhauer</a> \* <a href="https://www.securityinnovation.com/uploads/Crypto/NTRUTech014.pdf">NTRU Cryptosystems Technical Report #14</a> \* <a href="http://teal.gmu.edu/courses/ECE646/project/reports_2001/dsouza.pdf">The NTRU Cryptosystem: Implementation and Comparative Analysis by Rodney D'Souza</a> \* <a href="http://en.wikipedia.org/wiki/NTRUEncrypt">Wikipedia Article</a> </p>
</div></div><!-- contents -->
</div><!-- top -->
<!-- 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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -122,13 +73,79 @@ References</h2>
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Index Page </div> </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#intro_sec">Introduction</a></li>
<li class="level1"><a href="#mot">Motivation</a></li>
<li class="level1"><a href="#goals">Goals</a></li>
<li class="level1"><a href="#algos">Algorithms</a></li>
<li class="level1"><a href="#license">License</a></li>
<li class="level1"><a href="#deps">Dependencies</a></li>
<li class="level1"><a href="#install_sec">Installation</a></li>
<li class="level1"><a href="#usage">Usage</a></li>
<li class="level1"><a href="#perf">Performance</a></li>
<li class="level1"><a href="#ref">References</a></li>
</ul>
</div>
<div class="textblock"><dl class="section author"><dt>Author</dt><dd>hasufell</dd></dl>
<h1><a class="anchor" id="intro_sec"></a>
Introduction</h1>
<p>Highly optimized C implementation of the NTRUEncrypt algorithm, using the FLINT library.</p>
<h1><a class="anchor" id="mot"></a>
Motivation</h1>
<p>Modern quantum computers will enable us to ride extremely effective attacks on crypto algorithms like rsa. One known attack is the quantum algorithm called <a href="http://en.wikipedia.org/wiki/Shor%27s_algorithm">Shor's algorithm</a>. In the light of fast paced computer hardware development and known quantum algorithms, it is of importance to find and implement alternatives which are not vulnerable to these attacks.</p>
<p>One known alternative is called <a href="http://en.wikipedia.org/wiki/NTRUEncrypt">NTRU</a> and will be our main focus. It is lattice-based (shortest vector problem in a lattice). In fact, NTRU is a parametrised family of cryptosystems. As such it is represented by the triple (N, p, q), where N is prime, q is always larger than p and p and q are coprime. As well as four sets of polynomials: a polynomial part of the private key, a polynomial for generation of the public key, the message and a blinding value, respectively, all of degree at most N - 1. It is, in theory, very efficient, since encryption and decryption only use simple polynomial multiplication which are very fast compared to asymmetric encryption schemes.</p>
<h1><a class="anchor" id="goals"></a>
Goals</h1>
<p>Our main goal is to implement an alternative library of the NTRU algorithm in C and gather experience in cryptographic programming. Further, it may help to raise awareness of the need of quantum-secure encryption and enable us to contribute to already present implementations. It may even reveal problems of other implementations and help advancing them. It may as well help with diversity in crypto implementations, which is always a good thing. On top of that we will provide a command-line interface to our library and allow basic operations like key creation and encryption from stdin.</p>
<p>Optimizing the algorithm itself is not within our scope. However, the library may undergo heavy changes on the mathematical implementation of polynomial arithmetic, in order to optimize run-time behaviour.</p>
<h1><a class="anchor" id="algos"></a>
Algorithms</h1>
<p>Most of the algorithms in <a class="el" href="ntru__poly_8c.html" title="operations on polynomials ">ntru_poly.c</a>, <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption. ">ntru_decrypt.c</a>, <a class="el" href="ntru__encrypt_8c.html" title="NTRU encryption. ">ntru_encrypt.c</a> and <a class="el" href="ntru__keypair_8c.html" title="key creation and operations ">ntru_keypair.c</a> are based on the pseudo-code from <a href="http://www.crypto.wpi.edu/Publications/Documents/ms_corourke.pdf">Efficient NTRU Implementations by Colleen Marie O'Rourke</a>.</p>
<p>Further work is based on <a href="http://www.math.uni-hamburg.de/home/kuehn/moldenhauer-bsc-NTRUKryptosystem-final.pdf">Das NTRU-Kryptosystem von Anja Moldenhauer</a> and the official <a href="https://www.securityinnovation.com/uploads/Crypto/NTRUTech014.pdf">NTRU Cryptosystems Technical Report #14</a>.</p>
<h1><a class="anchor" id="license"></a>
License</h1>
<p><a href="https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html">LGPL-2.1</a></p>
<h1><a class="anchor" id="deps"></a>
Dependencies</h1>
<p>This library was written for Linux systems. Support for windows will not be added.</p><ul>
<li><a href="http://www.flintlib.org">FLINT-2.4.3 or later</a> (compiled with gmp and mpfr)</li>
<li><a href="https://developer.gnome.org/glib/stable/">glib-2.0</a></li>
<li><a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a> (for the build only)</li>
</ul>
<h1><a class="anchor" id="install_sec"></a>
Installation</h1>
<ul>
<li>make</li>
<li>make install</li>
</ul>
<h1><a class="anchor" id="usage"></a>
Usage</h1>
<p>See this API doc, the public headers are in the include/ subfolder.</p>
<h1><a class="anchor" id="perf"></a>
Performance</h1>
<p>See <a href="https://github.com/hasufell/pqc/wiki/Performance-analysis">Performance Analysis on github</a>.</p>
<h1><a class="anchor" id="ref"></a>
References</h1>
<ul>
<li><a href="https://github.com/hasufell/pqc">This library on github</a></li>
<li><a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.25.8422&amp;rep=rep1&amp;type=pdf">Original NTRUEncrypt paper</a></li>
<li><a href="http://www.crypto.wpi.edu/Publications/Documents/ms_corourke.pdf">Efficient NTRU Implementations by Colleen Marie O'Rourke</a></li>
<li><a href="http://www.math.uni-hamburg.de/home/kuehn/moldenhauer-bsc-NTRUKryptosystem-final.pdf">Das NTRU-Kryptosystem von Anja Moldenhauer</a></li>
<li><a href="https://www.securityinnovation.com/uploads/Crypto/NTRUTech014.pdf">NTRU Cryptosystems Technical Report #14</a></li>
<li><a href="http://teal.gmu.edu/courses/ECE646/project/reports_2001/dsouza.pdf">The NTRU Cryptosystem: Implementation and Comparative Analysis by Rodney D'Souza</a></li>
<li><a href="http://en.wikipedia.org/wiki/NTRUEncrypt">Wikipedia Article</a> </li>
</ul>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 8 2014 21:44:13 for post quantum cryptography by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,112 +0,0 @@
#!/usr/bin/perl
%subst = ( );
$quiet = 0;
while ( @ARGV ) {
$_ = shift @ARGV;
if ( s/^-// ) {
if ( /^l(.*)/ ) {
$v = ($1 eq "") ? shift @ARGV : $1;
($v =~ /\/$/) || ($v .= "/");
$_ = $v;
if ( /(.+)\@(.+)/ ) {
if ( exists $subst{$1} ) {
$subst{$1} = $2;
} else {
print STDERR "Unknown tag file $1 given with option -l\n";
&usage();
}
} else {
print STDERR "Argument $_ is invalid for option -l\n";
&usage();
}
}
elsif ( /^q/ ) {
$quiet = 1;
}
elsif ( /^\?|^h/ ) {
&usage();
}
else {
print STDERR "Illegal option -$_\n";
&usage();
}
}
else {
push (@files, $_ );
}
}
foreach $sub (keys %subst)
{
if ( $subst{$sub} eq "" )
{
print STDERR "No substitute given for tag file `$sub'\n";
&usage();
}
elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" )
{
print "Substituting $subst{$sub} for each occurrence of tag file $sub\n";
}
}
if ( ! @files ) {
if (opendir(D,".")) {
foreach $file ( readdir(D) ) {
$match = ".html";
next if ( $file =~ /^\.\.?$/ );
($file =~ /$match/) && (push @files, $file);
($file =~ /\.svg/) && (push @files, $file);
($file =~ "navtree.js") && (push @files, $file);
}
closedir(D);
}
}
if ( ! @files ) {
print STDERR "Warning: No input files given and none found!\n";
}
foreach $f (@files)
{
if ( ! $quiet ) {
print "Editing: $f...\n";
}
$oldf = $f;
$f .= ".bak";
unless (rename $oldf,$f) {
print STDERR "Error: cannot rename file $oldf\n";
exit 1;
}
if (open(F,"<$f")) {
unless (open(G,">$oldf")) {
print STDERR "Error: opening file $oldf for writing\n";
exit 1;
}
if ($oldf ne "tree.js") {
while (<F>) {
s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (xlink:href|href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g;
print G "$_";
}
}
else {
while (<F>) {
s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/g;
print G "$_";
}
}
}
else {
print STDERR "Warning file $f does not exist\n";
}
unlink $f;
}
sub usage {
print STDERR "Usage: installdox [options] [html-file [html-file ...]]\n";
print STDERR "Options:\n";
print STDERR " -l tagfile\@linkName tag file + URL or directory \n";
print STDERR " -q Quiet mode\n\n";
exit 1;
}

89
jquery.js vendored

File diff suppressed because one or more lines are too long

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/keypair.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,56 +64,84 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/keypair.h File Reference</div> </div>
<div class="title">keypair.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>public API, key handling
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru_8h_source.html">ntru.h</a>&quot;</code><br/>
<code>#include &lt;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
<code>#include &lt;stdbool.h&gt;</code><br/>
<code>#include &lt;stdint.h&gt;</code><br/>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru_8h_source.html">ntru.h</a>&quot;</code><br />
<code>#include &lt;fmpz_poly.h&gt;</code><br />
<code>#include &lt;fmpz.h&gt;</code><br />
<code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for keypair.h:</div>
<div class="dyncontent">
<div class="center"><img src="keypair_8h__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2include_2keypair_8h" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2include_2keypair_8h" id="_2home_2travis_2build_2hasufell_2pqc_2include_2keypair_8h">
</map>
<area shape="rect" id="node3" href="ntru_8h.html" title="public API, basic data types " alt="" coords="147,117,200,147"/></map>
</div>
</div>
<p><a href="keypair_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkeypair.html">keypair</a></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structkeypair.html">keypair</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structkeypair.html">keypair</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#aacfc9254c7939584924ab9d27ba6f504">keypair</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
<tr class="memitem:aacfc9254c7939584924ab9d27ba6f504"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structkeypair.html">keypair</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#aacfc9254c7939584924ab9d27ba6f504">keypair</a></td></tr>
<tr class="separator:aacfc9254c7939584924ab9d27ba6f504"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_create_keypair</a> (fmpz_poly_t f, fmpz_poly_t g, <a class="el" href="structkeypair.html">keypair</a> *pair, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a41741ed660cb806c47335f66055e1bdd">export_public_key</a> (char const *const filename, fmpz_poly_t pub, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#afa29f14a14486d3f6b979ee900d7e738">export_priv_key</a> (char const *const filename, fmpz_poly_t priv, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a4e2c6da04c55e8c1b6c447f4cc9f1d6f">import_public_key</a> (char const *const filename, fmpz_poly_t pub, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a1f917ea6ef5302826c888e5c88e0869e">import_priv_key</a> (char const *const filename, fmpz_poly_t priv, fmpz_poly_t priv_inv, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a5279c4990bc22bb9e735fe36372a6786">ntru_delete_keypair</a> (<a class="el" href="structkeypair.html">keypair</a> *pair)</td></tr>
<tr class="memitem:a6873d41211a92c4f6b0074ef34ae1743"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_create_keypair</a> (fmpz_poly_t f, fmpz_poly_t g, <a class="el" href="structkeypair.html">keypair</a> *pair, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a6873d41211a92c4f6b0074ef34ae1743"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41741ed660cb806c47335f66055e1bdd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a41741ed660cb806c47335f66055e1bdd">export_public_key</a> (char const *const filename, fmpz_poly_t pub, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a41741ed660cb806c47335f66055e1bdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa29f14a14486d3f6b979ee900d7e738"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#afa29f14a14486d3f6b979ee900d7e738">export_priv_key</a> (char const *const filename, fmpz_poly_t priv, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:afa29f14a14486d3f6b979ee900d7e738"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e2c6da04c55e8c1b6c447f4cc9f1d6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a4e2c6da04c55e8c1b6c447f4cc9f1d6f">import_public_key</a> (char const *const filename, fmpz_poly_t pub, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a4e2c6da04c55e8c1b6c447f4cc9f1d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f917ea6ef5302826c888e5c88e0869e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a1f917ea6ef5302826c888e5c88e0869e">import_priv_key</a> (char const *const filename, fmpz_poly_t priv, fmpz_poly_t priv_inv, <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a1f917ea6ef5302826c888e5c88e0869e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5279c4990bc22bb9e735fe36372a6786"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keypair_8h.html#a5279c4990bc22bb9e735fe36372a6786">ntru_delete_keypair</a> (<a class="el" href="structkeypair.html">keypair</a> *pair)</td></tr>
<tr class="separator:a5279c4990bc22bb9e735fe36372a6786"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>public API, key handling </p>
<p>This file holds the public API of generating, exporting and importing public and private keys of the pqc NTRU implementation and is meant to be installed on the client system. </p>
<p>Definition in file <a class="el" href="keypair_8h_source.html">keypair.h</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aacfc9254c7939584924ab9d27ba6f504"></a><!-- doxytag: member="keypair.h::keypair" ref="aacfc9254c7939584924ab9d27ba6f504" args="" -->
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="aacfc9254c7939584924ab9d27ba6f504"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@ -130,20 +149,19 @@ Functions</h2></td></tr>
<td class="memname">typedef struct <a class="el" href="structkeypair.html">keypair</a> <a class="el" href="structkeypair.html">keypair</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Definition at line <a class="el" href="keypair_8h_source.html#l00042">42</a> of file <a class="el" href="keypair_8h_source.html">keypair.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="afa29f14a14486d3f6b979ee900d7e738"></a><!-- doxytag: member="keypair.h::export_priv_key" ref="afa29f14a14486d3f6b979ee900d7e738" args="(char const *const filename, fmpz_poly_t priv, ntru_params *params)" -->
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="afa29f14a14486d3f6b979ee900d7e738"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="keypair_8h.html#afa29f14a14486d3f6b979ee900d7e738">export_priv_key</a> </td>
<td class="memname">void export_priv_key </td>
<td>(</td>
<td class="paramtype">char const *const&#160;</td>
<td class="paramname"><em>filename</em>, </td>
@ -166,10 +184,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Export the private key to a file.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>the file to save the private key into </td></tr>
<tr><td class="paramname">priv</td><td>the private key </td></tr>
@ -182,12 +199,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a41741ed660cb806c47335f66055e1bdd"></a><!-- doxytag: member="keypair.h::export_public_key" ref="a41741ed660cb806c47335f66055e1bdd" args="(char const *const filename, fmpz_poly_t pub, ntru_params *params)" -->
<a class="anchor" id="a41741ed660cb806c47335f66055e1bdd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="keypair_8h.html#a41741ed660cb806c47335f66055e1bdd">export_public_key</a> </td>
<td class="memname">void export_public_key </td>
<td>(</td>
<td class="paramtype">char const *const&#160;</td>
<td class="paramname"><em>filename</em>, </td>
@ -210,10 +227,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Export the public key to a file.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>the file to save the public key into </td></tr>
<tr><td class="paramname">pub</td><td>the public key </td></tr>
@ -226,12 +242,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a1f917ea6ef5302826c888e5c88e0869e"></a><!-- doxytag: member="keypair.h::import_priv_key" ref="a1f917ea6ef5302826c888e5c88e0869e" args="(char const *const filename, fmpz_poly_t priv, fmpz_poly_t priv_inv, ntru_params *params)" -->
<a class="anchor" id="a1f917ea6ef5302826c888e5c88e0869e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="keypair_8h.html#a1f917ea6ef5302826c888e5c88e0869e">import_priv_key</a> </td>
<td class="memname">void import_priv_key </td>
<td>(</td>
<td class="paramtype">char const *const&#160;</td>
<td class="paramname"><em>filename</em>, </td>
@ -260,10 +276,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Import the private key from a file and store him along with his inverse.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>the file to get the private key from </td></tr>
<tr><td class="paramname">priv</td><td>where to save the private key [out] </td></tr>
@ -277,12 +292,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a4e2c6da04c55e8c1b6c447f4cc9f1d6f"></a><!-- doxytag: member="keypair.h::import_public_key" ref="a4e2c6da04c55e8c1b6c447f4cc9f1d6f" args="(char const *const filename, fmpz_poly_t pub, ntru_params *params)" -->
<a class="anchor" id="a4e2c6da04c55e8c1b6c447f4cc9f1d6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="keypair_8h.html#a4e2c6da04c55e8c1b6c447f4cc9f1d6f">import_public_key</a> </td>
<td class="memname">void import_public_key </td>
<td>(</td>
<td class="paramtype">char const *const&#160;</td>
<td class="paramname"><em>filename</em>, </td>
@ -305,10 +320,8 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Import the public key from a file. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
</div><div class="memdoc">
<p>Import the public key from a file. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>the file to get the public key from </td></tr>
<tr><td class="paramname">pub</td><td>where to save the public key [out] </td></tr>
@ -321,12 +334,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a6873d41211a92c4f6b0074ef34ae1743"></a><!-- doxytag: member="keypair.h::ntru_create_keypair" ref="a6873d41211a92c4f6b0074ef34ae1743" args="(fmpz_poly_t f, fmpz_poly_t g, keypair *pair, ntru_params *params)" -->
<a class="anchor" id="a6873d41211a92c4f6b0074ef34ae1743"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_create_keypair</a> </td>
<td class="memname">bool ntru_create_keypair </td>
<td>(</td>
<td class="paramtype">fmpz_poly_t&#160;</td>
<td class="paramname"><em>f</em>, </td>
@ -355,10 +368,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Creates an NTRU key pair, consisting of public and private components.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">f</td><td>a random polynomial </td></tr>
<tr><td class="paramname">g</td><td>a random polynomial </td></tr>
@ -368,7 +380,7 @@ Functions</h2></td></tr>
</dd>
</dl>
<p>Creates an NTRU key pair, consisting of public and private components.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">f</td><td>a random polynomial </td></tr>
<tr><td class="paramname">g</td><td>a random polynomial </td></tr>
@ -377,28 +389,27 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true for success, false if f or g are not invertible (then the caller hast to try different ones) </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success, false if f or g are not invertible (then the caller hast to try different ones) </dd></dl>
<p>Definition at line <a class="el" href="ntru__keypair_8c_source.html#l00047">47</a> of file <a class="el" href="ntru__keypair_8c_source.html">ntru_keypair.c</a>.</p>
</div>
</div>
<a class="anchor" id="a5279c4990bc22bb9e735fe36372a6786"></a><!-- doxytag: member="keypair.h::ntru_delete_keypair" ref="a5279c4990bc22bb9e735fe36372a6786" args="(keypair *pair)" -->
<a class="anchor" id="a5279c4990bc22bb9e735fe36372a6786"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="keypair_8h.html#a5279c4990bc22bb9e735fe36372a6786">ntru_delete_keypair</a> </td>
<td class="memname">void ntru_delete_keypair </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structkeypair.html">keypair</a> *&#160;</td>
<td class="paramname"><em>pair</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Used to free the inner structure of a keypair. This will not call free() on the pair itself.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pair</td><td>the pair to free the inner structure of </td></tr>
</table>
@ -410,27 +421,11 @@ Functions</h2></td></tr>
</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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,19 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/include/keypair.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru_8h.html",tooltip="public API, basic data types"];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

3
keypair_8h__incl.map Normal file
View File

@ -0,0 +1,3 @@
<map id="/home/travis/build/hasufell/pqc/include/keypair.h" name="/home/travis/build/hasufell/pqc/include/keypair.h">
<area shape="rect" id="node3" href="$ntru_8h.html" title="public API, basic data types " alt="" coords="147,117,200,147"/>
</map>

View File

@ -1 +1 @@
4303da91ade606bc2d885da5a117a4fa
2b4a3f942ca05de6bc8500cbf9030539

BIN
keypair_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/keypair.h Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,94 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/keypair.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="keypair_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef PUBLIC_NTRU_KEYPAIR_H_</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#define PUBLIC_NTRU_KEYPAIR_H_</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="ntru_8h.html" title="public API, basic data types">ntru.h</a>&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;stdbool.h&gt;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041
<a name="l00042"></a><a class="code" href="keypair_8h.html#aacfc9254c7939584924ab9d27ba6f504">00042</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structkeypair.html">keypair</a> <a class="code" href="structkeypair.html">keypair</a>;
<a name="l00043"></a>00043
<a name="l00044"></a>00044
<a name="l00049"></a>00049 <span class="keyword">struct </span><a class="code" href="structkeypair.html">keypair</a> {
<a name="l00054"></a>00054 fmpz_poly_t <a class="code" href="structkeypair.html#a9e9805ad001216da53f2c57accb288e1">priv</a>;
<a name="l00059"></a>00059 fmpz_poly_t <a class="code" href="structkeypair.html#a9e63f1d275b91c9d9716fb4069461799">priv_inv</a>;
<a name="l00064"></a>00064 fmpz_poly_t <a class="code" href="structkeypair.html#afa635c70f233d0b7449b4a17513646c4">pub</a>;
<a name="l00065"></a>00065 };
<a name="l00066"></a>00066
<a name="l00067"></a>00067
<a name="l00078"></a>00078 <span class="keywordtype">bool</span>
<a name="l00079"></a>00079 <a class="code" href="ntru__keypair_8c.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_create_keypair</a>(
<a name="l00080"></a>00080 fmpz_poly_t f,
<a name="l00081"></a>00081 fmpz_poly_t g,
<a name="l00082"></a>00082 <a class="code" href="structkeypair.html">keypair</a> *pair,
<a name="l00083"></a>00083 <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00084"></a>00084
<a name="l00092"></a>00092 <span class="keywordtype">void</span>
<a name="l00093"></a>00093 <a class="code" href="ntru__keypair_8c.html#a41741ed660cb806c47335f66055e1bdd">export_public_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,
<a name="l00094"></a>00094 fmpz_poly_t pub,
<a name="l00095"></a>00095 <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00096"></a>00096
<a name="l00104"></a>00104 <span class="keywordtype">void</span>
<a name="l00105"></a>00105 <a class="code" href="ntru__keypair_8c.html#afa29f14a14486d3f6b979ee900d7e738">export_priv_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,
<a name="l00106"></a>00106 fmpz_poly_t priv,
<a name="l00107"></a>00107 <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00108"></a>00108
<a name="l00115"></a>00115 <span class="keywordtype">void</span>
<a name="l00116"></a>00116 <a class="code" href="ntru__keypair_8c.html#a4e2c6da04c55e8c1b6c447f4cc9f1d6f">import_public_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,
<a name="l00117"></a>00117 fmpz_poly_t pub,
<a name="l00118"></a>00118 <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00119"></a>00119
<a name="l00129"></a>00129 <span class="keywordtype">void</span>
<a name="l00130"></a>00130 <a class="code" href="ntru__keypair_8c.html#a1f917ea6ef5302826c888e5c88e0869e">import_priv_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,
<a name="l00131"></a>00131 fmpz_poly_t priv,
<a name="l00132"></a>00132 fmpz_poly_t priv_inv,
<a name="l00133"></a>00133 <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00134"></a>00134
<a name="l00142"></a>00142 <span class="keywordtype">void</span>
<a name="l00143"></a>00143 <a class="code" href="ntru__keypair_8c.html#a5279c4990bc22bb9e735fe36372a6786">ntru_delete_keypair</a>(<a class="code" href="structkeypair.html">keypair</a> *pair);
<a name="l00144"></a>00144
<a name="l00145"></a>00145
<a name="l00146"></a>00146 <span class="preprocessor">#endif </span><span class="comment">/* PUBLIC_NTRU_KEYPAIR_H_ */</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -169,13 +78,109 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">keypair.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="keypair_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef PUBLIC_NTRU_KEYPAIR_H_</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define PUBLIC_NTRU_KEYPAIR_H_</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru_8h.html">ntru.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="keypair_8h.html#aacfc9254c7939584924ab9d27ba6f504"> 42</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structkeypair.html">keypair</a> <a class="code" href="structkeypair.html">keypair</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">struct </span><a class="code" href="structkeypair.html">keypair</a> {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; fmpz_poly_t <a class="code" href="structkeypair.html#a9e9805ad001216da53f2c57accb288e1">priv</a>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; fmpz_poly_t <a class="code" href="structkeypair.html#a9e63f1d275b91c9d9716fb4069461799">priv_inv</a>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; fmpz_poly_t <a class="code" href="structkeypair.html#afa635c70f233d0b7449b4a17513646c4">pub</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;};</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">bool</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<a class="code" href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_create_keypair</a>(</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; fmpz_poly_t f,</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; fmpz_poly_t g,</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="structkeypair.html">keypair</a> *pair,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<a class="code" href="keypair_8h.html#a41741ed660cb806c47335f66055e1bdd">export_public_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; fmpz_poly_t pub,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<a class="code" href="keypair_8h.html#afa29f14a14486d3f6b979ee900d7e738">export_priv_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; fmpz_poly_t priv,</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<a class="code" href="keypair_8h.html#a4e2c6da04c55e8c1b6c447f4cc9f1d6f">import_public_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; fmpz_poly_t pub,</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<a class="code" href="keypair_8h.html#a1f917ea6ef5302826c888e5c88e0869e">import_priv_key</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; fmpz_poly_t priv,</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; fmpz_poly_t priv_inv,</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<a class="code" href="keypair_8h.html#a5279c4990bc22bb9e735fe36372a6786">ntru_delete_keypair</a>(<a class="code" href="structkeypair.html">keypair</a> *pair);</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* PUBLIC_NTRU_KEYPAIR_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="keypair_8h_html_a5279c4990bc22bb9e735fe36372a6786"><div class="ttname"><a href="keypair_8h.html#a5279c4990bc22bb9e735fe36372a6786">ntru_delete_keypair</a></div><div class="ttdeci">void ntru_delete_keypair(keypair *pair)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8c_source.html#l00197">ntru_keypair.c:197</a></div></div>
<div class="ttc" id="keypair_8h_html_a1f917ea6ef5302826c888e5c88e0869e"><div class="ttname"><a href="keypair_8h.html#a1f917ea6ef5302826c888e5c88e0869e">import_priv_key</a></div><div class="ttdeci">void import_priv_key(char const *const filename, fmpz_poly_t priv, fmpz_poly_t priv_inv, ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8c_source.html#l00157">ntru_keypair.c:157</a></div></div>
<div class="ttc" id="ntru_8h_html"><div class="ttname"><a href="ntru_8h.html">ntru.h</a></div><div class="ttdoc">public API, basic data types </div></div>
<div class="ttc" id="keypair_8h_html_afa29f14a14486d3f6b979ee900d7e738"><div class="ttname"><a href="keypair_8h.html#afa29f14a14486d3f6b979ee900d7e738">export_priv_key</a></div><div class="ttdeci">void export_priv_key(char const *const filename, fmpz_poly_t priv, ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8c_source.html#l00111">ntru_keypair.c:111</a></div></div>
<div class="ttc" id="keypair_8h_html_a6873d41211a92c4f6b0074ef34ae1743"><div class="ttname"><a href="keypair_8h.html#a6873d41211a92c4f6b0074ef34ae1743">ntru_create_keypair</a></div><div class="ttdeci">bool ntru_create_keypair(fmpz_poly_t f, fmpz_poly_t g, keypair *pair, ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8c_source.html#l00047">ntru_keypair.c:47</a></div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
<div class="ttc" id="structkeypair_html_a9e63f1d275b91c9d9716fb4069461799"><div class="ttname"><a href="structkeypair.html#a9e63f1d275b91c9d9716fb4069461799">keypair::priv_inv</a></div><div class="ttdeci">fmpz_poly_t priv_inv</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8h_source.html#l00056">ntru_keypair.h:56</a></div></div>
<div class="ttc" id="keypair_8h_html_a4e2c6da04c55e8c1b6c447f4cc9f1d6f"><div class="ttname"><a href="keypair_8h.html#a4e2c6da04c55e8c1b6c447f4cc9f1d6f">import_public_key</a></div><div class="ttdeci">void import_public_key(char const *const filename, fmpz_poly_t pub, ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8c_source.html#l00132">ntru_keypair.c:132</a></div></div>
<div class="ttc" id="structkeypair_html_afa635c70f233d0b7449b4a17513646c4"><div class="ttname"><a href="structkeypair.html#afa635c70f233d0b7449b4a17513646c4">keypair::pub</a></div><div class="ttdeci">fmpz_poly_t pub</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8h_source.html#l00061">ntru_keypair.h:61</a></div></div>
<div class="ttc" id="structkeypair_html_a9e9805ad001216da53f2c57accb288e1"><div class="ttname"><a href="structkeypair.html#a9e9805ad001216da53f2c57accb288e1">keypair::priv</a></div><div class="ttdeci">fmpz_poly_t priv</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8h_source.html#l00051">ntru_keypair.h:51</a></div></div>
<div class="ttc" id="structkeypair_html"><div class="ttname"><a href="structkeypair.html">keypair</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8h_source.html#l00046">ntru_keypair.h:46</a></div></div>
<div class="ttc" id="keypair_8h_html_a41741ed660cb806c47335f66055e1bdd"><div class="ttname"><a href="keypair_8h.html#a41741ed660cb806c47335f66055e1bdd">export_public_key</a></div><div class="ttdeci">void export_public_key(char const *const filename, fmpz_poly_t pub, ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__keypair_8c_source.html#l00096">ntru_keypair.c:96</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

BIN
nav_f.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

After

Width:  |  Height:  |  Size: 153 B

BIN
nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
nav_h.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 B

After

Width:  |  Height:  |  Size: 98 B

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/ntru.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,22 +64,40 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/ntru.h File Reference</div> </div>
<div class="title">ntru.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>public API, basic data types
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
<code>#include &lt;stdint.h&gt;</code><br/>
<div class="textblock"><code>#include &lt;fmpz_poly.h&gt;</code><br />
<code>#include &lt;fmpz.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ntru.h:</div>
<div class="dyncontent">
@ -99,34 +108,50 @@ Include dependency graph for ntru.h:</div>
</div>
<p><a href="ntru_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntru__params.html">ntru_params</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstring.html">string</a></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structntru__params.html">ntru_params</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstring.html">string</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structntru__params.html">ntru_params</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a2f326c88fc033eca78a47ee8d387c592">ntru_params</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structstring.html">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a63e2e3ee7db5274c6a3929edfc07c6c9">string</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
<tr class="memitem:a2f326c88fc033eca78a47ee8d387c592"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structntru__params.html">ntru_params</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a2f326c88fc033eca78a47ee8d387c592">ntru_params</a></td></tr>
<tr class="separator:a2f326c88fc033eca78a47ee8d387c592"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63e2e3ee7db5274c6a3929edfc07c6c9"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structstring.html">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a63e2e3ee7db5274c6a3929edfc07c6c9">string</a></td></tr>
<tr class="separator:a63e2e3ee7db5274c6a3929edfc07c6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a55d4ce182c335ff6cca360909a7be395">prints</a> (const <a class="el" href="structstring.html">string</a> *print_string)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a> (<a class="el" href="structstring.html">string</a> *del_string)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">poly_new</a> (fmpz_poly_t new_poly, int const *const c, const size_t len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a27ff2116f70bcbf5028219adcae4c5f0">poly_delete</a> (fmpz_poly_t poly)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a> (fmpz_poly_t **poly_array)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a83297bc2ab5b6e7ce42553570dd8268f">poly_delete_all</a> (fmpz_poly_t poly,...)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">poly_draw</a> (const fmpz_poly_t poly)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#aec098d00160d2d502eb1f8a7c3fa5453">poly_draw_pretty</a> (const fmpz_poly_t poly)</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_8h.html#a348c2a56837571f410d44631abc09dc4">read_file</a> (char const *const filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304">write_file</a> (<a class="el" href="structstring.html">string</a> const *wstring, char const *const filename)</td></tr>
<tr class="memitem:a55d4ce182c335ff6cca360909a7be395"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a55d4ce182c335ff6cca360909a7be395">prints</a> (const <a class="el" href="structstring.html">string</a> *print_string)</td></tr>
<tr class="separator:a55d4ce182c335ff6cca360909a7be395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1b5f66fbbbdfc7901357ddcfec52e5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a> (<a class="el" href="structstring.html">string</a> *del_string)</td></tr>
<tr class="separator:ac1b5f66fbbbdfc7901357ddcfec52e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f86085d5eb5372fd25dc270069d38c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">poly_new</a> (fmpz_poly_t new_poly, int const *const c, const size_t len)</td></tr>
<tr class="separator:a20f86085d5eb5372fd25dc270069d38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27ff2116f70bcbf5028219adcae4c5f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a27ff2116f70bcbf5028219adcae4c5f0">poly_delete</a> (fmpz_poly_t poly)</td></tr>
<tr class="separator:a27ff2116f70bcbf5028219adcae4c5f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f53c63383ff301b20dcede0783869a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a> (fmpz_poly_t **poly_array)</td></tr>
<tr class="separator:a3f53c63383ff301b20dcede0783869a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83297bc2ab5b6e7ce42553570dd8268f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a83297bc2ab5b6e7ce42553570dd8268f">poly_delete_all</a> (fmpz_poly_t poly,...)</td></tr>
<tr class="separator:a83297bc2ab5b6e7ce42553570dd8268f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80a8ce0f2944bc3df94291ef2f781498"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">poly_draw</a> (const fmpz_poly_t poly)</td></tr>
<tr class="separator:a80a8ce0f2944bc3df94291ef2f781498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec098d00160d2d502eb1f8a7c3fa5453"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#aec098d00160d2d502eb1f8a7c3fa5453">poly_draw_pretty</a> (const fmpz_poly_t poly)</td></tr>
<tr class="separator:aec098d00160d2d502eb1f8a7c3fa5453"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a348c2a56837571f410d44631abc09dc4"><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_8h.html#a348c2a56837571f410d44631abc09dc4">read_file</a> (char const *const filename)</td></tr>
<tr class="separator:a348c2a56837571f410d44631abc09dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a0fc4dd4109749d8f3100a913cc304"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304">write_file</a> (<a class="el" href="structstring.html">string</a> const *wstring, char const *const filename)</td></tr>
<tr class="separator:af2a0fc4dd4109749d8f3100a913cc304"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>public API, basic data types </p>
<p>This file holds the public API of the most basic data types and operations of the pqc NTRU implementation and is meant to be installed on the client system. </p>
<p>Definition in file <a class="el" href="ntru_8h_source.html">ntru.h</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a2f326c88fc033eca78a47ee8d387c592"></a><!-- doxytag: member="ntru.h::ntru_params" ref="a2f326c88fc033eca78a47ee8d387c592" args="" -->
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a2f326c88fc033eca78a47ee8d387c592"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@ -134,14 +159,13 @@ Functions</h2></td></tr>
<td class="memname">typedef struct <a class="el" href="structntru__params.html">ntru_params</a> <a class="el" href="structntru__params.html">ntru_params</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Definition at line <a class="el" href="ntru_8h_source.html#l00039">39</a> of file <a class="el" href="ntru_8h_source.html">ntru.h</a>.</p>
</div>
</div>
<a class="anchor" id="a63e2e3ee7db5274c6a3929edfc07c6c9"></a><!-- doxytag: member="ntru.h::string" ref="a63e2e3ee7db5274c6a3929edfc07c6c9" args="" -->
<a class="anchor" id="a63e2e3ee7db5274c6a3929edfc07c6c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@ -149,30 +173,28 @@ Functions</h2></td></tr>
<td class="memname">typedef struct <a class="el" href="structstring.html">string</a> <a class="el" href="structstring.html">string</a></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Definition at line <a class="el" href="ntru_8h_source.html#l00040">40</a> of file <a class="el" href="ntru_8h_source.html">ntru.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a27ff2116f70bcbf5028219adcae4c5f0"></a><!-- doxytag: member="ntru.h::poly_delete" ref="a27ff2116f70bcbf5028219adcae4c5f0" args="(fmpz_poly_t poly)" -->
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a27ff2116f70bcbf5028219adcae4c5f0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#a27ff2116f70bcbf5028219adcae4c5f0">poly_delete</a> </td>
<td class="memname">void poly_delete </td>
<td>(</td>
<td class="paramtype">fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>This deletes the internal structure of a polynomial, and frees the pointer.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>the polynomial to delete </td></tr>
</table>
@ -183,12 +205,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a83297bc2ab5b6e7ce42553570dd8268f"></a><!-- doxytag: member="ntru.h::poly_delete_all" ref="a83297bc2ab5b6e7ce42553570dd8268f" args="(fmpz_poly_t poly,...)" -->
<a class="anchor" id="a83297bc2ab5b6e7ce42553570dd8268f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#a83297bc2ab5b6e7ce42553570dd8268f">poly_delete_all</a> </td>
<td class="memname">void poly_delete_all </td>
<td>(</td>
<td class="paramtype">fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em>, </td>
@ -205,10 +227,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>This deletes the internal structure of all polynomials, and frees the pointers. You must call this with NULL as last argument!</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>the polynomial to delete </td></tr>
<tr><td class="paramname">...</td><td>follow up polynomials </td></tr>
@ -220,22 +241,21 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a3f53c63383ff301b20dcede0783869a7"></a><!-- doxytag: member="ntru.h::poly_delete_array" ref="a3f53c63383ff301b20dcede0783869a7" args="(fmpz_poly_t **poly_array)" -->
<a class="anchor" id="a3f53c63383ff301b20dcede0783869a7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a> </td>
<td class="memname">void poly_delete_array </td>
<td>(</td>
<td class="paramtype">fmpz_poly_t **&#160;</td>
<td class="paramname"><em>poly_array</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Delete the internal structure of a polynomial array which must be NULL terminated. It is expected that poly_array is not on the stack and was obtained by a function like ascii_to_poly().</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poly_array</td><td>the polynomial array </td></tr>
</table>
@ -246,22 +266,21 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a80a8ce0f2944bc3df94291ef2f781498"></a><!-- doxytag: member="ntru.h::poly_draw" ref="a80a8ce0f2944bc3df94291ef2f781498" args="(const fmpz_poly_t poly)" -->
<a class="anchor" id="a80a8ce0f2944bc3df94291ef2f781498"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">poly_draw</a> </td>
<td class="memname">void poly_draw </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Draws a polynomial to stdout.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>draw this </td></tr>
</table>
@ -272,22 +291,21 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="aec098d00160d2d502eb1f8a7c3fa5453"></a><!-- doxytag: member="ntru.h::poly_draw_pretty" ref="aec098d00160d2d502eb1f8a7c3fa5453" args="(const fmpz_poly_t poly)" -->
<a class="anchor" id="aec098d00160d2d502eb1f8a7c3fa5453"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#aec098d00160d2d502eb1f8a7c3fa5453">poly_draw_pretty</a> </td>
<td class="memname">void poly_draw_pretty </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>poly</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Draws a polynomial to stdout, in pretty format.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poly</td><td>draw this </td></tr>
</table>
@ -298,12 +316,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a20f86085d5eb5372fd25dc270069d38c"></a><!-- doxytag: member="ntru.h::poly_new" ref="a20f86085d5eb5372fd25dc270069d38c" args="(fmpz_poly_t new_poly, int const *const c, const size_t len)" -->
<a class="anchor" id="a20f86085d5eb5372fd25dc270069d38c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">poly_new</a> </td>
<td class="memname">void poly_new </td>
<td>(</td>
<td class="paramtype">fmpz_poly_t&#160;</td>
<td class="paramname"><em>new_poly</em>, </td>
@ -326,10 +344,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Initializes and builds a polynomial with the coefficient values of c[] of size len within NTRU parameters and returns a newly allocated polynomial. For an empty polynom, both c and len can be NULL/0.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">new_poly</td><td>the polynomial to initialize and fill with coefficients [out] </td></tr>
<tr><td class="paramname">c</td><td>array of polynomial coefficients, can be NULL </td></tr>
@ -337,28 +354,27 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated polynomial pointer, must be freed with fmpz_poly_clear() </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated polynomial pointer, must be freed with fmpz_poly_clear() </dd></dl>
<p>Definition at line <a class="el" href="ntru__poly_8c_source.html#l00110">110</a> of file <a class="el" href="ntru__poly_8c_source.html">ntru_poly.c</a>.</p>
</div>
</div>
<a class="anchor" id="a55d4ce182c335ff6cca360909a7be395"></a><!-- doxytag: member="ntru.h::prints" ref="a55d4ce182c335ff6cca360909a7be395" args="(const string *print_string)" -->
<a class="anchor" id="a55d4ce182c335ff6cca360909a7be395"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#a55d4ce182c335ff6cca360909a7be395">prints</a> </td>
<td class="memname">void prints </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>print_string</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Prints the given string to stdout.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">print_string</td><td>the print to string </td></tr>
</table>
@ -369,57 +385,55 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a348c2a56837571f410d44631abc09dc4"></a><!-- doxytag: member="ntru.h::read_file" ref="a348c2a56837571f410d44631abc09dc4" args="(char const *const filename)" -->
<a class="anchor" id="a348c2a56837571f410d44631abc09dc4"></a>
<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_8h.html#a348c2a56837571f410d44631abc09dc4">read_file</a> </td>
<td class="memname"><a class="el" href="structstring.html">string</a>* read_file </td>
<td>(</td>
<td class="paramtype">char const *const&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Reads a file and returns a newly allocated string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>file to open </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated string which must be freed by the caller or NULL on failure</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated string which must be freed by the caller or NULL on failure</dd></dl>
<p>Reads a file and returns a newly allocated string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>file to open </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated string which must be freed by the caller or NULL on failure (e.g. if the file could not be opened/closed) </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated string which must be freed by the caller or NULL on failure (e.g. if the file could not be opened/closed) </dd></dl>
<p>Definition at line <a class="el" href="ntru__file_8c_source.html#l00050">50</a> of file <a class="el" href="ntru__file_8c_source.html">ntru_file.c</a>.</p>
</div>
</div>
<a class="anchor" id="ac1b5f66fbbbdfc7901357ddcfec52e5a"></a><!-- doxytag: member="ntru.h::string_delete" ref="ac1b5f66fbbbdfc7901357ddcfec52e5a" args="(string *del_string)" -->
<a class="anchor" id="ac1b5f66fbbbdfc7901357ddcfec52e5a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a> </td>
<td class="memname">void string_delete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>del_string</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Delete the inner structure of the string and frees the string itself from the heap. Must not be called on stack variables.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">del_string</td><td>the string to delete </td></tr>
</table>
@ -430,12 +444,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="af2a0fc4dd4109749d8f3100a913cc304"></a><!-- doxytag: member="ntru.h::write_file" ref="af2a0fc4dd4109749d8f3100a913cc304" args="(string const *wstring, char const *const filename)" -->
<a class="anchor" id="af2a0fc4dd4109749d8f3100a913cc304"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304">write_file</a> </td>
<td class="memname">void write_file </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structstring.html">string</a> const *&#160;</td>
<td class="paramname"><em>wstring</em>, </td>
@ -452,10 +466,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Write a string to a file. The file will be pruned or created if it does not exist.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">wstring</td><td>the string to write to the file </td></tr>
<tr><td class="paramname">filename</td><td>the name of the file to write to</td></tr>
@ -463,41 +476,25 @@ Functions</h2></td></tr>
</dd>
</dl>
<p>Write a string to a file. The file will be pruned or created if it does not exist.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">wstring</td><td>the string to write to the file </td></tr>
<tr><td class="paramname">filename</td><td>the name of the file to write to </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true for success or false for failure if fopen or fclose failed </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>true for success or false for failure if fopen or fclose failed </dd></dl>
<p>Definition at line <a class="el" href="ntru__file_8c_source.html#l00107">107</a> of file <a class="el" href="ntru__file_8c_source.html">ntru_file.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,12 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/include/ntru.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
}

2
ntru_8h__incl.map Normal file
View File

@ -0,0 +1,2 @@
<map id="/home/travis/build/hasufell/pqc/include/ntru.h" name="/home/travis/build/hasufell/pqc/include/ntru.h">
</map>

View File

@ -1 +1 @@
512dd154d90a38f15b27224cf5c624d1
eacd6dc5eb22433d8cb012ec28b3ce8a

BIN
ntru_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/include/ntru.h Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,99 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/include/ntru.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef PUBLIC_NTRU_NTRU_H_</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define PUBLIC_NTRU_NTRU_H_</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00039"></a><a class="code" href="ntru_8h.html#a2f326c88fc033eca78a47ee8d387c592">00039</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structntru__params.html">ntru_params</a> <a class="code" href="structntru__params.html">ntru_params</a>;
<a name="l00040"></a><a class="code" href="ntru_8h.html#a63e2e3ee7db5274c6a3929edfc07c6c9">00040</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structstring.html">string</a> <a class="code" href="structstring.html">string</a>;
<a name="l00041"></a>00041
<a name="l00042"></a>00042
<a name="l00047"></a>00047 <span class="keyword">struct </span><a class="code" href="structntru__params.html">ntru_params</a> {
<a name="l00052"></a>00052 uint32_t <a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>;
<a name="l00056"></a>00056 uint32_t <a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>;
<a name="l00060"></a>00060 uint32_t <a class="code" href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">p</a>;
<a name="l00061"></a>00061 };
<a name="l00062"></a>00062
<a name="l00066"></a>00066 <span class="keyword">struct </span><a class="code" href="structstring.html">string</a> {
<a name="l00074"></a>00074 <span class="keywordtype">char</span> *<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a>;
<a name="l00078"></a>00078 <span class="keywordtype">size_t</span> <a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>;
<a name="l00079"></a>00079 };
<a name="l00080"></a>00080
<a name="l00081"></a>00081
<a name="l00087"></a>00087 <span class="keywordtype">void</span>
<a name="l00088"></a>00088 <a class="code" href="ntru__string_8c.html#a55d4ce182c335ff6cca360909a7be395">prints</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *print_string);
<a name="l00089"></a>00089
<a name="l00098"></a>00098 <span class="keywordtype">void</span>
<a name="l00099"></a>00099 <a class="code" href="ntru__string_8c.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a>(<span class="keywordtype">string</span> *del_string);
<a name="l00100"></a>00100
<a name="l00114"></a>00114 <span class="keywordtype">void</span>
<a name="l00115"></a>00115 <a class="code" href="ntru__poly_8c.html#a20f86085d5eb5372fd25dc270069d38c">poly_new</a>(fmpz_poly_t new_poly,
<a name="l00116"></a>00116 <span class="keywordtype">int</span> <span class="keyword">const</span> * <span class="keyword">const</span> c,
<a name="l00117"></a>00117 <span class="keyword">const</span> <span class="keywordtype">size_t</span> len);
<a name="l00118"></a>00118
<a name="l00125"></a>00125 <span class="keywordtype">void</span>
<a name="l00126"></a>00126 <a class="code" href="ntru__poly_8c.html#a27ff2116f70bcbf5028219adcae4c5f0">poly_delete</a>(fmpz_poly_t poly);
<a name="l00127"></a>00127
<a name="l00136"></a>00136 <span class="keywordtype">void</span>
<a name="l00137"></a>00137 <a class="code" href="ntru__poly_8c.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a>(fmpz_poly_t **poly_array);
<a name="l00138"></a>00138
<a name="l00147"></a>00147 <span class="keywordtype">void</span>
<a name="l00148"></a>00148 <a class="code" href="ntru__poly_8c.html#a83297bc2ab5b6e7ce42553570dd8268f">poly_delete_all</a>(fmpz_poly_t poly, ...);
<a name="l00149"></a>00149
<a name="l00155"></a>00155 <span class="keywordtype">void</span>
<a name="l00156"></a>00156 <a class="code" href="ntru__poly_8c.html#a80a8ce0f2944bc3df94291ef2f781498">poly_draw</a>(<span class="keyword">const</span> fmpz_poly_t poly);
<a name="l00157"></a>00157
<a name="l00164"></a>00164 <span class="keywordtype">void</span>
<a name="l00165"></a>00165 <a class="code" href="ntru__poly_8c.html#aec098d00160d2d502eb1f8a7c3fa5453">poly_draw_pretty</a>(<span class="keyword">const</span> fmpz_poly_t poly);
<a name="l00166"></a>00166
<a name="l00174"></a>00174 <span class="keywordtype">string</span> *
<a name="l00175"></a>00175 <a class="code" href="ntru__file_8c.html#a348c2a56837571f410d44631abc09dc4">read_file</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename);
<a name="l00176"></a>00176
<a name="l00184"></a>00184 <span class="keywordtype">void</span>
<a name="l00185"></a>00185 <a class="code" href="ntru__file_8c.html#a1f8eef5ea12c77ed2491d96864eb0d43">write_file</a>(<span class="keywordtype">string</span> <span class="keyword">const</span> *wstring, <span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename);
<a name="l00186"></a>00186
<a name="l00187"></a>00187
<a name="l00188"></a>00188 <span class="preprocessor">#endif </span><span class="comment">/* NTRU_NTRU_H_ */</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -174,13 +78,119 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ntru.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef PUBLIC_NTRU_NTRU_H_</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define PUBLIC_NTRU_NTRU_H_</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="ntru_8h.html#a2f326c88fc033eca78a47ee8d387c592"> 39</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structntru__params.html">ntru_params</a> <a class="code" href="structntru__params.html">ntru_params</a>;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="ntru_8h.html#a63e2e3ee7db5274c6a3929edfc07c6c9"> 40</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structstring.html">string</a> <a class="code" href="structstring.html">string</a>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">struct </span><a class="code" href="structntru__params.html">ntru_params</a> {</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; uint32_t <a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; uint32_t <a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; uint32_t <a class="code" href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">p</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;};</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keyword">struct </span><a class="code" href="structstring.html">string</a> {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">char</span> *<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;};</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<a class="code" href="ntru_8h.html#a55d4ce182c335ff6cca360909a7be395">prints</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *print_string);</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<a class="code" href="ntru_8h.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a>(<span class="keywordtype">string</span> *del_string);</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<a class="code" href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">poly_new</a>(fmpz_poly_t new_poly,</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">int</span> <span class="keyword">const</span> * <span class="keyword">const</span> c,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> len);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;<a class="code" href="ntru_8h.html#a27ff2116f70bcbf5028219adcae4c5f0">poly_delete</a>(fmpz_poly_t poly);</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;<a class="code" href="ntru_8h.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a>(fmpz_poly_t **poly_array);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<a class="code" href="ntru_8h.html#a83297bc2ab5b6e7ce42553570dd8268f">poly_delete_all</a>(fmpz_poly_t poly, ...);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<a class="code" href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">poly_draw</a>(<span class="keyword">const</span> fmpz_poly_t poly);</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<a class="code" href="ntru_8h.html#aec098d00160d2d502eb1f8a7c3fa5453">poly_draw_pretty</a>(<span class="keyword">const</span> fmpz_poly_t poly);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="keywordtype">string</span> *</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<a class="code" href="ntru_8h.html#a348c2a56837571f410d44631abc09dc4">read_file</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename);</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<a class="code" href="ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304">write_file</a>(<span class="keywordtype">string</span> <span class="keyword">const</span> *wstring, <span class="keywordtype">char</span> <span class="keyword">const</span> * <span class="keyword">const</span> filename);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NTRU_NTRU_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="ntru_8h_html_ac1b5f66fbbbdfc7901357ddcfec52e5a"><div class="ttname"><a href="ntru_8h.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a></div><div class="ttdeci">void string_delete(string *del_string)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8c_source.html#l00047">ntru_string.c:47</a></div></div>
<div class="ttc" id="ntru_8h_html_a20f86085d5eb5372fd25dc270069d38c"><div class="ttname"><a href="ntru_8h.html#a20f86085d5eb5372fd25dc270069d38c">poly_new</a></div><div class="ttdeci">void poly_new(fmpz_poly_t new_poly, int const *const c, const size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00110">ntru_poly.c:110</a></div></div>
<div class="ttc" id="structstring_html_aa6bcf0353fd5cf2f374a9b1dd0e4a73a"><div class="ttname"><a href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">string::len</a></div><div class="ttdeci">size_t len</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8h_source.html#l00053">ntru_string.h:53</a></div></div>
<div class="ttc" id="ntru_8h_html_a3f53c63383ff301b20dcede0783869a7"><div class="ttname"><a href="ntru_8h.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a></div><div class="ttdeci">void poly_delete_array(fmpz_poly_t **poly_array)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00131">ntru_poly.c:131</a></div></div>
<div class="ttc" id="structntru__params_html_afb8425ee3db2b917b3c4e8d9b75bd3ff"><div class="ttname"><a href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">ntru_params::N</a></div><div class="ttdeci">uint32_t N</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00048">ntru_params.h:48</a></div></div>
<div class="ttc" id="ntru_8h_html_a80a8ce0f2944bc3df94291ef2f781498"><div class="ttname"><a href="ntru_8h.html#a80a8ce0f2944bc3df94291ef2f781498">poly_draw</a></div><div class="ttdeci">void poly_draw(const fmpz_poly_t poly)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00574">ntru_poly.c:574</a></div></div>
<div class="ttc" id="ntru_8h_html_a83297bc2ab5b6e7ce42553570dd8268f"><div class="ttname"><a href="ntru_8h.html#a83297bc2ab5b6e7ce42553570dd8268f">poly_delete_all</a></div><div class="ttdeci">void poly_delete_all(fmpz_poly_t poly,...)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00149">ntru_poly.c:149</a></div></div>
<div class="ttc" id="structntru__params_html_a41b368825e1eb126604e13e8f549ec8f"><div class="ttname"><a href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">ntru_params::p</a></div><div class="ttdeci">uint32_t p</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00056">ntru_params.h:56</a></div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
<div class="ttc" id="ntru_8h_html_af2a0fc4dd4109749d8f3100a913cc304"><div class="ttname"><a href="ntru_8h.html#af2a0fc4dd4109749d8f3100a913cc304">write_file</a></div><div class="ttdeci">void write_file(string const *wstring, char const *const filename)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__file_8c_source.html#l00107">ntru_file.c:107</a></div></div>
<div class="ttc" id="ntru_8h_html_a55d4ce182c335ff6cca360909a7be395"><div class="ttname"><a href="ntru_8h.html#a55d4ce182c335ff6cca360909a7be395">prints</a></div><div class="ttdeci">void prints(const string *print_string)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8c_source.html#l00037">ntru_string.c:37</a></div></div>
<div class="ttc" id="structstring_html"><div class="ttname"><a href="structstring.html">string</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8h_source.html#l00041">ntru_string.h:41</a></div></div>
<div class="ttc" id="structntru__params_html_a29680750bda49dc93e61a752b2f2a0f7"><div class="ttname"><a href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">ntru_params::q</a></div><div class="ttdeci">uint32_t q</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00052">ntru_params.h:52</a></div></div>
<div class="ttc" id="ntru_8h_html_a348c2a56837571f410d44631abc09dc4"><div class="ttname"><a href="ntru_8h.html#a348c2a56837571f410d44631abc09dc4">read_file</a></div><div class="ttdeci">string * read_file(char const *const filename)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__file_8c_source.html#l00050">ntru_file.c:50</a></div></div>
<div class="ttc" id="ntru_8h_html_a27ff2116f70bcbf5028219adcae4c5f0"><div class="ttname"><a href="ntru_8h.html#a27ff2116f70bcbf5028219adcae4c5f0">poly_delete</a></div><div class="ttdeci">void poly_delete(fmpz_poly_t poly)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00123">ntru_poly.c:123</a></div></div>
<div class="ttc" id="structstring_html_afd608f62303958cea6f1f7afdec1e282"><div class="ttname"><a href="structstring.html#afd608f62303958cea6f1f7afdec1e282">string::ptr</a></div><div class="ttdeci">char * ptr</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8h_source.html#l00049">ntru_string.h:49</a></div></div>
<div class="ttc" id="ntru_8h_html_aec098d00160d2d502eb1f8a7c3fa5453"><div class="ttname"><a href="ntru_8h.html#aec098d00160d2d502eb1f8a7c3fa5453">poly_draw_pretty</a></div><div class="ttdeci">void poly_draw_pretty(const fmpz_poly_t poly)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00583">ntru_poly.c:583</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_ascii_poly.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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,58 +64,80 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<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_ascii_poly.c File Reference</div> </div>
<div class="title">ntru_ascii_poly.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>ascii to polynomials
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru__ascii__poly_8h_source.html">ntru_ascii_poly.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 class="textblock"><code>#include &quot;<a class="el" href="ntru__ascii__poly_8h_source.html">ntru_ascii_poly.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_ascii_poly.c:</div>
<div class="dyncontent">
<div class="center"><img src="ntru__ascii__poly_8c__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__ascii__poly_8c" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__ascii__poly_8c" id="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__ascii__poly_8c">
</map>
<area shape="rect" id="node3" href="ntru__ascii__poly_8h.html" title="header for ntru_ascii_poly.c " alt="" coords="276,117,396,147"/><area shape="rect" id="node5" href="ntru__common_8h.html" title="common macros/functions " alt="" coords="70,195,182,224"/><area shape="rect" id="node9" href="ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="291,195,384,224"/><area shape="rect" id="node12" href="ntru__params_8h.html" title="NTRU parameters. " alt="" coords="526,195,630,224"/><area shape="rect" id="node21" href="ntru__mem_8h.html" title="header for ntru_mem.c " alt="" coords="30,117,120,147"/><area shape="rect" id="node25" href="ntru__poly_8h.html" title="header for ntru_poly.c " alt="" coords="660,117,746,147"/><area shape="rect" id="node27" href="ntru__err_8h.html" title="error handling " alt="" coords="947,195,1024,224"/></map>
</div>
</div>
<p><a href="ntru__ascii__poly_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a> (uint8_t value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">fmpz_poly_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a> (const char *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="memitem:a2d2f760b6a98bd87248c1d3e120a665b"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a> (uint8_t value)</td></tr>
<tr class="separator:a2d2f760b6a98bd87248c1d3e120a665b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5d0d4abdb2ce837a0a3b6e478c8f1a9"><td class="memItemLeft" align="right" valign="top">fmpz_poly_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a> (const char *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:aa5d0d4abdb2ce837a0a3b6e478c8f1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3237071bca2489c3b2efd46e674e0805"><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a3237071bca2489c3b2efd46e674e0805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8460cd27ad4562f560bb304609a3e06d"><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a8460cd27ad4562f560bb304609a3e06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>ascii to polynomials </p>
<p>This file allows to convert ascii strings, including base64 encoded ones, to polynomials. </p>
<p>Definition in file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.c</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="aa5d0d4abdb2ce837a0a3b6e478c8f1a9"></a><!-- doxytag: member="ntru_ascii_poly.c::ascii_bin_to_bin_poly" ref="aa5d0d4abdb2ce837a0a3b6e478c8f1a9" args="(const char *to_poly, const ntru_params *params)" -->
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aa5d0d4abdb2ce837a0a3b6e478c8f1a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fmpz_poly_t* <a class="el" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a> </td>
<td class="memname">fmpz_poly_t* ascii_bin_to_bin_poly </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>to_poly</em>, </td>
@ -141,31 +154,30 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Convert a "binary" ascii string to a binary polyomial. The ascii string will be converted to a binary representation and the following mapping will apply between binary -&gt; poly:</p>
<p>1 =&gt; 1</p>
<p>0 =&gt; -1</p>
<p>If the polynomial is of degree less than N -1, then it will be filled with trailing 2's for later use in <a class="el" href="ntru__poly__ascii_8c.html#a0d86ab2dede39b332d4149e16b2046b8">bin_poly_to_ascii()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_poly</td><td>the string to get into binary polynomial format </td></tr>
<tr><td class="paramname">params</td><td>the NTRUEncrypt context </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated array of binary polynomials </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated array of binary polynomials </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00081">81</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.c</a>.</p>
</div>
</div>
<a class="anchor" id="a3237071bca2489c3b2efd46e674e0805"></a><!-- doxytag: member="ntru_ascii_poly.c::ascii_to_bin_poly_arr" ref="a3237071bca2489c3b2efd46e674e0805" args="(const string *to_poly, const ntru_params *params)" -->
<a class="anchor" id="a3237071bca2489c3b2efd46e674e0805"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fmpz_poly_t** <a class="el" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a> </td>
<td class="memname">fmpz_poly_t** ascii_to_bin_poly_arr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>to_poly</em>, </td>
@ -182,31 +194,30 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Convert an ascii string to an array of binary polyomials. The ascii string will be converted to a binary representation and the following mapping will apply between binary -&gt; poly:</p>
<p>1 =&gt; 1</p>
<p>0 =&gt; -1</p>
<p>If the last polynomial is of degree less than N -1, then it will be filled with trailing 2's for later use in <a class="el" href="ntru__poly__ascii_8c.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_poly</td><td>the string to get into binary polynomial format </td></tr>
<tr><td class="paramname">params</td><td>the NTRUEncrypt context </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated array of binary polynomials </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated array of binary polynomials </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00101">101</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.c</a>.</p>
</div>
</div>
<a class="anchor" id="a8460cd27ad4562f560bb304609a3e06d"></a><!-- doxytag: member="ntru_ascii_poly.c::base64_to_poly_arr" ref="a8460cd27ad4562f560bb304609a3e06d" args="(const string *to_poly, const ntru_params *params)" -->
<a class="anchor" id="a8460cd27ad4562f560bb304609a3e06d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fmpz_poly_t** <a class="el" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a> </td>
<td class="memname">fmpz_poly_t** base64_to_poly_arr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>to_poly</em>, </td>
@ -223,73 +234,63 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Convert an base64 encoded string to an array of polyomials with coefficients which are expected to be in the range [0, q-1]. The chars will be converted (after decoding) to their integer representation and directly put into the coefficients.</p>
<p>If the last polynomial is of degree less than N -1, then it will be filled with trailing q's for later user in <a class="el" href="ntru__poly__ascii_8c.html#a0dc14698073df2e46e6540cbff870fc7">poly_arr_to_base64()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_poly</td><td>the string to get into polynomial format, which is of type string, so we can iterate safely over it (the string might have null-bytes in the middle of it) </td></tr>
<tr><td class="paramname">params</td><td>the NTRUEncrypt context </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated array of polynomials </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated array of polynomials </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00146">146</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.c</a>.</p>
</div>
</div>
<a class="anchor" id="a2d2f760b6a98bd87248c1d3e120a665b"></a><!-- doxytag: member="ntru_ascii_poly.c::get_int_to_bin_str" ref="a2d2f760b6a98bd87248c1d3e120a665b" args="(uint8_t value)" -->
<a class="anchor" id="a2d2f760b6a98bd87248c1d3e120a665b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static char * <a class="el" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a> </td>
<td class="memname">static char * get_int_to_bin_str </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>value</em></td><td>)</td>
<td><code> [static]</code></td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert an integer to it's binary representation as a string and return it.</p>
<p>As in: 90 =&gt; "10110101"</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">value</td><td>the integer to convert </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the binary representation as a newly allocated string </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the binary representation as a newly allocated string </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00062">62</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,49 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru_ascii_poly.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__ascii__poly_8h.html",tooltip="header for ntru_ascii_poly.c"];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="ntru_common.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__common_8h.html",tooltip="common macros/functions"];
Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="ntru_string.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__string_8h.html",tooltip="header for ntru_string.c"];
Node5 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="ntru_params.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__params_8h.html",tooltip="NTRU parameters."];
Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="ntru_mem.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__mem_8h.html",tooltip="header for ntru_mem.c"];
Node10 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="ntru_poly.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__poly_8h.html",tooltip="header for ntru_poly.c"];
Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="ntru_err.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__err_8h.html",tooltip="error handling"];
Node11 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="stdarg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node11 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node11 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="glib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,9 @@
<map id="/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.c" name="/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.c">
<area shape="rect" id="node3" href="$ntru__ascii__poly_8h.html" title="header for ntru_ascii_poly.c " alt="" coords="276,117,396,147"/>
<area shape="rect" id="node5" href="$ntru__common_8h.html" title="common macros/functions " alt="" coords="70,195,182,224"/>
<area shape="rect" id="node9" href="$ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="291,195,384,224"/>
<area shape="rect" id="node12" href="$ntru__params_8h.html" title="NTRU parameters. " alt="" coords="526,195,630,224"/>
<area shape="rect" id="node21" href="$ntru__mem_8h.html" title="header for ntru_mem.c " alt="" coords="30,117,120,147"/>
<area shape="rect" id="node25" href="$ntru__poly_8h.html" title="header for ntru_poly.c " alt="" coords="660,117,746,147"/>
<area shape="rect" id="node27" href="$ntru__err_8h.html" title="error handling " alt="" coords="947,195,1024,224"/>
</map>

View File

@ -1 +1 @@
a44d09273de9c60d0e0582d08fae85fa
4b96241be94029950c1b05fd20de29d0

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_ascii_poly.c Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,212 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__ascii__poly_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="ntru__ascii__poly_8h.html" title="header for ntru_ascii_poly.c">ntru_ascii_poly.h</a>&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="ntru__common_8h.html" title="common macros/functions">ntru_common.h</a>&quot;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="ntru__mem_8h.html" title="header for ntru_mem.c">ntru_mem.h</a>&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="ntru__params_8h.html" title="NTRU parameters.">ntru_params.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="ntru__poly_8h.html" title="header for ntru_poly.c">ntru_poly.h</a>&quot;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="ntru__string_8h.html" title="header for ntru_string.c">ntru_string.h</a>&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;glib.h&gt;</span>
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045
<a name="l00055"></a>00055 <span class="keyword">static</span> <span class="keywordtype">char</span> *
<a name="l00056"></a>00056 <a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a>(uint8_t value);
<a name="l00057"></a>00057
<a name="l00058"></a>00058
<a name="l00059"></a>00059 <span class="comment">/*------------------------------------------------------------------------*/</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="keyword">static</span> <span class="keywordtype">char</span> *
<a name="l00062"></a><a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">00062</a> <a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a>(uint8_t value)
<a name="l00063"></a>00063 {
<a name="l00064"></a>00064 <span class="keywordtype">int</span> i;
<a name="l00065"></a>00065 <span class="keyword">const</span> <span class="keywordtype">size_t</span> bin_string_size = <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a> + 1;
<a name="l00066"></a>00066 <span class="keywordtype">char</span> *bin_string = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*bin_string) *
<a name="l00067"></a>00067 (bin_string_size)); <span class="comment">/* account for trailing null-byte */</span>
<a name="l00068"></a>00068
<a name="l00069"></a>00069 <span class="comment">/* terminate properly */</span>
<a name="l00070"></a>00070 bin_string[bin_string_size - 1] = <span class="charliteral">&#39;\0&#39;</span>;
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keywordflow">for</span> (i = <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a> - 1; i &gt;= 0; --i, value &gt;&gt;= 1)
<a name="l00073"></a>00073 bin_string[i] = (value &amp; 1) + <span class="charliteral">&#39;0&#39;</span>;
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="keywordflow">return</span> bin_string;
<a name="l00076"></a>00076 }
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="comment">/*------------------------------------------------------------------------*/</span>
<a name="l00079"></a>00079
<a name="l00080"></a>00080 fmpz_poly_t *
<a name="l00081"></a><a class="code" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">00081</a> <a class="code" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)
<a name="l00082"></a>00082 {
<a name="l00083"></a>00083 uint32_t i = 0;
<a name="l00084"></a>00084 fmpz_poly_t *new_poly = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*new_poly));
<a name="l00085"></a>00085
<a name="l00086"></a>00086 fmpz_poly_init(*new_poly);
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="keywordflow">while</span> (to_poly[i] &amp;&amp; i &lt; params-&gt;N) {
<a name="l00089"></a>00089 fmpz_poly_set_coeff_si(*new_poly,
<a name="l00090"></a>00090 i,
<a name="l00091"></a>00091 (to_poly[i] == <span class="charliteral">&#39;0&#39;</span>) ? -1 : 1);
<a name="l00092"></a>00092 i++;
<a name="l00093"></a>00093 }
<a name="l00094"></a>00094
<a name="l00095"></a>00095 <span class="keywordflow">return</span> new_poly;
<a name="l00096"></a>00096 }
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="comment">/*------------------------------------------------------------------------*/</span>
<a name="l00099"></a>00099
<a name="l00100"></a>00100 fmpz_poly_t **
<a name="l00101"></a><a class="code" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">00101</a> <a class="code" href="ntru__ascii__poly_8c.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)
<a name="l00102"></a>00102 {
<a name="l00103"></a>00103 <span class="keywordtype">char</span> *cur = to_poly-&gt;<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a>;
<a name="l00104"></a>00104 <span class="keywordtype">char</span> *out = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<a class="code" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">CHAR_SIZE</a> * (to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> * <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a> + 1));
<a name="l00105"></a>00105 uint32_t polyc = 0;
<a name="l00106"></a>00106 <span class="keywordtype">size_t</span> out_len = 0;
<a name="l00107"></a>00107 fmpz_poly_t **poly_array;
<a name="l00108"></a>00108
<a name="l00109"></a>00109 <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>; i++) {
<a name="l00110"></a>00110 <span class="keywordtype">char</span> *tmp_string = <a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a>((<span class="keywordtype">int</span>)(*cur));
<a name="l00111"></a>00111 memcpy(out + out_len, tmp_string, <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>);
<a name="l00112"></a>00112 out_len += <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>;
<a name="l00113"></a>00113 cur++;
<a name="l00114"></a>00114 free(tmp_string);
<a name="l00115"></a>00115 }
<a name="l00116"></a>00116 out[out_len] = <span class="charliteral">&#39;\0&#39;</span>;
<a name="l00117"></a>00117
<a name="l00118"></a>00118 poly_array = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(**poly_array) *
<a name="l00119"></a>00119 (strlen(out) / params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a> + 1));
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; out_len; i += params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>) {
<a name="l00122"></a>00122 <span class="keywordtype">char</span> chunk[params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a> + 1];
<a name="l00123"></a>00123 <span class="keywordtype">size_t</span> real_chunk_size;
<a name="l00124"></a>00124
<a name="l00125"></a>00125 real_chunk_size =
<a name="l00126"></a>00126 (out_len - i &gt; params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>) ? params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a> : out_len - i;
<a name="l00127"></a>00127
<a name="l00128"></a>00128 memcpy(chunk, out + i, real_chunk_size);
<a name="l00129"></a>00129 chunk[real_chunk_size] = <span class="charliteral">&#39;\0&#39;</span>;
<a name="l00130"></a>00130
<a name="l00131"></a>00131 poly_array[polyc] = <a class="code" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a>(chunk, params);
<a name="l00132"></a>00132
<a name="l00133"></a>00133 polyc++;
<a name="l00134"></a>00134 }
<a name="l00135"></a>00135
<a name="l00136"></a>00136 free(out);
<a name="l00137"></a>00137
<a name="l00138"></a>00138 poly_array[polyc] = NULL;
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="keywordflow">return</span> poly_array;
<a name="l00141"></a>00141 }
<a name="l00142"></a>00142
<a name="l00143"></a>00143 <span class="comment">/*------------------------------------------------------------------------*/</span>
<a name="l00144"></a>00144
<a name="l00145"></a>00145 fmpz_poly_t **
<a name="l00146"></a><a class="code" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">00146</a> <a class="code" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)
<a name="l00147"></a>00147 {
<a name="l00148"></a>00148 uint32_t i = 0,
<a name="l00149"></a>00149 polyc = 0;
<a name="l00150"></a>00150 gsize out_len;
<a name="l00151"></a>00151 guchar *base64_decoded = NULL,
<a name="l00152"></a>00152 *base_tmp = NULL;
<a name="l00153"></a>00153 <span class="keywordtype">string</span> *new_string = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*new_string));
<a name="l00154"></a>00154 fmpz_poly_t **poly_array;
<a name="l00155"></a>00155 <span class="keywordtype">char</span> *tmp = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>) * (to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> + 1));
<a name="l00156"></a>00156
<a name="l00157"></a>00157 <span class="comment">/* g_base64_decode() needs it null-terminated */</span>
<a name="l00158"></a>00158 memcpy(tmp, to_poly-&gt;<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a>, to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>);
<a name="l00159"></a>00159 tmp[to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>] = <span class="charliteral">&#39;\0&#39;</span>;
<a name="l00160"></a>00160
<a name="l00161"></a>00161 base_tmp = g_base64_decode((<span class="keyword">const</span> gchar *)tmp, &amp;out_len);
<a name="l00162"></a>00162
<a name="l00163"></a>00163 <span class="comment">/* g_base64_decode() needs it null-terminated */</span>
<a name="l00164"></a>00164 <a class="code" href="ntru__mem_8h.html#a718b6446905826d711cb7ef00808bb4e">REALLOC</a>(tmp, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>) * (out_len + 1));
<a name="l00165"></a>00165 memcpy(tmp, base_tmp, out_len);
<a name="l00166"></a>00166 tmp[out_len] = <span class="charliteral">&#39;\0&#39;</span>;
<a name="l00167"></a>00167
<a name="l00168"></a>00168 base64_decoded = g_base64_decode((<span class="keyword">const</span> gchar *)tmp, &amp;out_len);
<a name="l00169"></a>00169
<a name="l00170"></a>00170 new_string-&gt;<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a> = (<span class="keywordtype">char</span> *)base64_decoded;
<a name="l00171"></a>00171 new_string-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> = (<span class="keywordtype">unsigned</span> long)(out_len);
<a name="l00172"></a>00172
<a name="l00173"></a>00173 poly_array = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(**poly_array) *
<a name="l00174"></a>00174 (new_string-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> / params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>));
<a name="l00175"></a>00175
<a name="l00176"></a>00176 <span class="keywordflow">while</span> (i &lt; new_string-&gt;len) {
<a name="l00177"></a>00177 uint32_t j = 0;
<a name="l00178"></a>00178 fmpz_poly_t *new_poly = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*new_poly));
<a name="l00179"></a>00179
<a name="l00180"></a>00180 fmpz_poly_init(*new_poly);
<a name="l00181"></a>00181
<a name="l00182"></a>00182 <span class="keywordflow">while</span> (j &lt; params-&gt;N) {
<a name="l00183"></a>00183 fmpz_poly_set_coeff_si(*new_poly,
<a name="l00184"></a>00184 j,
<a name="l00185"></a>00185 (uint8_t)(base64_decoded[i]));
<a name="l00186"></a>00186 j++;
<a name="l00187"></a>00187 i++;
<a name="l00188"></a>00188 }
<a name="l00189"></a>00189
<a name="l00190"></a>00190 <span class="comment">/* fill the last poly with q (which is a non-standard</span>
<a name="l00191"></a>00191 <span class="comment"> * coefficient) */</span>
<a name="l00192"></a>00192 <span class="keywordflow">for</span> (uint32_t k = j; k &lt; params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>; k++) {
<a name="l00193"></a>00193 fmpz_poly_set_coeff_si(*new_poly,
<a name="l00194"></a>00194 k,
<a name="l00195"></a>00195 params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);
<a name="l00196"></a>00196 }
<a name="l00197"></a>00197
<a name="l00198"></a>00198 poly_array[polyc] = new_poly;
<a name="l00199"></a>00199 polyc++;
<a name="l00200"></a>00200 }
<a name="l00201"></a>00201
<a name="l00202"></a>00202 poly_array[polyc] = NULL;
<a name="l00203"></a>00203
<a name="l00204"></a>00204 <a class="code" href="ntru__string_8c.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a>(new_string);
<a name="l00205"></a>00205 free(base_tmp);
<a name="l00206"></a>00206 free(tmp);
<a name="l00207"></a>00207
<a name="l00208"></a>00208 <span class="keywordflow">return</span> poly_array;
<a name="l00209"></a>00209 }
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -287,13 +78,235 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ntru_ascii_poly.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__ascii__poly_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__ascii__poly_8h.html">ntru_ascii_poly.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__common_8h.html">ntru_common.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__mem_8h.html">ntru_mem.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__params_8h.html">ntru_params.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__poly_8h.html">ntru_poly.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__string_8h.html">ntru_string.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;glib.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> *</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a>(uint8_t value);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">static</span> <span class="keywordtype">char</span> *</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b"> 62</a></span>&#160;<a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a>(uint8_t value)</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">const</span> <span class="keywordtype">size_t</span> bin_string_size = <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a> + 1;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">char</span> *bin_string = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*bin_string) *</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; (bin_string_size)); <span class="comment">/* account for trailing null-byte */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">/* terminate properly */</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; bin_string[bin_string_size - 1] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">for</span> (i = <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a> - 1; i &gt;= 0; --i, value &gt;&gt;= 1)</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; bin_string[i] = (value &amp; 1) + <span class="charliteral">&#39;0&#39;</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> bin_string;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;fmpz_poly_t *</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9"> 81</a></span>&#160;<a class="code" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; uint32_t i = 0;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; fmpz_poly_t *new_poly = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*new_poly));</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; fmpz_poly_init(*new_poly);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">while</span> (to_poly[i] &amp;&amp; i &lt; params-&gt;N) {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; fmpz_poly_set_coeff_si(*new_poly,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; i,</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; (to_poly[i] == <span class="charliteral">&#39;0&#39;</span>) ? -1 : 1);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; i++;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> new_poly;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;}</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;fmpz_poly_t **</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805"> 101</a></span>&#160;<a class="code" href="ntru__ascii__poly_8c.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;{</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">char</span> *cur = to_poly-&gt;<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordtype">char</span> *out = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<a class="code" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">CHAR_SIZE</a> * (to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> * <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a> + 1));</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; uint32_t polyc = 0;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordtype">size_t</span> out_len = 0;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; fmpz_poly_t **poly_array;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>; i++) {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">char</span> *tmp_string = <a class="code" href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a>((<span class="keywordtype">int</span>)(*cur));</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; memcpy(out + out_len, tmp_string, <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; out_len += <a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; cur++;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; free(tmp_string);</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; out[out_len] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; poly_array = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(**poly_array) *</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; (strlen(out) / params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a> + 1));</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; out_len; i += params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>) {</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">char</span> chunk[params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a> + 1];</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordtype">size_t</span> real_chunk_size;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; real_chunk_size =</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; (out_len - i &gt; params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>) ? params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a> : out_len - i;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; memcpy(chunk, out + i, real_chunk_size);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; chunk[real_chunk_size] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; poly_array[polyc] = <a class="code" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a>(chunk, params);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; polyc++;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; free(out);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; poly_array[polyc] = NULL;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> poly_array;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;fmpz_poly_t **</div>
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d"> 146</a></span>&#160;<a class="code" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;{</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; uint32_t i = 0,</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; polyc = 0;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; gsize out_len;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; guchar *base64_decoded = NULL,</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; *base_tmp = NULL;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">string</span> *new_string = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*new_string));</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; fmpz_poly_t **poly_array;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordtype">char</span> *tmp = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">char</span>) * (to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> + 1));</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="comment">/* g_base64_decode() needs it null-terminated */</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; memcpy(tmp, to_poly-&gt;<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a>, to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>);</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; tmp[to_poly-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; base_tmp = g_base64_decode((<span class="keyword">const</span> gchar *)tmp, &amp;out_len);</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="comment">/* g_base64_decode() needs it null-terminated */</span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="ntru__mem_8h.html#a718b6446905826d711cb7ef00808bb4e">REALLOC</a>(tmp, <span class="keyword">sizeof</span>(<span class="keywordtype">char</span>) * (out_len + 1));</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; memcpy(tmp, base_tmp, out_len);</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; tmp[out_len] = <span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; base64_decoded = g_base64_decode((<span class="keyword">const</span> gchar *)tmp, &amp;out_len);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; new_string-&gt;<a class="code" href="structstring.html#afd608f62303958cea6f1f7afdec1e282">ptr</a> = (<span class="keywordtype">char</span> *)base64_decoded;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; new_string-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> = (<span class="keywordtype">unsigned</span> long)(out_len);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; poly_array = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(**poly_array) *</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; (new_string-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a> / params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>));</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">while</span> (i &lt; new_string-&gt;len) {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; uint32_t j = 0;</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; fmpz_poly_t *new_poly = <a class="code" href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a>(<span class="keyword">sizeof</span>(*new_poly));</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; fmpz_poly_init(*new_poly);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">while</span> (j &lt; params-&gt;N) {</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; fmpz_poly_set_coeff_si(*new_poly,</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; j,</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; (uint8_t)(base64_decoded[i]));</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; j++;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; i++;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="comment">/* fill the last poly with q (which is a non-standard</span></div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="comment"> * coefficient) */</span></div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">for</span> (uint32_t k = j; k &lt; params-&gt;<a class="code" href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">N</a>; k++) {</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; fmpz_poly_set_coeff_si(*new_poly,</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; k,</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; }</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; poly_array[polyc] = new_poly;</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; polyc++;</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; poly_array[polyc] = NULL;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <a class="code" href="ntru__string_8c.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a>(new_string);</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; free(base_tmp);</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; free(tmp);</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> poly_array;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;}</div>
<div class="ttc" id="ntru__ascii__poly_8c_html_a3237071bca2489c3b2efd46e674e0805"><div class="ttname"><a href="ntru__ascii__poly_8c.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a></div><div class="ttdeci">fmpz_poly_t ** ascii_to_bin_poly_arr(const string *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00101">ntru_ascii_poly.c:101</a></div></div>
<div class="ttc" id="ntru__common_8h_html_a8d370c21bcf662e586397e764aba95e1"><div class="ttname"><a href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a></div><div class="ttdeci">#define ASCII_BITS</div><div class="ttdef"><b>Definition:</b> <a href="ntru__common_8h_source.html#l00038">ntru_common.h:38</a></div></div>
<div class="ttc" id="ntru__string_8c_html_ac1b5f66fbbbdfc7901357ddcfec52e5a"><div class="ttname"><a href="ntru__string_8c.html#ac1b5f66fbbbdfc7901357ddcfec52e5a">string_delete</a></div><div class="ttdeci">void string_delete(string *del_string)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8c_source.html#l00047">ntru_string.c:47</a></div></div>
<div class="ttc" id="structstring_html_aa6bcf0353fd5cf2f374a9b1dd0e4a73a"><div class="ttname"><a href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">string::len</a></div><div class="ttdeci">size_t len</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8h_source.html#l00053">ntru_string.h:53</a></div></div>
<div class="ttc" id="structntru__params_html_afb8425ee3db2b917b3c4e8d9b75bd3ff"><div class="ttname"><a href="structntru__params.html#afb8425ee3db2b917b3c4e8d9b75bd3ff">ntru_params::N</a></div><div class="ttdeci">uint32_t N</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00048">ntru_params.h:48</a></div></div>
<div class="ttc" id="ntru__ascii__poly_8c_html_a8460cd27ad4562f560bb304609a3e06d"><div class="ttname"><a href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a></div><div class="ttdeci">fmpz_poly_t ** base64_to_poly_arr(const string *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00146">ntru_ascii_poly.c:146</a></div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
<div class="ttc" id="ntru__mem_8h_html"><div class="ttname"><a href="ntru__mem_8h.html">ntru_mem.h</a></div><div class="ttdoc">header for ntru_mem.c </div></div>
<div class="ttc" id="ntru__params_8h_html"><div class="ttname"><a href="ntru__params_8h.html">ntru_params.h</a></div><div class="ttdoc">NTRU parameters. </div></div>
<div class="ttc" id="ntru__mem_8h_html_a718b6446905826d711cb7ef00808bb4e"><div class="ttname"><a href="ntru__mem_8h.html#a718b6446905826d711cb7ef00808bb4e">REALLOC</a></div><div class="ttdeci">#define REALLOC(ptr, size)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__mem_8h_source.html#l00038">ntru_mem.h:38</a></div></div>
<div class="ttc" id="ntru__common_8h_html"><div class="ttname"><a href="ntru__common_8h.html">ntru_common.h</a></div><div class="ttdoc">common macros/functions </div></div>
<div class="ttc" id="ntru__ascii__poly_8c_html_a2d2f760b6a98bd87248c1d3e120a665b"><div class="ttname"><a href="ntru__ascii__poly_8c.html#a2d2f760b6a98bd87248c1d3e120a665b">get_int_to_bin_str</a></div><div class="ttdeci">static char * get_int_to_bin_str(uint8_t value)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00062">ntru_ascii_poly.c:62</a></div></div>
<div class="ttc" id="ntru__mem_8c_html_a020790bf8b201fde92395cf975c0c691"><div class="ttname"><a href="ntru__mem_8c.html#a020790bf8b201fde92395cf975c0c691">ntru_malloc</a></div><div class="ttdeci">void * ntru_malloc(size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__mem_8c_source.html#l00038">ntru_mem.c:38</a></div></div>
<div class="ttc" id="structntru__params_html_a29680750bda49dc93e61a752b2f2a0f7"><div class="ttname"><a href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">ntru_params::q</a></div><div class="ttdeci">uint32_t q</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00052">ntru_params.h:52</a></div></div>
<div class="ttc" id="ntru__string_8h_html"><div class="ttname"><a href="ntru__string_8h.html">ntru_string.h</a></div><div class="ttdoc">header for ntru_string.c </div></div>
<div class="ttc" id="ntru__common_8h_html_a22c7f61c2f0fa6b1943548e838055cec"><div class="ttname"><a href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">CHAR_SIZE</a></div><div class="ttdeci">#define CHAR_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="ntru__common_8h_source.html#l00037">ntru_common.h:37</a></div></div>
<div class="ttc" id="structstring_html_afd608f62303958cea6f1f7afdec1e282"><div class="ttname"><a href="structstring.html#afd608f62303958cea6f1f7afdec1e282">string::ptr</a></div><div class="ttdeci">char * ptr</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8h_source.html#l00049">ntru_string.h:49</a></div></div>
<div class="ttc" id="ntru__ascii__poly_8c_html_aa5d0d4abdb2ce837a0a3b6e478c8f1a9"><div class="ttname"><a href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a></div><div class="ttdeci">fmpz_poly_t * ascii_bin_to_bin_poly(const char *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00081">ntru_ascii_poly.c:81</a></div></div>
<div class="ttc" id="ntru__poly_8h_html"><div class="ttname"><a href="ntru__poly_8h.html">ntru_poly.h</a></div><div class="ttdoc">header for ntru_poly.c </div></div>
<div class="ttc" id="ntru__ascii__poly_8h_html"><div class="ttname"><a href="ntru__ascii__poly_8h.html">ntru_ascii_poly.h</a></div><div class="ttdoc">header for ntru_ascii_poly.c </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_ascii_poly.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,50 +64,71 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<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_ascii_poly.h File Reference</div> </div>
<div class="title">ntru_ascii_poly.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials">ntru_ascii_poly.c</a>
<p>header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials ">ntru_ascii_poly.c</a>
<a href="#details">More...</a></p>
<div class="textblock"><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__string_8h_source.html">ntru_string.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 &lt;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
<div class="textblock"><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__string_8h_source.html">ntru_string.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 &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_ascii_poly.h:</div>
<div class="dyncontent">
<div class="center"><img src="ntru__ascii__poly_8h__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__ascii__poly_8h" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__ascii__poly_8h" id="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__ascii__poly_8h">
</map>
<area shape="rect" id="node3" href="ntru__common_8h.html" title="common macros/functions " alt="" coords="5,117,117,147"/><area shape="rect" id="node7" href="ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="141,117,235,147"/><area shape="rect" id="node10" href="ntru__params_8h.html" title="NTRU parameters. " alt="" coords="259,117,363,147"/></map>
</div>
</div>
<p><a href="ntru__ascii__poly_8h_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">fmpz_poly_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a> (const char *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="memitem:aa5d0d4abdb2ce837a0a3b6e478c8f1a9"><td class="memItemLeft" align="right" valign="top">fmpz_poly_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a> (const char *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:aa5d0d4abdb2ce837a0a3b6e478c8f1a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3237071bca2489c3b2efd46e674e0805"><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a3237071bca2489c3b2efd46e674e0805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8460cd27ad4562f560bb304609a3e06d"><td class="memItemLeft" align="right" valign="top">fmpz_poly_t **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a> (const <a class="el" href="structstring.html">string</a> *to_poly, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a8460cd27ad4562f560bb304609a3e06d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials">ntru_ascii_poly.c</a> </p>
<p>Header for the internal API of <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials">ntru_ascii_poly.c</a>. </p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>header for <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials ">ntru_ascii_poly.c</a> </p>
<p>Header for the internal API of <a class="el" href="ntru__ascii__poly_8c.html" title="ascii to polynomials ">ntru_ascii_poly.c</a>. </p>
<p>Definition in file <a class="el" href="ntru__ascii__poly_8h_source.html">ntru_ascii_poly.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="aa5d0d4abdb2ce837a0a3b6e478c8f1a9"></a><!-- doxytag: member="ntru_ascii_poly.h::ascii_bin_to_bin_poly" ref="aa5d0d4abdb2ce837a0a3b6e478c8f1a9" args="(const char *to_poly, const ntru_params *params)" -->
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="aa5d0d4abdb2ce837a0a3b6e478c8f1a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fmpz_poly_t* <a class="el" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a> </td>
<td class="memname">fmpz_poly_t* ascii_bin_to_bin_poly </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>to_poly</em>, </td>
@ -133,31 +145,30 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Convert a "binary" ascii string to a binary polyomial. The ascii string will be converted to a binary representation and the following mapping will apply between binary -&gt; poly:</p>
<p>1 =&gt; 1</p>
<p>0 =&gt; -1</p>
<p>If the polynomial is of degree less than N -1, then it will be filled with trailing 2's for later use in <a class="el" href="ntru__poly__ascii_8c.html#a0d86ab2dede39b332d4149e16b2046b8">bin_poly_to_ascii()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_poly</td><td>the string to get into binary polynomial format </td></tr>
<tr><td class="paramname">params</td><td>the NTRUEncrypt context </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated array of binary polynomials </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated array of binary polynomials </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00081">81</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.c</a>.</p>
</div>
</div>
<a class="anchor" id="a3237071bca2489c3b2efd46e674e0805"></a><!-- doxytag: member="ntru_ascii_poly.h::ascii_to_bin_poly_arr" ref="a3237071bca2489c3b2efd46e674e0805" args="(const string *to_poly, const ntru_params *params)" -->
<a class="anchor" id="a3237071bca2489c3b2efd46e674e0805"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fmpz_poly_t** <a class="el" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a> </td>
<td class="memname">fmpz_poly_t** ascii_to_bin_poly_arr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>to_poly</em>, </td>
@ -174,31 +185,30 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Convert an ascii string to an array of binary polyomials. The ascii string will be converted to a binary representation and the following mapping will apply between binary -&gt; poly:</p>
<p>1 =&gt; 1</p>
<p>0 =&gt; -1</p>
<p>If the last polynomial is of degree less than N -1, then it will be filled with trailing 2's for later use in <a class="el" href="ntru__poly__ascii_8c.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_poly</td><td>the string to get into binary polynomial format </td></tr>
<tr><td class="paramname">params</td><td>the NTRUEncrypt context </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated array of binary polynomials </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated array of binary polynomials </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00101">101</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.c</a>.</p>
</div>
</div>
<a class="anchor" id="a8460cd27ad4562f560bb304609a3e06d"></a><!-- doxytag: member="ntru_ascii_poly.h::base64_to_poly_arr" ref="a8460cd27ad4562f560bb304609a3e06d" args="(const string *to_poly, const ntru_params *params)" -->
<a class="anchor" id="a8460cd27ad4562f560bb304609a3e06d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">fmpz_poly_t** <a class="el" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a> </td>
<td class="memname">fmpz_poly_t** base64_to_poly_arr </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>to_poly</em>, </td>
@ -215,45 +225,28 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Convert an base64 encoded string to an array of polyomials with coefficients which are expected to be in the range [0, q-1]. The chars will be converted (after decoding) to their integer representation and directly put into the coefficients.</p>
<p>If the last polynomial is of degree less than N -1, then it will be filled with trailing q's for later user in <a class="el" href="ntru__poly__ascii_8c.html#a0dc14698073df2e46e6540cbff870fc7">poly_arr_to_base64()</a>.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">to_poly</td><td>the string to get into polynomial format, which is of type string, so we can iterate safely over it (the string might have null-bytes in the middle of it) </td></tr>
<tr><td class="paramname">params</td><td>the NTRUEncrypt context </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated array of polynomials </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>newly allocated array of polynomials </dd></dl>
<p>Definition at line <a class="el" href="ntru__ascii__poly_8c_source.html#l00146">146</a> of file <a class="el" href="ntru__ascii__poly_8c_source.html">ntru_ascii_poly.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,21 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru_common.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__common_8h.html",tooltip="common macros/functions"];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="ntru_string.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__string_8h.html",tooltip="header for ntru_string.c"];
Node4 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="ntru_params.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__params_8h.html",tooltip="NTRU parameters."];
Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
}

View File

@ -0,0 +1,5 @@
<map id="/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.h" name="/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.h">
<area shape="rect" id="node3" href="$ntru__common_8h.html" title="common macros/functions " alt="" coords="5,117,117,147"/>
<area shape="rect" id="node7" href="$ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="141,117,235,147"/>
<area shape="rect" id="node10" href="$ntru__params_8h.html" title="NTRU parameters. " alt="" coords="259,117,363,147"/>
</map>

View File

@ -1 +1 @@
eeb812a91fe6b7412ad0dddfa4530952
81e7fc7cf2132dda2768b24004a75bbb

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_ascii_poly.h Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,63 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/src/ntru_ascii_poly.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__ascii__poly_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00028"></a>00028 <span class="preprocessor">#ifndef NTRU_ASCII_POLY_H_</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define NTRU_ASCII_POLY_H_</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="ntru__common_8h.html" title="common macros/functions">ntru_common.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="ntru__string_8h.html" title="header for ntru_string.c">ntru_string.h</a>&quot;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="ntru__params_8h.html" title="NTRU parameters.">ntru_params.h</a>&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039
<a name="l00056"></a>00056 fmpz_poly_t *
<a name="l00057"></a>00057 <a class="code" href="ntru__ascii__poly_8c.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00058"></a>00058
<a name="l00075"></a>00075 fmpz_poly_t **
<a name="l00076"></a>00076 <a class="code" href="ntru__ascii__poly_8c.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00077"></a>00077
<a name="l00093"></a>00093 fmpz_poly_t **
<a name="l00094"></a>00094 <a class="code" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);
<a name="l00095"></a>00095
<a name="l00096"></a>00096
<a name="l00097"></a>00097 <span class="preprocessor">#endif </span><span class="comment">/* NTRU_ASCII_POLY_H_ */</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -138,13 +78,73 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ntru_ascii_poly.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__ascii__poly_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#ifndef NTRU_ASCII_POLY_H_</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#define NTRU_ASCII_POLY_H_</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__common_8h.html">ntru_common.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__string_8h.html">ntru_string.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__params_8h.html">ntru_params.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;fmpz_poly_t *</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<a class="code" href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;fmpz_poly_t **</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<a class="code" href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;fmpz_poly_t **</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<a class="code" href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a>(<span class="keyword">const</span> <span class="keywordtype">string</span> *to_poly, <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params);</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NTRU_ASCII_POLY_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="ntru__ascii__poly_8h_html_a3237071bca2489c3b2efd46e674e0805"><div class="ttname"><a href="ntru__ascii__poly_8h.html#a3237071bca2489c3b2efd46e674e0805">ascii_to_bin_poly_arr</a></div><div class="ttdeci">fmpz_poly_t ** ascii_to_bin_poly_arr(const string *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00101">ntru_ascii_poly.c:101</a></div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
<div class="ttc" id="ntru__params_8h_html"><div class="ttname"><a href="ntru__params_8h.html">ntru_params.h</a></div><div class="ttdoc">NTRU parameters. </div></div>
<div class="ttc" id="ntru__common_8h_html"><div class="ttname"><a href="ntru__common_8h.html">ntru_common.h</a></div><div class="ttdoc">common macros/functions </div></div>
<div class="ttc" id="ntru__ascii__poly_8h_html_a8460cd27ad4562f560bb304609a3e06d"><div class="ttname"><a href="ntru__ascii__poly_8h.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a></div><div class="ttdeci">fmpz_poly_t ** base64_to_poly_arr(const string *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00146">ntru_ascii_poly.c:146</a></div></div>
<div class="ttc" id="ntru__string_8h_html"><div class="ttname"><a href="ntru__string_8h.html">ntru_string.h</a></div><div class="ttdoc">header for ntru_string.c </div></div>
<div class="ttc" id="ntru__ascii__poly_8h_html_aa5d0d4abdb2ce837a0a3b6e478c8f1a9"><div class="ttname"><a href="ntru__ascii__poly_8h.html#aa5d0d4abdb2ce837a0a3b6e478c8f1a9">ascii_bin_to_bin_poly</a></div><div class="ttdeci">fmpz_poly_t * ascii_bin_to_bin_poly(const char *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00081">ntru_ascii_poly.c:81</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_common.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,18 +64,36 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Defines</a> </div>
<a href="#define-members">Macros</a> </div>
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/src/ntru_common.h File Reference</div> </div>
<div class="title">ntru_common.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>common macros/functions
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br/>
<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ntru_common.h:</div>
<div class="dyncontent">
@ -95,69 +104,53 @@ Include dependency graph for ntru_common.h:</div>
</div>
<p><a href="ntru__common_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">CHAR_SIZE</a>&#160;&#160;&#160;sizeof(char)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>&#160;&#160;&#160;8</td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a22c7f61c2f0fa6b1943548e838055cec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">CHAR_SIZE</a>&#160;&#160;&#160;sizeof(char)</td></tr>
<tr class="separator:a22c7f61c2f0fa6b1943548e838055cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d370c21bcf662e586397e764aba95e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>&#160;&#160;&#160;8</td></tr>
<tr class="separator:a8d370c21bcf662e586397e764aba95e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>common macros/functions </p>
<p>This file holds common macros and functions shared throughout the whole codebase without any particular purpose. </p>
<p>Definition in file <a class="el" href="ntru__common_8h_source.html">ntru_common.h</a>.</p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a8d370c21bcf662e586397e764aba95e1"></a><!-- doxytag: member="ntru_common.h::ASCII_BITS" ref="a8d370c21bcf662e586397e764aba95e1" args="" -->
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a8d370c21bcf662e586397e764aba95e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">ASCII_BITS</a>&#160;&#160;&#160;8</td>
<td class="memname">#define ASCII_BITS&#160;&#160;&#160;8</td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Definition at line <a class="el" href="ntru__common_8h_source.html#l00038">38</a> of file <a class="el" href="ntru__common_8h_source.html">ntru_common.h</a>.</p>
</div>
</div>
<a class="anchor" id="a22c7f61c2f0fa6b1943548e838055cec"></a><!-- doxytag: member="ntru_common.h::CHAR_SIZE" ref="a22c7f61c2f0fa6b1943548e838055cec" args="" -->
<a class="anchor" id="a22c7f61c2f0fa6b1943548e838055cec"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">CHAR_SIZE</a>&#160;&#160;&#160;sizeof(char)</td>
<td class="memname">#define CHAR_SIZE&#160;&#160;&#160;sizeof(char)</td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Definition at line <a class="el" href="ntru__common_8h_source.html#l00037">37</a> of file <a class="el" href="ntru__common_8h_source.html">ntru_common.h</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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,8 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/src/ntru_common.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
}

View File

@ -0,0 +1,2 @@
<map id="/home/travis/build/hasufell/pqc/src/ntru_common.h" name="/home/travis/build/hasufell/pqc/src/ntru_common.h">
</map>

View File

@ -1 +1 @@
387a14e03c762904414073faf13de234
263919482a59e32c059432052bc45afa

BIN
ntru__common_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_common.h Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,52 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/src/ntru_common.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__common_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef NTRU_COMMON_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define NTRU_COMMON_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a><a class="code" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec">00037</a> <span class="preprocessor">#define CHAR_SIZE sizeof(char)</span>
<a name="l00038"></a><a class="code" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define ASCII_BITS 8</span>
<a name="l00039"></a>00039 <span class="preprocessor"></span>
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="preprocessor">#endif </span><span class="comment">/* NTRU_COMMON_H */</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -127,13 +78,55 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ntru_common.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__common_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef NTRU_COMMON_H</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define NTRU_COMMON_H</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="ntru__common_8h.html#a22c7f61c2f0fa6b1943548e838055cec"> 37</a></span>&#160;<span class="preprocessor">#define CHAR_SIZE sizeof(char)</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="ntru__common_8h.html#a8d370c21bcf662e586397e764aba95e1"> 38</a></span>&#160;<span class="preprocessor">#define ASCII_BITS 8</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* NTRU_COMMON_H */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_decrypt.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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,54 +64,74 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<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_decrypt.c File Reference</div> </div>
<div class="title">ntru_decrypt.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>NTRU decryption.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ntru__ascii__poly_8h_source.html">ntru_ascii_poly.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ntru__decrypt_8h_source.html">ntru_decrypt.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__poly__ascii_8h_source.html">ntru_poly_ascii.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;stdbool.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 class="textblock"><code>#include &quot;<a class="el" href="ntru__ascii__poly_8h_source.html">ntru_ascii_poly.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="ntru__decrypt_8h_source.html">ntru_decrypt.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__poly__ascii_8h_source.html">ntru_poly_ascii.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;stdbool.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_decrypt.c:</div>
<div class="dyncontent">
<div class="center"><img src="ntru__decrypt_8c__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__decrypt_8c" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__decrypt_8c" id="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__decrypt_8c">
</map>
<area shape="rect" id="node3" href="ntru__ascii__poly_8h.html" title="header for ntru_ascii_poly.c " alt="" coords="113,117,233,147"/><area shape="rect" id="node9" href="ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="327,195,420,224"/><area shape="rect" id="node12" href="ntru__params_8h.html" title="NTRU parameters. " alt="" coords="321,272,425,301"/><area shape="rect" id="node20" href="ntru__decrypt_8h.html" title="header for ntru_decrypt.c " alt="" coords="503,117,607,147"/><area shape="rect" id="node23" href="ntru__poly_8h.html" title="header for ntru_poly.c " alt="" coords="681,195,767,224"/><area shape="rect" id="node40" href="ntru__poly__ascii_8h.html" title="header for ntru_poly_ascii.c " alt="" coords="257,117,377,147"/><area shape="rect" id="node5" href="ntru__common_8h.html" title="common macros/functions " alt="" coords="191,195,303,224"/><area shape="rect" id="node25" href="ntru__err_8h.html" title="error handling " alt="" coords="588,272,665,301"/></map>
</div>
</div>
<p><a href="ntru__decrypt_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a> (const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_bin, 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__decrypt_8c.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> (const <a class="el" href="structstring.html">string</a> *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="memitem:a41c72f59e37a3c6ef6790eb909555d76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a> (const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_bin, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a41c72f59e37a3c6ef6790eb909555d76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9cc61eec0c119e48762f6078a14527b"><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__decrypt_8c.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> (const <a class="el" href="structstring.html">string</a> *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:aa9cc61eec0c119e48762f6078a14527b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>NTRU decryption. </p>
<p>This file handles the NTRU decryption algorithm. </p>
<p>Definition in file <a class="el" href="ntru__decrypt_8c_source.html">ntru_decrypt.c</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a41c72f59e37a3c6ef6790eb909555d76"></a><!-- doxytag: member="ntru_decrypt.c::ntru_decrypt_poly" ref="a41c72f59e37a3c6ef6790eb909555d76" args="(const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_bin, const ntru_params *params)" -->
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a41c72f59e37a3c6ef6790eb909555d76"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru__decrypt_8h.html#a8108219b815b18d63672bbc45e76ca31">ntru_decrypt_poly</a> </td>
<td class="memname">void ntru_decrypt_poly </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>encr_msg</em>, </td>
@ -155,10 +166,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Decryption of the given Polynom with the private key, its inverse and the fitting <a class="el" href="structntru__params.html">ntru_params</a></p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encr_msg</td><td>encrypted polynom with maximum length of N from the given context </td></tr>
<tr><td class="paramname">priv_key</td><td>the polynom containing the private key to decrypt the message </td></tr>
@ -173,12 +183,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="aa9cc61eec0c119e48762f6078a14527b"></a><!-- doxytag: member="ntru_decrypt.c::ntru_decrypt_string" ref="aa9cc61eec0c119e48762f6078a14527b" args="(const string *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const ntru_params *params)" -->
<a class="anchor" id="aa9cc61eec0c119e48762f6078a14527b"></a>
<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="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> </td>
<td class="memname"><a class="el" href="structstring.html">string</a>* ntru_decrypt_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>encr_msg</em>, </td>
@ -207,10 +217,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Decryption of a given encrypted string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encr_msg</td><td>the encrypted message in the form of a string </td></tr>
<tr><td class="paramname">priv_key</td><td>the polynom containing the private key to decrypt the message </td></tr>
@ -219,34 +228,18 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the decrypted string </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted string </dd></dl>
<p>Definition at line <a class="el" href="ntru__decrypt_8c_source.html#l00092">92</a> of file <a class="el" href="ntru__decrypt_8c_source.html">ntru_decrypt.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,56 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/src/ntru_decrypt.c",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru_ascii_poly.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__ascii__poly_8h.html",tooltip="header for ntru_ascii_poly.c"];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="ntru_common.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__common_8h.html",tooltip="common macros/functions"];
Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="ntru_string.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__string_8h.html",tooltip="header for ntru_string.c"];
Node5 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="ntru_params.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__params_8h.html",tooltip="NTRU parameters."];
Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="ntru_decrypt.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__decrypt_8h.html",tooltip="header for ntru_decrypt.c"];
Node10 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="ntru_poly.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__poly_8h.html",tooltip="header for ntru_poly.c"];
Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node12 [label="ntru_err.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__err_8h.html",tooltip="error handling"];
Node11 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node13 [label="stdarg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node11 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node14 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node11 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 [label="ntru_poly_ascii.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__poly__ascii_8h.html",tooltip="header for ntru_poly_ascii.c"];
Node15 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node15 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node16 [label="string.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
}

View File

@ -0,0 +1,10 @@
<map id="/home/travis/build/hasufell/pqc/src/ntru_decrypt.c" name="/home/travis/build/hasufell/pqc/src/ntru_decrypt.c">
<area shape="rect" id="node3" href="$ntru__ascii__poly_8h.html" title="header for ntru_ascii_poly.c " alt="" coords="113,117,233,147"/>
<area shape="rect" id="node9" href="$ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="327,195,420,224"/>
<area shape="rect" id="node12" href="$ntru__params_8h.html" title="NTRU parameters. " alt="" coords="321,272,425,301"/>
<area shape="rect" id="node20" href="$ntru__decrypt_8h.html" title="header for ntru_decrypt.c " alt="" coords="503,117,607,147"/>
<area shape="rect" id="node23" href="$ntru__poly_8h.html" title="header for ntru_poly.c " alt="" coords="681,195,767,224"/>
<area shape="rect" id="node40" href="$ntru__poly__ascii_8h.html" title="header for ntru_poly_ascii.c " alt="" coords="257,117,377,147"/>
<area shape="rect" id="node5" href="$ntru__common_8h.html" title="common macros/functions " alt="" coords="191,195,303,224"/>
<area shape="rect" id="node25" href="$ntru__err_8h.html" title="error handling " alt="" coords="588,272,665,301"/>
</map>

View File

@ -1 +1 @@
7dbd28d16ee280fd2e4a31ed4f916592
fd7a83e2e136c4b6ede8e55ee7aa3b6d

BIN
ntru__decrypt_8c__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_decrypt.c Source File</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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,136 +64,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">/home/travis/build/hasufell/pqc/src/ntru_decrypt.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__decrypt_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2014 FH Bielefeld</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> * This file is part of a FH Bielefeld project.</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00007"></a>00007 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00008"></a>00008 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00009"></a>00009 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00012"></a>00012 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00013"></a>00013 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00014"></a>00014 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * You should have received a copy of the GNU Lesser General Public</span>
<a name="l00017"></a>00017 <span class="comment"> * License along with this library; if not, write to the Free Software</span>
<a name="l00018"></a>00018 <span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span>
<a name="l00019"></a>00019 <span class="comment"> * MA 02110-1301 USA</span>
<a name="l00020"></a>00020 <span class="comment"> */</span>
<a name="l00021"></a>00021
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="ntru__ascii__poly_8h.html" title="header for ntru_ascii_poly.c">ntru_ascii_poly.h</a>&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="ntru__decrypt_8h.html" title="header for ntru_decrypt.c">ntru_decrypt.h</a>&quot;</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &quot;<a class="code" href="ntru__params_8h.html" title="NTRU parameters.">ntru_params.h</a>&quot;</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include &quot;<a class="code" href="ntru__poly_8h.html" title="header for ntru_poly.c">ntru_poly.h</a>&quot;</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &quot;<a class="code" href="ntru__poly__ascii_8h.html" title="header for ntru_poly_ascii.c">ntru_poly_ascii.h</a>&quot;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &quot;<a class="code" href="ntru__string_8h.html" title="header for ntru_string.c">ntru_string.h</a>&quot;</span>
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;stdbool.h&gt;</span>
<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;string.h&gt;</span>
<a name="l00038"></a>00038
<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span>
<a name="l00040"></a>00040 <span class="preprocessor">#include &lt;fmpz.h&gt;</span>
<a name="l00041"></a>00041
<a name="l00042"></a>00042
<a name="l00043"></a>00043 <span class="comment">/*------------------------------------------------------------------------*/</span>
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="keywordtype">void</span>
<a name="l00046"></a><a class="code" href="ntru__decrypt_8h.html#a8108219b815b18d63672bbc45e76ca31">00046</a> <a class="code" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a>(
<a name="l00047"></a>00047 <span class="keyword">const</span> fmpz_poly_t encr_msg,
<a name="l00048"></a>00048 <span class="keyword">const</span> fmpz_poly_t priv_key,
<a name="l00049"></a>00049 <span class="keyword">const</span> fmpz_poly_t priv_key_inv,
<a name="l00050"></a>00050 fmpz_poly_t out_bin,
<a name="l00051"></a>00051 <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)
<a name="l00052"></a>00052 {
<a name="l00053"></a>00053 fmpz_poly_t a,
<a name="l00054"></a>00054 priv_key_tmp,
<a name="l00055"></a>00055 priv_key_inv_tmp,
<a name="l00056"></a>00056 encr_msg_tmp;
<a name="l00057"></a>00057
<a name="l00058"></a>00058 <span class="keywordflow">if</span> (!encr_msg || !priv_key || !priv_key_inv || !out_bin || !params)
<a name="l00059"></a>00059 <a class="code" href="ntru__err_8h.html#a5d4dd1c1539c408c0dcd915750e8f224">NTRU_ABORT_DEBUG</a>(<span class="stringliteral">&quot;Unexpected NULL parameters&quot;</span>);
<a name="l00060"></a>00060
<a name="l00061"></a>00061 fmpz_poly_init(a);
<a name="l00062"></a>00062 fmpz_poly_zero(a);
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">/*</span>
<a name="l00065"></a>00065 <span class="comment"> * make sure all are shifted to</span>
<a name="l00066"></a>00066 <span class="comment"> * [-q/2, q/2]</span>
<a name="l00067"></a>00067 <span class="comment"> */</span>
<a name="l00068"></a>00068 fmpz_poly_init(priv_key_tmp);
<a name="l00069"></a>00069 fmpz_poly_init(priv_key_inv_tmp);
<a name="l00070"></a>00070 fmpz_poly_init(encr_msg_tmp);
<a name="l00071"></a>00071 fmpz_poly_set(priv_key_tmp, priv_key);
<a name="l00072"></a>00072 fmpz_poly_set(priv_key_inv_tmp, priv_key_inv);
<a name="l00073"></a>00073 fmpz_poly_set(encr_msg_tmp, encr_msg);
<a name="l00074"></a>00074 <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(priv_key_tmp, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);
<a name="l00075"></a>00075 <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(priv_key_inv_tmp, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);
<a name="l00076"></a>00076 <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(encr_msg_tmp, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <a class="code" href="ntru__poly_8c.html#ae96f479ddd97af709a0ed50817fd3fb3">poly_starmultiply</a>(priv_key_tmp, encr_msg_tmp, a, params, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);
<a name="l00079"></a>00079 <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(a, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);
<a name="l00080"></a>00080 <a class="code" href="ntru__poly_8c.html#ae96f479ddd97af709a0ed50817fd3fb3">poly_starmultiply</a>(a, priv_key_inv_tmp, out_bin, params, params-&gt;<a class="code" href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">p</a>);
<a name="l00081"></a>00081 <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(out_bin, params-&gt;<a class="code" href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">p</a>);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 fmpz_poly_clear(a);
<a name="l00084"></a>00084 fmpz_poly_clear(priv_key_tmp);
<a name="l00085"></a>00085 fmpz_poly_clear(priv_key_inv_tmp);
<a name="l00086"></a>00086 fmpz_poly_clear(encr_msg_tmp);
<a name="l00087"></a>00087 }
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="comment">/*------------------------------------------------------------------------*/</span>
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="keywordtype">string</span> *
<a name="l00092"></a><a class="code" href="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">00092</a> <a class="code" href="ntru__decrypt_8c.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a>(
<a name="l00093"></a>00093 <span class="keyword">const</span> <span class="keywordtype">string</span> *encr_msg,
<a name="l00094"></a>00094 <span class="keyword">const</span> fmpz_poly_t priv_key,
<a name="l00095"></a>00095 <span class="keyword">const</span> fmpz_poly_t priv_key_inv,
<a name="l00096"></a>00096 <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)
<a name="l00097"></a>00097 {
<a name="l00098"></a>00098 uint32_t i = 0;
<a name="l00099"></a>00099 <span class="keywordtype">string</span> *decr_msg;
<a name="l00100"></a>00100 fmpz_poly_t **poly_array;
<a name="l00101"></a>00101
<a name="l00102"></a>00102 <span class="keywordflow">if</span> (!encr_msg || !encr_msg-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>)
<a name="l00103"></a>00103 <a class="code" href="ntru__err_8h.html#a5d4dd1c1539c408c0dcd915750e8f224">NTRU_ABORT_DEBUG</a>(<span class="stringliteral">&quot;Unexpected NULL parameters&quot;</span>);
<a name="l00104"></a>00104
<a name="l00105"></a>00105 poly_array = <a class="code" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a>(encr_msg, params);
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keywordflow">while</span> (*poly_array[i]) {
<a name="l00108"></a>00108 <a class="code" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a>(*poly_array[i],
<a name="l00109"></a>00109 priv_key,
<a name="l00110"></a>00110 priv_key_inv,
<a name="l00111"></a>00111 *poly_array[i],
<a name="l00112"></a>00112 params);
<a name="l00113"></a>00113 i++;
<a name="l00114"></a>00114 }
<a name="l00115"></a>00115
<a name="l00116"></a>00116 decr_msg = <a class="code" href="ntru__poly__ascii_8c.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii</a>((<span class="keyword">const</span> fmpz_poly_t **)poly_array,
<a name="l00117"></a>00117 i, params);
<a name="l00118"></a>00118
<a name="l00119"></a>00119 <a class="code" href="ntru__poly_8c.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a>(poly_array);
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keywordflow">return</span> decr_msg;
<a name="l00122"></a>00122 }
<a name="l00123"></a>00123
<a name="l00124"></a>00124 <span class="comment">/*------------------------------------------------------------------------*/</span>
</pre></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>
<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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
@ -211,13 +78,157 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">ntru_decrypt.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="ntru__decrypt_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (C) 2014 FH Bielefeld</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * This file is part of a FH Bielefeld project.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * This library is free software; you can redistribute it and/or</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * This library is distributed in the hope that it will be useful,</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * License along with this library; if not, write to the Free Software</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * MA 02110-1301 USA</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__ascii__poly_8h.html">ntru_ascii_poly.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__decrypt_8h.html">ntru_decrypt.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__params_8h.html">ntru_params.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__poly_8h.html">ntru_poly.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__poly__ascii_8h.html">ntru_poly_ascii.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ntru__string_8h.html">ntru_string.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;stdbool.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;fmpz_poly.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;fmpz.h&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keywordtype">void</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="ntru__decrypt_8h.html#a8108219b815b18d63672bbc45e76ca31"> 46</a></span>&#160;<a class="code" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a>(</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">const</span> fmpz_poly_t encr_msg,</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keyword">const</span> fmpz_poly_t priv_key,</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">const</span> fmpz_poly_t priv_key_inv,</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; fmpz_poly_t out_bin,</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; fmpz_poly_t a,</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; priv_key_tmp,</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; priv_key_inv_tmp,</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; encr_msg_tmp;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">if</span> (!encr_msg || !priv_key || !priv_key_inv || !out_bin || !params)</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="ntru__err_8h.html#a5d4dd1c1539c408c0dcd915750e8f224">NTRU_ABORT_DEBUG</a>(<span class="stringliteral">&quot;Unexpected NULL parameters&quot;</span>);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; fmpz_poly_init(a);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; fmpz_poly_zero(a);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">/*</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> * make sure all are shifted to</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> * [-q/2, q/2]</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; fmpz_poly_init(priv_key_tmp);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; fmpz_poly_init(priv_key_inv_tmp);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; fmpz_poly_init(encr_msg_tmp);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; fmpz_poly_set(priv_key_tmp, priv_key);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; fmpz_poly_set(priv_key_inv_tmp, priv_key_inv);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; fmpz_poly_set(encr_msg_tmp, encr_msg);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(priv_key_tmp, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(priv_key_inv_tmp, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(encr_msg_tmp, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="ntru__poly_8c.html#ae96f479ddd97af709a0ed50817fd3fb3">poly_starmultiply</a>(priv_key_tmp, encr_msg_tmp, a, params, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(a, params-&gt;<a class="code" href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">q</a>);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="ntru__poly_8c.html#ae96f479ddd97af709a0ed50817fd3fb3">poly_starmultiply</a>(a, priv_key_inv_tmp, out_bin, params, params-&gt;<a class="code" href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">p</a>);</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a>(out_bin, params-&gt;<a class="code" href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">p</a>);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; fmpz_poly_clear(a);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; fmpz_poly_clear(priv_key_tmp);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; fmpz_poly_clear(priv_key_inv_tmp);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; fmpz_poly_clear(encr_msg_tmp);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keywordtype">string</span> *</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b"> 92</a></span>&#160;<a class="code" href="ntru__decrypt_8c.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a>(</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">const</span> <span class="keywordtype">string</span> *encr_msg,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> fmpz_poly_t priv_key,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">const</span> fmpz_poly_t priv_key_inv,</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">const</span> <a class="code" href="structntru__params.html">ntru_params</a> *params)</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;{</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; uint32_t i = 0;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">string</span> *decr_msg;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; fmpz_poly_t **poly_array;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (!encr_msg || !encr_msg-&gt;<a class="code" href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">len</a>)</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="ntru__err_8h.html#a5d4dd1c1539c408c0dcd915750e8f224">NTRU_ABORT_DEBUG</a>(<span class="stringliteral">&quot;Unexpected NULL parameters&quot;</span>);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; poly_array = <a class="code" href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a>(encr_msg, params);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">while</span> (*poly_array[i]) {</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a>(*poly_array[i],</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; priv_key,</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; priv_key_inv,</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; *poly_array[i],</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; params);</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; i++;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; decr_msg = <a class="code" href="ntru__poly__ascii_8c.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii</a>((<span class="keyword">const</span> fmpz_poly_t **)poly_array,</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; i, params);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="ntru__poly_8c.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a>(poly_array);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> decr_msg;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;}</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="comment">/*------------------------------------------------------------------------*/</span></div>
<div class="ttc" id="structstring_html_aa6bcf0353fd5cf2f374a9b1dd0e4a73a"><div class="ttname"><a href="structstring.html#aa6bcf0353fd5cf2f374a9b1dd0e4a73a">string::len</a></div><div class="ttdeci">size_t len</div><div class="ttdef"><b>Definition:</b> <a href="ntru__string_8h_source.html#l00053">ntru_string.h:53</a></div></div>
<div class="ttc" id="ntru__poly_8c_html_a7c4f5e96355518dc97a23da8f34b661a"><div class="ttname"><a href="ntru__poly_8c.html#a7c4f5e96355518dc97a23da8f34b661a">fmpz_poly_mod</a></div><div class="ttdeci">void fmpz_poly_mod(fmpz_poly_t a, const uint32_t mod)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00182">ntru_poly.c:182</a></div></div>
<div class="ttc" id="ntru__err_8h_html_a5d4dd1c1539c408c0dcd915750e8f224"><div class="ttname"><a href="ntru__err_8h.html#a5d4dd1c1539c408c0dcd915750e8f224">NTRU_ABORT_DEBUG</a></div><div class="ttdeci">#define NTRU_ABORT_DEBUG(...)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__err_8h_source.html#l00039">ntru_err.h:39</a></div></div>
<div class="ttc" id="structntru__params_html_a41b368825e1eb126604e13e8f549ec8f"><div class="ttname"><a href="structntru__params.html#a41b368825e1eb126604e13e8f549ec8f">ntru_params::p</a></div><div class="ttdeci">uint32_t p</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00056">ntru_params.h:56</a></div></div>
<div class="ttc" id="ntru__ascii__poly_8c_html_a8460cd27ad4562f560bb304609a3e06d"><div class="ttname"><a href="ntru__ascii__poly_8c.html#a8460cd27ad4562f560bb304609a3e06d">base64_to_poly_arr</a></div><div class="ttdeci">fmpz_poly_t ** base64_to_poly_arr(const string *to_poly, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__ascii__poly_8c_source.html#l00146">ntru_ascii_poly.c:146</a></div></div>
<div class="ttc" id="ntru__decrypt_8h_html"><div class="ttname"><a href="ntru__decrypt_8h.html">ntru_decrypt.h</a></div><div class="ttdoc">header for ntru_decrypt.c </div></div>
<div class="ttc" id="structntru__params_html"><div class="ttname"><a href="structntru__params.html">ntru_params</a></div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00043">ntru_params.h:43</a></div></div>
<div class="ttc" id="ntru__poly__ascii_8h_html"><div class="ttname"><a href="ntru__poly__ascii_8h.html">ntru_poly_ascii.h</a></div><div class="ttdoc">header for ntru_poly_ascii.c </div></div>
<div class="ttc" id="ntru__params_8h_html"><div class="ttname"><a href="ntru__params_8h.html">ntru_params.h</a></div><div class="ttdoc">NTRU parameters. </div></div>
<div class="ttc" id="ntru__poly_8c_html_ae96f479ddd97af709a0ed50817fd3fb3"><div class="ttname"><a href="ntru__poly_8c.html#ae96f479ddd97af709a0ed50817fd3fb3">poly_starmultiply</a></div><div class="ttdeci">void poly_starmultiply(const fmpz_poly_t a, const fmpz_poly_t b, fmpz_poly_t c, const ntru_params *params, uint32_t modulus)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00239">ntru_poly.c:239</a></div></div>
<div class="ttc" id="ntru__poly_8c_html_a3f53c63383ff301b20dcede0783869a7"><div class="ttname"><a href="ntru__poly_8c.html#a3f53c63383ff301b20dcede0783869a7">poly_delete_array</a></div><div class="ttdeci">void poly_delete_array(fmpz_poly_t **poly_array)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly_8c_source.html#l00131">ntru_poly.c:131</a></div></div>
<div class="ttc" id="ntru__poly__ascii_8c_html_ab9464c96c3ebec6ee716c604fdc4ad21"><div class="ttname"><a href="ntru__poly__ascii_8c.html#ab9464c96c3ebec6ee716c604fdc4ad21">bin_poly_arr_to_ascii</a></div><div class="ttdeci">string * bin_poly_arr_to_ascii(const fmpz_poly_t **bin_poly_arr, const uint32_t poly_c, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__poly__ascii_8c_source.html#l00143">ntru_poly_ascii.c:143</a></div></div>
<div class="ttc" id="structntru__params_html_a29680750bda49dc93e61a752b2f2a0f7"><div class="ttname"><a href="structntru__params.html#a29680750bda49dc93e61a752b2f2a0f7">ntru_params::q</a></div><div class="ttdeci">uint32_t q</div><div class="ttdef"><b>Definition:</b> <a href="ntru__params_8h_source.html#l00052">ntru_params.h:52</a></div></div>
<div class="ttc" id="ntru__decrypt_8c_html_a41c72f59e37a3c6ef6790eb909555d76"><div class="ttname"><a href="ntru__decrypt_8c.html#a41c72f59e37a3c6ef6790eb909555d76">ntru_decrypt_poly</a></div><div class="ttdeci">void ntru_decrypt_poly(const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_bin, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__decrypt_8c_source.html#l00046">ntru_decrypt.c:46</a></div></div>
<div class="ttc" id="ntru__string_8h_html"><div class="ttname"><a href="ntru__string_8h.html">ntru_string.h</a></div><div class="ttdoc">header for ntru_string.c </div></div>
<div class="ttc" id="ntru__decrypt_8c_html_aa9cc61eec0c119e48762f6078a14527b"><div class="ttname"><a href="ntru__decrypt_8c.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a></div><div class="ttdeci">string * ntru_decrypt_string(const string *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const ntru_params *params)</div><div class="ttdef"><b>Definition:</b> <a href="ntru__decrypt_8c_source.html#l00092">ntru_decrypt.c:92</a></div></div>
<div class="ttc" id="ntru__poly_8h_html"><div class="ttname"><a href="ntru__poly_8h.html">ntru_poly.h</a></div><div class="ttdoc">header for ntru_poly.c </div></div>
<div class="ttc" id="ntru__ascii__poly_8h_html"><div class="ttname"><a href="ntru__ascii__poly_8h.html">ntru_ascii_poly.h</a></div><div class="ttdoc">header for ntru_ascii_poly.c </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -3,44 +3,35 @@
<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.7"/>
<title>post quantum cryptography: /home/travis/build/hasufell/pqc/src/ntru_decrypt.h 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="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<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">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 -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
@ -73,49 +64,69 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- 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>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</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>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<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_decrypt.h File Reference</div> </div>
<div class="title">ntru_decrypt.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption.">ntru_decrypt.c</a>
<p>header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption. ">ntru_decrypt.c</a>
<a href="#details">More...</a></p>
<div class="textblock"><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;fmpz_poly.h&gt;</code><br/>
<code>#include &lt;fmpz.h&gt;</code><br/>
<div class="textblock"><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;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_decrypt.h:</div>
<div class="dyncontent">
<div class="center"><img src="ntru__decrypt_8h__incl.png" border="0" usemap="#_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__decrypt_8h" alt=""/></div>
<map name="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__decrypt_8h" id="_2home_2travis_2build_2hasufell_2pqc_2src_2ntru__decrypt_8h">
</map>
<area shape="rect" id="node3" href="ntru__params_8h.html" title="NTRU parameters. " alt="" coords="5,195,109,224"/><area shape="rect" id="node7" href="ntru__poly_8h.html" title="header for ntru_poly.c " alt="" coords="296,117,381,147"/><area shape="rect" id="node21" href="ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="443,117,536,147"/><area shape="rect" id="node9" href="ntru__err_8h.html" title="error handling " alt="" coords="184,195,261,224"/></map>
</div>
</div>
<p><a href="ntru__decrypt_8h_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>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__decrypt_8h.html#a8108219b815b18d63672bbc45e76ca31">ntru_decrypt_poly</a> (const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_tern, 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__decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> (const <a class="el" href="structstring.html">string</a> *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="memitem:a8108219b815b18d63672bbc45e76ca31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ntru__decrypt_8h.html#a8108219b815b18d63672bbc45e76ca31">ntru_decrypt_poly</a> (const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_tern, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:a8108219b815b18d63672bbc45e76ca31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9cc61eec0c119e48762f6078a14527b"><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__decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> (const <a class="el" href="structstring.html">string</a> *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const <a class="el" href="structntru__params.html">ntru_params</a> *params)</td></tr>
<tr class="separator:aa9cc61eec0c119e48762f6078a14527b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption.">ntru_decrypt.c</a> </p>
<p>Header for the external API of <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption.">ntru_decrypt.c</a>. </p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>header for <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption. ">ntru_decrypt.c</a> </p>
<p>Header for the external API of <a class="el" href="ntru__decrypt_8c.html" title="NTRU decryption. ">ntru_decrypt.c</a>. </p>
<p>Definition in file <a class="el" href="ntru__decrypt_8h_source.html">ntru_decrypt.h</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a8108219b815b18d63672bbc45e76ca31"></a><!-- doxytag: member="ntru_decrypt.h::ntru_decrypt_poly" ref="a8108219b815b18d63672bbc45e76ca31" args="(const fmpz_poly_t encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, fmpz_poly_t out_tern, const ntru_params *params)" -->
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a8108219b815b18d63672bbc45e76ca31"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="ntru__decrypt_8h.html#a8108219b815b18d63672bbc45e76ca31">ntru_decrypt_poly</a> </td>
<td class="memname">void ntru_decrypt_poly </td>
<td>(</td>
<td class="paramtype">const fmpz_poly_t&#160;</td>
<td class="paramname"><em>encr_msg</em>, </td>
@ -150,10 +161,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Decryption of the given Polynom with the private key, its inverse and the fitting <a class="el" href="structntru__params.html">ntru_params</a></p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encr_msg</td><td>encrypted polynom with maximum length of N from the given context </td></tr>
<tr><td class="paramname">priv_key</td><td>the polynom containing the private key to decrypt the message </td></tr>
@ -168,12 +178,12 @@ Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="aa9cc61eec0c119e48762f6078a14527b"></a><!-- doxytag: member="ntru_decrypt.h::ntru_decrypt_string" ref="aa9cc61eec0c119e48762f6078a14527b" args="(const string *encr_msg, const fmpz_poly_t priv_key, const fmpz_poly_t priv_key_inv, const ntru_params *params)" -->
<a class="anchor" id="aa9cc61eec0c119e48762f6078a14527b"></a>
<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="decrypt_8h.html#aa9cc61eec0c119e48762f6078a14527b">ntru_decrypt_string</a> </td>
<td class="memname"><a class="el" href="structstring.html">string</a>* ntru_decrypt_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structstring.html">string</a> *&#160;</td>
<td class="paramname"><em>encr_msg</em>, </td>
@ -202,10 +212,9 @@ Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
</div><div class="memdoc">
<p>Decryption of a given encrypted string.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">encr_msg</td><td>the encrypted message in the form of a string </td></tr>
<tr><td class="paramname">priv_key</td><td>the polynom containing the private key to decrypt the message </td></tr>
@ -214,34 +223,18 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the decrypted string </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>the decrypted string </dd></dl>
<p>Definition at line <a class="el" href="ntru__decrypt_8c_source.html#l00092">92</a> of file <a class="el" href="ntru__decrypt_8c_source.html">ntru_decrypt.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>
<!-- start footer part -->
<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">
Generated on Sun Jun 8 2014 23:33:23 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
</a> 1.8.7
</small></address>
</body>
</html>

View File

@ -1,30 +0,0 @@
digraph G
{
edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
node [fontname="Helvetica",fontsize="10",shape=record];
Node1 [label="/home/travis/build/hasufell/pqc/src/ntru_decrypt.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node2 [label="ntru_params.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__params_8h.html",tooltip="NTRU parameters."];
Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node3 [label="stdint.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 [label="ntru_poly.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__poly_8h.html",tooltip="header for ntru_poly.c"];
Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node5 [label="ntru_err.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__err_8h.html",tooltip="error handling"];
Node4 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node6 [label="stdarg.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node7 [label="stdbool.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node4 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node8 [label="stdlib.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node4 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node9 [label="fmpz_poly.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
Node1 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node10 [label="ntru_string.h",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$ntru__string_8h.html",tooltip="header for ntru_string.c"];
Node10 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node1 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
Node11 [label="fmpz.h",height=0.2,width=0.4,color="grey75", fillcolor="white", style="filled"];
}

View File

@ -0,0 +1,6 @@
<map id="/home/travis/build/hasufell/pqc/src/ntru_decrypt.h" name="/home/travis/build/hasufell/pqc/src/ntru_decrypt.h">
<area shape="rect" id="node3" href="$ntru__params_8h.html" title="NTRU parameters. " alt="" coords="5,195,109,224"/>
<area shape="rect" id="node7" href="$ntru__poly_8h.html" title="header for ntru_poly.c " alt="" coords="296,117,381,147"/>
<area shape="rect" id="node21" href="$ntru__string_8h.html" title="header for ntru_string.c " alt="" coords="443,117,536,147"/>
<area shape="rect" id="node9" href="$ntru__err_8h.html" title="error handling " alt="" coords="184,195,261,224"/>
</map>

View File

@ -1 +1 @@
5e60f3f7ddf44d6bc8445e25e29c3343
8fb618f6c80c80fe82e657fdec2bcc8e

BIN
ntru__decrypt_8h__incl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Some files were not shown because too many files have changed in this diff Show More