我怎样才能在python中使用模数的余数?

时间:2017-09-26 14:25:41

标签: python python-2.7

我试图对公钥和私钥算法做一个简单的解释。加密部分工作正常,但解密部分有点偏。我只希望29是剩下的模数(2 ^ 7,33)。这就是我到目前为止所做的:

p= 3
q= 11
n = p*q
z = (p-1)*(q-1)
e = 7
d = (z + 1)/e
a= divmod(d*e,z)

PublicKey = (e,n)
PrivateKey = (d,n)

#Encrypt
message = 2
c = divmod(2**e,n)
print c

#Decrypt
decryption = divmod((c**2),n)
print decryption

错误是:

    Traceback (most recent call last):
    File "C:/Python27/rsa2.py", line 17, in <module>
    decryption = divmod((c**2),n)
    TypeError: unsupported operand type(s) for ** or pow(): 'tuple' and 'int'             

1 个答案:

答案 0 :(得分:0)

你的问题在最后,在这一行:

decryption = divmod((c**2),n) 

删除c变量周围的()