zoukankan      html  css  js  c++  java
  • i春秋第二届春秋欢乐赛RSA256writeup

    i春秋第二届春秋欢乐赛writeup

    下载之后进行解压 发现四个文件

    0x01看到题目是RSA的  又看到public.key 所以直接用kali linux的openssl

    0x02可以看到e就是Exponent的值

    而n的十六进制为Modules  我们用python转成十进制

    0x03 再将n进行因式分解来得到我们的p和q (推荐使用http://factordb.com/)

    0x04最后一步 我用的kali linux 的python2.7

    贴上python2.7代码进行解密

     1 #coding:utf-8 
     2 import gmpy 
     3 import rsa 
     4 p = 302825536744096741518546212761194311477 
     5 q = 325045504186436346209877301320131277983 
     6 n = 98432079271513130981267919056149161631892822707167177858831841699521774310891 
     7 e = 65537 
     8 d = int(gmpy.invert(e , (p-1) * (q-1))) 
     9 privatekey = rsa.PrivateKey(n , e , d , p , q)      #根据已知参数,计算私钥 
    10 with open("encrypted.message1" , "rb") as f: 
    11     print(rsa.decrypt(f.read(), privatekey).decode())       #使用私钥对密文进行解密,并打印 
    12 with open("encrypted.message2" , "rb") as f: 
    13     print(rsa.decrypt(f.read(), privatekey).decode())       #使用私钥对密文进行解密,并打印 
    14 with open("encrypted.message3" , "rb") as f: 
    15     print(rsa.decrypt(f.read(), privatekey).decode())       #使用私钥对密文进行解密,并打印

  • 相关阅读:
    linux下18种监测网络带宽方式
    python常用正则表达式
    python获取当前路径
    python获取本机的IP
    Linux 误卸载自带python后的解决办法
    jmeter分布式运行
    jmeter非GUI的运行命令
    linux下安装jmeter
    java基础笔记(8)
    java基础笔记(7)
  • 原文地址:https://www.cnblogs.com/nul1/p/9615802.html
Copyright © 2011-2022 走看看