RSA-低加密指数攻击&密文为base64编码的脚本
n = 27262030738190162906068533309218248319312037416856794814532459866130196673561833084739048171769479893806671499522643803412108279907223895517897969906253626028270289028646596897429641138913001561947557784840311014399973312098056896539904624036584153785225626096007313018814076860235378686567457599895712604364100507424939342862464483596795761725357279364545154915110900098124905389351969357103586063992040096368146580315262263546850581515833590884397726108478477798668261762306189036525841356592859315437201733146083995028221597538824801113980100295046731791678895520928441645173205511865657977068061078456941189550383 e = 3 c1 = FATe12RvmXf/xIGAvNprfAQUpt1RBFw1m/zXkDKGr/vNjy9mTyT/2khYY5zcRB68fiuaehpa5HqhYprATPNty1ui+3KhW4iUBZC0J7/6zCPwocHPouHrNq3NAXhLgxYKrZkr+elHcCaP9Qz8Y6V9fH6THuWRNNVqxnaima5HdVaxxzFUYkM53fvqmsaNZEpWuFDz c2 = FATe12RvmXf/xIGAvNprfAQUpt1RBFw1m/zXkDKGr/vNjy9mTyT/2khYY5zcRB68j7m+E97aqeoObnxAe3oAKXY3RgH2FyW3oKuVYTx5VxGjCksbPd5cK2mqY/yc8qSgQ/v3JREuSAPNc1muPCv9A+FcnU6m9BHERDOxyUuZosK66GTyirqVTaC2YnviYVnoyVJT
在RSA中e也称为加密指数。选取小一点的e可以缩短加密时间,但是选取不当的话,就会造成安全问题。
import gmpy2 import libnum import base64 c1 = "FATe12RvmXf/xIGAvNprfAQUpt1RBFw1m/zXkDKGr/vNjy9mTyT/2khYY5zcRB68fiuaehpa5HqhYprATPNty1ui+3KhW4iUBZC0J7/6zCPwocHPouHrNq3NAXhLgxYKrZkr+elHcCaP9Qz8Y6V9fH6THuWRNNVqxnaima5HdVaxxzFUYkM53fvqmsaNZEpWuFDz" c2 = "FATe12RvmXf/xIGAvNprfAQUpt1RBFw1m/zXkDKGr/vNjy9mTyT/2khYY5zcRB68j7m+E97aqeoObnxAe3oAKXY3RgH2FyW3oKuVYTx5VxGjCksbPd5cK2mqY/yc8qSgQ/v3JREuSAPNc1muPCv9A+FcnU6m9BHERDOxyUuZosK66GTyirqVTaC2YnviYVnoyVJT" n = 27262030738190162906068533309218248319312037416856794814532459866130196673561833084739048171769479893806671499522643803412108279907223895517897969906253626028270289028646596897429641138913001561947557784840311014399973312098056896539904624036584153785225626096007313018814076860235378686567457599895712604364100507424939342862464483596795761725357279364545154915110900098124905389351969357103586063992040096368146580315262263546850581515833590884397726108478477798668261762306189036525841356592859315437201733146083995028221597538824801113980100295046731791678895520928441645173205511865657977068061078456941189550383 e = 3 b=base64.b64decode(c2) c=libnum.s2n(b) m = gmpy2.iroot(c,e)[0] s= libnum.n2s(m) print s