Como descriptografar arquivos criptografados do OpenSSL AES em Python?

O OpenSSL fornece uma interface de linha de comando popular (mas insegura - veja abaixo!) Para criptografia AES:

openssl aes-256-cbc -salt -in filename -out filename.enc

O Python tem suporte para o AES na forma do pacote PyCrypto, mas fornece apenas as ferramentas. Como usar o Python / PyCrypto para descriptografar arquivos que foram criptografados usando o OpenSSL?

Aviso prévio

Essa questão também dizia respeito à criptografia em Python usando o mesmo esquema. Desde então, removi essa parte para desencorajar alguém a usá-la. NÃO criptografe mais dados dessa maneira, porque NÃO é seguro para os padrões de hoje. Você só deve usar a descriptografia, por nenhuma outra razão além da COMPATIBILIDADE PARA TRÁS, ou seja, quando você não tiver outra escolha. Quer criptografar? Use NaCl / libsodium se você puder.