mersenneforum.org > Math a^n mod m (with large n)
 Register FAQ Search Today's Posts Mark Forums Read

 2010-05-08, 18:46 #1 Romulas   Apr 2010 19 Posts a^n mod m (with large n) Now, the problem I'm having is with the equation a^n mod m, where n happens to be very large. In this case, a^n will be computed before being reduced by mod m, so the calculations can be very strenuous. However, Maple has a convenient &^ operator for reducing a^n along the way. It is used as a&^n mod m. This is much more efficient and saves much computation when attempting to mod by m. I am a confused as to how an algorithm can be constructed to simulate the effects of the &^ operator. Maple Help doesn't have a name for it, so I couldn't really do a good search. Does anyone have some good references?
 2010-05-08, 19:03 #2 axn     Jun 2003 124748 Posts google "modular exponentiation"
2010-05-08, 19:24   #3
Romulas

Apr 2010

19 Posts

Quote:
 Originally Posted by axn google "modular exponentiation"
Awesome! Thanks for the quick reply!

 2010-05-08, 20:11 #4 Raman Noodles     "Mr. Tuch" Dec 2007 Chennai, India 3×419 Posts mod_pow(a,n,m) If n=1 then return a (mod m) Else If n is even, then return mod_pow(a2,n/2,m) Else If n is odd, then return a*mod_pow(a2,(n-1)/2,m) O(log n) time only it takes for that process Hint: an (mod m) Keep a variable X = a for iteration i=1 Write n in binary Start with product = 1 For each bit of n from right to left, ( if that bit = 1 then product = product * X if that bit = 0 then don't change product square X )

 Similar Threads Thread Thread Starter Forum Replies Last Post VolMike YAFU 18 2012-04-09 21:39 jasonp Msieve 24 2010-06-01 19:14 jasonp Factoring 4 2007-12-04 18:32 fivemack Factoring 18 2007-05-10 12:14 pacionet Data 4 2005-11-04 20:10

All times are UTC. The time now is 05:03.

Fri Feb 3 05:03:27 UTC 2023 up 169 days, 2:32, 1 user, load averages: 1.22, 0.94, 0.84

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