Cryptography is essential to digital security. Companies are dying to hire security professionals

Practical Cryptography Course

Practical Cryptography is built for developers who want to learn the fundamentals that underpin the security of applications. This course will help you build and understand secure digital systems. As a result, you will be a much more valuable engineer to the many organizations that work in security-critical industries.

undraw proud coder 7ain

Code in the browser

We don't expect you to bring anything to class. We teach concepts in bite-sized chunks and all your code is written and edited right in your browser.

undraw wallet

Try it free

All of Qvault's coding courses are free to audit. You can even trial a pro membership at no cost to you, cancel anytime.

undraw speed test wxl0

Instant feedback

No need to upload zip files or guess at whether your code is performing correctly. All your programs instantly run against our test suites to keep you moving quickly.

Why Learn Cryptography?

Crypto-literate developers are more valuable to tech companies, and as a result, tend to have higher salaries. Many new developers, especially those without formal training, have a cryptography-sized hole in their education.

What's in the Course?

This course begins with an overview of cryptography definitions, use-cases, and common misconceptions. Later we dive into some of the most widely used cryptosystems – ciphers and hashes.

The majority of Practical Cryptography is multi-choice style questions, though there are many coding exercises as well. The coding projects in this course are all written in Go, a language becoming more and more important for backend and security engineers. If you are uncomfortable with Go, take our Go Mastery course first! All coding is done right in the browser, no need to mess around with configuring a local development environment.

Content Overview

1. Introduction

  • Cryptography Basics and Definitions
  • Encrypting Files
  • Encoding vs Encryption
  • Brute Force Attacks

2. Stream Ciphers

  • Caesar Ciphers
  • XOR and cryptography math
  • One Time Pad

3. Block Ciphers

  • Key Schedules
  • Feistel Networks
  • Data Encryption Standard (DES)
  • Advanced Encryption Standard (AES)

4. Hash Functions

  • Avoiding Collisions
  • Building a hash from scratch
  • Key derivation functions
  • Salting and Rainbow Tables
  • Production Bcrypt