示例#1
0
def Decrypt_File(filename,keyFile):
    try:
        DecryptionFile = open(filename, 'r')
    except IOError:
        raise IOError
    #keyFile = pickle.load(DecryptionFile)
    key = Core.convert_block(keyFile)
    msg = pickle.load(DecryptionFile)
    IVFile = msg[0:BLOCK_SIZE]
    line = msg[BLOCK_SIZE:]
    IV = Core.convert_block(list(IVFile))
    DecryptedText = Core.remove_nulls(Decrypt_all_blocks(line, key, IV))
    DecryptionFile = open(filename, 'wb')
    DecryptionFile.write((DecryptedText+"\n"))
    DecryptionFile.close()
示例#2
0
 def TextButton(self,choice):
     global key, IV, EncryptedText
     self.entry2.delete(1.0, END)
     if (choice == 1):
         self.keyEntry.delete(0, 'end')
         message = self.entry1.get(1.0, END)
         key = Core.keyGenerator()
         IV, EncryptedText = Encrypt.Encrypt_all_blocks(message, key)
         msg = ''
         keyString = ''
         for x in key:
             keyString += chr(x)
         self.keyEntry.insert(0, keyString)
         IVString = ''
         for x in IV:
             IVString += chr(x)
         msg += IVString
         msg += EncryptedText
         self.label2.configure(text="Encrypted Text :")
         self.entry2.insert(1.0, msg)
         self.status.configure(text="Encryption complete.", bg='light green')
     else:
         msg = self.entry1.get("1.0", 'end-1c')
         keyString = self.keyEntry.get()
         keyList = []
         if len(keyString)!=BLOCK_SIZE:
             self.status.configure(text="Key Length Error.",bg='orange')
             return
         for x in range(0, BLOCK_SIZE):
             keyList.append(ord(keyString[x]))
         IVList = []
         for x in range(0, BLOCK_SIZE):
             IVList.append(ord(msg[x]))
         EncryptedTextActual = msg[BLOCK_SIZE:]
         DecryptedText = Core.remove_nulls(Decrypt.Decrypt_all_blocks(EncryptedTextActual, keyList, IVList))
         self.label2.configure(text="Decrypted Text :")
         self.entry2.insert(1.0, DecryptedText)
         self.status.configure(text="Decryption complete.", bg='light green')