用RSA算法加密时,已知公钥是(e=7,n=20),私钥是(d=3,n=20),用公钥对消息m=3加密,得到的秘文是?
问题描述:
用RSA算法加密时,已知公钥是(e=7,n=20),私钥是(d=3,n=20),用公钥对消息m=3加密,得到的秘文是?
m的e次方=3的7次方=2187 2187mod n =2187mod20=7
这里是怎么用2187mod20=7的?
不懂 主要是对mod不明白
这不是我的系统 只是一道计算机3级考试题目而已
答
mod 是一种整数之间的相互运算,就是通常所说的取余数运算.例如:
2187mod20=7就表示2187除以20,余数是7.更常见的表示方法是2187=7(mod 20)
注意这里的等号通常都写成恒等号(就是三横,我这里打不出恒等号).相应地读作2187与7关于模(即mod)20同余.关于同余有一套比较完整的理论,这是数论里的内容,本题只需要一些比较基础的数论知识.
一般来讲,公开密钥系统的公钥都是取两个大素数.对这两个大素数进行一系列的运算,详细的内容可以参考百科.本题里由于d与n,e与n互素,所以也可算.
本题就是对消息m=3的加密.利用公钥以及加密方法即得 密文=m^e对n=20取模.
结果就是3^7=2187=7(mod20).反过来,现在得到了密文7,那么利用解密密钥
d=3就知道 原文m=(密文)^3=7^3=343=3(mod 20),也就是原文是3.