input: Write a function to encrypt and decrypt strings using the AES encryption algorithm. The function should take a plaintext string as input, encrypt it using a predefined key, and return the encrypted result. Additionally, it should take an encrypted string as input and decrypt it using the same key, returning the decrypted result. If the input string is empty, it should return an empty string for both encryption and decryption.
  assert encrypt("hello world")!= "hello world"
  assert decrypt(encrypt("hello world"))== "hello world"
  assert encrypt("")== ""
  assert decrypt("")== ""
output: import base64
  from Crypto.Cipher import AES
  from Crypto.Util.Padding import pad, unpad
  
  def encrypt(plaintext):
      if not plaintext:
          return ""
      key = b'Sixteen byte key'
      cipher = AES.new(key, AES.MODE_CBC)
      ct_bytes = cipher.encrypt(pad(plaintext.encode(), AES.block_size))
      iv = base64.b64encode(cipher.iv).decode('utf-8')
      ct = base64.b64encode(ct_bytes).decode('utf-8')
      return iv + ct
  
  def decrypt(ciphertext):
      if not ciphertext:
          return ""
      key = b'Sixteen byte key'
      iv = base64.b64decode(ciphertext[:24])
      ct = base64.b64decode(ciphertext[24:])
      cipher = AES.new(key, AES.MODE_CBC, iv)
      pt = unpad(cipher.decrypt(ct), AES.block_size)
      return pt.decode('utf-8')