parameters: (key, IV, implList=None)
docstring: Create a new AES object.
  
      @type key: str
      @param key: A 16, 24, or 32 byte string.
  
      @type IV: str
      @param IV: A 16 byte string
  
      @rtype: L{tlslite.utils.AES}
      @return: An AES object.
docstring_summary: Create a new AES object.
docstring_tokens: Create a new AES object .
function: def createAES(key, IV, implList=None):
      """Create a new AES object.
  
      @type key: str
      @param key: A 16, 24, or 32 byte string.
  
      @type IV: str
      @param IV: A 16 byte string
  
      @rtype: L{tlslite.utils.AES}
      @return: An AES object.
      """
      if implList == None:
          implList = ["cryptlib", "openssl", "pycrypto", "python"]
  
      for impl in implList:
          if impl == "cryptlib" and cryptomath.cryptlibpyLoaded:
              return Cryptlib_AES.new(key, 2, IV)
          elif impl == "openssl" and cryptomath.m2cryptoLoaded:
              return OpenSSL_AES.new(key, 2, IV)
          elif impl == "pycrypto" and cryptomath.pycryptoLoaded:
              return PyCrypto_AES.new(key, 2, IV)
          elif impl == "python":
              return Python_AES.new(key, 2, IV)
      raise NotImplementedError()
function_tokens: def createAES ( key , IV , implList = None ) : if implList == None : implList = [ "cryptlib" , "openssl" , "pycrypto" , "python" ] for impl in implList : if impl == "cryptlib" and cryptomath . cryptlibpyLoaded : return Cryptlib_AES . new ( key , 2 , IV ) elif impl == "openssl" and cryptomath . m2cryptoLoaded : return OpenSSL_AES . new ( key , 2 , IV ) elif impl == "pycrypto" and cryptomath . pycryptoLoaded : return PyCrypto_AES . new ( key , 2 , IV ) elif impl == "python" : return Python_AES . new ( key , 2 , IV ) raise NotImplementedError ( )