Sophie

Sophie

distrib > Fedora > 13 > i386 > media > os > by-pkgid > 07dfcfe50d66c9a48a3c5e6c1693f12a > files > 721

cryptopp-doc-5.6.1-0.1.svn479.fc13.i686.rpm

<!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"/>
<title>Crypto++: GF2NT Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>GF2NT Class Reference</h1><!-- doxytag: class="GF2NT" --><!-- doxytag: inherits="GF2NP" -->
<p>GF(2^n) with Trinomial Basis.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gf2n_8h_source.html">gf2n.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for GF2NT:</div>
<div class="dynsection">
 <div class="center">
  <img src="class_g_f2_n_t.gif" usemap="#GF2NT_map" alt=""/>
  <map id="GF2NT_map" name="GF2NT_map">
<area href="class_g_f2_n_p.html" alt="GF2NP" shape="rect" coords="0,168,397,192"/>
<area href="class_quotient_ring.html" alt="QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt;" shape="rect" coords="0,112,397,136"/>
<area href="class_abstract_ring.html" alt="AbstractRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt;::Element &gt;" shape="rect" coords="0,56,397,80"/>
<area href="class_abstract_group.html" alt="AbstractGroup&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt;::Element &gt;" shape="rect" coords="0,0,397,24"/>
</map>
 </div>
</div>

