Rabin加密解密算法

取两个大素数p和q,n=pq
选择这样的pq可以方便简化计算

加密:
为明文空间,选择 为某一明文,加密公式为 .
例子:p=7,q=11,n=77,P={0,...,76},当m=20时,密文c=400 % 77 = 15


解密:
当n无法分解时,我们是无法计算的,还是刚才的例子,我们假设已经用某种方法得到了n=pq,即77=7*11
已知n=77,77=7*11,明文c=15,求密文m

先计算在同余意义下的平方根
时,更方便计算,公式为:
.
计算得到: .

然后,根据扩展欧几里得算法,求得: and ,使得其满足:
算得:  , .

根据中国剩余定理,最后的明文空间为:

代入计算得到: .
小性质:  = p 或者   = q

全部评论

相关推荐

11-30 11:07
河南大学 Java
宇宙厂 测开 n*15
丘丘给个offer:有后选后
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务