In this course you will learn about cryptography and hashing in Python and Java as well. You will understand most of the private key (symmetric) and pubic key (asymmetric) cryptosystems on a step by step basis. You can learn about the theory as well as the implementation for every cryptographic algorithm - and how to crack these systems (so what are the weaknesses).
Chapter 1 - Cryptography Fundamentals
what is the aim of cryptography?
private key and public key cryptosystems
Chapter 2 - Caesar Cipher
In this course you will learn about cryptography and hashing in Python and Java as well. You will understand most of the private key (symmetric) and pubic key (asymmetric) cryptosystems on a step by step basis. You can learn about the theory as well as the implementation for every cryptographic algorithm - and how to crack these systems (so what are the weaknesses).
Chapter 1 - Cryptography Fundamentals
what is the aim of cryptography?
private key and public key cryptosystems
Chapter 2 - Caesar Cipher
Caesar cipher theory and implementation
how to crack Caesar cipher
frequency analysis and language detection
Chapter 3 - Vigenere Cipher
Vigenere cipher theory and implementation
how to crack Vigenere cipher with Kasiski-algorithm
Chapter 4 - One Time Pad (Vernam Cipher)
random and pseudo-random numbers
the XOR logical operator
one time pad theory and implementation
why is it impossible to crack Vernam cipher?
Shannon's secrecy
Chapter 5 - Data Encryption Standard (DES)
data encryption standard (DES) theory and implementation
cryptoanalysis techniques
linear cryptoanalysis and differential cryptoanalysis
Chapter 6 - Advanced Encryption Standard (AES)
advanced encryption standard (AES) theory and implementation
Shannon's confusion and diffusion
Chapter 7 - Asymmetric Cryptosystems
problems with private key cryptosystems
random numbers and prime numbers in cryptography
Chapter 8 - Modular Arithmetic
modular arithmetic fundamentals
finding prime numbers - naive approach and advanced algorithms
integer factorization problem
discrete logarithm problem
Chapter 9 - Diffie-Hellman Key Exchange
Diffie-Hellman key exchange algorithm theory and implementation
prime numbers and primitive roots
man-in-the-middle attack
Chapter 10 - RSA Algorithm
RSA algorithm theory and implementation
the problem of factorization
Chapter 11 - Advanced Modular Arithmetic
Euclidean and the greatest common divisor (GCD) problem
extended Euclidean algorithm (EGCD)
modular inverse problem
Chapter 12 - Elliptic Curve Cryptography (ECC)
elliptic curve cryptography theory and implementation
why does Bitcoin use elliptic curve cryptography?
Chapter 13 - Cryptographic Hashing
what is hashing in cryptography?
properties of hashing
birthday paradox
MD5 and SHA algorithms
Thanks for joining my course, let's get started.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.