Hacker News new | ask | show | jobs
by Zekio 3691 days ago
Encryption, so you learn something about how it works.

Some kind of game.

Edit: Something that uses an API.

3 comments

The problem with learning encryption by writing it yourself is that you will not know if you got it right or totally wrong.

For most types of problems, the feedback is clear - if it works and gives you the expected result, then it's (at least mostly) correct. For implementing cryptographic systems, a passing test suite doesn't mean anything, you'd need extensive expert review to tell you where you went totally wrong, and without it you'd just likely learn untrue things.

> and without it you'd just likely learn untrue things.

I prefer this to the more common 'Just don't do it', as you actually state why. The reason is something I knew intuitively but couldn't really (And had actually never devoted any time to) put[ting] it into words. Thank you.

Encryption, so you learn something about how it works.

I would actively discourage developers from writing their own encryption software, in case they're tempted to use their work in a production app. Encryption is sufficiently complicated that you will get it wrong, and sufficiently important that getting it wrong will be very bad. Leave encryption to cryptographers.

I didn't think about that they might use the one they make.

That would be bad, so maybe an obfuscator instead?

I agree, that sounds cool. I do agree with the other commenter, it should come with a strongly-worded warning never to use it for a real product, but I believe there are several useful encryption tutorials and guides around that could be followed for educational purposes.