I'm using pycrypto to encrypt files that will be stored in the cloud. I expect the user to enter a password to decrypt files, but encryption shouldn't require a password (to allow the script to be run by cron). So therefore I've been looking at public key encryption using RSA under the PKCS1_OAEP cipher.
I can see how to encrypt a file using pycrypto, but is there a pre-existing method to perform authenticated encryption, or am I expected to implement that myself? There's a parameter to pass a hashing algorithm to Crypto.Cipher.PKCS1_OAEP.new(), but will this be used to sign encrypted data?
Similarly to verify before decryption, is this all built into the decrypt() method?
Note: I don't have any particular attachment to pycrypto - if another python crypto library provides an authenticated encryption scheme, please suggest that instead.