Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Learn Cryptography Basics in Python an Java
Introduction
Introduction (2:04)
Cryptography Fundamentals
What is cryptography? (4:45)
Symmetric encryption (2:43)
Asymmetric encrypion (3:16)
Caesar Cipher Theory
What is Caesar cipher? (3:33)
Caesar cipher - encryption and decryption (5:05)
Caesar cipher example (7:22)
Caesar cipher implementation I (Python) (5:16)
Caesar cipher implementation II (Python) (3:01)
Caesar cipher implementation I (Java) (8:45)
Caesar cipher implementation II (Java) (2:08)
Cracking Caesar Cipher
Caesar cipher - brute force attack (2:36)
Cracking Caesar-cipher with brute-force (Python) (5:02)
Cracking Caesar-cipher with brute-force (Java) (5:04)
Frequency analysis (4:20)
Frequency analysis implementation (6:09)
Cracking Caesar-cipher with frequency analysis (Python) (5:52)
Cracking Caesar-cipher with frequency analysis (Java) (9:03)
Caesar Cipher Implementation (Python)
Caesar cipher implementation I (6:03)
Caesar cipher implementation II (3:21)
Caesar cipher implementation III (4:13)
Detecting Language
Detecting english language introduction (4:38)
Detecting english language implementation I (Python) (4:28)
Detecting english language implementation II (Python) (4:55)
Detecting english language implementation (Java) (8:14)
Detecting english language implementation II (Java) (3:32)
Language detection with machine learning (3:02)
Vigenere Cipher
Vigenere cipher introduction I (4:49)
Vigenere cipher introduction II (2:45)
Vigenere cipher introduction III (5:27)
Vigenere cipher implementation I (Python) (5:16)
Vigenere cipher implementation II (Python) (3:39)
Vigenere cipher implementation (Java) (7:09)
Cracking the Vigenere Cipher
Kasiski-algorithm introduction I (3:04)
Kasiski-algorithm introduction II (6:50)
Kasiski-algorithm introduction III (8:31)
Kasiski-algorithm introduction IV (3:22)
One Time Pad (Vernam Cipher)
One time pad introduction I (6:08)
One time pad introduction II (10:22)
One time pad introduction III (3:35)
Random vs pseudorandom numbers (13:16)
One time pad implementation I (Python) (4:53)
One time pad implementation II (Python) (5:28)
One time pad implementation (Java) (7:30)
Cracking One Time Pad
Cracking one time pad - Shannon's secrecy (8:16)
Data Encryption Standard (DES)
DES cryptosystem theory I (7:35)
DES cryptosystem theory II (4:50)
DES cryptosystem theory III (7:05)
DES cryptosystem theory IV (8:12)
DES cryptosystem theory V (8:00)
DES cryptosystem theory VI (1:36)
DES cryptosystem implementation I (Python) (4:37)
DES cryptosystem implementation II (Python) (3:03)
DES cryptosystem implementation (Java) (4:49)
Cracking Data Encryption Standard (DES)
Brute-force DES cracking (4:02)
Linear cryptoanalysis (7:16)
Differential cryptoanalysis (3:15)
Advanced Encryption Strandard (AES)
AES cryptosystem theory I (3:45)
AES cryptosystem theory II (5:24)
AES cryptosystem theory III (6:13)
AES cryptosystem theory IV (8:28)
AES cryptosystem theory V (6:46)
AES cryptosystem implementation (Python) (3:46)
AES cryptosystem implementation (Java) (1:50)
Cracking Advanced Encryption Standard (AES)
Shannon's confusion and diffusion (5:27)
Symmetric Cryptosystems
Problems with private key cryptosystems (3:17)
Sysmmetric cryptosystems basics (3:12)
Random numbers and prime numbers (2:21)
Modular Arithmetic
Modular arithmetic fundamentals (4:08)
Finding primes - naive approach (7:23)
Finding primes - advanced algorithms (6:15)
Integer factorization problem (3:01)
Integer factorization implementation (4:41)
Discrete logarithm problem (2:36)
Discrete logarithm implementation (3:43)
Why to use prime numbers at all? (4:50)
Diffie-Hellman Key Exchange
Diffie-Hellman key exchange basics (4:08)
Diffie-Hellman key exchange - the algorithm (5:08)
Diffie-Hellman key exchange - example (3:42)
Why to use primes and primitive root? (6:12)
Diffie-Hellman key exchange implementation (Python) (2:59)
Cracking Diffie-Hellman Cryptosystem
Cracking Diffie-Hellman cryptosystem (4:12)
Man in the middle attack (7:13)
RSA
RSA cryptosystem basics (5:45)
RSA cryptosystem - the algorithm (5:52)
RSA cryptosystem - example (5:10)
Modular inverse introduction (4:25)
Modular inverse implementation (Python) (3:34)
Modular inverse implementation (Java) (5:34)
RSA cryptosystem implementation (Java) (8:32)
Cracking RSA
The problem of factorization (4:09)
AES cryptosystem theory III
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock