利用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"加解密。说明:为了方便实现,分组可以小一点,比如两个字母一组。
1)利用扩展的Euclid计算 a mod n 的乘法逆元;
2)Miller-Rabin素性测试算法对一个给定的大数进行测试;
3)实现 的运算,并计算
4)利用Euler定理手工计算 ,并与3)计算的结果对比;
5)实现RSA算法。并对"I LOVE NANJING UNIVERSITY OF AERONAUTICS AND ASTRONAUTICS"加解密。说明:为了方便实现,分组可以小一点,比如两个字母一组。
原始性测试:
这是Python中实现的各种概率素性测试算法的自述文件,从最基本和最古老的素性测试算法Fermat的测试开始。
素数测试算法的行为取决于馈给素数测试算法的整数n的不同:
The answer is either: n is a composite (not a prime) or
The answer is: n is a probable prime
但是,第一个条件始终为真,或者第二个条件为高概率。 尽管在极少数情况下,整数可能会提示“素数”语句,但会撒谎,即产生错误