41. Implement unpadded message recovery oracle.py 文件源码

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

项目:about-cryptography 作者: L1nwatch 项目源码 文件源码
def create_rsa_keys(bits_length=1024, e=65537):
    """
    ???? RSA ?????, ?? p, q, n ,phi_n, d, e
    ???? pycrypto ?? RSA ????, ????????? 1024bits, ???????
    :param bits_length: p ? q ??????
    :param e: ??? e
    :return: dict(), RSA ???????????
    """
    rsa = dict()
    while True:
        p = gmpy2.mpz(getPrime(bits_length))
        q = gmpy2.mpz(getPrime(bits_length))
        n = p * q
        phi_n = (p - 1) * (q - 1)

        if gmpy2.gcd(e, phi_n) == 1:
            break

    rsa["p"] = p
    rsa["q"] = q
    rsa["n"] = n
    rsa["phi"] = phi_n
    rsa["d"] = gmpy2.invert(e, rsa["phi"])
    rsa["e"] = e

    return rsa
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号