At 9/24/16 07:30 AM, Gimmick wrote:
Why can't it be salted?
Because salts need to be stored in plaintext, or in a manner than can be reverted to plaintext, for them to be useful.
The most common way they are used is with hashes, where a randomly generated salt is included in the password before hashing, and then added on to the resulting hash after the fact—usually at the beginning or end of the hash, but always in a known place—and that is what ends up being stored. Then in order to determine if a given password is valid, the hash and salt combination are taken, the salt is copied from it and then added on to the password which is then hashed; if the resulting hashes are the same, the password is valid.
The only possible way you could salt a password that is used as an encryption key would be to generate the salt and then add it onto the password and use that as the key. As that would change the key, and you've know good way of storing the salt in that manner, you would effectively just be changing the user's password from what they desired; they would have to both be told what their salt is and to memorise what their requested password was changed into.
Doing that would technically prevent rainbow table attacks, but it would only do so at the cost of the user's experience: they can't actually pick their password; they can only pick something and then have it changed slightly, likely much to their umbrage.
At 9/24/16 07:30 AM, Gimmick wrote:
Well assuming that, say, a text file is to be read - how would it cause an issue with an executable file being run? It wouldn't be handled natively, so why would there be a problem with that (or is there something I'm forgetting)?
That would depend on what is reading the text file and how.
If they were to receive the files and then muck around them as they see fit, then an attacker could replace a text file with an executable that has been given a customised icon that looks identical to a text file's. Most people will be using Windows, and by default Windows hides known file extensions, and as both TXT and EXE files are known, neither will have the extension shown unless that feature is disabled. So if the attacker picks one of the more common icons for text files that is most likely to be used by a given user, and the user did not disable that feature, they will attempt to run the executable thinking they are opening a text file. At that point, about the only protection they would is Windows's UAC or some form of anti-virus.