<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AMCL: Data Fields - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">AMCL
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- 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 class="contents">
&#160;

<h3><a id="index_c"></a>- c -</h3><ul>
<li>c
: <a class="el" href="structFP12__BLS381.html#a762d3c20856438c0aa63471c827a43a1">FP12_BLS381</a>
, <a class="el" href="structFP12__BLS383.html#ab32c55ed73277ff348b4546fcc317d61">FP12_BLS383</a>
, <a class="el" href="structFP12__BLS461.html#a7ec14ab2c02c2fcb7dda90d57a7d42aa">FP12_BLS461</a>
, <a class="el" href="structFP12__BN254.html#a73d92ea8008c0354377769daae18f894">FP12_BN254</a>
, <a class="el" href="structFP12__BN254CX.html#a1c44eb3094a89d395d24278502309946">FP12_BN254CX</a>
, <a class="el" href="structFP12__FP256BN.html#ac6f5be55c2e14a69939e51923203574b">FP12_FP256BN</a>
, <a class="el" href="structFP12__FP512BN.html#ac4383eddc009b14f5a7dfdfd2f71194f">FP12_FP512BN</a>
, <a class="el" href="structFP24__BLS24.html#a64c0a7fce0b13d188588501ef4f2e437">FP24_BLS24</a>
, <a class="el" href="structFP48__BLS48.html#acd6053438907e731f6b7633ed162bbc4">FP48_BLS48</a>
, <a class="el" href="structrsa__private__key__2048.html#ae01011219e26017dd3efb9eeccf9237b">rsa_private_key_2048</a>
, <a class="el" href="structrsa__private__key__3072.html#a1281cf17de0ad55b18b8ff33f0be0599">rsa_private_key_3072</a>
, <a class="el" href="structrsa__private__key__4096.html#a6e6a587086fe75d657cd891481dc0c92">rsa_private_key_4096</a>
</li>
<li>curve
: <a class="el" href="structpktype.html#aa8fa37d88b74366bd16a3f46d1a36293">pktype</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>
