基本的RSA python程序

时间:2017-04-15 20:51:49

标签: python encryption cryptography rsa

因此,对于一个学校项目,我试图使用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()

0 个答案:

没有答案