Add new tests for out of range values and corrupted file.
Do not ask for decryption passwd twice.
Refactor crypto utility functions in a separate file. Add HMAC verification for file header. Add a few extra input validation checks. Include space in chunk header for HMAC.