【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加解密

1RSA加密算法由五个部分组成:

原文(Message)密文(Ciphertext)公钥(Public Key)私钥(Secret Key)加密算法(Encryption)解密算法(Decryption)。

2RSA求公钥私钥步骤如下:

1)随机选择两个不相同的素数 p,q 

posted @ 2022-11-01 15:29  轻闲一号机  阅读(6)  评论(0)    收藏  举报  来源