Sagemath | 基于中国剩余定理的Rabin加密

问题概述

A利用Rabin加密,将明文m同时向两个人加密发送,已知:

N1=121028590369755784739110550699305598499609862755803939162324470112632116830848070452567682577092156035673157938109144584692626381544335983440381785961,

C1=78496919434910677387779975822700104965437164122745273424790552462260853325528024262924662934465932682672971426938888247361408697646908281977551821059,

N2=12759131933205116377405981097827069263819153794779240501221023570979700501187300338412516869108097329524926001140008565784935251215375305274181234160090023961,

C2=4263038225336941948066565627557476097176286456850657462432536533051891228040904417243178649321357621222457951953853009181274195003060942076837203983376005537,

试解密出明文m。

分析

原理:在两次不同的加密中,明文m是相同的,也就是m^2=C1(mod N1),m^2=C2(mod N2),由中国剩余定理解出m^2,开方即得m。

利用sagemath进行基于中国剩余定理Rabin加密的解密运算,整个过程2分15秒。
Sagemath | 基于中国剩余定理的Rabin加密
解密得明文:

m=123456789123456789123456789123456789000000000111111111222222222333333333444444444555555555666666666777777777888888888999999999。

尝试将解密所得明文转换为16进制进行字符编码查询,发现没有对应的可读文字。

相关文章:

猜你喜欢
  • 2021-06-20
  • 2021-12-18
  • 2021-10-18
  • 2021-10-25
  • 2021-11-02
  • 2021-04-16
相关资源
相似解决方案