Even with all of the cryptologic and cryptographic technology that has existed in the world for the past 60 years, we still don't really know what encryption is good for or how to use it -- or, more importantly, why it's important. Maybe it's time for people and coders to actually start practicing how to use it, like any other skill.
The only way to solve the crypto problem is to make it so pervasive and transparent that people don't realize they're using it.
How are we supposed to do this? Well, we have to make it invisible, we have to make it useful, and we have to change our assumptions about what cryptography means when it's in use.
We also have to change our assumptions about authentication, and what precisely we're authenticating.