blob: be215cf0a7ecf3d8c0e5aa670408a563776478a7 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: ecp_SECP256K1.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>
<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.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">ecp_SECP256K1.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>ECP Header File.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="fp__SECP256K1_8h_source.html">fp_SECP256K1.h</a>&quot;</code><br />
<code>#include &quot;config_curve_SECP256K1.h&quot;</code><br />
</div>
<p><a href="ecp__SECP256K1_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="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECP structure - Elliptic Curve Point over base field. <a href="structECP__SECP256K1.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a74cda6a195a780318fbdce897ae925b5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a74cda6a195a780318fbdce897ae925b5">ECP_SECP256K1_isinf</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:a74cda6a195a780318fbdce897ae925b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for ECP point equal to infinity. <a href="#a74cda6a195a780318fbdce897ae925b5">More...</a><br /></td></tr>
<tr class="separator:a74cda6a195a780318fbdce897ae925b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87ee0523180309932d83474da3dea9db"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a87ee0523180309932d83474da3dea9db">ECP_SECP256K1_equals</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q)</td></tr>
<tr class="memdesc:a87ee0523180309932d83474da3dea9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for equality of two ECPs. <a href="#a87ee0523180309932d83474da3dea9db">More...</a><br /></td></tr>
<tr class="separator:a87ee0523180309932d83474da3dea9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2537d023327fe09090ec9de706bc03d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ad2537d023327fe09090ec9de706bc03d">ECP_SECP256K1_copy</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q)</td></tr>
<tr class="memdesc:ad2537d023327fe09090ec9de706bc03d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ECP point to another ECP point. <a href="#ad2537d023327fe09090ec9de706bc03d">More...</a><br /></td></tr>
<tr class="separator:ad2537d023327fe09090ec9de706bc03d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a309406de1fa4570ad1e0a845abec9985"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a309406de1fa4570ad1e0a845abec9985">ECP_SECP256K1_neg</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:a309406de1fa4570ad1e0a845abec9985"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negation of an ECP point. <a href="#a309406de1fa4570ad1e0a845abec9985">More...</a><br /></td></tr>
<tr class="separator:a309406de1fa4570ad1e0a845abec9985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61cf52995d181f61fe87b2ade97091c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a61cf52995d181f61fe87b2ade97091c9">ECP_SECP256K1_inf</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:a61cf52995d181f61fe87b2ade97091c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ECP to point-at-infinity. <a href="#a61cf52995d181f61fe87b2ade97091c9">More...</a><br /></td></tr>
<tr class="separator:a61cf52995d181f61fe87b2ade97091c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0fb55d14430fbb5eba4ed928e3dab38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ab0fb55d14430fbb5eba4ed928e3dab38">ECP_SECP256K1_rhs</a> (<a class="el" href="structFP__SECP256K1.html">FP_SECP256K1</a> *r, <a class="el" href="structFP__SECP256K1.html">FP_SECP256K1</a> *x)</td></tr>
<tr class="memdesc:ab0fb55d14430fbb5eba4ed928e3dab38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Right Hand Side of curve equation y^2=f(x) <a href="#ab0fb55d14430fbb5eba4ed928e3dab38">More...</a><br /></td></tr>
<tr class="separator:ab0fb55d14430fbb5eba4ed928e3dab38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53ae88d365a96bf6a9d65a20d77669e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a53ae88d365a96bf6a9d65a20d77669e6">ECP_SECP256K1_set</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y)</td></tr>
<tr class="memdesc:a53ae88d365a96bf6a9d65a20d77669e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ECP to point(x,y) given x and y. <a href="#a53ae88d365a96bf6a9d65a20d77669e6">More...</a><br /></td></tr>
<tr class="separator:a53ae88d365a96bf6a9d65a20d77669e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a143de5e98cab7723be637c2f91b32fe9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a143de5e98cab7723be637c2f91b32fe9">ECP_SECP256K1_get</a> (<a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> y, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:a143de5e98cab7723be637c2f91b32fe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract x and y coordinates of an ECP point P. <a href="#a143de5e98cab7723be637c2f91b32fe9">More...</a><br /></td></tr>
<tr class="separator:a143de5e98cab7723be637c2f91b32fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44eff8938d65d22c1bd44d5cd0785098"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a44eff8938d65d22c1bd44d5cd0785098">ECP_SECP256K1_add</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q)</td></tr>
<tr class="memdesc:a44eff8938d65d22c1bd44d5cd0785098"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds ECP instance Q to ECP instance P. <a href="#a44eff8938d65d22c1bd44d5cd0785098">More...</a><br /></td></tr>
<tr class="separator:a44eff8938d65d22c1bd44d5cd0785098"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cc5f99354f1c37622881afa7bbfe0f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a3cc5f99354f1c37622881afa7bbfe0f5">ECP_SECP256K1_sub</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q)</td></tr>
<tr class="memdesc:a3cc5f99354f1c37622881afa7bbfe0f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtracts ECP instance Q from ECP instance P. <a href="#a3cc5f99354f1c37622881afa7bbfe0f5">More...</a><br /></td></tr>
<tr class="separator:a3cc5f99354f1c37622881afa7bbfe0f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eaf4ed09f642f39a4812ea93b2c06c9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a6eaf4ed09f642f39a4812ea93b2c06c9">ECP_SECP256K1_setx</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> x, int s)</td></tr>
<tr class="memdesc:a6eaf4ed09f642f39a4812ea93b2c06c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ECP to point(x,y) given just x and sign of y. <a href="#a6eaf4ed09f642f39a4812ea93b2c06c9">More...</a><br /></td></tr>
<tr class="separator:a6eaf4ed09f642f39a4812ea93b2c06c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada26842f767c6aee079ea741b8dcddbc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ada26842f767c6aee079ea741b8dcddbc">ECP_SECP256K1_cfp</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q)</td></tr>
<tr class="memdesc:ada26842f767c6aee079ea741b8dcddbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies Point by curve co-factor. <a href="#ada26842f767c6aee079ea741b8dcddbc">More...</a><br /></td></tr>
<tr class="separator:ada26842f767c6aee079ea741b8dcddbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dd53c6bae3e6be4db71adcc304c9b16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a7dd53c6bae3e6be4db71adcc304c9b16">ECP_SECP256K1_mapit</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q, <a class="el" href="structoctet.html">octet</a> *w)</td></tr>
<tr class="memdesc:a7dd53c6bae3e6be4db71adcc304c9b16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps random BIG to curve point of correct order. <a href="#a7dd53c6bae3e6be4db71adcc304c9b16">More...</a><br /></td></tr>
<tr class="separator:a7dd53c6bae3e6be4db71adcc304c9b16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb1fa46f970ba94ca199d832d3ddffe6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#abb1fa46f970ba94ca199d832d3ddffe6">ECP_SECP256K1_affine</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:abb1fa46f970ba94ca199d832d3ddffe6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an ECP point from Projective (x,y,z) coordinates to affine (x,y) coordinates. <a href="#abb1fa46f970ba94ca199d832d3ddffe6">More...</a><br /></td></tr>
<tr class="separator:abb1fa46f970ba94ca199d832d3ddffe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ba7c812d8c960d81daa8af6c24b1246"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a8ba7c812d8c960d81daa8af6c24b1246">ECP_SECP256K1_outputxyz</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:a8ba7c812d8c960d81daa8af6c24b1246"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to the console, in projective coordinates. <a href="#a8ba7c812d8c960d81daa8af6c24b1246">More...</a><br /></td></tr>
<tr class="separator:a8ba7c812d8c960d81daa8af6c24b1246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeee0aace37f4d795c124504daf7f0e00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#aeee0aace37f4d795c124504daf7f0e00">ECP_SECP256K1_output</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:aeee0aace37f4d795c124504daf7f0e00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to the console, converted to affine coordinates. <a href="#aeee0aace37f4d795c124504daf7f0e00">More...</a><br /></td></tr>
<tr class="separator:aeee0aace37f4d795c124504daf7f0e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736ddce43a8f24304c749110e57cc919"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a736ddce43a8f24304c749110e57cc919">ECP_SECP256K1_rawoutput</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:a736ddce43a8f24304c749110e57cc919"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to the console. <a href="#a736ddce43a8f24304c749110e57cc919">More...</a><br /></td></tr>
<tr class="separator:a736ddce43a8f24304c749110e57cc919"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558a6531c4a237a45f62c423e8b506db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a558a6531c4a237a45f62c423e8b506db">ECP_SECP256K1_toOctet</a> (<a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, bool c)</td></tr>
<tr class="memdesc:a558a6531c4a237a45f62c423e8b506db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to an octet string The octet string is normally in the standard form 0x04|x|y Here x (and y) are the x and y coordinates in left justified big-endian base 256 form. For Montgomery curve it is 0x06|x If c is true, only the x coordinate is provided as in 0x2|x if y is even, or 0x3|x if y is odd. <a href="#a558a6531c4a237a45f62c423e8b506db">More...</a><br /></td></tr>
<tr class="separator:a558a6531c4a237a45f62c423e8b506db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30eda45ddfb3d84627dfbd5a48613ffd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a30eda45ddfb3d84627dfbd5a48613ffd">ECP_SECP256K1_fromOctet</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
<tr class="memdesc:a30eda45ddfb3d84627dfbd5a48613ffd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an ECP point from an octet string. <a href="#a30eda45ddfb3d84627dfbd5a48613ffd">More...</a><br /></td></tr>
<tr class="separator:a30eda45ddfb3d84627dfbd5a48613ffd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad45350a508c2345ba4ffa5359cb2a3fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ad45350a508c2345ba4ffa5359cb2a3fb">ECP_SECP256K1_dbl</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P)</td></tr>
<tr class="memdesc:ad45350a508c2345ba4ffa5359cb2a3fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Doubles an ECP instance P. <a href="#ad45350a508c2345ba4ffa5359cb2a3fb">More...</a><br /></td></tr>
<tr class="separator:ad45350a508c2345ba4ffa5359cb2a3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80a6b129a68a48c4b166224f4cb00515"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a80a6b129a68a48c4b166224f4cb00515">ECP_SECP256K1_pinmul</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, int i, int b)</td></tr>
<tr class="memdesc:a80a6b129a68a48c4b166224f4cb00515"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies an ECP instance P by a small integer, side-channel resistant. <a href="#a80a6b129a68a48c4b166224f4cb00515">More...</a><br /></td></tr>
<tr class="separator:a80a6b129a68a48c4b166224f4cb00515"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fa99eaa143e208a0d0092eb8fcf0f1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a4fa99eaa143e208a0d0092eb8fcf0f1a">ECP_SECP256K1_mul</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> b)</td></tr>
<tr class="memdesc:a4fa99eaa143e208a0d0092eb8fcf0f1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies an ECP instance P by a BIG, side-channel resistant. <a href="#a4fa99eaa143e208a0d0092eb8fcf0f1a">More...</a><br /></td></tr>
<tr class="separator:a4fa99eaa143e208a0d0092eb8fcf0f1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b35390f9290cee5ee5acaa269509e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a95b35390f9290cee5ee5acaa269509e9">ECP_SECP256K1_mul2</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *P, <a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *Q, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> e, <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> f)</td></tr>
<tr class="memdesc:a95b35390f9290cee5ee5acaa269509e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates double multiplication P=e*P+f*Q, side-channel resistant. <a href="#a95b35390f9290cee5ee5acaa269509e9">More...</a><br /></td></tr>
<tr class="separator:a95b35390f9290cee5ee5acaa269509e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a284f7d4b3a23b0996d6f8149c588914e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a284f7d4b3a23b0996d6f8149c588914e">ECP_SECP256K1_generator</a> (<a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *G)</td></tr>
<tr class="memdesc:a284f7d4b3a23b0996d6f8149c588914e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Group Generator from ROM. <a href="#a284f7d4b3a23b0996d6f8149c588914e">More...</a><br /></td></tr>
<tr class="separator:a284f7d4b3a23b0996d6f8149c588914e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a8a42e043e1f8ec3e5f9874f90a75d407"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a8a42e043e1f8ec3e5f9874f90a75d407">CURVE_A_SECP256K1</a></td></tr>
<tr class="separator:a8a42e043e1f8ec3e5f9874f90a75d407"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a103584c937913637b3f98f55f2d5eda6"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a103584c937913637b3f98f55f2d5eda6">CURVE_Cof_I_SECP256K1</a></td></tr>
<tr class="separator:a103584c937913637b3f98f55f2d5eda6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27cf4f883d8a1a3cd65a2586f27199ad"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a27cf4f883d8a1a3cd65a2586f27199ad">CURVE_B_I_SECP256K1</a></td></tr>
<tr class="separator:a27cf4f883d8a1a3cd65a2586f27199ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425f3d991a20b7e0eb2c81c3b3c275ce"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a425f3d991a20b7e0eb2c81c3b3c275ce">CURVE_B_SECP256K1</a></td></tr>
<tr class="separator:a425f3d991a20b7e0eb2c81c3b3c275ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4833f81f1e821e931e74061ddb25b66c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a4833f81f1e821e931e74061ddb25b66c">CURVE_Order_SECP256K1</a></td></tr>
<tr class="separator:a4833f81f1e821e931e74061ddb25b66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f715f19b3befe5141ecb6d9142999d6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a6f715f19b3befe5141ecb6d9142999d6">CURVE_Cof_SECP256K1</a></td></tr>
<tr class="separator:a6f715f19b3befe5141ecb6d9142999d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1e81bb98483ec6adb9958e01c7ab7f8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#aa1e81bb98483ec6adb9958e01c7ab7f8">CURVE_Gx_SECP256K1</a></td></tr>
<tr class="separator:aa1e81bb98483ec6adb9958e01c7ab7f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f92bce72197462525dbabf1a19cfcd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ac1f92bce72197462525dbabf1a19cfcd">CURVE_Gy_SECP256K1</a></td></tr>
<tr class="separator:ac1f92bce72197462525dbabf1a19cfcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ef6e7f98dabfbaa6979368ad500fef0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a5ef6e7f98dabfbaa6979368ad500fef0">CURVE_Pxa_SECP256K1</a></td></tr>
<tr class="separator:a5ef6e7f98dabfbaa6979368ad500fef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a184ee312f7aa1bbb0bb23687cdd5e3d7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a184ee312f7aa1bbb0bb23687cdd5e3d7">CURVE_Pxb_SECP256K1</a></td></tr>
<tr class="separator:a184ee312f7aa1bbb0bb23687cdd5e3d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadc620a542b7f5846fb5ccd63cfc0d9c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#aadc620a542b7f5846fb5ccd63cfc0d9c">CURVE_Pya_SECP256K1</a></td></tr>
<tr class="separator:aadc620a542b7f5846fb5ccd63cfc0d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51e7ea949ba6f53144dd374e14ed7941"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a51e7ea949ba6f53144dd374e14ed7941">CURVE_Pyb_SECP256K1</a></td></tr>
<tr class="separator:a51e7ea949ba6f53144dd374e14ed7941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa13fc063a7b578ba191f0966757b5ce0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#aa13fc063a7b578ba191f0966757b5ce0">CURVE_Pxaa_SECP256K1</a></td></tr>
<tr class="separator:aa13fc063a7b578ba191f0966757b5ce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5933fbd495772220019d9a39ecddae7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ae5933fbd495772220019d9a39ecddae7">CURVE_Pxab_SECP256K1</a></td></tr>
<tr class="separator:ae5933fbd495772220019d9a39ecddae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85b531353906542af8f6ea29411772ea"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a85b531353906542af8f6ea29411772ea">CURVE_Pxba_SECP256K1</a></td></tr>
<tr class="separator:a85b531353906542af8f6ea29411772ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37789a418709f3407533b7bbb41fd798"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a37789a418709f3407533b7bbb41fd798">CURVE_Pxbb_SECP256K1</a></td></tr>
<tr class="separator:a37789a418709f3407533b7bbb41fd798"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d48c707a66c93246fed55e4aadb26a3"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a9d48c707a66c93246fed55e4aadb26a3">CURVE_Pyaa_SECP256K1</a></td></tr>
<tr class="separator:a9d48c707a66c93246fed55e4aadb26a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08bf180014b106623d69a9f770fa01e1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a08bf180014b106623d69a9f770fa01e1">CURVE_Pyab_SECP256K1</a></td></tr>
<tr class="separator:a08bf180014b106623d69a9f770fa01e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82c5bbe003278005caae6a6f7d78dddf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a82c5bbe003278005caae6a6f7d78dddf">CURVE_Pyba_SECP256K1</a></td></tr>
<tr class="separator:a82c5bbe003278005caae6a6f7d78dddf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7907c1ce6567f7739ef4ae547abb9c64"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a7907c1ce6567f7739ef4ae547abb9c64">CURVE_Pybb_SECP256K1</a></td></tr>
<tr class="separator:a7907c1ce6567f7739ef4ae547abb9c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76a72d70443b748625d4b6de60f9d4cf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a76a72d70443b748625d4b6de60f9d4cf">CURVE_Pxaaa_SECP256K1</a></td></tr>
<tr class="separator:a76a72d70443b748625d4b6de60f9d4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a818572c24cc21df56a6b10f32c519416"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a818572c24cc21df56a6b10f32c519416">CURVE_Pxaab_SECP256K1</a></td></tr>
<tr class="separator:a818572c24cc21df56a6b10f32c519416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa7b0ca0385ddc8b357423009be4390"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a0fa7b0ca0385ddc8b357423009be4390">CURVE_Pxaba_SECP256K1</a></td></tr>
<tr class="separator:a0fa7b0ca0385ddc8b357423009be4390"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a6b6a14e120a84d28ed01090f87884e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a2a6b6a14e120a84d28ed01090f87884e">CURVE_Pxabb_SECP256K1</a></td></tr>
<tr class="separator:a2a6b6a14e120a84d28ed01090f87884e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85718a3e4510b4077bb916b29eab28e4"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a85718a3e4510b4077bb916b29eab28e4">CURVE_Pxbaa_SECP256K1</a></td></tr>
<tr class="separator:a85718a3e4510b4077bb916b29eab28e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d6ac87eacc22b681b3351a10c28bda"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a15d6ac87eacc22b681b3351a10c28bda">CURVE_Pxbab_SECP256K1</a></td></tr>
<tr class="separator:a15d6ac87eacc22b681b3351a10c28bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93b2a075bf27269b2acfca733169dd9e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a93b2a075bf27269b2acfca733169dd9e">CURVE_Pxbba_SECP256K1</a></td></tr>
<tr class="separator:a93b2a075bf27269b2acfca733169dd9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab21f461b75e759ecadc567a44b060061"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ab21f461b75e759ecadc567a44b060061">CURVE_Pxbbb_SECP256K1</a></td></tr>
<tr class="separator:ab21f461b75e759ecadc567a44b060061"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac70f752fc65b5ec6aefc035b90242d1e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ac70f752fc65b5ec6aefc035b90242d1e">CURVE_Pyaaa_SECP256K1</a></td></tr>
<tr class="separator:ac70f752fc65b5ec6aefc035b90242d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43c03ddf92b13d82a50685c67f97b2a7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a43c03ddf92b13d82a50685c67f97b2a7">CURVE_Pyaab_SECP256K1</a></td></tr>
<tr class="separator:a43c03ddf92b13d82a50685c67f97b2a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ac6cc1c9ceba3aa268b9e7a778d1a87"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a5ac6cc1c9ceba3aa268b9e7a778d1a87">CURVE_Pyaba_SECP256K1</a></td></tr>
<tr class="separator:a5ac6cc1c9ceba3aa268b9e7a778d1a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6988875c61fdf27fe02719922715e957"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a6988875c61fdf27fe02719922715e957">CURVE_Pyabb_SECP256K1</a></td></tr>
<tr class="separator:a6988875c61fdf27fe02719922715e957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51b597c41173d8c776a28201267db1f9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a51b597c41173d8c776a28201267db1f9">CURVE_Pybaa_SECP256K1</a></td></tr>
<tr class="separator:a51b597c41173d8c776a28201267db1f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4578115f40746a29117fd32f2d190ba"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#af4578115f40746a29117fd32f2d190ba">CURVE_Pybab_SECP256K1</a></td></tr>
<tr class="separator:af4578115f40746a29117fd32f2d190ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a980c737d2253a408cd82c1d949286aa9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a980c737d2253a408cd82c1d949286aa9">CURVE_Pybba_SECP256K1</a></td></tr>
<tr class="separator:a980c737d2253a408cd82c1d949286aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b00554ad0578a70d02a842ed6b1905"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ad7b00554ad0578a70d02a842ed6b1905">CURVE_Pybbb_SECP256K1</a></td></tr>
<tr class="separator:ad7b00554ad0578a70d02a842ed6b1905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f88ce636f14732e7c9006eb5a348b5"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a83f88ce636f14732e7c9006eb5a348b5">CURVE_Bnx_SECP256K1</a></td></tr>
<tr class="separator:a83f88ce636f14732e7c9006eb5a348b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab24ab2a26bd9c7a833eecbc490057eb9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ab24ab2a26bd9c7a833eecbc490057eb9">CURVE_Cru_SECP256K1</a></td></tr>
<tr class="separator:ab24ab2a26bd9c7a833eecbc490057eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaef81d007fe9f3fd6f59aee7a8c3ed2"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#adaef81d007fe9f3fd6f59aee7a8c3ed2">Fra_SECP256K1</a></td></tr>
<tr class="separator:adaef81d007fe9f3fd6f59aee7a8c3ed2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0584eac12160515fb95ea79f9b5c22d8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#a0584eac12160515fb95ea79f9b5c22d8">Frb_SECP256K1</a></td></tr>
<tr class="separator:a0584eac12160515fb95ea79f9b5c22d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad11fc19ec1b9aefdffd715d4332270fc"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#ad11fc19ec1b9aefdffd715d4332270fc">CURVE_W_SECP256K1</a> [2]</td></tr>
<tr class="separator:ad11fc19ec1b9aefdffd715d4332270fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebf3591182e23e8ed366dd7c0a211f5b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#aebf3591182e23e8ed366dd7c0a211f5b">CURVE_SB_SECP256K1</a> [2][2]</td></tr>
<tr class="separator:aebf3591182e23e8ed366dd7c0a211f5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa92df5468f79951e6821c89c4be1f6d8"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#aa92df5468f79951e6821c89c4be1f6d8">CURVE_WB_SECP256K1</a> [4]</td></tr>
<tr class="separator:aa92df5468f79951e6821c89c4be1f6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acadce0780dc792902f8c12341895a64a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__SECP256K1_8h.html#acadce0780dc792902f8c12341895a64a">CURVE_BB_SECP256K1</a> [4][4]</td></tr>
<tr class="separator:acadce0780dc792902f8c12341895a64a"><td class="memSeparator" colspan="2">&#160;</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">Function Documentation</h2>
<a id="a44eff8938d65d22c1bd44d5cd0785098"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44eff8938d65d22c1bd44d5cd0785098">&#9670;&nbsp;</a></span>ECP_SECP256K1_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</em>&#160;</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">P</td><td>ECP instance, on exit =P+Q </td></tr>
<tr><td class="paramname">Q</td><td>ECP instance to be added to P </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="abb1fa46f970ba94ca199d832d3ddffe6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb1fa46f970ba94ca199d832d3ddffe6">&#9670;&nbsp;</a></span>ECP_SECP256K1_affine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_affine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance to be converted to affine form </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ada26842f767c6aee079ea741b8dcddbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada26842f767c6aee079ea741b8dcddbc">&#9670;&nbsp;</a></span>ECP_SECP256K1_cfp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_cfp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</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">Q</td><td>ECP instance </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad2537d023327fe09090ec9de706bc03d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2537d023327fe09090ec9de706bc03d">&#9670;&nbsp;</a></span>ECP_SECP256K1_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</em>&#160;</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">P</td><td>ECP instance, on exit = Q </td></tr>
<tr><td class="paramname">Q</td><td>ECP instance to be copied </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ad45350a508c2345ba4ffa5359cb2a3fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad45350a508c2345ba4ffa5359cb2a3fb">&#9670;&nbsp;</a></span>ECP_SECP256K1_dbl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_dbl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance, on exit =2*P </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a87ee0523180309932d83474da3dea9db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87ee0523180309932d83474da3dea9db">&#9670;&nbsp;</a></span>ECP_SECP256K1_equals()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_SECP256K1_equals </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</em>&#160;</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">P</td><td>ECP instance to be compared </td></tr>
<tr><td class="paramname">Q</td><td>ECP instance to be compared </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if P=Q, else returns 0 </dd></dl>
</div>
</div>
<a id="a30eda45ddfb3d84627dfbd5a48613ffd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30eda45ddfb3d84627dfbd5a48613ffd">&#9670;&nbsp;</a></span>ECP_SECP256K1_fromOctet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_SECP256K1_fromOctet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
<td class="paramname"><em>S</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The octet string is normally in the standard form 0x04|x|y Here x (and y) are the x and y coordinates in left justified big-endian base 256 form. For Montgomery curve it is 0x06|x If in compressed form only the x coordinate is provided as in 0x2|x if y is even, or 0x3|x if y is odd </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">P</td><td>ECP instance to be created from the octet string </td></tr>
<tr><td class="paramname">S</td><td>input octet string return 1 if octet string corresponds to a point on the curve, else 0 </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a284f7d4b3a23b0996d6f8149c588914e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a284f7d4b3a23b0996d6f8149c588914e">&#9670;&nbsp;</a></span>ECP_SECP256K1_generator()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_generator </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>G</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">G</td><td>ECP instance </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a143de5e98cab7723be637c2f91b32fe9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a143de5e98cab7723be637c2f91b32fe9">&#9670;&nbsp;</a></span>ECP_SECP256K1_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_SECP256K1_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>If x=y, returns only x </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>BIG on exit = x coordinate of point </td></tr>
<tr><td class="paramname">y</td><td>BIG on exit = y coordinate of point (unless x=y) </td></tr>
<tr><td class="paramname">P</td><td>ECP instance (x,y) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sign of y, or -1 if P is point-at-infinity </dd></dl>
</div>
</div>
<a id="a61cf52995d181f61fe87b2ade97091c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61cf52995d181f61fe87b2ade97091c9">&#9670;&nbsp;</a></span>ECP_SECP256K1_inf()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_inf </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance to be set to infinity </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a74cda6a195a780318fbdce897ae925b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74cda6a195a780318fbdce897ae925b5">&#9670;&nbsp;</a></span>ECP_SECP256K1_isinf()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_SECP256K1_isinf </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP point to be tested </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if infinity, else returns 0 </dd></dl>
</div>
</div>
<a id="a7dd53c6bae3e6be4db71adcc304c9b16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dd53c6bae3e6be4db71adcc304c9b16">&#9670;&nbsp;</a></span>ECP_SECP256K1_mapit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_mapit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
<td class="paramname"><em>w</em>&#160;</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">Q</td><td>ECP instance of correct order </td></tr>
<tr><td class="paramname">w</td><td>OCTET byte array to be mapped </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a4fa99eaa143e208a0d0092eb8fcf0f1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fa99eaa143e208a0d0092eb8fcf0f1a">&#9670;&nbsp;</a></span>ECP_SECP256K1_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Uses Montgomery ladder for Montgomery curves, otherwise fixed sized windows. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">P</td><td>ECP instance, on exit =b*P </td></tr>
<tr><td class="paramname">b</td><td>BIG number multiplier </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a95b35390f9290cee5ee5acaa269509e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95b35390f9290cee5ee5acaa269509e9">&#9670;&nbsp;</a></span>ECP_SECP256K1_mul2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_mul2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>f</em>&#160;</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">P</td><td>ECP instance, on exit =e*P+f*Q </td></tr>
<tr><td class="paramname">Q</td><td>ECP instance </td></tr>
<tr><td class="paramname">e</td><td>BIG number multiplier </td></tr>
<tr><td class="paramname">f</td><td>BIG number multiplier </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a309406de1fa4570ad1e0a845abec9985"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a309406de1fa4570ad1e0a845abec9985">&#9670;&nbsp;</a></span>ECP_SECP256K1_neg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_neg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance, on exit = -P </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aeee0aace37f4d795c124504daf7f0e00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeee0aace37f4d795c124504daf7f0e00">&#9670;&nbsp;</a></span>ECP_SECP256K1_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance to be printed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8ba7c812d8c960d81daa8af6c24b1246"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ba7c812d8c960d81daa8af6c24b1246">&#9670;&nbsp;</a></span>ECP_SECP256K1_outputxyz()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_outputxyz </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance to be printed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a80a6b129a68a48c4b166224f4cb00515"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80a6b129a68a48c4b166224f4cb00515">&#9670;&nbsp;</a></span>ECP_SECP256K1_pinmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_pinmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>b</em>&#160;</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">P</td><td>ECP instance, on exit =i*P </td></tr>
<tr><td class="paramname">i</td><td>small integer multiplier </td></tr>
<tr><td class="paramname">b</td><td>maximum number of bits in multiplier </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a736ddce43a8f24304c749110e57cc919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a736ddce43a8f24304c749110e57cc919">&#9670;&nbsp;</a></span>ECP_SECP256K1_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</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">P</td><td>ECP instance to be printed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab0fb55d14430fbb5eba4ed928e3dab38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0fb55d14430fbb5eba4ed928e3dab38">&#9670;&nbsp;</a></span>ECP_SECP256K1_rhs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_rhs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structFP__SECP256K1.html">FP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structFP__SECP256K1.html">FP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>x</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Function f(x) depends on form of elliptic curve, Weierstrass, Edwards or Montgomery. Used internally. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">r</td><td>BIG n-residue value of f(x) </td></tr>
<tr><td class="paramname">x</td><td>BIG n-residue x </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a53ae88d365a96bf6a9d65a20d77669e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53ae88d365a96bf6a9d65a20d77669e6">&#9670;&nbsp;</a></span>ECP_SECP256K1_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_SECP256K1_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Point P set to infinity if no such point on the curve. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">P</td><td>ECP instance to be set (x,y) </td></tr>
<tr><td class="paramname">x</td><td>BIG x coordinate of point </td></tr>
<tr><td class="paramname">y</td><td>BIG y coordinate of point </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if point exists, else 0 </dd></dl>
</div>
</div>
<a id="a6eaf4ed09f642f39a4812ea93b2c06c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6eaf4ed09f642f39a4812ea93b2c06c9">&#9670;&nbsp;</a></span>ECP_SECP256K1_setx()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_SECP256K1_setx </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a>&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>s</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Point P set to infinity if no such point on the curve. If x is on the curve then y is calculated from the curve equation. The correct y value (plus or minus) is selected given its sign s. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">P</td><td>ECP instance to be set (x,[y]) </td></tr>
<tr><td class="paramname">x</td><td>BIG x coordinate of point </td></tr>
<tr><td class="paramname">s</td><td>an integer representing the "sign" of y, in fact its least significant bit. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3cc5f99354f1c37622881afa7bbfe0f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cc5f99354f1c37622881afa7bbfe0f5">&#9670;&nbsp;</a></span>ECP_SECP256K1_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>Q</em>&#160;</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">P</td><td>ECP instance, on exit =P-Q </td></tr>
<tr><td class="paramname">Q</td><td>ECP instance to be subtracted from P </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a558a6531c4a237a45f62c423e8b506db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a558a6531c4a237a45f62c423e8b506db">&#9670;&nbsp;</a></span>ECP_SECP256K1_toOctet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_SECP256K1_toOctet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structoctet.html">octet</a> *&#160;</td>
<td class="paramname"><em>S</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structECP__SECP256K1.html">ECP_SECP256K1</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>c</em>&#160;</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">c</td><td>compression required, true or false </td></tr>
<tr><td class="paramname">S</td><td>output octet string </td></tr>
<tr><td class="paramname">P</td><td>ECP instance to be converted to an octet string </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a8a42e043e1f8ec3e5f9874f90a75d407"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a42e043e1f8ec3e5f9874f90a75d407">&#9670;&nbsp;</a></span>CURVE_A_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int CURVE_A_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve A parameter </p>
</div>
</div>
<a id="a27cf4f883d8a1a3cd65a2586f27199ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27cf4f883d8a1a3cd65a2586f27199ad">&#9670;&nbsp;</a></span>CURVE_B_I_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int CURVE_B_I_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve B_i parameter </p>
</div>
</div>
<a id="a425f3d991a20b7e0eb2c81c3b3c275ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a425f3d991a20b7e0eb2c81c3b3c275ce">&#9670;&nbsp;</a></span>CURVE_B_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_B_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve B parameter </p>
</div>
</div>
<a id="acadce0780dc792902f8c12341895a64a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acadce0780dc792902f8c12341895a64a">&#9670;&nbsp;</a></span>CURVE_BB_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_BB_SECP256K1[4][4]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GS decomposition </p>
</div>
</div>
<a id="a83f88ce636f14732e7c9006eb5a348b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83f88ce636f14732e7c9006eb5a348b5">&#9670;&nbsp;</a></span>CURVE_Bnx_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Bnx_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve x parameter </p>
</div>
</div>
<a id="a103584c937913637b3f98f55f2d5eda6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a103584c937913637b3f98f55f2d5eda6">&#9670;&nbsp;</a></span>CURVE_Cof_I_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int CURVE_Cof_I_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve cofactor </p>
</div>
</div>
<a id="a6f715f19b3befe5141ecb6d9142999d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f715f19b3befe5141ecb6d9142999d6">&#9670;&nbsp;</a></span>CURVE_Cof_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Cof_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve cofactor </p>
</div>
</div>
<a id="ab24ab2a26bd9c7a833eecbc490057eb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab24ab2a26bd9c7a833eecbc490057eb9">&#9670;&nbsp;</a></span>CURVE_Cru_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Cru_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve Cube Root of Unity </p>
</div>
</div>
<a id="aa1e81bb98483ec6adb9958e01c7ab7f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1e81bb98483ec6adb9958e01c7ab7f8">&#9670;&nbsp;</a></span>CURVE_Gx_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Gx_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>x-coordinate of generator point in group G1 </p>
</div>
</div>
<a id="ac1f92bce72197462525dbabf1a19cfcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1f92bce72197462525dbabf1a19cfcd">&#9670;&nbsp;</a></span>CURVE_Gy_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Gy_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>y-coordinate of generator point in group G1 </p>
</div>
</div>
<a id="a4833f81f1e821e931e74061ddb25b66c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4833f81f1e821e931e74061ddb25b66c">&#9670;&nbsp;</a></span>CURVE_Order_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Order_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve group order </p>
</div>
</div>
<a id="a5ef6e7f98dabfbaa6979368ad500fef0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ef6e7f98dabfbaa6979368ad500fef0">&#9670;&nbsp;</a></span>CURVE_Pxa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aa13fc063a7b578ba191f0966757b5ce0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa13fc063a7b578ba191f0966757b5ce0">&#9670;&nbsp;</a></span>CURVE_Pxaa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxaa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a76a72d70443b748625d4b6de60f9d4cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76a72d70443b748625d4b6de60f9d4cf">&#9670;&nbsp;</a></span>CURVE_Pxaaa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxaaa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a818572c24cc21df56a6b10f32c519416"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a818572c24cc21df56a6b10f32c519416">&#9670;&nbsp;</a></span>CURVE_Pxaab_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxaab_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ae5933fbd495772220019d9a39ecddae7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5933fbd495772220019d9a39ecddae7">&#9670;&nbsp;</a></span>CURVE_Pxab_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxab_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a0fa7b0ca0385ddc8b357423009be4390"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fa7b0ca0385ddc8b357423009be4390">&#9670;&nbsp;</a></span>CURVE_Pxaba_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxaba_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a2a6b6a14e120a84d28ed01090f87884e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a6b6a14e120a84d28ed01090f87884e">&#9670;&nbsp;</a></span>CURVE_Pxabb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxabb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a184ee312f7aa1bbb0bb23687cdd5e3d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a184ee312f7aa1bbb0bb23687cdd5e3d7">&#9670;&nbsp;</a></span>CURVE_Pxb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a85b531353906542af8f6ea29411772ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85b531353906542af8f6ea29411772ea">&#9670;&nbsp;</a></span>CURVE_Pxba_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxba_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a85718a3e4510b4077bb916b29eab28e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85718a3e4510b4077bb916b29eab28e4">&#9670;&nbsp;</a></span>CURVE_Pxbaa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxbaa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a15d6ac87eacc22b681b3351a10c28bda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15d6ac87eacc22b681b3351a10c28bda">&#9670;&nbsp;</a></span>CURVE_Pxbab_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxbab_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a37789a418709f3407533b7bbb41fd798"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37789a418709f3407533b7bbb41fd798">&#9670;&nbsp;</a></span>CURVE_Pxbb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxbb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a93b2a075bf27269b2acfca733169dd9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93b2a075bf27269b2acfca733169dd9e">&#9670;&nbsp;</a></span>CURVE_Pxbba_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxbba_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ab21f461b75e759ecadc567a44b060061"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab21f461b75e759ecadc567a44b060061">&#9670;&nbsp;</a></span>CURVE_Pxbbb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pxbbb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aadc620a542b7f5846fb5ccd63cfc0d9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadc620a542b7f5846fb5ccd63cfc0d9c">&#9670;&nbsp;</a></span>CURVE_Pya_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pya_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a9d48c707a66c93246fed55e4aadb26a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d48c707a66c93246fed55e4aadb26a3">&#9670;&nbsp;</a></span>CURVE_Pyaa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyaa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ac70f752fc65b5ec6aefc035b90242d1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac70f752fc65b5ec6aefc035b90242d1e">&#9670;&nbsp;</a></span>CURVE_Pyaaa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyaaa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a43c03ddf92b13d82a50685c67f97b2a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43c03ddf92b13d82a50685c67f97b2a7">&#9670;&nbsp;</a></span>CURVE_Pyaab_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyaab_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a08bf180014b106623d69a9f770fa01e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08bf180014b106623d69a9f770fa01e1">&#9670;&nbsp;</a></span>CURVE_Pyab_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyab_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a5ac6cc1c9ceba3aa268b9e7a778d1a87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ac6cc1c9ceba3aa268b9e7a778d1a87">&#9670;&nbsp;</a></span>CURVE_Pyaba_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyaba_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a6988875c61fdf27fe02719922715e957"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6988875c61fdf27fe02719922715e957">&#9670;&nbsp;</a></span>CURVE_Pyabb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyabb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a51e7ea949ba6f53144dd374e14ed7941"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51e7ea949ba6f53144dd374e14ed7941">&#9670;&nbsp;</a></span>CURVE_Pyb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a82c5bbe003278005caae6a6f7d78dddf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82c5bbe003278005caae6a6f7d78dddf">&#9670;&nbsp;</a></span>CURVE_Pyba_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pyba_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a51b597c41173d8c776a28201267db1f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51b597c41173d8c776a28201267db1f9">&#9670;&nbsp;</a></span>CURVE_Pybaa_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pybaa_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="af4578115f40746a29117fd32f2d190ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4578115f40746a29117fd32f2d190ba">&#9670;&nbsp;</a></span>CURVE_Pybab_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pybab_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a7907c1ce6567f7739ef4ae547abb9c64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7907c1ce6567f7739ef4ae547abb9c64">&#9670;&nbsp;</a></span>CURVE_Pybb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pybb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a980c737d2253a408cd82c1d949286aa9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a980c737d2253a408cd82c1d949286aa9">&#9670;&nbsp;</a></span>CURVE_Pybba_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pybba_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ad7b00554ad0578a70d02a842ed6b1905"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b00554ad0578a70d02a842ed6b1905">&#9670;&nbsp;</a></span>CURVE_Pybbb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_Pybbb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aebf3591182e23e8ed366dd7c0a211f5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebf3591182e23e8ed366dd7c0a211f5b">&#9670;&nbsp;</a></span>CURVE_SB_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_SB_SECP256K1[2][2]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GLV decomposition </p>
</div>
</div>
<a id="ad11fc19ec1b9aefdffd715d4332270fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad11fc19ec1b9aefdffd715d4332270fc">&#9670;&nbsp;</a></span>CURVE_W_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_W_SECP256K1[2]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GLV decomposition </p>
</div>
</div>
<a id="aa92df5468f79951e6821c89c4be1f6d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa92df5468f79951e6821c89c4be1f6d8">&#9670;&nbsp;</a></span>CURVE_WB_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> CURVE_WB_SECP256K1[4]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GS decomposition </p>
</div>
</div>
<a id="adaef81d007fe9f3fd6f59aee7a8c3ed2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adaef81d007fe9f3fd6f59aee7a8c3ed2">&#9670;&nbsp;</a></span>Fra_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> Fra_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of BN curve Frobenius Constant </p>
</div>
</div>
<a id="a0584eac12160515fb95ea79f9b5c22d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0584eac12160515fb95ea79f9b5c22d8">&#9670;&nbsp;</a></span>Frb_SECP256K1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__256__56_8h.html#abea3e70a8a87f28329ed8e48af7bb244">BIG_256_56</a> Frb_SECP256K1</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of BN curve Frobenius Constant </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>