

Ask HN: best ways to learn about cryptography - oelmekki

As an engineer, with all the recent stories about NSA breaking cryptography, I can&#x27;t help but feeling guilty.<p>My main field is web development. But I don&#x27;t stop there : I play with mobile app development, with system toolkits like gtk or qt, I&#x27;ve built server accepting connections in C, even read about the basics of creating OS and programming languages. I&#x27;m currently learning 3d modeling, in the hope to buy a 3d printer, and look with interest toward project like arduino and raspberry PI.<p>I&#x27;ve never read anything about cryptography.<p>My first thought about cryptography is : &quot;well, that&#x27;s something especially difficult and that carries a lot of responsibilities&quot;. So what ? So is playing with memory in C (both difficult and may easily create vulnerabilities). That&#x27;s a good reason not to release anything while unprepared, but not a good reason to know nothing in this field.<p>I suspect I&#x27;m far from being the only one is that case : we do not care that much about cryptography, and that&#x27;s a problem. That&#x27;s a problem because if we swarmed the world with cryptography discussions and toy projects - just like we do with other fields - we could expect new ideas to appear a lot more quickly, and have a lot of alternative where we&#x27;re all just use ssl nowadays in most of our applications.<p>There are reference resources about almost anything on the web. I just can find any clear reference about cryptography. Does anyone have good advice on how to start ?
======
S4M
Try the Matasano crypto challenge: [http://www.matasano.com/articles/crypto-
challenges/](http://www.matasano.com/articles/crypto-challenges/)

~~~
oelmekki
Thanks S4M, will try after coursera course.

Did you try it ? I know a good way to learn about things is to try to break
them, but I wonder if that approach of "learn to break crypto to learn crypto"
is as efficient in the very beginning as to try first to build crypto (most of
the time, when learning a new tech, I cover the basics before trying to
understand other people code).

~~~
S4M
Actually, I saw this link on HN, and I am doing it to learn the programming
language rust, but I have to say I haven't gotten very far yet (more because
of my lack of free time and unfamiliarity with rust than the challenge
itself). Good luck!

------
mct
Dan Boneh's Cryptography I class on Coursera is about to start again in just a
few days. I highly recommend it:
[https://www.coursera.org/course/crypto](https://www.coursera.org/course/crypto)

~~~
Tomte
I passed the last course and cannot recommend it enough.

I'd love to know the answer to the last week's programming problems, though. I
only got part of it.

