• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!-- HTML header for doxygen 1.8.10-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.14"/>
8<title>Intel&reg; Enhanced Privacy ID SDK: ecgroup</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
18  $(document).ready(initResizable);
19/* @license-end */</script>
20<link href="doxygen.css" rel="stylesheet" type="text/css" />
21<link href="epidstyle.css" rel="stylesheet" type="text/css"/>
22</head>
23<body>
24<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
25<div id="titlearea">
26<table cellspacing="0" cellpadding="0">
27 <tbody>
28 <tr style="height: 56px;">
29  <td id="projectalign" style="padding-left: 0.5em;">
30   <div id="projectname"><a
31                            onclick="storeLink('index.html')"
32                            id="projectlink"
33                            class="index.html"
34                            href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
35&#160;<span id="projectnumber">6.0.1</span>
36</div>
37  </td>
38 </tr>
39 </tbody>
40</table>
41</div>
42<!-- end header part -->
43<!-- Generated by Doxygen 1.8.14 -->
44</div><!-- top -->
45<div id="side-nav" class="ui-resizable side-nav-resizable">
46  <div id="nav-tree">
47    <div id="nav-tree-contents">
48      <div id="nav-sync" class="sync"></div>
49    </div>
50  </div>
51  <div id="splitbar" style="-moz-user-select:none;"
52       class="ui-resizable-handle">
53  </div>
54</div>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(document).ready(function(){initNavTree('group___ec_group_primitives.html','');});
58/* @license-end */
59</script>
60<div id="doc-content">
61<div class="header">
62  <div class="summary">
63<a href="#typedef-members">Typedefs</a> &#124;
64<a href="#func-members">Functions</a>  </div>
65  <div class="headertitle">
66<div class="title">ecgroup<div class="ingroups"><a class="el" href="group___epid_module.html">epid&amp;nbsp;</a> &raquo; <a class="el" href="group___epid_common.html">common</a> &raquo; <a class="el" href="group___epid_math.html">math</a></div></div>  </div>
67</div><!--header-->
68<div class="contents">
69
70<p>Elliptic curve group operations.
71<a href="#details">More...</a></p>
72<table class="memberdecls">
73<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
74Typedefs</h2></td></tr>
75<tr class="memitem:gac91c5a7623c17a868dd15b2e9aaf7159"><td class="memItemLeft" align="right" valign="top"><a id="gac91c5a7623c17a868dd15b2e9aaf7159"></a>
76typedef struct <a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a></td></tr>
77<tr class="memdesc:gac91c5a7623c17a868dd15b2e9aaf7159"><td class="mdescLeft">&#160;</td><td class="mdescRight">Elliptic curve group over finite field. <br /></td></tr>
78<tr class="separator:gac91c5a7623c17a868dd15b2e9aaf7159"><td class="memSeparator" colspan="2">&#160;</td></tr>
79<tr class="memitem:ga85c1d5e106031b385a6e23e598ac98fa"><td class="memItemLeft" align="right" valign="top"><a id="ga85c1d5e106031b385a6e23e598ac98fa"></a>
80typedef struct <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a></td></tr>
81<tr class="memdesc:ga85c1d5e106031b385a6e23e598ac98fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Point on elliptic curve over finite field. <br /></td></tr>
82<tr class="separator:ga85c1d5e106031b385a6e23e598ac98fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
83</table><table class="memberdecls">
84<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
85Functions</h2></td></tr>
86<tr class="memitem:gaf4e23677dd378ef2e0cf55df79cbdb62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62">NewEcGroup</a> (<a class="el" href="group___finite_field_primitives.html#gab281b24e336a8b3d7d90079d862d969e">FiniteField</a> const *ff, <a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *a, <a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *b, <a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *x, <a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *y, <a class="el" href="group___big_num_primitives.html#ga2bf153e27be2683f0fb26f0f7ff1f718">BigNum</a> const *order, <a class="el" href="group___big_num_primitives.html#ga2bf153e27be2683f0fb26f0f7ff1f718">BigNum</a> const *cofactor, <a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> **g)</td></tr>
87<tr class="memdesc:gaf4e23677dd378ef2e0cf55df79cbdb62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new EcGroup.  <a href="#gaf4e23677dd378ef2e0cf55df79cbdb62">More...</a><br /></td></tr>
88<tr class="separator:gaf4e23677dd378ef2e0cf55df79cbdb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
89<tr class="memitem:gab7af276256c27610eda85ff432b846ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gab7af276256c27610eda85ff432b846ea">DeleteEcGroup</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> **g)</td></tr>
90<tr class="memdesc:gab7af276256c27610eda85ff432b846ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes a previously allocated EcGroup.  <a href="#gab7af276256c27610eda85ff432b846ea">More...</a><br /></td></tr>
91<tr class="separator:gab7af276256c27610eda85ff432b846ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
92<tr class="memitem:ga6417b0ce72ba96de00c329e322fec7fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb">NewEcPoint</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> const *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> **p)</td></tr>
93<tr class="memdesc:ga6417b0ce72ba96de00c329e322fec7fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new EcPoint.  <a href="#ga6417b0ce72ba96de00c329e322fec7fb">More...</a><br /></td></tr>
94<tr class="separator:ga6417b0ce72ba96de00c329e322fec7fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
95<tr class="memitem:ga8cb086d792bffb79b3ca07e6ca4ce0e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga8cb086d792bffb79b3ca07e6ca4ce0e7">DeleteEcPoint</a> (<a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> **p)</td></tr>
96<tr class="memdesc:ga8cb086d792bffb79b3ca07e6ca4ce0e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes a previously allocated EcPoint.  <a href="#ga8cb086d792bffb79b3ca07e6ca4ce0e7">More...</a><br /></td></tr>
97<tr class="separator:ga8cb086d792bffb79b3ca07e6ca4ce0e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
98<tr class="memitem:gad495a9f91b79984f7533c8ea4f92b3cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gad495a9f91b79984f7533c8ea4f92b3cb">ReadEcPoint</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a> p_str, size_t strlen, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *p)</td></tr>
99<tr class="memdesc:gad495a9f91b79984f7533c8ea4f92b3cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserializes an EcPoint from a string.  <a href="#gad495a9f91b79984f7533c8ea4f92b3cb">More...</a><br /></td></tr>
100<tr class="separator:gad495a9f91b79984f7533c8ea4f92b3cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
101<tr class="memitem:ga7a8bdb9782d065bc32fd102e0ae73ccb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga7a8bdb9782d065bc32fd102e0ae73ccb">WriteEcPoint</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *p, <a class="el" href="group___epid_types.html#ga3315fb24f4c5783b6d6eb107933390b0">OctStr</a> p_str, size_t strlen)</td></tr>
102<tr class="memdesc:ga7a8bdb9782d065bc32fd102e0ae73ccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes an EcPoint to a string.  <a href="#ga7a8bdb9782d065bc32fd102e0ae73ccb">More...</a><br /></td></tr>
103<tr class="separator:ga7a8bdb9782d065bc32fd102e0ae73ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
104<tr class="memitem:ga25c9013cc76907d73765eb7a96aa8c96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga25c9013cc76907d73765eb7a96aa8c96">EcMul</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *a, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *b, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
105<tr class="memdesc:ga25c9013cc76907d73765eb7a96aa8c96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies two elements in an elliptic curve group.  <a href="#ga25c9013cc76907d73765eb7a96aa8c96">More...</a><br /></td></tr>
106<tr class="separator:ga25c9013cc76907d73765eb7a96aa8c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
107<tr class="memitem:ga01bf8d6fa60a2e445490966b3a06c270"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga01bf8d6fa60a2e445490966b3a06c270">EcExp</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *a, <a class="el" href="struct_big_num_str.html">BigNumStr</a> const *b, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
108<tr class="memdesc:ga01bf8d6fa60a2e445490966b3a06c270"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raises a point in an elliptic curve group to a power.  <a href="#ga01bf8d6fa60a2e445490966b3a06c270">More...</a><br /></td></tr>
109<tr class="separator:ga01bf8d6fa60a2e445490966b3a06c270"><td class="memSeparator" colspan="2">&#160;</td></tr>
110<tr class="memitem:gaf3b6a548aa6f0d4f028a14feca251f57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gaf3b6a548aa6f0d4f028a14feca251f57">EcSscmExp</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *a, <a class="el" href="struct_big_num_str.html">BigNumStr</a> const *b, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
111<tr class="memdesc:gaf3b6a548aa6f0d4f028a14feca251f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software side-channel mitigated implementation of EcExp.  <a href="#gaf3b6a548aa6f0d4f028a14feca251f57">More...</a><br /></td></tr>
112<tr class="separator:gaf3b6a548aa6f0d4f028a14feca251f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
113<tr class="memitem:gae96c38e004ccd2211290ad6e66415ec4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gae96c38e004ccd2211290ad6e66415ec4">EcMultiExp</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const **a, <a class="el" href="struct_big_num_str.html">BigNumStr</a> const **b, size_t m, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
114<tr class="memdesc:gae96c38e004ccd2211290ad6e66415ec4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-exponentiates elements in elliptic curve group.  <a href="#gae96c38e004ccd2211290ad6e66415ec4">More...</a><br /></td></tr>
115<tr class="separator:gae96c38e004ccd2211290ad6e66415ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
116<tr class="memitem:ga76d24378455eb96a3257fe8045c0993a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga76d24378455eb96a3257fe8045c0993a">EcMultiExpBn</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const **a, <a class="el" href="group___big_num_primitives.html#ga2bf153e27be2683f0fb26f0f7ff1f718">BigNum</a> const **b, size_t m, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
117<tr class="memdesc:ga76d24378455eb96a3257fe8045c0993a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-exponentiates elements in elliptic curve group.  <a href="#ga76d24378455eb96a3257fe8045c0993a">More...</a><br /></td></tr>
118<tr class="separator:ga76d24378455eb96a3257fe8045c0993a"><td class="memSeparator" colspan="2">&#160;</td></tr>
119<tr class="memitem:ga40e3431d3dbe8cf7a65ada7b7811cba4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga40e3431d3dbe8cf7a65ada7b7811cba4">EcSscmMultiExp</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const **a, <a class="el" href="struct_big_num_str.html">BigNumStr</a> const **b, size_t m, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
120<tr class="memdesc:ga40e3431d3dbe8cf7a65ada7b7811cba4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Software side-channel mitigated implementation of EcMultiExp.  <a href="#ga40e3431d3dbe8cf7a65ada7b7811cba4">More...</a><br /></td></tr>
121<tr class="separator:ga40e3431d3dbe8cf7a65ada7b7811cba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
122<tr class="memitem:ga3f96c43d14d24de0f7a5e214aef64196"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga3f96c43d14d24de0f7a5e214aef64196">EcGetRandom</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___epid_common.html#ga6119a2c0323a3fca9e502b24bc378c2c">BitSupplier</a> rnd_func, void *rnd_func_param, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
123<tr class="memdesc:ga3f96c43d14d24de0f7a5e214aef64196"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a random element from an elliptic curve group.  <a href="#ga3f96c43d14d24de0f7a5e214aef64196">More...</a><br /></td></tr>
124<tr class="separator:ga3f96c43d14d24de0f7a5e214aef64196"><td class="memSeparator" colspan="2">&#160;</td></tr>
125<tr class="memitem:ga48ec5ae951c9f49d8d7d983234eea921"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga48ec5ae951c9f49d8d7d983234eea921">EcInGroup</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a> p_str, size_t strlen, <a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> *in_group)</td></tr>
126<tr class="memdesc:ga48ec5ae951c9f49d8d7d983234eea921"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if a point is in an elliptic curve group.  <a href="#ga48ec5ae951c9f49d8d7d983234eea921">More...</a><br /></td></tr>
127<tr class="separator:ga48ec5ae951c9f49d8d7d983234eea921"><td class="memSeparator" colspan="2">&#160;</td></tr>
128<tr class="memitem:gaad96a1498b85d28f71514b8f7b154d82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gaad96a1498b85d28f71514b8f7b154d82">Epid11EcHash</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a> msg, size_t msg_len, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
129<tr class="memdesc:gaad96a1498b85d28f71514b8f7b154d82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hashes an arbitrary message to an Intel(R) EPID 1.1 element in an elliptic curve group.  <a href="#gaad96a1498b85d28f71514b8f7b154d82">More...</a><br /></td></tr>
130<tr class="separator:gaad96a1498b85d28f71514b8f7b154d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<tr class="memitem:gac3067cc899e65e647390bb3bd1cabe4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gac3067cc899e65e647390bb3bd1cabe4c">EcHash</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a> msg, size_t msg_len, <a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890">HashAlg</a> hash_alg, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r, uint32_t *iterations)</td></tr>
132<tr class="memdesc:gac3067cc899e65e647390bb3bd1cabe4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hashes an arbitrary message to an element in an elliptic curve group.  <a href="#gac3067cc899e65e647390bb3bd1cabe4c">More...</a><br /></td></tr>
133<tr class="separator:gac3067cc899e65e647390bb3bd1cabe4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
134<tr class="memitem:ga8a6114a48214a327d4ec04fd25e5940e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga8a6114a48214a327d4ec04fd25e5940e">EcMakePoint</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *x, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
135<tr class="memdesc:ga8a6114a48214a327d4ec04fd25e5940e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an EcPoint variable to a point on a curve.  <a href="#ga8a6114a48214a327d4ec04fd25e5940e">More...</a><br /></td></tr>
136<tr class="separator:ga8a6114a48214a327d4ec04fd25e5940e"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:ga0b6d7a3398251e9352fb29ef4abef466"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga0b6d7a3398251e9352fb29ef4abef466">EcInverse</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *p, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *r)</td></tr>
138<tr class="memdesc:ga0b6d7a3398251e9352fb29ef4abef466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the additive inverse of an EcPoint.  <a href="#ga0b6d7a3398251e9352fb29ef4abef466">More...</a><br /></td></tr>
139<tr class="separator:ga0b6d7a3398251e9352fb29ef4abef466"><td class="memSeparator" colspan="2">&#160;</td></tr>
140<tr class="memitem:gad3b3c63c48fa24e8dea07837b05bc061"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#gad3b3c63c48fa24e8dea07837b05bc061">EcIsEqual</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *a, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *b, <a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> *is_equal)</td></tr>
141<tr class="memdesc:gad3b3c63c48fa24e8dea07837b05bc061"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if two EcPoints are equal.  <a href="#gad3b3c63c48fa24e8dea07837b05bc061">More...</a><br /></td></tr>
142<tr class="separator:gad3b3c63c48fa24e8dea07837b05bc061"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<tr class="memitem:ga9cf15b34bc4ff12e58b169dd989d8210"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ec_group_primitives.html#ga9cf15b34bc4ff12e58b169dd989d8210">EcIsIdentity</a> (<a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *g, <a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *p, <a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> *is_identity)</td></tr>
144<tr class="memdesc:ga9cf15b34bc4ff12e58b169dd989d8210"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if an EcPoint is the identity element.  <a href="#ga9cf15b34bc4ff12e58b169dd989d8210">More...</a><br /></td></tr>
145<tr class="separator:ga9cf15b34bc4ff12e58b169dd989d8210"><td class="memSeparator" colspan="2">&#160;</td></tr>
146</table>
147<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
148<p>Elliptic curve group operations. </p>
149<p>Provides APIs for working with Elliptic curve groups. Elliptic curve groups allow simple mathematical operations based on points that lie on a defined elliptic curve. The results of these operations also lie on the same curve.</p>
150<p>Curves themselves are defined based on elements (<a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa" title="An element in a finite field. ">FfElement</a>) of a finite field (<a class="el" href="group___finite_field_primitives.html#gab281b24e336a8b3d7d90079d862d969e" title="A finite field. ">FiniteField</a>). </p>
151<h2 class="groupheader">Function Documentation</h2>
152<a id="gab7af276256c27610eda85ff432b846ea"></a>
153<h2 class="memtitle"><span class="permalink"><a href="#gab7af276256c27610eda85ff432b846ea">&#9670;&nbsp;</a></span>DeleteEcGroup()</h2>
154
155<div class="memitem">
156<div class="memproto">
157      <table class="memname">
158        <tr>
159          <td class="memname">void DeleteEcGroup </td>
160          <td>(</td>
161          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> **&#160;</td>
162          <td class="paramname"><em>g</em></td><td>)</td>
163          <td></td>
164        </tr>
165      </table>
166</div><div class="memdoc">
167
168<p>Deletes a previously allocated EcGroup. </p>
169<p>Frees memory pointed to by elliptic curve group. Nulls the pointer.</p>
170<dl class="params"><dt>Parameters</dt><dd>
171  <table class="params">
172    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. Can be NULL.</td></tr>
173  </table>
174  </dd>
175</dl>
176<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd></dl>
177
178</div>
179</div>
180<a id="ga8cb086d792bffb79b3ca07e6ca4ce0e7"></a>
181<h2 class="memtitle"><span class="permalink"><a href="#ga8cb086d792bffb79b3ca07e6ca4ce0e7">&#9670;&nbsp;</a></span>DeleteEcPoint()</h2>
182
183<div class="memitem">
184<div class="memproto">
185      <table class="memname">
186        <tr>
187          <td class="memname">void DeleteEcPoint </td>
188          <td>(</td>
189          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> **&#160;</td>
190          <td class="paramname"><em>p</em></td><td>)</td>
191          <td></td>
192        </tr>
193      </table>
194</div><div class="memdoc">
195
196<p>Deletes a previously allocated EcPoint. </p>
197<p>Frees memory used by a point on elliptic curve group. Nulls the pointer.</p>
198<dl class="params"><dt>Parameters</dt><dd>
199  <table class="params">
200    <tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>The EcPoint. Can be NULL.</td></tr>
201  </table>
202  </dd>
203</dl>
204<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
205
206</div>
207</div>
208<a id="ga01bf8d6fa60a2e445490966b3a06c270"></a>
209<h2 class="memtitle"><span class="permalink"><a href="#ga01bf8d6fa60a2e445490966b3a06c270">&#9670;&nbsp;</a></span>EcExp()</h2>
210
211<div class="memitem">
212<div class="memproto">
213      <table class="memname">
214        <tr>
215          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcExp </td>
216          <td>(</td>
217          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
218          <td class="paramname"><em>g</em>, </td>
219        </tr>
220        <tr>
221          <td class="paramkey"></td>
222          <td></td>
223          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
224          <td class="paramname"><em>a</em>, </td>
225        </tr>
226        <tr>
227          <td class="paramkey"></td>
228          <td></td>
229          <td class="paramtype"><a class="el" href="struct_big_num_str.html">BigNumStr</a> const *&#160;</td>
230          <td class="paramname"><em>b</em>, </td>
231        </tr>
232        <tr>
233          <td class="paramkey"></td>
234          <td></td>
235          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
236          <td class="paramname"><em>r</em>&#160;</td>
237        </tr>
238        <tr>
239          <td></td>
240          <td>)</td>
241          <td></td><td></td>
242        </tr>
243      </table>
244</div><div class="memdoc">
245
246<p>Raises a point in an elliptic curve group to a power. </p>
247<p>This exponentiation operation is also known as element multiplication for elliptic curve groups. </p><dl class="params"><dt>Parameters</dt><dd>
248  <table class="params">
249    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
250    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The base. </td></tr>
251    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The power. Power must be less than the order of the elliptic curve group. </td></tr>
252    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The result of raising a to the power b.</td></tr>
253  </table>
254  </dd>
255</dl>
256<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
257<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
258<dd>
259<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
260
261</div>
262</div>
263<a id="ga3f96c43d14d24de0f7a5e214aef64196"></a>
264<h2 class="memtitle"><span class="permalink"><a href="#ga3f96c43d14d24de0f7a5e214aef64196">&#9670;&nbsp;</a></span>EcGetRandom()</h2>
265
266<div class="memitem">
267<div class="memproto">
268      <table class="memname">
269        <tr>
270          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcGetRandom </td>
271          <td>(</td>
272          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
273          <td class="paramname"><em>g</em>, </td>
274        </tr>
275        <tr>
276          <td class="paramkey"></td>
277          <td></td>
278          <td class="paramtype"><a class="el" href="group___epid_common.html#ga6119a2c0323a3fca9e502b24bc378c2c">BitSupplier</a>&#160;</td>
279          <td class="paramname"><em>rnd_func</em>, </td>
280        </tr>
281        <tr>
282          <td class="paramkey"></td>
283          <td></td>
284          <td class="paramtype">void *&#160;</td>
285          <td class="paramname"><em>rnd_func_param</em>, </td>
286        </tr>
287        <tr>
288          <td class="paramkey"></td>
289          <td></td>
290          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
291          <td class="paramname"><em>r</em>&#160;</td>
292        </tr>
293        <tr>
294          <td></td>
295          <td>)</td>
296          <td></td><td></td>
297        </tr>
298      </table>
299</div><div class="memdoc">
300
301<p>Generates a random element from an elliptic curve group. </p>
302<p>This function is only available for G1 and GT.</p>
303<dl class="params"><dt>Parameters</dt><dd>
304  <table class="params">
305    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
306    <tr><td class="paramdir">[in]</td><td class="paramname">rnd_func</td><td>Random number generator. </td></tr>
307    <tr><td class="paramdir">[in]</td><td class="paramname">rnd_func_param</td><td>Pass through context data for rnd_func. </td></tr>
308    <tr><td class="paramdir">[in,out]</td><td class="paramname">r</td><td>Output random elliptic curve element.</td></tr>
309  </table>
310  </dd>
311</dl>
312<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
313<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd>
314<dd>
315<a class="el" href="group___epid_common.html#ga6119a2c0323a3fca9e502b24bc378c2c" title="Generates random data. ">BitSupplier</a> </dd></dl>
316
317</div>
318</div>
319<a id="gac3067cc899e65e647390bb3bd1cabe4c"></a>
320<h2 class="memtitle"><span class="permalink"><a href="#gac3067cc899e65e647390bb3bd1cabe4c">&#9670;&nbsp;</a></span>EcHash()</h2>
321
322<div class="memitem">
323<div class="memproto">
324      <table class="memname">
325        <tr>
326          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcHash </td>
327          <td>(</td>
328          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
329          <td class="paramname"><em>g</em>, </td>
330        </tr>
331        <tr>
332          <td class="paramkey"></td>
333          <td></td>
334          <td class="paramtype"><a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a>&#160;</td>
335          <td class="paramname"><em>msg</em>, </td>
336        </tr>
337        <tr>
338          <td class="paramkey"></td>
339          <td></td>
340          <td class="paramtype">size_t&#160;</td>
341          <td class="paramname"><em>msg_len</em>, </td>
342        </tr>
343        <tr>
344          <td class="paramkey"></td>
345          <td></td>
346          <td class="paramtype"><a class="el" href="group___epid_types.html#ga5e450438f6f9a5eacd0cf5ce354ec890">HashAlg</a>&#160;</td>
347          <td class="paramname"><em>hash_alg</em>, </td>
348        </tr>
349        <tr>
350          <td class="paramkey"></td>
351          <td></td>
352          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
353          <td class="paramname"><em>r</em>, </td>
354        </tr>
355        <tr>
356          <td class="paramkey"></td>
357          <td></td>
358          <td class="paramtype">uint32_t *&#160;</td>
359          <td class="paramname"><em>iterations</em>&#160;</td>
360        </tr>
361        <tr>
362          <td></td>
363          <td>)</td>
364          <td></td><td></td>
365        </tr>
366      </table>
367</div><div class="memdoc">
368
369<p>Hashes an arbitrary message to an element in an elliptic curve group. </p>
370<dl class="params"><dt>Parameters</dt><dd>
371  <table class="params">
372    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
373    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message. </td></tr>
374    <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The size of msg in bytes. </td></tr>
375    <tr><td class="paramdir">[in]</td><td class="paramname">hash_alg</td><td>The hash algorithm. </td></tr>
376    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The hashed value. </td></tr>
377    <tr><td class="paramdir">[out]</td><td class="paramname">iterations</td><td>The number of hash iterations needed to find a valid hash. Can be NULL.</td></tr>
378  </table>
379  </dd>
380</dl>
381<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
382<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
383<dd>
384<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
385
386</div>
387</div>
388<a id="ga48ec5ae951c9f49d8d7d983234eea921"></a>
389<h2 class="memtitle"><span class="permalink"><a href="#ga48ec5ae951c9f49d8d7d983234eea921">&#9670;&nbsp;</a></span>EcInGroup()</h2>
390
391<div class="memitem">
392<div class="memproto">
393      <table class="memname">
394        <tr>
395          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcInGroup </td>
396          <td>(</td>
397          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
398          <td class="paramname"><em>g</em>, </td>
399        </tr>
400        <tr>
401          <td class="paramkey"></td>
402          <td></td>
403          <td class="paramtype"><a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a>&#160;</td>
404          <td class="paramname"><em>p_str</em>, </td>
405        </tr>
406        <tr>
407          <td class="paramkey"></td>
408          <td></td>
409          <td class="paramtype">size_t&#160;</td>
410          <td class="paramname"><em>strlen</em>, </td>
411        </tr>
412        <tr>
413          <td class="paramkey"></td>
414          <td></td>
415          <td class="paramtype"><a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> *&#160;</td>
416          <td class="paramname"><em>in_group</em>&#160;</td>
417        </tr>
418        <tr>
419          <td></td>
420          <td>)</td>
421          <td></td><td></td>
422        </tr>
423      </table>
424</div><div class="memdoc">
425
426<p>Checks if a point is in an elliptic curve group. </p>
427<dl class="params"><dt>Parameters</dt><dd>
428  <table class="params">
429    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
430    <tr><td class="paramdir">[in]</td><td class="paramname">p_str</td><td>A serialized point. Must be a <a class="el" href="struct_g1_elem_str.html" title="Serialized G1 element. ">G1ElemStr</a> or <a class="el" href="struct_g2_elem_str.html" title="Serialized G2 element. ">G2ElemStr</a>. </td></tr>
431    <tr><td class="paramdir">[in]</td><td class="paramname">strlen</td><td>The size of p_str in bytes. </td></tr>
432    <tr><td class="paramdir">[out]</td><td class="paramname">in_group</td><td>The result of the check.</td></tr>
433  </table>
434  </dd>
435</dl>
436<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
437<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
438
439</div>
440</div>
441<a id="ga0b6d7a3398251e9352fb29ef4abef466"></a>
442<h2 class="memtitle"><span class="permalink"><a href="#ga0b6d7a3398251e9352fb29ef4abef466">&#9670;&nbsp;</a></span>EcInverse()</h2>
443
444<div class="memitem">
445<div class="memproto">
446      <table class="memname">
447        <tr>
448          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcInverse </td>
449          <td>(</td>
450          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
451          <td class="paramname"><em>g</em>, </td>
452        </tr>
453        <tr>
454          <td class="paramkey"></td>
455          <td></td>
456          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
457          <td class="paramname"><em>p</em>, </td>
458        </tr>
459        <tr>
460          <td class="paramkey"></td>
461          <td></td>
462          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
463          <td class="paramname"><em>r</em>&#160;</td>
464        </tr>
465        <tr>
466          <td></td>
467          <td>)</td>
468          <td></td><td></td>
469        </tr>
470      </table>
471</div><div class="memdoc">
472
473<p>Computes the additive inverse of an EcPoint. </p>
474<p>This inverse operation is also known as element negation for elliptic curve groups.</p>
475<dl class="params"><dt>Parameters</dt><dd>
476  <table class="params">
477    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
478    <tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>The point. </td></tr>
479    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The inverted point.</td></tr>
480  </table>
481  </dd>
482</dl>
483<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
484<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
485<dd>
486<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
487
488</div>
489</div>
490<a id="gad3b3c63c48fa24e8dea07837b05bc061"></a>
491<h2 class="memtitle"><span class="permalink"><a href="#gad3b3c63c48fa24e8dea07837b05bc061">&#9670;&nbsp;</a></span>EcIsEqual()</h2>
492
493<div class="memitem">
494<div class="memproto">
495      <table class="memname">
496        <tr>
497          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcIsEqual </td>
498          <td>(</td>
499          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
500          <td class="paramname"><em>g</em>, </td>
501        </tr>
502        <tr>
503          <td class="paramkey"></td>
504          <td></td>
505          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
506          <td class="paramname"><em>a</em>, </td>
507        </tr>
508        <tr>
509          <td class="paramkey"></td>
510          <td></td>
511          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
512          <td class="paramname"><em>b</em>, </td>
513        </tr>
514        <tr>
515          <td class="paramkey"></td>
516          <td></td>
517          <td class="paramtype"><a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> *&#160;</td>
518          <td class="paramname"><em>is_equal</em>&#160;</td>
519        </tr>
520        <tr>
521          <td></td>
522          <td>)</td>
523          <td></td><td></td>
524        </tr>
525      </table>
526</div><div class="memdoc">
527
528<p>Checks if two EcPoints are equal. </p>
529<dl class="params"><dt>Parameters</dt><dd>
530  <table class="params">
531    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
532    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>A point to check. </td></tr>
533    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>Another point to check. </td></tr>
534    <tr><td class="paramdir">[out]</td><td class="paramname">is_equal</td><td>The result of the check.</td></tr>
535  </table>
536  </dd>
537</dl>
538<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
539<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
540<dd>
541<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
542
543</div>
544</div>
545<a id="ga9cf15b34bc4ff12e58b169dd989d8210"></a>
546<h2 class="memtitle"><span class="permalink"><a href="#ga9cf15b34bc4ff12e58b169dd989d8210">&#9670;&nbsp;</a></span>EcIsIdentity()</h2>
547
548<div class="memitem">
549<div class="memproto">
550      <table class="memname">
551        <tr>
552          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcIsIdentity </td>
553          <td>(</td>
554          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
555          <td class="paramname"><em>g</em>, </td>
556        </tr>
557        <tr>
558          <td class="paramkey"></td>
559          <td></td>
560          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
561          <td class="paramname"><em>p</em>, </td>
562        </tr>
563        <tr>
564          <td class="paramkey"></td>
565          <td></td>
566          <td class="paramtype"><a class="el" href="stdtypes_8h.html#ad5c9d4ba3dc37783a528b0925dc981a0">bool</a> *&#160;</td>
567          <td class="paramname"><em>is_identity</em>&#160;</td>
568        </tr>
569        <tr>
570          <td></td>
571          <td>)</td>
572          <td></td><td></td>
573        </tr>
574      </table>
575</div><div class="memdoc">
576
577<p>Checks if an EcPoint is the identity element. </p>
578<p>Takes a group element P as input. It outputs true if P is the identity element of G. Otherwise, it outputs false.</p>
579<dl class="params"><dt>Parameters</dt><dd>
580  <table class="params">
581    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
582    <tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>The point to check. </td></tr>
583    <tr><td class="paramdir">[out]</td><td class="paramname">is_identity</td><td>The result of the check.</td></tr>
584  </table>
585  </dd>
586</dl>
587<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
588<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
589<dd>
590<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
591
592</div>
593</div>
594<a id="ga8a6114a48214a327d4ec04fd25e5940e"></a>
595<h2 class="memtitle"><span class="permalink"><a href="#ga8a6114a48214a327d4ec04fd25e5940e">&#9670;&nbsp;</a></span>EcMakePoint()</h2>
596
597<div class="memitem">
598<div class="memproto">
599      <table class="memname">
600        <tr>
601          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcMakePoint </td>
602          <td>(</td>
603          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
604          <td class="paramname"><em>g</em>, </td>
605        </tr>
606        <tr>
607          <td class="paramkey"></td>
608          <td></td>
609          <td class="paramtype"><a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *&#160;</td>
610          <td class="paramname"><em>x</em>, </td>
611        </tr>
612        <tr>
613          <td class="paramkey"></td>
614          <td></td>
615          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
616          <td class="paramname"><em>r</em>&#160;</td>
617        </tr>
618        <tr>
619          <td></td>
620          <td>)</td>
621          <td></td><td></td>
622        </tr>
623      </table>
624</div><div class="memdoc">
625
626<p>Sets an EcPoint variable to a point on a curve. </p>
627<p>This function is only available for G1.</p>
628<dl class="params"><dt>Parameters</dt><dd>
629  <table class="params">
630    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
631    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The x coordinate. </td></tr>
632    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The point.</td></tr>
633  </table>
634  </dd>
635</dl>
636<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
637<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
638<dd>
639<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd>
640<dd>
641<a class="el" href="group___finite_field_primitives.html#gacc54f315ede2dbeb8c5990c024a0de6c" title="Creates a new finite field element. ">NewFfElement</a> </dd></dl>
642
643</div>
644</div>
645<a id="ga25c9013cc76907d73765eb7a96aa8c96"></a>
646<h2 class="memtitle"><span class="permalink"><a href="#ga25c9013cc76907d73765eb7a96aa8c96">&#9670;&nbsp;</a></span>EcMul()</h2>
647
648<div class="memitem">
649<div class="memproto">
650      <table class="memname">
651        <tr>
652          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcMul </td>
653          <td>(</td>
654          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
655          <td class="paramname"><em>g</em>, </td>
656        </tr>
657        <tr>
658          <td class="paramkey"></td>
659          <td></td>
660          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
661          <td class="paramname"><em>a</em>, </td>
662        </tr>
663        <tr>
664          <td class="paramkey"></td>
665          <td></td>
666          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
667          <td class="paramname"><em>b</em>, </td>
668        </tr>
669        <tr>
670          <td class="paramkey"></td>
671          <td></td>
672          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
673          <td class="paramname"><em>r</em>&#160;</td>
674        </tr>
675        <tr>
676          <td></td>
677          <td>)</td>
678          <td></td><td></td>
679        </tr>
680      </table>
681</div><div class="memdoc">
682
683<p>Multiplies two elements in an elliptic curve group. </p>
684<p>This multiplication operation is also known as element addition for elliptic curve groups.</p>
685<dl class="params"><dt>Parameters</dt><dd>
686  <table class="params">
687    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
688    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The first operand to be multiplied. </td></tr>
689    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The second operand to be multiplied. </td></tr>
690    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The result of multiplying a and b.</td></tr>
691  </table>
692  </dd>
693</dl>
694<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
695<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
696<dd>
697<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
698
699</div>
700</div>
701<a id="gae96c38e004ccd2211290ad6e66415ec4"></a>
702<h2 class="memtitle"><span class="permalink"><a href="#gae96c38e004ccd2211290ad6e66415ec4">&#9670;&nbsp;</a></span>EcMultiExp()</h2>
703
704<div class="memitem">
705<div class="memproto">
706      <table class="memname">
707        <tr>
708          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcMultiExp </td>
709          <td>(</td>
710          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
711          <td class="paramname"><em>g</em>, </td>
712        </tr>
713        <tr>
714          <td class="paramkey"></td>
715          <td></td>
716          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const **&#160;</td>
717          <td class="paramname"><em>a</em>, </td>
718        </tr>
719        <tr>
720          <td class="paramkey"></td>
721          <td></td>
722          <td class="paramtype"><a class="el" href="struct_big_num_str.html">BigNumStr</a> const **&#160;</td>
723          <td class="paramname"><em>b</em>, </td>
724        </tr>
725        <tr>
726          <td class="paramkey"></td>
727          <td></td>
728          <td class="paramtype">size_t&#160;</td>
729          <td class="paramname"><em>m</em>, </td>
730        </tr>
731        <tr>
732          <td class="paramkey"></td>
733          <td></td>
734          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
735          <td class="paramname"><em>r</em>&#160;</td>
736        </tr>
737        <tr>
738          <td></td>
739          <td>)</td>
740          <td></td><td></td>
741        </tr>
742      </table>
743</div><div class="memdoc">
744
745<p>Multi-exponentiates elements in elliptic curve group. </p>
746<p>Takes a group elements a[0], ... , a[m-1] in G and positive integers b[0], ..., b[m-1], where m is a small positive integer. Outputs r (in G) = EcExp(a[0],b[0]) * ... * EcExp(a[m-1],b[m-1]).</p>
747<dl class="params"><dt>Parameters</dt><dd>
748  <table class="params">
749    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
750    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The bases. </td></tr>
751    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The powers. Power must be less than the order of the elliptic curve group. </td></tr>
752    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Number of entries in a and b. </td></tr>
753    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The result of raising each a to the corresponding power b and multiplying the results.</td></tr>
754  </table>
755  </dd>
756</dl>
757<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
758<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
759<dd>
760<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
761
762</div>
763</div>
764<a id="ga76d24378455eb96a3257fe8045c0993a"></a>
765<h2 class="memtitle"><span class="permalink"><a href="#ga76d24378455eb96a3257fe8045c0993a">&#9670;&nbsp;</a></span>EcMultiExpBn()</h2>
766
767<div class="memitem">
768<div class="memproto">
769      <table class="memname">
770        <tr>
771          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcMultiExpBn </td>
772          <td>(</td>
773          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
774          <td class="paramname"><em>g</em>, </td>
775        </tr>
776        <tr>
777          <td class="paramkey"></td>
778          <td></td>
779          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const **&#160;</td>
780          <td class="paramname"><em>a</em>, </td>
781        </tr>
782        <tr>
783          <td class="paramkey"></td>
784          <td></td>
785          <td class="paramtype"><a class="el" href="group___big_num_primitives.html#ga2bf153e27be2683f0fb26f0f7ff1f718">BigNum</a> const **&#160;</td>
786          <td class="paramname"><em>b</em>, </td>
787        </tr>
788        <tr>
789          <td class="paramkey"></td>
790          <td></td>
791          <td class="paramtype">size_t&#160;</td>
792          <td class="paramname"><em>m</em>, </td>
793        </tr>
794        <tr>
795          <td class="paramkey"></td>
796          <td></td>
797          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
798          <td class="paramname"><em>r</em>&#160;</td>
799        </tr>
800        <tr>
801          <td></td>
802          <td>)</td>
803          <td></td><td></td>
804        </tr>
805      </table>
806</div><div class="memdoc">
807
808<p>Multi-exponentiates elements in elliptic curve group. </p>
809<p>Takes a group elements a[0], ... , a[m-1] in G and positive integers b[0], ..., b[m-1], where m is a small positive integer. Outputs r (in G) = EcExp(a[0],b[0]) * ... * EcExp(a[m-1],b[m-1]).</p>
810<dl class="params"><dt>Parameters</dt><dd>
811  <table class="params">
812    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
813    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The bases. </td></tr>
814    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The powers. Power must be less than the order of the elliptic curve group. </td></tr>
815    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Number of entries in a and b. </td></tr>
816    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The result of raising each a to the corresponding power b and multiplying the results.</td></tr>
817  </table>
818  </dd>
819</dl>
820<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
821<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
822<dd>
823<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
824
825</div>
826</div>
827<a id="gaf3b6a548aa6f0d4f028a14feca251f57"></a>
828<h2 class="memtitle"><span class="permalink"><a href="#gaf3b6a548aa6f0d4f028a14feca251f57">&#9670;&nbsp;</a></span>EcSscmExp()</h2>
829
830<div class="memitem">
831<div class="memproto">
832      <table class="memname">
833        <tr>
834          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcSscmExp </td>
835          <td>(</td>
836          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
837          <td class="paramname"><em>g</em>, </td>
838        </tr>
839        <tr>
840          <td class="paramkey"></td>
841          <td></td>
842          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
843          <td class="paramname"><em>a</em>, </td>
844        </tr>
845        <tr>
846          <td class="paramkey"></td>
847          <td></td>
848          <td class="paramtype"><a class="el" href="struct_big_num_str.html">BigNumStr</a> const *&#160;</td>
849          <td class="paramname"><em>b</em>, </td>
850        </tr>
851        <tr>
852          <td class="paramkey"></td>
853          <td></td>
854          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
855          <td class="paramname"><em>r</em>&#160;</td>
856        </tr>
857        <tr>
858          <td></td>
859          <td>)</td>
860          <td></td><td></td>
861        </tr>
862      </table>
863</div><div class="memdoc">
864
865<p>Software side-channel mitigated implementation of EcExp. </p>
866<p>This exponentiation operation is also known as element multiplication for elliptic curve groups.</p>
867<dl class="section attention"><dt>Attention</dt><dd>The reference implementation of EcSscmExp calls EcExp directly because the implementation of EcExp is already side channel mitigated. Implementers providing their own versions of this function are responsible for ensuring that EcSscmExp is side channel mitigated per section 8 of the Intel(R) EPID 2.0 spec.</dd></dl>
868<dl class="params"><dt>Parameters</dt><dd>
869  <table class="params">
870    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
871    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The base. </td></tr>
872    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The power. Power must be less than the order of the elliptic curve group. </td></tr>
873    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The result of raising a to the power b.</td></tr>
874  </table>
875  </dd>
876</dl>
877<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
878<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
879<dd>
880<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
881
882</div>
883</div>
884<a id="ga40e3431d3dbe8cf7a65ada7b7811cba4"></a>
885<h2 class="memtitle"><span class="permalink"><a href="#ga40e3431d3dbe8cf7a65ada7b7811cba4">&#9670;&nbsp;</a></span>EcSscmMultiExp()</h2>
886
887<div class="memitem">
888<div class="memproto">
889      <table class="memname">
890        <tr>
891          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> EcSscmMultiExp </td>
892          <td>(</td>
893          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
894          <td class="paramname"><em>g</em>, </td>
895        </tr>
896        <tr>
897          <td class="paramkey"></td>
898          <td></td>
899          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const **&#160;</td>
900          <td class="paramname"><em>a</em>, </td>
901        </tr>
902        <tr>
903          <td class="paramkey"></td>
904          <td></td>
905          <td class="paramtype"><a class="el" href="struct_big_num_str.html">BigNumStr</a> const **&#160;</td>
906          <td class="paramname"><em>b</em>, </td>
907        </tr>
908        <tr>
909          <td class="paramkey"></td>
910          <td></td>
911          <td class="paramtype">size_t&#160;</td>
912          <td class="paramname"><em>m</em>, </td>
913        </tr>
914        <tr>
915          <td class="paramkey"></td>
916          <td></td>
917          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
918          <td class="paramname"><em>r</em>&#160;</td>
919        </tr>
920        <tr>
921          <td></td>
922          <td>)</td>
923          <td></td><td></td>
924        </tr>
925      </table>
926</div><div class="memdoc">
927
928<p>Software side-channel mitigated implementation of EcMultiExp. </p>
929<p>Takes a group elements a[0], ... , a[m-1] in G and positive integers b[0], ..., b[m-1], where m is a small positive integer. Outputs r (in G) = EcExp(a[0],b[0]) * ... * EcExp(a[m-1],b[m-1]).</p>
930<dl class="section attention"><dt>Attention</dt><dd>The reference implementation of EcSscmMultiExp calls EcMultiExp directly because the implementation of EcMultiExp is already side channel mitigated. Implementers providing their own versions of this function are responsible for ensuring that EcSscmMultiExp is side channel mitigated per section 8 of the Intel(R) EPID 2.0 spec.</dd></dl>
931<dl class="params"><dt>Parameters</dt><dd>
932  <table class="params">
933    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
934    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The bases. </td></tr>
935    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The powers. Power must be less than the order of the elliptic curve group. </td></tr>
936    <tr><td class="paramdir">[in]</td><td class="paramname">m</td><td>Number of entries in a and b. </td></tr>
937    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The result of raising each a to the corresponding power b and multiplying the results.</td></tr>
938  </table>
939  </dd>
940</dl>
941<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
942<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
943<dd>
944<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
945
946</div>
947</div>
948<a id="gaad96a1498b85d28f71514b8f7b154d82"></a>
949<h2 class="memtitle"><span class="permalink"><a href="#gaad96a1498b85d28f71514b8f7b154d82">&#9670;&nbsp;</a></span>Epid11EcHash()</h2>
950
951<div class="memitem">
952<div class="memproto">
953      <table class="memname">
954        <tr>
955          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> Epid11EcHash </td>
956          <td>(</td>
957          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
958          <td class="paramname"><em>g</em>, </td>
959        </tr>
960        <tr>
961          <td class="paramkey"></td>
962          <td></td>
963          <td class="paramtype"><a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a>&#160;</td>
964          <td class="paramname"><em>msg</em>, </td>
965        </tr>
966        <tr>
967          <td class="paramkey"></td>
968          <td></td>
969          <td class="paramtype">size_t&#160;</td>
970          <td class="paramname"><em>msg_len</em>, </td>
971        </tr>
972        <tr>
973          <td class="paramkey"></td>
974          <td></td>
975          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
976          <td class="paramname"><em>r</em>&#160;</td>
977        </tr>
978        <tr>
979          <td></td>
980          <td>)</td>
981          <td></td><td></td>
982        </tr>
983      </table>
984</div><div class="memdoc">
985
986<p>Hashes an arbitrary message to an Intel(R) EPID 1.1 element in an elliptic curve group. </p>
987<dl class="params"><dt>Parameters</dt><dd>
988  <table class="params">
989    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
990    <tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message. </td></tr>
991    <tr><td class="paramdir">[in]</td><td class="paramname">msg_len</td><td>The size of msg in bytes. </td></tr>
992    <tr><td class="paramdir">[out]</td><td class="paramname">r</td><td>The hashed value.</td></tr>
993  </table>
994  </dd>
995</dl>
996<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
997<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
998<dd>
999<a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
1000
1001</div>
1002</div>
1003<a id="gaf4e23677dd378ef2e0cf55df79cbdb62"></a>
1004<h2 class="memtitle"><span class="permalink"><a href="#gaf4e23677dd378ef2e0cf55df79cbdb62">&#9670;&nbsp;</a></span>NewEcGroup()</h2>
1005
1006<div class="memitem">
1007<div class="memproto">
1008      <table class="memname">
1009        <tr>
1010          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> NewEcGroup </td>
1011          <td>(</td>
1012          <td class="paramtype"><a class="el" href="group___finite_field_primitives.html#gab281b24e336a8b3d7d90079d862d969e">FiniteField</a> const *&#160;</td>
1013          <td class="paramname"><em>ff</em>, </td>
1014        </tr>
1015        <tr>
1016          <td class="paramkey"></td>
1017          <td></td>
1018          <td class="paramtype"><a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *&#160;</td>
1019          <td class="paramname"><em>a</em>, </td>
1020        </tr>
1021        <tr>
1022          <td class="paramkey"></td>
1023          <td></td>
1024          <td class="paramtype"><a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *&#160;</td>
1025          <td class="paramname"><em>b</em>, </td>
1026        </tr>
1027        <tr>
1028          <td class="paramkey"></td>
1029          <td></td>
1030          <td class="paramtype"><a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *&#160;</td>
1031          <td class="paramname"><em>x</em>, </td>
1032        </tr>
1033        <tr>
1034          <td class="paramkey"></td>
1035          <td></td>
1036          <td class="paramtype"><a class="el" href="group___finite_field_primitives.html#ga6cff5c7c06b07a87442b810ccc0a86fa">FfElement</a> const *&#160;</td>
1037          <td class="paramname"><em>y</em>, </td>
1038        </tr>
1039        <tr>
1040          <td class="paramkey"></td>
1041          <td></td>
1042          <td class="paramtype"><a class="el" href="group___big_num_primitives.html#ga2bf153e27be2683f0fb26f0f7ff1f718">BigNum</a> const *&#160;</td>
1043          <td class="paramname"><em>order</em>, </td>
1044        </tr>
1045        <tr>
1046          <td class="paramkey"></td>
1047          <td></td>
1048          <td class="paramtype"><a class="el" href="group___big_num_primitives.html#ga2bf153e27be2683f0fb26f0f7ff1f718">BigNum</a> const *&#160;</td>
1049          <td class="paramname"><em>cofactor</em>, </td>
1050        </tr>
1051        <tr>
1052          <td class="paramkey"></td>
1053          <td></td>
1054          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> **&#160;</td>
1055          <td class="paramname"><em>g</em>&#160;</td>
1056        </tr>
1057        <tr>
1058          <td></td>
1059          <td>)</td>
1060          <td></td><td></td>
1061        </tr>
1062      </table>
1063</div><div class="memdoc">
1064
1065<p>Constructs a new EcGroup. </p>
1066<p>Allocates memory and creates a new elliptic curve group.</p>
1067<p>Use <a class="el" href="group___finite_field_primitives.html#gacbdd2871ecf93dadaac9d2c5b16e1e5f" title="Frees a previously allocated FiniteField. ">DeleteFiniteField()</a> to free memory.</p>
1068<dl class="params"><dt>Parameters</dt><dd>
1069  <table class="params">
1070    <tr><td class="paramdir">[in]</td><td class="paramname">ff</td><td>The finite field on which the curve is based. </td></tr>
1071    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The A value of the elliptic curve. </td></tr>
1072    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>The B value of the elliptic curve. </td></tr>
1073    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The X-coordinate of the base point of the elliptic curve. </td></tr>
1074    <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The Y-coordinate of the base point of the elliptic curve. </td></tr>
1075    <tr><td class="paramdir">[in]</td><td class="paramname">order</td><td>The order of the elliptic curve group. </td></tr>
1076    <tr><td class="paramdir">[in]</td><td class="paramname">cofactor</td><td>The co-factor of the elliptic curve. </td></tr>
1077    <tr><td class="paramdir">[out]</td><td class="paramname">g</td><td>The newly constructed elliptic curve group.</td></tr>
1078  </table>
1079  </dd>
1080</dl>
1081<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
1082<dl class="section attention"><dt>Attention</dt><dd>It is the responsibility of the caller to ensure that ff exists for the entire lifetime of the new EcGroup.</dd></dl>
1083<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gab7af276256c27610eda85ff432b846ea" title="Deletes a previously allocated EcGroup. ">DeleteEcGroup</a> </dd></dl>
1084
1085</div>
1086</div>
1087<a id="ga6417b0ce72ba96de00c329e322fec7fb"></a>
1088<h2 class="memtitle"><span class="permalink"><a href="#ga6417b0ce72ba96de00c329e322fec7fb">&#9670;&nbsp;</a></span>NewEcPoint()</h2>
1089
1090<div class="memitem">
1091<div class="memproto">
1092      <table class="memname">
1093        <tr>
1094          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> NewEcPoint </td>
1095          <td>(</td>
1096          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> const *&#160;</td>
1097          <td class="paramname"><em>g</em>, </td>
1098        </tr>
1099        <tr>
1100          <td class="paramkey"></td>
1101          <td></td>
1102          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> **&#160;</td>
1103          <td class="paramname"><em>p</em>&#160;</td>
1104        </tr>
1105        <tr>
1106          <td></td>
1107          <td>)</td>
1108          <td></td><td></td>
1109        </tr>
1110      </table>
1111</div><div class="memdoc">
1112
1113<p>Creates a new EcPoint. </p>
1114<p>Allocates memory and creates a new point on elliptic curve group.</p>
1115<p>Use <a class="el" href="group___ec_group_primitives.html#ga8cb086d792bffb79b3ca07e6ca4ce0e7" title="Deletes a previously allocated EcPoint. ">DeleteEcPoint()</a> to free memory.</p>
1116<dl class="params"><dt>Parameters</dt><dd>
1117  <table class="params">
1118    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>Elliptic curve group. </td></tr>
1119    <tr><td class="paramdir">[out]</td><td class="paramname">p</td><td>Newly constructed point on the elliptic curve group g.</td></tr>
1120  </table>
1121  </dd>
1122</dl>
1123<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
1124<dl class="section attention"><dt>Attention</dt><dd>It is the responsibility of the caller to ensure that g exists for the entire lifetime of the new EcPoint.</dd></dl>
1125<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#gaf4e23677dd378ef2e0cf55df79cbdb62" title="Constructs a new EcGroup. ">NewEcGroup</a> </dd>
1126<dd>
1127<a class="el" href="group___ec_group_primitives.html#ga8cb086d792bffb79b3ca07e6ca4ce0e7" title="Deletes a previously allocated EcPoint. ">DeleteEcPoint</a> </dd></dl>
1128
1129</div>
1130</div>
1131<a id="gad495a9f91b79984f7533c8ea4f92b3cb"></a>
1132<h2 class="memtitle"><span class="permalink"><a href="#gad495a9f91b79984f7533c8ea4f92b3cb">&#9670;&nbsp;</a></span>ReadEcPoint()</h2>
1133
1134<div class="memitem">
1135<div class="memproto">
1136      <table class="memname">
1137        <tr>
1138          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> ReadEcPoint </td>
1139          <td>(</td>
1140          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
1141          <td class="paramname"><em>g</em>, </td>
1142        </tr>
1143        <tr>
1144          <td class="paramkey"></td>
1145          <td></td>
1146          <td class="paramtype"><a class="el" href="group___epid_types.html#gace6876a045f2c2694444b35ccb0844e2">ConstOctStr</a>&#160;</td>
1147          <td class="paramname"><em>p_str</em>, </td>
1148        </tr>
1149        <tr>
1150          <td class="paramkey"></td>
1151          <td></td>
1152          <td class="paramtype">size_t&#160;</td>
1153          <td class="paramname"><em>strlen</em>, </td>
1154        </tr>
1155        <tr>
1156          <td class="paramkey"></td>
1157          <td></td>
1158          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> *&#160;</td>
1159          <td class="paramname"><em>p</em>&#160;</td>
1160        </tr>
1161        <tr>
1162          <td></td>
1163          <td>)</td>
1164          <td></td><td></td>
1165        </tr>
1166      </table>
1167</div><div class="memdoc">
1168
1169<p>Deserializes an EcPoint from a string. </p>
1170<dl class="params"><dt>Parameters</dt><dd>
1171  <table class="params">
1172    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
1173    <tr><td class="paramdir">[in]</td><td class="paramname">p_str</td><td>The serialized value. </td></tr>
1174    <tr><td class="paramdir">[in]</td><td class="paramname">strlen</td><td>The size of p_str in bytes. </td></tr>
1175    <tr><td class="paramdir">[out]</td><td class="paramname">p</td><td>The target EcPoint.</td></tr>
1176  </table>
1177  </dd>
1178</dl>
1179<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
1180<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
1181
1182</div>
1183</div>
1184<a id="ga7a8bdb9782d065bc32fd102e0ae73ccb"></a>
1185<h2 class="memtitle"><span class="permalink"><a href="#ga7a8bdb9782d065bc32fd102e0ae73ccb">&#9670;&nbsp;</a></span>WriteEcPoint()</h2>
1186
1187<div class="memitem">
1188<div class="memproto">
1189      <table class="memname">
1190        <tr>
1191          <td class="memname"><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360">EpidStatus</a> WriteEcPoint </td>
1192          <td>(</td>
1193          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#gac91c5a7623c17a868dd15b2e9aaf7159">EcGroup</a> *&#160;</td>
1194          <td class="paramname"><em>g</em>, </td>
1195        </tr>
1196        <tr>
1197          <td class="paramkey"></td>
1198          <td></td>
1199          <td class="paramtype"><a class="el" href="group___ec_group_primitives.html#ga85c1d5e106031b385a6e23e598ac98fa">EcPoint</a> const *&#160;</td>
1200          <td class="paramname"><em>p</em>, </td>
1201        </tr>
1202        <tr>
1203          <td class="paramkey"></td>
1204          <td></td>
1205          <td class="paramtype"><a class="el" href="group___epid_types.html#ga3315fb24f4c5783b6d6eb107933390b0">OctStr</a>&#160;</td>
1206          <td class="paramname"><em>p_str</em>, </td>
1207        </tr>
1208        <tr>
1209          <td class="paramkey"></td>
1210          <td></td>
1211          <td class="paramtype">size_t&#160;</td>
1212          <td class="paramname"><em>strlen</em>&#160;</td>
1213        </tr>
1214        <tr>
1215          <td></td>
1216          <td>)</td>
1217          <td></td><td></td>
1218        </tr>
1219      </table>
1220</div><div class="memdoc">
1221
1222<p>Serializes an EcPoint to a string. </p>
1223<dl class="params"><dt>Parameters</dt><dd>
1224  <table class="params">
1225    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>The elliptic curve group. </td></tr>
1226    <tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>The EcPoint to be serialized. </td></tr>
1227    <tr><td class="paramdir">[out]</td><td class="paramname">p_str</td><td>The target string. </td></tr>
1228    <tr><td class="paramdir">[in]</td><td class="paramname">strlen</td><td>the size of p_str in bytes.</td></tr>
1229  </table>
1230  </dd>
1231</dl>
1232<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___error_codes.html#gafdb27c77c2c4b32c807e326a8a0da360" title="Return status for SDK functions. ">EpidStatus</a></dd></dl>
1233<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___ec_group_primitives.html#ga6417b0ce72ba96de00c329e322fec7fb" title="Creates a new EcPoint. ">NewEcPoint</a> </dd></dl>
1234
1235</div>
1236</div>
1237</div><!-- contents -->
1238</div><!-- doc-content -->
1239<!-- HTML footer for doxygen 1.8.10-->
1240<!-- start footer part -->
1241<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1242  <ul>
1243    <li class="footer">
1244      &copy; 2016-2017 Intel Corporation
1245    </li>
1246  </ul>
1247</div>
1248</body>
1249</html>
1250