zoukankan      html  css  js  c++  java
  • buu RSA

    一.分析
    下载链接,发现一个公钥的文件(e,n),和一个加密过的文件
    二.
    公钥文件,里面一堆字母,然后后面百度,才知道需要去解开n,e

    在这里插入图片描述
    指数是e,模数是n(十六进制)
    三.再通过n来分解素数,得到p,q,(不用写脚本是真香)
    在这里插入图片描述
    四.脚本解密

    import gmpy2
    import rsa
    e = 65537
    n = 86934482296048119190666062003494800588905656017203025617216654058378322103517
    p = 285960468890451637935629440372639283459
    q = 304008741604601924494328155975272418463
    
    fan = (q-1)*(p-1)
    d = gmpy2.invert(e,fan)
    key = rsa.PrivateKey(n, e, int(d), p, q)
    f = open("flag.enc", "rb+")
    fr = f.read()
    print(rsa.decrypt(fr, key))
    

    坑:之前写脚本定义rsa.py了,导致在运行时,发生了覆盖,就出现问题,改了文件名才成功运行

  • 相关阅读:
    第一次团队作业
    第二次结对作业
    第一次结对作业
    制作简易的中文编译器
    第一次博客作业
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次编程作业
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779905.html
Copyright © 2011-2022 走看看