We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Cryptography

An interactive online course

Ever wondered how your data stays safe online? This deep-dive in the Go programming language will teach you all about encryption, password security, ciphers, and more. After you master the fundamentals, you'll learn how each cryptographic primitive is used in real-world applications.

16 Hours

of material

127 challenges

and quizzes

Certificate

of completion

A key part of the

back-end career path

Avoid tutorial hell

by writing a ton of code

Learn flexibly online

without interrupting your life

What will you learn?

Chapter list

1
Symmetric Encryption
Learn the basics of cryptography: encrypting and decrypting a secret message with a key
2
Encoding
To be able to work with encrypted data, you need to understand how information is encoded in different formats
3
Brute Force
Learn about the most primitive, but most important kind of crypto attack
4
Caesar Cipher
Learn about the fundamentals of ciphers, starting with Julius Caesar's famous cipher
5
XOR
Study the importance of the XOR operation in cryptography and how it can be used to create the perfect cipher
6
Stream Ciphers
Stream ciphers can be used to encrypt data as it flows through a system
7
Block Ciphers
Block ciphers are commonly used to encrypt large amounts of data at rest, like entire hard drives
8
DES
DES is an older block cipher that's important to understand to appreciate modern block ciphers
9
AES
AES is a secure, modern block cipher that's used in many production applications
10
Asymmetric Encryption
Asymmetric encryption is used in HTTPS, digital signatues, and really anywhere two parties need to securely communicate
11
RSA
RSA is one of the most popular asymmetric encryption algorithms
12
Hash Functions
Hashing has many applications in cryptography, including password security and message integrity
13
Digital Signatures
Digital signatures are a way to prove that a message was sent by a particular party
14
KDFs
Key derivation functions are how we derive keys from passwords or from other keys securely

Authored by

Maintained by