Set R to (B^E) modulo M, where R = {<spanclass="parameter">rp</span>, <spanclass="parameter">n</span>}, M = {<spanclass="parameter">mp</span>, <spanclass="parameter">n</span>}, and E = {<spanclass="parameter">ep</span>, ceil(<spanclass="parameter">enb</span> / <ahref="f88c76a8-118a-5cbd-0df1-e30adcacb8ae.htm">mp_bits_per_limb</a>)}.
</pre></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4class="subHeading">Parameters</h4><dl><dt><spanclass="parameter">rp</span></dt><dd>Type:<ahref="4609ac5e-5cf9-cd20-2fa9-8040101c165c.htm">Math.Gmp.Native<spanid="LST3000F4B0_1"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_ptr</a><br/>The result operand.</dd><dt><spanclass="parameter">bp</span></dt><dd>Type:<ahref="4609ac5e-5cf9-cd20-2fa9-8040101c165c.htm">Math.Gmp.Native<spanid="LST3000F4B0_2"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_ptr</a><br/>The first operand integer.</dd><dt><spanclass="parameter">bn</span></dt><dd>Type:<ahref="4b58a584-7a0e-b600-18fa-ebd493861eb3.htm">Math.Gmp.Native<spanid="LST3000F4B0_3"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_3?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_size_t</a><br/>The number of limbs of <spanclass="parameter">bp</span>.</dd><dt><spanclass="parameter">ep</span></dt><dd>Type:<ahref="4609ac5e-5cf9-cd20-2fa9-8040101c165c.htm">Math.Gmp.Native<spanid="LST3000F4B0_4"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_4?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_ptr</a><br/>The second operand integer.</dd><dt><spanclass="parameter">enb</span></dt><dd>Type:<ahref="1b2b1d64-20c1-7a64-0278-d9ff58ee9cc3.htm">Math.Gmp.Native<spanid="LST3000F4B0_5"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_5?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_bitcnt_t</a><br/>The number of limbs of <spanclass="parameter">ep</span>.</dd><dt><spanclass="parameter">mp</span></dt><dd>Type:<ahref="4609ac5e-5cf9-cd20-2fa9-8040101c165c.htm">Math.Gmp.Native<spanid="LST3000F4B0_6"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_6?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_ptr</a><br/>The third operand integer.</dd><dt><spanclass="parameter">n</span></dt><dd>Type:<ahref="4b58a584-7a0e-b600-18fa-ebd493861eb3.htm">Math.Gmp.Native<spanid="LST3000F4B0_7"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_7?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_size_t</a><br/>The number of limbs of <spanclass="parameter">mp</span>.</dd><dt><spanclass="parameter">tp</span></dt><dd>Type:<ahref="4609ac5e-5cf9-cd20-2fa9-8040101c165c.htm">Math.Gmp.Native<spanid="LST3000F4B0_8"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST3000F4B0_8?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mp_ptr</a><br/>The scratch operand integer.</dd></dl></div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID2RB')"onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)"tabindex="0"><imgid="ID2RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Remarks</span></div><divid="ID2RBSection"class="collapsibleSection"><p>
This function requires scratch space of <ahref="96652cce-b8f1-0b9e-8434-19cf9bb3eb29.htm">mpn_sec_powm_itch</a>(<spanclass="parameter">bn</span>, <spanclass="parameter">enb</span>, <spanclass="parameter">n</span>)
gmp_lib.free(rp, bp, ep, mp, tp, result)</pre></div><divid="ID0EDAABA_code_Div3"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div><divid="ID0EDAABA_code_Div4"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDAABA");</script></div><divclass="collapsibleAreaRegion"id="seeAlsoSection"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID4RB')"onkeypress="SectionExpandCollapse_CheckKey('ID4RB', event)"tabindex="0"><imgid="ID4RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>See Also</span></div><divid="ID4RBSection"class="collapsibleSection"><h4class="subHeading">Reference</h4><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm">gmp_lib Class</a></div><divclass="seeAlsoStyle"><ahref="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm">Math.Gmp.Native Namespace</a></div><divclass="seeAlsoStyle"><ahref="27902901-3a7d-b5b3-d3fc-3900f754bff1.htm">mpn_cnd_add_n</a></div><divclass="seeAlsoStyle"><ahref="b82bad6a-f8f0-db53-a6d3-ed6002046257.htm">mpn_cnd_sub_n</a></div><divclass="seeAlsoStyle"><ahref="1555cd52-98d2-6253-214a-d342a539bfb5.htm">mpn_sec_add_1</a></div><divclass="seeAlsoStyle"><ahref="9137a632-abd2-7963-1991-85e6d753bf13.htm">mpn_sec_sub_1</a></div><divclass="seeAlsoStyle"><ahref="f0985ccc-17da-8a0b-066c-53df9b1921a1.htm">mpn_cnd_swap</a></div><divclass="seeAlsoStyle"><ahref="028e92d4-3699-77ff-e8da-9ff4c367f5b3.htm">mpn_sec_mul</a></div><divclass="seeAlsoStyle"><ahref="bfe1e9b5-6fc1-95f2-d5b6-137fe87c071a.htm">mpn_sec_sqr</a></div><divclass="seeAlsoStyle"><ahref="96652cce-b8f1-0b9e-8434-19cf9bb3eb29.htm">mpn_sec_powm_itch</a></div><divclass="seeAlsoStyle"><ahref="3588cf60-567a-6182-20e8-5e2836498f49.htm">mpn_sec_tabselect</a></div><divclass="seeAlsoStyle"><ahref="6f1dca2b-39f4-3acd-71fb-4f1e5a0d04e6.htm">mpn_sec_div_qr</a></div><divclass="seeAlsoStyle"><ahref="094ea390-8cc8-bac7-35c3-3616775736de.htm">mpn_sec_div_r</a></div><divclass="seeAlsoStyle"><ahref="62ffb793-b32f-e0dc-a399-f20fe708a803.htm">mpn_sec_invert</a></div><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"><ahref="/html/3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm#Low_level_functions_for_cryptography">Low-level functions for cryptography</a></a></div><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"><ahref="https://gmplib.org/manual/Low_002dlevel-Functions.html#Low_002dlevel-Functions">GNU MP - Low-level Functions</a></a></div></div></div></div><divid="pageFooter"class="pageFooter"></div></body></html>