网络安全-练习RSA算法

练习RSA算法

已知RSA算法中,素数p=5,q=7,模数n=35,公钥e=5,明文为bed,对明文进行加解密,使用手工完成RSA公开秘钥密码体制算法加密运算。字母数字映射表如下:

请参考:https://www.cnblogs.com/jiftle/p/7903762.html

(1)设计公私密钥(e,n)和(d,n)
根据题设,p=5,q=7,故
模数n=5×7=35;f(n)=(p-1)(q-1)=4×6=24;取e=7,则e×d≡1 mod f(n),即
7×d≡1 mod 24。
下面通过试算的办法来确定d的取值:见下表

通过试算我们找到,当d=7时,e×d≡1 mod f(n)同余等式成立。所以,令d=7。此时,加密密钥(公钥)为:KU=(e,n)=(5,35),解密密钥(私钥)为KR=(d,n)=(7,35)。
(2)英文数字化
将明文信息数字化,并将每块两个数字分组。假定明文英文字母编码表为按
字母按字母排序排列数值,即:

则得到分组后的key的明文信息为02,05,04。

(3)明文加密
用户加密密钥(5,35)将数字化明文分组信息加密成密文。由C≡Me(mod n)得:
相应的密文信息为23,5,4。

(4)密文解密
用户B收到密文,通过计算M≡Cd(mod n)得到明文:02,05,04。根据上面的编码表将其转换成英文,得到原文“bed”。

RSA加密算法是一种非对称的加密算法,非常的巧妙,需要有比较深的相应的数学知识的学习和理解,才能更好地理解RSA加密算法,这里只是简单的模拟了一下RSA算法的加密和解密过程,从而使我们对RSA算法有一个初步的了解。

全部评论

相关推荐

牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务