<!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 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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 <<a class="el" href="modarith_8h_source.html">modarith.h</a>></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< Integer >" shape="rect" coords="0,56,166,80"/> <area href="class_abstract_group.html" alt="AbstractGroup< Integer >" 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 </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> </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 &modulus)" --> </td><td class="memItemRight" valign="bottom"><b>MontgomeryRepresentation</b> (const <a class="el" href="class_integer.html">Integer</a> &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> * </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 </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 &a) const " --> <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><b>ConvertIn</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><b>ConvertOut</b> (const <a class="el" href="class_integer.html">Integer</a> &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> & </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 &a, const Integer &b) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Multiply</b> (const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Square</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>MultiplicativeInverse</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &x, const Integer &e1, const Integer &y, const Integer &e2) const " --> <a class="el" href="class_integer.html">Integer</a> </td><td class="memItemRight" valign="bottom"><b>CascadeExponentiate</b> (const <a class="el" href="class_integer.html">Integer</a> &x, const <a class="el" href="class_integer.html">Integer</a> &e1, const <a class="el" href="class_integer.html">Integer</a> &y, const <a class="el" href="class_integer.html">Integer</a> &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 &base, const Integer *exponents, unsigned int exponentsCount) const " --> void </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> &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 &bt) const " --> void </td><td class="memItemRight" valign="bottom"><b>DEREncode</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &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 &out, const Element &a) const " --> void </td><td class="memItemRight" valign="bottom"><b>DEREncodeElement</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &out, const <a class="el" href="class_integer.html">Element</a> &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 &in, Element &a) const " --> void </td><td class="memItemRight" valign="bottom"><b>BERDecodeElement</b> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &in, <a class="el" href="class_integer.html">Element</a> &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> & </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 &newModulus)" --> void </td><td class="memItemRight" valign="bottom"><b>SetModulus</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Half</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a, const Integer &b) const " --> bool </td><td class="memItemRight" valign="bottom"><b>Equal</b> (const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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> & </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 &a, const Integer &b) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Add</b> (const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 &a, const Integer &b) const " --> <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Accumulate</b> (<a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Inverse</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a, const Integer &b) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Subtract</b> (const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 &a, const Integer &b) const " --> <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Reduce</b> (<a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Double</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a) const " --> bool </td><td class="memItemRight" valign="bottom"><b>IsUnit</b> (const <a class="el" href="class_integer.html">Integer</a> &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 &a, const Integer &b) const " --> const <a class="el" href="class_integer.html">Integer</a> & </td><td class="memItemRight" valign="bottom"><b>Divide</b> (const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 </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 </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 &rng, const RandomizationParameter &ignore_for_now=0) const " --> <a class="el" href="class_integer.html">Element</a> </td><td class="memItemRight" valign="bottom"><b>RandomElement</b> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const RandomizationParameter &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 &rhs) const " --> bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="class_modular_arithmetic.html">ModularArithmetic</a> &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 &a, const Integer &e) const" --> virtual <a class="el" href="class_integer.html">Element</a> </td><td class="memItemRight" valign="bottom"><b>Exponentiate</b> (const <a class="el" href="class_integer.html">Element</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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"/> < <a class="el" href="class_integer.html">Integer</a> > & </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 </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 &a, const Integer &e) const" --> virtual <a class="el" href="class_integer.html">Element</a> </td><td class="memItemRight" valign="bottom"><b>ScalarMultiply</b> (const <a class="el" href="class_integer.html">Element</a> &a, const <a class="el" href="class_integer.html">Integer</a> &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 &x, const Integer &e1, const Element &y, const Integer &e2) const" --> virtual <a class="el" href="class_integer.html">Element</a> </td><td class="memItemRight" valign="bottom"><b>CascadeScalarMultiply</b> (const <a class="el" href="class_integer.html">Element</a> &x, const <a class="el" href="class_integer.html">Integer</a> &e1, const <a class="el" href="class_integer.html">Element</a> &y, const <a class="el" href="class_integer.html">Integer</a> &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 &base, const Integer *exponents, unsigned int exponentsCount) const" --> virtual void </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> &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 </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> </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> </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> </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 <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>