RSA is a fragile cryptosystem
I&#x27;m a developer, not a cryptographer, and like most crypto articles, most of this post is gibberish to me. I really tried to follow it in the beginning, but then I gave up, scrolled to the &quot;what should you use instead&quot;, and then realized I didn&#x27;t understand that either.<p>If this is article is &quot;easy&quot; crypto, and I shouldn&#x27;t roll my own crypto, then what should I do? &quot;Just use elliptic curve crypto but make sure you choose the right curve! Here&#x27;s an abbreviation for you, libsodium has it so you&#x27;re all set&quot; doesn&#x27;t comfort me much. I don&#x27;t have a good intuition of what a curve even is and why my sensitive data can&#x27;t just go straight ahead like all the other data. I mean, when I call into libsodium with parameters I do not understand, then aren&#x27;t I, for all intents and purposes, rolling my own crypto anyway? How is any of this of help?<p>If I want to allow my customers to send me encrypted data via an untrusted channel, then what do I do? I need public key crypto for that, right? Basically, I want the public key cryptography version of Coda Hale&#x27;s classic blog post about password hashing [0], does that exist?<p>EDIT: thanks for all the comments folks, great insights! I particularly found [1] by CiPHPerCoder to be a great starting point (akin to Coda&#x27;s password article) for all kinds of scenarios. I feel much more confident about this stuff now than I did 2 hours ago.<p>[0] <a href="https:&#x2F;&#x2F;codahale.com&#x2F;how-to-safely-store-a-password&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codahale.com&#x2F;how-to-safely-store-a-password&#x2F;</a><p>[1] <a href="https:&#x2F;&#x2F;paragonie.com&#x2F;blog&#x2F;2017&#x2F;06&#x2F;libsodium-quick-reference-quick-comparison-similar-functions-and-which-one-use" rel="nofollow">https:&#x2F;&#x2F;paragonie.com&#x2F;blog&#x2F;2017&#x2F;06&#x2F;libsodium-quick-reference...</a>