The NSA doesn’t hack your passwords. The NSA calculates the hash key that’s generated by your password.
So “I Like Ice Cream” is not stored on your computer but the hash key of 7b783177134c3bfe95647ca3e12ddeb4 is stored on your computer and it can be calculated.
“The NSA calculates the hash key thats generated by your password”
Not even that. They use very high order math to simply decode your message. No key needed.
Uh, no. That's not how hashes work.
In order to build a hash table for a target, you first have to know a lot of details, like the algorithm, the salt, and any additional padding. This will let you build a pre-computed table that will save you some work.
When you build a hash table, it is only good for the passwords you used to build the table. Fortunately for the NSA and other criminal crackers, a table of a few hundred passwords would let you break into most systems, because there is always at least one idiot who thinks that "password123" is a good password. If you have a decent password, you're not going to be able to precompute it.
It's been claimed, and I'd be surprised if it wasn't true that NSA and other criminal organizations have multi-gigabyte hash tables to facilitate certain types of dictionary attacks. Again, it's still not going to help if your password is D6nl^@9a[v76@X),.s*y.
Of course few people use passwords like that. I have certain passphrases that are more than 30 characters long. You'd be surprised at how quickly you can type a string if you enter it enough times.