text: # Author: Trevor Perrin
  # See the LICENSE file for legal information regarding use of this file.
  
  """PyCrypto AES implementation."""
  
  from .cryptomath import *
  from .aes import *
  
  if pycryptoLoaded:
      import Crypto.Cipher.AES
  
      def new(key, mode, IV):
          return PyCrypto_AES(key, mode, IV)
  
      class PyCrypto_AES(AES):
  
          def __init__(self, key, mode, IV):
              AES.__init__(self, key, mode, IV, "pycrypto")
              key = bytes(key)
              IV = bytes(IV)
              self.context = Crypto.Cipher.AES.new(key, mode, IV)
  
          def encrypt(self, plaintext):
              AES.encrypt(self, plaintext)
              plaintext = bytes(plaintext)
              return bytearray(self.context.encrypt(plaintext))
  
          def decrypt(self, ciphertext):
              AES.decrypt(self, ciphertext)
              ciphertext = bytes(ciphertext)
              return bytearray(self.context.decrypt(ciphertext))
  