<p><a href="class_g_f2_n_t-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeba485b8efc03cb16525c389519833e1"></a><!-- doxytag: member="GF2NT::EuclideanDomain" ref="aeba485b8efc03cb16525c389519833e1" args="" -->
typedef <a class="el" href="class_euclidean_domain_of.html">EuclideanDomainOf</a><br class="typebreak"/>
&lt; <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>EuclideanDomain</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5fc43636ce1b8ab3c8aa4ec309242e0"></a><!-- doxytag: member="GF2NT::Element" ref="aa5fc43636ce1b8ab3c8aa4ec309242e0" args="" -->
typedef <a class="el" href="class_euclidean_domain_of.html">EuclideanDomainOf</a><br class="typebreak"/>
&lt; <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &gt;::Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>Element</b></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87782597d6454b42c7f744456a22580a"></a><!-- doxytag: member="GF2NT::GF2NT" ref="a87782597d6454b42c7f744456a22580a" args="(unsigned int t0, unsigned int t1, unsigned int t2)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>GF2NT</b> (unsigned int t0, unsigned int t1, unsigned int t2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77fde8415be0fee43c1c25c7fc54d553"></a><!-- doxytag: member="GF2NT::Clone" ref="a77fde8415be0fee43c1c25c7fc54d553" args="() const " -->
<a class="el" href="class_g_f2_n_p.html">GF2NP</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>Clone</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af50c3ef51ccaac6e4560d7373b985591"></a><!-- doxytag: member="GF2NT::DEREncode" ref="af50c3ef51ccaac6e4560d7373b985591" args="(BufferedTransformation &amp;bt) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DEREncode</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;bt) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6deb044e44ecb05a84164c6f8e98095"></a><!-- doxytag: member="GF2NT::Multiply" ref="ab6deb044e44ecb05a84164c6f8e98095" args="(const Element &amp;a, const Element &amp;b) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Multiply</b> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a97afdc31def30b42ab35ac3439a67c"></a><!-- doxytag: member="GF2NT::Square" ref="a0a97afdc31def30b42ab35ac3439a67c" args="(const Element &amp;a) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Square</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a309403ce7c0d2f608798e8aa01ab674a"></a><!-- doxytag: member="GF2NT::MultiplicativeInverse" ref="a309403ce7c0d2f608798e8aa01ab674a" args="(const Element &amp;a) const " -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeInverse</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50111212053796f53b1b35b4678b1ede"></a><!-- doxytag: member="GF2NT::DEREncodeElement" ref="a50111212053796f53b1b35b4678b1ede" args="(BufferedTransformation &amp;out, const Element &amp;a) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>DEREncodeElement</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;out, const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae673a1ae624ac618c3d8d413620ed81c"></a><!-- doxytag: member="GF2NT::BERDecodeElement" ref="ae673a1ae624ac618c3d8d413620ed81c" args="(BufferedTransformation &amp;in, Element &amp;a) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>BERDecodeElement</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &amp;in, Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4767ac33544de4fbc449d3bbe17715e"></a><!-- doxytag: member="GF2NT::Equal" ref="ae4767ac33544de4fbc449d3bbe17715e" args="(const Element &amp;a, const Element &amp;b) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>Equal</b> (const Element &amp;a, const Element &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4eb48ee2cd703818c84d531308e47546"></a><!-- doxytag: member="GF2NT::IsUnit" ref="a4eb48ee2cd703818c84d531308e47546" args="(const Element &amp;a) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>IsUnit</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97725ab6dd770b220e9f67d1b1c0e8d1"></a><!-- doxytag: member="GF2NT::MaxElementBitLength" ref="a97725ab6dd770b220e9f67d1b1c0e8d1" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>MaxElementBitLength</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6287e6aaf7478f86fcb3862f8a96ad22"></a><!-- doxytag: member="GF2NT::MaxElementByteLength" ref="a6287e6aaf7478f86fcb3862f8a96ad22" args="() const " -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>MaxElementByteLength</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3773fda3605db932623a4a3138498040"></a><!-- doxytag: member="GF2NT::SquareRoot" ref="a3773fda3605db932623a4a3138498040" args="(const Element &amp;a) const " -->
Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>SquareRoot</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a201782096f78be22d4a0532643e0a0fd"></a><!-- doxytag: member="GF2NT::HalfTrace" ref="a201782096f78be22d4a0532643e0a0fd" args="(const Element &amp;a) const " -->
Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>HalfTrace</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a349a067c766caf6b98678d51cfa1de03"></a><!-- doxytag: member="GF2NT::SolveQuadraticEquation" ref="a349a067c766caf6b98678d51cfa1de03" args="(const Element &amp;a) const " -->
Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>SolveQuadraticEquation</b> (const Element &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6aba5afdb504051dddeb9704bd02c490"></a><!-- doxytag: member="GF2NT::GetDomain" ref="a6aba5afdb504051dddeb9704bd02c490" args="() const" -->
const <a class="el" href="class_euclidean_domain_of.html">EuclideanDomain</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetDomain</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a79d382173484c284cac62d8fb341e68d"></a><!-- doxytag: member="GF2NT::GetModulus" ref="a79d382173484c284cac62d8fb341e68d" args="() const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetModulus</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af569e328dd07b9c1758633c742ca178e"></a><!-- doxytag: member="GF2NT::Identity" ref="af569e328dd07b9c1758633c742ca178e" args="() const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Identity</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a455b3ef5b970e6f9af4e7b947dc3e89e"></a><!-- doxytag: member="GF2NT::Add" ref="a455b3ef5b970e6f9af4e7b947dc3e89e" args="(const Element &amp;a, const Element &amp;b) const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Add</b> (const Element &amp;a, const Element &amp;b) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a516445c6cd0a881edc97de6fc99ea4a7"></a><!-- doxytag: member="GF2NT::Accumulate" ref="a516445c6cd0a881edc97de6fc99ea4a7" args="(Element &amp;a, const Element &amp;b) const" -->
Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Accumulate</b> (Element &amp;a, const Element &amp;b) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32a8f4858aa802ef080984b5a00be015"></a><!-- doxytag: member="GF2NT::Inverse" ref="a32a8f4858aa802ef080984b5a00be015" args="(const Element &amp;a) const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Inverse</b> (const Element &amp;a) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84eadc2e3d6c726ce402a5bf4ec854df"></a><!-- doxytag: member="GF2NT::Subtract" ref="a84eadc2e3d6c726ce402a5bf4ec854df" args="(const Element &amp;a, const Element &amp;b) const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Subtract</b> (const Element &amp;a, const Element &amp;b) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f91d1daa995dbe41f7526d88c377977"></a><!-- doxytag: member="GF2NT::Reduce" ref="a3f91d1daa995dbe41f7526d88c377977" args="(Element &amp;a, const Element &amp;b) const" -->
Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Reduce</b> (Element &amp;a, const Element &amp;b) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8789051cffe054f0edf5e9ac7d9cb686"></a><!-- doxytag: member="GF2NT::Double" ref="a8789051cffe054f0edf5e9ac7d9cb686" args="(const Element &amp;a) const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Double</b> (const Element &amp;a) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76393d59a5d54a8138ecf9a12bc03f84"></a><!-- doxytag: member="GF2NT::MultiplicativeIdentity" ref="a76393d59a5d54a8138ecf9a12bc03f84" args="() const" -->
const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeIdentity</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a847f1d958a70c9caf1713321a6055c52"></a><!-- doxytag: member="GF2NT::operator==" ref="a847f1d958a70c9caf1713321a6055c52" args="(const QuotientRing&lt; EuclideanDomainOf&lt; PolynomialMod2 &gt; &gt; &amp;rhs) const" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="class_quotient_ring.html">QuotientRing</a>&lt; <a class="el" href="class_euclidean_domain_of.html">EuclideanDomainOf</a>&lt; <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &gt; &gt; &amp;rhs) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3240b133d9df74c34868c11901b304fe"></a><!-- doxytag: member="GF2NT::Divide" ref="a3240b133d9df74c34868c11901b304fe" args="(const Element &amp;a, const Element &amp;b) const" -->
virtual const Element &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Divide</b> (const Element &amp;a, const Element &amp;b) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23be7c80484bc46fd8beaa0a6aefa66d"></a><!-- doxytag: member="GF2NT::Exponentiate" ref="a23be7c80484bc46fd8beaa0a6aefa66d" args="(const Element &amp;a, const Integer &amp;e) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>Exponentiate</b> (const Element &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;e) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbe859e24ea6ee1e22ed2a1261f7f9d0"></a><!-- doxytag: member="GF2NT::CascadeExponentiate" ref="acbe859e24ea6ee1e22ed2a1261f7f9d0" args="(const Element &amp;x, const Integer &amp;e1, const Element &amp;y, const Integer &amp;e2) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>CascadeExponentiate</b> (const Element &amp;x, const <a class="el" href="class_integer.html">Integer</a> &amp;e1, const Element &amp;y, const <a class="el" href="class_integer.html">Integer</a> &amp;e2) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56b1047d5e1c57d9b3c52e20af464cfe"></a><!-- doxytag: member="GF2NT::SimultaneousExponentiate" ref="a56b1047d5e1c57d9b3c52e20af464cfe" args="(Element *results, const Element &amp;base, const Integer *exponents, unsigned int exponentsCount) const" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimultaneousExponentiate</b> (Element *results, const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab48b7bf4c39d1b2bd06ac92e71e0b905"></a><!-- doxytag: member="GF2NT::MultiplicativeGroup" ref="ab48b7bf4c39d1b2bd06ac92e71e0b905" args="() const" -->
virtual const <a class="el" href="class_abstract_group.html">AbstractGroup</a><br class="typebreak"/>
&lt; <a class="el" href="class_euclidean_domain_of.html">EuclideanDomainOf</a><br class="typebreak"/>
&lt; <a class="el" href="class_polynomial_mod2.html">PolynomialMod2</a> &gt;::Element &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeGroup</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac571ac9b67ad9b7ef893c715b1ec2f43"></a><!-- doxytag: member="GF2NT::InversionIsFast" ref="ac571ac9b67ad9b7ef893c715b1ec2f43" args="() const" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>InversionIsFast</b> () const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf1b8d510593fd5a9e8111580107741b"></a><!-- doxytag: member="GF2NT::ScalarMultiply" ref="abf1b8d510593fd5a9e8111580107741b" args="(const Element &amp;a, const Integer &amp;e) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>ScalarMultiply</b> (const Element &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;e) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca3e1ca578003aff2595cc8d73522894"></a><!-- doxytag: member="GF2NT::CascadeScalarMultiply" ref="aca3e1ca578003aff2595cc8d73522894" args="(const Element &amp;x, const Integer &amp;e1, const Element &amp;y, const Integer &amp;e2) const" -->
virtual Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>CascadeScalarMultiply</b> (const Element &amp;x, const <a class="el" href="class_integer.html">Integer</a> &amp;e1, const Element &amp;y, const <a class="el" href="class_integer.html">Integer</a> &amp;e2) const</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00a5cd4b22aab947ec107ec93ad13122"></a><!-- doxytag: member="GF2NT::SimultaneousMultiply" ref="a00a5cd4b22aab947ec107ec93ad13122" args="(Element *results, const Element &amp;base, const Integer *exponents, unsigned int exponentsCount) const" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimultaneousMultiply</b> (Element *results, const Element &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ade49365898ce399a879beb3f409b4e5b"></a><!-- doxytag: member="GF2NT::m" ref="ade49365898ce399a879beb3f409b4e5b" args="" -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>m</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa96b7fc70b6b3abbc3a1eca196d7b6c"></a><!-- doxytag: member="GF2NT::m_domain" ref="afa96b7fc70b6b3abbc3a1eca196d7b6c" args="" -->
<a class="el" href="class_euclidean_domain_of.html">EuclideanDomain</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_domain</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07127b18d71b1a503e29436fce18e5b4"></a><!-- doxytag: member="GF2NT::m_modulus" ref="a07127b18d71b1a503e29436fce18e5b4" args="" -->
Element&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_modulus</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>GF(2^n) with Trinomial Basis. </p>

<p>Definition at line <a class="el" href="gf2n_8h_source.html#l00317">317</a> of file <a class="el" href="gf2n_8h_source.html">gf2n.h</a>.</p>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="gf2n_8h_source.html">gf2n.h</a></li>
<li><a class="el" href="gf2n_8cpp_source.html">gf2n.cpp</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on 9 Dec 2009 for Crypto++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>