<!-- HTML header for doxygen 1.8.10-->
<!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.14"/>
<title>Intel&reg; Enhanced Privacy ID SDK: Epid11Signature Struct 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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="epidstyle.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"><a 
                            onclick="storeLink('index.html')"
                            id="projectlink" 
                            class="index.html" 
                            href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
&#160;<span id="projectnumber">6.0.1</span>
</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('struct_epid11_signature.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">Epid11Signature Struct Reference<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_types.html">types</a> &raquo; <a class="el" href="group___epid11_types.html">Intel(R) EPID 1.1 specific types</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Intel(R) EPID 1.1 Signature.  
 <a href="struct_epid11_signature.html#details">More...</a></p>

<p><code>#include &lt;epid/common/1.1/types.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a48526e73f02ad3f1544c4c71c481f153"><td class="memItemLeft" align="right" valign="top"><a id="a48526e73f02ad3f1544c4c71c481f153"></a>
<a class="el" href="struct_epid11_basic_signature.html">Epid11BasicSignature</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_epid11_signature.html#a48526e73f02ad3f1544c4c71c481f153">sigma0</a></td></tr>
<tr class="memdesc:a48526e73f02ad3f1544c4c71c481f153"><td class="mdescLeft">&#160;</td><td class="mdescRight">basic signature <br /></td></tr>
<tr class="separator:a48526e73f02ad3f1544c4c71c481f153"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43cb3ed13c862ff05a9292623ad57c5e"><td class="memItemLeft" align="right" valign="top"><a id="a43cb3ed13c862ff05a9292623ad57c5e"></a>
<a class="el" href="struct_oct_str32.html">OctStr32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_epid11_signature.html#a43cb3ed13c862ff05a9292623ad57c5e">rl_ver</a></td></tr>
<tr class="memdesc:a43cb3ed13c862ff05a9292623ad57c5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">revocation list version number <br /></td></tr>
<tr class="separator:a43cb3ed13c862ff05a9292623ad57c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad25c277223a5210063163ea554d08ad4"><td class="memItemLeft" align="right" valign="top"><a id="ad25c277223a5210063163ea554d08ad4"></a>
<a class="el" href="struct_oct_str32.html">OctStr32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_epid11_signature.html#ad25c277223a5210063163ea554d08ad4">n2</a></td></tr>
<tr class="memdesc:ad25c277223a5210063163ea554d08ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of entries in SigRL <br /></td></tr>
<tr class="separator:ad25c277223a5210063163ea554d08ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf24a8df563ba3f535486d8dad7384f4"><td class="memItemLeft" align="right" valign="top"><a id="abf24a8df563ba3f535486d8dad7384f4"></a>
<a class="el" href="struct_epid11_nr_proof.html">Epid11NrProof</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_epid11_signature.html#abf24a8df563ba3f535486d8dad7384f4">sigma</a> [1]</td></tr>
<tr class="memdesc:abf24a8df563ba3f535486d8dad7384f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">array of non-revoked proofs (flexible array) <br /></td></tr>
<tr class="separator:abf24a8df563ba3f535486d8dad7384f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Intel(R) EPID 1.1 Signature. </p>
<p>Signature: (sigma0, RLver, n2, sigma[0], ..., sigma[n2-1]) </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>epid/common/1.1/<a class="el" href="1_81_2types_8h.html">types.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.10-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="struct_epid11_signature.html">Epid11Signature</a></li>
    <li class="footer">
      &copy; 2016-2017 Intel Corporation
    </li>
  </ul>
</div>
</body>
</html>
