
Begin your journey into cryptography by exploring substitution cipher, Caesar cipher, and a thin cipher, then advance to modern cryptography with approachable algorithm explanations and Java implementations.
Introduce yourself in the Q and A section by sharing your origin and reasons for enrolling, so the instructor can tailor a great learning experience.
Define cryptography as the study of techniques for secure communication, and demonstrate encryption turning plain text into cipher text and decryption restoring it for authorized readers, with Java implementations.
Explore the history of cryptography, from Enigma to modern practices, and learn why we test cryptographic algorithms and seek mathematical proof rather than assuming unbreakable security.
Explore how public encryption and decryption functions rely on a secret key, why key secrecy matters, and how secure channels exchange keys to protect plaintext and ciphertext from brute-force threats.
Explore the substitution cipher, a historic, simple replacement method, and learn how brute-force and frequency analysis break it, along with practical defenses against social engineering and side-channel attacks.
Implement a substitution cipher in Java using encryption and decryption maps to translate letters, preserve case, and learn a frequency analysis approach to cracking it.
Explain how the Caesar cipher shifts letters with a modulo 26 key to encrypt and decrypt, and why brute-force and frequency analysis break it.
Implement a Caesar cipher in Java with encrypt and decrypt functions, handle uppercase and lowercase letters, wrap around after Z, and demonstrate a brute-force break of the cipher.
This lecture explains affine cipher with keys a and b, encryption x -> a x + b mod 26, covers decryption and how brute-force and frequency analysis reveal cipher.
Master the affine cipher by encrypting with keys A and B, mapping letters to 0-25, and decrypting via the multiplicative inverse modulo 26 with proper case handling.
Demonstrates stream cipher basics: encrypt bits individually with a key bit using XOR (modulo 2), contrasting with block ciphers, and shows decryption using the same key stream.
Encrypt and decrypt messages using an xor cipher with a password as the key in Java, applying character-wise xor and modulo indexing to handle key length.
Explore random number generators for cryptography, from true random sources like coin flips and dice to seeded, pseudo-random sequences, and finally cryptographically secure generators with unpredictable outputs.
The lecture presents a secure cipher using a truly random per-bit keystream. It uses keystream blocks only once and notes the drawback of a key length equal to the message.
Explore aes, the advanced encryption standard, a 128-bit block cipher with 128–256 bit keys, rounds, round keys, substitution via a box, shift rows, and mix columns via galois field multiplication.
Discover how asymmetric encryption secures messages with a public key for encryption and a private key for decryption, while private keys enable digital signatures verified by public keys.
So do you want to learn cryptography?
and you want to understand it, be able to describe it, be able to use it?
Am I right?
My name is Lukas Vyhnalek, I am the creator of this course (Cryptography from Scratch | Master Encryption in Java).
These days Cryptography is a hot topic, you often read about someone who hacked something, or about new cipher that will be able to secure our communication. And in my opinion in the future Cyber security will be a huge problem. And this course is designed to get your foot in cryptography and cyber security.
What’s stopping you from signing up to today?
· You don’t have enough time: Not an issue. I designed this course so you can learn everything you need in a few HOURS!
· You’re still weighing up the value: I plan on keeping this course up-to-date and make it bigger over time. In fact, if you don’t get everything you need from it… you will get your MONEY BACK.
· You don’t have any previous experience: Seriously, not a problem. This course is expertly designed to teach everyone from complete beginners ( as the name says "Cryptography from Scratch")
Don't know Java?
Don't worry, if you have previous programming experience, the Encryption algorithms are really simple and I promise you, you will be able to rewrite my code from Java to C (or whatever language you use)
And if you don't, still not a problem you can just skip the "CODE" lectures, or you can write me a message and we will figure something out.
The Curriculum
In this Cryptography course we will start off with a little bit of history, then I cover the basics of Cryptography. Then I show you first simple ciphers (Substitution Cipher, Caesar Cipher, Affine Cipher), and by understanding these you should be able to know what cryptography is all about, and what not to do, because not only I explain how these ciphers works. I also explain How to break these Ciphers. So you will also know how cryptographically un-secure cipher looks like and how to break them.
Once you master Basics of cryptography, we can move on to modern cryptography, I explain what is Stream Cipher, and how Xor encryption works.
I also cover the AES encrypting algorithm and RSA (Public key cryptography).
Also by completing this course, you will get Certificate of completion (if you pass all 3 quizzes)
Still not Sure?
Still not sure whether to enroll in this course? Feel free to watch the preview videos. And if you don't what to. There is 30-Day money-back Guarantee, so you have nothing to worry about.
So do you want to learn cryptography?