My question rather splits into two sections:
Is AES correctly and security implemented in the .net Framework?
Are there any reviews of implementation mistakes that would weaken the security of AES (e.g. against timing attacks)?
Error-checking with hash-then-encrypt
I have a file i wish to transmit (encrypted), and would like to confirm that decryption was successful. To do this, I plan to take a hash of the file, append it to the file, then encrypt this. After decrypting, the receiver can re-calculate the hash, and compare it to the value I sent over.
Is there a better way to check the decryption was correct?