Sophie

Sophie

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

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++: MontgomeryRepresentation 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>MontgomeryRepresentation Class Reference</h1><!-- doxytag: class="MontgomeryRepresentation" --><!-- doxytag: inherits="ModularArithmetic" -->
<p>do modular arithmetics in Montgomery representation for increased speed  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="modarith_8h_source.html">modarith.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MontgomeryRepresentation:</div>
<div class="dynsection">
 <div class="center">
  <img src="class_montgomery_representation.gif" usemap="#MontgomeryRepresentation_map" alt=""/>
  <map id="MontgomeryRepresentation_map" name="MontgomeryRepresentation_map">
<area href="class_modular_arithmetic.html" alt="ModularArithmetic" shape="rect" coords="0,112,166,136"/>
<area href="class_abstract_ring.html" alt="AbstractRing&lt; Integer &gt;" shape="rect" coords="0,56,166,80"/>
<area href="class_abstract_group.html" alt="AbstractGroup&lt; Integer &gt;" shape="rect" coords="0,0,166,24"/>
</map>
 </div>
</div>

<p><a href="class_montgomery_representation-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="a872afa5efebf43e4744156dcdfac3ca3"></a><!-- doxytag: member="MontgomeryRepresentation::RandomizationParameter" ref="a872afa5efebf43e4744156dcdfac3ca3" args="" -->
typedef int&nbsp;</td><td class="memItemRight" valign="bottom"><b>RandomizationParameter</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17f2266382639dde45d028e630e07296"></a><!-- doxytag: member="MontgomeryRepresentation::Element" ref="a17f2266382639dde45d028e630e07296" args="" -->
typedef <a class="el" href="class_integer.html">Integer</a>&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="ac65a390ac18c44b685a189047a4d3292"></a><!-- doxytag: member="MontgomeryRepresentation::MontgomeryRepresentation" ref="ac65a390ac18c44b685a189047a4d3292" args="(const Integer &amp;modulus)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>MontgomeryRepresentation</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;modulus)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a051242207625c219a03029365c4936"></a><!-- doxytag: member="MontgomeryRepresentation::Clone" ref="a7a051242207625c219a03029365c4936" args="() const " -->
virtual <a class="el" href="class_modular_arithmetic.html">ModularArithmetic</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="a47ca2277410a94e93ab6aea778269047"></a><!-- doxytag: member="MontgomeryRepresentation::IsMontgomeryRepresentation" ref="a47ca2277410a94e93ab6aea778269047" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>IsMontgomeryRepresentation</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0a6608ef5bac036beb44d8cbd5eac52"></a><!-- doxytag: member="MontgomeryRepresentation::ConvertIn" ref="ac0a6608ef5bac036beb44d8cbd5eac52" args="(const Integer &amp;a) const " -->
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>ConvertIn</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0037be677cdac1fa22375a8619abc77"></a><!-- doxytag: member="MontgomeryRepresentation::ConvertOut" ref="ad0037be677cdac1fa22375a8619abc77" args="(const Integer &amp;a) const " -->
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>ConvertOut</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac861eacde0adebc393da560f8b00fcf0"></a><!-- doxytag: member="MontgomeryRepresentation::MultiplicativeIdentity" ref="ac861eacde0adebc393da560f8b00fcf0" args="() const " -->
const <a class="el" href="class_integer.html">Integer</a> &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="aff11deaac92b4061c6c1358081ba391a"></a><!-- doxytag: member="MontgomeryRepresentation::Multiply" ref="aff11deaac92b4061c6c1358081ba391a" args="(const Integer &amp;a, const Integer &amp;b) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Multiply</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d472135bd5a92ef38f242e73420e0ad"></a><!-- doxytag: member="MontgomeryRepresentation::Square" ref="a1d472135bd5a92ef38f242e73420e0ad" args="(const Integer &amp;a) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Square</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67f4a4b470ba6663de934692e73b60ca"></a><!-- doxytag: member="MontgomeryRepresentation::MultiplicativeInverse" ref="a67f4a4b470ba6663de934692e73b60ca" args="(const Integer &amp;a) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>MultiplicativeInverse</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd3a38b45b2e1c3d1dd9e1bb43d500fe"></a><!-- doxytag: member="MontgomeryRepresentation::CascadeExponentiate" ref="acd3a38b45b2e1c3d1dd9e1bb43d500fe" args="(const Integer &amp;x, const Integer &amp;e1, const Integer &amp;y, const Integer &amp;e2) const " -->
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>CascadeExponentiate</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;x, const <a class="el" href="class_integer.html">Integer</a> &amp;e1, const <a class="el" href="class_integer.html">Integer</a> &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="a031b2e547e3c748947e295e6e44b404c"></a><!-- doxytag: member="MontgomeryRepresentation::SimultaneousExponentiate" ref="a031b2e547e3c748947e295e6e44b404c" args="(Element *results, const Element &amp;base, const Integer *exponents, unsigned int exponentsCount) const " -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SimultaneousExponentiate</b> (<a class="el" href="class_integer.html">Element</a> *results, const <a class="el" href="class_integer.html">Element</a> &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="aba88499eea9ee645c04cab392bbbd977"></a><!-- doxytag: member="MontgomeryRepresentation::DEREncode" ref="aba88499eea9ee645c04cab392bbbd977" 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="a27dc1aa752d09041ed66391dff7086cc"></a><!-- doxytag: member="MontgomeryRepresentation::DEREncodeElement" ref="a27dc1aa752d09041ed66391dff7086cc" 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 <a class="el" href="class_integer.html">Element</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a795cefe1d831bd60defc31ccce945fe7"></a><!-- doxytag: member="MontgomeryRepresentation::BERDecodeElement" ref="a795cefe1d831bd60defc31ccce945fe7" 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, <a class="el" href="class_integer.html">Element</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9f3d39f146c18589038c1373a62adf34"></a><!-- doxytag: member="MontgomeryRepresentation::GetModulus" ref="a9f3d39f146c18589038c1373a62adf34" args="() const " -->
const <a class="el" href="class_integer.html">Integer</a> &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="a2d7a07fd3831386eb9315c4e1f5fcf25"></a><!-- doxytag: member="MontgomeryRepresentation::SetModulus" ref="a2d7a07fd3831386eb9315c4e1f5fcf25" args="(const Integer &amp;newModulus)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>SetModulus</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;newModulus)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae65516727b454f9f6d48bed9ebbc167"></a><!-- doxytag: member="MontgomeryRepresentation::Half" ref="aae65516727b454f9f6d48bed9ebbc167" args="(const Integer &amp;a) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Half</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaffad53421b276602f8219c5e21ba052"></a><!-- doxytag: member="MontgomeryRepresentation::Equal" ref="aaffad53421b276602f8219c5e21ba052" args="(const Integer &amp;a, const Integer &amp;b) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>Equal</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fdc1decac3957e7e8231f95e6621804"></a><!-- doxytag: member="MontgomeryRepresentation::Identity" ref="a1fdc1decac3957e7e8231f95e6621804" args="() const " -->
const <a class="el" href="class_integer.html">Integer</a> &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="a8e1b2eff202b57b3ea16080c2f06e318"></a><!-- doxytag: member="MontgomeryRepresentation::Add" ref="a8e1b2eff202b57b3ea16080c2f06e318" args="(const Integer &amp;a, const Integer &amp;b) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Add</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2dbbc7868764d236204b7eaa04284297"></a><!-- doxytag: member="MontgomeryRepresentation::Accumulate" ref="a2dbbc7868764d236204b7eaa04284297" args="(Integer &amp;a, const Integer &amp;b) const " -->
<a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Accumulate</b> (<a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e3a9d9ae5e151fdd75f00f7c22bdda3"></a><!-- doxytag: member="MontgomeryRepresentation::Inverse" ref="a7e3a9d9ae5e151fdd75f00f7c22bdda3" args="(const Integer &amp;a) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Inverse</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f2d714e41224436ade3f1de4f89c5ef"></a><!-- doxytag: member="MontgomeryRepresentation::Subtract" ref="a8f2d714e41224436ade3f1de4f89c5ef" args="(const Integer &amp;a, const Integer &amp;b) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Subtract</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2810eeb09d7dd4bf862365875f7b4237"></a><!-- doxytag: member="MontgomeryRepresentation::Reduce" ref="a2810eeb09d7dd4bf862365875f7b4237" args="(Integer &amp;a, const Integer &amp;b) const " -->
<a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Reduce</b> (<a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2704ef13b1d9109569613196de4a4915"></a><!-- doxytag: member="MontgomeryRepresentation::Double" ref="a2704ef13b1d9109569613196de4a4915" args="(const Integer &amp;a) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Double</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90ca6f6591e3e5553dc7b9e94dad100d"></a><!-- doxytag: member="MontgomeryRepresentation::IsUnit" ref="a90ca6f6591e3e5553dc7b9e94dad100d" args="(const Integer &amp;a) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>IsUnit</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9c4550655ec60ea34480060f56061b0"></a><!-- doxytag: member="MontgomeryRepresentation::Divide" ref="af9c4550655ec60ea34480060f56061b0" args="(const Integer &amp;a, const Integer &amp;b) const " -->
const <a class="el" href="class_integer.html">Integer</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Divide</b> (const <a class="el" href="class_integer.html">Integer</a> &amp;a, const <a class="el" href="class_integer.html">Integer</a> &amp;b) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d60d15f789a4f3ebd3329fefc77500e"></a><!-- doxytag: member="MontgomeryRepresentation::MaxElementBitLength" ref="a9d60d15f789a4f3ebd3329fefc77500e" 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="a36b7eb53ab95d5ecafc3039fdcfa9077"></a><!-- doxytag: member="MontgomeryRepresentation::MaxElementByteLength" ref="a36b7eb53ab95d5ecafc3039fdcfa9077" 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="a28cca24d8c6c897dfbe60e8cde880b5c"></a><!-- doxytag: member="MontgomeryRepresentation::RandomElement" ref="a28cca24d8c6c897dfbe60e8cde880b5c" args="(RandomNumberGenerator &amp;rng, const RandomizationParameter &amp;ignore_for_now=0) const " -->
<a class="el" href="class_integer.html">Element</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>RandomElement</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &amp;rng, const RandomizationParameter &amp;ignore_for_now=0) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a84667a0345e770fd189fcaa0e33865"></a><!-- doxytag: member="MontgomeryRepresentation::operator==" ref="a5a84667a0345e770fd189fcaa0e33865" args="(const ModularArithmetic &amp;rhs) const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="class_modular_arithmetic.html">ModularArithmetic</a> &amp;rhs) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23be7c80484bc46fd8beaa0a6aefa66d"></a><!-- doxytag: member="MontgomeryRepresentation::Exponentiate" ref="a23be7c80484bc46fd8beaa0a6aefa66d" args="(const Element &amp;a, const Integer &amp;e) const" -->
virtual <a class="el" href="class_integer.html">Element</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>Exponentiate</b> (const <a class="el" href="class_integer.html">Element</a> &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="ab48b7bf4c39d1b2bd06ac92e71e0b905"></a><!-- doxytag: member="MontgomeryRepresentation::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_integer.html">Integer</a> &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="MontgomeryRepresentation::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="MontgomeryRepresentation::ScalarMultiply" ref="abf1b8d510593fd5a9e8111580107741b" args="(const Element &amp;a, const Integer &amp;e) const" -->
virtual <a class="el" href="class_integer.html">Element</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>ScalarMultiply</b> (const <a class="el" href="class_integer.html">Element</a> &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="MontgomeryRepresentation::CascadeScalarMultiply" ref="aca3e1ca578003aff2595cc8d73522894" args="(const Element &amp;x, const Integer &amp;e1, const Element &amp;y, const Integer &amp;e2) const" -->
virtual <a class="el" href="class_integer.html">Element</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>CascadeScalarMultiply</b> (const <a class="el" href="class_integer.html">Element</a> &amp;x, const <a class="el" href="class_integer.html">Integer</a> &amp;e1, const <a class="el" href="class_integer.html">Element</a> &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="MontgomeryRepresentation::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> (<a class="el" href="class_integer.html">Element</a> *results, const <a class="el" href="class_integer.html">Element</a> &amp;base, const <a class="el" href="class_integer.html">Integer</a> *exponents, unsigned int exponentsCount) const</td></tr>
<tr><td colspan="2"><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bc237302baf05d7a7dcf7469eb2d331"></a><!-- doxytag: member="MontgomeryRepresentation::DefaultRandomizationParameter" ref="a0bc237302baf05d7a7dcf7469eb2d331" args="" -->
static const RandomizationParameter&nbsp;</td><td class="memItemRight" valign="bottom"><b>DefaultRandomizationParameter</b></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4abc2cc7581f81095609dd78a1ac8a01"></a><!-- doxytag: member="MontgomeryRepresentation::m_modulus" ref="a4abc2cc7581f81095609dd78a1ac8a01" args="" -->
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_modulus</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab42adbb0d0c82611e3bcc2be2ac26f2f"></a><!-- doxytag: member="MontgomeryRepresentation::m_result" ref="ab42adbb0d0c82611e3bcc2be2ac26f2f" args="" -->
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_result</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38e0eb807c66bef02cb5e1e808e10da4"></a><!-- doxytag: member="MontgomeryRepresentation::m_result1" ref="a38e0eb807c66bef02cb5e1e808e10da4" args="" -->
<a class="el" href="class_integer.html">Integer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_result1</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>do modular arithmetics in Montgomery representation for increased speed </p>
<dl class="note"><dt><b>Note:</b></dt><dd>the Montgomery representation represents each congruence class [a] as a*rn, where r is a convenient power of 2 </dd></dl>

<p>Definition at line <a class="el" href="modarith_8h_source.html#l00122">122</a> of file <a class="el" href="modarith_8h_source.html">modarith.h</a>.</p>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modarith_8h_source.html">modarith.h</a></li>
<li><a class="el" href="integer_8cpp_source.html">integer.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>