在眾多的加密演算法中都需要進行冪的取模運算,比如在rsa演算法中需要計算d=ne mod n,我們稱之為冪模演算法,其中:
其中n,e都是非常大的數,ne mod n用演算法導論中的反覆平方法,具體**如下:
package cn.ansj;
public class modulaexponentiation
system.out.println("b"+i+"="+cb[i]+";"+"c="+c+";"+"d="+d+";");//列印迭代結果
} */
}}
執行結果:
b表示成二進位制:1000110000
b9=1;c=1;d=7;
b8=0;c=2;d=49;
b7=0;c=4;d=157;
b6=0;c=8;d=526;
b5=1;c=17;d=160;
b4=1;c=35;d=241;
b3=0;c=70;d=298;
b2=0;c=140;d=166;
b1=0;c=280;d=67;
b0=0;c=560;d=1;
《演算法導論》中的演算法實現
插入排序 param a param desc 公升序 public static void insert integer a,integer desc key a i for int k 0 k a.length k 選擇排序法 param a public static void select ...
平方乘演算法和模重複平方根演算法實現
c語言實現方式 include int main j i printf 模重複平方根演算法 n for i 0 i j i a1 a1 a1 n1 printf i d,s d,a d n mm i s1,a1 printf 最終結果為 s d n n n s1 for i 0 i j 2 i cn...
演算法導論 快速排序實現
package search 快速排序演算法導論 public class quicksort1 quicksort1 q new quicksort1 q.quicksort arr,0,arr.length 1 q.print1 arr 合併 public void quicksort int ...