zoukankan      html  css  js  c++  java
  • Buuctf-RSA1

    p = 8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229 
    q = 12640674973996472769176047937170883420927050821480010581593137135372473880595613737337630629752577346147039284030082593490776630572584959954205336880228469 
    dp = 6500795702216834621109042351193261530650043841056252930930949663358625016881832840728066026150264693076109354874099841380454881716097778307268116910582929 
    dq = 783472263673553449019532580386470672380574033551303889137911760438881683674556098098256795673512201963002175438762767516968043599582527539160811120550041 
    c = 24722305403887382073567316467649080662631552905960229399079107995602154418176056335800638887527614164073530437657085079676157350205351945222989351316076486573599576041978339872265925062764318536089007310270278526159678937431903862892400747915525118983959970607934142974736675784325993445942031372107342103852

    RSA中已知dq,dp的计算m步骤(dp=dmod(p-1),dq=dmod(q-1)):
    (1).计算q模p的逆元I;
    (2).计算m1=(c^dp)modp;
    (3).计算m2=(c^dq)modq;
    (4).m=(((m1-m2)*I)modp)*q+m2;

    在导入完 gmpy2模块后就可以开始使用了.
    gmpy2.invert(q,p) :q mod p 的逆元
    pow(a,b,c) : a的b次方再对c取余

    脚本

    import gmpy2
    p = 8637633767257008567099653486541091171320491509433615447539162437911244175885667806398411790524083553445158113502227745206205327690939504032994699902053229
    q = 12640674973996472769176047937170883420927050821480010581593137135372473880595613737337630629752577346147039284030082593490776630572584959954205336880228469
    dp = 6500795702216834621109042351193261530650043841056252930930949663358625016881832840728066026150264693076109354874099841380454881716097778307268116910582929
    dq = 783472263673553449019532580386470672380574033551303889137911760438881683674556098098256795673512201963002175438762767516968043599582527539160811120550041
    c = 24722305403887382073567316467649080662631552905960229399079107995602154418176056335800638887527614164073530437657085079676157350205351945222989351316076486573599576041978339872265925062764318536089007310270278526159678937431903862892400747915525118983959970607934142974736675784325993445942031372107342103852
    I = gmpy2.invert(q,p)
    m1 = pow(c,dp,p)
    m2 = pow(c,dq,q)
    m = (((m1-m2)*I)%p)*q+m2
    print(m)                               #10进制明文
    print(hex(m)[2:])                      #16进制明文
    print(bytes.fromhex(hex(m)[2:]))       #16进制转文本

     
     
  • 相关阅读:
    当当网首页——JS代码
    当当网首页——CSS代码
    离散与连续 分度值
    timepicker php strtotime 8hours
    w[wi].disabled = true;
    Browser Cookie Limits
    FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)
    递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
    从交集角度考虑订房系统的时间连续性
    glup 压缩图片
  • 原文地址:https://www.cnblogs.com/tac2664/p/14698122.html
Copyright © 2011-2022 走看看