Learn Cryptography in Go

Lane is a back-end engineer and the lead instructor of Boot.dev. He has taught over one million students worldwide.

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