How can we trust any crypto currency if the NSA could use 51% attacks? My understanding of cryptocurrencies is that with the "51% attack" you can fake transactions and stop anybody from making any transactions. If any crypto currency actually threatens Government backed currencies then what would stop a company like the NSA from using their resources from attacking the currency? They have to have enough money and enough computing power if they are collecting all this data and are backed by the United States Government.
As mentioned in comments, the 51% attack doesn't let you fake transactions. You just take control of what gets in the blockchain from the moment the attack is realized.

As to realizing the attack, the current Bitcoin hashing power is about 60,000TH/s.

Right now, the more efficient mining rigs cost at least $2,000/TH/s. So just getting all that mining power would cost the NSA, or any similarly powerful actor, about $120M. That's assuming that so many miners can actually be sourced which is highly doubtful at the current production volume.

Then you'd have to factor in all the procurement, the time it takes to setup operations of that scale and the mind-boggling electricity bill. So it's probably a 2-3 years project with a half-billion dollars price attached.

And then what would be the NSA's motive? The dollar is doing just fine right now and the US government can control Bitcoin just as well is they want to do so.