问题概述
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秒。
解密得明文:
m=123456789123456789123456789123456789000000000111111111222222222333333333444444444555555555666666666777777777888888888999999999。
尝试将解密所得明文转换为16进制进行字符编码查询,发现没有对应的可读文字。