zoukankan      html  css  js  c++  java
  • RSA1 密码学writeup

    RSA1

    感受一下密码学对你的关爱

    nc后得到

    This is a RSA challenge Please input a number

    随机输入数字发现仅1-10存在输出密文c,其余全部输出

    0x0L

    同时e=0x10001不变

    还有一个每次都会新生成的n

    由此得是已知e,n和密文c求明文m

    使用factordb.com

    对n进行因数分解得到p,q,计算出欧拉函数 φ (n)

    再利用gmpy2库求d

    import gmpy2

    d = gmpy2.invert(e,(p-1)*(q-1))

    计算出M值后转换为明文

    from Crypto.Util.number import bytes_to_long, long_to_bytes

    M=pow(c,d,n)

    string = long_to_bytes(M) # m明文

    从1到10每次输出4个字母,全部组合即为flag

  • 相关阅读:
    Unique Paths II
    Subsets II
    Subsets
    Jump Game II
    Jump Game
    Valid Sudoku
    Valid Parentheses
    Length of Last Word
    Trapping Rain Water
    Sum Root to Leaf Numbers
  • 原文地址:https://www.cnblogs.com/FrozenW/p/14201088.html
Copyright © 2011-2022 走看看