blob: 93fb93096906857a96874e0d3c4e10fd84d78b1a [file] [log] [blame]
<!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: ecp_BLS381.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="#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_BLS381.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__BLS381_8h_source.html">fp_BLS381.h</a>&quot;</code><br />
<code>#include &quot;config_curve_BLS381.h&quot;</code><br />
</div>
<p><a href="ecp__BLS381_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__BLS381.html">ECP_BLS381</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__BLS381.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:aaf36eaea1befcf44311e018d31375d1e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aaf36eaea1befcf44311e018d31375d1e">ECP_BLS381_isinf</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:aaf36eaea1befcf44311e018d31375d1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for ECP point equal to infinity. <a href="#aaf36eaea1befcf44311e018d31375d1e">More...</a><br /></td></tr>
<tr class="separator:aaf36eaea1befcf44311e018d31375d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a468446e88d537c5efc79ad0b3337ee35"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a468446e88d537c5efc79ad0b3337ee35">ECP_BLS381_equals</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q)</td></tr>
<tr class="memdesc:a468446e88d537c5efc79ad0b3337ee35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for equality of two ECPs. <a href="#a468446e88d537c5efc79ad0b3337ee35">More...</a><br /></td></tr>
<tr class="separator:a468446e88d537c5efc79ad0b3337ee35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf4f9d149de9737906f913a20f5c8832"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aaf4f9d149de9737906f913a20f5c8832">ECP_BLS381_copy</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q)</td></tr>
<tr class="memdesc:aaf4f9d149de9737906f913a20f5c8832"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy ECP point to another ECP point. <a href="#aaf4f9d149de9737906f913a20f5c8832">More...</a><br /></td></tr>
<tr class="separator:aaf4f9d149de9737906f913a20f5c8832"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5437939b996b9828f92f9d831f6cfc9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ab5437939b996b9828f92f9d831f6cfc9">ECP_BLS381_neg</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:ab5437939b996b9828f92f9d831f6cfc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negation of an ECP point. <a href="#ab5437939b996b9828f92f9d831f6cfc9">More...</a><br /></td></tr>
<tr class="separator:ab5437939b996b9828f92f9d831f6cfc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad035a67b2727b173450313b837e879a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ad035a67b2727b173450313b837e879a4">ECP_BLS381_inf</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:ad035a67b2727b173450313b837e879a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ECP to point-at-infinity. <a href="#ad035a67b2727b173450313b837e879a4">More...</a><br /></td></tr>
<tr class="separator:ad035a67b2727b173450313b837e879a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88dd64181c90c4fa7aa55eb11dbe3bac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a88dd64181c90c4fa7aa55eb11dbe3bac">ECP_BLS381_rhs</a> (<a class="el" href="structFP__BLS381.html">FP_BLS381</a> *r, <a class="el" href="structFP__BLS381.html">FP_BLS381</a> *x)</td></tr>
<tr class="memdesc:a88dd64181c90c4fa7aa55eb11dbe3bac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate Right Hand Side of curve equation y^2=f(x) <a href="#a88dd64181c90c4fa7aa55eb11dbe3bac">More...</a><br /></td></tr>
<tr class="separator:a88dd64181c90c4fa7aa55eb11dbe3bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad306e1fcaca483834e9e06c40e28c9e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ad306e1fcaca483834e9e06c40e28c9e4">ECP_BLS381_set</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y)</td></tr>
<tr class="memdesc:ad306e1fcaca483834e9e06c40e28c9e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ECP to point(x,y) given x and y. <a href="#ad306e1fcaca483834e9e06c40e28c9e4">More...</a><br /></td></tr>
<tr class="separator:ad306e1fcaca483834e9e06c40e28c9e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8056ede10051db0494e859008a0f2810"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a8056ede10051db0494e859008a0f2810">ECP_BLS381_get</a> (<a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> y, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:a8056ede10051db0494e859008a0f2810"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract x and y coordinates of an ECP point P. <a href="#a8056ede10051db0494e859008a0f2810">More...</a><br /></td></tr>
<tr class="separator:a8056ede10051db0494e859008a0f2810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d06f4314e80a87bb3a1def74f7f7b93"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a8d06f4314e80a87bb3a1def74f7f7b93">ECP_BLS381_add</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q)</td></tr>
<tr class="memdesc:a8d06f4314e80a87bb3a1def74f7f7b93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds ECP instance Q to ECP instance P. <a href="#a8d06f4314e80a87bb3a1def74f7f7b93">More...</a><br /></td></tr>
<tr class="separator:a8d06f4314e80a87bb3a1def74f7f7b93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad99673e99815a5c60de2240f892eefe0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ad99673e99815a5c60de2240f892eefe0">ECP_BLS381_sub</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q)</td></tr>
<tr class="memdesc:ad99673e99815a5c60de2240f892eefe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtracts ECP instance Q from ECP instance P. <a href="#ad99673e99815a5c60de2240f892eefe0">More...</a><br /></td></tr>
<tr class="separator:ad99673e99815a5c60de2240f892eefe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3918a62c465c91a927108c220fc03f59"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a3918a62c465c91a927108c220fc03f59">ECP_BLS381_setx</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> x, int s)</td></tr>
<tr class="memdesc:a3918a62c465c91a927108c220fc03f59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ECP to point(x,y) given just x and sign of y. <a href="#a3918a62c465c91a927108c220fc03f59">More...</a><br /></td></tr>
<tr class="separator:a3918a62c465c91a927108c220fc03f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a280bd3a995318946be2fe9b9a0152217"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a280bd3a995318946be2fe9b9a0152217">ECP_BLS381_cfp</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q)</td></tr>
<tr class="memdesc:a280bd3a995318946be2fe9b9a0152217"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies Point by curve co-factor. <a href="#a280bd3a995318946be2fe9b9a0152217">More...</a><br /></td></tr>
<tr class="separator:a280bd3a995318946be2fe9b9a0152217"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae19e9ef2004c3a75a6b2a6e5deddf360"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ae19e9ef2004c3a75a6b2a6e5deddf360">ECP_BLS381_mapit</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q, <a class="el" href="structoctet.html">octet</a> *w)</td></tr>
<tr class="memdesc:ae19e9ef2004c3a75a6b2a6e5deddf360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maps random BIG to curve point of correct order. <a href="#ae19e9ef2004c3a75a6b2a6e5deddf360">More...</a><br /></td></tr>
<tr class="separator:ae19e9ef2004c3a75a6b2a6e5deddf360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01cc629659b81c889c83620da8c4abbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a01cc629659b81c889c83620da8c4abbe">ECP_BLS381_affine</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:a01cc629659b81c889c83620da8c4abbe"><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="#a01cc629659b81c889c83620da8c4abbe">More...</a><br /></td></tr>
<tr class="separator:a01cc629659b81c889c83620da8c4abbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e634bab9a03b7f89a5498317f50db7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a5e634bab9a03b7f89a5498317f50db7f">ECP_BLS381_outputxyz</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:a5e634bab9a03b7f89a5498317f50db7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to the console, in projective coordinates. <a href="#a5e634bab9a03b7f89a5498317f50db7f">More...</a><br /></td></tr>
<tr class="separator:a5e634bab9a03b7f89a5498317f50db7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03236cefc8c164e7efd70ded51ba4f51"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a03236cefc8c164e7efd70ded51ba4f51">ECP_BLS381_output</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:a03236cefc8c164e7efd70ded51ba4f51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to the console, converted to affine coordinates. <a href="#a03236cefc8c164e7efd70ded51ba4f51">More...</a><br /></td></tr>
<tr class="separator:a03236cefc8c164e7efd70ded51ba4f51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a739ff123dab8663d953c2101466bfde6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a739ff123dab8663d953c2101466bfde6">ECP_BLS381_rawoutput</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:a739ff123dab8663d953c2101466bfde6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats and outputs an ECP point to the console. <a href="#a739ff123dab8663d953c2101466bfde6">More...</a><br /></td></tr>
<tr class="separator:a739ff123dab8663d953c2101466bfde6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66b9e93766679b8a61e6c26eb2235db1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a66b9e93766679b8a61e6c26eb2235db1">ECP_BLS381_toOctet</a> (<a class="el" href="structoctet.html">octet</a> *S, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, bool c)</td></tr>
<tr class="memdesc:a66b9e93766679b8a61e6c26eb2235db1"><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="#a66b9e93766679b8a61e6c26eb2235db1">More...</a><br /></td></tr>
<tr class="separator:a66b9e93766679b8a61e6c26eb2235db1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12479ee8cdf2c3db7189fd1edff318c0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a12479ee8cdf2c3db7189fd1edff318c0">ECP_BLS381_fromOctet</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="structoctet.html">octet</a> *S)</td></tr>
<tr class="memdesc:a12479ee8cdf2c3db7189fd1edff318c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an ECP point from an octet string. <a href="#a12479ee8cdf2c3db7189fd1edff318c0">More...</a><br /></td></tr>
<tr class="separator:a12479ee8cdf2c3db7189fd1edff318c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a1ef57b20b6d09ea101d40f616ba2d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a7a1ef57b20b6d09ea101d40f616ba2d1">ECP_BLS381_dbl</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P)</td></tr>
<tr class="memdesc:a7a1ef57b20b6d09ea101d40f616ba2d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Doubles an ECP instance P. <a href="#a7a1ef57b20b6d09ea101d40f616ba2d1">More...</a><br /></td></tr>
<tr class="separator:a7a1ef57b20b6d09ea101d40f616ba2d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f6d7ae63f2426338e405d52286324c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a7f6d7ae63f2426338e405d52286324c5">ECP_BLS381_pinmul</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, int i, int b)</td></tr>
<tr class="memdesc:a7f6d7ae63f2426338e405d52286324c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies an ECP instance P by a small integer, side-channel resistant. <a href="#a7f6d7ae63f2426338e405d52286324c5">More...</a><br /></td></tr>
<tr class="separator:a7f6d7ae63f2426338e405d52286324c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9976b984b96bc41f51e69d1e3d41ec0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ae9976b984b96bc41f51e69d1e3d41ec0">ECP_BLS381_mul</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> b)</td></tr>
<tr class="memdesc:ae9976b984b96bc41f51e69d1e3d41ec0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies an ECP instance P by a BIG, side-channel resistant. <a href="#ae9976b984b96bc41f51e69d1e3d41ec0">More...</a><br /></td></tr>
<tr class="separator:ae9976b984b96bc41f51e69d1e3d41ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a228d0166312d91bf7aee25b69bf7ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a1a228d0166312d91bf7aee25b69bf7ac">ECP_BLS381_mul2</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *P, <a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *Q, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> e, <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> f)</td></tr>
<tr class="memdesc:a1a228d0166312d91bf7aee25b69bf7ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates double multiplication P=e*P+f*Q, side-channel resistant. <a href="#a1a228d0166312d91bf7aee25b69bf7ac">More...</a><br /></td></tr>
<tr class="separator:a1a228d0166312d91bf7aee25b69bf7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf128e73a9d48ace5ff849e30897e279"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#acf128e73a9d48ace5ff849e30897e279">ECP_BLS381_generator</a> (<a class="el" href="structECP__BLS381.html">ECP_BLS381</a> *G)</td></tr>
<tr class="memdesc:acf128e73a9d48ace5ff849e30897e279"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Group Generator from ROM. <a href="#acf128e73a9d48ace5ff849e30897e279">More...</a><br /></td></tr>
<tr class="separator:acf128e73a9d48ace5ff849e30897e279"><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:a8e691e13173dea68aa5c3f550e0fb130"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a8e691e13173dea68aa5c3f550e0fb130">CURVE_A_BLS381</a></td></tr>
<tr class="separator:a8e691e13173dea68aa5c3f550e0fb130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec67a25369f28381cbc2a42ea414173"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a6ec67a25369f28381cbc2a42ea414173">CURVE_Cof_I_BLS381</a></td></tr>
<tr class="separator:a6ec67a25369f28381cbc2a42ea414173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef116dd1c5955c3e86fd9b22c39e3841"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aef116dd1c5955c3e86fd9b22c39e3841">CURVE_B_I_BLS381</a></td></tr>
<tr class="separator:aef116dd1c5955c3e86fd9b22c39e3841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd99de9ded2845d418ca1c79fb95417"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a6cd99de9ded2845d418ca1c79fb95417">CURVE_B_BLS381</a></td></tr>
<tr class="separator:a6cd99de9ded2845d418ca1c79fb95417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0db0beafd90432eb12fb013f5466d68"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ab0db0beafd90432eb12fb013f5466d68">CURVE_Order_BLS381</a></td></tr>
<tr class="separator:ab0db0beafd90432eb12fb013f5466d68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97ea26d6174e376a165ff28ea07cc2e6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a97ea26d6174e376a165ff28ea07cc2e6">CURVE_Cof_BLS381</a></td></tr>
<tr class="separator:a97ea26d6174e376a165ff28ea07cc2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7bbe17c22d85afe7ec7fe1a08aab4d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a4a7bbe17c22d85afe7ec7fe1a08aab4d">CURVE_Gx_BLS381</a></td></tr>
<tr class="separator:a4a7bbe17c22d85afe7ec7fe1a08aab4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff01e0d2b4a0f06e9a8ac6c8346687c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a0ff01e0d2b4a0f06e9a8ac6c8346687c">CURVE_Gy_BLS381</a></td></tr>
<tr class="separator:a0ff01e0d2b4a0f06e9a8ac6c8346687c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d14c89595a7ed214cd12c0148688d2c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a6d14c89595a7ed214cd12c0148688d2c">CURVE_Pxa_BLS381</a></td></tr>
<tr class="separator:a6d14c89595a7ed214cd12c0148688d2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3b577d06eb5c4ac47dea6f19de11e1f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aa3b577d06eb5c4ac47dea6f19de11e1f">CURVE_Pxb_BLS381</a></td></tr>
<tr class="separator:aa3b577d06eb5c4ac47dea6f19de11e1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a958833196ced4525eef425ae31c17931"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a958833196ced4525eef425ae31c17931">CURVE_Pya_BLS381</a></td></tr>
<tr class="separator:a958833196ced4525eef425ae31c17931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a035ac94764dc5dd600c2d57e599456d0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a035ac94764dc5dd600c2d57e599456d0">CURVE_Pyb_BLS381</a></td></tr>
<tr class="separator:a035ac94764dc5dd600c2d57e599456d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9e4131a341e0601812b206cfc4dc914"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ab9e4131a341e0601812b206cfc4dc914">CURVE_Pxaa_BLS381</a></td></tr>
<tr class="separator:ab9e4131a341e0601812b206cfc4dc914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdeaaea31113450030bbfe30f6b3bc0a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#afdeaaea31113450030bbfe30f6b3bc0a">CURVE_Pxab_BLS381</a></td></tr>
<tr class="separator:afdeaaea31113450030bbfe30f6b3bc0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb3e1ca92ef4860087eca2e68b4027db"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#adb3e1ca92ef4860087eca2e68b4027db">CURVE_Pxba_BLS381</a></td></tr>
<tr class="separator:adb3e1ca92ef4860087eca2e68b4027db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45063e42095cb1dd55b88362c1053dd1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a45063e42095cb1dd55b88362c1053dd1">CURVE_Pxbb_BLS381</a></td></tr>
<tr class="separator:a45063e42095cb1dd55b88362c1053dd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa2d6e7474cd022229ed82a5c7bb9483"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aaa2d6e7474cd022229ed82a5c7bb9483">CURVE_Pyaa_BLS381</a></td></tr>
<tr class="separator:aaa2d6e7474cd022229ed82a5c7bb9483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d61b940d5950b70046339b9b9cc8e36"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a0d61b940d5950b70046339b9b9cc8e36">CURVE_Pyab_BLS381</a></td></tr>
<tr class="separator:a0d61b940d5950b70046339b9b9cc8e36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1800feb74ef0e77fc892c065e0edb9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a6b1800feb74ef0e77fc892c065e0edb9">CURVE_Pyba_BLS381</a></td></tr>
<tr class="separator:a6b1800feb74ef0e77fc892c065e0edb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b9371252fa99ce263d3b2c5b16bddd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ab1b9371252fa99ce263d3b2c5b16bddd">CURVE_Pybb_BLS381</a></td></tr>
<tr class="separator:ab1b9371252fa99ce263d3b2c5b16bddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23b64da013ee1aeb28cfdef0936f6b67"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a23b64da013ee1aeb28cfdef0936f6b67">CURVE_Pxaaa_BLS381</a></td></tr>
<tr class="separator:a23b64da013ee1aeb28cfdef0936f6b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e9ca0de5282aadac4fac393c4f22554"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a3e9ca0de5282aadac4fac393c4f22554">CURVE_Pxaab_BLS381</a></td></tr>
<tr class="separator:a3e9ca0de5282aadac4fac393c4f22554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affaf4011df1673d6c83cc5b0aa1fb4e0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#affaf4011df1673d6c83cc5b0aa1fb4e0">CURVE_Pxaba_BLS381</a></td></tr>
<tr class="separator:affaf4011df1673d6c83cc5b0aa1fb4e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba9e14b5a09f337861b528978af5f2fa"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aba9e14b5a09f337861b528978af5f2fa">CURVE_Pxabb_BLS381</a></td></tr>
<tr class="separator:aba9e14b5a09f337861b528978af5f2fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89e11d97606793f91657261dc1446382"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a89e11d97606793f91657261dc1446382">CURVE_Pxbaa_BLS381</a></td></tr>
<tr class="separator:a89e11d97606793f91657261dc1446382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa782d55127b67ef5dd6e3761d72e8e6f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aa782d55127b67ef5dd6e3761d72e8e6f">CURVE_Pxbab_BLS381</a></td></tr>
<tr class="separator:aa782d55127b67ef5dd6e3761d72e8e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c60bf8db0f292ea5e106771a466b83c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a4c60bf8db0f292ea5e106771a466b83c">CURVE_Pxbba_BLS381</a></td></tr>
<tr class="separator:a4c60bf8db0f292ea5e106771a466b83c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f36429b91793759cc7ebfb4a46c9ab"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a81f36429b91793759cc7ebfb4a46c9ab">CURVE_Pxbbb_BLS381</a></td></tr>
<tr class="separator:a81f36429b91793759cc7ebfb4a46c9ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7295db6eca49f752a33d588008184d25"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a7295db6eca49f752a33d588008184d25">CURVE_Pyaaa_BLS381</a></td></tr>
<tr class="separator:a7295db6eca49f752a33d588008184d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b71020b71da602ab86522ee83146211"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a5b71020b71da602ab86522ee83146211">CURVE_Pyaab_BLS381</a></td></tr>
<tr class="separator:a5b71020b71da602ab86522ee83146211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5511a6dd2e1acf46d281d6450d87bcfd"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a5511a6dd2e1acf46d281d6450d87bcfd">CURVE_Pyaba_BLS381</a></td></tr>
<tr class="separator:a5511a6dd2e1acf46d281d6450d87bcfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cd65613276591694f26c34c72e87254"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a2cd65613276591694f26c34c72e87254">CURVE_Pyabb_BLS381</a></td></tr>
<tr class="separator:a2cd65613276591694f26c34c72e87254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bbaa097c2232cdb2fe21005fb906758"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a4bbaa097c2232cdb2fe21005fb906758">CURVE_Pybaa_BLS381</a></td></tr>
<tr class="separator:a4bbaa097c2232cdb2fe21005fb906758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac36825e225df17be7b2528788f2cce91"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ac36825e225df17be7b2528788f2cce91">CURVE_Pybab_BLS381</a></td></tr>
<tr class="separator:ac36825e225df17be7b2528788f2cce91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a473bcea3069311c100511bb916058166"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a473bcea3069311c100511bb916058166">CURVE_Pybba_BLS381</a></td></tr>
<tr class="separator:a473bcea3069311c100511bb916058166"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad0431cca542da88db46273ddeefdd4d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#aad0431cca542da88db46273ddeefdd4d">CURVE_Pybbb_BLS381</a></td></tr>
<tr class="separator:aad0431cca542da88db46273ddeefdd4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6e182a64e658ae2f24b4ce059dc1a7c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ae6e182a64e658ae2f24b4ce059dc1a7c">CURVE_Bnx_BLS381</a></td></tr>
<tr class="separator:ae6e182a64e658ae2f24b4ce059dc1a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633370fe9d1b0f30c7877879f7371908"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a633370fe9d1b0f30c7877879f7371908">CURVE_Cru_BLS381</a></td></tr>
<tr class="separator:a633370fe9d1b0f30c7877879f7371908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1214b4014ddfebcc990efe1f496d0698"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a1214b4014ddfebcc990efe1f496d0698">Fra_BLS381</a></td></tr>
<tr class="separator:a1214b4014ddfebcc990efe1f496d0698"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80db75c3cbe43f3353897b39d21e4f34"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a80db75c3cbe43f3353897b39d21e4f34">Frb_BLS381</a></td></tr>
<tr class="separator:a80db75c3cbe43f3353897b39d21e4f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64af80fccbee15e68a18615680ebff58"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a64af80fccbee15e68a18615680ebff58">CURVE_W_BLS381</a> [2]</td></tr>
<tr class="separator:a64af80fccbee15e68a18615680ebff58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc31f7aafa529744e1417b7ad6c8dada"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#adc31f7aafa529744e1417b7ad6c8dada">CURVE_SB_BLS381</a> [2][2]</td></tr>
<tr class="separator:adc31f7aafa529744e1417b7ad6c8dada"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a569727714eda3247c43e488b37fbd272"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#a569727714eda3247c43e488b37fbd272">CURVE_WB_BLS381</a> [4]</td></tr>
<tr class="separator:a569727714eda3247c43e488b37fbd272"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6a6e6a7e0cdd1fc2dc14b38da49893a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ecp__BLS381_8h.html#ae6a6e6a7e0cdd1fc2dc14b38da49893a">CURVE_BB_BLS381</a> [4][4]</td></tr>
<tr class="separator:ae6a6e6a7e0cdd1fc2dc14b38da49893a"><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="a8d06f4314e80a87bb3a1def74f7f7b93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d06f4314e80a87bb3a1def74f7f7b93">&#9670;&nbsp;</a></span>ECP_BLS381_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__BLS381.html">ECP_BLS381</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="a01cc629659b81c889c83620da8c4abbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01cc629659b81c889c83620da8c4abbe">&#9670;&nbsp;</a></span>ECP_BLS381_affine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_affine </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a280bd3a995318946be2fe9b9a0152217"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a280bd3a995318946be2fe9b9a0152217">&#9670;&nbsp;</a></span>ECP_BLS381_cfp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_cfp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="aaf4f9d149de9737906f913a20f5c8832"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf4f9d149de9737906f913a20f5c8832">&#9670;&nbsp;</a></span>ECP_BLS381_copy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__BLS381.html">ECP_BLS381</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="a7a1ef57b20b6d09ea101d40f616ba2d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a1ef57b20b6d09ea101d40f616ba2d1">&#9670;&nbsp;</a></span>ECP_BLS381_dbl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_dbl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a468446e88d537c5efc79ad0b3337ee35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a468446e88d537c5efc79ad0b3337ee35">&#9670;&nbsp;</a></span>ECP_BLS381_equals()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_BLS381_equals </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__BLS381.html">ECP_BLS381</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="a12479ee8cdf2c3db7189fd1edff318c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12479ee8cdf2c3db7189fd1edff318c0">&#9670;&nbsp;</a></span>ECP_BLS381_fromOctet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_BLS381_fromOctet </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="acf128e73a9d48ace5ff849e30897e279"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf128e73a9d48ace5ff849e30897e279">&#9670;&nbsp;</a></span>ECP_BLS381_generator()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_generator </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a8056ede10051db0494e859008a0f2810"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8056ede10051db0494e859008a0f2810">&#9670;&nbsp;</a></span>ECP_BLS381_get()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_BLS381_get </td>
<td>(</td>
<td class="paramtype"><a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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__BLS381.html">ECP_BLS381</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="ad035a67b2727b173450313b837e879a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad035a67b2727b173450313b837e879a4">&#9670;&nbsp;</a></span>ECP_BLS381_inf()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_inf </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="aaf36eaea1befcf44311e018d31375d1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf36eaea1befcf44311e018d31375d1e">&#9670;&nbsp;</a></span>ECP_BLS381_isinf()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_BLS381_isinf </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="ae19e9ef2004c3a75a6b2a6e5deddf360"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae19e9ef2004c3a75a6b2a6e5deddf360">&#9670;&nbsp;</a></span>ECP_BLS381_mapit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_mapit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="ae9976b984b96bc41f51e69d1e3d41ec0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9976b984b96bc41f51e69d1e3d41ec0">&#9670;&nbsp;</a></span>ECP_BLS381_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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="a1a228d0166312d91bf7aee25b69bf7ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a228d0166312d91bf7aee25b69bf7ac">&#9670;&nbsp;</a></span>ECP_BLS381_mul2()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_mul2 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__BLS381.html">ECP_BLS381</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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="ab5437939b996b9828f92f9d831f6cfc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5437939b996b9828f92f9d831f6cfc9">&#9670;&nbsp;</a></span>ECP_BLS381_neg()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_neg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a03236cefc8c164e7efd70ded51ba4f51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03236cefc8c164e7efd70ded51ba4f51">&#9670;&nbsp;</a></span>ECP_BLS381_output()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_output </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a5e634bab9a03b7f89a5498317f50db7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e634bab9a03b7f89a5498317f50db7f">&#9670;&nbsp;</a></span>ECP_BLS381_outputxyz()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_outputxyz </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a7f6d7ae63f2426338e405d52286324c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f6d7ae63f2426338e405d52286324c5">&#9670;&nbsp;</a></span>ECP_BLS381_pinmul()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_pinmul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a739ff123dab8663d953c2101466bfde6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a739ff123dab8663d953c2101466bfde6">&#9670;&nbsp;</a></span>ECP_BLS381_rawoutput()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_rawoutput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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="a88dd64181c90c4fa7aa55eb11dbe3bac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88dd64181c90c4fa7aa55eb11dbe3bac">&#9670;&nbsp;</a></span>ECP_BLS381_rhs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_rhs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structFP__BLS381.html">FP_BLS381</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__BLS381.html">FP_BLS381</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="ad306e1fcaca483834e9e06c40e28c9e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad306e1fcaca483834e9e06c40e28c9e4">&#9670;&nbsp;</a></span>ECP_BLS381_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_BLS381_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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="a3918a62c465c91a927108c220fc03f59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3918a62c465c91a927108c220fc03f59">&#9670;&nbsp;</a></span>ECP_BLS381_setx()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ECP_BLS381_setx </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</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="ad99673e99815a5c60de2240f892eefe0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad99673e99815a5c60de2240f892eefe0">&#9670;&nbsp;</a></span>ECP_BLS381_sub()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_sub </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structECP__BLS381.html">ECP_BLS381</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__BLS381.html">ECP_BLS381</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="a66b9e93766679b8a61e6c26eb2235db1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66b9e93766679b8a61e6c26eb2235db1">&#9670;&nbsp;</a></span>ECP_BLS381_toOctet()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ECP_BLS381_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__BLS381.html">ECP_BLS381</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="a8e691e13173dea68aa5c3f550e0fb130"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e691e13173dea68aa5c3f550e0fb130">&#9670;&nbsp;</a></span>CURVE_A_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int CURVE_A_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve A parameter </p>
</div>
</div>
<a id="a6cd99de9ded2845d418ca1c79fb95417"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cd99de9ded2845d418ca1c79fb95417">&#9670;&nbsp;</a></span>CURVE_B_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_B_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve B parameter </p>
</div>
</div>
<a id="aef116dd1c5955c3e86fd9b22c39e3841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef116dd1c5955c3e86fd9b22c39e3841">&#9670;&nbsp;</a></span>CURVE_B_I_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int CURVE_B_I_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve B_i parameter </p>
</div>
</div>
<a id="ae6a6e6a7e0cdd1fc2dc14b38da49893a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6a6e6a7e0cdd1fc2dc14b38da49893a">&#9670;&nbsp;</a></span>CURVE_BB_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_BB_BLS381[4][4]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GS decomposition </p>
</div>
</div>
<a id="ae6e182a64e658ae2f24b4ce059dc1a7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6e182a64e658ae2f24b4ce059dc1a7c">&#9670;&nbsp;</a></span>CURVE_Bnx_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Bnx_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve x parameter </p>
</div>
</div>
<a id="a97ea26d6174e376a165ff28ea07cc2e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97ea26d6174e376a165ff28ea07cc2e6">&#9670;&nbsp;</a></span>CURVE_Cof_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Cof_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve cofactor </p>
</div>
</div>
<a id="a6ec67a25369f28381cbc2a42ea414173"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ec67a25369f28381cbc2a42ea414173">&#9670;&nbsp;</a></span>CURVE_Cof_I_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int CURVE_Cof_I_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve cofactor </p>
</div>
</div>
<a id="a633370fe9d1b0f30c7877879f7371908"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a633370fe9d1b0f30c7877879f7371908">&#9670;&nbsp;</a></span>CURVE_Cru_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Cru_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve Cube Root of Unity </p>
</div>
</div>
<a id="a4a7bbe17c22d85afe7ec7fe1a08aab4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a7bbe17c22d85afe7ec7fe1a08aab4d">&#9670;&nbsp;</a></span>CURVE_Gx_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Gx_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>x-coordinate of generator point in group G1 </p>
</div>
</div>
<a id="a0ff01e0d2b4a0f06e9a8ac6c8346687c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ff01e0d2b4a0f06e9a8ac6c8346687c">&#9670;&nbsp;</a></span>CURVE_Gy_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Gy_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>y-coordinate of generator point in group G1 </p>
</div>
</div>
<a id="ab0db0beafd90432eb12fb013f5466d68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0db0beafd90432eb12fb013f5466d68">&#9670;&nbsp;</a></span>CURVE_Order_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Order_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>Elliptic curve group order </p>
</div>
</div>
<a id="a6d14c89595a7ed214cd12c0148688d2c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d14c89595a7ed214cd12c0148688d2c">&#9670;&nbsp;</a></span>CURVE_Pxa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ab9e4131a341e0601812b206cfc4dc914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9e4131a341e0601812b206cfc4dc914">&#9670;&nbsp;</a></span>CURVE_Pxaa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxaa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a23b64da013ee1aeb28cfdef0936f6b67"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23b64da013ee1aeb28cfdef0936f6b67">&#9670;&nbsp;</a></span>CURVE_Pxaaa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxaaa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a3e9ca0de5282aadac4fac393c4f22554"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e9ca0de5282aadac4fac393c4f22554">&#9670;&nbsp;</a></span>CURVE_Pxaab_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxaab_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="afdeaaea31113450030bbfe30f6b3bc0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdeaaea31113450030bbfe30f6b3bc0a">&#9670;&nbsp;</a></span>CURVE_Pxab_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxab_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="affaf4011df1673d6c83cc5b0aa1fb4e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affaf4011df1673d6c83cc5b0aa1fb4e0">&#9670;&nbsp;</a></span>CURVE_Pxaba_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxaba_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aba9e14b5a09f337861b528978af5f2fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba9e14b5a09f337861b528978af5f2fa">&#9670;&nbsp;</a></span>CURVE_Pxabb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxabb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aa3b577d06eb5c4ac47dea6f19de11e1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3b577d06eb5c4ac47dea6f19de11e1f">&#9670;&nbsp;</a></span>CURVE_Pxb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="adb3e1ca92ef4860087eca2e68b4027db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb3e1ca92ef4860087eca2e68b4027db">&#9670;&nbsp;</a></span>CURVE_Pxba_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxba_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a89e11d97606793f91657261dc1446382"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89e11d97606793f91657261dc1446382">&#9670;&nbsp;</a></span>CURVE_Pxbaa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxbaa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aa782d55127b67ef5dd6e3761d72e8e6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa782d55127b67ef5dd6e3761d72e8e6f">&#9670;&nbsp;</a></span>CURVE_Pxbab_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxbab_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a45063e42095cb1dd55b88362c1053dd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45063e42095cb1dd55b88362c1053dd1">&#9670;&nbsp;</a></span>CURVE_Pxbb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxbb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a4c60bf8db0f292ea5e106771a466b83c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c60bf8db0f292ea5e106771a466b83c">&#9670;&nbsp;</a></span>CURVE_Pxbba_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxbba_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a81f36429b91793759cc7ebfb4a46c9ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81f36429b91793759cc7ebfb4a46c9ab">&#9670;&nbsp;</a></span>CURVE_Pxbbb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pxbbb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of x-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a958833196ced4525eef425ae31c17931"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a958833196ced4525eef425ae31c17931">&#9670;&nbsp;</a></span>CURVE_Pya_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pya_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aaa2d6e7474cd022229ed82a5c7bb9483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa2d6e7474cd022229ed82a5c7bb9483">&#9670;&nbsp;</a></span>CURVE_Pyaa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyaa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a7295db6eca49f752a33d588008184d25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7295db6eca49f752a33d588008184d25">&#9670;&nbsp;</a></span>CURVE_Pyaaa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyaaa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a5b71020b71da602ab86522ee83146211"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b71020b71da602ab86522ee83146211">&#9670;&nbsp;</a></span>CURVE_Pyaab_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyaab_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a0d61b940d5950b70046339b9b9cc8e36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d61b940d5950b70046339b9b9cc8e36">&#9670;&nbsp;</a></span>CURVE_Pyab_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyab_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a5511a6dd2e1acf46d281d6450d87bcfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5511a6dd2e1acf46d281d6450d87bcfd">&#9670;&nbsp;</a></span>CURVE_Pyaba_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyaba_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a2cd65613276591694f26c34c72e87254"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cd65613276591694f26c34c72e87254">&#9670;&nbsp;</a></span>CURVE_Pyabb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyabb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a035ac94764dc5dd600c2d57e599456d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a035ac94764dc5dd600c2d57e599456d0">&#9670;&nbsp;</a></span>CURVE_Pyb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a6b1800feb74ef0e77fc892c065e0edb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b1800feb74ef0e77fc892c065e0edb9">&#9670;&nbsp;</a></span>CURVE_Pyba_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pyba_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a4bbaa097c2232cdb2fe21005fb906758"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bbaa097c2232cdb2fe21005fb906758">&#9670;&nbsp;</a></span>CURVE_Pybaa_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pybaa_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ac36825e225df17be7b2528788f2cce91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac36825e225df17be7b2528788f2cce91">&#9670;&nbsp;</a></span>CURVE_Pybab_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pybab_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="ab1b9371252fa99ce263d3b2c5b16bddd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1b9371252fa99ce263d3b2c5b16bddd">&#9670;&nbsp;</a></span>CURVE_Pybb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pybb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="a473bcea3069311c100511bb916058166"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a473bcea3069311c100511bb916058166">&#9670;&nbsp;</a></span>CURVE_Pybba_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pybba_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="aad0431cca542da88db46273ddeefdd4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad0431cca542da88db46273ddeefdd4d">&#9670;&nbsp;</a></span>CURVE_Pybbb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_Pybbb_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>imaginary part of y-coordinate of generator point in group G2 </p>
</div>
</div>
<a id="adc31f7aafa529744e1417b7ad6c8dada"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc31f7aafa529744e1417b7ad6c8dada">&#9670;&nbsp;</a></span>CURVE_SB_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_SB_BLS381[2][2]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GLV decomposition </p>
</div>
</div>
<a id="a64af80fccbee15e68a18615680ebff58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64af80fccbee15e68a18615680ebff58">&#9670;&nbsp;</a></span>CURVE_W_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_W_BLS381[2]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GLV decomposition </p>
</div>
</div>
<a id="a569727714eda3247c43e488b37fbd272"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a569727714eda3247c43e488b37fbd272">&#9670;&nbsp;</a></span>CURVE_WB_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> CURVE_WB_BLS381[4]</td>
</tr>
</table>
</div><div class="memdoc">
<p>BN curve constant for GS decomposition </p>
</div>
</div>
<a id="a1214b4014ddfebcc990efe1f496d0698"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1214b4014ddfebcc990efe1f496d0698">&#9670;&nbsp;</a></span>Fra_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> Fra_BLS381</td>
</tr>
</table>
</div><div class="memdoc">
<p>real part of BN curve Frobenius Constant </p>
</div>
</div>
<a id="a80db75c3cbe43f3353897b39d21e4f34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80db75c3cbe43f3353897b39d21e4f34">&#9670;&nbsp;</a></span>Frb_BLS381</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="big__384__58_8h.html#ab8c68dbf8612f8f005c402a289c5da31">BIG_384_58</a> Frb_BLS381</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.13
</small></address>
</body>
</html>