| <!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.13"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>AMCL: ff_3072.h File 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/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <script type="text/x-mathjax-config"> |
| MathJax.Hub.Config({ |
| extensions: ["tex2jax.js"], |
| jax: ["input/TeX","output/HTML-CSS"], |
| }); |
| </script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">AMCL |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.13 --> |
| <script type="text/javascript"> |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| </script> |
| <div id="main-nav"></div> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </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_df7310d1a865926cc859bcfb1880083f.html">include</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="summary"> |
| <a href="#define-members">Macros</a> | |
| <a href="#func-members">Functions</a> </div> |
| <div class="headertitle"> |
| <div class="title">ff_3072.h File Reference</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| |
| <p>FF Header File. |
| <a href="#details">More...</a></p> |
| <div class="textblock"><code>#include "<a class="el" href="big__384__56_8h_source.html">big_384_56.h</a>"</code><br /> |
| <code>#include "<a class="el" href="config__ff__3072_8h_source.html">config_ff_3072.h</a>"</code><br /> |
| </div> |
| <p><a href="ff__3072_8h_source.html">Go to the source code of this file.</a></p> |
| <table class="memberdecls"> |
| <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> |
| Macros</h2></td></tr> |
| <tr class="memitem:a991a0cbc301024bc7d87b9acb0ba3848"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a991a0cbc301024bc7d87b9acb0ba3848">HFLEN_3072</a>   (<a class="el" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2)</td></tr> |
| <tr class="separator:a991a0cbc301024bc7d87b9acb0ba3848"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a913cc0005462d60030fd74480872b842"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">P_MBITS_3072</a>   (<a class="el" href="config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d">MODBYTES_384_56</a>*8)</td></tr> |
| <tr class="separator:a913cc0005462d60030fd74480872b842"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:abc64851d800e9346f5cb224ed5993102"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#abc64851d800e9346f5cb224ed5993102">P_TBITS_3072</a>   (<a class="el" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">P_MBITS_3072</a>%<a class="el" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a>)</td></tr> |
| <tr class="separator:abc64851d800e9346f5cb224ed5993102"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a4b6a94575f3a30ec24ee3082ba370da2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a4b6a94575f3a30ec24ee3082ba370da2">P_EXCESS_3072</a>(a)   (((a[<a class="el" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>-1])>>(<a class="el" href="ff__3072_8h.html#abc64851d800e9346f5cb224ed5993102">P_TBITS_3072</a>))+1)</td></tr> |
| <tr class="separator:a4b6a94575f3a30ec24ee3082ba370da2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6adb5cd667354c85a5dfb6b2283538d1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a6adb5cd667354c85a5dfb6b2283538d1">P_FEXCESS_3072</a>   ((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1<<(<a class="el" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a>*<a class="el" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>-<a class="el" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">P_MBITS_3072</a>-1))</td></tr> |
| <tr class="separator:a6adb5cd667354c85a5dfb6b2283538d1"><td class="memSeparator" colspan="2"> </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 class="memitem:a5710e195634f96bda5ae8a3b49d107b1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a5710e195634f96bda5ae8a3b49d107b1">FF_3072_copy</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, int n)</td></tr> |
| <tr class="memdesc:a5710e195634f96bda5ae8a3b49d107b1"><td class="mdescLeft"> </td><td class="mdescRight">Copy one FF element of given length to another. <a href="#a5710e195634f96bda5ae8a3b49d107b1">More...</a><br /></td></tr> |
| <tr class="separator:a5710e195634f96bda5ae8a3b49d107b1"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab1e8b486337df148dc80bd1d965fbd88"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#ab1e8b486337df148dc80bd1d965fbd88">FF_3072_init</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> m, int n)</td></tr> |
| <tr class="memdesc:ab1e8b486337df148dc80bd1d965fbd88"><td class="mdescLeft"> </td><td class="mdescRight">Initialize an FF element of given length from a 32-bit integer m. <a href="#ab1e8b486337df148dc80bd1d965fbd88">More...</a><br /></td></tr> |
| <tr class="separator:ab1e8b486337df148dc80bd1d965fbd88"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a381f4e545dc7f1a358c4937ec8db4cd2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a381f4e545dc7f1a358c4937ec8db4cd2">FF_3072_zero</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:a381f4e545dc7f1a358c4937ec8db4cd2"><td class="mdescLeft"> </td><td class="mdescRight">Set FF element of given size to zero. <a href="#a381f4e545dc7f1a358c4937ec8db4cd2">More...</a><br /></td></tr> |
| <tr class="separator:a381f4e545dc7f1a358c4937ec8db4cd2"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a23ea956e002fe10e959129bbff836a88"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a23ea956e002fe10e959129bbff836a88">FF_3072_iszilch</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:a23ea956e002fe10e959129bbff836a88"><td class="mdescLeft"> </td><td class="mdescRight">Tests for FF element equal to zero. <a href="#a23ea956e002fe10e959129bbff836a88">More...</a><br /></td></tr> |
| <tr class="separator:a23ea956e002fe10e959129bbff836a88"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a134652d691699256b947e50877b61cf9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a134652d691699256b947e50877b61cf9">FF_3072_parity</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x)</td></tr> |
| <tr class="memdesc:a134652d691699256b947e50877b61cf9"><td class="mdescLeft"> </td><td class="mdescRight">return parity of an FF, that is the least significant bit <a href="#a134652d691699256b947e50877b61cf9">More...</a><br /></td></tr> |
| <tr class="separator:a134652d691699256b947e50877b61cf9"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a231037055f11264bf1f18f878dd6f7d5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a231037055f11264bf1f18f878dd6f7d5">FF_3072_lastbits</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int m)</td></tr> |
| <tr class="memdesc:a231037055f11264bf1f18f878dd6f7d5"><td class="mdescLeft"> </td><td class="mdescRight">return least significant m bits of an FF <a href="#a231037055f11264bf1f18f878dd6f7d5">More...</a><br /></td></tr> |
| <tr class="separator:a231037055f11264bf1f18f878dd6f7d5"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aeab149437c42eba4a31601170db373e4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aeab149437c42eba4a31601170db373e4">FF_3072_one</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:aeab149437c42eba4a31601170db373e4"><td class="mdescLeft"> </td><td class="mdescRight">Set FF element of given size to unity. <a href="#aeab149437c42eba4a31601170db373e4">More...</a><br /></td></tr> |
| <tr class="separator:aeab149437c42eba4a31601170db373e4"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aeb6d92db5f6702a1661f91c64589a00c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aeb6d92db5f6702a1661f91c64589a00c">FF_3072_comp</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, int n)</td></tr> |
| <tr class="memdesc:aeb6d92db5f6702a1661f91c64589a00c"><td class="mdescLeft"> </td><td class="mdescRight">Compares two FF numbers. Inputs must be normalised externally. <a href="#aeb6d92db5f6702a1661f91c64589a00c">More...</a><br /></td></tr> |
| <tr class="separator:aeb6d92db5f6702a1661f91c64589a00c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ad76acb0cb07c1278b342b99d4e46ed9a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#ad76acb0cb07c1278b342b99d4e46ed9a">FF_3072_add</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr> |
| <tr class="memdesc:ad76acb0cb07c1278b342b99d4e46ed9a"><td class="mdescLeft"> </td><td class="mdescRight">addition of two FFs <a href="#ad76acb0cb07c1278b342b99d4e46ed9a">More...</a><br /></td></tr> |
| <tr class="separator:ad76acb0cb07c1278b342b99d4e46ed9a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a90a27832117acd51620f205cd0a7fd66"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a90a27832117acd51620f205cd0a7fd66">FF_3072_sub</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr> |
| <tr class="memdesc:a90a27832117acd51620f205cd0a7fd66"><td class="mdescLeft"> </td><td class="mdescRight">subtraction of two FFs <a href="#a90a27832117acd51620f205cd0a7fd66">More...</a><br /></td></tr> |
| <tr class="separator:a90a27832117acd51620f205cd0a7fd66"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a6dc03139ccfabea9f051a2dffb2b23ec"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a6dc03139ccfabea9f051a2dffb2b23ec">FF_3072_inc</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int m, int n)</td></tr> |
| <tr class="memdesc:a6dc03139ccfabea9f051a2dffb2b23ec"><td class="mdescLeft"> </td><td class="mdescRight">increment an FF by an integer,and normalise <a href="#a6dc03139ccfabea9f051a2dffb2b23ec">More...</a><br /></td></tr> |
| <tr class="separator:a6dc03139ccfabea9f051a2dffb2b23ec"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0b01ae2dd1452ad556d0fc7852e48bab"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a0b01ae2dd1452ad556d0fc7852e48bab">FF_3072_dec</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int m, int n)</td></tr> |
| <tr class="memdesc:a0b01ae2dd1452ad556d0fc7852e48bab"><td class="mdescLeft"> </td><td class="mdescRight">Decrement an FF by an integer,and normalise. <a href="#a0b01ae2dd1452ad556d0fc7852e48bab">More...</a><br /></td></tr> |
| <tr class="separator:a0b01ae2dd1452ad556d0fc7852e48bab"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:adbfb492cd0974a31a764877f4e29e902"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#adbfb492cd0974a31a764877f4e29e902">FF_3072_norm</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:adbfb492cd0974a31a764877f4e29e902"><td class="mdescLeft"> </td><td class="mdescRight">Normalises the components of an FF. <a href="#adbfb492cd0974a31a764877f4e29e902">More...</a><br /></td></tr> |
| <tr class="separator:adbfb492cd0974a31a764877f4e29e902"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a0f260e780e072e4a9a04b711890ffc97"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a0f260e780e072e4a9a04b711890ffc97">FF_3072_shl</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:a0f260e780e072e4a9a04b711890ffc97"><td class="mdescLeft"> </td><td class="mdescRight">Shift left an FF by 1 bit. <a href="#a0f260e780e072e4a9a04b711890ffc97">More...</a><br /></td></tr> |
| <tr class="separator:a0f260e780e072e4a9a04b711890ffc97"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa1b20ede5ea8085fc5b09400d4f77a0b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aa1b20ede5ea8085fc5b09400d4f77a0b">FF_3072_shr</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:aa1b20ede5ea8085fc5b09400d4f77a0b"><td class="mdescLeft"> </td><td class="mdescRight">Shift right an FF by 1 bit. <a href="#aa1b20ede5ea8085fc5b09400d4f77a0b">More...</a><br /></td></tr> |
| <tr class="separator:aa1b20ede5ea8085fc5b09400d4f77a0b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af20dedd4fc082097038482e3dfda6c32"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#af20dedd4fc082097038482e3dfda6c32">FF_3072_output</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:af20dedd4fc082097038482e3dfda6c32"><td class="mdescLeft"> </td><td class="mdescRight">Formats and outputs an FF to the console. <a href="#af20dedd4fc082097038482e3dfda6c32">More...</a><br /></td></tr> |
| <tr class="separator:af20dedd4fc082097038482e3dfda6c32"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a59b49a04db64211550a0cd8b81b1a286"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a59b49a04db64211550a0cd8b81b1a286">FF_3072_rawoutput</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:a59b49a04db64211550a0cd8b81b1a286"><td class="mdescLeft"> </td><td class="mdescRight">Formats and outputs an FF to the console, in raw form. <a href="#a59b49a04db64211550a0cd8b81b1a286">More...</a><br /></td></tr> |
| <tr class="separator:a59b49a04db64211550a0cd8b81b1a286"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a072ac1dfb719d6cb4ade9bb45e7da60f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a072ac1dfb719d6cb4ade9bb45e7da60f">FF_3072_toOctet</a> (<a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int n)</td></tr> |
| <tr class="memdesc:a072ac1dfb719d6cb4ade9bb45e7da60f"><td class="mdescLeft"> </td><td class="mdescRight">Formats and outputs an FF instance to an octet string. <a href="#a072ac1dfb719d6cb4ade9bb45e7da60f">More...</a><br /></td></tr> |
| <tr class="separator:a072ac1dfb719d6cb4ade9bb45e7da60f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a99e5ad673622637c7cabdf014b9eb23d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a99e5ad673622637c7cabdf014b9eb23d">FF_3072_fromOctet</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="structoctet.html">octet</a> *S, int n)</td></tr> |
| <tr class="memdesc:a99e5ad673622637c7cabdf014b9eb23d"><td class="mdescLeft"> </td><td class="mdescRight">Populates an FF instance from an octet string. <a href="#a99e5ad673622637c7cabdf014b9eb23d">More...</a><br /></td></tr> |
| <tr class="separator:a99e5ad673622637c7cabdf014b9eb23d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aa15d79eee17b711e569fb6817963c170"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aa15d79eee17b711e569fb6817963c170">FF_3072_mul</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr> |
| <tr class="memdesc:aa15d79eee17b711e569fb6817963c170"><td class="mdescLeft"> </td><td class="mdescRight">Multiplication of two FFs. <a href="#aa15d79eee17b711e569fb6817963c170">More...</a><br /></td></tr> |
| <tr class="separator:aa15d79eee17b711e569fb6817963c170"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ab93c9e12ca505de7ec1b76987d922852"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#ab93c9e12ca505de7ec1b76987d922852">FF_3072_mod</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr> |
| <tr class="memdesc:ab93c9e12ca505de7ec1b76987d922852"><td class="mdescLeft"> </td><td class="mdescRight">Reduce FF mod a modulus. <a href="#ab93c9e12ca505de7ec1b76987d922852">More...</a><br /></td></tr> |
| <tr class="separator:ab93c9e12ca505de7ec1b76987d922852"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a9e50c11b86dcc4089140221500e2ca30"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a9e50c11b86dcc4089140221500e2ca30">FF_3072_sqr</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, int n)</td></tr> |
| <tr class="memdesc:a9e50c11b86dcc4089140221500e2ca30"><td class="mdescLeft"> </td><td class="mdescRight">Square an FF. <a href="#a9e50c11b86dcc4089140221500e2ca30">More...</a><br /></td></tr> |
| <tr class="separator:a9e50c11b86dcc4089140221500e2ca30"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7cc5b1e476a2ec468fe2534cf64b3b70"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a7cc5b1e476a2ec468fe2534cf64b3b70">FF_3072_dmod</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr> |
| <tr class="memdesc:a7cc5b1e476a2ec468fe2534cf64b3b70"><td class="mdescLeft"> </td><td class="mdescRight">Reduces a double-length FF with respect to a given modulus. <a href="#a7cc5b1e476a2ec468fe2534cf64b3b70">More...</a><br /></td></tr> |
| <tr class="separator:a7cc5b1e476a2ec468fe2534cf64b3b70"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aae7ce5e4cea593280c782a135cef009d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aae7ce5e4cea593280c782a135cef009d">FF_3072_invmodp</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *z, int n)</td></tr> |
| <tr class="memdesc:aae7ce5e4cea593280c782a135cef009d"><td class="mdescLeft"> </td><td class="mdescRight">Invert an FF mod a prime modulus. <a href="#aae7ce5e4cea593280c782a135cef009d">More...</a><br /></td></tr> |
| <tr class="separator:aae7ce5e4cea593280c782a135cef009d"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a5afa3e952ac34ca7e73311135ed9fd4a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a5afa3e952ac34ca7e73311135ed9fd4a">FF_3072_invmod2m</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> U[], <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> a[], int n)</td></tr> |
| <tr class="memdesc:a5afa3e952ac34ca7e73311135ed9fd4a"><td class="mdescLeft"> </td><td class="mdescRight">Invert an FF mod 2^(n*BIGBITS) <a href="#a5afa3e952ac34ca7e73311135ed9fd4a">More...</a><br /></td></tr> |
| <tr class="separator:a5afa3e952ac34ca7e73311135ed9fd4a"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a3279d3d0fe944c9e1d22ab30e23cb4a7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a3279d3d0fe944c9e1d22ab30e23cb4a7">FF_3072_random</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr> |
| <tr class="memdesc:a3279d3d0fe944c9e1d22ab30e23cb4a7"><td class="mdescLeft"> </td><td class="mdescRight">Create an FF from a random number generator. <a href="#a3279d3d0fe944c9e1d22ab30e23cb4a7">More...</a><br /></td></tr> |
| <tr class="separator:a3279d3d0fe944c9e1d22ab30e23cb4a7"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:ac9d98be58c136ad84be65ccc1d537c5f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#ac9d98be58c136ad84be65ccc1d537c5f">FF_3072_randomnum</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr> |
| <tr class="memdesc:ac9d98be58c136ad84be65ccc1d537c5f"><td class="mdescLeft"> </td><td class="mdescRight">Create a random FF less than a given modulus from a random number generator. <a href="#ac9d98be58c136ad84be65ccc1d537c5f">More...</a><br /></td></tr> |
| <tr class="separator:ac9d98be58c136ad84be65ccc1d537c5f"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a7de5ac4b05d29331ecdfca051de289aa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a7de5ac4b05d29331ecdfca051de289aa">FF_3072_skpow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n, int en)</td></tr> |
| <tr class="memdesc:a7de5ac4b05d29331ecdfca051de289aa"><td class="mdescLeft"> </td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant. <a href="#a7de5ac4b05d29331ecdfca051de289aa">More...</a><br /></td></tr> |
| <tr class="separator:a7de5ac4b05d29331ecdfca051de289aa"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a46d7f64a49cca34285e1c3f88c13472c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a46d7f64a49cca34285e1c3f88c13472c">FF_3072_skspow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr> |
| <tr class="memdesc:a46d7f64a49cca34285e1c3f88c13472c"><td class="mdescLeft"> </td><td class="mdescRight">Calculate r=x^e mod p, side channel resistant. <a href="#a46d7f64a49cca34285e1c3f88c13472c">More...</a><br /></td></tr> |
| <tr class="separator:a46d7f64a49cca34285e1c3f88c13472c"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a08f6181906f7778cf2241152c4504abe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a08f6181906f7778cf2241152c4504abe">FF_3072_skpow2</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *f, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n, int en)</td></tr> |
| <tr class="memdesc:a08f6181906f7778cf2241152c4504abe"><td class="mdescLeft"> </td><td class="mdescRight">Calculate r=x^e.y^f mod p for big e and f, side channel resistant. <a href="#a08f6181906f7778cf2241152c4504abe">More...</a><br /></td></tr> |
| <tr class="separator:a08f6181906f7778cf2241152c4504abe"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a730ad50f9459f3b9ad1c5b51a36fdb91"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a730ad50f9459f3b9ad1c5b51a36fdb91">FF_3072_power</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, int e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr> |
| <tr class="memdesc:a730ad50f9459f3b9ad1c5b51a36fdb91"><td class="mdescLeft"> </td><td class="mdescRight">Calculate r=x^e mod p. <a href="#a730ad50f9459f3b9ad1c5b51a36fdb91">More...</a><br /></td></tr> |
| <tr class="separator:a730ad50f9459f3b9ad1c5b51a36fdb91"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a49e545443d4744967972aa4a3b49013b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a49e545443d4744967972aa4a3b49013b">FF_3072_pow</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, int n)</td></tr> |
| <tr class="memdesc:a49e545443d4744967972aa4a3b49013b"><td class="mdescLeft"> </td><td class="mdescRight">Calculate r=x^e mod p. <a href="#a49e545443d4744967972aa4a3b49013b">More...</a><br /></td></tr> |
| <tr class="separator:a49e545443d4744967972aa4a3b49013b"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:aeb905b3272822708c9886676f3a3befd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#aeb905b3272822708c9886676f3a3befd">FF_3072_pow2</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> e, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *y, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> f, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *m, int n)</td></tr> |
| <tr class="memdesc:aeb905b3272822708c9886676f3a3befd"><td class="mdescLeft"> </td><td class="mdescRight">Calculate r=x^e.y^f mod m. <a href="#aeb905b3272822708c9886676f3a3befd">More...</a><br /></td></tr> |
| <tr class="separator:aeb905b3272822708c9886676f3a3befd"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:af9ca6a2a8e19d16a0e3e5d7ff4161788"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#af9ca6a2a8e19d16a0e3e5d7ff4161788">FF_3072_cfactor</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> s, int n)</td></tr> |
| <tr class="memdesc:af9ca6a2a8e19d16a0e3e5d7ff4161788"><td class="mdescLeft"> </td><td class="mdescRight">Test if an FF has factor in common with integer s. <a href="#af9ca6a2a8e19d16a0e3e5d7ff4161788">More...</a><br /></td></tr> |
| <tr class="separator:af9ca6a2a8e19d16a0e3e5d7ff4161788"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:abe0d54929a593c54b7bc4c76509f2dfb"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#abe0d54929a593c54b7bc4c76509f2dfb">FF_3072_prime</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *x, <a class="el" href="structcsprng.html">csprng</a> *R, int n)</td></tr> |
| <tr class="memdesc:abe0d54929a593c54b7bc4c76509f2dfb"><td class="mdescLeft"> </td><td class="mdescRight">Test if an FF is prime. <a href="#abe0d54929a593c54b7bc4c76509f2dfb">More...</a><br /></td></tr> |
| <tr class="separator:abe0d54929a593c54b7bc4c76509f2dfb"><td class="memSeparator" colspan="2"> </td></tr> |
| <tr class="memitem:a76ff21e47b57cfc4f5e33f7acbab95ea"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="ff__3072_8h.html#a76ff21e47b57cfc4f5e33f7acbab95ea">FF_3072_crt</a> (<a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *r, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *rp, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *rq, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *p, <a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> *q, int n)</td></tr> |
| <tr class="memdesc:a76ff21e47b57cfc4f5e33f7acbab95ea"><td class="mdescLeft"> </td><td class="mdescRight">Combine rp and rq using the Chinese Remainder Theorem. <a href="#a76ff21e47b57cfc4f5e33f7acbab95ea">More...</a><br /></td></tr> |
| <tr class="separator:a76ff21e47b57cfc4f5e33f7acbab95ea"><td class="memSeparator" colspan="2"> </td></tr> |
| </table> |
| <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
| <div class="textblock"><dl class="section author"><dt>Author</dt><dd>Mike Scott </dd></dl> |
| </div><h2 class="groupheader">Macro Definition Documentation</h2> |
| <a id="a991a0cbc301024bc7d87b9acb0ba3848"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a991a0cbc301024bc7d87b9acb0ba3848">◆ </a></span>HFLEN_3072</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define HFLEN_3072   (<a class="el" href="config__ff__3072_8h.html#aaaf83c3d8d02afcc96d24bcabc418da4">FFLEN_3072</a>/2)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Useful for half-size RSA private key operations </p> |
| |
| </div> |
| </div> |
| <a id="a4b6a94575f3a30ec24ee3082ba370da2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a4b6a94575f3a30ec24ee3082ba370da2">◆ </a></span>P_EXCESS_3072</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define P_EXCESS_3072</td> |
| <td>(</td> |
| <td class="paramtype"> </td> |
| <td class="paramname">a</td><td>)</td> |
| <td>   (((a[<a class="el" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>-1])>>(<a class="el" href="ff__3072_8h.html#abc64851d800e9346f5cb224ed5993102">P_TBITS_3072</a>))+1)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>TODO </p> |
| |
| </div> |
| </div> |
| <a id="a6adb5cd667354c85a5dfb6b2283538d1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6adb5cd667354c85a5dfb6b2283538d1">◆ </a></span>P_FEXCESS_3072</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define P_FEXCESS_3072   ((<a class="el" href="arch_8h.html#a0dd4b8ab353c587b22c6acb0809323aa">chunk</a>)1<<(<a class="el" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a>*<a class="el" href="big__384__56_8h.html#a5e1bda709894ea23a924da6c5b191748">NLEN_384_56</a>-<a class="el" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">P_MBITS_3072</a>-1))</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>TODO </p> |
| |
| </div> |
| </div> |
| <a id="a913cc0005462d60030fd74480872b842"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a913cc0005462d60030fd74480872b842">◆ </a></span>P_MBITS_3072</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define P_MBITS_3072   (<a class="el" href="config__big__384__56_8h.html#ab097d53a21c3885285dbb6c6c72b608d">MODBYTES_384_56</a>*8)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Number of bits in modulus </p> |
| |
| </div> |
| </div> |
| <a id="abc64851d800e9346f5cb224ed5993102"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#abc64851d800e9346f5cb224ed5993102">◆ </a></span>P_TBITS_3072</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">#define P_TBITS_3072   (<a class="el" href="ff__3072_8h.html#a913cc0005462d60030fd74480872b842">P_MBITS_3072</a>%<a class="el" href="config__big__384__56_8h.html#a17291ec476cbf2794ab8552edb4e7cd1">BASEBITS_384_56</a>)</td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>TODO </p> |
| |
| </div> |
| </div> |
| <h2 class="groupheader">Function Documentation</h2> |
| <a id="ad76acb0cb07c1278b342b99d4e46ed9a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ad76acb0cb07c1278b342b99d4e46ed9a">◆ </a></span>FF_3072_add()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_add </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>z</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = y+z </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance </td></tr> |
| <tr><td class="paramname">z</td><td>FF instance </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="af9ca6a2a8e19d16a0e3e5d7ff4161788"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af9ca6a2a8e19d16a0e3e5d7ff4161788">◆ </a></span>FF_3072_cfactor()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FF_3072_cfactor </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> </td> |
| <td class="paramname"><em>s</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be tested </td></tr> |
| <tr><td class="paramname">s</td><td>the supplied integer </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if gcd(x,s)!=1, else return 0 </dd></dl> |
| |
| </div> |
| </div> |
| <a id="aeb6d92db5f6702a1661f91c64589a00c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aeb6d92db5f6702a1661f91c64589a00c">◆ </a></span>FF_3072_comp()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FF_3072_comp </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>first FF number to be compared </td></tr> |
| <tr><td class="paramname">y</td><td>second FF number to be compared </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>-1 is x<y, 0 if x=y, 1 if x>y </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a5710e195634f96bda5ae8a3b49d107b1"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a5710e195634f96bda5ae8a3b49d107b1">◆ </a></span>FF_3072_copy()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_copy </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be copied to, on exit = y </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance to be copied from </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a76ff21e47b57cfc4f5e33f7acbab95ea"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a76ff21e47b57cfc4f5e33f7acbab95ea">◆ </a></span>FF_3072_crt()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_crt </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>rp</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>rq</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>q</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit the solution of the system </td></tr> |
| <tr><td class="paramname">rp</td><td>FF instance, solution modulo p </td></tr> |
| <tr><td class="paramname">rq</td><td>FF instance, solution modulo q </td></tr> |
| <tr><td class="paramname">p</td><td>FF instance, MUST be coprime with q </td></tr> |
| <tr><td class="paramname">q</td><td>FF instance, MUST be coprime with p </td></tr> |
| <tr><td class="paramname">n</td><td>size of p and q in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a0b01ae2dd1452ad556d0fc7852e48bab"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a0b01ae2dd1452ad556d0fc7852e48bab">◆ </a></span>FF_3072_dec()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_dec </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>m</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = x-m </td></tr> |
| <tr><td class="paramname">m</td><td>an integer to be subtracted from x </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a7cc5b1e476a2ec468fe2534cf64b3b70"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a7cc5b1e476a2ec468fe2534cf64b3b70">◆ </a></span>FF_3072_dmod()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_dmod </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>z</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>This is slow </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = y mod z </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance, of double length 2*n </td></tr> |
| <tr><td class="paramname">z</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a99e5ad673622637c7cabdf014b9eb23d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a99e5ad673622637c7cabdf014b9eb23d">◆ </a></span>FF_3072_fromOctet()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_fromOctet </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structoctet.html">octet</a> * </td> |
| <td class="paramname"><em>S</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Creates FF from big-endian base 256 form. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be created from an octet string </td></tr> |
| <tr><td class="paramname">S</td><td>input octet string </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a6dc03139ccfabea9f051a2dffb2b23ec"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a6dc03139ccfabea9f051a2dffb2b23ec">◆ </a></span>FF_3072_inc()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_inc </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>m</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = x+m </td></tr> |
| <tr><td class="paramname">m</td><td>an integer to be added to x </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ab1e8b486337df148dc80bd1d965fbd88"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab1e8b486337df148dc80bd1d965fbd88">◆ </a></span>FF_3072_init()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_init </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="arch_8h.html#af31fcb3b74c4bcf6507f62d801277492">sign32</a> </td> |
| <td class="paramname"><em>m</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be copied to, on exit = m </td></tr> |
| <tr><td class="paramname">m</td><td>integer </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a5afa3e952ac34ca7e73311135ed9fd4a"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a5afa3e952ac34ca7e73311135ed9fd4a">◆ </a></span>FF_3072_invmod2m()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_invmod2m </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> </td> |
| <td class="paramname"><em>U</em>[], </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> </td> |
| <td class="paramname"><em>a</em>[], </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">U</td><td>FF instance, on exit 1/a mod 2^(n*BIGBITS) </td></tr> |
| <tr><td class="paramname">a</td><td>FF instance </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aae7ce5e4cea593280c782a135cef009d"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aae7ce5e4cea593280c782a135cef009d">◆ </a></span>FF_3072_invmodp()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_invmodp </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>z</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = 1/y mod z </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance </td></tr> |
| <tr><td class="paramname">z</td><td>FF prime modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a23ea956e002fe10e959129bbff836a88"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a23ea956e002fe10e959129bbff836a88">◆ </a></span>FF_3072_iszilch()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FF_3072_iszilch </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF number to be tested </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if zero, else returns 0 </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a231037055f11264bf1f18f878dd6f7d5"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a231037055f11264bf1f18f878dd6f7d5">◆ </a></span>FF_3072_lastbits()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FF_3072_lastbits </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>m</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF number </td></tr> |
| <tr><td class="paramname">m</td><td>number of bits to return. Assumed to be less than BASEBITS. </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>least significant n bits as an integer </dd></dl> |
| |
| </div> |
| </div> |
| <a id="ab93c9e12ca505de7ec1b76987d922852"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ab93c9e12ca505de7ec1b76987d922852">◆ </a></span>FF_3072_mod()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_mod </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>This is slow </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be reduced mod p - on exit = x mod p </td></tr> |
| <tr><td class="paramname">p</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aa15d79eee17b711e569fb6817963c170"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa15d79eee17b711e569fb6817963c170">◆ </a></span>FF_3072_mul()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_mul </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>z</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Uses Karatsuba method internally </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = y*z </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance </td></tr> |
| <tr><td class="paramname">z</td><td>FF instance </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="adbfb492cd0974a31a764877f4e29e902"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#adbfb492cd0974a31a764877f4e29e902">◆ </a></span>FF_3072_norm()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_norm </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be normalised </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aeab149437c42eba4a31601170db373e4"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aeab149437c42eba4a31601170db373e4">◆ </a></span>FF_3072_one()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_one </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be set to unity </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="af20dedd4fc082097038482e3dfda6c32"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#af20dedd4fc082097038482e3dfda6c32">◆ </a></span>FF_3072_output()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_output </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be printed </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a134652d691699256b947e50877b61cf9"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a134652d691699256b947e50877b61cf9">◆ </a></span>FF_3072_parity()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FF_3072_parity </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em></td><td>)</td> |
| <td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF number </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>0 or 1 </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a49e545443d4744967972aa4a3b49013b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a49e545443d4744967972aa4a3b49013b">◆ </a></span>FF_3072_pow()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_pow </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>e</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance </td></tr> |
| <tr><td class="paramname">e</td><td>FF exponent </td></tr> |
| <tr><td class="paramname">p</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aeb905b3272822708c9886676f3a3befd"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aeb905b3272822708c9886676f3a3befd">◆ </a></span>FF_3072_pow2()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_pow2 </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> </td> |
| <td class="paramname"><em>e</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> </td> |
| <td class="paramname"><em>f</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>m</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit = x^e.y^f mod p </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance </td></tr> |
| <tr><td class="paramname">e</td><td>BIG exponent </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance </td></tr> |
| <tr><td class="paramname">f</td><td>BIG exponent </td></tr> |
| <tr><td class="paramname">m</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a730ad50f9459f3b9ad1c5b51a36fdb91"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a730ad50f9459f3b9ad1c5b51a36fdb91">◆ </a></span>FF_3072_power()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_power </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>e</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>For very short integer exponent </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance </td></tr> |
| <tr><td class="paramname">e</td><td>integer exponent </td></tr> |
| <tr><td class="paramname">p</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="abe0d54929a593c54b7bc4c76509f2dfb"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#abe0d54929a593c54b7bc4c76509f2dfb">◆ </a></span>FF_3072_prime()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">int FF_3072_prime </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> * </td> |
| <td class="paramname"><em>R</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Uses Miller-Rabin Method </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be tested </td></tr> |
| <tr><td class="paramname">R</td><td>an instance of a Cryptographically Secure Random Number Generator </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| <dl class="section return"><dt>Returns</dt><dd>1 if x is (almost certainly) prime, else return 0 </dd></dl> |
| |
| </div> |
| </div> |
| <a id="a3279d3d0fe944c9e1d22ab30e23cb4a7"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a3279d3d0fe944c9e1d22ab30e23cb4a7">◆ </a></span>FF_3072_random()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_random </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> * </td> |
| <td class="paramname"><em>R</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit x is a random number of length n BIGs with most significant bit a 1 </td></tr> |
| <tr><td class="paramname">R</td><td>an instance of a Cryptographically Secure Random Number Generator </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="ac9d98be58c136ad84be65ccc1d537c5f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#ac9d98be58c136ad84be65ccc1d537c5f">◆ </a></span>FF_3072_randomnum()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_randomnum </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="structcsprng.html">csprng</a> * </td> |
| <td class="paramname"><em>R</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit x is a random number < y </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance, the modulus </td></tr> |
| <tr><td class="paramname">R</td><td>an instance of a Cryptographically Secure Random Number Generator </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a59b49a04db64211550a0cd8b81b1a286"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a59b49a04db64211550a0cd8b81b1a286">◆ </a></span>FF_3072_rawoutput()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_rawoutput </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be printed </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a0f260e780e072e4a9a04b711890ffc97"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a0f260e780e072e4a9a04b711890ffc97">◆ </a></span>FF_3072_shl()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_shl </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be shifted left </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="aa1b20ede5ea8085fc5b09400d4f77a0b"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#aa1b20ede5ea8085fc5b09400d4f77a0b">◆ </a></span>FF_3072_shr()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_shr </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be shifted right </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a7de5ac4b05d29331ecdfca051de289aa"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a7de5ac4b05d29331ecdfca051de289aa">◆ </a></span>FF_3072_skpow()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_skpow </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>e</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>en</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance </td></tr> |
| <tr><td class="paramname">e</td><td>FF exponent </td></tr> |
| <tr><td class="paramname">p</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a08f6181906f7778cf2241152c4504abe"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a08f6181906f7778cf2241152c4504abe">◆ </a></span>FF_3072_skpow2()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_skpow2 </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>e</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>f</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>en</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit = x^e.y^f mod p </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance </td></tr> |
| <tr><td class="paramname">e</td><td>FF exponent </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance </td></tr> |
| <tr><td class="paramname">f</td><td>FF exponent </td></tr> |
| <tr><td class="paramname">p</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| <tr><td class="paramname">en</td><td>size of the exponent in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a46d7f64a49cca34285e1c3f88c13472c"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a46d7f64a49cca34285e1c3f88c13472c">◆ </a></span>FF_3072_skspow()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_skspow </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>r</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> </td> |
| <td class="paramname"><em>e</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>p</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>For short BIG exponent </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">r</td><td>FF instance, on exit = x^e mod p </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance </td></tr> |
| <tr><td class="paramname">e</td><td>BIG exponent </td></tr> |
| <tr><td class="paramname">p</td><td>FF modulus </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a9e50c11b86dcc4089140221500e2ca30"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a9e50c11b86dcc4089140221500e2ca30">◆ </a></span>FF_3072_sqr()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_sqr </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Uses Karatsuba method internally </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = y^2 </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance to be squared </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a90a27832117acd51620f205cd0a7fd66"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a90a27832117acd51620f205cd0a7fd66">◆ </a></span>FF_3072_sub()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_sub </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>y</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>z</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance, on exit = y-z </td></tr> |
| <tr><td class="paramname">y</td><td>FF instance </td></tr> |
| <tr><td class="paramname">z</td><td>FF instance </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a072ac1dfb719d6cb4ade9bb45e7da60f"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a072ac1dfb719d6cb4ade9bb45e7da60f">◆ </a></span>FF_3072_toOctet()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_toOctet </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="structoctet.html">octet</a> * </td> |
| <td class="paramname"><em>S</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <p>Converts an FF to big-endian base 256 form. </p><dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">S</td><td>output octet string </td></tr> |
| <tr><td class="paramname">x</td><td>FF instance to be converted to an octet string </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| <a id="a381f4e545dc7f1a358c4937ec8db4cd2"></a> |
| <h2 class="memtitle"><span class="permalink"><a href="#a381f4e545dc7f1a358c4937ec8db4cd2">◆ </a></span>FF_3072_zero()</h2> |
| |
| <div class="memitem"> |
| <div class="memproto"> |
| <table class="memname"> |
| <tr> |
| <td class="memname">void FF_3072_zero </td> |
| <td>(</td> |
| <td class="paramtype"><a class="el" href="big__384__56_8h.html#a84b175c07377e6d2a06d66603d2e719c">BIG_384_56</a> * </td> |
| <td class="paramname"><em>x</em>, </td> |
| </tr> |
| <tr> |
| <td class="paramkey"></td> |
| <td></td> |
| <td class="paramtype">int </td> |
| <td class="paramname"><em>n</em> </td> |
| </tr> |
| <tr> |
| <td></td> |
| <td>)</td> |
| <td></td><td></td> |
| </tr> |
| </table> |
| </div><div class="memdoc"> |
| <dl class="params"><dt>Parameters</dt><dd> |
| <table class="params"> |
| <tr><td class="paramname">x</td><td>FF instance to be set to zero </td></tr> |
| <tr><td class="paramname">n</td><td>size of FF in BIGs </td></tr> |
| </table> |
| </dd> |
| </dl> |
| |
| </div> |
| </div> |
| </div><!-- contents --> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated by  <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/> |
| </a> 1.8.13 |
| </small></address> |
| </body> |
| </html> |