因此,对于一个学校项目,我试图使用RSA算法制作一个基本的加密/解密程序,这是我到目前为止所做的代码。我遇到的两个问题是一个;在加密函数中执行的实际等式,由于解密函数中的等式而没有反转,我不知道为什么.... 在这种情况下,首先输入的公钥是33127,解密的私钥是31272011。 第二个问题是,由于现在正在定义,显然plaintxt无法在解密功能结束时打印...我确定你可以告诉我,我对编码很新,所以任何帮助都会很棒,谢谢!
cyphertxt=""
def Encrypt():
PubKey =str(input("Please enter the key"))
PubKey1= PubKey[0:1]
PubKey2=PubKey[2:5]
PubKey1= int(PubKey1)
PubKey2= int(PubKey2)
plaintxt=raw_input("Please enter what you would like to be scrambled")
I=len(plaintxt)
for N in range(0,I,1):
Z = ord(plaintxt[N])
if N == 0:
cyphertxt=unichr((Z**PubKey1) % PubKey2)
else:
cyphertxt=cyphertxt + unichr((Z**PubKey1) % PubKey2)
print(cyphertxt)
return(cyphertxt)
def Decrypt():
Key = str(input("Please enter the key to unscramble the message"))
PubKey2= Key[0:4]
PubKey2=int(PubKey2)
PrivKey=Key[4:8]
PrivKey=int(PrivKey)
I=len(cyphertxt)
for N in range(0,I,1):
Z = ord(cyphertxt[N])
if N == 0:
plaintxt=unichr((Z**PrivKey) % PubKey2)
else:
plaintxt=plaintxt + unichr((Z**PrivKey) % PubKey2)
print(plaintxt)
Encrypt()
Decrypt()