How could the following scheme be made more resilient to attacks capable of utilizing massive amounts of resources?
Assume all random values are cryptographically secure.
Key derivation: scrypt using a random 16 byte nonce. The work factor is 1048576 which takes a GB of memory and ~3 seconds to compute on a 2500k.
Authentication: HMAC with SHA-512 as the hash function. Authentication key is the SHA-512 of the AES key. HMAC checks are done using equal time compare.
Encryption algorithm: AES-256 in CBC mode using a 16 byte random IV.
Asymmetric keys are used in TLS which allows access of the encrypted data over a network. 4096 bit RSA is used due to ease of generation.
The end result of the cipher text can be described like so:
nonce | iv | cipherText| HMAC Digest
Thanks!
EDIT: Sorry guys I should have described my use case. This is for encrypting a specific file.
The authentication is used to securely ensure that the file hasn't been tampered with as well as check the key before decryption.