利用C\C++实现RSA算法的加、解密运算。 具体包括: 1) 利用扩展的EUCLID计算 a mod n 的乘法逆元; 2) Miller-Rabin素性测试算法对一个给定的大数进行测试; 3) 实现 的运算,并计算 ; 4) 利用Fermat定理手工计算 ,并与3)计算的结果对比; 5) 实现RSA算法。并对"I LOVE THE PEOPLE'S REPUBLIC OF CHINA"加解密。说明:为了方便实现,分组可以小一点,比如两个字母一组。
//by史瑞 #include #include #define bool int #define true 1 #define false 0 #define M 2//判断多少个数互素 static long int Number[M]={170,201}; bool JudgePrime(long int Ina,long int Inb){ long int r,q,t=0,v=1,temp; long int a,b; if(Ina>=Inb){ a=Ina; b=Inb; }
ACM 算法模板集 Contents 一. 常用函数与STL 二. 重要公式与定理 1. Fibonacci Number 2. Lucas Number 3. Catalan Number 4. Stirling Number(Second Kind) 5. Bell Number 6. Stirling's Approximation 7. Sum of Reciprocal Approximation 8. Young Tableau 9. 整数划分 10. 错排公式 11. 三角形内切
1)利用扩展的Euclid计算 a mod n 的乘法逆元;
2)Miller-Rabin素性测试算法对一个给定的大数进行测试;
3)实现 的运算,并计算
4)利用Euler定理手工计算 ,并与3)计算的结果对比;
5)实现RSA算法。并对"I LOVE NANJING UNIVERSITY OF AERONAUTICS AND ASTRONAUTICS"加解密。说明:为了方便实现,分组可以小一点,比如两个字母一组。