TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Cryptography for All Developers

2 点作者 vkweb6 个月前

1 comment

vkweb6 个月前
5 years back I helped freeCodeCamp.org in creating their public-key cryptography curriculum: <a href="https:&#x2F;&#x2F;github.com&#x2F;freeCodeCamp&#x2F;CurriculumExpansion&#x2F;pull&#x2F;184">https:&#x2F;&#x2F;github.com&#x2F;freeCodeCamp&#x2F;CurriculumExpansion&#x2F;pull&#x2F;184</a>. That course never went live on the freeCodeCamp platform.<p>So I recently built a 100% free, open-source course on cryptography designed completely for developers: <a href="https:&#x2F;&#x2F;github.com&#x2F;Cryptography-for-Devs&#x2F;Cryptography-for-Devs.github.io">https:&#x2F;&#x2F;github.com&#x2F;Cryptography-for-Devs&#x2F;Cryptography-for-De...</a><p>I&#x27;ve tried covering only those concepts that a developer *must know* to understand what&#x27;s going behind the scenes of framework function calls.<p>For example in case of Django, when a user is created, it uses PBKDF-2 for storing user password. A developer *should not* know at all how the pseudo-random function inside the KDF works. But they must know that PBKDF-2 is used because modern GPUs, custom circuits are damn powerful at parallel password cracking. This will make the developer realize why we use PBKDF-2 in the first place.<p>The course builds up intuition step by step. It starts from simple symmetric key encryption then we go to cryptographic hash functions then to password hashing then to rainbow tables &amp; salt and then finally to PBKDF-2.<p>I&#x27;m releasing the first part of the course. The second part is planned to be around public-key cryptography. The tentative concepts that I think I will cover are (lessons in order of teaching): Diffie Hellman key exchange, RSA, E2E encryption, TLS &#x2F; HTTPS, certificate authorities.<p>Most of the HN crowd might know about these concepts so I believe we all will step up to discuss how we can make the course&#x27;s content a timeless resource for developers all around. I am not going to leave it as is, I will keep on iterating based on our discussions. Your inputs &#x2F; time won&#x27;t go waste.<p>Imagine yourself back to be as a beginner programmer... - could this course have helped you back then? - what changes I should make to the course that would have helped the younger you back then?<p>-vkweb.