Can you summarize the following document?
        
  計算模冪的最直接方法是直接算出,再把結果模除。假設已知,,以及,要求:  可用計算器算得4結果為67,108,864,模除497,可得等於445。  注意到只有一位,也只有兩位,但的值卻有8位。  強加密時通常至少有1024位。考慮和的情況,b的長度為77位,e的長度為2位,但是的值以十進位制表示卻已經有1304位。現代計算機雖然可以進行這種計算,但計算速度卻大大降低。  用這種演算法求模冪所需的時間取決於操作環境和處理器,時間複雜度為。

  這種方法比第一種所需要的步驟更多,但所需記憶體和時間均大為減少,其原理為: 給定兩個整數和,以下兩個等式是等價的:  演算法如下:  再以,,為例說明,演算法第三步需要執行13次:  因此最終結果為445,與第一種方法所求結果相等。  與第一種方法相同,這種演算法需要的時間才能完成。但是,由於在計算過程中處理的數字比第一種演算法小得多,因此計算時間至少減少了倍。  演算法虛擬碼如下:

  第三種方法結合了第二種演算法和平方求冪原理,使所需步驟大大減少,同時也與第二種方法一樣減少了記憶體佔用量。  首先把表示成二進位制,即:  此時的長度為位。對任意(),可取0或1任一值。由定義有。  的值可寫作:  因此答案即為:

  下述虛擬碼基於布魯斯·施奈爾所著《應用密碼學》。其中base,exponent和modulus分別對應上式中的,和。  注意到在首次進入迴圈時,變數base等於。在第三行程式碼中重複執行平方運算,會確保在每次迴圈結束時,變數base等於,其中是迴圈執行次數。  本例中,底數的指數為formula_4。 指數用二進位制表示為1101,有4位,故迴圈執行4次。 4位數字從右到左依次為1,0,1,1。  首先,初始化結果formula_5為1,並將的值儲存在變數中: 綜上,為formula_13。  以下計算formula_14的formula_4次方對497求模的結果。  初始化:  綜上,為formula_24,與先前演算法中所得結果相同。  該演算法時間複雜度為exponent。指數exponent值較大時,這種演算法與前兩種exponent演算法相比具有明顯的速度優勢。例如,如果指數為2 = 1048576,此演算法只需執行20步,而非1,048,576步。

  function modPow(b,e,m)

  鑑於模冪運算是電腦科學中的重要操作,並且已有高效演算法,所以許多程式語言和高精度整數庫都有執行模冪運算的函式:
模冪(英語:modular exponentiation)是一種對模進行的冪運算,在電腦科學,尤其是公開金鑰加密方面有一定用途。