Password hashes can be reversed using Rainbow Tables. Suppose a file (English text) is encrypted using a password, using the following scheme:
The password is hashed, and the hash is used to encrypt the file via AES. The cipher is stores, the password and the hash are thrown away. Explain:
1. Dictionary attacks can be used to recover the password(how?)
2. Rainbow tables are not usable - why?
3. Rainbow tables can be used, if the file has a known standard header(how?)