Example #1
0
File: RSA.py Project: YuqianHou/RSA
def get_RSAKey():
    RSAKey = {}

    start = time.perf_counter()
    prime_arr = Prime.get_rand_prime_arr(2)
    p = prime_arr[0]
    q = prime_arr[1]
    while p == q:
        q = random.choice(prime_arr)
    end = time.perf_counter()

    n = p * q
    s = (p - 1) * (q - 1)
    a = 65537
    b = Prime.mod_inverse(a, s)

    print("随机生成的素数p =", p)
    print("随机生成的素数q =", q)
    print('素数生成的时间为:', end - start, 's')

    print("n = pq =", n)
    print("利用Euclidean算法生成的私钥a =", a)
    print("利用扩展Euclidean算法生成的公钥b =", b)

    puk = [n, a]
    prk = [n, b]
    RSAKey['puk'] = puk
    RSAKey['prk'] = prk
    return RSAKey
Example #2
0
def get_RSAKey():
    RSAKey = {}
    prime_arr = Prime.get_rand_prime_arr(2)
    p = prime_arr[0]
    q = prime_arr[1]
    while p == q:
        q = random.choice(prime_arr)
    n = p * q
    s = (p - 1) * (q - 1)
    e = 65537
    d = Prime.mod_inverse(e, s)
    print "p = ", p, ",q = ", q
    print "n = ", n
    print "e = ", e, ",d = ", d
    puk = [n, e]
    prk = [n, d]
    RSAKey['puk'] = puk
    RSAKey['prk'] = prk
    return RSAKey