【Crypto】RSA
参考:CTF中关于RSA的常见题型_abtgu的博客-CSDN博客_ctf rsa题目
1. RSA算法需要的基础知识:

(5)判断互质数:
1)两个质数一定是互质数。
2)一个质数如果不能整除另一个合数(合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数),这两个数为互质数。例如,3与10、5与 26。
3)1不是质数也不是合数,它和任何一个自然数在一起都是互质数。
4)相邻的两个自然数是互质数。如 15与16。
5)相邻的两个奇数是互质数。如 49与 51。
6)大数是质数的两个数是互质数。如97与88。
7)小数是质数,大数不是小数的倍数的两个数是互质数。如 7和16。
8)两个数都是合数(二数差又较大),小数所有的质因数,都不是大数的约数(因数),这两个数是互质数。如357与715,357=3×7×17,而3、7和17都不是715的约数,这两个数为互质数。
等等。。。
(6)什么是模运算与模指数运算?
模运算是整数运算,有一个整数m,以n为模做模运算,即m mod n。让m被n整除,只取所得的余数作为结果,就叫做模运算。例如,10 mod 3=1;26 mod 6=2;28 mod 2 =0等等。
模指数运算就是先做指数运算,取其结果再做模运算。如(5^3) mod 7 = (125 mod 7) = 6。
2. RSA加解密
(1)RSA加密算法由五个部分组成:
原文(Message)、密文(Ciphertext)、公钥(Public Key)、私钥(Secret Key)、加密算法(Encryption)、解密算法(Decryption)。
(2)RSA求公钥私钥步骤如下:
1)随机选择两个不相同的素数 p,q 。
浙公网安备 33010602011771号