¿Cómo descifrar archivos encriptados AES de OpenSSL en Python?

OpenSSL proporciona una interfaz de línea de comandos popular (pero insegura, ¡vea abajo!) Para el cifrado AES:

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

Python admite AES en la forma del paquete PyCrypto, pero solo proporciona las herramientas. ¿Cómo usar Python / PyCrypto para descifrar archivos que han sido cifrados usando OpenSSL?

darse cuenta

Esta pregunta solía referirse también al cifrado en Python usando el mismo esquema. Desde entonces he eliminado esa parte para desalentar a cualquiera de usarla. NO cifre más datos de esta manera, ya que NO está seguro para los estándares de hoy. SOLO debe usar descifrado, por ninguna otra razón que no sea COMPATIBILIDAD ATRÁS, es decir, cuando no tenga otra opción. ¿Quieres cifrar? Use NaCl / libsodium si es posible.