Skip to content

Crypto Is Hard

apotheon profile image Chad Perrin github logo Updated on ・1 min read

Software is easy to get wrong, and security software needs to be right. This makes good security software hard.

It's especially hard for beginners, because (in my experience) good documentation, examples, and tutorials for common, "hello world" level security software development that actually does things right is nearly nonexistent. Try finding an example of how to write a tool that takes a password to encrypt and decrypt text using ChaCha20, for instance, or even AES, that is comprehensible to someone who has been writing web applications, test frameworks, and Unix command line tools.

This is a big problem, but nobody seems to have noticed, or to care.

twitter logo DISCUSS
markdown guide
Classic DEV Post from Jul 30 '19

PublishTo.Dev: Scheduling article publishing on

Chad Perrin profile image
I'm a developer who likes testing first, iterative processes, and refactoring, and I care about quality. I speak both C and Ruby with some facility, and enjoy both, which confuses some people.