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了,导致在运行时,发生了覆盖,就出现问题,改了文件名才成功运行

  • 相关阅读:
    java
    java
    java
    js
    java
    异常之异常处理
    面向对象之元类
    面向对象之内置方法
    面向对象之反射
    面向对象之类方法与静态方法
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779905.html
Copyright © 2011-2022 走看看