rsa_s.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:ctf-library 作者: Hcamael 项目源码 文件源码
def wiener_attack(e, n):
    pq = partial_quotiens(e, n)
    c = convergents(pq)
    x = Symbol('x')
    print 'done'
    for (k, d) in c:
        if d != 196176397553781094149364022413702698618416570027142099596910222792686220199799634430113040703408219640551905602804050764120518037301734891772260502596755642106767631991390703026953707346708504142195119698789998222566587930259938572562702895638995035040020739921966671123993267592460124879940448923:
            continue
        if k != 0:
            y = n - phiN(e, d, k) + 1
            roots = solve(x**2 - y*x + n, x)
            if len(roots) == 2:
                p = roots[0]
                q = roots[1]
                if p * q == n:
                    break
    return p, q
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号