Why Cryptography is Harder than it Looks (LONG)